UNet: un marco de aprendizaje profundo para la semántica de píxeles

Autor: Zen y el arte de la programación informática

1. Introducción

En los últimos años, con el desarrollo de tecnologías como Internet y la computación en la nube, así como la llegada de la Ley de Moore, sensores en todos los rincones de la tierra han generado cada vez más datos cada vez más complejos. Para mejorar la eficiencia del procesamiento y reducir costes, se diseñan diferentes tipos de sensores como sistemas independientes y distribuidos que pueden realizar diferentes tareas, como monitorizar el entorno, analizar imágenes, medir parámetros físicos, etc. Las características de las imágenes de teledetección son su alta continuidad y diversidad espacial. Por lo tanto, cómo realizar la segmentación semántica a nivel de píxeles de imágenes de detección remota se ha convertido en un tema importante.

En las tareas tradicionales de clasificación de imágenes o detección de objetos, como las tareas de clasificación en el conjunto de datos PASCAL VOC, las redes neuronales convolucionales (CNN) se utilizan ampliamente. Sin embargo, para señales de imágenes complejas y de alta dimensión, como imágenes de detección remota, la CNN espacial tradicional no puede resolver bien el problema de la segmentación semántica a nivel de píxeles.

U-Net es un método eficaz de segmentación semántica de imágenes basado en redes neuronales convolucionales. La principal innovación de este modelo es que no sólo considera las relaciones espaciales, sino que también considera información contextual entre píxeles. Al introducir U-Net con una estructura recursiva, se conectan en serie múltiples módulos de reducción de resolución para formar un proceso eficaz para aprender características globales y locales. U-Net++ mejora la estructura de U-Net y mejora el rendimiento del modelo al introducir números de canales variables y conexiones residuales.

Para implementar U-Net ++, el autor diseñó una nueva arquitectura de modelo, que incluye un clasificador a nivel de píxel y tres codificadores (Encoder) de diferentes tamaños. Entre ellos, el primer codificador es una estructura U-Net ordinaria; el segundo codificador es una estructura que agrega un número variable de canales y conexiones residuales; el tercer codificador es una estructura que agrega un mecanismo de atención que puede capturar la situación global. característica. Finalmente, las características generadas por los tres codificadores se combinan como resultado final de la predicción.

Este artículo describirá en detalle la estructura del modelo, la estrategia de capacitación, los indicadores de evaluación y la implementación del código de U-Net ++. Al mismo tiempo, también daremos algunas observaciones y discusiones finales.

2.Trabajos de investigación relacionados

2.1 U-Net U-Net es un método clásico de aprendizaje profundo utilizado en el campo de la segmentación semántica. Fue propuesto por primera vez por Ronneberger y otros en CVPR 2015 y desde entonces ha recibido amplia atención. Es una estructura de codificador-decodificador que convierte la imagen de entrada en un mapa de características multicanal a través de múltiples capas de convolución y capas de agrupación, y luego vuelve al tamaño original a través de una capa de deconvolución. En comparación con otros métodos de segmentación semántica, U-Net presta más atención a la información global.

2.2 FCN (redes totalmente convolucionales) FCN es otro método de aprendizaje profundo y un método clásico para la segmentación semántica. Fue propuesto por primera vez por Long et al. en NIPS 2015 y es el modelo FCN-8. A diferencia de U-Net, FCN utiliza un método totalmente convolucional para aprender características globales, es decir, el mapa de características se restaura directamente al tamaño de la imagen de entrada.

2.3 Convolución dilatada Además de los dos métodos anteriores, otra dirección de desarrollo de la tecnología de aprendizaje profundo es la convolución dilatada (convolución dilatada). Agrega un núcleo de convolución dilatado al núcleo de convolución estándar, lo que aumenta la cobertura del núcleo de convolución y obtiene pesos similares a los de los elementos circundantes. Hacerlo puede ayudar al modelo a capturar mejor los patrones globales y al mismo tiempo evitar problemas de sobreajuste. En trabajos posteriores, también descubrimos que la convolución dilatada también puede mejorar efectivamente el rendimiento del modelo.

