HyperSeg: hiperred con parches para la segmentación semántica en tiempo real——HyperSeg: hiperred con parches para la segmentación semántica en tiempo real

0. Resumen

        Proponemos una novedosa red de segmentación semántica en tiempo real, en la que el codificador codifica y genera los parámetros (pesos) del decodificador. Además, para permitir la máxima adaptabilidad, los pesos de cada bloque decodificador varían espacialmente. Con este fin, diseñamos una superred novedosa que consta de U-Nets anidadas, módulos de generación de peso de múltiples cabezales y una red principal compuesta por novedosas convoluciones de bloques dinámicos. Para una utilización eficiente de la memoria, el módulo de generación de peso genera los pesos para cada bloque inmediatamente antes de que el decodificador los utilice. Nuestra arquitectura logra un rendimiento en tiempo real a pesar de utilizar bloques menos tradicionales. En términos de equilibrio entre tiempo de ejecución y precisión, superamos los últimos resultados en el popular punto de referencia de segmentación semántica PASCAL VOC 2012 (conjunto de validación) y Cityscapes, CamVid. Nuestro código está disponible en https://nirkin.com/hyperseg.

1. Introducción

        La segmentación semántica juega un papel vital en la comprensión de una escena, ya sea una escena microscópica, una escena en un telescopio, una escena capturada por un vehículo en movimiento o una escena vista a través de un dispositivo AR. Las nuevas aplicaciones móviles requieren no sólo una segmentación semántica precisa sino también un procesamiento en tiempo real, lo que promueve la investigación sobre la segmentación semántica en tiempo real. Este campo se ha convertido en un importante banco de pruebas para nuevas arquitecturas y métodos de entrenamiento destinados a mejorar la precisión y la velocidad. Trabajos recientes han agregado capacidad [5, 6] y mecanismos de atención [20, 45, 49] para mejorar el desempeño. Cuando el tiempo de ejecución no es un problema, el modelo suele procesar las imágenes varias veces y los resultados se acumulan. En este documento, intentamos mejorar el rendimiento proporcionando adaptabilidad adicional a la red. Agregamos esta adaptabilidad utilizando técnicas de metaaprendizaje, a menudo llamadas redes dinámicas o hiperredes [13]. Estas redes se utilizan para tareas que van desde el análisis de texto [13, 50] hasta el modelado 3D [26, 42], pero rara vez se utilizan para generar mapas similares a imágenes. La razón es que las hiperredes, como sugieren los métodos anteriores, no capturan completamente la señal de imágenes de alta resolución.

        Los mapas de segmentación semántica son un caso particularmente interesante. Se generan a través de una pirámide de gruesa a fina, y cada nivel del proceso se beneficia de la adaptabilidad a medida que los efectos se acumulan de un bloque al siguiente. Además, dado que cada parte de la imagen puede contener objetos diferentes, es mejor adaptarla localmente. Por lo tanto, proporcionamos un nuevo enfoque de codificador-decodificador en el que la columna vertebral del codificador se basa en avances recientes en el campo. La señal codificada se asigna a pesos de red dinámicos utilizando una U-Net interna, mientras que el decodificador consta de bloques dinámicos con pesos que varían espacialmente. La arquitectura propuesta logra una precisión de vanguardia frente a compensaciones en tiempo de ejecución en los puntos de referencia más utilizados para esta tarea: PASCAL VOC 2012 [11], CityScapes [8] y CamVid [2]. Para CityScapes y CamVid, se obtienen resultados de precisión de última generación en condiciones de tiempo real. A pesar de utilizar una arquitectura no convencional que emplea capas conectadas localmente ponderadas dinámicamente, nuestro enfoque es altamente eficiente (consulte la Figura 1 para comprender nuestras compensaciones entre tiempo de ejecución y precisión frente a otros enfoques). En resumen, nuestras contribuciones son: • Una nueva arquitectura de hiperred que utiliza una U-Net dentro de una U-Net. • Nuevas convoluciones de bloques dinámicos cuyos pesos cambian en cada entrada y en cada ubicación espacial. •Consiga una precisión de última generación frente a un compromiso con el tiempo de ejecución en los principales puntos de referencia del campo.

