Aprende sobre RCNN y su impacto en la detección de objetos. Cubriremos sus componentes clave, sus aplicaciones y su papel en el avance de técnicas como la RCNN rápida y YOLO.
La detección de objetos es una tarea de visión artificial que puede reconocer y localizar objetos en imágenes o vídeos 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 Viola-Jones y el histograma de gradientes orientados (HOG) con máquinas de vectores de soporte (SVM), se basaban en características artesanales y ventanas correderas. 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 entender cómo los 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 región, extrae características con una red neuronal convolucional (CNN) previamente entrenada, 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!
El proceso de detección de objetos del modelo R-CNN implica tres pasos principales: generar propuestas de región, extraer entidades y clasificar objetos mientras se refinan sus cuadros delimitadores. Repasemos cada paso.
En el primer paso, el modelo de R-CNN escanea la imagen para crear numerosas propuestas de regiones. Las propuestas de región son áreas potenciales que pueden contener objetos. Métodos como la búsqueda selectiva se utilizan para observar 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 luego fusionando otras similares para formar áreas de interés más grandes. Este proceso continúa hasta que se generan alrededor de 2.000 propuestas regionales.
Estas propuestas de regiones ayudan a identificar todos los posibles puntos en los que un objeto podría estar presente. En los siguientes pasos, el modelo puede procesar de manera eficiente las áreas más relevantes centrándose en estas áreas específicas en lugar de en toda la imagen. El uso de propuestas de región equilibra la minuciosidad con la eficiencia computacional.
El siguiente paso en el proceso de detección de objetos del modelo R-CNN es extraer características de las propuestas de región. Se cambia el tamaño de cada propuesta de región a un tamaño coherente que espera la CNN (por ejemplo, 224 x 224 píxeles). El cambio de tamaño ayuda a la CNN a procesar cada propuesta de manera eficiente. Antes de la deformación, 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 entidades.
Una vez redimensionadas, estas propuestas de región 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 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 su posterior análisis. La clasificación y localización precisa de los objetos en las siguientes etapas depende de esta conversión crucial de la información visual en datos significativos.
El tercer paso es clasificar los objetos dentro de estas regiones. Esto significa determinar la categoría o clase de cada objeto que se encuentra dentro de las propuestas. A continuación, 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 mediante el análisis de los vectores de características y la decisión de si una región determinada contiene una instancia de esa clase. Esencialmente, para cada categoría de objeto, hay un clasificador dedicado que verifica cada propuesta de región para ese objeto específico.
Durante el entrenamiento, los clasificadores reciben datos etiquetados con muestras positivas y negativas:
Los clasificadores aprenden a distinguir entre estas muestras. La regresión del cuadro delimitador refina aún más la posición y el tamaño de los objetos detectados ajustando los cuadros delimitadores propuestos inicialmente para que coincidan mejor con los límites reales del objeto. El modelo R-CNN puede identificar y localizar con precisión objetos mediante la combinación de clasificación y regresión de cuadro delimitador.
Después de los pasos de clasificación y regresión del cuadro delimitador, el modelo suele generar varios cuadros delimitadores superpuestos para el mismo objeto. Se aplica la supresión no máxima (NMS) para refinar estas detecciones, manteniendo las casillas más precisas. El modelo elimina las cajas redundantes y superpuestas mediante la aplicación de 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 todos los cuadros delimitadores y suprimiendo aquellos que se superponen significativamente con los cuadros de mayor puntuación.
Aquí hay un desglose de los pasos en NMS:
En conjunto, el modelo R-CNN detecta objetos mediante la generación de propuestas de región, la extracción de características con una CNN, la clasificación de objetos y el refinamiento de sus posiciones con regresión de cuadro delimitador, y el uso de supresión no máxima (NMS) manteniendo solo las detecciones más precisas.
R-CNN es un modelo histórico en la historia de la detección de objetos porque introdujo un nuevo enfoque que mejoró en gran medida 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 para generar propuestas de regiones y el uso de CNN para la extracción de características permiten una localización e identificación precisas de 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 varias aplicaciones del mundo real.
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 los 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 diagnóstica y ayuda a los radiólogos a identificar neoplasias malignas en una etapa temprana. La capacidad de R-CNN para detectar incluso tumores pequeños y en etapa temprana puede marcar una diferencia significativa en el tratamiento y el pronóstico de enfermedades como el cáncer.
El modelo R-CNN se puede aplicar a otras tareas de imágenes médicas además de la detección de tumores. Por ejemplo, puede identificar fracturas, detectar enfermedades de la retina en escáneres oculares y analizar imágenes pulmonares en busca de afecciones como neumonía y COVID-19. Independientemente del problema médico, la detección temprana puede conducir a mejores resultados para los pacientes. 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 confiabilidad y la velocidad 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.
Si bien es impresionante, R-CNN tiene ciertos inconvenientes, como la alta complejidad computacional y los tiempos de inferencia lentos. Estos inconvenientes hacen que el modelo R-CNN no sea adecuado para aplicaciones en tiempo real. Separar las propuestas y clasificaciones de regiones en pasos distintos puede conducir a un rendimiento menos eficiente.
A lo largo de los años, han aparecido varios modelos de detección de objetos que han abordado estas preocupaciones. Fast R-CNN combina las propuestas regionales y la extracción de características de CNN en un solo paso, lo que acelera el proceso. Faster R-CNN presenta una Red de Propuestas de Región (RPN) para agilizar la generación de propuestas, mientras que Mask R-CNN agrega segmentación a nivel de píxel para detecciones más detalladas.
Casi al mismo tiempo que Faster R-CNN, el YOLO (You Only Look Once) comenzó a avanzar en la detección de objetos en tiempo real. YOLO Los modelos predicen los cuadros delimitadores y las probabilidades de clase en un solo paso a través de la red. Por ejemplo, el Ultralytics YOLOv8 Ofrece una precisión y velocidad mejoradas con funciones avanzadas para muchas tareas de visión artificial.
RCNN cambió las reglas del juego en la visión por computadora, mostrando cómo el aprendizaje profundo puede cambiar la detección de objetos. Su éxito inspiró muchas ideas nuevas en el campo. A pesar de que los modelos más nuevos como Faster R-CNN y YOLO han surgido para corregir las fallas de RCNN, su contribución es un gran hito que es importante recordar.
A medida que la investigación continúe, 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!
¿Quieres seguir explorando sobre la IA? Conviértete en parte de la Ultralytics comunidad! Explora nuestro repositorio de 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. ¡Únete a nosotros para aprender y avanzar!
Comienza tu viaje con el futuro del aprendizaje automático