16-311 Introduction to Robotics
         Main         Schedule         Homework         Labs         Links

  16-311 Homework 2

16-311 Homework 2


Learning Objectives

  1. Gain experience creating and using filters.
  2. Improve understanding of convolution.
  3. Practice geometric techniques for finding distance from stereo cameras.
  4. Use a neural net to classify images

Background

Convolution

Convolution is a broad term that refers to an operation that is comprised of two functions. This operation is used in applications from signal processing to image manipulation. It is usually denoted with an asterisk and can be mathematically defined as the integral product of one function times another function that is reversed and shifted. For this class, we use it to describe the element-wise repeated multiplication of an initial image and mask (or kernel). This page provides a mathematical explaination and a few examples.

Depth from Image

Using known information about a camera and simplifying assumptions about the environment, one can determine how far away an object is using similar triangles. The image below shows how light travels through a simplified convex lens.

arm1
Depiction of object, lens, and image plane.

For this class, it is sufficient to use the pinhole approximation of a camera:

arm1
Pinhole camera approximation.

From this image, you can form similar triangles and see that the proportion of h_world to d_world is the same as the proportion of h_image to d_image.

Neural Nets

A neural net is a series of weightings. An input (image, text, number, etc.) is represented as a value or set of values, which are multiplied by the neural net's weightings to produce an output value. For a classification task, these output values are then mapped to categories. In order to determine the weightings in the neural net, the system must "learn" the best values based on sample data with known classifications. During the training phase, these weightings are adjusted based on the training data. The testing phase just involves running new data that was not used for training through the system and comparing the output classifications to their known classifications.

Homework Requirements

The specifications for Homework are presented in the following document.

2020 Homework 2 Handout

Extensions

This site provides a nice introduction to ray tracing including concave lenses, which we will not discuss in this course (linked with permission).

Last updated 4/27/2020 by Hannah Lyness
(c) 1999-2020: Howie Choset, Carnegie Mellon