Figura 1. Comparación de las compensaciones entre tiempo de ejecución y precisión en el conjunto de pruebas Cityscapes [8]. Nuestro modelo (naranja) logra la mejor precisión y la mejor compensación entre tiempo de ejecución y precisión en relación con todos los métodos en tiempo real anteriores.

2. Trabajo relacionado

        Súper red. Una superred [13] es una red que genera valores de peso para otras redes (a menudo llamadas redes primarias). Las hiperredes son útiles como herramientas de modelado, por ejemplo, como funciones implícitas para la traducción de imagen a imagen [9, 24], la representación de escenas 3D [26, 42] y en la búsqueda de arquitectura neuronal (NAS) [55] y el aprendizaje continuo [48]. Evite ciclos de entrenamiento computacionales y con uso intensivo de datos. Sin embargo, hasta donde sabemos, las hiperredes nunca se han propuesto para la segmentación semántica, mientras que aquí proponemos su uso. Capa de conexión local. La conectividad en capas conectadas localmente sigue un patrón espacial similar al de las capas convolucionales tradicionales, pero no comparte pesos. Estas capas desempeñaron un papel importante en los primeros días del aprendizaje profundo, principalmente por razones computacionales [10, 36, 47]. Las capas conectadas localmente se introdujeron en el contexto del reconocimiento facial como un componente que mejora la precisión debido a la necesidad de modelar cada parte del rostro de manera diferente [43]. Sin embargo, los métodos de reconocimiento facial posteriores suelen utilizar convoluciones tradicionales, como [41]. Se propusieron pesos parciales compartidos, donde las convoluciones se comparten dentro de parches de imagen, para analizar acciones faciales [58]. Hasta donde sabemos, somos los primeros en proponer capas conectadas localmente en el contexto de hiperredes o segmentación semántica, o más generalmente, en el mapeo de imagen a imagen.

        Segmentación semántica. Los primeros métodos de segmentación semántica utilizaban ingeniería de características y, a menudo, se basaban en métodos basados ​​en datos [15, 16, 17, 46]. Hasta donde sabemos, Long y otros [28] se encuentran entre los primeros en demostrar el entrenamiento de extremo a extremo de redes neuronales convolucionales (CNN) para la segmentación semántica. Su red totalmente convolucional (FCN) genera predicciones de píxeles densos de resolución variable basadas en una red troncal de clasificación. Agregaron conexiones de salto entre las capas inicial y final para combinar información general y detallada. Los métodos posteriores agregaron pasos de posprocesamiento basados ​​en campos aleatorios condicionales (CRF) para refinar aún más las máscaras de segmentación [3, 4, 59]. Nirkin y otros superaron las etiquetas de segmentación escasas y limitadas explotando el movimiento en los vídeos [31]. U-Net [38] utiliza un par codificador-decodificador, concatenando el último mapa de características del codificador con el mapa de características muestreado correspondientemente en el decodificador en cada paso. Algunas personas propusieron utilizar convolución dilatada, es decir, convolución dilatada, en lugar de convolución a zancada [4,54]. Este método produce resultados de segmentación más detallados al expandir el campo receptivo de logits, pero también aumenta considerablemente el costo computacional. Otro método para ampliar el campo receptivo se llama agrupación piramidal espacial (SPP) [18, 57], donde las características de diferentes pasos se agrupan y concatenan en promedio, después de lo cual la información se fusiona a través de capas convolucionales posteriores. El trabajo posterior combinó convolución dilatada con SPP (ASPP), logrando una mayor precisión pero con un mayor costo computacional [4, 5, 6]. Para mejorar aún más la precisión, algunos han propuesto estrategias de inferencia que aplican la red varias veces en versiones de múltiples escalas y volteadas horizontalmente de la imagen de entrada y combinan los resultados utilizando la agrupación promedio [5, 6]. Recientemente, Tao y otros [45] aprovecharon la atención para incorporar mejor las predicciones de estrategias de inferencia, teniendo en cuenta la escala. Finalmente, otros han propuesto la atención axial, que realiza la atención a lo largo de los ejes de altura y ancho respectivamente para modelar mejor las dependencias de largo alcance [20, 49].

        Segmentación en tiempo real. Algunos métodos tienen como objetivo lograr un equilibrio óptimo entre precisión y esfuerzo computacional manteniendo al mismo tiempo el rendimiento en tiempo real. Los métodos en tiempo real suelen emplear una arquitectura que consta de una columna vertebral eficiente de un codificador y un decodificador relativamente pequeño. Un ejemplo temprano de segmentación semántica barata es SegNet [1], que utiliza una arquitectura codificador-decodificador con conexiones de salto y convoluciones transpuestas para muestreo superior. ENet [34] propuso una arquitectura basada en bloques de cuello de botella de ResNet, logrando altas velocidades de cuadros pero sacrificando una precisión considerable. ICNet [56] utiliza características fusionadas extraídas de pirámides de imágenes e informa una mayor precisión que los métodos anteriores. GUNet [29] realiza un muestreo ascendente guiado a través de mapas de características fusionados en el codificador extraídos de imágenes de entrada de múltiples escalas. SwiftNet [32] propone un codificador-decodificador que utiliza SPP y convolución 1 × 1 para reducir la dimensionalidad antes de cada conexión de salto. Los métodos posteriores se beneficiaron de avances en arquitecturas de red eficientes [25, 51], como convoluciones separables en profundidad [7, 21] y bloques residuales inversos [40], que también utilizamos en nuestro trabajo. BiSeNet [52] propone una ruta de submuestreo más gruesa que se fusiona con la red principal de resolución más fina antes del muestreo ascendente. BiSeNetV2 [51] amplía BiSeNet al proporcionar métodos de fusión más complejos y cabezales de predicción adicionales de capas intermedias para mejorar los resultados del entrenamiento. Finalmente, TDNet [22] propone una red para la segmentación semántica de video que explota la continuidad temporal mediante la asignación cíclica de subredes en fotogramas consecutivos. Figura 2. Descripción general del método. (a) Codificador de hiperred basado en la red troncal EfficientNet [44], b, con su última capa reemplazada por el encabezado de contexto h. (b) Capa wi del decodificador de red principal d y red de mapeo de peso w integrada en cada metabloque. La entrada al decodificador d es la imagen de entrada y la característica Fi concatenada con la posición que incrusta Pi. Su peso se determina dinámicamente para cada parche de imagen. Las flechas grises indican conexiones de omisión, los bloques ×2 son muestreo ascendente bilineal y los símbolos azules "+" son conexiones. (c) El encabezado de contexto está diseñado como una U-Net anidada. Consulte la Sección 3 para obtener más detalles.

