Orion:小米开源的端到端自动驾驶推理与规划框架

吐司AI

Introducción general

Orion 是小米实验室开发的开源项目,专注于端到端(E2E)自动驾驶技术。它通过视觉语言模型(VLM)和生成式规划器,解决传统自动驾驶方法在复杂场景中因果推理不足的问题。Orion 整合长期历史上下文、驾驶场景推理和精确轨迹预测,显著提升决策准确性。项目提供推理代码、预训练模型和配置文件,支持开发者在 Bench2Drive 数据集上进行开环和闭环评估。Orion 在闭环测试中表现优异,驾驶得分(DS)达 77.74,成功率(SR)达 54.62%,远超同类方法。它适合自动驾驶领域的开发者、研究者和企业,用于算法开发和场景测试。

Orion:小米开源的端到端自动驾驶推理与规划框架

 

Lista de funciones

  • 长期历史上下文处理:通过 QT-Former 模块,提取和整合车辆行驶中的长期数据,提供更全面的场景信息。
  • 驾驶场景推理:利用大型语言模型(LLM)分析道路环境,生成符合逻辑的驾驶指令。
  • 精确轨迹预测:采用生成式规划器,基于语言指令生成多模态轨迹(如加速、转向),提升路径规划精度。
  • 统一优化框架:支持视觉问答(VQA)和规划任务的端到端优化,弥合语义推理与动作输出之间的差距。
  • 开环与闭环评估:提供开环评估脚本和闭环评估配置,支持 Bench2Drive 数据集测试。
  • 可视化分析工具:生成驾驶场景的对比视频,标注决策点和预测轨迹,便于分析模型表现。
  • 开源资源支持:提供推理代码、预训练模型和配置文件,方便二次开发和研究。

 

Utilizar la ayuda

Orion 是一个面向自动驾驶开发者和研究者的开源框架,托管在 GitHub 上。以下是详细的使用指南,帮助用户快速部署、运行和开发。

Proceso de instalación

Orion 需要在支持 Python 的环境中运行,推荐使用 Linux 系统(如 Ubuntu 20.04)以确保兼容性。以下是详细安装步骤:

  1. Preparar el entorno
    确保系统已安装以下工具:

    • Python 3.8(官方推荐版本)。检查命令:
      python3 --version
      
    • Git。安装命令:
      sudo apt update
      sudo apt install git
      
    • Conda(用于创建虚拟环境)。若无 Conda,可从 Anaconda 官网 下载。
  2. Creación de un entorno virtual
    使用 Conda 创建并激活虚拟环境:

    conda create -n orion python=3.8 -y
    conda activate orion
    
  3. almacén de clones
    使用 Git 下载 Orion 源代码:

    git clone https://github.com/xiaomi-mlab/Orion.git
    cd Orion
    
  4. 安装 PyTorch
    官方推荐安装 PyTorch 2.4.1(支持 CUDA 11.8)。运行以下命令:

    pip install torch==2.4.1+cu118 torchvision==0.19.1+cu118 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
    
  5. 安装其他依赖
    安装项目所需的其他 Python 库:

    pip install -v -e .
    pip install -r requirements.txt
    

    en caso de que requirements.txt 中某些库安装失败,可尝试单独安装(如 transformersynumpy).

  6. 下载预训练模型
    Orion 使用外部预训练模型,包括:

    • 2D 语言模型权重(来源:Cara de abrazo).
    • 视觉编码器与投影器权重(来源:OmniDrive).
      下载并解压到指定目录:
    mkdir ckpts
    cd ckpts
    wget https://huggingface.co/exiawsh/pretrain_qformer/resolve/main/pretrain_qformer.pth
    wget https://github.com/NVlabs/OmniDrive/releases/download/v1.0/eva02_petr_proj.pth
    
  7. 准备数据集
    Orion 使用 Bench2Drive 数据集进行评估。用户需自行下载并准备数据,参考 Bench2Drive 数据准备文档。将数据集解压到项目目录,例如:

    unzip bench2drive.zip -d ./data
    
  8. Verificar la instalación
    运行推理脚本检查环境配置:

    ./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py ckpts/Orion.pth 1
    

    若无报错,说明安装成功。

Funciones principales

Orion 的核心功能是端到端自动驾驶推理与规划。以下是具体操作方法:

1. 运行开环评估

开环评估用于测试模型在固定数据集上的表现。操作步骤:

  • 确保数据集和模型权重已准备好。
  • 运行评估脚本:
    ./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py ckpts/Orion.pth 1
    
  • 若需启用 CoT(Chain-of-Thought)推理,运行:
    ./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3_cot.py ckpts/Orion.pth 1
    
  • La salida se guarda en el archivo output 目录,包括轨迹坐标和评估指标(如 L2 误差)。

