Исследование возможностей компьютерного зрения в автономных системах управления беспилотных летательных аппаратов

Автор: Карелин Е.А., Любащенко Т.Д., Палилов М.Р., Жиглова Н.С., Пачин А.В.

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Технологии радиосвязи, радиовещания и телевидения

Статья в выпуске: 1 (85) т.22, 2024 года.

Бесплатный доступ

Развитие современных аппаратных и программных средств привело к стремительному распространению применения беспилотных аппаратов, в первую очередь летательных. Одним из перспективных направлений повышения эффективности подобных платформ является разработка для них систем автономного управления, исключающих участие человека-оператора. В статье представлены результаты исследования, целью которого является изучение возможности построения элементов автоматической системы управления движением на основе компьютерного зрения для беспилотных летательных аппаратов. Авторами использована методология сравнительного анализа для обоснования преимуществ одного из наиболее популярных инструментов - YOLO и SSD. Также выполнен сбор данных для обучения выбранной модели и ее тестирование в разных условиях. Описываются последовательность создания обучающего набора для эффективного обучения модели, а также результаты тестирования модели на видеоизображениях, полученных с камеры беспилотного летательного аппарата в различных условиях. Результаты тестирования подтверждают, что модель YOLOv8n пригодна для обнаружения объектов на борту беспилотного летательного аппарата с аппаратной платформой в виде одноплатного компьютера Raspberry Pi 4 Model B. Точность обнаружения объектов составила 80-90% при энергопотреблениии 15-25 Ватт.

Еще

Беспилотный летательный аппарат, компьютерное зрение, yolo, машинное обучение, сверточная сеть, нейронная сеть, коптер, дрон

Короткий адрес: https://sciup.org/140307951

IDR: 140307951   |   DOI: 10.18469/ikt.2024.22.1.14

Текст научной статьи Исследование возможностей компьютерного зрения в автономных системах управления беспилотных летательных аппаратов

Мониторинг состояния удаленных объектов играет важную роль в повышении эффективности различных сфер человеческой деятельности. Получение точной и своевременной информации о параметрах объектов и их изменениях позволяет поддерживать объекты или производственные процессы в оптимальном состоянии. Однако постоянное присутствие человека на таких объектах может быть нежелательным или экономически нецелесообразным.

В связи с этим возникает необходимость в дистанционном, автоматическом или диспетчерском управлении и контроле. Эти методы позволяют удаленно мониторить состояние объекта, минимизируя необходимость физического присутствия человека на месте.

Однако они не всегда охватывают все возникающие ситуации, особенно те, которые требуют оперативной локализации источников проблемы.

Для проведения мониторинга с учетом обозначенных условий, целесообразно применение беспилотного летательного аппарата (БПЛА). Данный подход имеет ряд неоспоримых преимуществ [6; 10]:

  • 1.    БПЛА позволяет осуществлять мониторинг объектов, находящихся на значительном расстоянии от оператора, без необходимости непосредственного присутствия человека рядом с объектом. Наблюдение можно производить при разных условиях, в том числе в труднодоступных местах.

  • 2.    Применение БПЛА позволяет сократить расходы на обследование инфраструктуры в сравнении с классическими методами с использованием персонала. Особенно это актуально в удаленных районах и в опасных средах, например, при проверке состояния нефтяных резервуаров или трубопроводов.

  • 3.    БПЛА обладают гибкостью и масштабируемостью при выполнении задач мониторинга. Они могут быть настроены для выполнения различных типов заданий, включая фото- и видеосъемку, тепловизионную съемку, измерение параметров окружающей среды и т.д. Также могут применяться в комбинации с другими технологиями, например, с использованием датчиков или систем искусственного интеллекта для анализа полученных данных.

  • 4.    БПЛА могут обеспечить быстрый сбор данных и высокую точность. Они могут осуществлять регулярные и систематические облеты, что позволяет получать актуальную информацию в режиме реального времени. Это может помочь предотвратить аварии, своевременно выявить

проблемы и повысить эффективность работы предприятий.