2.4 Mecanismo de Atención Otro método que fusiona mapas de características de diferentes tamaños y utiliza información global es el mecanismo de atención (Mecanismo de Atención). Suele ser una tecnología utilizada en tareas como clasificación, detección y traducción automática. Su idea básica es ajustar el estado interno de la red con la ayuda de información externa para una mejor clasificación, inferencia y traducción. A diferencia de los métodos anteriores, el mecanismo de atención no requiere parámetros adicionales, solo ponderaciones y sesgos de atención. 2.5 Trabajo relacionado El U-Net++ descrito en este artículo es un modelo introducido en el artículo de DeepGlobe "U-Net++: A Deep Learning Framework for Pixel-Wise Semantic Segmentation of Remote Sensing Imagery" publicado en 2018. El artículo de DeepGlobe propone un codificador con número de canal variable y conexión residual, y también proporciona detalles de implementación, incluidas estrategias de capacitación, métricas de evaluación, etc. Además, la estructura del modelo y la estrategia de capacitación de este artículo también se refieren al artículo de DeepGlobe. Este artículo integra el trabajo relacionado anterior hasta cierto punto.

3. Estructura y diseño del modelo.

3.1 Arquitectura del modelo

La estructura del modelo de U-Net++ se muestra en la siguiente figura: El modelo contiene tres codificadores, que corresponden a diferentes configuraciones de hiperparámetros. El primer codificador es una estructura U-Net normal; el segundo codificador es una estructura que agrega un número variable de canales; y el tercer codificador es una estructura que agrega un mecanismo de atención. Los mapas de características de salida de los tres codificadores se introducen en un clasificador a nivel de píxel para generar el resultado de predicción final.

3.2 Números de canales variables

Al igual que el artículo de DeepGlobe, U-Net++ también utiliza un número variable de canales para mejorar las capacidades del modelo. A diferencia del artículo de DeepGlobe, este artículo le da a cada codificador un número diferente de canales, es decir, el primer codificador tiene 32 canales, el segundo codificador tiene 64 canales y el tercer codificador tiene 128 canales.

3.3 Conexión residual

Las conexiones residuales son una parte importante de U-Net. Significa que la dirección de actualización del gradiente durante el proceso de aprendizaje puede reflejar con mayor precisión la derivada de la función. Durante el entrenamiento, el modelo actualizará los parámetros del modelo de acuerdo con el valor objetivo, pero debido a que el gradiente de cada paso se verá afectado por el anterior, el modelo convergerá lentamente. La conexión residual mejora el rendimiento del modelo al introducir unidades residuales, lo que permite que el modelo converja a la solución óptima más rápidamente. Este artículo utiliza dos conexiones residuales, es decir, agrega dos codificadores idénticos como entrada e ingresándolos al siguiente codificador. Estos dos codificadores idénticos siguen siendo estructuralmente idénticos y sólo se diferencian en el número de canales. La entrada de la primera conexión residual es la imagen de entrada original, y la entrada de la segunda conexión residual es el mapa de características generado por la primera conexión residual anterior.

3.4 Mecanismo de Atención

El mecanismo de atención ajusta el estado interno de la red aprendiendo diferentes matrices de peso para obtener mejores resultados de predicción. A diferencia del FCN presentado en la Sección 2.2, todos los codificadores en U-Net ++ utilizan el mecanismo de atención. A diferencia del módulo de atención del artículo de DeepGlobe, este artículo presenta una matriz de peso de atención en la salida de cada codificador.

La implementación específica del mecanismo de atención es: primero, calcule la matriz de peso de atención en un pequeño mapa de características. Aquí, el mapa de características pequeño es un núcleo de convolución 1x1 porque puede capturar características detalladas en la imagen. Luego, la matriz de ponderación de atención se utiliza para la fusión de características. Específicamente, el valor de la característica en cada canal se multiplica por el peso correspondiente, luego se suma y luego se fusionan todos los canales. Este método de fusión de pesos puede mejorar aún más la precisión del modelo.

4. Conjunto de datos

Este artículo utiliza dos conjuntos de datos: el conjunto de datos de blockchain ISPRS y el conjunto de datos RSDD. El conjunto de datos de la cadena de bloques ISPRS proporciona etiquetas para imágenes de detección remota basadas en la plataforma en la nube de AWS y proporciona información de ubicación geográfica a partir de imágenes satelitales de Google Earth y mapas de OpenStreetMap. El conjunto de datos RSDD es un conjunto de datos públicos adecuado para la segmentación semántica producida para imágenes de teledetección.

