¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

¿Qué es R-CNN? Una descripción general rápida

Abirami Vina

6 minutos de lectura

7 de junio de 2024

Aprenda sobre RCNN y su impacto en la detección de objetos. Cubriremos sus componentes clave, aplicaciones y su papel en el avance de técnicas como Fast RCNN y YOLO.

La detección de objetos es una tarea de visión artificial que puede reconocer y localizar objetos en imágenes o videos para aplicaciones como la conducción autónoma, la vigilancia y las imágenes médicas. Los métodos anteriores de detección de objetos, como el detector de Viola-Jones y el histograma de gradientes orientados (HOG) con máquinas de vectores de soporte (SVM), se basaban en características diseñadas manualmente y ventanas deslizantes. Estos métodos a menudo tenían dificultades para detectar con precisión objetos en escenas complejas con múltiples objetos de diversas formas y tamaños.

Las redes neuronales convolucionales basadas en regiones (R-CNN) han cambiado la forma en que abordamos la detección de objetos. Es un hito importante en la historia de la visión artificial. Para comprender cómo surgieron modelos como YOLOv8, primero debemos comprender modelos como R-CNN. 

Creado por Ross Girshick y su equipo, la arquitectura del modelo R-CNN genera propuestas de regiones, extrae características con una red neuronal convolucional (CNN) preentrenada, clasifica objetos y refina los cuadros delimitadores. Si bien eso puede parecer desalentador, al final de este artículo, tendrá una comprensión clara de cómo funciona R-CNN y por qué es tan impactante. ¡Echemos un vistazo!

¿Cómo funciona R-CNN?

El proceso de detección de objetos del modelo R-CNN implica tres pasos principales: generar propuestas de regiones, extraer características y clasificar objetos, a la vez que se refinan sus áreas delimitadoras. Analicemos cada paso.

Fig. 1. Cómo funciona R-CNN.

Propuestas de regiones: La base de RCNN

En el primer paso, el modelo R-CNN escanea la imagen para crear numerosas propuestas de regiones. Las propuestas de regiones son áreas potenciales que podrían contener objetos. Se utilizan métodos como la Búsqueda Selectiva para analizar varios aspectos de la imagen, como el color, la textura y la forma, dividiéndola en diferentes partes. La Búsqueda Selectiva comienza dividiendo la imagen en partes más pequeñas y, a continuación, fusionando las similares para formar áreas de interés más grandes. Este proceso continúa hasta que se generan unas 2.000 propuestas de regiones.

Fig. 2. Cómo funciona la Búsqueda Selectiva.

Estas propuestas de regiones ayudan a identificar todos los posibles lugares donde podría haber un objeto. En los siguientes pasos, el modelo puede procesar eficientemente las áreas más relevantes centrándose en estas áreas específicas en lugar de en toda la imagen. El uso de propuestas de regiones equilibra la minuciosidad con la eficiencia computacional.

Extracción de características de la imagen: Captura de los detalles

El siguiente paso en el proceso de detección de objetos del modelo R-CNN es extraer características de las propuestas de regiones. Cada propuesta de región se redimensiona a un tamaño consistente que la CNN espera (por ejemplo, 224x224 píxeles). El cambio de tamaño ayuda a la CNN a procesar cada propuesta de manera eficiente. Antes de deformar, el tamaño de cada propuesta de región se expande ligeramente para incluir 16 píxeles de contexto adicional alrededor de la región para proporcionar más información circundante para una mejor extracción de características.

Una vez redimensionadas, estas propuestas de regiones se introducen en una CNN como AlexNet, que generalmente está preentrenada en un gran conjunto de datos como ImageNet. La CNN procesa cada región para extraer vectores de características de alta dimensión que capturan detalles importantes como bordes, texturas y patrones. Estos vectores de características condensan la información esencial de las regiones. Transforman los datos de imagen sin procesar en un formato que el modelo puede utilizar para un análisis posterior. La clasificación y localización precisas de los objetos en las siguientes etapas dependen de esta conversión crucial de la información visual en datos significativos.

Fig. 3. Extraer características de una propuesta de región utilizando AlexNet.

Clasificación de objetos: Identificación de objetos detectados

El tercer paso es clasificar los objetos dentro de estas regiones. Esto significa determinar la categoría o clase de cada objeto encontrado dentro de las propuestas. Los vectores de características extraídos se pasan a través de un clasificador de aprendizaje automático.

En el caso de R-CNN, las Máquinas de Vectores de Soporte (SVM) se utilizan comúnmente para este propósito. Cada SVM está entrenada para reconocer una clase de objeto específica analizando los vectores de características y decidiendo si una región en particular contiene una instancia de esa clase. Esencialmente, para cada categoría de objeto, hay un clasificador dedicado que comprueba cada propuesta de región para ese objeto específico.

Durante el entrenamiento, los clasificadores reciben datos etiquetados con muestras positivas y negativas:

  • Muestras positivas: Regiones que contienen el objeto objetivo.
  • Muestras negativas: Regiones sin el objeto.

Los clasificadores aprenden a distinguir entre estas muestras. La regresión del área delimitadora refina aún más la posición y el tamaño de los objetos detectados ajustando las áreas delimitadoras propuestas inicialmente para que coincidan mejor con los límites reales del objeto. El modelo R-CNN puede identificar y localizar con precisión los objetos combinando la clasificación y la regresión del área delimitadora.

Fig. 4. Un ejemplo de regresión de área delimitadora. (fuente: towardsdatascience.com)

Reuniéndolo todo: Refinando las detecciones con NMS

Después de los pasos de clasificación y regresión del área delimitadora, el modelo a menudo genera múltiples áreas delimitadoras superpuestas para el mismo objeto. Se aplica la Supresión No Máxima (NMS) para refinar estas detecciones, manteniendo las cajas más precisas. El modelo elimina las cajas redundantes y superpuestas aplicando NMS y mantiene solo las detecciones más confiables. 

NMS funciona evaluando las puntuaciones de confianza (que indican la probabilidad de que un objeto detectado esté realmente presente) de todas las áreas delimitadoras y suprimiendo aquellas que se superponen significativamente con las cajas de mayor puntuación. 

Fig. 5. Un ejemplo de supresión no máxima. (fuente:towardsdatascience.com)

Aquí hay un desglose de los pasos en NMS:

  • Clasificación: Las áreas delimitadoras se clasifican por sus puntuaciones de confianza en orden descendente.
  • Selección: Se selecciona el cuadro con la puntuación más alta y se eliminan todos los cuadros que se superponen significativamente (basado en la Intersección sobre la Unión, IoU) con él.
  • Iteración: Este proceso se repite para el siguiente cuadro con la puntuación más alta y continúa hasta que se hayan procesado todos los cuadros.

En resumen, el modelo R-CNN detecta objetos generando propuestas de región, extrayendo características con una CNN, clasificando objetos y refinando sus posiciones con la regresión de cuadros delimitadores, y utilizando la supresión no máxima (NMS) para mantener solo las detecciones más precisas.

R-CNN es un hito en la detección de objetos.

R-CNN es un modelo histórico en la historia de la detección de objetos porque introdujo un nuevo enfoque que mejoró enormemente la precisión y el rendimiento. Antes de R-CNN, los modelos de detección de objetos tenían dificultades para equilibrar la velocidad y la precisión. El método de R-CNN de generar propuestas de región y utilizar CNN para la extracción de características permite una localización e identificación precisas de los objetos dentro de las imágenes. 

R-CNN allanó el camino para modelos como Fast R-CNN, Faster R-CNN y Mask R-CNN, que mejoraron aún más la eficiencia y la precisión. Al combinar el aprendizaje profundo con el análisis basado en regiones, R-CNN estableció un nuevo estándar en el campo y abrió posibilidades para diversas aplicaciones del mundo real.

