GC-Net, o artigo intitulado: Aprendizagem de ponta a ponta de geometria e contexto para regressão estéreo profunda, documento ICCV 2017 (CCF A). Regressão de disparidade para geometria estéreo aprendendo informações geométricas e contextuais
por meio de uma rede neural de ponta a ponta . De repente, descobri que uma parte considerável do MVSNet usava diretamente a ideia desse modelo sem uma explicação detalhada . Para entender melhor alguns conceitos substantivos e princípios de método no MVSNet, complementei e li intensamente o artigo.
Para a relação entre paralaxe e profundidade , você pode ver
[3D Reconstruction Supplementary Knowledge-0] paralaxe, conceito de profundidade e sua conversão
1. Histórico do problema
- Na estimativa de disparidade, o problema principal é calcular a correlação de pixels entre imagens diferentes , e os algoritmos tradicionais mais avançados anteriores geralmente têm dificuldades em áreas sem textura, superfícies reflexivas, estruturas finas e padrões repetidos , portanto, geralmente passam por agrupamento ou gradiente regularização baseada em base para aliviar essas falhas , mas requer um compromisso entre suavizar a superfície e detectar estruturas detalhadas
- Atualmente, os modelos de aprendizado profundo podem aprender representações de recursos com informações semânticas de imagens brutas
- Para muitos problemas em geometria sólida, o efeito do algoritmo se beneficiará do conhecimento do contexto semântico global , em vez de depender apenas da geometria local
- No problema de geometria tridimensional anterior, o método de usar recursos de aprendizado profundo é principalmente usar representação de recursos profundos para gerar itens unários , e aplicar correspondência de custos (correspondência de custos) em representações unárias profundas não é bom o suficiente para estimar a disparidade de pixels , e ainda precisa usar métodos tradicionais de regularização e pós-processamento (como SGB e consistência de exibição esquerda-direita) , mas essas etapas de regularização rasas projetadas à mão ainda são vulneráveis a sérias limitações, como texturas fracas mencionadas anteriormente
2. Conhecimento relevante
- Pesquise subconjuntos de inferência de profundidade : cálculo de custo correspondente, agregação de suporte de custo, cálculo e otimização de disparidade ou refinamento de disparidade
- Custo de correspondência : uma medida potencial de dissimilaridade de pixel correspondente a locais de imagem, como diferenças absolutas, diferenças quadradas e diferenças truncadas
- Descritor local baseado em gradiente : CENSUS, BRIEF, etc.
3. Pontos de inovação do papel
O objetivo é usar o par de imagens estéreo corrigidas para encontrar o valor da disparidade de cada ponto de pixel na imagem por meio do método de regressão.
- Usando a representação de recursos extraída pela rede neural, o conhecimento geométrico é usado para construir o corpo de custos
- Use convoluções 3D para agregar informações contextuais de volumes de custo
- Usando o método soft argmin proposto no artigo para regredir a paralaxe do volume de custo, a precisão de subpixel pode ser alcançada sem pós-processamento e o treinamento de ponta a ponta pode ser alcançado (porque pode ser retropropagado)
4. Modelo de tese
1. Características Unárias
Use a rede neural com compartilhamento de parâmetros para extrair a representação de recursos profundos, a escala de saída é [H/2, W/2, F], F representa o número de canais de recursos e o valor desses recursos unários é um valor único recurso.
2. Geração de corpo de custo
Calcule um corpo de custo para cada uma das imagens de entrada esquerda e direita, use o recurso unário ([H/2, W/2, F]) extraído na etapa anterior, adicione uma dimensão de paralaxe e torne-se [D/2, H/2, W/2, 2F].
Depois que a nova dimensão de disparidade é adicionada, o mapa de recursos 3D original torna-se um volume de custo 4D , e o valor da disparidade é: [1, d max ]
Para cada disparidade d i , os recursos unários das imagens esquerda e direita são conectados juntos , mas o conectado É a característica do ponto de pixel p na imagem da esquerda e a característica do ponto de pixel p+d i
na imagem da direita. Desta forma, a escala final do corpo de custo é [D/2, H /2, W/2, 2F], e D/2 é porque a paralaxe somente ao longo da direção horizontal, o máximo é metade da largura da imagem , e 2F é porque para cada paralaxe d i na emenda acima, pode ser considerado como a adição de um canal de recurso F n da imagem esquerda original à imagem direita, mais a paralaxe correspondente O canal de recurso F 'n .
O artigo enfatiza que a vantagem disso é que a representação absoluta dos recursos é mantida no corpo do custo , em vez de usar métodos como produtos escalares ou métricas de distância para obter apenas a relação relativa entre diferentes recursos , evitando assim a redução das dimensões dos recursos e perda de informações. , pode calcular melhor e usar informações semânticas no processo subsequente .
3. Contexto de Aprendizagem
O objetivo desta parte, regularização do volume de custos, é aprender uma função de regularização que leva em consideração o contexto no volume de custos e melhora a estimativa de disparidade. Além disso, aponta-se que mesmo que os recursos aprendidos pela rede neural sejam usados para correspondência de custos, haverá problemas. Por exemplo, para algumas cenas com intensidade de pixel uniforme, como o céu, a média correspondente da área local será muito plano, então é planejado usar operações de Convolução 3D para filtrar e otimizar a representação.
A estrutura de rede desta parte da convolução 3D:
- As convoluções 3D são capazes de aprender representações de recursos de dimensões de altura, largura e disparidade e, como uma curva de custo é calculada para cada recurso unário, os filtros convolucionais podem ser aprendidos a partir dessa representação.
- O problema de usar a convolução 3D é que mais uma dimensão de disparidade trará uma grande carga computacional, que pode ser aliviada usando uma estrutura de codificação e decodificação profunda (Deep Encoder-Decoder), ou seja, mapas de recursos de downsampling durante a codificação e upsampling durante a decodificação • Exemplos de mapas de recursos.
4.可微ArgMin(ArgMin Diferenciável)
Esta parte é inferir o mapa de profundidade e propor a operação soft argmin que o MVSNet continuará a usar posteriormente.
Em primeiro lugar, é apontado que no método anterior, o corpo de custo é calculado combinando o custo, e o argmin é usado para estimar a disparidade ao longo da dimensão da disparidade, então há dois problemas:
- A disparidade calculada é discreta e a estimativa de disparidade de subpixel não pode ser gerada (portanto, precisão de subpixel significa simplesmente precisão "contínua, incluindo ponto decimal" )
- O resultado não é diferenciável, portanto não pode ser treinado usando retropropagação
Portanto, o método Soft argmin é proposto, especificamente:
- Inverta o valor (custo previsto) de cada pixel no volume de custo (volume de custo) após a regularização para obter o volume de probabilidade (volume de probabilidade)
- Regularize o corpo de probabilidade ao longo da direção da disparidade, ou seja, faça a operação softmax
- Encontre as expectativas ao longo da direção da disparidade
Expressar todo o processo através da fórmula é: soft argmin : = ∑ d = 0 D maxd × σ ( − cd ) soft\ argmin:=\sum^{D_{max}}_{d=0}d\times{σ (-c_{d})}s o f t a r g m in _ :=d = 0∑Dm a xd×σ ( − cd)
cdé o valor do custo de previsão quando a disparidade no volume do custo de regularização é d.
A observação nesta parte do diagrama do modelo de tese é "Soft argmax". Na verdade, há uma pequena linha de anotações na narração.- Além disso, o artigo usa deliberadamente uma parte do espaço para descrever como fazer o argmin suave produzir os mesmos resultados de previsão de paralaxe que o argmin direto. Não é melhor esperar expectativas? Pode ser que esse método tenha sido escolhido ao contrário do efeito experimental. .
5. Função de perda
Nada de especial, é resolver a perda de L1 pixel a pixel como um problema de regressão.
5. Saliência do modelo
O artigo calcula a imagem acima usando o valor de paralaxe de cada pixel como entrada para calcular a influência de cada pixel. Pode-se ver que a inferência de paralaxe de cada pixel cruzado branco alvo contém informações de contexto mais amplas - por meio das características de pixel do carro e o solo ao redor são usados para calcular sua disparidade , o que antes era impossível para algoritmos estéreo de aprendizado profundo baseados em Patch, como 9x9 .