Curso I1
A Practical Introduction to 3D Computer Vision
Dictado por: Dr. Radim Sára (Prague Polytechnic Institute)
Idioma: Inglés
Duración: 10hs.
Track: Procesamiento de Imágenes
Goals
This course introduces the student to basic concepts in 3D computer vision. We will focus on the problem of automatic camera motion estimation from images. This is the basis for all 3D vision. We will learn a selection of methods that are simple but already useful for many applications like self-localization and mapping (SLAM), 3D structure from motion (SFM), video augmentation (for post-production), and others. This course does not cover dense stereo-vision, and shape-from-X methods that are other important parts of 3D vision.
Contents
- Introduction
- What is 3D vision?
- What will be covered by this course?
- Elements of projective geometry
- Basic geometric entities: points, lines, planes and their algebraic representations in projective space
- Projective camera: pinhole camera, normal camera, general camera
- Projective camera anatomy: optical center, optical ray and plane, optical axis
- Projection matrix anatomy; projection matrix decomposition
- Projecting points to cameras
- Mappings in projective space, mapping points and lines by collineations
- Elementary camera geometry
- Projection model for rotating camera or planar word: homography
- Estimating homography induced by a camera
- The DLT algorithm
- Affordable but efficient numerical improvements
- Sampson error
- Projection model for moving camera
- Camera resectioning (calibration from a point set)
- Calibrated camera motion from three 3D points (the P3P problem)
- Epipolar geometry
- The elements of epipolar geometry and their meaning: epipole, epipolar line
- Epipolar constraint
- Fundamental and essential matrices and their anatomy
- Sparse image matching
- Interest points
- Invariance, localization, and distinctiveness
- Harris interest points, DoG interest points
- The SIFT descriptor
- Tentative match selection
- Robust regression
- Random sample consensus: RANSAC
- How long must RANSAC run?
- Improving stability: MAPSAC
- 3D Structure and camera motion from images
- Correspondences and matches, RANSAC as a constrained matcher
- The 8-point algorithm for the fundamental matrix
- Faster, faster: the 7-point algorithm
- Motion and structure
- Reconstruction of cameras and 3D structure
- Introduction to stratified reconstruction
- Calibrated camera ego-motion from five correspondences: the 5-point algorithm
Exercise
Given a set of images of a plane, the task is to recover camera motion and insert a virtual object in the scene, which is a cube with mirroring sides. The students would compute a “movie” as if the camera moves along the trajectory smoothly. Details will be provided during the course.
Reading
- Hartley, Richard and Zisserman, Andrew. Multiple view geometry in computer vision. 2nd ed, Cambridge University Press 2003. Secs 2,4,6,7,9,10,11,12.
- Fischler, Martin A. and Bolles, Robert C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Communications of the ACM 24(6):381-395, 1981.
- Harris, Chris and Stephens, Mike. A Combined Corner and Edge Detector. In Proceedings of the 4th ALVEY vision conference, pp. 147-151. University of Manchester, England, September 1988.
- Lowe, David G. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision 60(2):91-110, 2004.
- Nister, David. An Efficient Solution to the Five-Point Relative Pose Problem. IEEE Transactions on PAMI 26(6):756-770, 2004.
Optional Reading
- 25 Years of RANSAC. CVPR ‘06 Workshop and Tutorial [on-line] http://cmp.felk.cvut.cz/ransac-cvpr2006/. June 2006.
On-line Resources
- OpenCV (Open Source Computer Vision): A library of programming functions for real time computer vision. [on-line] http://opencv.willowgarage.com/wiki/
- T. Pajdla, Z. Kukelova, M. Bujnak. Minimal problems in computer vision. [on-line] http://cmp.felk.cvut.cz/minimal/ Last update Oct 22, 2009.
- Rob Hess. SIFT Feature Detector. [on-line] http://web.engr.oregonstate.edu/~hess/. Last update 05/06/2010.
- Marco Zuliani. RANSAC Toolbox for Matlab. [on-line] http://vision.ece.ucsb.edu/~zuliani/Code/Code.html. Last update Oct 18, 2009