В Intel с помощью сверточной нейросети обучили дрона летать в динамичной среде. Система тестируется как симулированном пространстве, так и в реальном. Результаты системы превосходят state-of-the-art подход и сравнимы с профессиональным пилотом по успешности, но отстают по скорости в полтора раза.
Одни из актуальных проблем при разработке дронов — динамически изменяющиеся среды, ненадежная оценка состояния и функционирование в режиме ресурсоемких операций. Предложенная система пытается решить эти проблемы. Она комбинирует в себе нейронную сеть с генерацией траекторий и методами контроля. Благодаря своей архитектуре, система способна преодолевать гоночные трассы с движущимися препятствиями на высокой скорости.
Что внутри дрона
В качестве данных для обучения системы были собраны снимки с камеры и характеристики положения и скорости дрона в момент, когда снимки были сделаны. CNN напрямую сопоставляет сырые изображения среды к направлению и скорости. На основе того, что выдает CNN, генерируется траектория минимального рывка. Контроллер дрона получает эту траекторию и направляет дрон согласно ей. Удается достичь того, что система работает в самом дроне, не требует глобальной оценки состояний, независима от типа дрона и местности.
Подход состоит из двух компонентов:
- Система перцепции, которая состоит из сверточной нейросети и предсказывает целевое направление и скорость по изображению местности;
- Система контроля, которая использует выход системы перцепции, чтобы сгенерировать оптимальную траекторию
Оценка работы системы
Сначала работа системы проверяется на контролируемом симуляторе. Затем система тестируется в реальной жизни. Исследователи сравнивают работу системы с текущим state-of-the-art подходом (VIO) и с человеком в качестве пилота дрона. Система осуществляет переход от симулированного пространства в реальное без потери в точности.
Результат работы системы сравним по успешности с профессиональным пилотом, но в полтора раза отстает с ним по времени.
Видеодемонстрация полета дронов, обученных на симуляциях: