В архитектуре моделей обнаружения объектов головка обнаружения - это важнейший компонент, обычно расположенный в конце сетевого конвейера. После магистрали (которая извлекает начальные признаки) и шеи (которая агрегирует и уточняет эти признаки), головка обнаружения принимает обработанную информацию об изображении, известную как карты признаков, и преобразует их в окончательные предсказания. По сути, она служит блоком принятия решений в модели глубокого обучения, определяя , какие объекты присутствуют, где они расположены с помощью ограничительных рамок, и присваивая каждому обнаружению балл доверия.
Функциональность и управление
Головка обнаружения обрабатывает богатые, абстрактные признаки, сгенерированные предыдущими слоями нейронной сети. Эти признаки кодируют сложные узоры, текстуры и формы, относящиеся к потенциальным объектам на входном изображении. Головка обычно использует свой собственный набор слоев, часто включающий конволюционные слои, для выполнения двух основных задач:
- Классификация: Предсказание классовой метки для каждого обнаруженного объекта (например, "человек", "машина", "собака"). Для этого часто используются методы, заканчивающиеся Softmax или аналогичной функцией активации для вывода вероятностей для каждого класса.
- Локализация (регрессия): Предсказание точных координат ограничительного поля, в которое заключен каждый обнаруженный объект. Это рассматривается как проблема регрессии.
Продвинутые модели, такие как Ultralytics YOLO включают в себя высокоэффективные детекторные головки, предназначенные для быстрого выполнения этих задач, что позволяет делать выводы в реальном времени, что очень важно для многих приложений. Прогнозы часто подвергаются постобработке с использованием таких техник, как Non-Maximum Suppression (NMS), чтобы удалить дублирующие обнаружения.
Основные компоненты и разновидности
Конструкции детекторных головок существенно различаются в зависимости от конкретной архитектуры обнаружения объектов. Основные вариации включают в себя:
- Anchor-Based vs. Anchor-Free:
- Детекторы на основе якорей, распространенные в таких моделях, как Faster R-CNN и ранние версии YOLO , опираются на заранее определенный набор якорных ящиков разных размеров и соотношения сторон в разных местах карты объектов. Голова предсказывает смещения для уточнения этих якорей и классифицирует объект в их пределах.
- Безъякорные детекторы, используемые в таких моделях, как YOLO11 и FCOS, напрямую предсказывают такие свойства объекта, как центральные точки и размеры, без предопределенных якорей. Такой подход может упростить конструкцию и потенциально улучшить обобщение, что подчеркивается в преимуществах безъякорного обнаружения.
- Соединенные и раздельные головки: Некоторые проекты используют один набор слоев (coupled head) как для классификации, так и для регрессии, в то время как другие используют отдельные ветви (decoupled head) для каждой задачи, что иногда может повысить точность. Модули головок Ultralytics можно подробнее изучить в документации по API.
Сравнение с другими компонентами и задачами
Понимание головы обнаружения требует отличия ее от других частей модели компьютерного зрения (КВ) и смежных задач:
- Магистральная сеть: Магистральная сеть (например, ResNet, VGG) отвечает за первоначальное извлечение признаков из входного изображения, изучая иерархические признаки от низкоуровневых краев до высокоуровневых частей объекта.
- Шея: Расположенная между позвоночником и головой, шея часто объединяет признаки из нескольких масштабов позвоночника (с помощью таких техник, как Feature Pyramid Networks), чтобы обеспечить более богатый контекст для обнаружения объектов различных размеров.
- Классификация изображений: В отличие от обнаружения объектов, классификация изображений присваивает единую метку всему изображению без локализации.
- Задачи сегментации: Семантическая сегментация классифицирует каждый пиксель на изображении, а сегментация экземпляров идет дальше, различая разные экземпляры одного и того же класса объектов на уровне пикселей. Обнаружение объектов дает ограничивающие рамки, а не пиксельные маски.
Применение в реальном мире
Эффективность головки обнаружения напрямую влияет на производительность многочисленных приложений ИИ, построенных на обнаружении объектов:
- Автономное вождение: Детекторные головки играют важнейшую роль в ИИ для самоуправляемых автомобилей, позволяя определять и находить пешеходов, другие транспортные средства, дорожные знаки и препятствия в режиме реального времени, что обеспечивает безопасную навигацию. Такие компании, как Waymo, во многом полагаются на эту технологию.
- Безопасность и наблюдение: В системах безопасности головки обнаружения позволяют автоматизировать наблюдение, выявляя неавторизованных людей, оставленные предметы или конкретные события в видеозаписях. Это является основой для таких приложений, как руководство по охранной сигнализацииUltralytics .
- Аналитика розничной торговли: Используется для управления запасами, мониторинга полок и анализа поведения покупателей.
- Медицинская визуализация: Помогай радиологам, обнаруживая на снимках аномалии вроде опухолей или переломов, участвуй в анализе медицинских изображений.
- Производство: Обеспечение контроля качества на производстве путем автоматического обнаружения дефектов в продукции на сборочных линиях.
Современные модели обнаружения объектов, такие как YOLOv8 и YOLO11часто строятся с использованием таких фреймворков, как PyTorch или TensorFlowи оснащены сложными головками обнаружения, оптимизированными как по скорости, так и по точности на эталонных наборах данных, таких как COCO. Обучение и развертывание этих моделей облегчают такие платформы, как Ultralytics HUB, позволяя пользователям использовать мощные возможности обнаружения для своих конкретных нужд. Для оценки производительности часто используются такие метрики, как mAP и IoU, о которых подробно рассказывается в руководстве по метрикам производительностиYOLO .