端到端的自动驾驶方法在交互式的闭环评估中然难以做出正确的决策,主要是因为这种方法的因果推理能力有限,目前大家试图利用视觉语言模型(VLM)强大的理解和推理能力来解决这个难题,但是由于语义推理空间与动作空间中纯粹的数值轨迹输出之间的差距,很少有VLM在闭环评估中有比较良好的表现。
为了解决这个问题,我们提出了ORION,ORION是一个通过视觉语言指导的动作生成来实现端到端自动驾驶的框架,结合了QT-Former来聚合长期历史上下文,大型语言模型(LLM)用于驾驶场景推理,生成规划器用于精确轨迹预测。ORION进一步对齐推理空间和动作空间,实现了视觉问答VQA规划任务的统一端到端优化。
ORION在Bench2Drive数据集上取得了非常优秀的闭环性能成绩,驾驶得分为77.74,成功率为54.62%,比现有的最先进方法高出14.28分和19.61%的成功率。
你可以从GitHub克隆ORION项目然后开始使用。
git clone https://github.com/xiaomi-mlab/Orion.git
cd ./Orion
conda create -n orion python=3.8 -y
conda activate orion
pip install torch==2.4.1+cu118 torchvision==0.19.1+cu118 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install -v -e .
pip install -r requirements.txt
你可以参考相关指南准备Bench2Drive数据集。
你可以使用以下命令进行开环评估。
./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py [--PATH_CHECKPOINTS] 1
你可以执行CoT推理(可能会很慢)。
./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3_cot.py [--PATH_CHECKPOINTS] 1
建议在NVIDIA A100或其他具有超过32GB内存的GPU上进行推理(默认为fp32)。
你可以参考相关指南克隆Bench2Drive评估工具并为CARLA做准备,按照指南使用Bench2Drive的评估工具。
你可以通过以下方式设置进行闭环评估:
TEAM_CONFIG=adzoo/orion/configs/orion_stage3_agent.py+[CHECKPOINT_PATH]
ORION和其他基线方法的比较:
方法 | L2(米) | 驾驶得分 | 成功率(%) |
---|---|---|---|
ORION | - | 77.74 | 54.62 |