Revisão do artigo FarSee-Net - uma nova abordagem para a segmentação semântica em tempo real

Neste artigo, os autores propõem a arquitetura de pool de pirâmide espacial atrativa fatorada em cascata (CF-ASPP) para segmentação semântica em tempo real. O novo módulo CF-ASPP e o uso de super-resolução melhoram o compromisso com a precisão da latência. A revisão foi preparada pelo principal desenvolvedor do MTS Andrey Lukyanenko.

imagem

A segmentação semântica em tempo real é essencial para muitas tarefas executadas em recursos limitados. Uma das grandes dificuldades é trabalhar com objetos de tamanhos diferentes e usar o contexto. Neste artigo, os autores propõem a arquitetura de pool de pirâmide espacial atrativa fatorada em cascata (CF-ASPP).

Atualmente, uma abordagem comum é reduzir rapidamente o tamanho das imagens nos estágios iniciais e, em seguida, a máscara do tamanho original é obtida usando upsampling. Os autores propõem o uso de abordagens de super-resolução em vez de simples upsampling.

O novo módulo e o uso de super-resolução podem melhorar o trade-off da precisão da latência.

Na terminologia dos autores, a rede treinada para extração de recursos é chamada de rede front-end e o restante é chamada de rede back-end.

imagem

Justificação para melhorias

Como o mesmo objeto em imagens diferentes pode ter tamanhos diferentes, é muito importante poder usar efetivamente informações contextuais, especialmente para objetos pequenos e estreitos. O front-end geralmente agrega o contexto de várias escalas. Mas geralmente esses módulos funcionam em níveis profundos de redes neurais, onde o número de canais é alto. Como resultado, mesmo as camadas convolucionais com um tamanho de kernel de 3 requerem muitos recursos de computação. Portanto, os autores propõem seu próprio módulo, o que o torna mais eficaz.

Outro problema de back-end para segmentação semântica é que os mapas de recursos têm uma dimensão espacial significativamente menor após o front-end. Além disso, muitas abordagens usam imagens com tamanho reduzido para aumentar a velocidade. Como resultado, o tamanho é ainda menor. Os autores sugerem o uso de uma máscara de tamanho original para supervisão durante o treinamento. A super-resolução permite restaurar com eficiência uma máscara de alta resolução a partir de uma máscara de baixa resolução.

A essência das melhorias

Qualquer malha treinada, como VGG, ResNet, MobileNet, pode ser usada como front-end.

O ponto principal é o back-end:

imagem

ASPP fatorado em cascata

As convoluções atrosas são frequentemente usadas na segmentação semântica - sua diferença em relação à abordagem padrão é que r - 1 zeros são adicionados entre os filtros. Isso permite aumentar significativamente a visibilidade de cada filtro sem aumentar os custos computacionais. Porém, como as convulsões atrosas se aplicam a grandes mapas de recursos, a computação ainda é cara.

Os autores sugerem decompor uma convolução atrosa 3 × 3 em 2 partes: convolução ponto a ponto para reduzir o número de canais e convolução atrativa e profundidade para reduzir a sobrecarga computacional. Como resultado, são necessários aproximadamente 8,8 vezes menos cálculos.

Além disso, o módulo ASPP é aplicado duas vezes em cascata. Por um lado, o modelo recebe mais contextos de diferentes escalas, por outro lado, imagens menores chegam ao segundo ASPP, de modo que a grade não diminui muito, mas a precisão aumenta.

Super-resolução do espaço de recursos

Como resultado da operação do front-end, o tamanho da imagem é bastante reduzido e precisamos obter um resultado de alta resolução com base nessa imagem reduzida. Os autores usam a abordagem de super-resolução para isso.

Na fase de treinamento, uma miniatura é usada como entrada e a imagem original é usada como verdade fundamental.

No módulo, a upsampling de back-end é feita usando convolução de sub-pixel, que é usada apenas em tarefas de super-resolução.

imagem

Experiências

Como conjunto de dados, foram usadas paisagens urbanas. O código foi escrito em Pytorch 1.1, CuDNN v7.0. A interferência foi feita na Nvidia Titan X (Maxwell). Utilizou o ResNet-18 como uma malha treinada. Os recursos foram retirados da última camada antes do pool médio e da camada conv3_x.
SGD, 400 eras e muitos aprimoramentos.

Estudo de ablação na estrutura de rede

imagem

Testado 4 abordagens:

  1. Front-end - ResNet-18, back-end - ASPP, decodificador - DeeplabV3 +
  2. Front-end - ResNet-18, back-end - um F-ASPP, decodificador - DeeplabV3 +
  3. Front-end - ResNet-18, back-end - CF-ASPP (sem resolução do espaço de recursos)
  4. A abordagem completa.

Comparação com outras abordagens:

imagem

a qualidade é realmente alta e a taxa de inferência é quase a melhor.

imagem

All Articles