https://github.com/codename-detective/self_driving_cars_environment_perception
This project focuses on key perception tasks for self-driving cars, including ground plane estimation from 3D data, semantic segmentation to identify drivable areas, and detection of lanes and obstacles. By combining these techniques, the system helps autonomous vehicles understand their environment for safe and efficient navigation.
https://github.com/codename-detective/self_driving_cars_environment_perception
computer-vision drivable-road-detection drivable-space-estimation environment-perception lane-detection object-detection python3 segmentation self-driving-car
Last synced: about 1 month ago
JSON representation
This project focuses on key perception tasks for self-driving cars, including ground plane estimation from 3D data, semantic segmentation to identify drivable areas, and detection of lanes and obstacles. By combining these techniques, the system helps autonomous vehicles understand their environment for safe and efficient navigation.
- Host: GitHub
- URL: https://github.com/codename-detective/self_driving_cars_environment_perception
- Owner: CodeName-Detective
- Created: 2025-08-10T22:59:58.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-10T23:30:59.000Z (10 months ago)
- Last Synced: 2025-09-02T04:49:32.652Z (10 months ago)
- Topics: computer-vision, drivable-road-detection, drivable-space-estimation, environment-perception, lane-detection, object-detection, python3, segmentation, self-driving-car
- Language: Jupyter Notebook
- Homepage:
- Size: 19.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Environment Perception for Self-Driving Cars

This project demonstrates key components of environment perception in self-driving cars using computer vision and 3D data processing techniques. It focuses on detecting and understanding the drivable space, ground plane estimation, and semantic segmentation from sensor data.
---
## Project Overview
Self-driving cars rely heavily on environment perception to navigate safely and efficiently. This project implements fundamental perception tasks such as:
- Ground plane estimation from 3D point clouds or depth data
- Semantic segmentation of road scenes to identify drivable space and obstacles
- Lane and obstacle detection using image and sensor fusion
These tasks collectively help the autonomous vehicle understand its surroundings to make safe driving decisions.
---
## Notebook Structure
The notebook is organized into **three main sections**, each focusing on a critical aspect of environment perception:
### 1. **Ground Plane Estimation**
- Objective: Fit a plane model to 3D point cloud data to identify the ground surface.
- Techniques: RANSAC algorithm is used for robust plane fitting by rejecting outliers.
- Outcome: The equation of the ground plane is computed, enabling filtering of points close to this plane.
### 2. **Semantic Segmentation and Drivable Space Estimation**
- Objective: Use semantic segmentation neural network outputs to classify pixels into categories such as road, lane markings, vehicles, and pedestrians.
- Techniques: Deep learning models for pixel-wise classification, followed by spatial filtering.
- Outcome: Drivable areas are extracted by thresholding semantic labels, creating a mask that highlights safe driving regions.
### 3. **Lane and Obstacle Detection**
- Objective: Detect lane lines and obstacles within the segmented drivable space.
- Techniques: Image processing methods such as edge detection, Hough transform for line detection, and clustering for obstacles.
- Outcome: Lane boundaries and obstacles are detected, allowing for path planning and collision avoidance.
---
## Flow Diagram
```plaintext
+------------------------+ +------------------------------+ +-----------------------------+
| | | | | |
| 1. Ground Plane | ----> | 2. Semantic Segmentation | ----> | 3. Lane & Obstacle |
| Estimation | | & Drivable Space Estimation| | Detection |
| | | | | |
+------------------------+ +------------------------------+ +-----------------------------+
Input: 3D Point Cloud or Depth Data
Output: Ground Plane Equation Output: Drivable Space Mask Output: Detected Lane Lines & Obstacles