SegNeXt: repensar el diseño de atención convolucional en la segmentación semántica

Enlace en papel: https://arxiv.org/abs/2209.08575

github:  https://github.com/Visual-Attention-Network/SegNeXt

Video de referencia: [Traducir al chino y llevarlo a leer] Lectura intensiva de los documentos de SegNext línea por línea, ¡puede comprender rápidamente sus misterios en 30 minutos! -Inteligencia artificial/aprendizaje profundo/visión por computadora_哔哩哔哩_bilibili

Resumen

El artículo propone una estructura de red neuronal convolucional simple para tareas de segmentación semántica. Recientemente, los modelos basados ​​en transformadores han dominado el campo de la segmentación semántica debido a la eficiencia de su mecanismo de autoatención en la codificación de información espacial. En este documento, encontramos que la atención convolucional es más efectiva para codificar información contextual que la autoatención en la transformación Al volver a examinar las características de los ganadores exitosos en los modelos de segmentación, encontramos varios factores clave que conducen a un mejor rendimiento de los modelos de segmentación. componentes Esto nos motiva a diseñar una novedosa red de atención convolucional usando operaciones de convolución baratas . (sin campanas ni silbatos) Truco sin ninguna red neuronal profunda, cualquiera puede expandir el conjunto de entrenamiento sin ajustes finos, y la tasa de aprendizaje y los parámetros pueden lograr mejores resultados. Nuestra red SegNeXt ha logrado un rendimiento SOTA en varios conjuntos de datos comunes, como ADE20K, Cityscapes, COCO-Stuff, Pascal VOC, Pascal Context, iSAID. La red SegNeXt mejora miou en un 90,6 % en el conjunto de datos de PascalVOC en comparación con EfficientNet-L2 con NAS-FPN, y solo usa el 10 % de sus parámetros. Se logra una mejora de alrededor del 2,0 % de mIoU en el conjunto de datos ADE20K menos intensivo en computación.

Mirando hacia atrás en el trabajo anterior exitoso de segmentación semántica, varias propiedades clave de diferentes modelos

(1) Potente red troncal como codificador

(2) Interacción de información multiescala : a diferencia de las tareas de clasificación de imágenes, que reconocen principalmente objetos individuales, la segmentación semántica es una tarea de predicción intensiva y, por lo tanto, necesita manejar objetos de diferentes tamaños en una sola imagen.

(3) Atención espacial : la atención espacial permite que el modelo realice la segmentación al priorizar regiones dentro de regiones semánticas

(4) Baja complejidad computacional

contribución principal

1. Determinar las características que debe tener un buen modelo de segmentación semántica y proponer una nueva arquitectura de red personalizada llamada SegNext, que evoca la atención espacial a través de características de convolución multiescala.

2. Los codificadores con circunvoluciones simples y económicas aún pueden funcionar mejor que vit, especialmente cuando se trata de detalles de objetos, que requieren un costo computacional mucho menor.

3. Rendimiento significativamente mejorado en algunos conjuntos de datos

obras relacionadas

segmentación semántica

Una tarea básica de visión artificial.

En este artículo, resumimos las características de esos modelos exitosos de segmentación semántica y proponemos un modelo basado en CNN, SegNeXt. El trabajo más relacionado con nuestro artículo es [62], que descompone una convolución kXk en un par de convoluciones k 1 y 1k. Aunque este trabajo demuestra el problema de la segmentación semántica con núcleos convolucionales grandes, ignora la importancia de los campos receptivos multiescala y no considera cómo utilizar esta extracción de características multiescala con núcleos grandes para la segmentación.

red multiescala

El diseño de redes multiescala es una dirección popular en la visión artificial. Para los modelos de segmentación, los bloques multiescala aparecen en las partes del codificador y del decodificador. A diferencia de los métodos anteriores, SegNext introduce un mecanismo de atención efectivo además de capturar características multiescala en el codificador, y adopta convoluciones de kernel más simples y más grandes, lo que permite que nuestro modelo logre mejores resultados que el método de segmentación anterior para un mayor rendimiento.

