Computer Vision

Second semester 2016

Andrés Marrugo, PhD Universidad Tecnológica de Bolívar

Aims and Scope

This semester course is an introduction to computer vision. It is aimed at graduate students in the Faculty of Engineering. We will focus on the practical and theoretical aspects of techniques in computer vision.

At the end of the lectures, one would be able to:

Useful Resources

Tutorials, review materials

MATLAB reference

Outline

This is a new course, this website will be updated as we go along.

Lecture 1: Introduction

We will be discussing the main aspects and motivation for computer vision.

Lecture 1 slides

Lecture 2: Perspective projection

We will be studying the main aspects about perspective projection and the pinhole camera model.

Lecture 2 slides

Reading

Assignment 1

In this assignment you will study the basics of projective geometry. You will study the representations of points lines and planes, as well as transformations. The assignment is due on 2016-09-02 at 11:00 pm. The assignment and the data:

Upload link

Supporting material

Lecture 3: Cameras

Cameras with lenses and properties. Thin lens formula, depth of field, field of view, and distorsions.

Lecture 3 slides

Lecture 4: Color

We will discuss the physics of color, human color perception and models of image color.

Lecture 4 slides

Reading

Lecture 5: Linear Filtering

Linear filters, convolution kernel, smoothing and sharpening.

Lecture 5 slides

Reading

Lecture 6: Frequency representation, pyramids and filter banks.

In this lecture we will discuss the different representation for images and the sampling problems.

Lecture 6 slides - frequency Lecture 6 slides - pyramids

Reading

Questions Lectures 1-6

If you have worked out the lecture questions, please send them to the following link.

Assignment 2

The goal of this assignment is to learn to work with images in MATLAB. The assignment is due on 2016-09-24 at 11:59 pm. The assignment and the data:

Upload link

Lecture 7: Edge Detection

We will introduce the general approach towards image edge detection.

Lecture 7 slides

Reading

Lecture 8: Corner Detection

We will introduce the general approach towards image edge detection.

Lecture 8 slides
Harris corner detector

Reading

Lecture 9: SIFT

In this lecture we will discuss Scale-Invariant Keypoints.

Lecture 9 slides

Assignment 3

The goal of this assignment is to implement a Laplacian blob detector. The assignment is due on 2016-10-22 at 11:59 pm. The assignment and the data:

Upload link

Lecture 10: Optical Flow

We will introduce motion estimation in computer vision.

Lecture 10 slides

Reading

Lecture 11: Fitting

In this lecture we will discuss the main aspects of fitting data to a parametric model, especially under the assumption of noisy data.

Lecture 11 slides

Reading

Lecture 12: Hough Transform

We continue on the topic of fitting, this time via the Hough Transform.

Lecture 12 slides

Reading

Lecture 13: Alignment

Registration or alignment is the problem of finding a transformation that takes one dataset to another.

Lecture 13 slides

Reading

In class assignment 4

The goal of this assignment is to implement a naive RANSAC line fiting. The assignment is due on 2016-10-16 at 11:00 pm. The code:

Upload link

Lecture 14: Calibration

Calibrating a single camera.

Lecture 14 slides

Reading

Lecture 15: Single-view Modeling

Measuring objects from a single image.

Lecture 15 slides

Reading

Lecture 16: Epipolar Geometry

Two or more cameras.

Lecture 16 slides

Reading

Assignment 5

The goal of this assignment is to implement robust homography and fundamental matrix estimation to register pairs of images separated either by a 2D or 3D projective transformation. The assignment is due on 2016-12-02 at 12:00 m. The assignment and the data:

Upload link

Supporting material