Таким образом, целью данной работы является изучение возможности построения элементов автоматической системы управления движением на основе компьютерного зрения для беспилотных летательных аппаратов.

В рамках достижения поставленной цели решается ряд задач:

  • 1.    Обзор существующих методов детектирования объектов с помощью автоматизированных систем на основе компьютерного зрения для применения на борту.

  • 2.    Проведение экспериментов для оценки эффективности предложенного метода детектирования.

  • 3.    Анализ результатов экспериментов.

Обзор существующих методов обнаружения объектов

На данный момент существует несколько наиболее популярных решений по распознаванию объектов в условиях ограниченного количества вычислительных мощностей: YOLO и SSD [1–4; 7–9].

YOLO (You Only Look Once) – это модель обнаружения объектов в реальном времени, разработанная Джозефом Редмоном, Сантошем Дивика-рантом, Россом Жирардом, Абхиджитом Сингхом и Али Голамом в 2015 году [7]. YOLO – это сверточная нейронная сеть, которая берет изображение в качестве входных данных и выводит координаты и классы обнаруженных объектов (рисунок 1). YOLO отличается от других алгоритмов тем, что использует единую сверточную сеть для обнаружения всех объектов в изображении, а не несколько сетей для обнаружения разных объектов. Это делает YOLO очень быстрой и эффективной моделью.

Архитектура YOLO состоит из двух основных частей:

  • 1.    Сеть сверточных нейронных слоев (CNN): извлекает признаки из изображения.

  • 2.    Полносвязный слой (FC): классифицирует признаки и предсказывает ограничивающие рамки объектов.

Модель разбивает изображение на сетку ячеек и предсказывает для каждой ячейки:

  • –    класс объекта (например, человек, автомобиль, собака);

  • –    ограничивающую рамку объекта;

  • –    вероятность того, что в ячейке находится объект.

Преимущества YOLO [1–4; 7–9]:

  • 1.    Быстрая модель обнаружения объектов.

  • 2.    Является в достаточной степени точной моделью для решения задач автономного управления. YOLOv8 может достигать показателя mAP (mean Average Precision) 56,8% на датасете COCO.

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

Версии модели (YOLOv8) могут развивать скорость обработки изображений до 160 кадров в секунду.

Недостатки:

YOLOv8 может быть менее точной для обнаружения мелких объектов, чем некоторые другие алгоритмы.

SSD (Single Shot MultiBox Detector) – это алгоритм обнаружения объектов, который использует сверточную нейронную сеть для одновременного определения местоположения и класса нескольких объектов на изображении. Он был разработан в 2015 году Вэем Лю, Дяолином Ван и Пьером Серманом [4].

SSD основан на глубокой сверточной нейронной сети VGG-16. Однако, в отличие от VGG-16, которая классифицирует целое изображение, SSD использует сверточные слои для извлечения признаков из различных частей изображения. Эти признаки затем используются для прогнозирования местоположения и класса объектов на изображении.

Преимущества SSD [1–4; 9]:

  • 1.    Может обрабатывать изображения со скоростью до 50 кадров в секунду, что делает его пригодным для использования в реальном времени.

  • 2.    Достигает точности обнаружения объектов на уровне 79,8% на наборе данных PASCAL VOC

    2007, что делает его одним из самых точных алгоритмов обнаружения объектов.

  • 3.    Может обнаруживать несколько объектов на изображении одновременно. Это делает его пригодным для использования в задачах, где необходимо обнаружить несколько объектов, таких как пешеходы или автомобили.

Недостатки:

  • 1.    SSD не поддерживает столько предварительно обученных моделей, сколько поддерживает YOLOv8.

  • 2.    Трудозатраты на настройку параметров SSD для конкретных задач превышают таковые для YOLOv8.

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

Несмотря на то, что модель SSD обладает преимуществом в плане точности обнаружения мелких объектов в кадре, в задаче автономного управления движением БПЛА, для привязки к электронной карте планируется использовать крупные, хорошо различимые на местности объекты.

