computer assisted minimal invasive surgery towards guided motor control
DESCRIPTION
Computer Assisted Minimal Invasive Surgery towards Guided Motor Control. Vinay B Gavirangaswamy. Canny edge detection algorithm. Output. Original. Single Threaded. Output (contd.). Original. Multi-Threaded ( OpenMP ). Output (contd.). Original. Multi-Threaded (GPU-CUDA). - PowerPoint PPT PresentationTRANSCRIPT
Canny edge detection algorithm
Gaussian Convolution to smooth the image
Sobel Filtering to find• gradient
magnitude• and gradient
direction
Non-maximum
suppression
Hysteresis and
connected components
analysis
Performance Analysis on OpenMP
200x173 284x211 300x225 512x512 1280x8000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Run Times of Canny Edge Detection
124816
n
p
Performance Analysis on OpenMP (contd.)
200x173 284x211 300x225 512x512 1280x8000
0.5
1
1.5
2
2.5
3
3.5
1 2 4 8 16n
p
200x173 284x211 300x225 512x512 1280x8000
0.2
0.4
0.6
0.8
1
1.2
1 2 4 8 16
n
p
Speedup of Canny Algorithm
Efficiency of Canny Algorithm
Canny Edge Detection Performance on CUDA With Different Block Size
128x128 256x256 512x512 1024x1024 2048x2048
1 10000 40000 140000 530000 2150000
2 70000 60000 80000 70000 90000
4 70000 50000 60000 60000 80000
8 60000 60000 60000 60000 70000
16 60000 60000 50000 60000 70000
32 50000 60000 60000 60000 80000
128x
128
256x
256
512x
512
1024
x102
4
2048
x204
80
20000
40000
60000
80000
100000
120000
1 2 4 8 16 32
RuntimesRuntimes serial vs. parallel
Canny Edge Detection Performance on CUDA With Different Block Size (Contd.)
128x128 256x256 512x512 1024x1024 2048x2048
1 1 1 1 1 1
20.142857
140.666666
67 1.75 7.5714285723.888888
9
40.142857
14 0.82.333333
33 8.83333333 26.875
80.166666
670.666666
672.333333
33 8.8333333330.714285
7
160.166666
670.666666
67 2.8 8.8333333330.714285
7
32 0.20.666666
672.333333
33 8.83333333 26.875
128x
128
256x
256
512x
512
1024
x102
4
2048
x204
805
101520253035404550
1 2 4 8 16 32
SpeedupSpeedup serial vs. parallel
Canny Edge Detection Performance on CUDA With Different Block Size (Contd.)
128x128 256x256 512x512 1024x1024 2048x2048
1 1 1 1 1 1
20.071428
570.333333
33 0.875 3.7857142911.9444444
40.035714
29 0.20.583333
33 2.20833333 6.71875
80.020833
330.083333
330.291666
67 1.104166673.8392857
1
160.010416
670.041666
67 0.175 0.552083331.9196428
6
32 0.006250.020833
330.072916
67 0.276041670.8398437
5
128x
128
256x
256
512x
512
1024
x102
4
2048
x204
80
2
4
6
8
10
12
14
1 2 4 8 16 32
EfficiencyEfficiency serial vs. parallel
Canny Edge Detection Performance on CUDA With Different #Threads
128x128 256x256 512x512 1024x1024 2048x2048
1 100000 400000 1400000 5300000 215000000
2 430000 1750000 7010000 28030000 112540000
4 210000 880000 3500000 14110000 56510000
8 110000 430000 1760000 7090000 28280000
16 50000 220000 880000 3530000 14140000
32 20000 110000 450000 1780000 7120000
1 2 4 8 16 321000
10000
100000
1000000
10000000
100000000
1000000000
128x128 256x256 512x512 1024x10242048x2048
RuntimesRuntimes serial vs. parallel
Canny Edge Detection Performance on CUDA With Different #Threads (Contd.)
128x128 256x256 512x512 1024x1024 2048x2048
1 1 1 1 1 1
20.232558
140.228571
430.199714
69 0.189083131.9104318
5
40.476190
480.454545
45 0.4 0.375620133.8046363
5
80.909090
910.930232
560.795454
55 0.747531737.6025459
7
16 21.818181
821.590909
09 1.5014164315.205091
9
32 53.636363
643.1111111
1 2.9775280930.196629
2
1 2 4 8 16 321
6
11
16
21
26
31
36
128x128 256x256 512x5121024x1024 2048x2048
n
p
SpeedupSpeedup serial vs. parallel
Canny Edge Detection Performance on CUDA With Different #Threads (Contd.)
128x128 256x256 512x512 1024x1024 2048x2048
1 1 1 1 1 1
20.116279
070.114285
710.099857
35 0.094541560.9552159
2
40.119047
620.113636
36 0.1 0.093905030.95115909
80.113636
360.116279
070.099431
82 0.093441470.9503182
5
16 0.1250.113636
360.099431
82 0.093838530.9503182
5
32 0.156250.113636
360.097222
22 0.093047750.9436446
61 2 4 8 16 32
0
0.2
0.4
0.6
0.8
1
1.2
128x128 256x256 512x512
Linear (512x512) 1024x1024 2048x2048
p
EfficiencyEfficiency serial vs. parallel
Simple Markov Model of Weather
SUNNY(0.30)
RAINY(0.30)
CLOUDY(0.40)0.38
0.200.45
0.10
0.42 0.45
0.39
0.12
0.60
Prediction Based on State Transition Probability
If we want to know probability of the sequence SUNNY SUNNY SUNNY SUNNY SUNNY
Take initial probablity of SUNNY day i.e. on a any given day probability that it will be SUNNY is 0.30
And for use to get another SUNNY day after a SUNNY day is 0.42
So, by using Markov Chain we can say prbability of getting 5 consecutive SUNNY day is
09335088.042.03.04
Challenges Faced During OpenMP
Missing Edges
• Medical images consist of nerves and arteries which should be treaded as an edge however their gradient magnitude varies relative to region in image.
• Solution : Adaptive Thresholding
False Edges in Parallel Implementation
Summary
Canny and Markov Chain Model is a simple and efficient way to perform edge detection however canny performs poorly with images taken during laparoscopy (good to get started)
Future work Contribute improvements to MIS learning
methodology.
REFERENCES
Image Convolution with CUDA – Victor Podlozhnyuk, [email protected]
Performance Evaluation of Feature Extraction Algorithm on GPGPU – Namdev Sawant Dept. of Computer Science and Engg. Dinesh Kulkarni Dept. of Information Technology, 2011 International Conference on Communication Systems and Network Technologies
Canny Edge Detection on NVIDIA CUDA - Yuancheng “Mike” Luo and Ramani Duraiswami, Perceptual Interfaces and Reality Laboratory, Computer Science & UMIACS, University of Maryland, College Park
Cuda-grayscale – Karlphil, [email protected] Rich, E.A. 2007. Automata, computability and complexity:
Theory and applications, Upper Saddle River, NJ: Prentice Hall Special thanks to Jason and Vasilije!