Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Якорные ящики

Узнайте, как анкорные боксы действуют в качестве эталонных шаблонов для обнаружения объектов. Узнайте, как они повышают точность и как модели, такие как Ultralytics , используют конструкции без анкоров.

Ячейки-якоря — это заранее определенные прямоугольники с определенными пропорциями и масштабами, которые размещаются по всему изображению , чтобы помочь моделям обнаружения объектов в их поиске и классификации. Вместо того, чтобы просить нейронную сеть с нуля предсказывать точный размер и положение объекта, что может быть нестабильным из-за огромного разнообразия форм объектов, модель использует эти фиксированные шаблоны в качестве отправной точки. Обучаясь предсказывать, насколько необходимо скорректировать, или «регрессировать», эти начальные рамки, чтобы они соответствовали реальной ситуации, система может достичь более быстрой конвергенции и более высокой точности. Эта техника коренным образом преобразовала область компьютерного зрения (CV), упростив сложную задачу локализации до более управляемой задачи оптимизации.

Механизм анкерных коробок

В классических детекторах на основе якорей входное изображение делится на сетку ячеек. В каждой ячейке сеть генерирует несколько якорных рамок с различными геометриями. Например, для одновременного detect высокого detect и широкого автомобиля модель может предложить высокую узкую рамку и короткую широкую рамку в одной и той же центральной точке.

Во время обучения модели эти анкоры сопоставляются с реальными объектами с помощью метрики, называемой Intersection over Union (IoU). Анкоры, которые значительно перекрываются с помеченным объектом, обозначаются как «положительные» образцы. Затем сеть обучается двум параллельным задачам:

  1. Классификация: присваивает анкору оценку вероятности, указывающую на вероятность того, что он содержит определенный класс (например, «собака» или «велосипед»). Для этого используются стандартные цели контролируемого обучения, такие как потеря кросс-энтропии.
  2. Регрессия рамки: вычисляет точные значения смещения (сдвиг координат и коэффициенты масштабирования), необходимые для преобразования общей анкерной точки в плотно прилегающую ограничивающую рамку.

Такой подход позволяет модели обрабатывать несколько объектов разных размеров, расположенных рядом друг с другом, поскольку каждый объект можно привязать к тому анкеру, который наиболее соответствует его форме.

Применение в реальном мире

Хотя новые архитектуры движутся в сторону конструкций без анкеров, анкерные коробки по-прежнему играют важную роль во многих устоявшихся производственных системах, где характеристики объектов предсказуемы.

  • Управление розничной торговлей и запасами: в решениях для розничной торговли на базе искусственного интеллекта камеры контролируют запасы на полках . Поскольку такие продукты, как коробки с хлопьями или банки с газировкой, имеют стандартные размеры, анкерные коробки можно настроить на эти конкретные соотношения сторон. Эти предварительные знания помогают модели поддерживать высокую точность даже в заваленных предметами средах.
  • Автономное вождение: стеки восприятия в автономных транспортных средствах полагаются на обнаружение пешеходов, транспортных средств и дорожных знаков. Поскольку автомобиль, видимый на расстоянии, имеет относительно постоянный профиль формы по сравнению с дорогой, использование анкеров, адаптированных к этим формам, обеспечивает надежное отслеживание объектов и оценку расстояния.

Якорь с привязкой и без привязки

Важно проводить различие между традиционными методами на основе якорей и современными безякорными детекторами.

  • На основе якорей: Модели, такие как оригинальная Faster R-CNN или ранние YOLO (например, YOLOv5), используют эти предопределенные шаблоны. Они являются надежными, но часто требуют ручной настройки гиперпараметров (размеры/соотношения якорей) или алгоритмов кластеризации, таких как кластеризация k-средних, для адаптации к новым наборам данных.
  • Без анкеров: Передовые модели, включая YOLO26, часто используют подходы без анкеров или сквозные подходы. Эти сети напрямую прогнозируют центры объектов или ключевые точки, устраняя необходимость в ручной настройке анкеров. Это упрощает архитектуру и ускоряет вывод, устраняя вычисления, необходимые для обработки тысяч пустых фоновых анкеров.

Пример: доступ к информации об анкоре

Хотя современные высокоуровневые API, такие как Ultralytics , абстрагируются от этих деталей во время обучения, понимание анкоров полезно при работе со старыми архитектурами моделей или анализе файлов конфигурации моделей. Следующий фрагмент кода демонстрирует, как загрузить модель и проверить ее конфигурацию, где обычно определяются настройки анкоров (если они присутствуют).

from ultralytics import YOLO

# Load a pre-trained YOLO model (YOLO26 is anchor-free, but legacy configs act similarly)
model = YOLO("yolo26n.pt")

# Inspect the model's stride, which relates to grid cell sizing in detection
print(f"Model strides: {model.model.stride}")

# For older anchor-based models, anchors might be stored in the model's attributes
# Modern anchor-free models calculate targets dynamically without fixed boxes
if hasattr(model.model, "anchors"):
    print(f"Anchors: {model.model.anchors}")
else:
    print("This model architecture is anchor-free.")

Проблемы и соображения

Несмотря на свою эффективность, анкорные боксы усложняют процесс. Огромное количество генерируемых анкоров — часто десятки тысяч на одно изображение — создает проблему дисбаланса классов, поскольку большинство анкоров охватывают только фон. Для смягчения этой проблемы используются такие методы, как Focal Loss, которые снижают вес простых примеров фона. Кроме того, для окончательного результата обычно требуется Non-Maximum Suppression (NMS) для фильтрации избыточных перекрывающихся блоков, что гарантирует сохранение только наиболее достоверных результатов обнаружения для каждого объекта.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас