# [MOOC] Apollo Lesson 4: Perception

**Published:** January 29, 2021
**Tags:** Computer Vision, Apollo


---

My note for lesson 4 of MOOC course: Self-Driving Fundamentals - Featuring Apollo. Content: Identify different perception tasks such as classification, detection, segmentation.

## Intro

Perception module is much like our brain. It receives data from car sensors such as cameras, LiDARs, radars and use AI models and algorithms to recognize traffic lights, 3D objects with type, distance and velocity. Our self-driving module uses these outputs to control the car. Below is the perception module of Apollo 6.0.

![Perception module of Apollo 6.0. Image from https://github.com/ApolloAuto/apollo/tree/master/modules/perception](/posts-data/notes/apollo-self-driving-car-course/l4-perception/Apollo6.0_perception_detail.png)

Perception module uses **Computer Vision** to analyze images.

## Images

### BGR image

Camera images are often in RGB color space.

### LiDAR image

**LiDAR** (/ˈlaɪdɑːr/, also LIDAR, LiDAR, and LADAR) is a method for measuring distances (ranging) by illuminating the target with laser light and measuring the reflection with a sensor. Differences in laser return times and wavelengths can then be used to make digital 3-D representations of the target. It has terrestrial, airborne, and mobile applications.

**-Wikipedia**

## Computer vision techniques

- Neural Network, Convolutional Neural Network
- Image Classification
- Object Detection
- Object Tracking
- Segmentation

## Apollo Perception

The Apollo open software stack perceives obstacles, traffic lights and lanes.

The Region of Interest (ROI) filter is used to focus on relevant objects on HD map. Apollo applies the **ROI filter** to both **point cloud** and **image data** to narrow the search scope and accelerating perception.

![ROI filter on HD Map](/posts-data/notes/apollo-self-driving-car-course/l4-perception/roi.png)

## Sensor data comparison

Camera, LiDAR or Radar has different performance on different tasks or weather conditions. Below is the comparison between them. We need to fuse the outputs from these sensor to achieve the best performance.

![Sensor data comparison - Camera vs LiDAR vs Radar vs Sensor fusion](/posts-data/notes/apollo-self-driving-car-course/l4-perception/camera-lidar-radar.png)

## Sensor fusion

**Two-step estimation:**

- Predict State
- Update Measurement

**Measurement Update** can be done in 2 ways: synchronous and asynchronous.

- Synchronous fusion updates all the measurements from different sensors at the same time.
- Asynchronous fusion updates the sensor measurements one at a time when they arrive.

## Resources

- Apollo Perception module: [https://github.com/ApolloAuto/apollo/tree/master/modules/perception](https://github.com/ApolloAuto/apollo/tree/master/modules/perception).

