Detección de objetos para Maniquíes Parte 2: CNN, DPM y Sobrealimentación

La Parte 2 presenta varios diseños clásicos de arquitectura de trabajo neuronal convolucional para la clasificación de imágenes (AlexNet, VGG, ResNet), así como modelos de DPM (Modelo de Piezas Deformables) y Sobrecalentamiento para el reconocimiento de objetos.

Se introdujo la parte 1 de la serie “Detección de objetos para maniquíes”: (1) el concepto de vector de gradiente de imagen y cómo el algoritmo HOG resume la información en todos los vectores de gradiente en una imagen; (2) cómo funciona el algoritmo de segmentación de imágenes para detectar regiones que potencialmente contienen objetos; (3) cómo el algoritmo de búsqueda Selectiva refina los resultados de la segmentación de imágenes para una mejor propuesta de regiones.

En la Parte 2, estamos a punto de obtener más información sobre las arquitecturas de redes neuronales de convolución clásicas para la clasificación de imágenes. Sientan las bases para un mayor progreso en los modelos de aprendizaje profundo para la detección de objetos. Consulte la Parte 3 si desea obtener más información sobre R-CNN y modelos relacionados.

Enlaces a todas las publicaciones de la serie: .

CNN para Clasificación de imágenes

CNN, abreviatura de” Red Neuronal Convolucional”, es la solución ideal para problemas de visión por computadora en el mundo del aprendizaje profundo. En cierta medida, se inspiró en cómo funciona el sistema de corteza visual humana.

Operación de convolución

Recomiendo encarecidamente esta guía de aritmética de convolución, que proporciona una explicación clara y sólida con toneladas de visualizaciones y ejemplos. Aquí vamos a centrarnos en la convolución bidimensional ya que estamos trabajando con imágenes en este post.

En resumen, la operación de convolución desliza un núcleo predefinido (también llamado “filtro”) en la parte superior del mapa de entidades de entrada (matriz de píxeles de imagen), multiplicando y agregando los valores del núcleo y las entidades de entrada parciales para generar la salida. Los valores forman una matriz de salida, como suele ocurrir, el núcleo es mucho más pequeño que la imagen de entrada.

Operación De Convolución

Fig. 1. Ilustración de la aplicación de un núcleo en el mapa de entidades de entrada para generar la salida. (Fuente de la imagen: Documentación de River Trail)

La figura 2 muestra dos ejemplos reales de cómo enrollar un núcleo de 3×3 sobre una matriz 2D de 5×5 de valores numéricos para generar una matriz de 3×3. Al controlar el tamaño del relleno y la longitud de la zancada, podemos generar una matriz de salida de un cierto tamaño.

 Operación de convolución  Operación de Convolución

Fig. 2. Dos ejemplos de operación de convolución 2D: (arriba) sin relleno y zancadas de 1×1; (abajo) relleno de ceros de borde de 1×1 y zancadas de 2×2. (Fuente de la imagen: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)

  • 5 capas de convolución + 2 capas de MLP + 1 capa de LR
  • Utilice técnicas de aumento de datos para ampliar el conjunto de datos de entrenamiento, como traducciones de imágenes, reflexiones horizontales y extracciones de parches.

Ejemplo de pperación por convolución

Fig. 3. La arquitectura de AlexNet. (Fuente de la imagen: enlace)

VGG (Simonyan y Zisserman, 2014)

  • La red se considera “muy profunda” en su momento; 19 capas
  • La arquitectura está extremadamente simplificada con solo capas convolucionales de 3×3 y capas de agrupación de 2×2. El apilamiento de filtros pequeños simula un filtro más grande con menos parámetros.

ResNet (He et al., 2015)

  • La red es de hecho muy profunda; 152 capas de arquitectura simple.
  • Bloque residual: Una entrada de una determinada capa se puede pasar al componente dos capas más tarde. Los bloques residuales son esenciales para mantener una red profunda entrenable y, finalmente, operativa. Sin bloques residuales, la pérdida de entrenamiento de una red lisa no disminuye monótonamente a medida que aumenta el número de capas debido a gradientes que se desvanecen y explotan.

Bloque residual

Fig. 4. Una ilustración del bloque residual de ResNet. De alguna manera, podemos decir que el diseño de los bloques residuales está inspirado en V4 que obtiene la entrada directamente de V1 en el sistema de corteza visual humana. (fuente de la imagen izquierda: Wang et al., 2017)

Métricas de evaluación: mAP

Una métrica de evaluación común utilizada en muchas tareas de reconocimiento y detección de objetos es” mAP”, abreviatura de”precisión media media”. Es un número de 0 a 100; un valor más alto es mejor.

  • Combine todas las detecciones de todas las imágenes de prueba para dibujar una curva de recuperación de precisión (curva PR) para cada clase; la “precisión promedio” (AP) es el área bajo la curva PR.
  • Dado que los objetos de destino están en clases diferentes, primero calculamos AP por separado para cada clase, y luego promediamos sobre clases.
  • Una detección es un verdadero positivo si tiene “intersección sobre unión” (IoU) con una caja de verdad de tierra mayor que algún umbral (generalmente 0.5; si es así, la métrica es “[email protected]”)

