¿Qué es R-CNN? Un breve resumen

Abirami Vina

6 min leer

7 de junio de 2024

Conozca la RCNN y su impacto en la detección de objetos. Trataremos sus componentes clave, sus 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 por ordenador que permite reconocer y localizar objetos en imágenes o vídeos para aplicaciones como la conducción autónoma, la vigilancia y la obtención de imágenes médicas. Los primeros métodos 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 elaboradas a mano y ventanas deslizantes. Estos métodos solían tener dificultades para detectar con precisión objetos en escenas complejas con múltiples objetos de distintas formas y tamaños.

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

Creada 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. Aunque pueda parecer desalentador, al final de este artículo comprenderás claramente cómo funciona R-CNN y por qué es tan impactante. Echémosle un vistazo.

¿Cómo funciona R-CNN?

El proceso de detección de objetos del modelo R-CNN consta de tres pasos principales: generación de propuestas de regiones, extracción de características y clasificación de objetos mientras se refinan sus cuadros delimitadores. Veamos cada uno de estos pasos.

__wf_reserved_inherit
Fig. 1. Funcionamiento de la R-CNN.

Propuestas regionales: La columna vertebral de RCNN

En el primer paso, el modelo R-CNN escanea la imagen para crear numerosas propuestas de regiones. Las propuestas de región son áreas potenciales que podrían contener objetos. Métodos como la búsqueda selectiva se utilizan para analizar diversos 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 luego 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.

__wf_reserved_inherit
Fig. 2. Funcionamiento de la búsqueda selectiva.

Estas propuestas de regiones ayudan a identificar todos los puntos posibles en los que puede haber un objeto. En los pasos siguientes, el modelo puede procesar eficazmente las zonas más relevantes centrándose en estas zonas 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: Captar los detalles

El siguiente paso en el proceso de detección de objetos del modelo R-CNN consiste en extraer características de las propuestas de región. Cada propuesta de región se redimensiona a un tamaño coherente con el que espera la CNN (por ejemplo, 224x224 píxeles). El cambio de tamaño ayuda a la CNN a procesar eficientemente cada propuesta. Antes de la deformación, el tamaño de cada propuesta de región se amplía ligeramente para incluir 16 píxeles de contexto adicional alrededor de la región a fin de 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 suele estar 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 condensan la información esencial de las regiones. Transforman los datos brutos de la imagen en un formato que el modelo puede utilizar para análisis posteriores. La precisión en la clasificación y localización de objetos en las etapas siguientes depende de esta conversión crucial de la información visual en datos significativos.

__wf_reserved_inherit
Fig. 3. Extracción de características de una propuesta de región mediante AlexNet.

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

El tercer paso consiste en clasificar los objetos dentro de estas regiones. Esto significa determinar la categoría o clase de cada objeto encontrado dentro de las propuestas. A continuación, los vectores de características extraídos se pasan por un clasificador de aprendizaje automático.

En el caso de la R-CNN, las máquinas de vectores soporte (SVM) se utilizan habitualmente para este fin. Cada SVM se entrena para reconocer una clase de objeto específica analizando los vectores de características y decidiendo si una región concreta contiene un caso 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 de recuadros delimitadores afina aún más la posición y el tamaño de los objetos detectados ajustando los recuadros delimitadores propuestos inicialmente para que se ajusten mejor a los límites reales de los objetos. El modelo R-CNN puede identificar y localizar objetos con precisión combinando la clasificación y la regresión de recuadros delimitadores.

__wf_reserved_inherit
Fig. 4. Ejemplo de regresión de caja delimitadora. (fuente: towardsdatascience.com)

Ponerlo todo junto: Afinar las detecciones con NMS

Tras los pasos de clasificación y regresión de recuadros delimitadores, el modelo genera a menudo múltiples recuadros delimitadores superpuestos para el mismo objeto. Se aplica la supresión no máxima (NMS) para refinar estas detecciones, manteniendo los recuadros más precisos. El modelo elimina los recuadros redundantes y superpuestos aplicando la NMS y conserva sólo las detecciones más seguras. 

