README.md

May 5, 2026 · View on GitHub

TwinLiteNet+: An Enhanced Multi-Task Segmentation Model for Autonomous Driving

Generic badge PyTorch - Version Python - Version

Quang-Huy Che, Duc-Tri Le, Minh-Quan Pham, Vinh-Tiep Nguyen, Duc-Khai Lam

📢 Publication

We are pleased to announce that our paper has been accepted for publication in the journal Computers and Electrical Engineering (Elsevier).

Abstract Semantic segmentation is crucial for autonomous driving, particularly for Drivable Area and Lane Segmentation, ensuring safety and navigation. To address the high computational costs of current state-of-the-art (SOTA) models, this paper introduces TwinLiteNetPlus (TwinLiteNet+), a model adept at balancing efficiency and accuracy. TwinLiteNet+ incorporates standard and depth-wise separable dilated convolutions, reducing complexity while maintaining high accuracy. It is available in four configurations, from the robust 1.94 million-parameter TwinLiteNetPlus_Large to the ultra-compact 34K-parameter TwinLiteNetPlus_nano. Notably, TwinLiteNetPlus_Large attains a 92.9% mIoU for Drivable Area Segmentation and a 34.2% IoU for Lane Segmentation. These results notably outperform those of current SOTA models while requiring a computational cost that is approximately 11 times lower in terms of Floating Point Operations (FLOPs) compared to the existing SOTA model. Extensively tested on various embedded devices, TwinLiteNet+ demonstrates promising latency and power efficiency, underscoring its suitability for real-world autonomous vehicle applications.


Main Results


Comparison of evaluation metrics mIoU (Drivable Area Segmentation) - IoU (Lane Segmentation) - GFLOPs of various models on the BDD100K dataset.

ModelDrivable Area mIoU (%) ↑Lane Accuracy (%) ↑Lane IoU (%) ↑FLOPS ↓#Params ↓
DeepLabV3+90.9--29.830.7G15.4M
SegForme92.3--31.712.1G7.2M
R-CNNP90.2--24.0----
YOLOP91.6--26.58.11G5.53M
IALaneNet (ResNet-18)90.54--30.3989.83G17.05M
IALaneNet (ResNet-34)90.61--30.46139.46G27.16M
IALaneNet (ConvNeXt-tiny)91.29--31.4896.52G18.35M
IALaneNet (ConvNeXt-small)91.72--32.53200.07G39.97M
YOLOv8 (multi)84.281.724.3----
Sparse U-PDP91.5--31.2----
TwinLiteNet91.377.831.13.9G0.44M
TwinLiteNet+ Nano87.370.223.30.57G0.03M
TwinLiteNet+ Small90.675.829.31.40G0.12M
TwinLiteNet+ Medium92.079.132.34.63G0.48M
TwinLiteNet+ Large92.981.934.217.58G1.94M

Notes:

  • ↑ indicates higher values are better.
  • ↓ indicates lower values are better.
  • "--" indicates unavailable values.

Requirement

This codebase has been developed with python version 3..8, PyTorch 1.8.0 and torchvision 0.9.0

pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html

or

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 -c pytorch

See requirements.txt for additional dependencies and version requirements.

pip install -r requirements.txt

Pre-trained Model

You can get the pre-trained model from google.

Dataset

For BDD100K: imgs, drivable_are_annotations, lane_line_annotations

We recommend the dataset directory structure to be the following:

# The id represent the correspondence relation
├─bdd100k
│ ├─images
│ │ ├─train
│ │ ├─val
│ ├─drivable_are_annotations
│ │ ├─train
│ │ ├─val
│ ├─lane_line_annotations
│ │ ├─train
│ │ ├─val

Update the your dataset path in the ./BDD100K.py.

Training

Multi-task

python train.py --ema --config '{nano/small/medium/large}'

Single-task

python train_singletask.py --ema --config '{nano/small/medium/large}' --task '{"DA"/"LL"}'  # DA for drivable area, LL for lane line 

Evaluation

python val.py --config '{nano/small/medium/large}' --weight 'pretrained/{nano/small/medium/large}.pth'

Demo

python demo.py --config '{nano/small/medium/large}' --weight 'pretrained/{nano/small/medium/large}.pth' --source 'pretrained/{images/videos}'

License

TwinLiteNetPlus is released under the MIT Licence.

Acknowledgements

Citation

@article{CHE2025110694,
     title = {TwinLiteNet+: An enhanced multi-task segmentation model for autonomous driving},
     journal = {Computers and Electrical Engineering},
     volume = {128},
     pages = {110694},
     year = {2025},
     issn = {0045-7906},
     doi = {https://doi.org/10.1016/j.compeleceng.2025.110694},
     url = {https://www.sciencedirect.com/science/article/pii/S0045790625006378}
}