Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Anchor-Based Detectors

Детекторы на основе анкеров предсказывают объекты как смещения относительно заранее заданных анкерных рамок, как в Faster R-CNN, SSD, RetinaNet и YOLOv5. Принцип работы и сравнение.

Детекторы на основе анкеров — это модели обнаружения объектов, которые размещают на изображении заранее заданные анкерные боксы и для каждого анкера предсказывают оценки классов и смещения, превращающие его в подходящий ограничивающий бокс. К этому семейству относятся двухэтапные модели, например Faster R-CNN, сеть генерации регионов которой оценивает анкеры и формирует регионы-кандидаты, а также одноэтапные модели, например SSD, RetinaNet и YOLOv2–YOLOv5, которые сразу классифицируют и уточняют каждый анкер. Анкеры были стандартным способом локализации объектов с момента появления Faster R-CNN в 2015 году до 2019 года, когда детекторы без анкеров, например FCOS, сравнялись с ними по точности.

Как работает обнаружение на основе анкеров#

Бэкбон и шея преобразуют изображение в карты признаков, а в каждой ячейке каждой карты располагается фиксированный набор анкеров разных размеров и соотношений сторон. Для каждого анкера голова детектора предсказывает оценку каждого класса, а в YOLOv2–YOLOv5 также оценку объектности и четыре значения регрессии. Широко используемое кодирование из Faster R-CNN сдвигает центр анкера на доли его ширины и высоты, а ширину и высоту масштабирует экспоненциально:

import torch

# One anchor as (center x, center y, width, height) in pixels
anchor = torch.tensor([320.0, 240.0, 64.0, 128.0])

# Offsets (tx, ty, tw, th) that the regression branch predicts for this anchor
tx, ty, tw, th = torch.tensor([0.25, -0.10, 0.20, -0.05])

# Faster R-CNN decoding: shift the center in units of anchor size, scale width and height exponentially
cx = anchor[0] + tx * anchor[2]
cy = anchor[1] + ty * anchor[3]
w = anchor[2] * torch.exp(tw)
h = anchor[3] * torch.exp(th)
print(f"anchor 64x128 at (320, 240) -> box {w:.1f}x{h:.1f} at ({cx:.1f}, {cy:.1f})")

Якорь становится рамкой размером 78.2 × 121.8 пикселя с центром в точке (336.0, 227.2): он сместился на 16 пикселей вправо и на 12.8 пикселя вверх, стал шире на 22% (exp(0.2)) и ниже на 5% (exp(−0.05)). Поскольку смещения заданы относительно размера якоря, одни и те же предсказанные значения подходят для маленьких и больших якорей.

Во время инференса детектор декодирует каждый анкер таким образом, отбрасывает боксы ниже порога уверенности и применяет подавление немаксимумов (NMS), чтобы удалить дубликаты от соседних анкеров.

Обучение: разметка каждого анкера#

Во время обучения каждому анкеру назначается метка на основе его пересечения над объединением (IoU) с размеченными боксами. RetinaNet использует следующие пороги:

Сеть генерации регионов Faster R-CNN использует более строгие значения: 0,7 и 0,3. На пяти уровнях пирамиды RetinaNet размещает по 9 анкеров в каждой точке, всего около 100 000 анкеров на изображение. Почти все они отрицательные, и фокальная функция потерь уменьшает вес простых отрицательных примеров, чтобы они не перегружали обучение.

Основные архитектуры на основе анкеров#

  • Двухэтапные детекторы: Сеть генерации регионов Faster R-CNN оценивает анкеры как объекты или фон и уточняет их, получая около 300 предложений на изображение; затем вторая голова классифицирует и уточняет каждое предложение. С бэкбоном VGG-16 модель работала со скоростью 5 FPS на GPU; Mask R-CNN добавляет к той же архитектуре ветвь масок.
  • Одноэтапные детекторы объектов: SSD, RetinaNet и модели YOLO от YOLOv2 до YOLOv5 классифицируют и уточняют каждый анкер за один проход. YOLOv2 заменила анкеры, выбранные вручную, кластерами ширины и высоты обучающих боксов, полученными методом k-средних.

Ultralytics YOLOv5 использует анкеры: по 3 анкера на каждом из трёх выходных уровней. Она сопоставляет метки и анкеры по форме: анкер становится кандидатом, если ширина и высота метки отличаются от ширины и высоты анкера не более чем в 4 раза. Варианты YOLOv5u из пакета Ultralytics заменяют эту голову на безанкерную раздельную голову, впервые представленную в YOLOv8 и сохранённую в YOLO26.

Детекторы с анкерами и без них#

Детекторы без анкеров предсказывают бокс для каждой точки сетки — как расстояния до четырёх краёв — или используют ключевые точки, например центры объектов. Поэтому им не нужно настраивать размеры анкеров, соотношения сторон и пороги IoU, и они создают одного кандидата на точку, а не по одному на каждую форму анкера. ATSS выяснила, что разница в точности между RetinaNet и детектором без анкеров FCOS объяснялась тем, как каждая модель выбирала положительные обучающие примеры: при одинаковом правиле выбора обе достигали одинаковой точности. RetinaNet набрала 39,2 AP на мини-выборке COCO с 9 анкерами на точку и 39,3 AP с одним.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения