SlideShare a Scribd company logo
Computer vision for roboticsVictor EruhimovCTO, itseezhttp://www.itseez.com
Why do we need computer vision?Smart video surveillanceBiometricsAutomatic Driver Assistance SystemsMachine vision (Visual inspection)Image retrieval (e.g. Google Goggles)Movie productionRobotics
Vision is hard! Even for humans…
Texai parking
AgendaCamera modelStereo visionStereo vision on GPUObject detection methodsSliding windowLocal descriptors ApplicationsTextured object detectionOutlet detectionVisual odometry
Pinhole camera model
Distortion model
Reprojection error
Homography
Perspective-n-Points problemP4PRANSAC (RANdomSAmple Consensus)
Stereo: epipolar geometryFundamental matrix constraint
Stereo RectificationAlgorithm steps are shown at right:Goal:Each row of the image contains the same world points“Epipolar constraint”Result: Epipolar alignment of features:12All: Gary Bradski and Adrian Kaehler: Learning OpenCV
Stereo correspondenceBlock matchingDynamic programmingInter-scanline dependenciesSegmentationBelief propagation
Stereo correspondence block matchingFor each block in left image:Search for the   corresponding block in the right image such that SSD or SAD between pixel intensities is minimum
Pre- and post processingLow texture filteringSSD/SAD minimum ambiguity removalUsing gradients instead of intensitiesSpeckle filtering
Stereo Matching
Parallel implementation of block matchingThe outer cycle iterates through disparity valuesWe compute SSD and compare it with the current minimum for each pixel in a tileDifferent tiles reuse the results of each other17
Parallelization scheme18
Optimization conceptsNot using texture – saving registers1 thread per 8 pixels processing – using cacheReducing the amount of arithmetic operationsNon-parallelizable functions (speckle filtering) are done on CPU19
Performance summaryCPU (i5 750 2.66GHz), GPU (Fermi card 448 cores)Block matching on CPU+2xGPU is 10 times faster than CPU implementation with SSE optimization, enabling real-time processing of HD images!
Full-HD stereo in realtimehttp://www.youtube.com/watch?v=ThE7sRAtaWU
Applications of stereo visionMachine visionAutomatic Driver AssistanceMovie productionRoboticsObject recognitionVisual odometry / SLAM
Object detection
Sliding window approach
Cascade classifierimagefacefacefaceStage 1Stage 2Stage 3Not faceNot faceNot faceReal-time in year 2000!
Face detection
Object detection with local descriptorsDetect keypointsCalculate local descriptors for each pointMatch descriptors for different imagesValidate matches with a geometry model
FAST feature detector
Keypoints example
SIFT descriptorDavid Lowe, 2004
SURF descriptor4x4 square regions inside a square window 20*s4 values per square region
More descriptorsOne way descriptorC-descriptor, FERNS, BRIEFHoGDaisy
Matching descriptors example
Ways to improve matchingIncrease the inliers to outliers ratioDistance thresholdDistance ratio threshold (second to first NN distance)Backward-forward matchingWindowed matchingIncrease the amount of inliersOne to many matching
Random Sample ConsensusDo n iterations until #inliers > inlierThresholdDraw k matches randomlyFind the transformationCalculate inliers countRemember the best solutionThe number of iterations required ~
Geometry validation
Scaling upFLANN (Fast Library for Approximate Nearest Neighbors)In OpenCV thanks to Marius MujaBag of WordsIn OpenCV thanks to Ken ChatfieldVocabulary treesIs going to be in OpenCV thanks to Patrick Mihelich
ProjectsTextured object detectionPR2 robot automatic pluginVisual odometry / SLAM
Textured object detection
Object detection exampleIryna Gordon and David G. Lowe, "What and where: 3D object recognition with accurate pose," in Toward Category-Level Object Recognition, eds. J. Ponce, M. Hebert, C. Schmid, and A. Zisserman, (Springer-Verlag, 2006), pp. 67-82. Manuel Martinez Torres, Alvaro ColletRomea, and Siddhartha Srinivasa, MOPED: A Scalable and Low Latency Object Recognition and Pose Estimation System, Proceedings of ICRA 2010, May, 2010.
Keypoint detectionWe are looking for small dark regionsThis operation takes only ~10ms on 640x480 imageThe rest of the algorithm works only with keypoint regionsItseez Ltd.  http://itseez.com
Classification with one way descriptorIntroduced by Hinterstoisser et al (Technical U of Munich, EcolePolytechnique) at CVPR 2009A test patch is compared to samples of affine-transformed training patches with Euclidean distanceThe closest patch together with a pose guess are reconstructedItseez Ltd.  http://itseez.com
Keypoint classification examplesOne way descriptor does the most of the outlet detection job for us. Few holes are misclassifiedGround holePower holeNon-hole keypoint from outlet imageBackground keypointItseez Ltd.  http://itseez.com
Object detectionObject pose is reconstructed by geometry validation (using geomertic hashing)Itseez Ltd.  http://itseez.com
Outlet detection: challenging casesShadows
Severe lighting conditions
Partial occlusionsItseez Ltd.  http://itseez.com
PR2 plugin (outlet and plug detection)http://www.youtube.com/watch?v=GWcepdggXsU
Visual odometry

