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.


  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.


  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.


  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.


  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


  1. [AR Tag Theory]

  2. [Optical Flow Theory]

  3. [Machine Learning]