2. 运行闭环评估

闭环评估模拟真实驾驶环境,需配合 CARLA 仿真器。操作步骤:

  • 安装 CARLA: Referencia Bench2Drive 评估工具文档 安装 CARLA 和评估工具。
  • 配置评估脚本:编辑评估脚本(如 eval.sh),设置以下参数:
    GPU_RANK=0
    TEAM_AGENT=orion
    TEAM_CONFIG=adzoo/orion/configs/orion_stage3_agent.py+ckpts/Orion.pth
    
  • 运行闭环评估:执行评估命令(具体命令参考 Bench2Drive 文档)。
  • 输出结果包括驾驶得分(DS)、成功率(SR)和可视化视频。

3. 可视化分析

Orion 支持生成驾驶场景的对比视频,展示模型决策和轨迹预测。操作步骤:

  • 运行可视化脚本:
    python visualize.py --data_path ./data/test --model_path ckpts/Orion.pth
    
  • 输出视频保存在 output/videos 目录,标注了红绿灯、障碍物和预测轨迹(绿色线条)。用户可对比 Orion 与其他方法(如 UniAD、VAD)的表现。

Función destacada Operación

Orion 的特色在于结合视觉语言模型和生成式规划,提供强大的场景推理和轨迹生成能力。以下是详细操作:

1. 场景推理与语言指令

Orion 的语言模型支持基于文本指令调整驾驶行为。例如,输入“在交叉路口减速慢行”。操作步骤:

  • 创建指令文件 commands.txt,写入指令:
    在交叉路口减速慢行
    
  • 运行推理脚本并指定指令文件:
    python inference.py --model_path ckpts/Orion.pth --command_file commands.txt
    
  • 输出结果会反映指令对轨迹的调整,保存在 output/trajectories.

2. 多模态轨迹生成

Orion 的生成式规划器支持多种轨迹模式(如加速、减速、转向)。用户可通过配置文件调整生成参数:

  • compilador configs/planner.yaml::
    trajectory_mode: multimodal
    max_acceleration: 2.0
    max_steering_angle: 30
    
  • 运行规划脚本:
    python planner.py --config configs/planner.yaml --model_path ckpts/Orion.pth
    
  • 输出轨迹保存在 output/trajectories,支持多条候选路径。

3. 端到端优化

Orion 支持视觉问答(VQA)和规划任务的统一优化。用户可通过以下步骤测试:

  • 配置推理脚本,启用 VQA 模式:
    python inference.py --model_path ckpts/Orion.pth --vqa_mode true
    
  • 输入测试问题(如“前方是否有行人?”),模型会返回语义答案和对应轨迹。

advertencia

  • requisitos de hardware:推理推荐使用 NVIDIA A100(32GB 显存)或更高配置 GPU。训练需更大显存(建议 80GB)。
  • 数据格式:输入数据需符合 Bench2Drive 格式(如 .jpgy.pcd),否则需预处理。
  • 模型权重:Orion 官方模型已发布(Cara de abrazo),但训练框架尚未开放。
  • 更新频率:定期检查 GitHub 仓库,获取最新代码和文档。

通过以上步骤,用户可快速部署 Orion,运行推理任务或进行算法开发。

 

escenario de aplicación

  1. 自动驾驶算法开发
    开发者可使用 Orion 测试端到端自动驾驶算法,优化复杂场景下的决策能力。开源代码和模型支持快速迭代。
  2. investigación académica
    研究者可基于 Orion 探索视觉语言模型在自动驾驶中的应用,分析推理与规划的协同效果,产出高质量论文。
  3. 仿真测试
    汽车制造商可将 Orion 集成到 CARLA 等仿真环境中,测试车辆在虚拟场景中的表现,降低道路测试成本。
  4. Educación y formación
    高校可将 Orion 用作教学工具,帮助学生理解自动驾驶原理,结合可视化视频提升实践能力。

 

CONTROL DE CALIDAD

  1. Orion 支持哪些数据集?
    目前支持 Bench2Drive 数据集,未来可能支持其他数据集(如 nuScenes)。用户需按官方格式准备数据。
  2. 如何解决推理速度慢的问题?
    CoT 推理较慢,可切换至标准推理模式(orion_stage3.py)。优化 GPU 性能或降低模型精度(如 fp16)也可提升速度。
  3. 闭环评估需要哪些工具?
    需安装 CARLA 仿真器和 Bench2Drive 评估工具,具体配置参考官方文档。
  4. Orion 是否支持实时驾驶?
    当前版本以离线推理为主,实时应用需进一步优化代码和硬件,建议关注官方更新。
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

ninguno
Sin comentarios...