Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Настройки cookie
Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Узнайте, как создавать приложения для дронов на базе искусственного интеллекта с помощью Ultralytics YOLO11, позволяющего в реальном времени обнаруживать объекты и решать задачи компьютерного зрения на базе дронов.
Покупки в магазине и онлайн-покупки могут показаться похожими, но они основаны на разной логистике. Магазинам необходимо пополнять полки, а онлайн-заказы зависят от доставки до двери. Благодаря технологическим достижениям оба способа совершения покупок преобразуются параллельно.
Например, в сфере доставок происходят серьезные изменения. Дроны с искусственным интеллектом меняют способы доставки товаров к нам домой. Ожидается, что эти интеллектуальные дроны будут выполнять около 808 миллионов доставок в течение следующего десятилетия, превращая небо в новейший маршрут доставки для повседневной торговли.
Для навигации и маневрирования вокруг препятствий беспилотные летательные аппараты используют искусственный интеллект (ИИ) и компьютерное зрение- подобласть ИИ, которая используется для анализа визуальных данных. Модели компьютерного зрения, такие как Ultralytics YOLO11 помогают дронам detect и track объекты в режиме реального времени, что позволяет им лучше понимать окружающую среду и взаимодействовать с ней.
Рис. 1. Дрон доставки доставляет посылку к месту назначения.
Такие компании, как Meituan и DJI, уже интегрируют компьютерное зрение в свои дроны. Фактически, быстрое внедрение дронов в различные отрасли привело к тому, что рынок AI-дронов к 2031 году взлетит до 206,9 миллиардов долларов.
В этой статье мы подробно рассмотрим, как модели компьютерного зрения, подобные Ultralytics YOLO11 , могут использоваться в беспилотных приложениях, таких как доставка грузов дронами. Мы рассмотрим пример, который продемонстрирует, как эти технологии могут быть разработаны и протестированы перед использованием в реальных сценариях.
Использование Ultralytics YOLO11 на беспилотниках для detect домов
Ключевым элементом беспилотных летательных аппаратов является их способность detect дома в процессе навигации. Чтобы воссоздать эту способность и понять, как она работает, мы обучим модель компьютерного зрения, которая сможет распознавать дома на кадрах, снятых беспилотным летательным аппаратом. Для этого мы обучим YOLO11 , что включает в себя тонкую настройку предварительно обученной модели YOLO11 для распознавания и detect домов с помощью помеченных примеров.
Для этого нам понадобятся высококачественные видеоданные с дрона. Интересно, что даже без доступа к реальному дрону мы все равно можем генерировать реалистичные кадры с воздуха. Давайте посмотрим, как это сделать.
Создание искусственной съемки с беспилотника с помощью Google Earth Studio
Google Earth Studio - это веб-инструмент для анимации, с помощью которого пользователи могут создавать неподвижные и анимированные материалы, используя спутниковые и 3D-снимки Google Earth. Мы можем использовать его для создания реалистичных воздушных кадров.
Первым делом откройте Google Earth Studio и создайте проект, как показано ниже.
Для входа в систему вам понадобится учетная запись Google .
Рис. 2. Создание проекта в Google Earth Studio.
Войдя в систему, вы можете выбрать место для съемки видео с искусственного дрона. С помощью строки поиска в левом верхнем углу страницы вы можете искать места съемки. Для этого урока мы выберем Канаду. Кроме того, поскольку мы собираемся обучать модель detect домов, на нашем видео с беспилотника должны быть виды домов с воздуха.
Рис. 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: После успешной установки пакета создайте файл с именем 'datayaml'. Это файл конфигурации, который необходим для обучения модели. В файл datayaml включите следующую информацию: путь к обучающему набору данных, путь к проверяемому набору данных, количество классов (nc) и список имен классов (names), как показано ниже.
Рис. 10. Пример файла datayaml .
Шаг 3: После того как файл 'datayaml' настроен, вы можете начать обучение модели с помощью следующего кода Python . Этот код загружает предварительно обученную модель YOLO11 и обучает ее в соответствии с вашими настройками.
from ultralytics import YOLO
# Load a YOLO11 modelmodel = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano# Train the model with your data and settingsmodel.train(data="data.yaml", epochs=100, imgsz=640)
Шаг 4: По завершении обучения вы должны увидеть результат, подобный показанному ниже. Это означает, что вы успешно обучили модель YOLO11 для беспилотных приложений.
Рис. 11. Результат, отображаемый после обучения модели.
Выполнение прогнозов с помощью Ultralytics YOLO11 на дронах
Обученная модель YOLO11 теперь может быть использована для составления прогнозов с помощью процесса, называемого инференцией. Подведение итогов предполагает использование модели для анализа новых, невидимых данных на основе того, чему она научилась в процессе обучения. В данном случае модель можно использовать для поиска и маркировки конкретных объектов, например домов, на изображениях или видео, рисуя вокруг них ограничительные рамки.
Чтобы выполнить предсказание, вы можете использовать обученную модель YOLO11 на входном видео, используя следующий код Python . В этом примере мы используем то же видео с искусственным дроном, которое было использовано для обучения, но вы можете использовать любой другой видеофайл, если хотите.
# Import libraryfrom ultralytics import YOLO
# Load the YOLO modelmodel = YOLO("best.pt") # Choose your custom-trained model# Predict the results from the modelresults = model.predict(source="path/to/original/video.mp4", show=True, save=True)
После запуска этого кода выходной видеофайл с прогнозами и ограничивающими рамками будет сохранен.
Рис. 12. Кадр из выходного видеофайла.
Интеграция Ultralytics YOLO11 в беспилотники для различных применений
Обнаружение домов для доставки посылок с помощью беспилотника - лишь один из примеров применения компьютерного зрения и YOLO11 . Вот некоторые другие реальные применения компьютерного зрения, YOLO11 и беспилотных летательных аппаратов:
Наблюдение и безопасность:Беспилотники с искусственным интеллектом могут использоваться для наблюдения за большими территориями в режиме реального времени. Они могут detect вторжения, track подозрительную деятельность и повышать безопасность на государственных границах и крупных массовых мероприятиях.
Реагирование на стихийные бедствия и поисково-спасательные работы: Оснащенные тепловизорами и детекцией объектов, дроны могут помочь в обнаружении выживших в зонах бедствий. Они также могут оценивать ущерб и доставлять предметы первой необходимости.
Сельское хозяйство и точное земледелие: Дроны, интегрированные с компьютерным зрением, могут использоваться для анализа состояния посевов и detect болезней, помогая фермерам повысить урожайность и снизить затраты.
Картографирование и геопространственный анализ: Собирая 3D-карты высокого разрешения, дроны с ИИ могут помогать в городском планировании и землеустройстве. Они обеспечивают более быструю и точную оценку местности, чем традиционные методы.
Основные выводы
Беспилотники с искусственным интеллектом и компьютерным зрением меняют многие отрасли: от доставки посылок до помощи в чрезвычайных ситуациях и сельского хозяйства. В этом руководстве мы рассмотрели создание искусственного видео с дрона, маркировку объектов на нем, обучение YOLO11 и его использование для detect домов.
Применение функции обнаружения объектов на видеозаписях с дронов делает их умнее, позволяя автоматически распознавать и track объекты в режиме реального времени. По мере совершенствования технологий беспилотники с искусственным интеллектом будут играть все большую роль в ускорении доставки, повышении безопасности и ликвидации последствий стихийных бедствий.