Lecture 3.1 notes on Introduction to Computer Vision by Andreas Geiger

Preliminaries of SfM

Camera Calibration

  • Camera calibration is the process of finding the intrinsic/extrinsic parameters
  • Most commonly, a known calibration target (image, checkerboard) is used.

  • First, the known calibration target is captured in different poses
  • Second, features (e.g. corners) on the target are detected in the images.

Finally, the camera intrinsics and extrinsics (=poses) are jointly optimized:

  • Closed form solution initializes all parameters except for distortion parameters.
  • Non-linear optimization of all parameters by minimizing reprojection errors.
  • There exists a variety of calibratio technique that are used in different settings
  • These methods differ algorithmically, but also in the type of assumptions and calibration targets they use: 2D / 3D targets, planes, vanishing points, etc.

Feature Detection and Description

Point Features

  • Point features describe the appearance of local, salient regions in an image.
  • They can be used to describe and match images taken from different viewpoints
  • They form the basis of sparse 3D reconstruction methods covered in this lecture.
  • Features should be invariant to perspective effects and illumination.
  • The same point should have similar vectors independent of pose/viewpoint.
  • Plain RGB/intensity patches will not have this property, we need something better.

Scale Invariant Feature Transform

  • SIFT constructs a scale space by iteratively filtering the image with a Gaussian
  • Adjacent scales are subtracted, yielding Difference of Gaussian (DoG) images.
  • Interest points (=blobs) are detected as extrema in the resulting scale space.
  • SIFT rotates the descriptor to align with the dominant gradient orientation.
  • Gradient histograms are computed for local sub-regions of the descriptor.
  • All histograms are concatenated and normalized to form a 128D feature vector.
  • Feature correspondences can be retrieved with efficient nearest neighbor search
  • Ambiguous matches are typically filtered by computing the ratio of distance from the closest neighbor to the distance of the second closest.
  • A large ratio (>0.8) indicates that the found match might not be the correct one.