1. 
Course Intro and Demos of Working Computer and Robot Vision
Systems

2. 
World 2D: Representing and Manipulating Points, Lines And Conics
Using Homogeneous Coordinates
(scroll revised: September 4, 2012)

3. 
World 2D: Projective Transformations and Transformation Groups
(scroll corrected: September 26, 2014)

4. 
Characterization of Distortions Caused by Projective Imaging
and the Principle of Point/Line Duality
(scroll corrected: September 16, 2016)

5. 
Estimating a PlanetoPlane Homography with AngletoAngle and
PointtoPoint Correspondences
(scroll corrected: September 10, 2020)

6. 
World 3D: Representing Points, Planes, and Lines
(scroll revised: September 18, 2012)

7. 
World 3D: Quadrics, Transformation Groups, and the Absolute Conic
(scroll revised: September 24, 2020)

8. 
Visual Perception and Edge Detection (Sobel, LoG, Canny)
(scroll corrected: September 26, 2016)

9. 
Extracting Interest Points and Their Descriptors (with Harris, SIFT,
and SURF) in Image Pairs and Establishing PointtoPoint
Correspondences Between the Images
(scroll corrected: September 24, 2020)

10. 
Estimating Homographies with Linear LeastSquares Minimization
(scroll corrected: October 4, 2016)

11. 
Robust Homography Estimation with the RANSAC Algorithm
(scroll revised: October 4, 2012)

12. 
Refining Homographies with Nonlinear LeastSquares Minimization
(GradientDescent, LevenbergMarquardt, and DogLeg)
(scroll revised: October 17, 2014)
(In addition to the scroll that you can download by clicking on the title of this lecture, I will
also be illustrating nonlinear leastsquares with my Python module that you can access
by clicking here.)

13. 
Binary Image Processing and Morphology
(Several concepts of binary image processing and image morphology are explained
with the help of the demos from the Examples directory of my Watershed module for
image segmentation. You can access it by clicking here.)

14. 
Image Segmentation
(A part of this lecture is based on the same Watershed algorithm for image segmentation
that is used in Lecture 13. You can access the module that
illustrates this algorithm by
clicking here.)

15. 
Measuring Texture and Color
(This lecture is based on my "Measuring Texture and Color in Images" tutorial that you can
access by clicking here.)

16. 
Modeling the Camera
(scroll revised: November 7, 2014)

17. 
Some Very Cool Properties of the Camera Projection Matrix
(scroll corrected: December 5, 2014)

18. 
Camera Imaging of Various Geometrical Forms (including the
Absolute Conic)
(scroll posted: October 9, 2014)

19. 
Camera Calibration  Zhang's Algorithm
(scroll corrected: December 5, 2014)

20. 
Extracting Features by Bin Counting in Parameter Space  The Hough
Transform

21. 
Epipolar Geometry and the Fundamental Matrix
(scroll corrected: December 5, 2014)

22. 
Binocular Stereo: Image Rectification and Scene Reconstruction
(scroll revised: November 24, 2014)

23. 
PCA (Principal Components Analysis) and LDA (Linear Discriminant
Analysis) for Image Recognition
(This and the next lecture are based on my Optimal Subspaces tutorial that you can access by
clicking here.)

24. 
Face Recognition Studies with PCA, LDA, etc., and NearestNeighbor
Classification
(This and the previous lecture are based on my Optimal Subspaces tutorial that you can
access by clicking here.)

25. 
Automatically Learning the Most Discriminating Features through Class
Entropy Minimization
(This lecture is based on my Decision Trees tutorial that you can access by clicking here.)

26. 
The AdaBoost Algorithm for Combining Weak Classifiers and its use in
in the Viola and Jones Face Detector
(This lecture is based on my AdaBoost tutorial that you can access by clicking here.)

27. 
Cascaded vs. Monolithic Face Detectors for Achieving Very Low
FalsePositive Rates

28. 
Iterative Closest Point (ICP) Algorithm for Registering a Photo with a
Database Image of the Same Scene
(The ICP algorithm is explained with the help of my Python module of the same name. You can
access the module by clicking here.)

29. 
Image Segmentation using Graph Partitioning Algorithms
(Although I will teach graphbased partitioning in the
context of image segmentation, these
algorithms find a much wider application in computer vision. In general, they can be used for
grouping together elementary data blobs into more meaningful data entities on the basis of
pairwise similarity between the blobs. To get this point across, I
will illustrate how the ShiMalik
graphpartitioning algorithm can be used for clustering data that resides on a lowdimensional
manifold in a highdimensional measurement space. This part of the lecture is based on the
tutorial "Clustering Data That Resides on a LowDimensional Manifold in a High
Dimensional Measurement Space" that you can download by clicking here.)

30. 
Using Regression for Estimating 3D Pose Directly From a Photograph
(How to use regression to estimate the 3D pose directly from a photograph is explained with the
help of my Partial Least Squares module that you can access by clicking here.)

31. 
WellEngineered Algorithms versus Deep Learning in Computer Vision
 A Case Study
(I will present our recent work on unconstrained face recognition where we have
compared our manifoldbased learning algorithms with an implementation based on a
wellknown deep convolutional network and shown that, at least in the context of this study,
our algorithms outperform deep learning. You can download our publication by clicking here.
I have highlighted the material on pages 1, 16, 17 where we talk about the comparison with
deep learning. You might also like to see Figure 7 on page 8 that gives you an idea
of the shape of the manifolds on which the data resides.)
