Existen varios enfoques de machine learning para las tareas de detección de objetos. Algunos ejemplos son el marco de Viola-Jones 8 y el histograma de gradientes orientados.9 Sin embargo, la investigación y el desarrollo recientes en detección de objetos se centraron en gran medida en las redes neuronales convolucionales (CNN). Por ello, esta página se centra en los dos tipos de CNN más debatidos en la investigación sobre 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.
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. Luego, R-CNN deforma las regiones extraídas a un tamaño uniforme y ejecuta esas regiones 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. Luego, R-CNN rechaza las regiones que tienen una cierta superposición de IoU con una región seleccionada de puntuación más alta. Las regiones clasificadas restantes que no se superponen y están mejor clasificadas son el resultado del modelo.10 Como era de esperar, esta arquitectura es computacionalmente costosa y lenta. 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, reducen el tiempo de procesamiento y aumentan la precisión.11
YOLO (You Only Look Once) es una familia de arquitecturas de detección de una sola etapa basadas en Darknet, un marco de 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 del detector de objetos de última generación. YOLO difiere de R-CNN en varios aspectos. Mientras R-CNN pasa regiones de imágenes extraídas a través de múltiples redes que extraen características por separado y clasifican imágenes, YOLO condensa estas acciones en una sola red. En segundo lugar, en comparación con las propuestas de la región ~2000 de R-CNN, YOLO hace menos de 100 predicciones de cuadro delimitador 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ón.12 Ha habido muchas actualizaciones de YOLO desde sus inicios, generalmente centradas en la velocidad y la precisión.13
Aunque originalmente se desarrolló para la detección de objetos, versiones posteriores de R-CNN y YOLO también pueden entrenar modelos de clasificación y segmentación. Específicamente, Mask R-CNN combina tanto la detección de objetos como la segmentación, mientras que YoLov5 puede entrenar modelos separados de clasificación, detección y segmentación.
Por supuesto, hay muchas otras arquitecturas modelo más allá de R-CNN y YOLO. SSD y Retinanet son dos modelos adicionales que utilizan una arquitectura simplificada similar a YOLO.14 DETR es otra arquitectura desarrollada por Facebook (ahora Meta) que combina CNN con un modelo transformador y muestra un rendimiento comparable a Faster R-CNN.15