3.Método

        Descripción general. Nuestro enfoque codificador-decodificador de hiperred propuesto se muestra en las Figuras 2 y 3. De manera similar al método basado en U-Net [38], utilizamos conexiones de salto entre el codificador y el decodificador. Sin embargo, nuestra red emplea un codificador y bloques posteriores, que llamamos encabezados de contexto y mapeadores de peso, que es el espíritu del diseño de la hiperred. Por lo tanto, las conexiones de salto conectan diferentes niveles de codificador con el nivel de la red principal jerárquica que sirve como nuestro decodificador. Además, los pesos de nuestros decodificadores varían entre cada parche en cada nivel de zancada. Nuestro modelo propuesto involucra tres subredes: la red troncal b (que se muestra en azul en la Figura 2(a)), el encabezado de contexto h (cuadro naranja en la Figura 2(a), también detallado en la Figura 2(c)) y el red principal como decodificador d (Figura 2(b)). Además, el decodificador se compone de múltiples metabloques, como se muestra en la Figura 3 (a). Cada metabloque i = 0...n incluye un componente de red de mapeo de peso adicional wi, como se muestra en el cuadro naranja en la Figura 2 (b).

        Flujo de información. Durante la inferencia, los pesos θb, θh y θw del codificador, el encabezado de contexto y el asignador de pesos se fijan y aprenden durante el entrenamiento, mientras que los pesos θmi del metabloque del decodificador mi se predicen dinámicamente en el momento de la inferencia. La red troncal b del codificador asigna la imagen de entrada I∈R3×H×W a mapas de características Fi∈RCi×2Hi×W2i (i∈[1,5]) de diferentes resoluciones, donde H y W son la altura de la imagen y El número de píxeles para el ancho. El encabezado de contexto h: RCn×2Hn×2Wn→RCn×2Hn×2Wn asigna el último mapa de características de b a una señal φ. Luego, esta señal se envía a w:RCn×2Hn×2Wn→R(Pi|θmi|)×2Hn×2Wn, que se utiliza para generar los pesos de los metabloques de la red principal d. Tenga en cuenta que estos pesos varían entre ubicaciones espaciales. Definimos una codificación de posición fija P H,W∈R2×H×W, tal que en cada posición (i,j), P H,W i,j=P H,W i,j =(2iH−H−1+1, 2jW−W−1+1), donde i∈[0,H), j∈[0,W). Finalmente, dada la imagen de entrada y los mapas de características F1,...,Fn, sus correspondientes códigos de posición de resolución P0,...,Pn y pesos θd, el decodificador d genera la predicción de segmentación S∈RC× en la tarea de segmentación semántica H. ×W, donde C es el número de clases. Por lo tanto, toda nuestra red está definida por el siguiente conjunto de ecuaciones:donde el peso de cada red se especifica explícitamente después del símbolo delimitador.