Modelo de Piezas Deformables

El Modelo de Piezas Deformables (DPM) (Felzenszwalb et al., 2010) reconoce objetos con un modelo gráfico de mezcla (campos aleatorios de Markov) de partes deformables. El modelo consta de tres componentes principales:

  1. Un filtro de raíz gruesa define una ventana de detección que cubre aproximadamente un objeto completo. Un filtro especifica pesos para un vector de entidad de región.
  2. Filtros de varias partes que cubren partes más pequeñas del objeto. Los filtros de piezas se aprenden con el doble de resolución que el filtro raíz.
  3. Un modelo espacial para anotar las ubicaciones de los filtros de parte en relación con la raíz.

DPM

Fig. 5. El modelo DPM contiene (a) un filtro raíz, (b) varios filtros de piezas con el doble de resolución, y (c) un modelo para anotar la ubicación y deformación de las piezas.

La calidad de detección de un objeto se mide por la puntuación de los filtros menos los costos de deformación. La puntuación correspondiente \(f\), en términos sencillos, es:

\\]

en el que,

  • \(x\) es una imagen con una posición y escala especificadas;
  • \(y\) es una subregión de \(x\).
  • \(\beta_ \ text{root}\) es el filtro raíz.
  • \(\beta_ \ text {part}\) es un filtro de una parte.
  • cost() mide la penalización de la parte que se desvía de su ubicación ideal en relación con la raíz.

El modelo de puntuación básico es el producto escalar entre el filtro \(\beta\) y el vector de entidad de región \(\Phi(x)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). El conjunto de características \(\Phi (x)\) se puede definir mediante algoritmos HOG u otros similares.

Una ubicación raíz con puntuación alta detecta una región con altas posibilidades de contener un objeto, mientras que las ubicaciones de las partes con puntuaciones altas confirman una hipótesis de objeto reconocida. El documento adoptó SVM latente para modelar el clasificador.

 Proceso de coincidencia de DPM

Fig. 6. El proceso de emparejamiento por DPM. (Fuente de la imagen: Felzenszwalb et al., 2010)

El autor afirmó más tarde que los modelos DPM y CNN no son dos enfoques distintos para el reconocimiento de objetos. En su lugar, un modelo de DPM se puede formular como CNN desenrollando el algoritmo de inferencia de DPM y mapeando cada paso a una capa de CNN equivalente. (Consulte los detalles en Girshick et al., 2015!)

Overfeat

Overfeat es un modelo pionero de integración de las tareas de detección, localización y clasificación de objetos en una red neuronal convolucional. La idea principal es (i) hacer la clasificación de imágenes en diferentes ubicaciones en regiones de múltiples escalas de la imagen de una manera de ventana deslizante, y (ii) predecir las ubicaciones de los cuadros delimitadores con un regresor entrenado en la parte superior de las mismas capas de convolución.

La arquitectura de modelo Overfeat es muy similar a AlexNet. Se entrena de la siguiente manera:

Entrenamiento de sobrealimentación

Fig. 7. Las etapas de entrenamiento del modelo de sobrealimentación. (Fuente de la imagen: enlace)

  1. Entrena a un modelo de CNN (similar a AlexNet) en la tarea de clasificación de imágenes.
  2. Luego, reemplazamos las capas superiores del clasificador por una red de regresión y la entrenamos para predecir cajas delimitadoras de objetos en cada ubicación y escala espacial. El regresor es específico de la clase, cada uno generado para una clase de imagen.
    • Entrada: Imágenes con clasificación y cuadro delimitador.
    • Salida: \((x_ \ text{izquierda}, x_ \ text{derecha}, y_\text{arriba}, y_\ text{abajo})\), 4 valores en total, que representan las coordenadas de los bordes del cuadro delimitador.Pérdida
    • : El regresor está entrenado para minimizar la norma \(l2\) entre el cuadro delimitador generado y la verdad de tierra para cada ejemplo de entrenamiento.

En el momento de la detección,

  1. Realice la clasificación en cada ubicación utilizando el modelo CNN preentrenado.
  2. Predecir cuadros delimitadores de objetos en todas las regiones clasificadas generadas por el clasificador.
  3. Combine cajas delimitadoras con suficiente superposición desde la localización y suficiente confianza de ser el mismo objeto desde el clasificador.

Citado como:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

Referencia

Vincent Dumoulin y Francesco Visin. “A guide to convolution arithmetic for deep learning.”arXiv preprint arXiv: 1603.07285 (2016).

Haohan Wang, Bhiksha Raj, and Eric P. Xing. “Sobre el origen del Aprendizaje Profundo.”arXiv preprint arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, y Deva Ramanan. “Detección de objetos con modelos basados en piezas entrenados discriminativamente.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell y Jitendra Malik. “Los modelos de piezas deformables son redes neuronales convolucionales.”In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), pp.437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus y Yann LeCun. “OverFeat: Reconocimiento, Localización y Detección Integrados mediante redes Convolucionales” arXiv preprint arXiv: 1312.6229 (2013).

Deja una respuesta

Tu dirección de correo electrónico no será publicada.