Обучаем ДРОН АВТОНАВЕДЕНИЮ

Пошаговое руководство для начинающих по созданию простейшей системы автонаведения БПЛА. Разбираем весь путь — от сбора фотографий и разметки в CVAT до обучения модели YOLO, получения файла best.pt, установки нейросети на Raspberry Pi и подключения к полетному контроллеру.

Администратор

ПоделитьсяВКонтактеTelegramMAX
Обучаем ДРОН АВТОНАВЕДЕНИЮ

Обучаем дрон автонаведению. От фотографий до первого полета

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

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

Шаг 1. Собираем фотографии

Любая нейронная сеть начинается с данных.

Необходимо собрать фотографии объекта, который должен распознавать дрон.

  • квадрокоптер;
  • самолет;
  • автомобиль;
  • человек;
  • лодка;
  • антенна;
  • любое другое изделие.

Чем больше различных ракурсов, расстояний и условий съемки, тем лучше нейросеть научится распознавать объект.

Шаг 2. Размечаем изображения

Теперь фотографии необходимо объяснить нейронной сети.

Для этого используется бесплатная система CVAT.

Создается задача (Task), загружаются фотографии и создается класс объекта (Label), например Drone.

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

Шаг 3. Экспортируем датасет

После завершения разметки проект экспортируется в формате YOLO Dataset.

Теперь у нас есть готовый набор данных для обучения нейронной сети.

Шаг 4. Обучаем нейронную сеть

После того как датасет подготовлен, его необходимо использовать для обучения модели.

Сегодня существует множество способов обучения YOLO. Можно запускать обучение на собственном компьютере или воспользоваться специализированными библиотеками и сервисами. Одними из самых популярных являются Ultralytics YOLO, а также облачная платформа Roboflow, позволяющая начать работу без сложной настройки окружения.

В большинстве случаев процесс выглядит одинаково:

  1. Загрузить подготовленный датасет.
  2. Выбрать модель YOLO.
  3. Указать параметры обучения.
  4. Запустить процесс обучения.
  5. Дождаться его завершения.

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

После завершения обучения система сохранит несколько файлов. Самый важный из них:

best.pt

Это и есть обученная нейронная сеть.

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

Шаг 5. Подготавливаем Raspberry Pi

Теперь необходимо подготовить бортовой компьютер.

Для примера возьмем Raspberry Pi.

На него устанавливаются:

  • Linux;
  • библиотека YOLO;
  • программа обнаружения объектов;
  • файл best.pt.

После этого Raspberry Pi становится системой компьютерного зрения.

Его задача — получать изображение с камеры, запускать нейронную сеть и определять положение объекта на каждом кадре.

Шаг 6. Устанавливаем систему на дрон

Далее Raspberry Pi подключается к полетному контроллеру.

Очень важно понимать, что Raspberry Pi не управляет двигателями.

Его задача — анализировать изображение и определять положение обнаруженной цели.

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

Для совместной работы полетный контроллер настраивается на прием команд от Raspberry Pi.

Например, если нейронная сеть определила, что цель находится левее центра изображения, Raspberry Pi передает полетному контроллеру команду скорректировать курс влево. Если цель сместилась вверх, вниз или вправо, передаются соответствующие команды для изменения направления полета.

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

Важно: Raspberry Pi отвечает за поиск и сопровождение цели, а полетный контроллер — за управление полетом. Именно совместная работа этих двух устройств позволяет дрону автоматически следовать за обнаруженным объектом.

Как работает система

После включения происходит непрерывный цикл.

Камера передает изображение на Raspberry Pi.

Нейронная сеть YOLO анализирует каждый кадр и определяет положение объекта.

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

Полетный контроллер корректирует направление полета.

Через доли секунды камера получает новый кадр, и весь процесс повторяется снова.

Фактически дрон десятки раз в секунду отвечает на один вопрос:

«Где сейчас находится цель относительно центра изображения?»

Если цель смещается, полетный контроллер корректирует движение, удерживая ее в центре кадра. Именно так работает простейшая система автоматического наведения.

Что получилось в итоге

  1. Собрать фотографии.
  2. Разметить их в CVAT.
  3. Обучить нейронную сеть YOLO.
  4. Получить файл best.pt.
  5. Установить его на Raspberry Pi.
  6. Подключить Raspberry Pi к полетному контроллеру.
  7. Получить систему, которая обнаруживает цель и автоматически удерживает ее в центре изображения.

А как устроены настоящие боевые системы?

Конечно, настоящая боевая система значительно сложнее. На каждом этапе происходит развитие технологии: собираются не сотни, а десятки или сотни тысяч изображений для обучения; используются более совершенные модели распознавания; устанавливаются более производительные бортовые компьютеры; применяются высокоскоростные камеры и специализированные вычислительные модули. Кроме того, совершенствуется алгоритм взаимодействия с полетным контроллером — наведение становится быстрее, плавнее и устойчивее даже при резких маневрах цели.

Но принцип работы остается тем же самым: увидеть цель, определить ее положение и передать команду системе управления дроном.

ПоделитьсяВКонтактеTelegramMAX

По теме: Искусственный интеллект, Компьютерное зрение

Ещё в разделе «Технологии»

Все материалы