¿Qué es R-CNN? Resumen rápido
Descubre cómo funciona R-CNN, desde la búsqueda selectiva y la extracción de características con CNN hasta la clasificación con SVM y NMS, y cómo allanó el camino para Fast R-CNN y YOLO.
Abirami Vina9 min de lectura
La detección de objetos es una tarea de visión artificial que permite reconocer y localizar objetos en imágenes o vídeos para aplicaciones como la conducción autónoma, la vigilancia y el diagnóstico por imagen. Los primeros métodos de detección de objetos, como el detector Viola-Jones y los histogramas 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 solían tener dificultades para detectar objetos con precisión en escenas complejas con varios objetos de distintas formas y tamaños.
Las redes neuronales convolucionales basadas en regiones (R-CNN) cambiaron la forma de abordar la detección de objetos. Supusieron un hito importante en la historia de la visión artificial. Para entender cómo surgieron modelos como Ultralytics YOLOv8, primero debemos 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 ajusta las cajas delimitadoras. Aunque pueda parecer complicado, al final de este artículo entenderás claramente cómo funciona R-CNN y por qué ha tenido tanta repercusión.
¿Cómo funciona R-CNN?#
El proceso de detección de objetos del modelo R-CNN consta de tres pasos principales: generar propuestas de regiones, extraer características y clasificar objetos mientras se refinan sus cuadros delimitadores. Veamos cada paso.

Fig. 1. Funcionamiento de R-CNN.
Propuestas de regiones: la base de RCNN#
En el primer paso, el modelo R-CNN analiza 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 Selective Search para examinar distintos aspectos de la imagen, como el color, la textura y la forma, y dividirla en diferentes partes. Selective Search empieza por dividir la imagen en partes más pequeñas y, después, combina las similares para formar áreas de interés más grandes. El proceso continúa hasta generar unas 2000 propuestas de regiones.

Fig. 2. Funcionamiento de Selective Search.
Estas propuestas de regiones ayudan a identificar todos los lugares posibles en los que podría haber un objeto. En los pasos siguientes, el modelo puede procesar eficazmente las áreas más relevantes centrándose en esas zonas concretas en lugar de analizar toda la imagen. El uso de propuestas de regiones equilibra la exhaustividad y la eficiencia computacional.
Extracción de características de imágenes: captura de detalles#
El siguiente paso del proceso de detección de objetos del modelo R-CNN consiste en extraer características de las propuestas de regiones. Cada propuesta de región se redimensiona a un tamaño uniforme que la CNN espera recibir (por ejemplo, 224x224 píxeles). El redimensionamiento ayuda a la CNN a procesar cada propuesta con eficiencia. Antes de deformarla, el tamaño de cada propuesta de región se amplía ligeramente para incluir 16 píxeles adicionales de contexto alrededor de la región y aportar más información del entorno para extraer mejor las características.
Una vez redimensionadas, estas propuestas de regiones se introducen en una CNN como AlexNet, normalmente preentrenada con un conjunto de datos grande 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 a un formato que el modelo puede utilizar para analizarlos posteriormente. La conversión de la información visual en datos significativos es fundamental para clasificar y localizar objetos con precisión en las siguientes etapas.

Fig. 3. Extrae características de una propuesta de región con AlexNet.
Clasificación de objetos: identificación de los objetos detectados#
El tercer paso consiste en clasificar los objetos de estas regiones. Esto significa determinar la categoría o clase de cada objeto encontrado en las propuestas. A continuación, los vectores de características extraídos se introducen en un clasificador de aprendizaje automático.
En R-CNN, se suelen utilizar Máquinas de Vectores de Soporte (SVM) para este fin. Cada SVM se entrena para reconocer una clase de objeto específica mediante el análisis de los vectores de características y la determinación de si una región concreta contiene una instancia de esa clase. En esencia, cada categoría de objeto cuenta con un clasificador específico que comprueba si cada propuesta de región contiene ese objeto.
Durante el entrenamiento, se proporcionan a los clasificadores datos etiquetados con muestras positivas y negativas:
- Muestras positivas: regiones que contienen el objeto objetivo.
- Muestras negativas: regiones que no contienen el objeto.
Los clasificadores aprenden a distinguir entre estas muestras. La regresión de cuadros delimitadores refina aún más la posición y el tamaño de los objetos detectados, ajustando los cuadros delimitadores propuestos inicialmente para que se adapten mejor a los límites reales del objeto. El modelo R-CNN puede identificar y localizar objetos con precisión al combinar la clasificación y la regresión de cuadros delimitadores.