imagen 3. (a) Metabloque basado en bloque residual inverso [40]. Cada capa violeta representa una convolución dinámica basada en parches con pesos generados por la capa naranja wi. (b) Visualización de operaciones de convolución dinámicas basadas en parches. Cada color representa el peso correspondiente a un parche específico y '*' representa la operación de convolución. Consulte la Sección 3.3 para obtener más detalles.

3.1.Codificador de Hypernrtwork

        El primer componente de la hiperred es la red troncal b (cuadro azul en la Figura 2(a)), que se basa en la familia de modelos EfficientNet [44]. La Sección 4 proporciona información detallada sobre la red. En nuestro trabajo, el encabezado de la arquitectura troncal se reemplaza por el encabezado de contexto h. La red troncal genera el mapa de características Fi en cada paso. Para reducir el tamaño del decodificador, utilizamos convoluciones 1 × 1 adicionales para reducir el número de canales por Fi en ri veces. Los valores exactos de ri se detallan en la Sección B del material complementario. El último tamaño del mapa de características de la red troncal es H2n×2Hn×2Wn. Cada píxel en este mapa de características codifica un parche en la imagen de entrada. Hay poca superposición entre estos parches y el campo receptivo limitado puede generar resultados deficientes para objetos grandes que abarcan múltiples parches. Por lo tanto, el encabezado de contexto h combina información de múltiples parches. Detallamos la estructura de h en la Figura 2(c), que utiliza la estructura U-Net anidada propuesta por Xuebin y otros [35]. En nuestra implementación, utilizamos una convolución de 2 × 2 con un paso de 2, que genera la mitad del número de canales de entrada. Estas convoluciones son computacionalmente más baratas que las convoluciones 3 × 3 que requieren un relleno de mapas de características de baja resolución para el procesamiento h, y dicho relleno puede aumentar significativamente la resolución espacial. El mapa de características más bajo se agrupa en promedio para extraer el contexto de nivel más alto y luego se muestra a la resolución anterior utilizando la interpolación del vecino más cercano. Finalmente, en la ruta de muestreo mejorado de h, concatenamos el mapa de características con su correspondiente mapa de características muestreado en cada nivel, seguido de una capa completamente conectada.

        Si bien la red de mapeo de peso w = [w0,...,wn] es una parte clave de nuestra súper red, en nuestra red jerárquica, w se divide en varias partes y estas partes están adjuntas al bloque de red principal (Fig. 2). (b)) es más eficiente. Por lo tanto, las capas w0,...,wn de la red de mapeo de peso están incrustadas en cada metabloque de d en lugar de seguir directamente a h. La razón de esto es que el mapeo del contexto a los pesos da como resultado una gran expansión de la memoria, lo que puede convertirse en un cuello de botella en el rendimiento. En cambio, los pesos se generan antes de su uso, lo que minimiza el consumo de memoria y hace un mejor uso de las memorias caché. Cada wi es una convolución 1×1 con un grupo de canales gwi y se explica en detalle a continuación.

