227-0560-00L  Deep Learning for Autonomous Driving

SemesterSpring Semester 2020
LecturersD. Dai, A. Liniger
Periodicityyearly recurring course
Language of instructionEnglish
CommentRegistration in this class requires the permission of the instructors. Class size will be limited to 80 students.
Preference is given to EEIT, INF and RSC students.

AbstractAutonomous driving has moved from the realm of science fiction to a very real possibility during the past twenty years, largely due to rapid developments of deep learning approaches, automotive sensors, and microprocessor capacity. This course covers the core techniques required for building a self-driving car, especially the practical use of deep learning through this theme.
ObjectiveStudents will learn about the fundamental aspects of a self-driving car. They will also learn to use modern automotive sensors and HD navigational maps, and to implement, train and debug their own deep neural networks in order to gain a deep understanding of cutting-edge research in autonomous driving tasks, including perception, localization and control.

After attending this course, students will:
1) understand the core technologies of building a self-driving car;
2) have a good overview over the current state of the art in self-driving cars;
3) be able to critically analyze and evaluate current research in this area;
4) be able to implement basic systems for multiple autonomous driving tasks.
ContentWe will focus on teaching the following topics centered on autonomous driving: deep learning, automotive sensors, multimodal driving datasets, road scene perception, ego-vehicle localization, path planning, and control.

The course covers the following main areas:

I) Foundation
a) Fundamentals of a self-driving car
b) Fundamentals of deep-learning

II) Perception
a) Semantic segmentation and lane detection
b) Depth estimation with images and sparse LiDAR data
c) 3D object detection with images and LiDAR data
d) Object tracking and motion prediction

III) Localization
a) GPS-based and Vision-based Localization
b) Visual Odometry and Lidar Odometry

IV) Path Planning and Control
a) Path planning for autonomous driving
b) Motion planning and vehicle control
c) Imitation learning and reinforcement learning for self driving cars

The exercise projects will involve training complex neural networks and applying them on real-world, multimodal driving datasets. In particular, students should be able to develop systems that deal with the following problems:
- Sensor calibration and synchronization to obtain multimodal driving data;
- Semantic segmentation and depth estimation with deep neural networks ;
- Learning to drive with images and map data directly (a.k.a. end-to-end driving)
Lecture notesThe lecture slides will be provided as a PDF.
Prerequisites / NoticeThis is an advanced grad-level course. Students must have taken courses on machine learning and computer vision or have acquired equivalent knowledge. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. All practical exercises will require basic knowledge of Python and will use libraries such as PyTorch, scikit-learn and scikit-image.