Таким образом, из представленных вариантов моделей было принято решение использовать YOLO. Это обусловлено ее преимуществом в скорости обработки данных и точности. Стоит также отметить и ее высокий уровень обеспечения пользователя документацией по использованию и простоту применения.

Рисунок 1. Структура модели YOLOv8 [5]

Платформа обработки

В качестве целевой платформы для обработки видеопотока используется Raspberry Pi 4 Model B [16]. Raspberry является одним из самых популярных и доступных решений для обработки данных. Такое решение обусловлено несколькими факторами:

  • –    наличие большого и активного сообщества разработчиков и пользователей, что обеспечивает доступ к обширной документации, примерам кода и поддержке;

  • –    оснащение четырехъядерным процессором ARM Cortex-A72 с тактовой частотой 1,5 ГГц, что обеспечивает достаточную производительность для обработки видеопотоков в реальном времени;

  • –    небольшая и легкая платформа, что делает ее идеальной для использования на борту БПЛА. Низкое энергопотребление Raspberry Pi также позволяет БПЛА работать дольше без необходимости подзарядки;

  • –    поддержка широкого спектра операционных систем и программного обеспечения, включая Raspbian, Ubuntu и т.д.;

    – соотношение цены и производительности делает применение платформы доступным для решения широкого спектра задач, в том числе с применением нейронных сетей для обработки данных с достаточно хорошим результатом.

Фреймворки

Для обучения модели был использован компьютер на базе ОС Windows 10 с процессором AMD Ryzen 5900X и видеокартой NVIDIA GeForce RTX 3060Ti на 8 Гигабайт с установленными Python 3.10, PyTorch 2.1.2. На данный момент, YOLOv8 поддерживает, согласно официальной документации, запуск лишь с применением PyTorch не меньше 1.8.0 [15; 19].

На Raspberry Pi 4 Model B были установлены: Python 3.10, PyTorch 2.1.2, OpenCV 4.9.0.80 и операционная система Raspberry Pi OS (64-Bit) для модели 4B [14; 17].

Обучение модели

Зачастую, модели для обнаружения объектов обучаются на крупных датасетах наподобие MS COCO [11], однако, когда дело касается детектирования определенных вещей, найти подходящие данные оказывается не так просто.

Для нашей задачи был собран собственный да-тасет из 3000 снимков объекта, которые не встречаются в датасетах, на которых предобучалась YOLO [18]. А также желанием протестировать способность модели достичь высокой точности на сравнительно небольшом наборе данных.

Изображения были получены с двух камер, в том числе камеры квадрокоптера GEOSCAN Пионер Мини, при разных условиях освещенности и с разных ракурсов [12]. Разрешение камеры Пионер Мини – 640x480 пикселей. А также с камеры смартфона Redmi Note 11 Pro. Разрешение камеры смартфона – 3840x2160, разрешение изображений – 640x480. Примеры изображения представлены на рисунке 2. Некоторые изображения в датасете могут содержать несколько объ- ектов на одном снимке.

Рисунок 2. Пример изображений из датасета

Результаты экспериментов

Испытания проводились в 2 этапа, первый – проверка модели на видео, кадры из которого участвовали в обучении, а также на видео, до этого в обучении не использовавшемся.

Второй этап – проверка модели на тех же материалах, но на Raspberry Pi.

Первый этап. Во время проведения испытаний модель показала высокую точность при обнаружении объектов. Как и ожидалось, модель смогла распознать объекты на кадрах, участвовавших в обучении с вероятностью более 84% (рисунок 3). Также несмотря на то, что в недостатках YOLO присутствует низкая точность обнаружения мелких объектов, успешное обнаружение происходило при пиксельном размере объекта 32x32 пикселя. Стоит отметить, что обнаружение происходило даже в тех случаях, когда поверх объекта находились элементы, затрудняющие обнаружение (рисунок 4).

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

Рисунок 3. Успешно определенные объекты на видео, участвовавшем в обучении

Рисунок 4. Результат распознавания объекта

Рисунок 5. Успешно определенные объекты на видео, не участвовавшем в обучении