3.2 Decodificador (red original)

        Como se muestra en la Figura 2(b), el decodificador d consta de n +1 bloques de elementos m0,...,mn, como se muestra en la Figura 3(a). El bloque m0 corresponde a la imagen de entrada, mientras que cada bloque mi (i = 1..n) corresponde al mapa de características Fi del codificador. A cada bloque le sigue un muestreo ascendente bilineal y se concatena con el siguiente mapa de características de resolución más fina. Al utilizar una hiperred, el peso del decodificador d depende de la imagen de entrada. A diferencia de los esquemas tradicionales, el peso de d no solo depende de la imagen de entrada sino que también cambia debido a las diferentes regiones de la imagen. De esta manera, podemos combinar efectivamente la información de bajo nivel de la raíz de la red con la información de alto nivel de la capa subyacente. Esto permite que nuestro método logre una mayor precisión utilizando decodificadores más pequeños, lo que permite un rendimiento en tiempo real. La hiperred puede verse como un mecanismo de atención, similar a algunos métodos basados ​​en la atención [20, 33], que se benefician de conocer la información de posición de los píxeles. Por lo tanto, utilizamos codificación posicional adicional para mejorar la imagen de entrada y el mapa de características del codificador.

        El diseño de m0,...,mn se basa en el bloque residual inverso de MobileNetV2 [40]: una convolución puntual pw1, seguida de una convolución profunda dw, seguida de otra convolución puntual pw2 sin función de activación. En lugar de utilizar convoluciones regulares, nuestra red utiliza convoluciones de parches dinámicas que se describen en la siguiente sección. Para parches muy pequeños (menos de 4 × 4 en nuestro modelo grande y menos de 8 × 8 en nuestro modelo más pequeño), el metabloque incluye solo pw1. El parámetro de elemento total θmi∈R requerido para cada mi (|θpw1|+|θdw|+|θpw1|)×2Hn ×2Wn es el parámetro de elemento combinado de todas las convoluciones dinámicas en mi: θmi =θpw1∪θdw∪θpw2. Dada una señal φi∈RCφi×2Hn×2Wn, el peso θmi es generado por la capa wi incrustada en mi. Durante la inferencia, la capa de normalización por lotes de mi se fusiona con wi; consulte la sección E en el material complementario para obtener más detalles. Usar la señal completa en cada mi es computacionalmente ineficiente y requiere una mayor cantidad de parámetros para entrenar, ya que φi se asigna directamente a una gran cantidad de pesos. Por tanto, dividimos el canal de φ en partes Cφ0,...,Cφn, cuyo tamaño corresponde al número de pesos necesarios para cada metabloque. La división de canales se define mediante el siguiente procedimiento:

        Puede encontrar información detallada sobre la partición de canales (·) en la Sección A del material complementario. Esta rutina garantiza que cada parte sea proporcional a su canal de señal asignado, sea divisible por max(gw0,...,gwn) de la convolución agrupada en w y se le asigne un número mínimo de canales. El número de grupos gwi es un hiperparámetro importante porque controla el número de parámetros entrenables y entrenables que se incluyen en el cálculo que produce los pesos mi. Como se puede ver en la siguiente ecuación, aumentar gwi reduce directamente la cantidad de parámetros calculados y entrenables proporcionalmente:

        ​​​ En el material complementario, estudiamos el impacto de diferentes valores de gwi (Sec.C) e informamos los valores exactos de gwi utilizados en nuestras pruebas (Sec.B).

Tabla 1. Hiperparámetros de entrenamiento para cada punto de referencia. Tabla 2. Resultados de PASCAL VOC 2012, val.set [11]. '⋆' representa la métrica que calculamos utilizando código fuente abierto (enumerado en la Sección D del Material complementario).

3.3.Convolución de bloque dinámico

        Ilustramos el funcionamiento de la convolución de parches dinámicos (DPWConv) en la Figura 3 (b), con las capas pw1, dw y pw2 en mi. Dado un mapa de características de entrada, H y W son la altura y el ancho de la entrada, Kh y Kw son la altura y el ancho del núcleo, Nh y Nw son el número de parches a lo largo de los ejes de alto y ancho, definimos los parches de salida como sigue: Oi,j =Xi,j ∗θi,j , donde ∗ es la operación de convolución, i ∈ [0, Nh), j ∈ [0, Nw) es el índice del parche, Xi,j es el parche en la posición de la cuadrícula (i, j) en X, θi,j es la red de pesos El peso correspondiente en la cuadrícula. Primero rellenamos todo el mapa de características de entrada X, luego, en cada parche Xi,j, empaquetamos píxeles adyacentes de parches adyacentes.