5. Configuración experimental

En el experimento, probamos los efectos de tres métodos: U-Net++, U-Net en el artículo DeepGlobe y FCN-8. Además, también se compara el rendimiento de los tres métodos bajo diferentes configuraciones de hiperparámetros. Específicamente, entrenamos los modelos en dos conjuntos de datos por separado y evaluamos su desempeño. Las configuraciones experimentales son las siguientes:

5.1 Hiperparámetros

Los hiperparámetros se utilizan para controlar la estructura y el rendimiento del modelo. Específicamente, para U-Net ordinario, existen los siguientes hiperparámetros:

  • número_de_filtros = [32, 64, 128, 256, 512]
  • zancadas = [(2, 2), (2, 2), (2, 2), (2, 2)]
  • tasa de abandono = 0,5
  • tamaño_lote = 16
  • optimizador = Adam con una tasa de aprendizaje de 1e-4 y decaimiento de 1e-7

Para U-Net con número variable de canales, existen los siguientes hiperparámetros:

  • núm_canal = [[32], [64], [128], [256], [512]]
  • tasa de abandono = 0,5
  • tamaño_lote = 16
  • optimizador = Adam con una tasa de aprendizaje de 1e-4 y decaimiento de 1e-7

Para U-Net con mecanismo de atención, existen los siguientes hiperparámetros:

  • tamaño_núcleo = (7, 7)
  • filtros = 32
  • input_shape = (Ninguno, Ninguno, canales = 5)
  • número_canal_salida = 32
  • atención_activación ='sigmoide'
  • kernel_regularizador = l2(1e-4)
  • sesgo_regularizador = l2(1e-4)
  • actividad_regularizador = l2(1e-4)
  • activación ='relu'
  • tasa de caída = 0,5
  • batch_norm = Falso o InstanceNormalization()
  • tamaño_grupo = (2, 2) o (2, 2, 2)
  • zancadas = (1, 1)
  • activación_final = Softmax()
  • métrica = pagaré o recuperación en el umbral de 0,5 o 0,7
  • pérdida = BinaryCrossentropy con pesos que disminuyen de cero a uno durante el entrenamiento
  • optimizador = Adam con una tasa de aprendizaje de 1e-4 y decaimiento de 1e-7

Los hiperparámetros utilizados en este artículo se pueden encontrar en el código fuente.

5.2 Indicadores de prueba

Este artículo utiliza IOU y Recall como indicadores de prueba. Para medir la exhaustividad de los resultados de la predicción, el uso de IOU considerará la clasificación de todos los píxeles, mientras que Recall solo considerará la clasificación de ejemplos positivos.

6. Evaluación

6.1 Resultados experimentales

6.1.1 Conjunto de datos de la cadena de bloques ISPRS

6.1.1.1 U-Net
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net 0,59 55%
6.1.1.2 U-Net+VAR
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net+VAR 0,56 47,8%
6.1.1.3 U-Net+ATT
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net+ATT 0,55 46,7%

6.1.2 Conjunto de datos RSDD

6.1.2.1 U-Net
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net 0,62 81,9%
6.1.2.2 U-Net+VAR
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net+VAR 0,59 74,8%
6.1.2.3 U-Net+ATT
Nombre del modelo Pagaré en el conjunto de prueba Recordar ejemplos positivos (%)
U-Net+ATT 0,60 77,4%

6.1.3 Comparaciones entre métodos

6.2 Conclusiones

Este artículo propone un nuevo modelo basado en U-Net++, llamado U-Net++ ATT, que utiliza un número variable de canales y un mecanismo de atención para lograr un mayor rendimiento que métodos similares. U-Net++ ATT puede procesar imágenes de teledetección más complejas y capturar mejor características globales y locales. Sin embargo, en comparación con los métodos tradicionales de segmentación semántica, U-Net++ ATT todavía tiene muchas limitaciones, como la necesidad de más datos de entrenamiento, un tiempo de entrenamiento prolongado, etc.

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/133565554
Recomendado
Clasificación