- Production from Institute of Computing Technology, Chinese Academy of Sciences.
- Primary contact: Yanping Fu ( fuyanping23s@ict.ac.cn ) or/and Xinyuan Liu.
This repository contains the source code of TopoLogic, An Interpretable Pipeline for Lane Topology Reasoning on Driving Scenes.
TopoLogic is the first to employ an interpretable approach for lane topology reasoning. TopoLogic fuses the geometric distance of lane line endpoints mapped through a designed function and the similarity of lane query in a high-dimensional semantic space to reason lane topology. Experiments on the large-scale autonomous driving dataset OpenLane-V2 benchmark demonstrate that TopoLogic significantly outperforms existing methods in topology reasoning in complex scenarios.
We provide results on Openlane-V2 subset-A val set.
Method | Backbone | Epoch | SDMap | DETl | TOPll | DETt | TOPlt | OLS |
---|---|---|---|---|---|---|---|---|
STSU | ResNet-50 | 24 | × | 12.7 | 0.5 | 43.0 | 15.1 | 25.4 |
VectorMapNet | ResNet-50 | 24 | × | 11.1 | 0.4 | 41.7 | 6.2 | 20.8 |
MapTR | ResNet-50 | 24 | × | 8.3 | 0.2 | 43.5 | 5.8 | 20.0 |
MapTR* | ResNet-50 | 24 | × | 17.7 | 1.1 | 43.5 | 10.4 | 26.0 |
TopoNet | ResNet-50 | 24 | × | 28.6 | 4.1 | 48.6 | 20.3 | 35.6 |
TopoLogic | ResNet-50 | 24 | × | 29.9 | 18.6 | 47.2 | 21.5 | 41.6 |
SMERF | ResNet-50 | 24 | √ | 33.4 | 7.5 | 48.6 | 23.4 | 39.4 |
TopoLogic | ResNet-50 | 24 | √ | 34.4 | 23.4 | 48.3 | 24.4 | 45.1 |
The result of TopoLogic is from this repo.
Method | Backbone | Epoch | DETl | TOPll | DETt | TOPlt | OLS |
---|---|---|---|---|---|---|---|
TopoLogic | ResNet-50 | 24 | 25.9 | 15.1 | 54.7 | 15.1 | 39.6 |
The result is based on the updated
v2.1.0
OpenLane-V2 devkit and metrics.
The result of TopoLogic is from this repo.
Method | Backbone | Epoch | DETl | TOPll | DETt | TOPlt | OLS |
---|---|---|---|---|---|---|---|
TopoLogic | ResNet-50 | 24 | 29.9 | 23.9 | 47.2 | 25.4 | 44.1 |
- Linux
- Python 3.8.x
- NVIDIA GPU + CUDA 11.1
- PyTorch 1.9.1
We recommend using conda to run the code.
conda create -n topologic python=3.8 -y
conda activate topologic
# (optional) If you have CUDA installed on your computer, skip this step.
conda install cudatoolkit=11.1.1 -c conda-forge
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
Install other required packages.
pip install -r requirements.txt
Following OpenLane-V2 repo to download the data and run the preprocessing code.
We recommend using 8 GPUs for training. If a different number of GPUs is utilized, you can enhance performance by configuring the --autoscale-lr
option. The training logs will be saved to work_dirs/toponet
.
cd TopoLogic
mkdir work_dirs
./tools/dist_train.sh 8 [work_dir_name] [--autoscale-lr]
You can set --show
to visualize the results.
./tools/dist_test.sh 8 [work_dir_name] [--show]
If this work is helpful for your research, please consider citing the following BibTeX entry.
@misc{fu2024topologic,
title={TopoLogic: An Interpretable Pipeline for Lane Topology Reasoning on Driving Scenes},
author={Yanping Fu and Wenbin Liao and Xinyuan Liu and Hang xu and Yike Ma and Feng Dai and Yucheng Zhang},
year={2024},
eprint={2405.14747},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
We acknowledge all the open-source contributors for the following projects to make this work possible: