Данный проект представляет собой разработку алгоритма для имитационного соревнования «AD Chauffeur Cup» в рамках 2021 China (Shenyang) Intelligent Connected Vehicles Conference (CIVC). Алгоритм был разработан командой Северо-Восточного университета и занял второе место на финальном этапе конкурса. Проект включает в себя компоненты восприятия, принятия решений и управления, реализованные на языке Python.
Примечание: В настоящее время платформа соревнований закрыта, и её невозможно использовать. Можно подать заявку на использование платформы на официальном сайте AD Chauffeur и перенести часть кода в новую среду имитации.
Проект выражает благодарность организаторам CIVC и платформе AD Chauffeur за предоставленную возможность участия в соревнованиях.
Ссылки на официальные сайты:
Также проект использует алгоритм YOLOX для обнаружения объектов, разработанный компанией Megvii. Модель YOLOX была предварительно обучена на наборе данных COCO и показала хорошие результаты в среде имитации.
Ссылка на открытый исходный код YOLOX: https://github.com/Megvii-BaseDetection/YOLOX
Ссылка на статью YOLOX: https://arxiv.org/abs/2107.08430
В проекте представлены две демонстрации работы алгоритма:
Обгон на высокой скорости: изображение показывает, как автомобиль успешно обгоняет другие транспортные средства.
Пример обгона: изображение демонстрирует процесс обгона другого автомобиля.
Представлено изображение с результатами предварительного этапа соревнований.
Представлено изображение с результатами финального этапа соревнований.
Визуальное измерение расстояния с использованием модели YOLOX от Megvii для обнаружения препятствий и определения их положения относительно полосы движения.
Определение положения препятствия на полосе движения на основе отношения между точкой и треугольником.
Идентификация ближайших препятствий на соседних полосах движения для принятия решений.
Обработка данных измерения расстояния для сглаживания нестабильности, характерной для моделей глубокого обучения.
Раздельное управление по осям с использованием сегментированного ПИД-регулирования.
Использование положения линии дорожной разметки для улучшения прогнозирования.
Реализация различных состояний автомобиля: следование, обгон и ускорение, с возможностью бесшовного перехода между ними.
Аппаратное обеспечение: 8-ядерный процессор Intel(R) Core(TM) i7-6700K @ 4.00 ГГц и видеокарта NVIDIA GTX 1080.
Операционная система: Ubuntu 18.04.
Программное обеспечение: Python 3.7.2.
├── ADCPlatform: интерфейс к открытой платформе имитации соревнований.
|
├── control: модуль с алгоритмами управления.
|
├── images: изображения, демонстрирующие работу алгоритма.
|
├── initial: параметры инициализации алгоритмов и датчиков.
|
├── perception: модуль восприятия с кодом YOLOX и скриптами для загрузки предварительно обученных моделей.
|
├── planning: модуль планирования и принятия решений.
|
├── sensor: код, реализующий датчики автомобиля.
|
└── yolox: папка с библиотеками YOLOX.
|
└── requirements.txt: зависимости проекта.
|
└── main.py: основной файл запуска проекта.
Примечание: Платформа соревнований в настоящее время недоступна. Для запуска проекта необходимо обратиться к официальному сайту AD Chauffeur для получения доступа к новой платформе имитации и внести соответствующие изменения в код.
Шаг 1. Скачайте исходный код проекта:
git clone git@gitee.com:icvrc2021-neu/icvrcautonomous-driving.git
cd ./icvrcautonomous-driving
Шаг 2. Перейдите в папку ./perception/pretrainedmodel
и запустите скрипт для скачивания предварительно обученной модели YOLOX (по умолчанию используется модель yolox_l
):
cd ./perception/pretrainedmodel
bash DownloadModel.sh
cd ../..
Шаг 3. Установите зависимости Python:
pip install -r requirements.txt
Шаг 4. Измените данные для входа в файле main.py
:
# Строки 27–32: измените значения для сервера, имени пользователя и пароля.
Шаг 5. Запустите проект после входа на платформу AD Chauffeur через веб-интерфейс:
python main.py
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )