Existen varios enfoques de machine learning para las tareas de detección de objetos. Algunos ejemplos son el marco Viola-Jones8 y el histograma de gradientes orientados9. Sin embargo, la investigación y el desarrollo recientes de detección de objetos se han centrado en gran medida en las redes neuronales convolucionales (CNN). Como tal, esta página se centra en los dos tipos de CNN más discutidos en la investigación de detección de objetos. Tenga en cuenta que estos modelos se prueban y comparan utilizando conjuntos de datos de referencia, como el conjunto de datos COCO de Microsoft o ImageNet.
Una R-CNN (red neuronal convolucional basada en regiones) es un detector de dos etapas que utiliza un método llamado propuestas de región para generar 2000 predicciones de región por imagen. A continuación, la R-CNN deforma las regiones extraídas a un tamaño uniforme y las ejecuta a través de redes separadas para la extracción y clasificación de características. Cada región se clasifica de acuerdo con la confianza de su clasificación. A continuación, la R-CNN rechaza las regiones que tienen una cierta superposición de IoU con una región seleccionada con una puntuación más alta. Las regiones clasificadas restantes no superpuestas y de mayor rango son el resultado del modelo10. Como era de esperar, es costosa y lenta desde el punto de vista computacional. Fast R-CNN y Faster R-CNN son modificaciones posteriores que reducen el tamaño de la arquitectura de R-CNN y, por lo tanto, disminuyen el tiempo de procesamiento y aumentan la precisión11.
YOLO (You Only Look Once) es una familia de arquitecturas de detección de una sola etapa basadas en Darknet, un marco CNN de código abierto. Desarrollada por primera vez en 2016, la arquitectura YOLO prioriza la velocidad. De hecho, la velocidad de YOLO la hace preferible para la detección de objetos en tiempo real y le ha valido el descriptor común de detector de objetos de última generación. YOLO difiere de R-CNN en varios aspectos. Mientras que R-CNN pasa regiones de imágenes extraídas a través de múltiples redes que extraen características y clasifican imágenes por separado, YOLO condensa estas acciones en una sola red. En segundo lugar, en comparación con las propuestas de ~2000 regiones de R-CNN, YOLO hace menos de 100 predicciones de cuadros delimitadores por imagen. Además de ser más rápido que R-CNN, YOLO también produce menos falsos positivos de fondo, aunque tiene un mayor error de localización12. Ha habido muchas actualizaciones de YOLO desde sus inicios, generalmente centradas en la velocidad y la precisión13.
Aunque originalmente se desarrollaron para la detección de objetos, las versiones posteriores de R-CNN y YOLO también pueden entrenar modelos de clasificación y segmentación. En concreto, Mask R-CNN combina la detección y la segmentación de objetos, mientras que YOLOv5 puede entrenar modelos separados de clasificación, detección y segmentación.
Por supuesto, hay muchas otras arquitecturas de modelos más allá de R-CNN y YOLO. SSD y Retinanet son dos modelos adicionales que utilizan una arquitectura simplificada similar a YOLO14. DETR es otra arquitectura desarrollada por Facebook (ahora Meta) que combina CNN con un modelo de transformador y muestra un rendimiento comparable al de Faster R-CNN15.