Visual Perception for Self-Driving Cars (Coursera)

Offered by University of Toronto,
Visual Perception for Self-Driving Cars (Coursera)

Welcome to Visual Perception for Self-Driving Cars, the third course in University of Toronto’s Self-Driving Cars Specialization.
This course will introduce you to the main perception tasks in autonomous driving, static and dynamic object detection, and will survey common computer vision methods for robotic perception. By the end of this course, you will be able to work with the pinhole camera model, perform intrinsic and extrinsic camera calibration, detect, describe and match image features and design your own convolutional neural networks.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

You'll apply these methods to visual odometry, object detection and tracking, and semantic segmentation for drivable surface estimation. These techniques represent the main building blocks of the perception system for self-driving cars.
For the final project in this course, you will develop algorithms that identify bounding boxes for objects in the scene, and define the boundaries of the drivable surface. You'll work with synthetic and real image data, and evaluate your performance on a realistic dataset.
This is an advanced course, intended for learners with a background in computer vision and deep learning. To succeed in this course, you should have programming experience in Python 3.0, and familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses).
Course 3 of 4 in the Self-Driving Cars Specialization.
What You Will Learn

  • Work with the pinhole camera model, and perform intrinsic and extrinsic camera calibration
  • Detect, describe and match image features and design your own convolutional neural networks
  • Apply these methods to visual odometry, object detection and tracking
  • Apply semantic segmentation for drivable surface estimation

Syllabus

WEEK 1
Visual Perception for Self-Driving Cars
This module introduces the main concepts from the broad field of computer vision needed to progress through perception methods for self-driving vehicles. The main components include camera models and their calibration, monocular and stereo vision, projective geometry, and convolution operations.
Module 1: Basics of 3D Computer Vision
This module introduces the main concepts from the broad field of computer vision needed to progress through perception methods for self-driving vehicles. The main components include camera models and their calibration, monocular and stereo vision, projective geometry, and convolution operations.

WEEK 2
Visual Features - Detection, Description and Matching
Visual features are used to track motion through an environment and to recognize places in a map. This module describes how features can be detected and tracked through a sequence of images and fused with other sources for localization as described in Course 2. Feature extraction is also fundamental to object detection and semantic segmentation in deep networks, and this module introduces some of the feature detection methods employed in that context as well.

WEEK 3
Feedforward Neural Networks
Deep learning is a core enabling technology for self-driving perception. This module briefly introduces the core concepts employed in modern convolutional neural networks, with an emphasis on methods that have been proven to be effective for tasks such as object detection and semantic segmentation. Basic network architectures, common components and helpful tools for constructing and training networks are described.

WEEK 4
2D Object Detection
The two most prevalent applications of deep neural networks to self-driving are object detection, including pedestrian, cyclists and vehicles, and semantic segmentation, which associates image pixels with useful labels such as sign, light, curb, road, vehicle etc. This module presents baseline techniques for object detection and the following module introduce semantic segmentation, both of which can be used to create a complete self-driving car perception pipeline.

WEEK 5
Semantic Segmentation
The second most prevalent application of deep neural networks to self-driving is semantic segmentation, which associates image pixels with useful labels such as sign, light, curb, road, vehicle etc. The main use for segmentation is to identify the drivable surface, which aids in ground plane estimation, object detection and lane boundary assessment. Segmentation labels are also being directly integrated into object detection as pixel masks, for static objects such as signs, lights and lanes, and moving objects such cars, trucks, bicycles and pedestrians.

WEEK 6
Putting it together - Perception of dynamic objects in the drivable region
The final module of this course focuses on the implementation of a collision warning system that alerts a self-driving car about the position and category of obstacles present in their lane. The project is comprised of three major segments: 1) Estimating the drivable space in 3D, 2) Semantic Lane Estimation and 3) Filter wrong output from object detection using semantic segmentation.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to TCP/IP (Coursera) Coursera
Yonsei University

Introduction to TCP/IP (Coursera)

You use the Internet through your PC (Personal Computer), laptop, tablet, smartpad, and smartphone every day in everything you do. Through your own PC/laptop, you can easily learn everything about the Internet, and that is what this course is focused on. In this course ‘Introduction to TCP/IP,’ you will learn the operational functions of Internet technologies (which include IPv4, IPv6, TCP, UDP, addressing, routing, domain names, etc.) and your PC/laptop's security and gateway Internet setup and basic principles.

Sep 14th 2026
5-12 Weeks
System Validation (2): Model process behaviour (Coursera) Coursera
EIT Digital

System Validation (2): Model process behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It is the next logical step in computer science and improving software development in general. It allows automated analysis based on behavioural models of a system to see if a system works correctly. We want to guarantee that the systems does exactly what it is supposed to do.

Sep 14th 2026
3 Weeks
Internet of Things: Multimedia Technologies (Coursera) Coursera
University of California, San Diego

Internet of Things: Multimedia Technologies (Coursera)

Content is an eminent example of the features that contributed to the success of wireless Internet. Mobile platforms such as the Snapdragon™ processor have special hardware and software capabilities to make acquisition, processing and rendering of multimedia content efficient and cost-effective.

Sep 14th 2026
3 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Sep 7th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
4 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Sep 14th 2026
5-12 Weeks
Continuous Delivery & DevOps (Coursera) Coursera
University of Virginia

Continuous Delivery & DevOps (Coursera)

Amazon famously delivers new code every 11.6 seconds. Just a few years ago, this was unthinkable: many ‘cutting edge’ firms would release software quarterly. When it comes to digital innovation, velocity is critical and many would say it’s the most reliable determinant of success. Bringing an organization to the state of the art (or even functional capability) in this area requires strong work in a combination of disciplines and a combination of both technical and managerial skills. There is no single cookie-cutter approach for achieving this capability.

Sep 7th 2026
4 Weeks