Рисунок 6. Неопределенные объекты на видео

Второй этап. Запуск модели на Raspberry Pi показал тот же результат, что и у модели, запущенной на персональном компьютере. Она с высокой точностью определила объекты на данных, участвовавших в обучении (рисунок 7), в том числе с помехой в виде наслоения элементов поверх

(рисунок 7). Также с высокой точностью успешно были обнаружены и объекты с кадров, не участвовавших в процессе обучения (рисунок 8).

Полученные результаты показывают, что платформа Raspberry Pi 4 Model B способна осуществлять обнаружение объектов с применением модели YOLOv8n.

Рисунок 7. Успешное обнаружение объекта на кадре, участвовавшем в обучении на Raspberry

Рисунок 8. Успешное обнаружение объекта на кадре, не участвовавшем в обучении на Raspberry

Энергопотребление

Одним из самых важных аспектов бортового оснащения коптера является энергопотребление, так, зная параметры Raspberry Pi 4 Model B и усредненные значения для одной из самых популярных моделей квадрокоптеров по своим комплектующим (рисунок 9, таблица 1), можно вычислить влияние Raspberry Pi 4 Model B на длительность полета дрона.

Таблица 1. Комплектующие БПЛА

Наименование модуля

Количество на борту

Регулятор оборотов Esc EMAX BLHeli 20A

4

Контроллер полета Pixhawk 2.4.8

1

GPS модуль M8N GPS

1

Радиотелеметрия 3DR 433 МГц

1

Модуль наложения телеметрии MINIOSD

1

Бесщеточный двигатель DJI 2212 920KV

4

Видеопередатчик VTX5848 600мВт 5.8 ГГц

1

Напряжение аккумулятора такого коптера составляет 15 Вольт, сила тока в момент полета, в среднем, составляет от 10 до 15 Ампер. Таким образом, мощность коптера в полете составляет около 150-225 Ватт.

Рисунок 9. Модель коптера, используемая для эксперимента [13]

Напряжение Raspberry Pi 4 Model B составляет 5 Вольт при силе тока в 3 Ампера. Таким образом, мощность в момент нагрузки будет составлять 15 Ватт. Что примерно составляет менее одной десятой части от энергопотребления дрона.

Из вышеизложенного можно сделать вывод: с учетом небольшого веса Raspberry (25 Грамм) и максимальной нагрузки по электропитанию, влияние на энергопотребление можно считать незначительным [16].

Заключение

В ходе исследования проведен сравнительный анализ наиболее популярных из существующих решений для обнаружения объектов на основе компьютерного зрения. Оценка достоверности распознавания и энергопотребления позволяет сделать заключение о том, что применение данного одноплатного компьютера целесообразно для осуществления анализа видеоизображений на борту БПЛА с применением нейросетевой модели YOLOv8n. Научная новизна полученных результатов заключается в том, что, в отличие от существующих решений, предлагается реализовать отдельные элементы автоматической системы управления БПЛА, использующей технологии компьютерного зрения, без задействования специальных нейропроцессоров, при этом обеспечивается степень точности распознавания не менее 84% и невысокое энергопотребление. Наличие автоматической системы управления позволит, в том числе, реализовать алгоритмы роевого интеллекта и выполнение полетных заданий без применения глобальных навигационных спутниковых систем. Практическая значимость полученных результатов заключается в существенном сокращении затрат на выполнение задач БПЛА без участия человека-оператора, а также сокращение стоимости системы управления за счет применения неспециализированного одноплатного компьютера в качестве аппаратной платформы для автоматической системы управления.