Tabla 3. Resultados de segmentación semántica en tiempo real en paisajes urbanos [8]. '-'Indica que la métrica no se informa. '⋆' indica que calculamos métricas específicas (enumeradas en la Sección D del Material complementario) utilizando el código fuente abierto disponible. 1Utilice duplicación horizontal e informes multiescala. Figura 4. Compensación entre GFLOP y precisión en paisajes urbanos [8]. Nuestro modelo (naranja) logra mejores compensaciones que los métodos anteriores.

4.Resultados experimentales

        Realizamos experimentos en tres puntos de referencia populares: PASCAL VOC 2012 [11], Cityscapes [8] y CamVid [2]. Informamos los resultados utilizando las siguientes medidas estándar: intersección promedio de clase sobre unión (mIoU), fotogramas por segundo (FPS), mil millones de operaciones de punto flotante (GFLOP) y número de parámetros entrenables. Los FPS se miden utilizando un protocolo establecido [32]: registramos FPS por el tiempo transcurrido desde la carga de datos a la GPU hasta la descarga de la predicción. Nuestro modelo se implementa utilizando PyTorch sin optimizaciones específicas. Finalmente, utilizamos el tamaño de lote 1 para simular la inferencia en tiempo real. De manera similar a la mayoría de los métodos anteriores, medimos FPS en una GPU NVIDIA GeForce GTX 1080TI (CPU i7-5820k y 32 GB de RAM DDR4). Los GFLOP y los parámetros entrenables se calculan utilizando la biblioteca pytorch-OpCounter [60], que también utilizan otros [32]. Realizamos experimentos utilizando los modelos grandes, medianos y pequeños HyperSeg-L, HyperSeg-M y HyperSeg-S respectivamente. Los modelos comparten la misma plantilla y reciben nombres según su número de parámetros para reflejar su tamaño. Tanto HyperSeg-M como HyperSeg-S omiten el nivel de resolución más fino de d; utilizamos interpolación bilineal para muestrear las predicciones desde su nivel anterior hasta la resolución de entrada. En HyperSeg-S, los canales en la capa media de mi se reducen a la mitad en comparación con el modelo más grande. Proporcionamos detalles de la columna vertebral y la resolución del modelo por separado para cada experimento. Para conocer otros valores de hiperparámetros, consulte la Sección B en el material complementario.

4.1 Detalles de la formación

        Inicializamos la red para θb usando pesos previamente entrenados en ImageNet [39] e inicializamos θh y θw usando valores aleatorios muestreados de la distribución normal. Usamos el optimizador Adam [23] para entrenar con β1 = 0,5 y β2 = 0,999. Al igual que otros [5, 6], utilizamos una programación de tasa de aprendizaje polinomial, disminuyendo la tasa de aprendizaje inicial lr0 después de i iteraciones por un factor (1-ti)p, donde t es el número total de iteraciones y p es una constante escalar. Los valores exactos para cada conjunto de datos se enumeran en la Tab.1. Para los puntos de referencia de Paisajes urbanos y Camvid, empleamos las siguientes técnicas de mejora de imagen: escalado aleatorio en el rango [0,5, 2,0], recorte y giro horizontal con probabilidad de 0,5. Para PASCAL VOC, utilizamos un cambio horizontal similar y adoptamos un rango de escala aleatorio de [0,25, 1,0]. Giramos aún más la imagen al azar, difuminamos los colores dentro de un rango de -30° a 30° para manipular el brillo, el contraste, la saturación y el tono, y finalmente llenamos la imagen a una resolución de 512×512. Entrenamos todos los modelos en dos GPU Volta V100 de 32 GB.

