CUDA based IrisDetection based onHough Transform G P - G P U   C o u r s e   P r o j e c t     J u s t i n a s   M i š e i...
GoalEye detection in a color or grayscale imageDetect boundaries of iris and pupil for thesegmentationMake the detection r...
CUDA partsHough transform for circlesPeak detectionImage adjustmentGamma correction         CPU partsCanny edge detection ...
OptimisationLimit possible radius, thus limit search spaceCouple of voting locations served by one blockAutomatic adjustme...
Results - Images
Results - TimingTime measurements of the whole process including            image pre-processing Image size   C++ CPU     ...
Results - Timing                                      Iris detection CPU vs CUDA            40.000            30.000Time, ...
Hardware UsedHP All-in-One 200-5300chProcessor: Intel Core i3-550 (3.2GHz), 4MBRAM: 2x 2048MB DDR3, 1333MHzGPU: nVidia GeF...
Comments andFuture Improvements Algorithm should work faster on a better GPU Main bottleneck - AtomicAdd function Get rid ...
DependenciesCUDAAtomic functionsOpenCV
Thank You!Any questions?
Upcoming SlideShare
Loading in …5
×

CUDA based Iris Detection based on Hough Transform

1,231 views

Published on

GP/GPU Class final project to implement a GPU based eye iris segmentation to achieve improvement over an optimised equivalent CPU implementation.

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
1,231
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
37
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • CUDA based Iris Detection based on Hough Transform

    1. 1. CUDA based IrisDetection based onHough Transform G P - G P U C o u r s e P r o j e c t J u s t i n a s M i š e i k i s
    2. 2. GoalEye detection in a color or grayscale imageDetect boundaries of iris and pupil for thesegmentationMake the detection real-time
    3. 3. CUDA partsHough transform for circlesPeak detectionImage adjustmentGamma correction CPU partsCanny edge detection - OpenCVHistogram calculation for image adjustment
    4. 4. OptimisationLimit possible radius, thus limit search spaceCouple of voting locations served by one blockAutomatic adjustment of thread and blocknumbers to keep load higher - more efficientWhen pupil is found, iris search space only aroundthe same centreAvoiding host-device and device-host memorycopyingUsing shared memory
    5. 5. Results - Images
    6. 6. Results - TimingTime measurements of the whole process including image pre-processing Image size C++ CPU CUDA Speed up 1024x768 32.490 sec 3.947 sec 8.23x 800x600 17.161 sec 2.054 sec 8.35x 640x480 8.701 sec 1.120 sec 7.76x 500x375 4.202 sec 0.589 sec 7.13x 350x263 1.461 sec 0.293 sec 4.99x 250x188 0.625 sec 0.175 sec 3.57x MATLAB with 640x480: over 32 sec
    7. 7. Results - Timing Iris detection CPU vs CUDA 40.000 30.000Time, sec 20.000 10.000 0 250x188 350x263 500x375 640x480 800x600 1024x768 Image size CPU CUDA
    8. 8. Hardware UsedHP All-in-One 200-5300chProcessor: Intel Core i3-550 (3.2GHz), 4MBRAM: 2x 2048MB DDR3, 1333MHzGPU: nVidia GeForce G210 with 512 MB (low-end)
    9. 9. Comments andFuture Improvements Algorithm should work faster on a better GPU Main bottleneck - AtomicAdd function Get rid of any CPU based pre-processing Make the whole process purely on GPU, no memory copying involved except for the result Automatic parameter adjustment to ensure good results on variety of pictures
    10. 10. DependenciesCUDAAtomic functionsOpenCV
    11. 11. Thank You!Any questions?

    ×