当前位置: 首页 > news >正文

LMDrive数据集构建完全指南:从零开始创建自动驾驶训练数据

LMDrive数据集构建完全指南:从零开始创建自动驾驶训练数据

【免费下载链接】LMDrive[CVPR 2024] LMDrive: Closed-Loop End-to-End Driving with Large Language Models项目地址: https://gitcode.com/gh_mirrors/lm/LMDrive

LMDrive是一个基于大型语言模型的闭环端到端自动驾驶系统,其核心在于利用高质量的自动驾驶训练数据来训练模型。本指南将详细介绍如何从零开始构建LMDrive数据集,包括数据收集、预处理、标注和验证等关键步骤,帮助你快速掌握自动驾驶训练数据的构建流程。

1. 环境准备与项目搭建

在开始数据集构建之前,首先需要准备好相关的环境和工具。LMDrive项目提供了完整的数据集构建工具链,你可以通过以下步骤获取项目代码并配置环境:

  1. 克隆LMDrive项目仓库:

    git clone https://gitcode.com/gh_mirrors/lm/LMDrive
  2. 进入项目目录并安装依赖:

    cd LMDrive pip install -r requirements.txt
  3. 初始化数据集目录结构:

    python dataset/init_dir.py

    该脚本会创建sub-0sub-3四个子目录,每个子目录下包含results文件夹,用于存储不同批次的采集数据。

2. 数据采集:生成自动驾驶场景

LMDrive使用CARLA模拟器进行自动驾驶数据采集,通过预设的路线和场景配置来生成多样化的驾驶数据。数据采集的核心步骤如下:

2.1 配置采集路线与场景

项目提供了data_collection/generate_bashs.py脚本,用于生成不同城镇和场景的采集脚本。该脚本定义了多种训练路线(如routes_town01_short.xmlroutes_town02_tiny.xml等)和对应的场景配置文件(如town01_all_scenarios.json)。

你可以通过修改该脚本来自定义采集路线和场景,例如添加新的城镇路线或调整场景复杂度。

2.2 批量生成采集脚本

运行以下命令生成批量采集脚本:

python data_collection/generate_batch_collect.py

该脚本会在batch_run目录下生成针对每个路线的采集脚本,如run_route_routes_town01_short.sh,用于并行执行多个采集任务。

2.3 执行数据采集

通过以下命令启动数据采集:

bash batch_run/run_route_routes_town01_short.sh

采集过程中,系统会在CARLA模拟器中自动运行预设的驾驶场景,并记录多视角RGB图像、LiDAR数据、车辆状态等信息。

3. 数据预处理:整合与清洗

采集到的原始数据需要经过预处理才能用于模型训练。LMDrive提供了tools/data_preprocessing目录下的多种脚本,用于数据整合、清洗和格式转换。

3.1 多视角图像拼接

batch_merge_data.py脚本用于将不同视角(前视、左视、右视、后视)的图像拼接成一张完整的全景图像,并整合对应的传感器数据和场景信息:

# 关键代码片段(tools/data_preprocessing/batch_merge_data.py) new = Image.new(img_front.mode, (800, 2400)) new.paste(img_front, (0, 0)) new.paste(img_left, (0, 600)) new.paste(img_right, (0, 1200)) new.paste(img_rear, (0, 1800)) new.save(os.path.join(route, "rgb_full", "%04d.jpg" % i))

3.2 数据清洗与过滤

batch_rm_blocked_data.pybatch_stat_blocked_data.py脚本用于检测和移除无效或异常数据,确保数据集的质量。例如,移除被遮挡的图像或传感器故障导致的数据。

4. 数据标注:添加语义信息

高质量的标注数据是训练自动驾驶模型的关键。LMDrive提供了多种工具用于数据标注,包括交通标志识别、车道线检测和场景理解等。

4.1 自动标注工具

tools/data_parsing目录下的脚本(如parse_instruction.pyfollow_rules.py)可用于自动解析驾驶指令和交通规则,为数据添加语义标签。例如,识别"左转"、"停车"等导航指令,并关联对应的图像和传感器数据。

4.2 标注数据格式

标注数据以JSON格式存储,包含车辆状态、环境信息、交通参与者等详细信息。以下是一个标注数据的示例:

{ "timestamp": 1620000000, "position": {"x": 100.0, "y": 200.0, "z": 0.0}, "velocity": {"x": 10.0, "y": 0.0, "z": 0.0}, "actors_data": [ {"id": 1, "type": "car", "position": {"x": 110.0, "y": 200.0, "z": 0.0}} ], "stop_sign": true }

5. 数据集验证与优化