4.2.Prueba comparativa PASCALVOC2012

        PASCAL VOC 2012 [11] contiene imágenes de diferentes resoluciones, hasta 500 × 500, que representan 21 categorías (incluidas categorías de fondo). El conjunto de datos contenía originalmente 1464 imágenes de entrenamiento, 1449 imágenes de validación y 1456 imágenes de prueba. Posteriormente, otros ampliaron su conjunto de entrenamiento a un total de 10.582 imágenes [14]. Este conjunto de datos no se suele utilizar para evaluar métodos de segmentación en tiempo real, pero las imágenes de baja resolución permiten experimentos rápidos. Por lo tanto, seleccionamos este punto de referencia para nuestra prueba inicial. La Tabla 2 informa la precisión, los FLOP y la cantidad de parámetros entrenables de nuestro modelo y el trabajo existente. Elegimos el enfoque de informar los resultados en el conjunto de validación PASCAL VOC, sin utilizar estrategias de inferencia (por ejemplo, sin utilizar duplicación horizontal ni pruebas de múltiples escalas). Además de aumentar varias veces el tiempo de inferencia, estas técnicas pueden oscurecer la contribución de los métodos subyacentes. Como se puede ver en los resultados, nuestro método logra el mejor mIoU con GFLOP más bajos y menos parámetros entrenables en comparación con el trabajo anterior.

Figura 5. Resultados cualitativos de las imágenes del conjunto de validación de paisajes urbanos [8]. De izquierda a derecha: aportaciones, nuestros resultados y verdad sobre el terreno. Las primeras cuatro filas muestran el desempeño de nuestro modelo en diferentes escenarios. Las dos últimas líneas proporcionan ejemplos de errores. Tenga en cuenta que la zona reflectante del capó del coche se ignora en la evaluación.

4.3.Prueba comparativa de paisajes urbanos

        El conjunto de datos Cityscapes [8] proporciona imágenes de 5.000 vistas de calles de la ciudad, etiquetadas con 19 categorías. La resolución de la imagen es de 2048×1024 píxeles, que normalmente se reduce o se recorta durante el entrenamiento. Estas imágenes se dividen en 2975 imágenes de entrenamiento, 500 imágenes de validación y 1525 imágenes de prueba. La Tabla 3 compara variantes de nuestro método y métodos anteriores que utilizan la red troncal EfficientNet-B1 [44] a diferentes resoluciones. Solo mostramos los métodos que se consideran rápidos e informamos el conjunto de pruebas mIoU: ejecutándose a 10 FPS o más rápido. Nuestro modelo logra la mejor precisión tanto en los conjuntos de validación como en los de prueba, al mismo tiempo que logra el mejor equilibrio entre precisión y rendimiento en tiempo de ejecución. Esta comparación de compensaciones se puede ver mejor en la Figura 1. Es importante destacar que nuestro modelo incurre en una gran penalización de tiempo de ejecución debido al funcionamiento no optimizado de DPWConv. La Figura 4 muestra la comparación de GFLOP y compensación de precisión de nuestro método con respecto a los métodos anteriores. Claramente, nuestro enfoque logra mejores compensaciones que otros enfoques. Si bien los GFLOP no están directamente relacionados con los FPS, sí indican un rendimiento potencial en tiempo de ejecución una vez que todas nuestras funciones estén optimizadas.

        La Figura 5 muestra los resultados cualitativos de nuestro modelo HyperSeg-S en las imágenes del conjunto de validación de paisajes urbanos. Debido a la forma en que la imagen se divide en bloques, nuestro modelo produce resultados de segmentación de alta calidad sin artefactos obvios. Las dos últimas filas de la Figura 5 muestran algunos ejemplos de fallas. En la penúltima fila, nuestro modelo confunde un camión con un automóvil. En la última fila, nuestro modelo no segmenta correctamente los postes y etiqueta incorrectamente los píxeles como paredes o aceras.