Список литературы Исследование возможностей компьютерного зрения в автономных системах управления беспилотных летательных аппаратов

  • Practical comparation of the accuracy and speed of YOLO, SSD and Faster RCNN for drone detection / S.M. Alkentar [et al.] // Journal of Engineering. 2021. Vol. 27, no. 8. P. 19–31. DOI: 10.31026/j.eng.2021.08.02
  • Comparison between YOLO and SSD MobileNet for object detection in a surveillance drone / V. Choudhari [et al.]. URL: https://www.researchgate.net/publication/355336797_Comparison_between_YOLO_and_SSD_MobileNet_for_Object_Detection_in_a_Surveillance_Drone (дата обращения: 01.06.2024).
  • Agricultural greenhouses detection in highresolution satellite images based on convolutional neural networks: comparison of faster R-CNN, YOLO v3 and SSD / M. Li [et al.] // Sensors. 2020. Vol. 20, no. 17. URL: https://www.scihub.ru/10.3390/s20174938 (дата обращения: 01.06.2024).
  • Soylu E., Soylu T. A performance comparison of YOLOv8 models for traffic sign detection in the Robotaxi-full scale autonomous vehicle competition // Multimedia Tools and Applications. 2024. Vol. 83. P. 25005–25035. DOI: 10.1007/s11042-023-16451-1
  • PP-YOLO: An effective and efficient implementation of object detector / X. Long [et al.]. URL: https://www.researchgate.net/publication/343178810_PP-YOLO_An_Effective_and_Efficient_Implementation_of_Object_Detector (дата обращения: 05.06.2024).
  • A review on deep learning in UAV remote sensing / L.P. Osco [et al.] // International Journal of Applied Earth Observation and Geoinformation. URL: https://www.sci-hub.ru/10.1016/j.jag.2021.102456 (дата обращения: 05.06.2024).
  • You only look once: Unified, real-time object detection / R. Joseph [et al.] // IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, 2015. P. 779–788.
  • Selcuk B., Serif T. A comparison of YOLOV5 and YOLOV8 in the context of mobile UI detection // Lecture Notes in Computer Science. 2023. Vol. 13977. P. 161–174. DOI: 10.1007/978-3-031-39764-6_11
  • Comparative analysis of neural network models performance on low-power devices for a real-time object detection task / A. Zagitov [et al.] // Journal Computer Optics. 2024. Vol. 48, no. 2. P. 242–252. DOI: 10.18287/2412-6179-CO-1343
  • A review of unmanned aerial vehicle low-altitude remote sensing (UAV-LARS) use in agricultural monitoring in China / H. Zhang [et al.] // Remote Sensing. 2021. Vol. 13, no. 6. P. 1221. URL: https://doi.org/10.3390/rs13061221 (дата обращения: 05.06.2024).
  • COCO – Common Objects in Context. URL: https://cocodataset.org/#home (дата обращения: 18.02.2024).
  • Квадракоптеры для школ «Пионер Мини» – ГК «Геоскан». URL: https://www.geoscan.ru/ru/products/pioneer/mini (дата обращения: 18.02.2024).
  • Комплект: F450 (E305) ARF KIT+NAZA-M V2+GPS+Landing Skid+PMU v2+LED. URL: https://www.djimsk.ru/catalog/products/components/flame_wheel_arf_kit/komplekt_f450_e305_arf_kit_naza_m_v2_gps_landing_skid_pmu_v2_led.html (дата обращения: 18.02.2024).
  • GitHub – opencv/opencv: Open Source Computer Vision Library. URL: https://github.com/opencv/opencv?ysclid=lsqmv32jem25767816 (дата обращения: 18.02.2024).
  • GitHub – pytorch/ pytorch: Tensors and Dinamic Neural Networks in Python. URL: https://github.com/pytorch/pytorch?ysclid=lsqmug3hgs789690537 (дата обращения: 20.04.2024).
  • Buy a Raspberry Pi 4 Model B – Raspberry Pi. URL: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?parent-baobab-id=lsqmt1h-7lk (дата обращения: 20.04.2024).
  • Raspberry Pi OS – Raspberry Pi. URL: https://www.raspberrypi.com/software/ (дата обращения: 25.05.2024).
  • Обзор наборов данных – Ultralytics YOLO Docs. URL: https://docs.ultralytics.com/ru/datasets/ (дата обращения: 25.05.2024).
  • GitHub – Ultralytics. URL: https://github.com/ultralytics/ultralytics (дата обращения: 28.05.2024).
Еще
Статья научная