Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Anchor Boxes

Las cajas de anclaje son cajas predefinidas de tamaños y relaciones de aspecto fijos que un detector desplaza y redimensiona para ajustarlas a los objetos. Cómo se dimensionan, emparejan y utilizan.

Las cajas de anclaje son rectángulos predefinidos de tamaños y proporciones fijos que se distribuyen en cada posición de los mapas de características de un detector y sirven como estimaciones iniciales de la ubicación y la forma de los objetos. Un detector basado en anclajes asigna una puntuación a cada anclaje para cada clase y predice pequeños desplazamientos que lo mueven y redimensionan para ajustarlo al objeto, algo más fácil de aprender que predecir una caja desde cero. Faster R-CNN coloca 9 anclajes en cada posición: tres áreas (128², 256² y 512² píxeles) por tres proporciones (1:1, 1:2 y 2:1), lo que suma unos 20 000 anclajes para una imagen de 1000 × 600.

Cómo se definen los anclajes#

Un conjunto de anclajes es una lista de tamaños y proporciones que se repite en cada celda de un mapa de características, por lo que el número de anclajes equivale a celdas × formas por celda. Los detectores con una red piramidal de características (FPN) asignan anclajes pequeños a niveles detallados y de alta resolución, y anclajes grandes a niveles más gruesos: RetinaNet usa 9 anclajes por ubicación en cada uno de los cinco niveles, unos 100 000 por imagen. SSD los denomina cajas predeterminadas, y SSD300 distribuye 8732.

Las formas elegidas manualmente se ajustan mal a algunos conjuntos de datos, así que YOLOv2 aplicó agrupamiento k-means a las anchuras y alturas de las cajas de entrenamiento, usando 1 − IoU como distancia, y conservó 5 centros de grupos como anclajes. YOLOv3 agrupó 9 anclajes y los repartió por igual entre sus tres strides de salida, desde 10 × 13 píxeles en el nivel de stride 8 hasta 373 × 326 en el de stride 32.

Asignación de anclajes a objetos#

Durante el entrenamiento, cada anclaje se compara con todas las cajas etiquetadas mediante la intersección sobre la unión (IoU). Los anclajes que se solapan suficientemente con un objeto se convierten en muestras positivas y aprenden la clase del objeto y los desplazamientos hasta su caja delimitadora; los que apenas se solapan se convierten en negativos y aprenden «fondo», mientras que los intermedios se ignoran. La red de propuestas de regiones de Faster R-CNN marca como positivos los IoU de 0,7 o más y como negativos los inferiores a 0,3. También marca como positivo el anclaje que mejor coincide con cada objeto, para que ninguno se quede sin uno.

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}")

Solo el anclaje alto de 128 píxeles (proporción 2,0) se solapa lo suficiente con el peatón para ser positivo, con un IoU de 0,88. Se ignoran otros dos anclajes de 128 píxeles, con IoU de 0,31 y 0,50, y los seis anclajes de tamaño incorrecto son negativos. A continuación, el anclaje positivo aprende desplazamientos con la parametrización estándar: el centro se mueve en fracciones de la anchura y la altura del anclaje, y la anchura y la altura se escalan exponencialmente según los valores predichos.

Elección del tamaño de los anclajes para un conjunto de datos#

Los anclajes que se ajustan a las formas de los objetos de un conjunto de datos permiten que más objetos tengan un anclaje positivo, lo que aumenta el recall que puede alcanzar un detector. Ultralytics YOLOv5 parte de los 9 anclajes de YOLOv3 y los comprueba antes del entrenamiento con AutoAnchor: mide el recall máximo posible de sus anclajes en las etiquetas de entrenamiento y, si no supera 0,98, vuelve a ajustarlos con k-means y 1000 generaciones de evolución genética, y solo conserva los nuevos anclajes si mejora el recall.

Limitaciones y detectores sin anclajes#

Los anclajes tienen tres inconvenientes. Casi todos los miles de anclajes de una imagen cubren el fondo, lo que hace que los negativos fáciles dominen la función de pérdida; RetinaNet introdujo la pérdida focal para reducir su peso. Varios anclajes vecinos se ajustan al mismo objeto, así que la salida necesita supresión no máxima (NMS) para conservar una caja por objeto. Además, los tamaños, las proporciones y los umbrales de IoU son hiperparámetros que cambian con cada conjunto de datos y tamaño de imagen.

Los detectores sin anclajes eliminan esos hiperparámetros al predecir cajas a partir de puntos o puntos clave, y la mayoría de los detectores en tiempo real publicados desde YOLOX en 2021 no usan anclajes. Los anclajes siguen presentes en detectores basados en anclajes como Faster R-CNN, Mask R-CNN y RetinaNet. Al comparar RetinaNet con FCOS, que no usa anclajes, ATSS descubrió que, una vez que ambos seleccionaban las muestras positivas de la misma forma, RetinaNet con 9 anclajes por ubicación no era más preciso que con 1.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático