Обнаружение объектов
Обнаружение объектов — это область компьютерного зрения и обработки изображений, занимающаяся определением местоположения и классификацией объектов определённых типов на цифровых изображениях или видеопотоках. В отличие от задачи классификации, где изображению присваивается одна метка, обнаружение объектов предполагает выделение на изображении нескольких объектов, их распознавание (определение класса) и локализацию (определение координат ограничивающей рамки — bounding box). Задача является фундаментальной для таких приложений, как автономное вождение, видеонаблюдение, медицинская диагностика, робототехника и системы дополненной реальности.
История развития
Ранние подходы (до 2010-х годов)
До широкого распространения методов глубокого обучения обнаружение объектов основывалось на классических алгоритмах компьютерного зрения. Основной подход заключался в скользящем окне: по изображению перемещалось окно фиксированного размера, и для каждой его позиции применялся классификатор (например, метод опорных векторов, SVM). Для извлечения признаков использовались вручную разработанные дескрипторы, такие как HOG (Histogram of Oriented Gradients) и SIFT (Scale-Invariant Feature Transform). Одним из наиболее известных классических детекторов является Viola-Jones, разработанный в 2001 году для быстрого обнаружения лиц. Он использовал каскад слабых классификаторов на основе признаков Хаара и достигал высокой скорости работы, что позволяло применять его в реальном времени на оборудовании того времени.
Эпоха глубокого обучения (2012 — настоящее время)
Прорыв в области обнаружения объектов произошёл с развитием свёрточных нейронных сетей (CNN). В 2012 году сеть AlexNet показала значительное превосходство над классическими методами в задаче классификации изображений ImageNet. Это стимулировало разработку детекторов на основе CNN. Ключевые вехи:
- R-CNN (2014): Регион-основанная свёрточная нейронная сеть. Предлагала сначала выделять на изображении потенциальные области (регионы) с помощью алгоритма селективного поиска, а затем классифицировать каждую область с помощью CNN. Метод был точным, но крайне медленным из-за необходимости обрабатывать тысячи регионов на одном изображении.
- Fast R-CNN (2015): Ускорила R-CNN за счёт того, что свёрточные признаки вычислялись один раз для всего изображения, а не для каждого региона отдельно. Это позволило значительно повысить скорость.
- Faster R-CNN (2015): Ввела Region Proposal Network (RPN) — небольшую нейронную сеть, которая училась предлагать регионы для поиска объектов, что сделало весь процесс сквозным и ещё более быстрым. Faster R-CNN стала основой для многих последующих архитектур.
- YOLO (You Only Look Once, 2016): Революционный подход, который сформулировал задачу обнаружения как единую регрессионную задачу. Вместо того чтобы сначала выделять регионы, а потом их классифицировать, YOLO делит изображение на сетку и для каждой ячейки сетки предсказывает несколько ограничивающих рамок и вероятности классов за один проход сети. Это обеспечило невероятную скорость, позволяя работать в реальном времени (десятки-сотни кадров в секунду). Недостатком первых версий была несколько меньшая точность по сравнению с двухэтапными методами.
- SSD (Single Shot MultiBox Detector, 2016): Ещё один одноэтапный детектор, который, как и YOLO, предсказывал рамки и классы за один проход, но использовал карты признаков разного масштаба для обнаружения объектов разных размеров, что улучшило точность.
- RetinaNet (2017): Решила проблему дисбаланса классов (огромное количество фоновых регионов против небольшого числа объектов) в одноэтапных детекторах с помощью новой функции потерь Focal Loss, что позволило им достичь точности двухэтапных методов при сохранении высокой скорости.
Классификация методов
Методы обнаружения объектов делятся на две основные категории:
Двухэтапные детекторы (Two-stage detectors)
На первом этапе генерируются предложения регионов (region proposals), на втором — каждый регион классифицируется и уточняется его граница.
- Преимущества: Высокая точность, особенно для мелких объектов.
- Недостатки: Меньшая скорость по сравнению с одноэтапными.
- Представители: Faster R-CNN, Mask R-CNN (добавляет сегментацию), R-FCN.
Одноэтапные детекторы (One-stage detectors)
Предсказывают классы и координаты рамок напрямую без отдельного этапа выделения регионов.
- Преимущества: Высокая скорость, пригодность для задач реального времени.
- Недостатки: Исторически уступали в точности двухэтапным, но современные версии (YOLOv4, YOLOv5, YOLOv8, RetinaNet) практически сравнялись с ними.
- Представители: YOLO (все версии), SSD, RetinaNet, EfficientDet.
Детекторы на основе трансформеров (Transformer-based detectors)
С 2020 года набирают популярность архитектуры, использующие механизм внимания (attention), заимствованный из обработки естественного языка.
- DETR (Detection Transformer, 2020): Рассматривает обнаружение как задачу прямого множественного предсказания (set prediction), отказываясь от многих эвристик, таких как NMS (Non-Maximum Suppression) и генерация якорей. Требует много данных для обучения.
- Deformable DETR (2021): Улучшенная версия DETR, которая использует механизм деформируемого внимания для более быстрой сходимости и лучшего обнаружения мелких объектов.
Основные компоненты и метрики
Компоненты
- Архитектура (Backbone): Базовая свёрточная сеть (например, ResNet, VGG, MobileNet), которая извлекает признаки из изображения.
- Голова (Head): Часть сети, которая на основе признаков предсказывает классы и координаты рамок.
- Якоря (Anchors): Набор предопределённых ограничивающих рамок разного размера и соотношения сторон, которые используются в качестве эталонов для предсказания. Современные детекторы (YOLOv5, YOLOv8) часто используют безъякорные (anchor-free) подходы.
- Non-Maximum Suppression (NMS): Постобработка, которая удаляет дублирующиеся предсказания для одного и того же объекта, оставляя только рамку с наивысшей уверенностью.
Метрики
- IoU (Intersection over Union): Отношение площади пересечения предсказанной и истинной рамки к площади их объединения. Используется для оценки качества локализации.
- mAP (mean Average Precision): Основная метрика для оценки точности обнаружения. Вычисляется как средняя точность (Average Precision) для каждого класса, а затем усредняется по всем классам. Часто используется mAP@0.5 (IoU > 0.5) и mAP@0.5:0.95 (среднее по порогам IoU от 0.5 до 0.95).
Применение
- Автономное вождение: Обнаружение пешеходов, других автомобилей, дорожных знаков, светофоров и препятствий.
- Видеонаблюдение и безопасность: Обнаружение подозрительных объектов, подсчёт людей, распознавание номерных знаков, контроль доступа.
- Медицина: Обнаружение опухолей, полипов, кровоизлияний и других патологий на снимках МРТ, КТ и рентгенограммах.
- Робототехника: Навигация роботов, захват объектов манипуляторами, картографирование пространства.
- Розничная торговля: Автоматический учёт товаров на полках, анализ поведения покупателей, системы бескассовой оплаты.
- Сельское хозяйство: Обнаружение сорняков, болезней растений, подсчёт плодов для оценки урожайности.
- Военная и аэрокосмическая промышленность: Обнаружение целей на спутниковых снимках и с беспилотных летательных аппаратов.
Современное состояние и вызовы
На 2024 год обнаружение объектов является зрелой технологией. Модели, такие как YOLOv8 и DETR, обеспечивают высокую точность и скорость. Основные направления исследований включают:
- Эффективность: Разработка лёгких моделей для мобильных устройств и встраиваемых систем (например, TinyML).
- Обнаружение в сложных условиях: Работа при плохом освещении, окклюзиях (частичном перекрытии объектов), размытии и малом размере объектов.
- Обнаружение с открытым словарём (Open-vocabulary detection): Способность модели обнаруживать объекты, которые не были явно представлены в обучающей выборке.
- Few-shot и Zero-shot обучение: Обучение детекторов на очень малом количестве примеров или без них вовсе.
- Интеграция с большими языковыми моделями (LLM): Создание систем, которые могут не только обнаруживать объекты, но и понимать контекст сцены, отвечать на вопросы о ней (например, Grounding DINO).
Источники
- Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the IEEE conference on computer vision and pattern recognition.
- Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster R-CNN: Towards real-time object detection with region proposal networks. Advances in neural information processing systems.
- Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. Proceedings of the IEEE conference on computer vision and pattern recognition.
- Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C. Y., & Berg, A. C. (2016). SSD: Single shot multibox detector. European conference on computer vision.
- Lin, T. Y., Goyal, P., Girshick, R., He, K., & Dollár, P. (2017). Focal loss for dense object detection. Proceedings of the IEEE international conference on computer vision.
- Carion, N., Massa, F., Synnaeve, G., Usunier, N., Kirillov, A., & Zagoruyko, S. (2020). End-to-end object detection with transformers. European conference on computer vision.
- Zhu, X., Su, W., Lu, L., Li, B., Wang, X., & Dai, J. (2021). Deformable DETR: Deformable transformers for end-to-end object detection. International Conference on Learning Representations.
- Viola, P., & Jones, M. (2001). Rapid object detection using a boosted cascade of simple features. Proceedings of the 2001 IEEE computer society conference on computer vision and pattern recognition.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →