Надежное обнаружение и слежение БПЛА через ИИ и компьютерное зрение
Аннотация
С развитием технологий безопасность становится главной проблемой. Экспоненциально растущая доступность дронов создает серьезные угрозы. Использование БПЛА (беспилотных летательных аппаратов) резко выросло за последние годы. Предлагаемое решение: сначала обнаружить БПЛА, затем отслеживать его траекторию.
Для обнаружения объектов глубокие алгоритмы компьютерного зрения крайне эффективны. Входные данные обрабатываются YOLO — нейросетью для обнаружения и слежения объектов в реальном времени.
2.1 Понимание концепции БПЛА
По теме «Обнаружение и слежение БПЛА с помощью компьютерного зрения», БПЛА (беспилотный летательный аппарат) — это 항공ное судно без пилота, управляемое дистанционно или бортовыми компьютерами. 
БПЛА используются в мирных целях: сельское хозяйство, научные исследования, прогноз погоды, доставка грузов, поисково-спасательные операции, здравоохранение. А также в военных: атаки, ракетные удары, целевое поражение.
2.2 Что такое компьютерное зрение?
Компьютерное зрение — область информатики, позволяющая компьютерам «видеть», идентифицировать и обрабатывать изображения как человеческое зрение, выдавая осмысленный результат. Применяется везде:
- Обнаружение объектов и лиц
- Роботизированная хирургия и медицинская диагностика
- Обработка изображений
- Сельское хозяйство
- Космические технологии (марсоход NASA: моделирование рельефа, обнаружение препятств, сборка панорам)
2.3 Техники обработки изображений
Обработка изображений — методы улучшения качества изображения или извлечения специфических результатов из набора изображений. Одна из самых быстроразвивающихся областей IT с растущими применениями в бизнесе.
Варианты использования обработки изображений
- Робототехника
- Медицина
- Распознавание образов
- Видеообработка
- Распознавание лиц
2.4 Программные требования
- Anaconda
- Spyder
- Python
- Библиотека OpenCV
3. Алгоритмы обнаружения объектов
Существует много алгоритмов. Основные:
- Viola-Jones
- Сверточные нейронные сети (CNN)
- YOLO (You Only Look Once)
- SSD (Single Shot Detector)
- R-CNN (Region-based CNN)
Таблица 3.1: Сравнение алгоритмов обнаружения
| Алгоритм | Описание | Сильные стороны | Слабые стороны |
|---|---|---|---|
| Viola-Jones (Пол Вайола и Майкл Джонс, 2001) | Лица и объекты в реальном времени. Анализ подрегионов, поиск специфических признаков (Haar-like features). | Робастность, высокий процент обнаружения, разные классификаторы для разных областей, скорость, хорошо находит края и линии. | Не обнаруживает повернутые лица, чувствителен к освещению, не работает с движущимися объектами. |
| CNN (Кунихико Фукусима, 1980) | Биологически вдохновенная иерархическая модель. Глубокое обучение: вход — изображение, обучаемые веса и смещения для объектов, дифференциация между ними. | Признаки определяются обучением (больше свободы), единая классификация на всё изображение, матричные операции, высокая точность. | Требует большой датасет, дорого вычислительно. |
| YOLO (You Only Look Once) | Детектор в реальном времени. Нейросеть делит изображение на сетку S×S, строит ограничивающие рамки, предсказывает вероятности для каждой. Использует регрессию. | Множественные объекты на одном кадре, реальное время, сверхбыстро, высокая производительность, нет ложных срабатываний на фоне. | Один объект на ячейку сетки, приоритет скорости над точностью. |
| SSD (Single Shot Detector) | Один проход для обнаружения множества объектов. Для реального времени. Состоит из backbone и SSD head. | Высокое вычислительное время, высокая точность, умеренный компромисс точность/скорость. | Хуже на маленьких объектах, end-to-end детекция медленная, вычислительно затратна. |
Выбран YOLO — очень быстр для реального времени. Делит изображение на S×S сетку, строит рамки, предсказывает вероятности. Алгоритмы в таблице 4.4.
3.1 Алгоритм слежения
После обнаружения — слежение. Если объект — воздушный змей или птица — слежение не нужно. Если дрон — цель отслеживается.
Много алгоритмов трекинга, но снова выбран YOLO: быстрый, точный, следит до выхода цели из поля зрения камеры.
4. Реализация предложенного дизайна
Шаги запуска проекта на ПО.
4.1 Начальный этап
- Обработка изображений требует хороший CPU/GPU. Выбираем CPU. Установка Anaconda с сайта (см. рис. 4.1).

