/389Yfall18

Primary LanguageJupyter Notebook

CMSC389Y: Practical Methods For Self Driving Cars

Particle Filter Localization

Course Description

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.

Learning Objectives

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

Course Topics

  • 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 Details

  • 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

Schedule (tentative)

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

Grading

% 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.

Administrivia

Project Submission

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.

Course Staff Communications

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).

Excused Absence and Academic Accommodations

See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.

Disability Support Accommodations

See the section titled "Accessibility" available at Course Related Policies.

Academic Integrity

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.

Course Evaluations

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.