An advanced driver assistance system that uses computer vision and machine learning to detect lanes, analyze road curvature, and identify nearby objects from dashcam footage.
This project implements core technologies used in autonomous driving systems:
- Lane Detection & Analysis: Identifies lane markings and calculates the road curvature ahead
- Object Detection: Recognizes and classifies objects in the driving environment
- Distance Estimation: Approximates the distance to detected objects
The system processes real-time dashcam footage to provide these insights, creating a foundation for more advanced autonomous driving capabilities.
-
Advanced Lane Detection:
- Robust lane identification even in varying lighting conditions
- Curvature calculation to anticipate turns
- Lane departure warning indication
-
Multi-Class Object Detection:
- Identifies vehicles (cars, trucks, buses, motorcycles)
- Detects pedestrians, cyclists, and other road users
- Recognizes traffic signs and signals
-
Environment Analysis:
- Distance estimation to other road users
- Visual highlighting of detected objects
- Real-time processing of dashcam video feed
- Python: Core programming language
- OpenCV: Image processing and computer vision operations
- TensorFlow: Machine learning model for object detection
- EfficientDet-Lite2: Pre-trained object detection model
- NumPy: Numerical computing for data manipulation
The lane detection system follows these steps:
- Camera calibration to correct for lens distortion
- Color and gradient thresholding to isolate lane markings
- Perspective transformation for bird's-eye view analysis
- Lane line identification with sliding window approach
- Curvature calculation and vehicle position estimation
- Visual overlay of detection results on original image
For object recognition, the system:
- Processes each video frame through the TensorFlow EfficientDet model
- Identifies objects with confidence scores above threshold
- Calculates approximate distance based on object size and position
- Annotates the original frame with bounding boxes and information
- Python 3.7+
- OpenCV
- TensorFlow 2.x
- NumPy
- Matplotlib (for visualization)
- Clone this repository:
git clone https://github.com/yourusername/car-Automation.git
cd car-Automation