Автомобили и велосипеды научили дроны летать в городе

Инженеры разработали нейросетевой алгоритм для дронов, позволяющий им летать в сложной обстановке, например, городе, опираясь только на изображение с камеры. Разработчики обучили дрон не вылетать за пределы дороги и избегать столкновений с препятствиями, опираясь на массив записей поездок на автомобилях и велосипедах, сообщается в пресс-релизе Цюрихского университета. Исходный код алгоритма, датасет и натренированная модель доступны на сайте университета.

Практически все дроны используют для навигации сигналы GPS или ГЛОНАСС. Этого достаточно для автоматических полетов на относительно большой высоте, но при полетах в городе сигналов от спутников недостаточно. В таких условиях дрону нужно не только знать свое примерное расположение, но и избегать столкновений со статичными и двигающимися объектами, например, пешеходами или автомобилями. Помимо этого, сигнал спутниковых систем может быть недоступен в помещениях.

Исследователи под руководством Давиде Скарамузза (Davide Scaramuzza) из Цюрихского университета разработали нейросетевой алгоритм DroNet для автономной навигации дронов, использующий только изображения с камеры. Разработчики взяли за основу восьмислойную остаточную сеть ResNet-8 и модифицировали ее. Полученная сеть состоит из восьми слоев и принимает на входе черно-белое (с градациями серого) изображение с разрешением 200 на 200 пикселей. На выходе нейросеть выдает два параметра: угол поворота относительно текущей траектории и вероятность столкновения. Исходя из вероятности столкновения рассчитывается скорость движения.

Для обучения нейросети навыкам передвижения по городским дорогам инженеры использовали общедоступный датасет Udacity, содержащий более 70 тысяч изображений из поездок автомобилей. Помимо этого исследователи создали датасет для расчета вероятности столкновения с объектом (автомобилем, пешеходом или другим) от расстояния до него. Для этого они ездили по городу на велосипеде с закрепленной на руле камерой. После этого исследователи разметили датасет, присвоив кадрам, снятым далеко от объекта, низкую вероятность столкновения (0), а тем, которые были сняты вплотную к объекту — высокую вероятность (1).

После тренировки инженеры протестировали алгоритм на коммерчески доступном квадрокоптере, подключенном к компьютеру через Wi-Fi. Нейросеть на компьютере получала изображение с камеры, анализировала его и возвращала на дрон команды управления. Исследователи показали, что дрон смог без столкновений перемещаться по дорогам, поворачивать на них и избегать столкновений с препятствиями.

Интересно, что изображения из датасетов были сняты на высоте около полутора метров, но дрон смог практически с такой же эффективностью передвигаться и избегать столкновений и при полете на высоте пяти метров. Помимо этого разработчики протестировали работу в условиях, совсем непохожих на данные из тренировочного набора данных. Выяснилось, что дрон может самостоятельно передвигаться в коридорах или больших помещениях и также избегать столкновений с людьми в них.

Исследователи отмечают, что разработанный ими алгоритм избегания столкновений лучше применять в паре с продвинутым планировщиком маршрута. Разработчики предоставили все данные исследований другим исследователям, которые могут воспользоваться наработками в своих проектах. Исходный код DroNet и натренированная модель опубликованы на GitHub, а созданный инженерами датасет и использованные во время испытаний веса для алгоритма доступны на сайте университета.

В прошлом году канадская компания Drone Delivery Canada объявила о разработке похожей системы визуальной навигации для дронов. Технические подробности разработки не раскрывались, но известно, что она предназначается для навигации без GPS во время дальних полетов.

Григорий Копиев