More Related Content

PDF
SLAM Zero to One
PDF
Multimodal RGB-D+RF-based sensing for human movement analysis
PDF
AI in Industrial Robotics Applications
PPTX
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 2)
PPTX
Computer vision, machine, and deep learning
PDF
Light Field Technology
PPT
Human-Computer Interactive Systems
PPTX
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)
SLAM Zero to One
Multimodal RGB-D+RF-based sensing for human movement analysis
AI in Industrial Robotics Applications
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 2)
Computer vision, machine, and deep learning
Light Field Technology
Human-Computer Interactive Systems
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)

What's hot (20)

PPTX
HUMAN MOTION DETECTION AND TRACKING FOR VIDEO SURVEILLANCE
PPTX
A Comparison of People Counting Techniques via Video Scene Analysis
PDF
Image recognition
PPTX
TRACKING OF PARTIALLY OCCLUDED OBJECTS IN VIDEO SEQUENCES
PPT
Presentation Object Recognition And Tracking Project
PPT
CORNAR: Looking Around Corners using Trillion FPS Imaging
ODP
An Introduction to Computer Vision
PPTX
ISM2014
PDF
Александр Заричковый "Faster than real-time face detection"
PPT
Raskar Keynote at Stereoscopic Display Jan 2011
PPTX
Image recognition
PPTX
Moving object detection in video surveillance
PPTX
Interactive Wall (Multi Touch Interactive Surface)
PDF
Presentation of Visual Tracking
PDF
Real Time Detection of Moving Object Based on Fpga
PPTX
Learning the skill of archery by a humanoid robot iCub
PPTX
People counting in low density video sequences2
PDF
AR/SLAM for end-users
PDF
Motion detection system
HUMAN MOTION DETECTION AND TRACKING FOR VIDEO SURVEILLANCE
A Comparison of People Counting Techniques via Video Scene Analysis
Image recognition
TRACKING OF PARTIALLY OCCLUDED OBJECTS IN VIDEO SEQUENCES
Presentation Object Recognition And Tracking Project
CORNAR: Looking Around Corners using Trillion FPS Imaging
An Introduction to Computer Vision
ISM2014
Александр Заричковый "Faster than real-time face detection"
Raskar Keynote at Stereoscopic Display Jan 2011
Image recognition
Moving object detection in video surveillance
Interactive Wall (Multi Touch Interactive Surface)
Presentation of Visual Tracking
Real Time Detection of Moving Object Based on Fpga
Learning the skill of archery by a humanoid robot iCub
People counting in low density video sequences2
AR/SLAM for end-users
Motion detection system
Ad