- После установки Anaconda Navigator — создание окружения через диалог окружения, выбор версии Python.
- Установка Spyder (удобный IDE). Затем OpenCV:
pip install cv2.
4.2 Подготовка датасета
- Сбор множества изображений воздушных объектов: дроны, птицы, самолеты, вертолеты, змеи, шары.
Важно: Датасет — не просто картинки. Нужна разметка: имена объектов и координаты (bounding boxes) на каждом изображении. Для этого используется ПО LabelImg, конвертирующее разметку в текстовые файлы (YOLO формат). См. рис. 4.6.
- Все изображения и .txt файлы упаковываются в ZIP. Создается файл имен классов (obj.names).

4.3 Конфигурация YOLO
- Установка Darknet с YOLO v3.
- Создание папки в
darknet/dataс изображениями и .txt файлами датасета. - Создание кастомного .cfg файла: модификация YOLO v3 cfg — batch, subdivisions, max_batches относительно классов и steps.
- При вводе числа классов — изменение сверточного слоя перед YOLO. Установка random=1. Параметры cfg в Таблице 4.1.
Таблица 4.1: Параметры CFG
| Имя | Описание |
|---|---|
| Batch | Количество изображений и меток в прямом проходе для вычисления градиента и обновления весов через обратное распространение. |
| Subdivisions | Batch делится на блоки, изображения в блоке запускаются параллельно. |
| Steps | 500,1000: корректировка learning rate после 500 и 1000 батчей. |
| Layers (Filters) | Число сверточных ядер в слое. |
| Layers (Random) | В YOLO слоях. Если 1 — дата-аугментация: ресайз изображений на разные размеры каждые несколько батчей для обобщения по размерам объектов. |
- Создание кастомной папки объекта через
data/obj.names— имена классов для обнаружения (дроны, БПЛА, птицы, змеи...). - В
obj.data: число классов, train.txt, valid, names, папка weights.
- В
train.txt— пути и имена всех обучающих изображений.
4.4 Обучение YOLO на вашем датасете
Обучение кастомного датасета через Darknet. Клонирование и включение Darknet, включение OpenCV. Используя ZIP, .cfg, .names, obj.data, train.txt — конфигурация сети для обучения YOLO v3, подсчет итераций.
После тысяч итераций (~2 часа на CPU) — обученный датасет готов к интеграции, показывая среднюю потерю (loss).
4.5 Тестирование кода на изображении и видео
После обучения — тест на обученных весах (YOLO weights). 4 класса в данном случае.
Пробуем YOLO на разных весах. Большие веса = выше точность, но ниже FPS. Видео с БПЛА, птицами — вход для кода. Все объекты успешно обнаружены и отслежены с метками, FPS и порогом.
Реальное время: веб-камера, запуск дрона в поле зрения — вывод «Detection And Tracking Of UAV».

Промышленные технологии
- Датчик движения SmartThings на компьютерном зрении с Raspberry Pi 3
- Интеграция Microsoft Kinect с Raspberry Pi для детекции людей в реальном времени на роботе Sonbi
- Как роботизированное зрение улучшает автоматизацию: ключевые преимущества и приложения
- Топ-4 выгоды умного детектирования утечек для безопасности зданий и экономии
- Почему IoT-детекция утечек воды Biz4Intellia повышает промышленную эффективность — 5 ключевых преимуществ
- Семь проверенных способов, как компьютерное зрение повышает эффективность и экономит затраты
- Революция в промышленности 4.0: как компьютерное зрение движет умное производство
- Передовые высоковысотные БПЛА для точного метеорологического мониторинга
- Предотвращение теплового искажения изображения в линейно-сканирующих камерах машинного зрения
- Mastercam Урок 7: Управление изображениями и создание траекторий инструмента