El NMS funciona evaluando las puntuaciones de confianza (que indican la probabilidad de que un objeto detectado esté realmente presente) de todos los recuadros delimitadores y suprimiendo aquellos que se solapan significativamente con recuadros de mayor puntuación. 

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

Aquí tienes un desglose de los pasos de NMS:

  • Ordenación: Los cuadros delimitadores se ordenan por sus puntuaciones de confianza en orden descendente.
  • Selección: Se selecciona la casilla con la puntuación más alta y se eliminan todas las casillas que se solapan significativamente (según Intersección sobre Unión, IoU) con ella.
  • Iteración: Este proceso se repite para la siguiente casilla con mayor puntuación y continúa hasta que se hayan procesado todas las casillas.

En resumen, el modelo R-CNN detecta objetos generando propuestas de regiones, extrayendo características con una CNN, clasificando objetos y refinando sus posiciones con regresión de caja delimitadora, y utilizando Supresión No Máxima (NMS) manteniendo sólo las detecciones más precisas.

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

R-CNN es un modelo que ha marcado un hito 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 luchaban por equilibrar velocidad y precisión. El método de R-CNN para generar propuestas de regiones y utilizar CNN para la extracción de características permite localizar e identificar con precisión 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 este campo y abrió posibilidades para diversas aplicaciones del mundo real.

Transformación de la imagen médica con R-CNN

Un caso interesante de R-CNN es el de las imágenes médicas. Los modelos R-CNN se han utilizado para detectar y clasificar distintos tipos de tumores, como los 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 tumores malignos en una fase temprana. La capacidad de R-CNN para detectar incluso tumores pequeños y en estadios tempranos puede suponer una diferencia significativa en el tratamiento y el pronóstico de enfermedades como el cáncer.

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

El modelo R-CNN puede aplicarse a otras tareas de imagen 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 neumonía y COVID-19. Sea cual sea el problema médico, la detección precoz puede mejorar la evolución de los pacientes. Aplicando la precisión de R-CNN en la identificación y localización de anomalías, los profesionales sanitarios pueden mejorar la fiabilidad y rapidez de los diagnósticos médicos. Con la detección de objetos que agiliza 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 impresionantes, las R-CNN presentan ciertos inconvenientes, como una elevada complejidad computacional y tiempos de inferencia lentos. Estos inconvenientes hacen que el modelo R-CNN no sea adecuado para aplicaciones en tiempo real. Separar las propuestas de regiones y las clasificaciones en pasos distintos puede dar lugar a un rendimiento menos eficiente.

A lo largo de los años, han surgido varios modelos de detección de objetos que han abordado estos problemas. La R-CNN rápida combina las propuestas de regiones y la extracción de características de la CNN en un solo paso, lo que acelera el proceso. La R-CNN rápida introduce una red de propuestas regionales (RPN) para agilizar la generación de propuestas, mientras que la R-CNN de máscara añade segmentación a nivel de píxel para detecciones más detalladas.

__wf_reserved_inherit
Fig. 7. Comparación de R-CNN, R-CNN rápida, R-CNN más rápida y R-CNN de máscara.

Más o menos al mismo tiempo que Faster R-CNN, la serie YOLO (You Only Look Once) empezó a avanzar en la detección de objetos en tiempo real. Los modelos YOLO predicen recuadros delimitadores y probabilidades de clase en una sola pasada por la red. Por ejemplo, Ultralytics YOLOv8 ofrece mayor precisión y velocidad con funciones avanzadas para muchas tareas de visión por ordenador.

Principales conclusiones

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

A medida que avance la investigación, veremos modelos de detección de objetos aún mejores y más rápidos. Estos avances no sólo mejorarán la forma en que las máquinas entienden el mundo, sino que también supondrán un progreso en muchas industrias. El futuro de la detección de objetos se presenta apasionante.

¿Quieres seguir explorando sobre IA? ¡Forme parte de la comunidad Ultralytics! Explore nuestro repositorio GitHub para ver nuestras últimas innovaciones en inteligencia artificial. Echa un vistazo a 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

Empezar gratis
Enlace copiado en el portapapeles