Las redes neuronales convolucionales basadas en regiones (R-CNN) son una familia de modelos de aprendizaje automático para visión artificial y, específicamente, detección y localización de objetos. [1] El objetivo original de R-CNN era tomar una imagen de entrada y producir un conjunto de cuadros delimitadores como salida, donde cada cuadro delimitador contiene un objeto y también la categoría (por ejemplo, automóvil o peatón) del objeto. En general, las arquitecturas R-CNN realizan una búsqueda selectiva [2] sobre mapas de características generados por una CNN.
R-CNN se ha ampliado para realizar otras tareas de visión por computadora, como: rastrear objetos desde una cámara montada en un dron, [3] localizar texto en una imagen, [4] y habilitar la detección de objetos en Google Lens . [5]
Mask R-CNN también es una de las siete tareas del MLPerf Training Benchmark, que es una competencia para acelerar el entrenamiento de redes neuronales. [6]
A continuación se describen algunas de las versiones de R-CNN que se han desarrollado.
Para artículos de revisión, consulte. [1] [12]
Dada una imagen (o un mapa de características similar a una imagen), la búsqueda selectiva (también llamada agrupación jerárquica) primero segmenta la imagen mediante el algoritmo de (Felzenszwalb y Huttenlocher, 2004), [13] y luego realiza lo siguiente: [2]
Entrada: imagen (en color)Salida: Conjunto de hipótesis de ubicación de objetos LSegmentar la imagen en regiones iniciales R = {r₁, ..., rₙ} utilizando Felzenszwalb y Huttenlocher (2004)Inicializar el conjunto de similitud S = ∅foreach Par de regiones vecinas (rᵢ, rⱼ) Calcular la similitud s(rᵢ, rⱼ) S = S ∪ s(rᵢ, rⱼ)mientras S ≠ ∅ hacer Obtenga la similitud más alta s(rᵢ, rⱼ) = max(S) Fusionar regiones correspondientes rₜ = rᵢ ∪ rⱼ Eliminar similitudes respecto a rᵢ: S = S \ s(rᵢ, r∗) Eliminar similitudes respecto a rⱼ: S = S \ s(r∗, rⱼ) Calcular el conjunto de similitud Sₜ entre rₜ y sus vecinos S = S ∪ Sₜ R = R ∪ rₜExtraer cuadros de ubicación de objetos L de todas las regiones en R
Dada una imagen de entrada, R-CNN comienza aplicando una búsqueda selectiva para extraer regiones de interés (ROI), donde cada ROI es un rectángulo que puede representar el límite de un objeto en la imagen. Dependiendo del escenario, puede haber hasta dos mil ROI. Después de eso, cada ROI se alimenta a través de una red neuronal para producir características de salida. Para las características de salida de cada ROI, se utiliza un conjunto de clasificadores de máquinas de vectores de soporte para determinar qué tipo de objeto (si lo hay) está contenido dentro de la ROI. [7]
Mientras que el R-CNN original calculaba de forma independiente las características de la red neuronal en cada una de hasta dos mil regiones de interés, Fast R-CNN ejecuta la red neuronal una vez en toda la imagen. [8]
Al final de la red hay un módulo ROIPooling , que extrae cada ROI del tensor de salida de la red, lo remodela y lo clasifica. Al igual que en la R-CNN original, la Fast R-CNN utiliza una búsqueda selectiva para generar sus propuestas de regiones.
Mientras que Fast R-CNN utiliza una búsqueda selectiva para generar ROI, Faster R-CNN integra la generación de ROI en la propia red neuronal. [9]
Mientras que las versiones anteriores de R-CNN se centraban en la detección de objetos, Mask R-CNN añade segmentación de instancias. Mask R-CNN también sustituyó ROIPooling por un nuevo método llamado ROIAlign, que puede representar fracciones de un píxel. [10]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )