Implementação de Pytorch do artigo "Detecção de pista profunda de profundidade de estrutura rápida".
[18 de julho de 2022] Atualizações: A nova versão do nosso método foi aceita pelo TPAMI 2022. O código está disponível aqui .
[28 de junho de 2021] Atualizações: lançaremos uma versão estendida, que melhora 6,3 pontos de F1 no Culane com o backbone RESNET-18 em comparação com a versão ECCV.
Atualizações: Nosso artigo foi aceito pelo ECCV2020.

O código de avaliação é modificado no referência SCNN e Tusimple.
Modelo Caffe e Prototxt podem ser encontrados aqui.
Consulte o install.md
Primeiro de tudo, modifique data_root e log_path em suas configs/culane.py ou configs/tusimple.py configure de acordo com seu ambiente.
data_root é o caminho do seu conjunto de dados Culane ou conjunto de dados Tusimple.log_path é onde os logs do Tensorboard, modelos treinados e backup de código são armazenados. Deve ser colocado fora deste projeto.Para treinamento de GPU único, execute
python train.py configs/path_to_your_configPara treinamento multi-GPU, execute
sh launch_training.shou
python -m torch.distributed.launch --nproc_per_node= $NGPUS train.py configs/path_to_your_configSe não houver um modelo de Torchvision pré-terenciado, o treinamento com multi-GPU poderá resultar em download múltiplo. Você pode primeiro baixar os modelos correspondentes manualmente e, em seguida, reiniciar o treinamento multi-GPU.
Como nosso código possui uma função de backup automático que copiará todos os códigos para o log_path De acordo com o Gitignore, o arquivo de temperatura adicional também pode ser copiado se não for filtrado por Gitignore, que pode bloquear a execução se os arquivos temp forem grandes. Portanto, você deve manter o diretório de trabalho limpo.
Além das configurações de estilo de configuração, também oferecemos suporte ao estilo de linha de comando um. Você pode substituir um cenário como
python train.py configs/path_to_your_config --batch_size 8 O batch_size será definido como 8 durante o treinamento.
Para visualizar o log com o Tensorboard, execute
tensorboard --logdir log_path --bind_allFornecemos dois modelos RES-18 treinados em Culane e Tusimple.
| Conjunto de dados | Papel métrico | Métrica neste repo | AVG FPS no GTX 1080TI | Modelo |
|---|---|---|---|---|
| Tusimple | 95.87 | 95.82 | 306 | Googledrive/Baidudrive (Código: BGHD) |
| Culane | 68.4 | 69.7 | 324 | Googledrive/Baidudrive (Código: W9TW) |
Para avaliação, execute
mkdir tmp
# This a bad example, you should put the temp files outside the project.
python test.py configs/culane.py --test_model path_to_culane_18.pth --test_work_dir ./tmp
python test.py configs/tusimple.py --test_model path_to_tusimple_18.pth --test_work_dir ./tmpO mesmo que o treinamento, a avaliação multi-GPU também é suportada.
Fornecemos um script para visualizar os resultados da detecção. Execute os seguintes comandos para visualizar no conjunto de testes de Culane e Tusimple.
python demo.py configs/culane.py --test_model path_to_culane_18.pth
# or
python demo.py configs/tusimple.py --test_model path_to_tusimple_18.pthComo o conjunto de testes de Tusimple não é ordenado, o vídeo visualizado pode parecer ruim e não recomendamos fazer isso.
Para testar o tempo de execução, corra
python speed_simple.py
# this will test the speed with a simple protocol and requires no additional dependencies
python speed_real.py
# this will test the speed with real video or camera inputEle fará 100 vezes e calculará o tempo de execução média e o FPS em seu ambiente.
@InProceedings { qin2020ultra ,
author = { Qin, Zequn and Wang, Huanyu and Li, Xi } ,
title = { Ultra Fast Structure-aware Deep Lane Detection } ,
booktitle = { The European Conference on Computer Vision (ECCV) } ,
year = { 2020 }
}
@ARTICLE { qin2022ultrav2 ,
author = { Qin, Zequn and Zhang, Pengyi and Li, Xi } ,
journal = { IEEE Transactions on Pattern Analysis and Machine Intelligence } ,
title = { Ultra Fast Deep Lane Detection With Hybrid Anchor Driven Ordinal Classification } ,
year = { 2022 } ,
volume = { } ,
number = { } ,
pages = { 1-14 } ,
doi = { 10.1109/TPAMI.2022.3182097 }
}Agradecemos ao Zchrissirhcz pela contribuição para a ferramenta de compilação de Culane, Kopisoftware por contribuir para o teste de velocidade e USTCLBH por testar na plataforma Windows.