mecanismo de atención

El mecanismo de atención es un proceso de selección adaptativo cuyo propósito es hacer que la red se centre en partes importantes. En general, se puede dividir en dos categorías en la segmentación semántica, incluida la atención del canal y la atención espacial.

Diferentes tipos de atención juegan diferentes roles. Por ejemplo, a diferencia de la atención espacial, que se enfoca principalmente en regiones espaciales importantes, el uso de la atención de canal tiene como objetivo hacer que la red preste atención selectivamente a esos objetos importantes, lo que se ha demostrado que es importante en trabajos anteriores. Cuando se trata de los transformadores de visión populares recientes, generalmente ignoran la adaptación en la dimensión del canal.
La Red de Atención Visual (VAN) es el trabajo más relacionado con SegNeXt, que también propone utilizar el mecanismo de Atención de Gran Núcleo (LKA) para construir un canal y atención espacial. Aunque VAN logra un buen desempeño en la clasificación de imágenes, El papel de múltiples la agregación de características de escala , que es crucial para tareas como la segmentación, se ignora en el proceso de diseño de la red .

método

Adopta la estructura codificador-decodificador del trabajo anterior

codificador convolucional

Siguiendo la mayor parte del trabajo anterior, adoptamos una estructura piramidal para el codificador. Para los bloques de construcción de nuestro codificador, adoptamos una estructura similar a VIT, pero en lugar de utilizar un mecanismo de autoatención, diseñamos una novedosa atención convolucional multiescala. (MSCA) Módulo

Como se muestra en la figura, MSCA consta de tres partes: convolución de profundidad para agregar información local, convoluciones de tiras en profundidad de múltiples ramas para capturar contexto de escala múltiple y para construir convolución 1X1 (ver SeNet). La salida de la convolución 1 × 1 se usa directamente como pesos de atención para volver a ponderar la entrada de MSCA.

Matemáticamente, nuestro MSCA se puede escribir como:

Circunvoluciones de tiras en profundidad de múltiples ramas

Por un lado, las circunvoluciones con bandas son ligeras. Para imitar una convolución 2D estándar con un tamaño de núcleo de 7 X 7, solo necesitamos un par de convoluciones de 7 X 1 y 1 X 7. Por otro lado, hay algunos objetos de tira en la escena segmentada, como personas, postes de servicios públicos, etc. la convolución de la tira El producto puede ser un complemento de la convolución de la cuadrícula, que es útil para extraer características de la banda.

MSCAN

Apilar una serie de bloques de construcción produce el codificador convolucional propuesto, denominado MSCAN. Para MSCAN, adoptamos una jerarquía común que consta de cuatro etapas de resolución espacial decreciente seguidas de . Aquí, H y W son la altura y el ancho de la imagen de entrada respectivamente · Cada etapa contiene un módulo de reducción de resolución y una pila de construcción. El bloque de reducción de muestreo tiene una convolución con zancada 2 y tamaño de kernel 3X3, seguido de una capa de normalización por lotes. Tenga en cuenta que en cada bloque de construcción de MSCAN, usamos la normalización por lotes en lugar de la normalización por capas, ya que descubrimos que la normalización por lotes tiene una mayor ganancia en el rendimiento de la segmentación.