Fig. 4. Ejemplo de regresión de cuadros delimitadores. (fuente: towardsdatascience.com)
Integración de todos los pasos: mejora de las detecciones con NMS#
Después de los pasos de clasificación y regresión de cajas delimitadoras, el modelo suele generar varias cajas delimitadoras superpuestas para el mismo objeto. Se aplica la supresión no máxima (NMS) para perfeccionar estas detecciones y conservar las cajas más precisas. El modelo elimina las cajas redundantes y superpuestas mediante NMS y conserva únicamente las detecciones con mayor confianza.
NMS evalúa las puntuaciones de confianza (que indican la probabilidad de que un objeto detectado esté realmente presente) de todos los cuadros delimitadores y suprime aquellos que se superponen considerablemente con cuadros con puntuaciones más altas.

Fig. 5. Ejemplo de supresión no máxima. (fuente: towardsdatascience.com)
Estos son los pasos de NMS:
- Ordenación: Los cuadros delimitadores se ordenan de mayor a menor según sus puntuaciones de confianza.
- Selección: Se selecciona el cuadro con la puntuación más alta y se eliminan todos los cuadros que se superponen considerablemente con él (según la intersección sobre unión, IoU).
- Iteración: El proceso se repite con 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 regiones, extrayendo características con una CNN, clasificando los objetos y ajustando sus posiciones mediante la regresión de cajas delimitadoras, y utilizando NMS para conservar únicamente las detecciones más precisas.
R-CNN es un hito en la detección de objetos#
R-CNN es un modelo emblemático 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. Su método de generar propuestas de regiones y utilizar CNN para extraer características permite localizar e identificar objetos con precisión en 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ó la puerta a numerosas aplicaciones reales.
Transformación del diagnóstico por imagen con R-CNN#
Un caso de uso interesante de R-CNN es el diagnóstico por imagen. Se han utilizado modelos R-CNN para detectar y clasificar distintos tipos de tumores, como los tumores cerebrales, en imágenes médicas como resonancias magnéticas y tomografías computarizadas. El uso del modelo R-CNN en el diagnóstico por imagen mejora la precisión de los diagnósticos 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 fases iniciales puede marcar una gran diferencia en el tratamiento y el pronóstico de enfermedades como el cáncer.

Fig. 6. Detección de tumores cerebrales con R-CNN.
El modelo R-CNN puede aplicarse a otras tareas de diagnóstico por imagen, además de la detección de tumores. Por ejemplo, puede identificar fracturas, detectar enfermedades de la retina en imágenes oculares y analizar imágenes pulmonares para detectar afecciones como la neumonía y la COVID-19. Sea cual sea el problema médico, la detección temprana puede contribuir a mejorar los resultados de los pacientes. Al aplicar la precisión de R-CNN para identificar y localizar anomalías, los proveedores de servicios sanitarios pueden mejorar la fiabilidad y la rapidez del diagnóstico médico. La detección de objetos agiliza el proceso de diagnóstico, lo que permite que los pacientes reciban planes de tratamiento precisos y a tiempo.
Limitaciones de R-CNN y sus sucesores#
Aunque es impresionante, R-CNN tiene ciertos inconvenientes, como una gran 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 la clasificación en pasos distintos puede reducir la eficiencia del rendimiento.
A lo largo de los años han aparecido varios modelos de detección de objetos que han abordado estas cuestiones. Fast R-CNN ejecuta la CNN una sola vez sobre toda la imagen y agrupa las características de cada propuesta de región a partir de ese mapa de características compartido, lo que acelera el proceso. Faster R-CNN introduce una red de propuestas de regiones (RPN) para agilizar la generación de propuestas, mientras que Mask R-CNN añade segmentación a nivel de píxel para obtener 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 (Solo miras una vez) empezó a impulsar la detección de objetos en tiempo real. Los modelos YOLO predicen cajas delimitadoras y probabilidades de clase en una sola pasada por la red. Por ejemplo, Ultralytics YOLOv8 ofrece mayor precisión y velocidad, además de funciones avanzadas para muchas tareas de visión artificial, y los modelos más recientes, como Ultralytics YOLO26, van aún más allá al eliminar por completo NMS.
Conclusiones clave#
R-CNN supuso un punto de inflexión en la visión artificial al demostrar cómo el aprendizaje profundo podía transformar la detección de objetos. Su éxito inspiró muchas ideas nuevas en este campo. Aunque modelos más recientes como Faster R-CNN y YOLO han corregido desde entonces las deficiencias de R-CNN, su contribución sigue siendo un hito enorme que conviene 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 solo mejorarán la forma en que las máquinas entienden el mundo, sino que también impulsarán el progreso en muchos sectores.
¿Quieres seguir explorando la IA? ¡Únete a la comunidad de Ultralytics! Explora nuestro repositorio de GitHub para conocer nuestras últimas innovaciones en inteligencia artificial. Descubre nuestras soluciones de IA para distintos sectores, como la agricultura y la fabricación. ¡Únete a nosotros para aprender y avanzar!
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