Similar to 20110220 computer vision_eruhimov_lecture01 (20)

PPTX
Wang midterm-defence
PDF
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
PDF
Generating 3 d model from video
PDF
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
PPTX
Model Based Emotion Detection using Point Clouds
PDF
Intelligent indoor mobile robot navigation using stereo vision
PDF
An Approach for Object and Scene Detection for Blind Peoples Using Vocal Vision.
PPTX
SMART RECOGNITION FOR OBJECT DETECTION.pptx
PPT
2D/Multi-view Segmentation and Tracking
PDF
The International Journal of Engineering and Science (The IJES)
PDF
Object Detection An Overview
PDF
Face Recognition & Detection Using Image Processing
PDF
Vision based non-invasive tool for facial swelling assessment
PDF
Image Restoration for 3D Computer Vision
PDF
1.pdf
PDF
Face Recognition & Detection Using Image Processing
PPS
LCI - MICC Seminario-Forensics
PPTX
Development of wearable object detection system & blind stick for visuall...
PDF
Moving objects detection based on histogram of oriented gradient algorithm ch...
PDF
Interactive full body motion capture using infrared sensor network
Wang midterm-defence
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
Generating 3 d model from video
Inspection of Suspicious Human Activity in the Crowd Sourced Areas Captured i...
Model Based Emotion Detection using Point Clouds
Intelligent indoor mobile robot navigation using stereo vision
An Approach for Object and Scene Detection for Blind Peoples Using Vocal Vision.
SMART RECOGNITION FOR OBJECT DETECTION.pptx
2D/Multi-view Segmentation and Tracking
The International Journal of Engineering and Science (The IJES)
Object Detection An Overview
Face Recognition & Detection Using Image Processing
Vision based non-invasive tool for facial swelling assessment
Image Restoration for 3D Computer Vision
1.pdf
Face Recognition & Detection Using Image Processing
LCI - MICC Seminario-Forensics
Development of wearable object detection system & blind stick for visuall...
Moving objects detection based on histogram of oriented gradient algorithm ch...
Interactive full body motion capture using infrared sensor network
Ad

More from Computer Science Club (20)

PDF
20141223 kuznetsov distributed
PDF
Computer Vision
PDF
20140531 serebryany lecture01_fantastic_cpp_bugs
PDF
20140531 serebryany lecture02_find_scary_cpp_bugs
PDF
20140531 serebryany lecture01_fantastic_cpp_bugs
PDF
20140511 parallel programming_kalishenko_lecture12
PDF
20140427 parallel programming_zlobin_lecture11
PDF
20140420 parallel programming_kalishenko_lecture10
PDF
20140413 parallel programming_kalishenko_lecture09
PDF
20140329 graph drawing_dainiak_lecture02
PDF
20140329 graph drawing_dainiak_lecture01
PDF
20140310 parallel programming_kalishenko_lecture03-04
PDF
20140223-SuffixTrees-lecture01-03
PDF
20140216 parallel programming_kalishenko_lecture01
PDF
20131106 h10 lecture6_matiyasevich
PDF
20131027 h10 lecture5_matiyasevich
PDF
20131027 h10 lecture5_matiyasevich
PDF
20131013 h10 lecture4_matiyasevich
PDF
20131006 h10 lecture3_matiyasevich
PDF
20131006 h10 lecture3_matiyasevich
20141223 kuznetsov distributed
Computer Vision
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
20140511 parallel programming_kalishenko_lecture12
20140427 parallel programming_zlobin_lecture11
20140420 parallel programming_kalishenko_lecture10
20140413 parallel programming_kalishenko_lecture09
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture01
20140310 parallel programming_kalishenko_lecture03-04
20140223-SuffixTrees-lecture01-03
20140216 parallel programming_kalishenko_lecture01
20131106 h10 lecture6_matiyasevich
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
20131013 h10 lecture4_matiyasevich
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich

20110220 computer vision_eruhimov_lecture01