*Nota: la normalización por lotes es compatible con las circunvoluciones en franjas

  1. Normalización por lotes: la normalización por lotes se usa ampliamente en la visión por computadora. Se usa comúnmente en redes neuronales convolucionales (CNN), especialmente en capas de red más profundas. La normalización por lotes puede mejorar la estabilidad y la capacidad de generalización de la red y acelerar la convergencia al normalizar las características de cada pequeño lote de muestras. En tareas de visión por computadora, como la clasificación de imágenes, la detección de objetos y la segmentación de imágenes, la normalización por lotes puede ayudar a la red a manejar mejor los datos de imágenes de diferentes escalas y distribuciones, y mejorar el rendimiento y la solidez del modelo.

  2. Normalización de capas: la normalización de capas se usa relativamente raramente en la visión por computadora, pero aún tiene valor de aplicación en situaciones específicas. La normalización de capas se usa a menudo en datos de secuencia, como modelos de redes neuronales recurrentes (RNN) y mecanismos de autoatención (autoatención). En tareas de visión por computadora, como análisis de video, estimación de flujo óptico y estimación de pose humana, la normalización de capas puede ayudar a la red a lidiar con la dependencia del tiempo de los datos de secuencia, reducir el problema de la desaparición de gradientes y la explosión de gradientes, y mejorar la precisión de la modelo en series de tiempo capacidades de modelado.

tamaño del modelo

Hemos diseñado cuatro modelos de codificadores con diferentes tamaños, denominados MSCAN-T, MSCAN-S, MSCAN-B y MSCAN-L respectivamente. Los modelos de segmentación general correspondientes son SegNeXt-T, SegNeXt-S, SegNeXt-B, SegNeXt-L. La configuración de red detallada se muestra en la Tabla 2.

 

descifrador

 En los modelos de segmentación, los codificadores en su mayoría están previamente entrenados en el conjunto de datos de ImageNet. Para capturar semántica de alto nivel , generalmente se requiere un decodificador, que se aplica al codificador. En este trabajo, investigamos tres estructuras decodificadoras simples, que se muestran en la Fig. 3.

El primero, que usa SegFormer, es una estructura puramente basada en MLP.

El segundo adopta principalmente modelos basados ​​en CNN. En esta estructura, la salida del codificador se utiliza directamente como entrada de un cabezal decodificador de servicio pesado, como ASPP, PSP y DANet.

La última es la estructura adoptada por nuestro SegNext. Agregamos características de las primeras tres etapas y usamos una hamburguesa ligera para modelar aún más el contexto global . Combinado con un potente codificador convolucional, encontramos un rendimiento computacionalmente más eficiente con un decodificador liviano.

A diferencia del decodificador de SegFormer que agrega características de la etapa 1 a la etapa 4, nuestro decodificador Hamburger solo recibe características de las últimas tres etapas. Esto se debe a que nuestro SegNext está basado en convolución. Las funciones de la etapa 1 contienen demasiada información de bajo nivel y perjudican el rendimiento. Además, las operaciones en la etapa 1 generan una gran sobrecarga computacional. Nuestro SegNeXt convolucional funciona mucho mejor que los recientes SegFormer y HRFormer basados ​​en transformadores

experimento

Evaluamos nuestro método en siete conjuntos de datos populares, incluidos ImageNet-1K, ADE20K, Cityscapes, Pascal VOC, Pascal Context, COCO-Stuff e iSAID.

ImageNet es el conjunto de datos de clasificación de imágenes más famoso, que contiene 1000 categorías. Similar a la mayoría de los métodos de segmentación, lo usamos para entrenar previamente nuestro codificador MSCAN

 

Resumir

 En este artículo, analizamos modelos de segmentación previamente exitosos y encontramos buenas propiedades que poseen. Con base en estos hallazgos, proponemos un módulo de atención convolucional personalizado MSCA y una red similar a CNN SegNeXt. Los resultados experimentales muestran que SegNeXt supera considerablemente a los métodos basados ​​en transformadores de última generación. Este documento muestra que los métodos basados ​​en CNN aún pueden superar a los métodos basados ​​en transformadores cuando se usa un diseño apropiado. Esperamos que este documento aliente a los investigadores a investigar más a fondo el potencial de las CNN.

Nuestro modelo propuesto también tiene sus limitaciones, como la extensión del método a modelos a gran escala con más de 100 millones de parámetros y el rendimiento en otras tareas de visión o PNL. Abordaremos estas cuestiones en trabajos futuros.

Supongo que te gusta

Origin blog.csdn.net/Scabbards_/article/details/131228234
Recomendado
Clasificación