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

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

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

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

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

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

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

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

В этой статье мы подробно рассмотрим, как модели компьютерного зрения, подобные 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 - это набор библиотек и инструментов для обработки мультимедийного контента, такого как аудио, видео, субтитры и связанные с ними метаданные. 

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

ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg

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

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

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

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

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

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

  • Шаг 1: Установи Python Ultralytics . Это можно сделать, выполнив в терминале команду "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, а также ознакомься с нашими вариантами лицензирования, чтобы начать свои проекты в области компьютерного зрения. Интересуешься такими инновациями, как ИИ в производстве или компьютерное зрение в автомобильной промышленности? Заходи на страницы наших решений, чтобы узнать больше. 

Логотип LinkedInЛоготип ТвиттераЛоготип FacebookСимвол копирования-ссылки

Читайте больше в этой категории

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

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