Transformación de las imágenes médicas con R-CNN

Un caso de uso interesante de R-CNN es en imágenes médicas. Los modelos R-CNN se han utilizado para detectar y clasificar diferentes tipos de tumores, como tumores cerebrales, en exploraciones médicas como resonancias magnéticas y tomografías computarizadas. El uso del modelo R-CNN en imágenes médicas mejora la precisión del diagnóstico y ayuda a los radiólogos a identificar las malignidades en una fase temprana. La capacidad de R-CNN para detectar incluso tumores pequeños y en fase inicial puede marcar una diferencia significativa en el tratamiento y el pronóstico de enfermedades como el cáncer.

Fig 6. Detección de tumores cerebrales mediante RCNN.

El modelo R-CNN puede aplicarse a otras tareas de imagenología médica además de la detección de tumores. Por ejemplo, puede identificar fracturas, detectar enfermedades de la retina en exploraciones oculares y analizar imágenes pulmonares para detectar afecciones como la neumonía y la COVID-19. Independientemente del problema médico, la detección temprana puede conducir a mejores resultados para el paciente. Al aplicar la precisión de R-CNN en la identificación y localización de anomalías, los proveedores de atención médica pueden mejorar la fiabilidad y la velocidad de los diagnósticos médicos. Con la detección de objetos agilizando el proceso de diagnóstico, los pacientes pueden beneficiarse de planes de tratamiento oportunos y precisos.

Las limitaciones de R-CNN y sus sucesores

Aunque impresionante, R-CNN tiene ciertos inconvenientes, como una alta complejidad computacional y tiempos de inferencia lentos. Estos inconvenientes hacen que el modelo R-CNN no sea adecuado para aplicaciones en tiempo real. La separación de las propuestas de región y las clasificaciones en pasos distintos puede conducir a un rendimiento menos eficiente.

Con el paso de los años, han surgido varios modelos de detección de objetos que han abordado estas preocupaciones. Fast R-CNN combina las propuestas de región y la extracción de características de CNN en un solo paso, lo que acelera el proceso. Faster R-CNN introduce una Red de Propuesta de Regiones (RPN) para agilizar la generación de propuestas, mientras que Mask R-CNN añade la segmentación a nivel de píxel para detecciones más detalladas.

Fig 7. Comparación de R-CNN, fast R-CNN, faster R-CNN y mask R-CNN.

Casi al mismo tiempo que Faster R-CNN, la serie YOLO (You Only Look Once) comenzó a avanzar en la detección de objetos en tiempo real. Los modelos YOLO predicen los cuadros delimitadores y las probabilidades de clase en una sola pasada por la red. Por ejemplo, el Ultralytics YOLOv8 ofrece una mayor precisión y velocidad con funciones avanzadas para muchas tareas de visión artificial.

Conclusiones clave

RCNN cambió las reglas del juego en la visión artificial, mostrando cómo el aprendizaje profundo puede cambiar la detección de objetos. Su éxito inspiró muchas ideas nuevas en el campo. Aunque han surgido modelos más nuevos como Faster R-CNN y YOLO para corregir los fallos de RCNN, su contribución es un hito enorme que es importante recordar.

A medida que la investigación continúa, veremos modelos de detección de objetos aún mejores y más rápidos. Estos avances no solo mejorarán la forma en que las máquinas entienden el mundo, sino que también conducirán al progreso en muchas industrias. ¡El futuro de la detección de objetos parece emocionante!

¿Quiere seguir explorando la IA? ¡Forme parte de la comunidad Ultralytics! Explore nuestro repositorio de GitHub para ver nuestras últimas innovaciones en inteligencia artificial. Consulte nuestras soluciones de IA que abarcan varios sectores como la agricultura y la fabricación. ¡Únase a nosotros para aprender y avanzar!

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis
Enlace copiado al portapapeles