This series of 6 lectures at Nirma University, India will cover basic topics in computer vision, machine learning, and robotics. The objectives are:
motivate students to do 8th semester projects in these areas
give students basic knowledge so that they can pick interesting project ideas
Most lectures will be followed by a Python programming assignment.
Lecture 1 (20 June): Why CV, ML, and robotics?
This lecture will motivate the students to consider CV, ML and robotics in their 8th semester final project. We will talk about the skills students will need in the workplace of the future, increasing demand for automation and smart devices, and engineers who can program them. It will also hopefully get the students excited about these topics! We will also show demos of famous recent advances in this field.
Lecture 2 (27 June): Image formation and camera geometry
Homogenous representations of points and lines
Representing and chaining transforms in homogeneous coordinates
How is a 2D image formed from a 3D world? Pinhole camera model
Camera intrinsics matrix, meaning of this matrix, projection equations
Image storage in computers
Homework: Simple point-cloud projection, examing camera intrinsics and extrinsics interactively
Lecture 3 (4 July): Single and multi-view geometry
Camera intrinsics, extrinsics, and projection matrix
Projecting 3D point to 2D, un-projecting 2D point to a ray
Two images of the same 3D point: 2D-2D correspondence
Special case: Images of a planar scene are related by a homography
Direct Linear Transform (DLT) algorithm for homography estimation from 2D-2D correspondences
Slides (PDF) | Homework combined with Lecture 4
Lecture 4 (11 July): Single- and multi-view geometry (continued)
Camera as a sensor of the 3D world
Camera calibration from a hypothetical case of known 2D-3D correspondences
Need for chessboard in camera calibration and Zhang et. al. calibration paper
Triangulation, epipolar line, and stereo matching overview
Object pose estimation overview, re-projection for checking its correctness
Inverse warping for transferring content between images
Lecture 5 (18 July): Machine learning
Supervised learning, i.i.d. assumption
Train/val/test split
Loss functions
Convexity and gradient descent
Support Vector Machines (SVM)
Neural networks
Feature extraction from images by filter convolution
Backpropagation and differentiable computation graphs
Lecture 6 (25 July): Robotics
Convolution filter weights differentiability and gradient accumulation
Describing the state and control input of a robot
Case study: state equations for a non-holonomic wheeled robot
Robot arm kinematics and kinematic chain
PID control
Brief introduction to reinforcement learning
Slides (PDF) | no homework
Lecture video
Reinforcement learning