LSTR: 基于Transformer的车道形状预测

LSTR: 基于Transformer的车道形状预测

在计算机视觉领域,车道检测是自动驾驶和智能交通系统中的关键技术之一。我们推出了一种名为LSTR的车道形状预测模型,它基于Transformer架构,实现了端到端的车道形状参数输出。本文将介绍LSTR模型的设计思想、功能特性以及应用场景。

项目背景与意义

传统的车道检测方法通常分为多个阶段,包括特征提取、车道线识别和拟合等,这些阶段需要大量的人工设计和调整,而且容易受到环境光照、路面情况等因素的影响。LSTR的出现将车道检测简化为单阶段任务,极大地提高了检测的准确性和效率。

LSTR模型的特点包括模型参数少、计算复杂度低、训练友好等,不仅在理论上具有吸引力,而且在实际应用中也表现出色。其在TuSimple数据集上达到了96.18%的准确率,为自动驾驶和智能交通领域的应用提供了可靠的技术支持。

LSTR的特性和功能

  • 😎 端到端架构: 直接输出车道形状参数,简化车道检测流程。
  • 超轻量级: 模型参数仅有765,787个,适用于资源受限的环境。
  • 超低复杂度: 计算复杂度仅为574.280M个乘加操作(MACs)。
  • 😎 训练友好: GPU内存消耗低,使用大小为(360, 640, 3)的输入图像,批量大小为16时,仅占用1245MiB的GPU内存。

最新更新

  • 【2021/12/03】🔥 我们的新作品《从单张图像学习预测3D车道形状和相机姿态:基于几何约束》已被AAAI2022接受!预印本论文和代码即将发布!
  • 【2021/11/23】: 我们现在支持自定义数据的训练和测试
  • 【2021/11/16】: 修复了多GPU训练的问题。
  • 【2020/12/06】: 现在我们支持CULane数据集

即将推出的功能

  • LSTR-nano(新的骨干网络):在只使用LSTR 40%的MACs(229.419M)和40%的参数(302,546)的情况下,达到96.33%的TuSimple准确率。
  • 马赛克增强。
  • 基于Loguru的日志记录模块。
  • 基于几何的损失函数。
  • 分割先验。

模型资源库

我们提供了基线LSTR模型文件(在TuSimple训练和验证集上进行了500,000次迭代训练):

  • ./cache/nnet/LSTR/LSTR_500000.pkl(约3.1MB)。

数据准备

请从TuSimple下载并提取带有注释的TuSimple训练、验证和测试集。

我们期望目录结构如下所示:

复制代码
TuSimple/
    LaneDetection/
        clips/
        label_data_0313.json
        label_data_0531.json
        label_data_0601.json
        test_label.json
    LSTR/

设置环境

  • Linux Ubuntu 16.04
bash 复制代码
conda env create --name lstr --file environment.txt

创建环境后,请激活它:

bash 复制代码
conda activate lstr

然后安装依赖:

bash 复制代码
pip install -r requirements.txt

训练和评估

  • 若要训练模型:

(如果您只想使用训练集,请查看./config/LSTR.json并设置"train_split": "train")

bash 复制代码
python train.py LSTR
  • 训练期间可视化图像存储在./results中。
  • 训练期间保存的模型文件(每5000次迭代)存储在./cache中。

要从快照模型文件训练模型:

bash 复制代码
python train.py LSTR --iter 500000
  • 若要评估(在评估单个图像时GPU占用603MiB),然后您将看到论文的结果:
bash 复制代码
python test.py LSTR --testiter 500000 --modality eval --split testing
  • 若要评估FPS(将--batch设置为最大以提高FPS,如果您每个图像重复16次,则GPU占用877MiB):
bash 复制代码
python test.py LSTR --testiter 500000 --modality eval --split testing --batch 16
  • 要评估并将检测到的图像保存在./results/LSTR/500000/testing/lane_debug中:
bash 复制代码
python test.py LSTR --testiter 500000 --modality eval --split testing --debug
  • 若要评估并保存解码器注意力图(存储--debugEnc以可视化编码器注意力图):
bash 复制代码
python test.py LSTR --testiter 500000 --modality eval --split testing --debug --debugDec

若要在一组图像上评估(将您的图像存储在./images中,然后检测结果将保存在./detections中):

bash 复制代码
python test.py LSTR --testiter 500000 --modality images --image_root ./ --debug

引用

复制代码
@InProceedings{LSTR,
author = {Ruijin Liu and Zejian Yuan and Tie Liu and Zhiliang Xiong},
title = {End-to-end Lane Shape Prediction with Transformers},
booktitle = {WACV},
year = {2021}
}

许可证

LSTR采用BSD 3-Clause许可证发布。更多信息请参阅<LICENSE>文件。

贡献

我们积极欢迎您的Pull请求!

致谢

通过LSTR,我们致力于推动车道检测技术的进步,为智能交通系统的发展贡献力量!

相关推荐
余俊晖20 小时前
一套针对金融领域多模态问答的自适应多层级RAG框架-VeritasFi
人工智能·金融·rag
码农阿树20 小时前
视频解析转换耗时—OpenCV优化摸索路
人工智能·opencv·音视频
伏小白白白21 小时前
【论文精度-2】求解车辆路径问题的神经组合优化算法:综合展望(Yubin Xiao,2025)
人工智能·算法·机器学习
应用市场21 小时前
OpenCV编程入门:从零开始的计算机视觉之旅
人工智能·opencv·计算机视觉
星域智链1 天前
宠物智能用品:当毛孩子遇上 AI,是便利还是过度?
人工智能·科技·学习·宠物
taxunjishu1 天前
DeviceNet 转 MODBUS TCP罗克韦尔 ControlLogix PLC 与上位机在汽车零部件涂装生产线漆膜厚度精准控制的通讯配置案例
人工智能·区块链·工业物联网·工业自动化·总线协议
说私域1 天前
基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例
人工智能·小程序·开源
囚生CY1 天前
【速写】优化的深度与广度(Adam & Moun)
人工智能·python·算法
hqyjzsb1 天前
2025年市场岗位能力重构与跨领域转型路径分析
c语言·人工智能·信息可视化·重构·媒体·改行学it·caie
爱学习的uu1 天前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程