Система обнаружения оружия для обеспечения безопасности
Цель:
Разработка системы детекции оружия в видеопотоке для оперативного выявления угроз и снижения числа возможных жертв в случае вооруженного нападения.
Создать систему, способную в реальном времени обнаруживать человека с оружием (пистолет или автомат) на видеозаписях с камер наблюдения.
Вводные данные:
Для обучения и тестирования использовались:
- Видеозаписи с камер наблюдения заказчика.
- Дополнительные видеоматериалы из открытых источников.
Выходные данные:
Готовая система анализирует видеопоток покадрово и сообщает:
- Наличие людей с оружием на кадре.
- Количество обнаруженного оружия.
Этапы реализации
- Анализ данных и подбор подходов:
- Исследование существующих технологий компьютерного зрения.
- Выбор модели и методов для решения задачи.
- Разметка и предобработка данных:
- Формирование датасета из 6000 изображений.
- Использование инструментов для подготовки данных (Roboflow).
- Моделирование и эксперименты:
- Обучение нейронной сети на основе YOLO (версии 5 и 8).
- Проведение около 50 экспериментов с фиксацией результатов через ClearML.
- Тестирование:
- Интеграция системы с веб-камерой для проверки работы в реальном времени.
Достижения и метрики
- Выбранная модель: YOLOv8.
- Обучение на 6000 изображениях.
- Результаты:
- Precision: 0.97
- Recall: 0.96
- mAP50: 0.98
- mAP50-95: 0.86
Технологический стек
- Модели и фреймворки: YOLOv5, YOLOv8.
- Библиотеки: OpenCV, Pandas, NumPy.
- Инструменты: Roboflow, ClearML.
Результат
Разработанная система успешно выявляет людей с оружием в видеопотоке, обеспечивая заказчику возможность оперативного реагирования на угрозы. Система была протестирована и показала высокую точность в условиях, близких к реальной эксплуатации.