Y O L O P
RiserIntroduction
YOLOP (You Only Look Once for Panoptic Driving Perception) is a multi-task network designed to handle object detection, drivable area segmentation, and lane detection in autonomous driving. It achieves real-time performance on embedded devices while maintaining state-of-the-art results on the BDD100K dataset.
Architecture
YOLOP integrates three key tasks into a single efficient model to optimize computational resources and improve task performance. The architecture supports joint learning, which allows the model to perform efficiently without requiring alternating optimization strategies.
Training
Training involves configuring settings in ./lib/config/default.py
, where you can adjust parameters such as preliminary model loading, loss functions, data augmentation, and optimization strategies. The model supports both end-to-end training and single-task training modes for flexibility in different applications.
Guide: Running Locally
-
Environment Setup:
- Ensure Python 3.7 and PyTorch 1.7+ are installed.
- Install dependencies:
conda install pytorch==1.7.0 torchvision==0.8.0 cudatoolkit=10.2 -c pytorch pip install -r requirements.txt
-
Data Preparation:
- Download images and annotations from the provided links.
- Organize dataset directories as specified and update paths in
./lib/config/default.py
.
-
Training:
- Configure training settings in
./lib/config/default.py
. - Start training with:
python tools/train.py
- Configure training settings in
-
Evaluation:
- Set evaluation parameters in
./lib/config/default.py
. - Run evaluation with:
python tools/test.py --weights weights/End-to-end.pth
- Set evaluation parameters in
-
Demo Test:
- For folder-based input:
python tools/demo --source inference/images
- For camera input:
python tools/demo --source 0
- For folder-based input:
-
Deployment:
- Deploy on Jetson Tx2 using TensorRT for real-time inference.
Cloud GPUs: For enhanced performance, consider using cloud GPU services such as AWS EC2, Google Cloud Platform, or Azure.
License
Please refer to the project's LICENSE
file for specific terms and conditions.