数据集构建完成后,需要进行验证和优化,确保数据的质量和多样性。

5.1 数据质量检查

通过可视化工具检查数据的完整性和标注的准确性。例如,使用LAVIS/app/dataset_browser.py查看数据集样本,确保图像拼接正确、标注信息完整。

5.2 数据集多样性分析

分析数据集的场景分布、天气条件、交通状况等,确保覆盖各种驾驶场景。LMDrive提供了多种路线和场景配置,可通过调整data_collection/generate_bashs.py中的参数来增加数据集的多样性。

6. 数据集使用:训练自动驾驶模型

构建好的数据集可用于训练LMDrive的自动驾驶模型。以下是使用数据集进行模型训练的基本步骤:

  1. 配置训练参数:修改lavis/projects/lmdrive/drivegpt.yaml文件,设置数据集路径、模型参数等。

  2. 启动训练:

    python train.py --cfg lavis/projects/lmdrive/drivegpt.yaml
  3. 评估模型性能:

    python evaluate.py --cfg lavis/projects/lmdrive/drivegpt.yaml

总结

LMDrive数据集构建是一个涵盖数据采集、预处理、标注和验证的完整流程。通过本指南,你可以从零开始创建高质量的自动驾驶训练数据,为训练高性能的自动驾驶模型奠定基础。无论是调整采集场景、优化数据预处理,还是扩展标注维度,LMDrive提供的工具链都能满足你的需求,帮助你构建定制化的自动驾驶数据集。

LMDrive数据处理流程图:展示了从多视角RGB和LiDAR数据到控制信号的完整处理流程,集成了视觉编码器和大型语言模型

【免费下载链接】LMDrive[CVPR 2024] LMDrive: Closed-Loop End-to-End Driving with Large Language Models项目地址: https://gitcode.com/gh_mirrors/lm/LMDrive

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/984019/

相关文章:

  • 3分钟解锁Cursor Pro完整功能:告别试用限制的终极免费方案
  • 支付宝商家转账,提额成功
  • 如何用Point-E在5分钟内从文本生成3D点云?完整实战指南
  • 2023最新gmplot入门教程:从安装到绘制第一个交互式地图
  • 影刀RPA新手教程_Excel表格读写操作完全指南
  • 3DS宝可梦ROM编辑器:打造专属宝可梦世界的终极工具
  • GIS局部放电在线监测:让电网隐患“无处遁形”
  • 华硕笔记本终极性能调校指南:G-Helper完整教程
  • 题解:学而思编程 斐波那契字符串
  • 3分钟快速汉化Figma界面:设计师必备的终极中文插件指南
  • 2026北京市大兴区家里卫生间漏水、阳台漏水、楼顶漏水、阳台漏水、地下室渗水、阳光房漏水各种房屋漏水情况不用愁!本地防水补漏公司为您排忧解难!精准推荐附近专业防水团队 - 防水百科
  • Zerolang社区贡献指南:如何参与这个革命性编程语言的开发
  • 凡华似金创始人权明受邀出席2026第7届六六盛典暨全国头部装企生态赋能大会分享:以信任密度方程式,为全国装企老板破解增长困局 - GrowthUME
  • 京东商品监控下单神器:告别手速慢的烦恼,让jd-happy帮你自动抢购
  • Kodi IPTV Simple Client:打造智能家庭直播电视的终极指南
  • 3步解决老旧Mac无法升级macOS问题:OpenCore Legacy Patcher终极指南
  • 别再手动调格式了!用NoteExpress搞定毕业论文参考文献(附样式修改避坑指南)
  • MailCore SMTP完全指南:简单快速发送带附件的电子邮件
  • MelonLoader:解锁Unity游戏模组世界的终极钥匙,双架构兼容的革命性工具
  • 高效部署指南:ABAP2XLSX完整配置与Excel报表性能优化实战
  • AI动态简报之算力基建篇(2026.06.09)
  • 题解:学而思编程 懒惰的牛
  • 如何快速掌握Wasmtime:WebAssembly运行时完整指南
  • MauiReactor组件通信模式:掌握跨页面数据交互的5种方法
  • DeepLabV3Plus语义分割实战:从架构设计到工业级部署的完整指南
  • Sqribble:面向结构化文档的规则驱动型云操作系统
  • 补充MySQL官网知识--解锁Online VARCHAR字段扩展与Index的关系
  • 当阴阳师遇上AI助手:你的24小时御魂刷本管家
  • TileMapDual六边形网格完全指南:打造精美蜂窝地图的10个步骤
  • 3PEAK思瑞浦 TPA5521-S5TR SOT23-5 运算放大器