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.

Slides (PDF)

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

Slides (PDF) | Homework (Google Colab)

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

Notes (PDF) | Slides (PDF) | Homework (Google Colab)

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

Slides (PDF) | Homework (Google Colab)

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

Organizers