Introduction

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

  1. 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
      
  2. Data Preparation:

    • Download images and annotations from the provided links.
    • Organize dataset directories as specified and update paths in ./lib/config/default.py.
  3. Training:

    • Configure training settings in ./lib/config/default.py.
    • Start training with:
      python tools/train.py
      
  4. Evaluation:

    • Set evaluation parameters in ./lib/config/default.py.
    • Run evaluation with:
      python tools/test.py --weights weights/End-to-end.pth
      
  5. Demo Test:

    • For folder-based input:
      python tools/demo --source inference/images
      
    • For camera input:
      python tools/demo --source 0
      
  6. 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.

More Related APIs in Object Detection