Semester Offering: InterSem

Machine vision is concerned with the image processing, geometry, and statistical inference tools necessary for extracting useful information about the world from two-dimensional images. After decades of research, although the most advanced machine vision systems still pale in comparison to the visual systems of the simplest mammals, there have been some success stories. This course is an advanced survey of the state of the art in machine vision, focused primarily on robotics applications and human-computer interfaces. The course is a mixture of lectures on fundamentals, student presentations of research from the primary academic literature, and group projects involving application of machine vision technology to real-world problems. The course prepares students to do thesis research in the field.


Introduction. Projective geometry. Statistical estimation. Cameras. Two-view stereo. Three-view stereo. N-view reconstruction. Machine learning. Sequential state estimation. Applications. Programming in OpenCV and Octave/Matlab. Student presentations of primary research papers.


Programming experience, mathematical sophistication.


I.             Introduction

II.         Projective Geometry
1.      2D projective geometry
2.      3D projective geometry
3.      Rigid transformations

III.      Statistical estimation
1.      Linear methods
2.      Singular Value Decomposition (SVD)
3.      Nonlinear methods
4.      Robust methods

IV.       Cameras
1.      Finite cameras
2.      General cameras
3.      Camera parameter estimation

V.          Two-view stereo
1.      Epipolar geometry and the fundamental matrix
2.      Computing the fundamental matrix
3.      Interest points for sparse correspondence estimation
4.      Stereo rectification
5.      3D structure computation

VI.       Three-view stereo
VII.   N-view reconstruction
1.      Bundle adjustment
2.      Factorization
3.      Metric upgrade and autocalibration

VIII.      Machine Learning
1.      Classification
2.      Feature selection
3.      Principal component analysis (PCA)
4.      Fisher's linear discriminant
5.      AdaBoost
6.      Support vector machines (SVMs)
7.      Non-negative matrix factorization
8.      Bilinear models

IX.       Sequential State Estimation
1.      Kalman filters
2.      Extended Kalman filters
3.      Particle filters

X.          Applications

XI.       Programming in OpenCV and Octave/Matlab

XII.   Student Presentations of Research Papers




Hartley, Richard, and Zisserman, Andrew. Multiple View Geometry in Computer Vision, 2nd edition, Cambridge University Press, 2004.


Bishop, Christopher. Pattern Recognition and Machine Learning, Springer, 2006.

Trucco, Emanuele and Verri, Alessandro. Introductory Techniques for 3-D Computer Vision, 1st edition, Prentice Hall, 1998.

Forsyth, David A. and Ponce, Jean. Computer Vision: A Modern Approach, 1st edition, Prentice Hall, 2002.


         International Journal of Computer Vision.
         IEEE Transactions on Pattern Analysis and Machine Intelligence.
         Image and Vision Computing.
         Pattern Recognition.
         Computer Vision and Image Understanding.
         IEEE Transactions on Robotics.
         Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR).
         Proceedings of the International Conference on Computer Vision (ICCV).
         Proceedings of the European Conference on Computer Vision (ECCV).
         Proceedings of the Asian Conference on Computer Vision (ACCV).
         Proceedings of the International Conference on Robotics and Automation (ICRA).
         Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).


30% in-class presentations, 10% in-class discussion and presentation feedback, 10% online tutorial, 10% homework, 40% project.