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

Абирами Вина

4 мин. чтения

18 апреля 2025 г.

Узнайте, как создавать приложения для дронов на базе искусственного интеллекта с помощью Ultralytics YOLO11, позволяющего в реальном времени обнаруживать объекты и решать задачи компьютерного зрения на базе дронов.

Покупки в магазине и онлайн-покупки могут показаться похожими, но они зависят от разной логистики. Магазины нуждаются в пополнении запасов на полках, в то время как онлайн-заказы зависят от доставки до дверей. Благодаря технологическому прогрессу оба вида шопинга меняются параллельно.

Например, серьезные изменения происходят в сфере доставки. Беспилотники с искусственным интеллектом меняют способы доставки товаров в наши дома. Ожидается, что в ближайшее десятилетие эти "умные" дроны будут выполнять около 808 миллионов доставок, превратив небо в новейший маршрут доставки для повседневной торговли.

Для навигации и маневрирования вокруг препятствий беспилотные летательные аппараты используют искусственный интеллект (ИИ) и компьютерное зрение- подобласть ИИ, которая используется для анализа визуальных данных. Модели компьютерного зрения, такие как Ultralytics YOLO11, помогают дронам обнаруживать и отслеживать объекты в режиме реального времени, что позволяет им лучше понимать окружающую среду и взаимодействовать с ней.

Рис. 1. Дрон-доставщик везет посылку к месту назначения.

Такие компании, как Meituan и DJI, уже внедряют компьютерное зрение в свои беспилотники. На самом деле, быстрое внедрение дронов в различные отрасли привело к тому, что к 2031 году рынок дронов с искусственным интеллектом вырастет до 206,9 миллиарда долларов. 

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

Использование Ultralytics YOLO11 на беспилотниках для обнаружения домов

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

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

Создание искусственной съемки с беспилотника с помощью Google Earth Studio

Google Earth Studio - это веб-инструмент для анимации, с помощью которого пользователи могут создавать неподвижные и анимированные материалы, используя спутниковые и 3D-снимки Google Earth. Мы можем использовать его для создания реалистичных воздушных кадров.

Первым делом откройте Google Earth Studio и создайте проект, как показано ниже. 

Для входа в систему вам понадобится учетная запись Google.

Рис. 2. Создание проекта в Google Earth Studio.

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

Рис. 3. Выбор местоположения с помощью Google Earth Studio.

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

Рис. 4. Установка первого кадра с помощью синих бриллиантов.

Далее мы можем выбрать последний кадр, чтобы определить место назначения дрона. Это поможет нам создать эффект движения для съемок с дрона. Для этого передвиньте полоску (выделена ниже) вправо на определенное время, чтобы создать эффект движения для съемки с дрона. И снова используйте синие бриллианты, чтобы установить последнюю точку.

Рис. 5. Установка последнего кадра путем перемещения линейки.

Наконец, вы можете сохранить этот проект и отрендерить его, нажав на красную кнопку "Render" в правом верхнем углу страницы. В результате вы получите конечный видеоматериал, успешно создав искусственную видеосъемку с беспилотника.

Рис. 6. Рендеринг конечного выходного видео.

Как маркировать данные беспилотника?

Теперь, когда мы создали искусственную видеозапись с дрона, следующий шаг - пометить или аннотировать дома на ней. Также нам нужно будет разделить отдельные кадры видео. 

Чтобы начать работу, мы установим LabelImg. LabelImg - это инструмент для маркировки изображений с открытым исходным кодом. Вы можете установить его прямо из терминала с помощью установщика пакетов pip, выполнив следующую команду: "pip install labelImg".

После установки вы можете запустить инструмент с помощью команды 'labelImg' в терминале или командной строке. В результате вы попадете на страницу, показанную ниже.

Рис. 7. Интерфейс инструмента LabelImg.

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

Вы можете использовать следующую команду терминала для разделения каждого кадра видеозаписи с дрона:

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

Рис. 8. Пример сохранения аннотированных изображений.

Рабочий процесс обучения модели YOLO11

Прежде чем приступить к обучению YOLO11, упорядочим наши изображения и метки. Начните с создания двух папок: одна называется "train", другая - "valid". Разделите изображения между этими папками. Внутри каждой из них создайте отдельные подпапки для изображений и соответствующих им файлов меток (в текстовом формате), как показано ниже.

Рис. 9. Пример создания папок с изображениями и метками.

Затем мы можем начать обучение модели YOLO11 следующим образом:

  • Шаг 1: Установите пакет Ultralytics Python. Это можно сделать, выполнив команду "pip install ultralytics" в терминале. Если у вас возникнут проблемы с установкой, ознакомьтесь с нашим руководством по устранению неполадок, чтобы найти советы и рекомендации, которые помогут вам их решить.
  • Шаг 2: После успешной установки пакета создайте файл с именем 'data.yaml'. Это файл конфигурации, который необходим для обучения модели. В файл data.yaml включите следующую информацию: путь к обучающему набору данных, путь к проверяемому набору данных, количество классов (nc) и список имен классов (names), как показано ниже.
Рис. 10. Пример файла data.yaml.

  • Шаг 3: После того как файл 'data.yaml' настроен, вы можете начать обучение модели с помощью следующего кода на Python. Этот код загружает предварительно обученную модель YOLO11 и обучает ее в соответствии с вашими настройками.
from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.pt")  # choose your model, e.g., YOLO11 nano

# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
  • Шаг 4: По завершении обучения вы должны увидеть результат, подобный показанному ниже. Это означает, что вы успешно обучили модель YOLO11 для беспилотных приложений.
Рис. 11. Выходные данные после обучения модели.

Выполнение прогнозов с помощью Ultralytics YOLO11 на дронах

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

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

# Import library
from ultralytics import YOLO

# Load the YOLO model
model = YOLO("best.pt")  # Choose your custom-trained model

# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)

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

Рис. 12. Кадр из выходного видеофайла. 

Интеграция Ultralytics YOLO11 в беспилотники для различных применений

Обнаружение домов для доставки посылок с помощью беспилотника - лишь один из примеров применения компьютерного зрения и YOLO11. Вот некоторые другие реальные применения компьютерного зрения, YOLO11 и беспилотных летательных аппаратов:

  • Наблюдение и безопасность: Беспилотники с искусственным интеллектом могут использоваться для наблюдения за большими территориями в режиме реального времени. Они могут обнаруживать вторжения, отслеживать подозрительную деятельность и повышать безопасность на государственных границах и крупных массовых мероприятиях. 
  • Реагирование на стихийные бедствия и поисково-спасательные работы: Оснащенные тепловизионными камерами и системой обнаружения объектов, беспилотники могут помочь найти выживших в зонах бедствия. Они также могут оценивать ущерб и доставлять предметы первой необходимости.
  • Сельское хозяйство и точное земледелие: Дроны, интегрированные с компьютерным зрением, могут использоваться для анализа состояния посевов и обнаружения болезней, помогая фермерам повысить урожайность и снизить затраты. 
  • Картография и геопространственный анализ: Собирая 3D-карты высокого разрешения, дроны с искусственным интеллектом могут помочь в городском планировании и землеустройстве. Они обеспечивают более быструю и точную оценку местности по сравнению с традиционными методами. 

Основные выводы

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

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

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

Давайте вместе построим будущее
искусственного интеллекта!

Начните свое путешествие в будущее машинного обучения

Начните бесплатно
Ссылка копируется в буфер обмена