Обнаружение дронов (БПЛА) с использованием ИИ и компьютерного зрения |
||||||||||||||||||||||||||||||||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2025-06-26 12:09 На данный момент актуально создание системы обнаружения беспилотных летательных аппаратов (БПЛА), особенно дронов. ![]() Системы обнаружения дронов должны выполнять следующие функции:
Системы обнаружения БПЛА можно разделить на следующие категории:
Акустические датчики — регистрируют характерный звук дронов. Не все существующие системы обнаружения могут выполнять одновременно все перечисленные функции. Функция обнаружения заключается в том, что система может обнаруживать беспилотные летательные аппараты. Но одного только обнаружения обычно бывает недостаточно. Например, радар может обнаруживать не только БПЛА, но и самолёты или птиц. По этой причине без функции идентификации и классификации БПЛА не обойтись. Указанная функция позволяет отделять дроны от других объектов (самолётов, птиц и т. п.) Цель - разработка системы обнаружения беспилотных летательных аппаратов (БПЛА), таких как дроны, с использованием методов искусственного интеллекта и компьютерного зрения. Задача - создание модели машинного обучения, способной автоматически обнаруживать дроны, различать их от других летательных аппаратов, а также птиц, на основе визуальной информации, полученной с видеокамер наблюдения. Одним из вариантов такой системы, является система машинного зрения CV основанная на алгоритме глубокого обучения YOLO. YOLO — это алгоритм обнаружения объектов в реальном времени, разработанный для высокой скорости и производительности. Его главная особенность в том, что он обрабатывает изображение за один проход, что делает его идеальным для задач, где важна мгновенная обработка, таких как автономное вождение и видеонаблюдение. Последняя версия YOLOv12 (вышла в феврале 2025 года) — это новейшая версия YOLO, которая фокусируется на внедрении механизмов внимания (в частности, Flash Attention) для повышения производительности. Цель — достичь лучшей точности при сохранении высокой скорости за счёт более эффективной обработки информации и снижения затрат памяти, сокращая разрыв между CNN и трансформерами в скорости. Обучение модели YOLO включает в себя следующие основные этапы: подготовка размеченного набора данных, настройка параметров обучения и запуск процесса обучения. Для обучения пользовательской модели YOLO необходимо создать набор данных с аннотациями и настроить параметры в конфигурационном файле YAML, затем запустить обучение, используя команду yolo task=train.
![]() В датасете отмечаем дисбаланс классов — класс DRON значительно преобладает. Это может привести к тому, что модель будет лучше детектировать дроны, но хуже — другие объекты (особенно самолёты и вертолёты). Но так же дисбаланс в пользу класса DRON может сыграть положительную роль, потому что:
Но есть важные риски, которые стоит учитывать даже с приоритетом DRON:
Желательно сбалансировать датасет либо за счёт увеличения числа изображений для классов BIRDS, HELICOPTER и AIRPLANE, либо путём уменьшения количества аннотаций в других классах до уровня наименьшего (в данном случае — AIRPLANE). Однако в нашем случае для эксперимента оставим распределение классов без изменений. 2. Выбор архитектуры модели и настройка параметров обучения Для решения задачи визуального обнаружения беспилотных летательных аппаратов была выбрана архитектура модели YOLOv12 — одна из самых современных и эффективных реализаций алгоритма обнаружения объектов на основе глубокого обучения. YOLOv12 сочетает высокую точность распознавания с возможностью работы в режиме реального времени, что делает её оптимальной для задач видеонаблюдения и защиты воздушного пространства. Причины выбора YOLOv12:
Подготовка к обучению включала следующие шаги:
3. Обучение модели Проверка подключения GPU ![]() Установка библиотеки Ultralytics Обучение YOLO без использования предварительно обученной модели В большинстве случаев модели YOLO обучаются с использованием предварительно обученных весов на больших датасетах (например, COCO), что позволяет достичь высокой точности за меньшее количество эпох. Однако существуют ситуации, когда требуется обучение модели "с нуля", без начальных весов. Такой подход называется обучением from scratch. Когда необходимо обучение с нуля?
Подготовка к обучению "с нуля" Для обучения с нуля необходимо использовать архитектурный YAML-файл вместо .pt модели. Этот YAML-файл определяет конфигурацию нейросети: количество слоёв, размер выходных слоёв, типы блоков, размер input'а и пр. Так, как Ultralytics пока не предоставляет архитектурный файл yolov12n.yaml, получаем его из yolo12n.pt и адаптируем под задачу, учитывая, что:
Запуск обучения на 50 эпохах через CLI-интерфейс: Результаты отучения custom_yolov12n «с нуля» ![]() ![]() Обучение предварительно обученной модели YOLOv12n на датасете COCO, загруженной с официальной страницы: https://docs.ultralytics.com/ru/models/yolo12/. Запуск обучения YOLOv12n Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov12n.pt to 'yolov12n.pt'... 100%|??????????| 6.23M/6.23M [00:00<00:00, 114MB/s] ![]() ![]() ![]() По результатам обучения предобученная модель демонстрирует немного лучший результат: для всех классов (all) mAP50 составил 0.911 при обучении custom YOLOv12n «с нуля» и 0.949 для предобученной YOLOv12n (50 эпох). В дальнейшем планируется использовать её лучшие веса — best.pt. Анализ результатов обучения предобученной YOLOv12n (50 эпох) основные метрики на валидации:
Выводы по результатам: DRON — высокая точность (0.959) и полнота (0.923). Отличный результат для приоритетного класса. HELICOPTER — лучший результат среди всех классов: очень высокая точность и полнота (0.982), наибольший mAP50-95 (0.771). AIRPLANE и BIRDS — показатели чуть слабее, особенно BIRDS по mAP50-95 (0.591). Это ожидаемо, учитывая дисбаланс классов и сложность различения. Общая оценка mAP50-95 = 0.661 — очень достойный уровень для таких задач. ![]() ![]() Проверка на тестовых данных ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Проверка работы модели на видео Добавим немного эффектов Заключение Данный проект, демонстрирующий применение искусственного интеллекта в области распознавания объектов, показал высокую точность обнаружения всех классов, особенно приоритетного класса DRON (precision — 0.959, recall — 0.923, mAP50 — 0.957). Скорость обработки видеоизображений при использовании CUDA составила 1.6 мс на кадр, что обеспечивает достаточную производительность для применения в реальных условиях. Полученные результаты позволяют рассматривать разработанную систему в качестве основы для создания прикладных решений по мониторингу воздушного пространства и обнаружению БПЛА. Для повышения качества классификации редких классов (например, BIRDS) целесообразно провести дополнительное дообучение модели с балансировкой обучающего датасета. Источник: habr.com Комментарии: |
|||||||||||||||||||||||||||||||