This course aims to provide students with a practical understanding of popular algorithms used in self driving cars. Both traditional and deep learning approaches will be used to solve scene understanding and control.
By the end of the course, students will
- understand the challenges faced by self driving systems
- understand classical approaches to computer vision
- understand new machine learning approaches to computer vision
- be able to implement these algorithms themselves
- Scene understanding
- Canny edges
- Hough transform
- Support Vector Machines
- Convolutional Neural Networks
- Control
- PID
- Sample-based control
- Behavioral cloning
- Reccurent Neural Networks
- Planning
- Reinforcement learning
- Deep Q-learning
- Localization / Mapping (time permitting)
- Baysian Filters
- SLAM
- Course: CMSC389Z
- Prerequisites: CMSC216 and CMSC330
- Credits: 1
- Seats: 30
- Location: EGR 2116
- Semester: Fall 2018
- Textbook: None
- Course Facilitators: Michael Stevens
- Office Hours: TBD
- Faculty Advisor: Dr. Larry Davis
Week | Topic | Codelab | Project |
---|---|---|---|
1 | Introduction to scene understaning with computer vision | Codelab 1 (numpy) | |
2 | Computer vision, traditional techniques | Codelab 2 (opencv) | |
3 | Computer vision (Canny Edges and Hough Transform) | Project 1 out | |
4 | Computer vision (Homography) | ||
5 | Introduction to control and traditional approaches | ||
6 | Introduction to neural networks | Codelab 3 (NN) | |
7 | Neural networks and backpropagation | ||
8 | Deep learning and Convolutional Neural Networks | Project 2 out (NN) | |
9 | Behavioral Cloning | ||
10 | Recurrent Neural Networks | Codelab 4 (behavioral cloning) | |
11 | Reinforcement learning | ||
12 | Deep Q-learning for motion planning | Project 3 out (RL) | |
13 | Extra topics (Localization / Mapping) | ||
14 | Bayesian Filters | Codelab 5 (kalman filters) | |
15 | SLAM | Project 3 due |
% Total | Assignment | Description |
---|---|---|
15% | Class participation | Designed to engage students during slideshow presentations. Graded for completion |
35% | Codelabs | Guided assingments in the form of iPython notebooks |
50% | Projects | Extended coding assingments desinged to test understanding of algorithms learned in class. |
Projects must be submitted electronically following the instructions given in each project assignment. Projects may not be submitted by any other means (e.g., please do not email your projects to us). It is your responsibility to test your program and verify that it works properly before submitting. All projects are due at 11:59:59 PM on the day indicated on the schedule above.
Projects may be submitted up to 24 hours late for a 20% penalty. If you submit both on-time and late, your project will receive the maximum of the penalty-adjusted scores. Only the last on-time and last late projects will be graded.
Students can interact with the instructors in two ways: in-person during office hours and online via Piazza. Email should only be used for emergencies and not class related questions (e.g., projects).
See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.
See the section titled "Accessibility" available at Course Related Policies.
Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.
It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit: http://www.shc.umd.edu.
If you have a suggestion for improving this class, don't hesitate to tell the course staff during the semester in-person, over email/Piazza, or through the weekly feedback surveys. At the end of the semester, please don't forget to provide your feedback using the campus-wide CourseEvalUM system. Your comments will help make this class better.