Cyrill Stachniss

Credits to Sachin. See his page for the actual courses that are recommended.

Lecture Notes

Note: I try to follow Drake Notation for the order of the transforms. So from Cyrill notation to drake notation:

The transform tells you how to go from to , but you think about it in terms of measuring frame in terms of .

Camera Basics and Propagation of Light


Notes moved to Camera.

Local Operators Through Convolutions - Part 1: Smoothing


I wasn’t going to go through this chapter. But then the teacher was going through the concepts of kernels and filter for the geometric transformations lecture, and I never heard about the box filter.

What is the difference between a filter and a kernel?

They are often used interchangeably.

How is an image actually smoothed?

  • I thought it was just resampling

So how is this chapter relevant?

There are 3 types of operators

  1. Point operators
  2. Local operators
  3. Global operators

We can use these for noise reduction in an image.

Box Filter

See Box Filter.


See Padding.

Binomial Filter.

Notes on Convolution.

Geometric Transforms of Images


I already know my transforms, but it is just a matter of notation.

  • from frame to frame

Though I don’t like this notation. Why is the “to” on the left..?

  • So the confusion is that they say “from to ”, but if you actually look at the transformation itself, the values will be measured from to

I will use the Drake Notation.

Generally, the transformed pixel coordinates are no longer integers. What should we do?

  • My first instinct is to just round the number. But think about what is actually happening under the hood:
  • Imagine you scale down an image. There are going to be multiple pixels intensities that map to the same location. Which pixel intensity do you pick?

The solution: resampling


See Image Interpolation and Resampling.

Ways to do this:

Okay, but how do we map the values?

  • I thought it was just multiplying each pixel by a certain value
  • Think about correcting for distortions

Ahh, I think that the interpolation step happens with resampling.

  • You have irregular points
  • It needs to be clear what mapping direction there is

This is important for scale invariance. But the other option is to use an Image Pyramid.

Camera Parameters - Extrinsics and Intrinsics

Notes moved to Camera Calibration.

Visual Feature Part 1: Computing Keypoints


Notes moved to Keypoint.

Visual Feature Part 2: Feature Descriptors

Math Basics Often Used In Photogrammetry


TODO: This will help me understand why we use Eigenvalues

Direct Linear Transform for Camera Calibration and Localization


This is really fundamental. Notes in Direct Linear Transform.

Least Squares - An Informal Introduction (Cyrill Stachniss)

This is really useful for a handful of problems for state estimation

Graph-Based SLAM is the least-squares approach to SLAM

slides: file:///Users/stevengong/Downloads/pdf-2021/sse2-03-least-squares.pptx.pdf

Didn’t finish, focusing on camera calibration part

Camera Calibration using Zhang’s Method (Cyrill Stachniss)


Notes in Zhang’s Method.

Projective 3-Point Algorithm

This is how you actually infer the position of the camera.

I want to glance at this to understand the implementation of this at an architecture level.


Notes in Projective 3-Point Algorithm.

Relative Orientation, Fundamental and Essential Matrix (Cyrill Stachniss)


Notes in Relative Orientation, Essential Matrix and Fundamental Matrix.

Epipolar Geometry Basics


See Epipolar Geometry.

Direct Solution


i think you need to review DLT before going into this lecture.

Triangulation for Image Pairs

See Triangulation.

The Basics about Bundle Adjustment

Notes in Bundle Adjustment.