Orion: открытый исходный код Xiaomi для комплексного планирования и обработки выводов для самодвижущихся автомобилей
Общее введение
Orion - это проект с открытым исходным кодом, разработанный Xiaomi Labs и направленный на создание сквозной технологии автономного вождения (E2E). Он решает проблему недостаточного обоснования причинно-следственных связей в сложных сценариях традиционных методов автономного вождения с помощью визуальных языковых моделей (VLM) и генеративных планировщиков. Orion объединяет долгосрочный исторический контекст, обоснование сценария вождения и точное предсказание траектории для значительного повышения точности принятия решений. Проект предоставляет код выводов, предварительно обученные модели и файлы конфигурации для поддержки разработчиков в проведении оценок в открытом и закрытом циклах на наборе данных Bench2Drive.Orion отлично работает в закрытом цикле тестов, с показателем Driving Score (DS) 77.74 и Success Rate (SR) 54.62%, что намного лучше, чем у сопоставимых методов. Он подходит для разработчиков, исследователей и предприятий в области автономного вождения для разработки алгоритмов и тестирования сценариев.

Список функций
- Обработка долгосрочного исторического контекста: С помощью модуля QT-Former извлекаются и интегрируются долгосрочные данные о поездке автомобиля, что позволяет получить более полную информацию о месте происшествия.
- Рассуждения по сценарию вождения: Анализ дорожной обстановки с помощью большой языковой модели (LLM) для создания логических инструкций по вождению.
- Точное предсказание траектории: Генеративный планировщик используется для генерации мультимодальных траекторий (например, ускорение, управление) на основе лингвистических команд для повышения точности планирования пути.
- Единая система оптимизации: Поддержка сквозной оптимизации визуальных вопросов и ответов (VQA) и задач планирования, преодоление разрыва между семантическими рассуждениями и результатами действий.
- Оценка открытого и закрытого контуров: Предоставляет сценарии оценки открытого цикла и конфигурации оценки закрытого цикла для поддержки тестирования набора данных Bench2Drive.
- Инструменты визуализации и анализа: Создавайте сравнительные видеоролики сценариев вождения, обозначая точки принятия решений и прогнозируемые траектории, чтобы легко проанализировать работу модели.
- Поддержка ресурсов с открытым исходным кодомКод для вывода, предварительно обученные модели и файлы конфигурации предоставляются для облегчения вторичной разработки и исследований.
Использование помощи
Orion - это фреймворк с открытым исходным кодом для разработчиков и исследователей самодвижущихся автомобилей, размещенный на GitHub. Ниже представлено подробное руководство по использованию, которое поможет пользователям быстро развернуть, запустить и разработать.
Процесс установки
Orion необходимо запускать в среде, поддерживающей Python, и для обеспечения совместимости рекомендуется использовать систему Linux (например, Ubuntu 20.04). Ниже приведены подробные шаги по установке:
- Подготовка среды
Убедитесь, что в вашей системе установлены следующие инструменты:- Python 3.8 (официально рекомендуемая версия). Проверьте команду:
python3 --version
- Команда Git. install:
sudo apt update sudo apt install git
- Conda (для создания виртуальных сред). Если Conda недоступна, вы можете загрузить ее с сайта Anaconda.
- Python 3.8 (официально рекомендуемая версия). Проверьте команду:
- Создание виртуальной среды
Используйте Conda для создания и активации виртуальной среды:conda create -n orion python=3.8 -y conda activate orion
- склад клонов
Загрузите исходный код Orion с помощью Git:git clone https://github.com/xiaomi-mlab/Orion.git cd Orion
- Установка 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
- Установка дополнительных зависимостей
Установите другие библиотеки Python, необходимые для вашего проекта:pip install -v -e . pip install -r requirements.txt
в случае, если
requirements.txt
Если некоторые из этих библиотек не работают, попробуйте установить их по отдельности (например.transformers
, иnumpy
). - Загрузите предварительно обученную модель
Orion использует внешние предварительно обученные модели, в том числе:- Весовые коэффициенты двухмерной языковой модели (источник:Обнимающееся лицо).
- Визуальный кодер и проектор весов (источник: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
- Подготовка набора данных
Для оценки Orion использует набор данных Bench2Drive. Пользователям необходимо загрузить и подготовить собственные данные, см. Документация по подготовке данных Bench2Drive. Извлеките набор данных в каталог проекта. например:unzip bench2drive.zip -d ./data
- Проверка установки
Запустите сценарий вывода, чтобы проверить конфигурацию окружения:./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py ckpts/Orion.pth 1
Если сообщений об ошибках нет, значит, установка прошла успешно.
Основные функции
Основная функция 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
- Вывод сохраняется в
output
Каталог, включающий координаты траектории и метрики оценки (например, ошибка L2).
2. Оперативная оценка замкнутого цикла
Оценка замкнутого цикла имитирует реальные условия вождения и требует использования симулятора CARLA. Операционная процедура:
- Установка CARLA: Справочник Документация по инструменту оценки Bench2Drive Установка CARLA и инструментов оценки.
- Настройка сценариев оценки: Отредактируйте сценарий оценки (например.
eval.sh
), установите следующие параметры:GPU_RANK=0 TEAM_AGENT=orion TEAM_CONFIG=adzoo/orion/configs/orion_stage3_agent.py+ckpts/Orion.pth
- Оперативная оценка замкнутого цикла: Выполните команды оценки (конкретные команды см. в документации Bench2Drive).
- Выходные данные включают в себя Driving Score (DS), Success Rate (SR) и видеоролики с визуализацией.
3. Визуальный анализ
Orion поддерживает создание сравнительных видеороликов сценариев движения, которые демонстрируют решения модели и прогнозы траектории. Оперативные шаги:
- Запустите сценарий визуализации:
python visualize.py --data_path ./data/test --model_path ckpts/Orion.pth
- Выходное видео сохраняется в
output/videos
Каталог, помеченный светофорами, препятствиями и предсказанными траекториями (зеленые линии). Пользователи могут сравнить производительность Orion с другими методами (например, UniAD, VAD).
Функциональное управление
В Orion используется комбинация визуального языкового моделирования и генеративного планирования, обеспечивающая мощные возможности по поиску сцен и созданию траекторий. Вот как это работает в деталях:
1. Сценарные рассуждения и словесные инструкции
Языковая модель Orion поддерживает адаптацию поведения водителя на основе текстовых команд. Например, введите "Сбавить скорость на перекрестках". Шаг за шагом:
- Создание командного файла
commands.txt
, команда записи:在交叉路口减速慢行
- Запускает сценарий вывода и указывает командный файл:
python inference.py --model_path ckpts/Orion.pth --command_file commands.txt
- Выходные данные будут отражать корректировку траектории командой, сохраненной в
output/trajectories
.
2. Мультимодальная генерация траекторий
Генеративный планировщик Orion поддерживает несколько режимов траектории (например, ускорение, замедление, управление). Параметры генерации могут быть настроены пользователем через конфигурационный файл:
- компилятор
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
- Введите тестовый вопрос (например, "Есть ли впереди пешеход?"). Модель возвращает семантический ответ и соответствующую траекторию.
предостережение
- требования к оборудованиюДля выводов рекомендуются графические процессоры NVIDIA A100 (32 ГБ ОЗУ) или выше. Для обучения требуется больший объем ОЗУ (рекомендуется 80 ГБ).
- формат данных: Входные данные должны быть в формате Bench2Drive (например.
.jpg
, и.pcd
), в противном случае требуется предварительная обработка. - вес модели: Выпущена официальная модель Ориона (Обнимающееся лицо), но учебная база еще не открыта.
- Частота обновления: Регулярно проверяйте репозитории GitHub на наличие последних версий кода и документации.
Выполнив эти шаги, пользователи смогут быстро развернуть Orion для выполнения задач по выводу или разработке алгоритмов.
сценарий применения
- Разработка алгоритмов автономного вождения
Разработчики могут использовать Orion для тестирования алгоритмов автономного вождения и оптимизации принятия решений в сложных сценариях. Открытый исходный код и модели поддерживают быструю итерацию. - научные исследования
На основе Orion исследователи могут изучить применение визуальных языковых моделей в автономном вождении, проанализировать синергетический эффект рассуждений и планирования, а также подготовить высококачественные статьи. - имитационное испытание
Автопроизводители могут интегрировать Orion в среды моделирования, такие как CARLA, для проверки характеристик автомобиля в виртуальных сценариях и снижения стоимости дорожных испытаний. - Образование и обучение
Колледжи и университеты могут использовать Orion в качестве учебного пособия, чтобы помочь студентам понять принципы автономного вождения и улучшить их практические навыки с помощью наглядных видеороликов.
QA
- Какие наборы данных поддерживает Orion?
В настоящее время поддерживается набор данных Bench2Drive, в будущем могут поддерживаться и другие наборы данных (например, nuScenes). Пользователям необходимо подготовить данные в официальном формате. - Как вы решаете проблему медленного мышления?
Рассуждения в режиме CoT происходят медленно, и их можно переключить в стандартный режим рассуждений (orion_stage3.py
). Оптимизация производительности GPU или снижение точности модели (например, fp16) также могут повысить скорость. - Какие инструменты необходимы для оценки замкнутого цикла?
Необходимо установить эмулятор CARLA и инструмент оценки Bench2Drive, подробная информация о конфигурации приведена в официальном документе. - Поддерживает ли Orion вождение в реальном времени?
Текущая версия основана на автономных рассуждениях, приложениям реального времени требуется дальнейшая оптимизация кода и аппаратного обеспечения, рекомендуется обратить внимание на официальное обновление.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...