LMDrive数据集构建完全指南从零开始创建自动驾驶训练数据【免费下载链接】LMDrive[CVPR 2024] LMDrive: Closed-Loop End-to-End Driving with Large Language Models项目地址: https://gitcode.com/gh_mirrors/lm/LMDriveLMDrive是一个基于大型语言模型的闭环端到端自动驾驶系统其核心在于利用高质量的自动驾驶训练数据来训练模型。本指南将详细介绍如何从零开始构建LMDrive数据集包括数据收集、预处理、标注和验证等关键步骤帮助你快速掌握自动驾驶训练数据的构建流程。1. 环境准备与项目搭建在开始数据集构建之前首先需要准备好相关的环境和工具。LMDrive项目提供了完整的数据集构建工具链你可以通过以下步骤获取项目代码并配置环境克隆LMDrive项目仓库git clone https://gitcode.com/gh_mirrors/lm/LMDrive进入项目目录并安装依赖cd LMDrive pip install -r requirements.txt初始化数据集目录结构python dataset/init_dir.py该脚本会创建sub-0到sub-3四个子目录每个子目录下包含results文件夹用于存储不同批次的采集数据。2. 数据采集生成自动驾驶场景LMDrive使用CARLA模拟器进行自动驾驶数据采集通过预设的路线和场景配置来生成多样化的驾驶数据。数据采集的核心步骤如下2.1 配置采集路线与场景项目提供了data_collection/generate_bashs.py脚本用于生成不同城镇和场景的采集脚本。该脚本定义了多种训练路线如routes_town01_short.xml、routes_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.py和batch_stat_blocked_data.py脚本用于检测和移除无效或异常数据确保数据集的质量。例如移除被遮挡的图像或传感器故障导致的数据。4. 数据标注添加语义信息高质量的标注数据是训练自动驾驶模型的关键。LMDrive提供了多种工具用于数据标注包括交通标志识别、车道线检测和场景理解等。4.1 自动标注工具tools/data_parsing目录下的脚本如parse_instruction.py、follow_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的自动驾驶模型。以下是使用数据集进行模型训练的基本步骤配置训练参数修改lavis/projects/lmdrive/drivegpt.yaml文件设置数据集路径、模型参数等。启动训练python train.py --cfg lavis/projects/lmdrive/drivegpt.yaml评估模型性能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),仅供参考
LMDrive数据集构建完全指南:从零开始创建自动驾驶训练数据
发布时间:2026/6/9 23:23:27
LMDrive数据集构建完全指南从零开始创建自动驾驶训练数据【免费下载链接】LMDrive[CVPR 2024] LMDrive: Closed-Loop End-to-End Driving with Large Language Models项目地址: https://gitcode.com/gh_mirrors/lm/LMDriveLMDrive是一个基于大型语言模型的闭环端到端自动驾驶系统其核心在于利用高质量的自动驾驶训练数据来训练模型。本指南将详细介绍如何从零开始构建LMDrive数据集包括数据收集、预处理、标注和验证等关键步骤帮助你快速掌握自动驾驶训练数据的构建流程。1. 环境准备与项目搭建在开始数据集构建之前首先需要准备好相关的环境和工具。LMDrive项目提供了完整的数据集构建工具链你可以通过以下步骤获取项目代码并配置环境克隆LMDrive项目仓库git clone https://gitcode.com/gh_mirrors/lm/LMDrive进入项目目录并安装依赖cd LMDrive pip install -r requirements.txt初始化数据集目录结构python dataset/init_dir.py该脚本会创建sub-0到sub-3四个子目录每个子目录下包含results文件夹用于存储不同批次的采集数据。2. 数据采集生成自动驾驶场景LMDrive使用CARLA模拟器进行自动驾驶数据采集通过预设的路线和场景配置来生成多样化的驾驶数据。数据采集的核心步骤如下2.1 配置采集路线与场景项目提供了data_collection/generate_bashs.py脚本用于生成不同城镇和场景的采集脚本。该脚本定义了多种训练路线如routes_town01_short.xml、routes_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.py和batch_stat_blocked_data.py脚本用于检测和移除无效或异常数据确保数据集的质量。例如移除被遮挡的图像或传感器故障导致的数据。4. 数据标注添加语义信息高质量的标注数据是训练自动驾驶模型的关键。LMDrive提供了多种工具用于数据标注包括交通标志识别、车道线检测和场景理解等。4.1 自动标注工具tools/data_parsing目录下的脚本如parse_instruction.py、follow_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的自动驾驶模型。以下是使用数据集进行模型训练的基本步骤配置训练参数修改lavis/projects/lmdrive/drivegpt.yaml文件设置数据集路径、模型参数等。启动训练python train.py --cfg lavis/projects/lmdrive/drivegpt.yaml评估模型性能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),仅供参考