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

Two-Stage Object Detectors

Los detectores de objetos de dos etapas proponen regiones candidatas y, después, clasifican y refinan cada una. Descubre cómo funciona Faster R-CNN, cuáles son los modelos de la familia R-CNN y qué ventajas e inconvenientes tienen.

Los detectores de objetos de dos etapas son modelos de detección de objetos que dividen el trabajo en dos pasos: una primera etapa propone regiones de la imagen que podrían contener un objeto, y una segunda etapa clasifica cada región y ajusta su cuadro delimitador. La familia R-CNN definió este diseño entre 2014 y 2018 y lideró durante años los benchmarks de detección y segmentación de instancias. Los detectores de objetos de una etapa omiten la propuesta de regiones y predicen todos los cuadros desde una cuadrícula densa en una sola pasada, por lo que la mayoría de los sistemas en tiempo real los utilizan.

Cómo funcionan los detectores de dos etapas#

Una red troncal de red neuronal convolucional calcula los mapas de características de toda la imagen una sola vez, normalmente con una red piramidal de características (FPN) encima. En la primera etapa, una red de propuesta de regiones (RPN) puntúa un conjunto de cajas ancla en cada posición del mapa de características según la probabilidad de que contengan un objeto y regresa desplazamientos que las reajustan; Faster R-CNN utiliza nueve anclas por posición: tres tamaños por tres relaciones de aspecto. La supresión no máxima (NMS) elimina las propuestas que se solapan y las regiones con mayor puntuación —300 por imagen durante las pruebas en el artículo original— pasan a la segunda etapa. Allí, RoI pooling o su sucesor más preciso, RoIAlign, recorta una cuadrícula de características de tamaño fijo para cada propuesta, y un pequeño cabezal predice una clase, incluida una clase de fondo, y los desplazamientos de caja específicos de cada clase para cada recorte.

Un hook forward en la RPN de Faster R-CNN de torchvision muestra cuánto trabajo recibe la segunda etapa:

import urllib.request

from PIL import Image
from torchvision.models.detection import FasterRCNN_ResNet50_FPN_V2_Weights, fasterrcnn_resnet50_fpn_v2

# Load Faster R-CNN with a ResNet-50 FPN backbone, pretrained on COCO
weights = FasterRCNN_ResNet50_FPN_V2_Weights.DEFAULT
model = fasterrcnn_resnet50_fpn_v2(weights=weights).eval()
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg"))

# Report how many regions the first stage, the region proposal network, passes on
model.rpn.register_forward_hook(lambda module, inputs, output: print(f"Stage 1: {len(output[0][0])} proposals"))

# The second stage classifies and refines every proposal
detections = model([weights.transforms()(image)])[0]
labels = detections["labels"][detections["scores"] > 0.5]
print(f"Stage 2: {len(labels)} objects {[weights.meta['categories'][i] for i in labels]}")

Imprime Stage 1: 1000 proposals y Stage 2: 6 objects ['person', 'bus', 'person', 'person', 'person', 'tie']: torchvision conserva 1.000 propuestas por imagen durante la inferencia, y la segunda etapa las convierte en seis detecciones fiables.

La familia R-CNN#

  • R-CNN (2014): Selective Search proponía unas 2.000 regiones; cada región se deformaba a un tamaño fijo y se pasaba por separado por la CNN, y las máquinas de vectores de soporte clasificaban las características, por lo que la detección con una red troncal VGG-16 tardaba 47 segundos por imagen en una GPU.
  • Fast R-CNN (2015): Calcular el mapa de características una sola vez y extraer de él las características de cada propuesta mediante RoI pooling permitió entrenar VGG-16 9 veces más rápido que R-CNN y realizar las pruebas 213 veces más rápido.
  • Faster R-CNN (2015): La RPN sustituyó a Selective Search y comparte las características de la red troncal, por lo que las propuestas apenas tienen coste y el detector completo funcionaba a 5 fotogramas por segundo.
  • Mask R-CNN (2017): Una tercera rama predice una máscara de píxeles para cada región, lo que convierte el detector en un modelo de segmentación de instancias, y RoIAlign muestrea las características en posiciones fraccionarias exactas, en lugar de redondearlas como hacía RoI pooling.
  • Cascade R-CNN (2018): Tres cabezales de segunda etapa entrenados con umbrales de IoU crecientes de 0,5, 0,6 y 0,7 refinan cada uno las cajas del anterior y mejoran la precisión de la localización.

Detectores de dos etapas frente a detectores de una etapa#

La RPN descarta la mayor parte del fondo antes de que lo vea el clasificador, así que la segunda etapa se entrena con regiones muestreadas en las que los objetos representan una proporción fija —el 25 % en Fast R-CNN— y clasifica cada región con características extraídas en su posición exacta. Los detectores de una etapa puntúan todas las posiciones de una cuadrícula densa, unas 100.000 candidatas por imagen en RetinaNet, y su precisión fue inferior a la de los detectores de dos etapas hasta que en 2017 la pérdida focal redujo el peso de las candidatas fáciles del fondo. Los modelos actuales de una etapa igualan o superan la precisión de los de dos etapas con una latencia muy inferior, y resulta más sencillo exportar una sola red a hardware de borde, por lo que hoy los modelos de dos etapas aparecen sobre todo como referencias de investigación y en bibliotecas como Detectron2. auto_annotate de Ultralytics aplica la misma división de propuesta y refinamiento mediante dos modelos para el etiquetado de datos: un detector YOLO26 propone cajas y el Modelo Segment Anything (SAM) de Meta, al que se le proporciona cada caja como indicación, segmenta el objeto que contiene para generar etiquetas de segmentación.

Aplicaciones en el mundo real#

  • Diagnóstico por imagen: Las variantes de Mask R-CNN detectan y delimitan células, núcleos y lesiones individuales en imágenes de microscopía y TC, donde cada instancia necesita su propia máscara para poder contarla y medirla.
  • Análisis de la estructura de documentos: El benchmark PubLayNet, con más de 360.000 imágenes de páginas, se utilizó para entrenar modelos Faster R-CNN y Mask R-CNN que localizan bloques de texto, títulos, listas, tablas e ilustraciones antes del reconocimiento de texto.
  • Imágenes aéreas: Oriented R-CNN amplía la RPN para proponer regiones rotadas, de modo que la segunda etapa devuelve cajas delimitadoras orientadas para barcos, aviones y vehículos del conjunto de datos DOTA.

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