Computer vision for robotics

Slides:



Advertisements
Similar presentations
The fundamental matrix F
Advertisements

Registration for Robotics Kurt Konolige Willow Garage Stanford University Patrick Mihelich JD Chen James Bowman Helen Oleynikova Freiburg TORO group: Giorgio.
Summary of Friday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
3D Object Recognition Pipeline Kurt Konolige, Radu Rusu, Victor Eruhmov, Suat Gedikli Willow Garage Stefan Holzer, Stefan Hinterstoisser TUM Morgan Quigley,
Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923.
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
MASKS © 2004 Invitation to 3D vision Lecture 7 Step-by-Step Model Buidling.
Low Complexity Keypoint Recognition and Pose Estimation Vincent Lepetit.
Nikolas Engelhard 1, Felix Endres 1, Jürgen Hess 1, Jürgen Sturm 2, Wolfram Burgard 1 1 University of Freiburg, Germany 2 Technical University Munich,
Instructor: Mircea Nicolescu Lecture 17
Stereo.
Image alignment Image from
Robust and large-scale alignment Image from
Last Time Pinhole camera model, projection
1 Interest Operators Find “interesting” pieces of the image –e.g. corners, salient regions –Focus attention of algorithms –Speed up computation Many possible.
A Study of Approaches for Object Recognition
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Lecture 4: Feature matching
1 Interest Operator Lectures lecture topics –Interest points 1 (Linda) interest points, descriptors, Harris corners, correlation matching –Interest points.
Midterm review: Cameras Pinhole cameras Vanishing points, horizon line Perspective projection equation, weak perspective Lenses Human eye Sample question:
Distinctive Image Feature from Scale-Invariant KeyPoints
Geometric Optimization Problems in Computer Vision.
The plan for today Camera matrix
Triangulation and Multi-View Geometry Class 9 Read notes Section 3.3, , 5.1 (if interested, read Triggs’s paper on MVG using tensor notation, see.
Fitting a Model to Data Reading: 15.1,
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
Miguel Lourenço, João P. Barreto, Abed Malti Institute for Systems and Robotics, Faculty of Science and Technology University of Coimbra, Portugal Feature.
FLANN Fast Library for Approximate Nearest Neighbors
Object Recognition and Augmented Reality
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30am – 11:50am Lecture #15.
PixelLaser: Range scans from image segmentation Nicole Lesperance ’11 Michael Leece ’11 Steve Matsumoto ’12 Max Korbel ’13 Kenny Lei ’15 Zach Dodds ‘62.
CSE 185 Introduction to Computer Vision
Final Exam Review CS485/685 Computer Vision Prof. Bebis.
1 Interest Operators Harris Corner Detector: the first and most basic interest operator Kadir Entropy Detector and its use in object recognition SIFT interest.
Recognition and Matching based on local invariant features Cordelia Schmid INRIA, Grenoble David Lowe Univ. of British Columbia.
Local invariant features Cordelia Schmid INRIA, Grenoble.
Example: line fitting. n=2 Model fitting Measure distances.
CSCE 643 Computer Vision: Structure from Motion
Computer Vision, Robert Pless
1 Real-Time Stereo-Matching for Micro Air Vehicles Pascal Dufour Master Thesis Presentation.
Computer Vision : CISC 4/689 Going Back a little Cameras.ppt.
Computer Vision Lecture #10 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department, Ain Shams University, Cairo, Egypt 2 Electerical.
Geometric Transformations
Jack Pinches INFO410 & INFO350 S INFORMATION SCIENCE Computer Vision I.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry Topics: Basics of projective geometry Points and hyperplanes in projective space Homography.
Local features: detection and description
Automatic Image Alignment : Computational Photography Alexei Efros, CMU, Fall 2011 with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Lecture 9 Feature Extraction and Motion Estimation Slides by: Michael Black Clark F. Olson Jean Ponce.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Robust Estimation Course web page: vision.cis.udel.edu/~cv April 23, 2003  Lecture 25.
Frank Bergschneider February 21, 2014 Presented to National Instruments.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging.
SIFT.
776 Computer Vision Jan-Michael Frahm Spring 2012.
SIFT Scale-Invariant Feature Transform David Lowe
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
Nearest-neighbor matching to feature database
TP12 - Local features: detection and description
Local features: detection and description May 11th, 2017
Approximate Models for Fast and Accurate Epipolar Geometry Estimation
3D Photography: Epipolar geometry
Features Readings All is Vanity, by C. Allan Gilbert,
Nearest-neighbor matching to feature database
CSE 455 – Guest Lectures 3 lectures Contact Interest points 1
SIFT.
Recognition and Matching based on local invariant features
Robust Feature Matching and Fast GMS Solution
Presentation transcript:

Computer vision for robotics Victor Eruhimov CTO, itseez http://www.itseez.com

Why do we need computer vision? Smart video surveillance Biometrics Automatic Driver Assistance Systems Machine vision (Visual inspection) Image retrieval (e.g. Google Goggles) Movie production Robotics

Vision is hard! Even for humans…

Texai parking

Agenda Camera model Stereo vision Object detection methods Stereo vision on GPU Object detection methods Sliding window Local descriptors Applications Textured object detection Outlet detection Visual odometry

Pinhole camera model

Distortion model

Reprojection error

Homography

Perspective-n-Points problem P4P RANSAC (RANdom SAmple Consensus)

Stereo: epipolar geometry Fundamental matrix constraint

Stereo Rectification Algorithm steps are shown at right: Goal: Each row of the image contains the same world points “Epipolar constraint” Result: Epipolar alignment of features: All: Gary Bradski and Adrian Kaehler: Learning OpenCV

Stereo correspondence Block matching Dynamic programming Inter-scanline dependencies Segmentation Belief propagation

Stereo correspondence block matching For 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 processing Low texture filtering SSD/SAD minimum ambiguity removal Using gradients instead of intensities Speckle filtering

Stereo Matching

Parallel implementation of block matching The outer cycle iterates through disparity values We compute SSD and compare it with the current minimum for each pixel in a tile Different tiles reuse the results of each other

Parallelization scheme

Optimization concepts Not using texture – saving registers 1 thread per 8 pixels processing – using cache Reducing the amount of arithmetic operations Non-parallelizable functions (speckle filtering) are done on CPU

Performance summary CPU (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 realtime http://www.youtube.com/watch?v=ThE7sRAtaWU

Applications of stereo vision Machine vision Automatic Driver Assistance Movie production Robotics Object recognition Visual odometry / SLAM

Object detection

Sliding window approach

Cascade classifier Real-time in year 2000! image face face face Stage 1 Stage 2 Stage 3 Not face Not face Not face Real-time in year 2000!

Face detection

Object detection with local descriptors Detect keypoints Calculate local descriptors for each point Match descriptors for different images Validate matches with a geometry model

FAST feature detector

Keypoints example

SIFT descriptor David Lowe, 2004

SURF descriptor 4x4 square regions inside a square window 20*s 4 values per square region

More descriptors One way descriptor C-descriptor, FERNS, BRIEF HoG Daisy

Matching descriptors example

Ways to improve matching Increase the inliers to outliers ratio Distance threshold Distance ratio threshold (second to first NN distance) Backward-forward matching Windowed matching Increase the amount of inliers One to many matching

Random Sample Consensus Do n iterations until #inliers > inlierThreshold Draw k matches randomly Find the transformation Calculate inliers count Remember the best solution The number of iterations required ~

Geometry validation

Scaling up FLANN (Fast Library for Approximate Nearest Neighbors) In OpenCV thanks to Marius Muja Bag of Words In OpenCV thanks to Ken Chatfield Vocabulary trees Is going to be in OpenCV thanks to Patrick Mihelich

Projects Textured object detection PR2 robot automatic plugin Visual odometry / SLAM

Textured object detection

Object detection example Iryna 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 Collet Romea, and Siddhartha Srinivasa, MOPED: A Scalable and Low Latency Object Recognition and Pose Estimation System, Proceedings of ICRA 2010, May, 2010.

Itseez Ltd. http://itseez.com Keypoint detection We are looking for small dark regions This operation takes only ~10ms on 640x480 image The rest of the algorithm works only with keypoint regions Itseez Ltd. http://itseez.com

Classification with one way descriptor Introduced by Hinterstoisser et al (Technical U of Munich, Ecole Polytechnique) at CVPR 2009 A test patch is compared to samples of affine-transformed training patches with Euclidean distance The closest patch together with a pose guess are reconstructed Itseez Ltd. http://itseez.com

Keypoint classification examples One way descriptor does the most of the outlet detection job for us. Few holes are misclassified Ground hole Power hole Non-hole keypoint from outlet image Background keypoint Itseez Ltd. http://itseez.com

Itseez Ltd. http://itseez.com Object detection Object pose is reconstructed by geometry validation (using geomertic hashing) Itseez Ltd. http://itseez.com

Outlet detection: challenging cases Shadows Severe lighting conditions Partial occlusions Itseez Ltd. http://itseez.com

PR2 plugin (outlet and plug detection) http://www.youtube.com/watch?v=GWcepdggXsU

Visual odometry

Visual odometry (II)

More fun