4.4.Prueba comparativa de Cam Vid

        El conjunto de datos CamVid proporciona 701 imágenes de escenas de conducción similares a paisajes urbanos, etiquetadas con 11 categorías [2]. Todas las imágenes comparten la misma resolución, 960×720. Estas imágenes se dividen en 367 imágenes de entrenamiento, 101 imágenes de validación y 233 imágenes de prueba. Entrenamos en los conjuntos de entrenamiento y validación utilizando el protocolo de entrenamiento utilizado por todos los modelos de referencia. La Tabla 4 compara nuestro método con métodos anteriores en tiempo real previamente entrenados en ImageNet. Para una comparación justa, excluimos los métodos que utilizan datos distintos de ImageNet y CamVid. Probamos dos variantes del modelo, ambas utilizando la red troncal EfficientNet-B1 [44]. HyperSeg-S se ejecuta a una resolución de 768×576 y HyperSeg-L se ejecuta a una resolución de 1024×768. Ambos modelos lograron SotA con mayor mIoU que el SotA anterior, con HyperSeg-S funcionando a 38 FPS. Incluso sin utilizar datos externos, nuestro método supera los resultados de SotA informados para los métodos que utilizan Cityscapes como datos de entrenamiento adicionales: el método con los mejores resultados utilizando Cityscapes es BiSeNetV2-L [51], que supera su rendimiento sin utilizar el 73,2% mIoU adicional cuando la capacitación sobre los datos mejoró al 78,5% utilizando estos datos. Pero esto sigue siendo ligeramente inferior a nuestro método: 79,1% a 16,6FPS. De hecho, sus resultados son casi idénticos a los de nuestra red 38FPS. Ambas variantes de nuestro método no utilizan ningún dato de entrenamiento adicional.

        Estudios de ablación. Realizamos un estudio de ablación en el conjunto de datos CamVid [2] para demostrar la contribución de nuestro enfoque de metaaprendizaje y el impacto del uso de diferentes redes troncales. Los resultados se presentan en la Tabla 4. En los primeros seis experimentos, para cada configuración de modelo, reemplazamos la red troncal EfficientNet-B1 con diferentes redes troncales: ResNet18, PSPNet18 y PSPNet50. Seleccionamos explícitamente la red troncal utilizada por los métodos anteriores. En nuestra implementación, una capa completamente conectada convierte el último mapa de características en 1280 canales (redes troncales ResNet18 y PSPNet18) o 2048 canales (red troncal PSPNet50) antes de ingresar el encabezado de contexto. En la red troncal de PSPNet, no utilizamos dilatación en ninguna convolución. En los experimentos etiquetados "sin DPWConv", reemplazamos todas las convoluciones de bloques dinámicos con convoluciones regulares, eliminando efectivamente todos los elementos de metaaprendizaje de nuestro método. Los resultados muestran claramente que la red troncal EfficientNet-B1 supera a las redes troncales ResNet18, PSPNet18 y PSPNet50, pero nuestro método aún supera a los métodos anteriores que utilizan estas redes troncales. Finalmente, eliminar el metaaprendizaje de nuestro método da como resultado una disminución del 1,1% en la precisión para la configuración HyperSeg-S y una disminución del 0,7% en la precisión para la configuración HyperSeg-L, con solo un ligero aumento de FPS, lo que indica que el metaaprendizaje es un componente importante de nuestro método.

Tabla 4. Resultados de la segmentación semántica en tiempo real en CamVid [2] (conjunto de prueba; sin datos externos). Arriba: Enfoque previo. Parte media: estudios de ablación. Las primeras seis filas son variaciones de nuestro modelo con diferentes redes troncales. Mejoramos la precisión y aumentamos el tiempo de ejecución en comparación con las líneas de base. En la variante "sin DPWConv", reemplazamos las convoluciones dinámicas en capas con convoluciones regulares. La precisión de estas variantes es menor que la de nuestro método completo. Abajo: Nuestro enfoque completo. ⋆Utilizamos informática de código abierto.

5. Resumen

        Proponemos combinar codificadores automáticos con hiperredes para tareas de segmentación semántica. En nuestro esquema, la superred consta de tres redes: la red troncal b del codificador de segmentación semántica, un cabezal de contexto h en forma de una U-Net interna y múltiples cabezales de mapeo de peso wi. El decodificador es un decodificador de múltiples bloques donde cada bloque di implementa una capa conectada localmente. El resultado es un nuevo tipo de U-Net que es capaz de adaptarse dinámica y localmente a la entrada y, por lo tanto, tiene el potencial de adaptar mejor el proceso de segmentación a la imagen de entrada. Como muestran nuestros experimentos, nuestro método supera al método SotA en múltiples puntos de referencia en este campo tan competitivo.

Supongo que te gusta

Origin blog.csdn.net/ADICDFHL/article/details/133763646
Recomendado
Clasificación