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

Anchor Boxes

Анкерные рамки — это заранее заданные рамки фиксированных размеров и соотношений сторон, которые детектор сдвигает и изменяет, чтобы подогнать под объекты. Как их задают, сопоставляют и используют.

Анкерные боксы — это заранее заданные прямоугольники фиксированного размера и соотношения сторон, размещаемые в каждой точке карт признаков детектора. Они служат начальными предположениями о расположении и форме объектов. Детектор на основе анкеров оценивает каждый анкер для каждого класса и предсказывает небольшие смещения, которые перемещают и масштабируют анкер под объект. Это проще для обучения, чем предсказывать бокс с нуля. Faster R-CNN размещает 9 анкеров в каждой точке: три площади (128², 256² и 512² пикселей) умножаются на три соотношения сторон (1:1, 1:2 и 2:1). Для изображения размером 1000 × 600 это даёт примерно 20 000 анкеров.

Как задаются анкеры#

Набор анкеров — это список размеров и соотношений сторон, повторяемый в каждой ячейке карты признаков, поэтому число анкеров равно количеству ячеек × числу форм в ячейке. Детекторы с пирамидальной сетью признаков (FPN) назначают маленькие анкеры детализированным уровням с высоким разрешением, а большие — грубым уровням: RetinaNet использует 9 анкеров на точку на каждом из пяти уровней — около 100 000 на изображение. В SSD они называются боксами по умолчанию; SSD300 размещает 8 732 таких бокса.

Формы, выбранные вручную, плохо подходят для некоторых наборов данных, поэтому YOLOv2 применяла кластеризацию k-средних к ширине и высоте обучающих боксов, используя 1 − IoU в качестве расстояния, и выбрала центры 5 кластеров как анкеры. YOLOv3 кластеризовала 9 анкеров и равномерно распределила их по трём шагам выходных данных: от 10 × 13 пикселей на уровне с шагом 8 до 373 × 326 на уровне с шагом 32.

Сопоставление анкеров с объектами#

Во время обучения каждый анкер сравнивается со всеми размеченными боксами по пересечению над объединением (IoU). Анкеры с достаточным перекрытием с объектом становятся положительными примерами и обучаются предсказывать класс объекта и смещения для его ограничивающего бокса; анкеры с небольшим перекрытием становятся отрицательными примерами и обучаются предсказывать «фон», а анкеры между этими категориями игнорируются. Сеть генерации регионов Faster R-CNN считает положительными анкеры с IoU не менее 0,7, а отрицательными — с IoU ниже 0,3. Кроме того, она помечает как положительный анкер, лучше всего совпадающий с каждым объектом, чтобы ни один объект не остался без соответствующего анкера.

import torch
from torchvision.ops import box_iou

# Nine anchors centered on one feature-map cell at (200, 200): 3 sizes x 3 aspect ratios (height / width)
shapes = [(size, ratio) for size in (64, 128, 256) for ratio in (0.5, 1.0, 2.0)]
anchors = []
for size, ratio in shapes:
    w, h = size / ratio**0.5, size * ratio**0.5
    anchors.append([200 - w / 2, 200 - h / 2, 200 + w / 2, 200 + h / 2])

# A labeled pedestrian box (x1, y1, x2, y2): tall and narrow
person = torch.tensor([[160.0, 110.0, 240.0, 290.0]])

# Faster R-CNN RPN rule: IoU >= 0.7 is positive, below 0.3 is negative, anything between is ignored
iou = box_iou(torch.tensor(anchors), person).squeeze(1)
for (size, ratio), value in zip(shapes, iou.tolist()):
    label = "positive" if value >= 0.7 else "negative" if value < 0.3 else "ignored"
    print(f"size {size}, ratio {ratio}: IoU {value:.2f} -> {label}")

Достаточно сильно с пешеходом перекрывается только высокий анкер размером 128 пикселей (соотношение сторон 2,0): его IoU равен 0,88. Два других анкера размером 128 пикселей с IoU 0,31 и 0,50 игнорируются, а шесть анкеров неподходящего размера считаются отрицательными. Затем положительный анкер обучается предсказывать смещения в стандартной параметризации: центр сдвигается на доли ширины и высоты анкера, а ширина и высота масштабируются экспоненциально от предсказанных значений.

Подбор размеров анкеров для набора данных#

Анкеры, соответствующие формам объектов в наборе данных, дают большему числу объектов положительный анкер, повышая максимальную достижимую полноту детектора. Ultralytics YOLOv5 начинает с 9 анкеров YOLOv3 и проверяет их до обучения с помощью AutoAnchor: она измеряет максимально возможную полноту этих анкеров на обучающих метках и, если она не превышает 0,98, подбирает анкеры заново с помощью k-средних и 1 000 поколений генетической эволюции. Новые анкеры сохраняются, только если полнота повышается.

Ограничения и детекторы без анкеров#

Анкеры создают три проблемы. Почти все десятки тысяч анкеров на изображении покрывают фон, из-за чего функция потерь перегружается простыми отрицательными примерами; RetinaNet ввела фокальную функцию потерь, чтобы уменьшить их вес. Несколько соседних анкеров подходят одному и тому же объекту, поэтому для выбора одного бокса на объект требуется подавление немаксимумов (NMS). Кроме того, размеры, соотношения сторон и пороги IoU — это гиперпараметры, которые приходится менять для каждого набора данных и размера изображения.

Детекторы без анкеров устраняют эти гиперпараметры, предсказывая боксы по точкам или ключевым точкам. Большинство детекторов реального времени, выпущенных после YOLOX в 2021 году, не используют анкеры. Анкеры сохранились в детекторах на основе анкеров, таких как Faster R-CNN, Mask R-CNN и RetinaNet. Сравнивая RetinaNet с детектором без анкеров FCOS, ATSS показала: когда обе модели одинаково выбирали положительные примеры, RetinaNet с 9 анкерами на точку была не точнее, чем с одним.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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