Open-EMMA 是 Waymo 的端到端多模态自动驾驶模型 (EMMA) 的一个开源实现,提供了一个用于自动驾驶车辆运动规划的端到端框架。OpenEMMA 利用视觉语言模型(VLMs)如 GPT-4 和 LLaVA 的预训练世界知识,通过整合文本和多视角相机输入,实现对未来自车航路点的准确预测和决策解释。我们的目标是为研究人员和开发者提供便捷的工具,以推进自动驾驶的研究和应用。
- [2025/1/12] 🔥现在可以通过 PyPI 包安装 OpenEMMA!使用
pip install openemma
完成安装。 - [2024/12/19] 🔥我们发布了 Open-EMMA,一个用于端到端运动规划自动驾驶任务的开源项目。请参阅我们的论文,了解更多详情。
请按照以下步骤来设置 Open-EMMA 的环境和依赖项。
-
环境设置
使用 Python 3.8 创建 Open-EMMA 的 Conda 环境:conda create -n openemma-env python=3.8 conda activate openemma-env
-
安裝 OpenEMMA
您現在可以使用 PyPI 通過單個命令安裝 OpenEMMA:pip install openemma
或者,按照以下步驟操作:
-
克隆 Open-EMMA 仓库
克隆 Open-EMMA 仓库并进入根目录:git clone [email protected]:taco-group/OpenEMMA.git cd OpenEMMA
-
安装必要的库
确保已安装cudatoolkit。如果未安装,可以使用以下命令进行安装:
conda install nvidia/label/cuda-12.4.0::cuda-toolkit
运行以下命令来安装 Open-EMMA 所需的核心包:
pip install -r requirements.txt
这将安装所有必要的库,包括 YOLO-3D(用于关键对象检测的外部工具)。YOLO-3D 运行所需的模型权重会在首次执行时自动下载。
-
-
设置 GPT-4 API 访问
为了启用 GPT-4 的推理功能,请从 OpenAI 获取 API 密钥。您可以将 API 密钥直接添加到代码中提示的位置,或者将其设置为环境变量:
export OPENAI_API_KEY="your_openai_api_key"
这使得 OpenEMMA 能够访问 GPT-4,以生成未来的航点和决策依据。
在完成环境设置后,您可以按照以下说明开始使用 Open-EMMA:
-
准备输入数据
下载并解压缩nuScenes数据集。
-
运行 Open-EMMA
使用以下命令来执行 Open-EMMA 的主脚本:
- PyPI:
openemma \ --model-path qwen \ --dataroot [dir-of-nuscnse-dataset] \ --version [vesion-of-nuscnse-dataset] \ --method openemma
- Github Repo:
python main.py \ --model-path qwen \ --dataroot [dir-of-nuscnse-dataset] \ --version [vesion-of-nuscnse-dataset] \ --method openemma
目前,我们支持下列模型:
GPT-4o
,LLaVA-1.6-Mistral-7B
,Llama-3.2-11B-Vision-Instruct
, 与Qwen2-VL-7B-Instruct
. 要使用特定模型,只需将gpt
,llava
,llama
, 与qwen
作为参数传递给--model-path
。 -
输出解析
运行模型后,Open-EMMA 会在
--save-folder
位置生成以下输出:- 航路点:预测自车轨迹的未来航路点列表。
- 决策解释:模型推理的文本解释,包括场景上下文、关键对象和行为决策。
- 标注图像:覆盖有计划轨迹和检测到的关键对象的原始图像。
- 合成视频:由标注图像生成的视频(例如
output_video.mp4
),显示预测路径的时间演变。
如需使用此项目时获得帮助或报告问题,请提交 GitHub Issue。
如果与本项目相关有个人沟通需求,请联系邢朔 ([email protected])。
希望本开源项目能够对您的工作有所帮助。如果您使用了我们的代码或扩展了我们的工作,请考虑引用我们的论文:
@article{openemma,
author = {Xing, Shuo and Qian, Chengyuan and Wang, Yuping and Hua, Hongyuan and Tian, Kexin and Zhou, Yang and Tu, Zhengzhong},
title = {OpenEMMA: Open-Source Multimodal Model for End-to-End Autonomous Driving},
journal = {arXiv},
year = {2024},
month = dec,
eprint = {2412.15208},
doi = {10.48550/arXiv.2412.15208}
}