Module 2: Computer Vision

Unit 1: A Survey of Computer Vision

Goal: Understand the motivation and princples of utilizing computer vision as a means of perception for autonomous systems. Survey several common applications and current research trends in the field of computer vision from a robotics perspective.

Unit 2: Kernels, Edges, Thresholds

Goal: This unit introduces the fundamentals of image analysis for machine vision. We will treat images and videos as two-dimensional signals, allowing us to apply signal processing techniques to detect and interpret features in a camera stream on an embedded platform in real-time, using the OpenCV library.

Practicals:

  1. Derivatives

  2. Convolution

  3. OpenCV

Unit 3: Regression, Line Parameterization

Goal: Learn how to detect an LED rope present in a camera image by applying linear regression on thresholded pixel values, as the first step in enabling the drone to follow an LED track.

Practicals:

  1. Linear Regression

  2. Detecting the LED line

Unit 4: Color Segmentation

Goal: Understand how to detect and segment a specific, narrow range of colors within an image.

Practicals:

  1. Color Segmentation and Bounding Boxes

Unit 5: Integration with Quadrotor

Goal: In order to utilize computer vision techniques for UAV control, we need to be able to pass information between our vision processes (i.e. ROS nodes) and our command/control processes in a parameterized format. The goal of this unit is to develop such ROS messages.

Practicals

  1. Drone-based ROS Bag Collection

  2. Line Param ROS Message

Unit 6: Advanced Topics

Goal: Understand the theory behind some of the “black box” algorithms we have used thus far as well as the frontiers of computer vision research

Lectures:

  1. [AR Tag Theory]

  2. [Optical Flow Theory]

  3. [Machine Learning]