[Leitura do artigo] Recuperando malhas de textura fina do NeRF por meio do refinamento de superfície adaptável


insira a descrição da imagem aqui
código de papel


Abstrato

Neural Radiation Field (NeRF) fez um grande avanço no campo da reconstrução 3D baseada em imagem. No entanto, suas representações de volume implícitas são bastante diferentes das malhas poligonais amplamente adotadas e carecem de suporte de software e hardware 3D comuns, resultando em renderização e manipulação ineficientes delas. Para superar essa limitação, propomos uma nova estrutura que pode gerar malhas de superfícies texturizadas a partir de imagens. Nossa abordagem primeiro usa o NeRF para inicializar eficientemente a geometria e as aparências de decomposição dependentes da visualização. Posteriormente, uma malha grossa é extraída e um algoritmo iterativo de refinamento de superfície é desenvolvido para ajustar de forma adaptativa as posições dos vértices e a densidade da face com base nos erros de renderização reprojetados. Nós co-refinamos a aparência com a geometria e a transformamos em uma imagem de textura para renderização em tempo real. Experimentos extensivos mostram que nosso método alcança qualidade de malha superior e qualidade de renderização competitiva.

1. Introdução

A reconstrução de cenas 3D a partir de imagens RGB é uma tarefa complexa em visão computacional com muitas aplicações práticas. Nos últimos anos, o Neural Radiative Field (NeRF) [30, 2, 8, 31] ganhou popularidade devido à sua impressionante capacidade de reconstruir e renderizar grandes cenas com detalhes realistas. No entanto, NeRF afirma que funções implícitas e algoritmos especializados de marcha de raio são frequentemente usados ​​para renderização, o que, devido ao suporte de hardware ruim, torna-os difíceis de manipular e renderiza lentamente, limitando seu uso em aplicativos downstream. Por outro lado, as malhas poligonais são a representação mais comumente usada em aplicativos 3D e são bem suportadas pela maioria dos hardwares gráficos para renderização acelerada. No entanto, reconstruir diretamente a malha pode ser desafiador devido à irregularidade da malha, e a maioria dos métodos é limitada à topologia fixa ou à reconstrução em nível de objeto.

Alguns trabalhos recentes [32,6,11,51] concentram-se em combinar as vantagens de NeRF e representações de malha. MobileNeRF [11] propõe otimizar NeRF na grade e binarizar os pesos de renderização para incorporar rasterização para renderização em tempo real. No entanto, a malha resultante é diferente da malha de superfície e a textura está no espaço de recursos em vez do espaço RGB, dificultando a edição ou a manipulação. Para obter malhas de superfície precisas, uma abordagem popular é usar campos de distância assinados (SDF), que podem definir superfícies com precisão [46,50,54]. No entanto, a pesquisa nesta área geralmente produz uma geometria excessivamente suave, não consegue modelar estruturas finas e muitas vezes ignora a qualidade da renderização. Além disso, malhas obtidas por Marching Cubes [28] podem ter posições de vértices imprecisas e um grande número de faces. O NVdiffrec [32] usa um rasterizador diferenciável [22] para otimizar malhas tetraédricas deformáveis, mas é limitado à reconstrução em nível de objeto e não pode restaurar topologias complexas. A presença de lacunas de representação dificulta a recuperação de uma malha de superfície precisa do NeRF volumétrico, mantendo a qualidade da renderização.

Este artigo apresenta uma nova estrutura chamada NeRF2Mesh para extrair malhas de superfície com textura fina de imagens RGB, conforme mostrado na Figura 1. Nosso principal insight é refinar as malhas grosseiras extraídas do NeRF para otimização conjunta de geometria e aparência. A representação volumétrica NeRF é adequada para inicialização eficiente de geometria e aparência. Com uma malha grossa extraída do NeRF, ajustamos as posições dos vértices e a densidade das faces de acordo com os erros de renderização 2D, o que por sua vez ajuda na otimização da aparência. Para habilitar a edição de textura, decompomos a aparência em um termo difuso independente da visualização e um termo especular dependente da visualização, de modo que as cores difusas possam ser exportadas como texturas de imagem RGB padrão. A cor especular é exportada como uma textura de recurso, que pode ser alimentada em um pequeno MLP incorporado no sombreador de fragmento junto com a direção de visualização atual para gerar cores dependentes da visualização. No geral, nossa estrutura permite a criação de produtos de malha versáteis e práticos que podem ser usados ​​em uma variedade de cenários desafiadores para NeRF volumétrico.
insira a descrição da imagem aqui
Figura 1: Nossa estrutura, NeRF2Mesh, reconstrói malhas de superfície de alta qualidade usando texturas difusas e especulares de imagens RGB multivisualização, generalizando bem de conjuntos de dados de nível de objeto a nível de cena. As malhas texturizadas exportadas estão imediatamente disponíveis para hardware e software gráfico comum, facilitando uma variedade de aplicativos downstream.

Nossas contribuições podem ser resumidas da seguinte forma:
• Propomos a estrutura NeRF2Mesh para reconstruir malhas de superfícies texturizadas a partir de imagens RGB multivisualização, refinando conjuntamente a geometria e a aparência de malhas grosseiras extraídas de NeRF decomposto por aparência.
• Propomos um algoritmo de refinamento de malha adaptável que nos permite ajustar a densidade de área, onde superfícies complexas são subdivididas e superfícies mais simples são dizimadas com base em erros de imagem 2D reprojetados.
• Comparado com métodos recentes, nosso método melhora a qualidade da malha de superfície, tem um tamanho de malha relativamente pequeno e tem qualidade de renderização competitiva. Além disso, as malhas resultantes podem ser renderizadas e editadas interativamente em tempo real usando hardware e software 3D comuns.

2. Trabalho relacionado

2.1. NeRF para reconstrução de cena

NeRF [30] e seus trabalhos posteriores [2, 3, 56, 36, 48, 34, 48, 1, 7, 37] representam um avanço significativo na reconstrução de cenas 3D a partir de imagens RGB. Apesar de sua excelente qualidade de renderização, o NeRF simples enfrenta vários problemas. Por exemplo, a velocidade de treinamento e inferência do modelo é lenta devido ao grande número de avaliações MLP, o que limita a ampla adoção de representações NeRF. Para resolver esse problema, alguns trabalhos [53,38,41,31,8] propõem maneiras de reduzir o tamanho do MLP ou eliminá-lo totalmente e, em vez disso, otimizar uma grade de recursos 3D explícita que armazena informações de densidade e aparência. DVGO [41] adota duas grades de recursos densas para codificação de densidade e aparência, mas as grades densas levam a um tamanho de modelo grande. Para controlar efetivamente o tamanho do modelo, o Instant-NGP [31] propõe uma tabela hash multi-resolução. Além dos problemas de eficiência, ao contrário das representações explícitas, como malhas poligonais, as representações implícitas do NeRF não podem ser diretamente manipuladas e editadas tanto na geometria quanto na aparência. Embora alguns trabalhos [23, 42, 49, 26, 45] explorem as operações geométricas e a composição do NeRF, eles ainda são limitados em diferentes aspectos. Por outro lado, outros [57, 5, 55, 40, 4, 44] visam decompor o albedo sob iluminação desconhecida para re-iluminação e edição de textura. Esses problemas levam a uma lacuna entre as representações NeRF e as malhas de polígonos amplamente usadas em aplicações downstream. Nosso objetivo é fechar essa lacuna explorando maneiras de converter reconstruções NeRF em malhas texturizadas.

2.2. Malha de superfície para reconstrução de cena

Reconstruir malhas de superfície explícitas diretamente pode ser um desafio, especialmente para cenas complexas com topologia complexa. A maioria dos métodos nesta área de pesquisa assume grades modelo com topologia fixa [9, 10, 20, 25]. Métodos recentes [32, 17, 24, 39] começaram a resolver problemas de otimização de topologia. NVdiffrec [32] combina tetraedros de marcha diferenciáveis ​​[24] com renderização diferenciável para otimizar diretamente malhas de superfície. Ele também pode decompor materiais e iluminação, o que é aprimorado ainda mais no NVdiffrecMC [17] usando a renderização de Monte Carlo. No entanto, esses métodos ainda são limitados, pois são adequados apenas para reconstrução de malha em nível de objeto e é difícil distinguir entre malhas de fundo e de primeiro plano em cenas externas ilimitadas. As máscaras de primeiro plano [32] devem ser preparadas para refinar os limites do objeto usando renderização diferenciável. Em contraste, nosso foco está na reconstrução de malhas de superfície no nível do objeto e da cena sem conhecimento prévio.

2.3. Extraindo malha de superfície de NeRF

O NeRF usa campos de densidade aparente para representar formas geométricas, que não necessariamente formam superfícies definidas. Para resolver este problema, uma estratégia popular é aprender campos de distância assinados (SDF) [46, 50, 14, 15, 54, 47], onde as superfícies podem ser determinadas por conjuntos de nível zero. NeuS [46] aplica SDF a transformações de densidade para renderização diferenciável, e o algoritmo Marching Cubes [28] é freqüentemente usado para extrair malhas de superfície desses volumes. Trabalhando em paralelo, o BakedSDF [51] otimiza as representações de superfície volumétrica do SDF híbrido e as transforma em malhas para renderização em tempo real. No entanto, os métodos baseados em SDF tendem a aprender geometrias excessivamente suaves e não conseguem lidar com estruturas finas. Alguns métodos [43, 27] exploram campos de distância sem sinal (UDFs) ou combinações de campos de densidade e SDFs para lidar com essa limitação, mas ainda estão limitados à reconstrução em nível de objeto. SAMURAI [6] visa recuperar conjuntamente a pose da câmera, a geometria e a aparência de um único objeto sob condições de captura desconhecidas e derivar uma malha texturizada. MobileNeRF [11] propôs treinar o NeRF na grade de malha, que pode ser renderizada em tempo real. No entanto, suas malhas não são exatamente malhas de superfície, apenas recursos são exportados como texturas, que devem ser renderizadas com shaders personalizados e são inconvenientes para editar. Trabalhos recentes [31, 35] descobriram que a ativação de densidade exponencial pode ajudar a focar a densidade e formar superfícies melhores. Também empregamos campos de densidade para capturar topologias complexas e refinar ainda mais as superfícies.

3. Método

Nesta seção, apresentamos nossa estrutura, mostrada na Figura 2, para reconstruir malhas de superfície texturizada de coleções de imagens RGB compatíveis com hardware e software 3D comuns. O processo de treinamento consiste em duas etapas. Primeiro, treinamos um NeRF baseado em grade [31] para inicializar eficientemente a geometria e a aparência da grade (Seção 3.1). Em seguida, extraímos a malha superficial grosseira e ajustamos a geometria e a aparência da superfície (Seção 3.2). Após a conclusão do treinamento, podemos usar um formato padrão (como wavefront OBJ (OBJ é um formato de arquivo gráfico geométrico desenvolvido pela Wavefront Technology. Este formato foi originalmente desenvolvido para a ferramenta de animação Advanced Visualizer, que agora está aberta e está disponível em muitos outros softwares gráficos 3D. ) e PNG) para exportar malhas de superfície texturizada, que estão disponíveis em uma variedade de aplicativos downstream (Seção 3.3).
insira a descrição da imagem aqui
Figura 2: Estrutura NeRF2Mesh. A geometria é inicialmente aprendida por meio de uma grade de densidade e depois extraída para formar uma grade grosseira. Nós o otimizamos para uma malha mais fina com superfícies mais precisas e densidade de área adaptável. A aparência é aprendida por meio de uma grade de cores e dividida em termos difusos e especulares. Após a convergência, podemos exportar a malha fina, desempacotar suas coordenadas UV e assar a textura ("cozimento" é o nome do processo de salvar as características geométricas da malha 3D em um arquivo de textura (arquivo bitmap). O nome em inglês é [Bake], Bake várias propriedades combinadas (incluindo materiais, texturas e iluminação) de propriedades de objetos 3D (oclusão de ambiente, normal, cor de vértice, orientação, curvatura, posição, etc.) em uma única textura e, em seguida, use o UV do objeto coordenadas para remapear a textura da imagem para o objeto modelo).

3.1. Treinamento NeRF eficiente (estágio 1)

Na fase inicial, exploramos a representação volumétrica NeRF para recuperar a geometria e aparência de cenas arbitrárias. O principal objetivo desta fase é estabelecer com eficiência a geometria topologicamente precisa e uma aparência decomposta pronta para a fase de refinamento da malha de superfície subsequente . Enquanto o estudo direto de malhas poligonais [32] representa um desafio para o aprendizado de geometrias complexas, o NeRF volumétrico [30] oferece uma alternativa mais acessível.

Seguimos avanços recentes no NeRF baseado em grade [31, 41, 8, 38] para melhorar a eficiência do NeRF adotando duas grades de recursos independentes para representar o espaço 3D. Embora a superfície possa carecer de precisão devido às densidades que podem estar espalhadas pelo espaço, essas questões podem ser abordadas no próximo estágio de refinamento da malha.

Geometria. O aprendizado de geometria é facilitado por grades de densidade [31] e MLPs rasos, expressos da seguinte forma:
insira a descrição da imagem aqui
onde φ φφ é uma ativação exponencial que promove superfícies mais nítidas [31],E geo E^{geo}Eg eo é uma grade de recursos de multi-resolução que pode ser aprendida,x ∈ R 3 x ∈ \mathbb{R} ^3xR3 é a localização de qualquer ponto 3D.

Decomposição da Aparência. O NeRF normalmente opera sem fazer suposições sobre a iluminação ou as propriedades do material. Portanto, o trabalho anterior adota principalmente funções implícitas 5D condicionadas na posição 3D e na orientação da vista 2D para modelar a aparência dependente da vista. Apesar de alcançar um desempenho fotorrealista, essa abordagem apresenta a aparência de uma caixa preta, o que torna desafiadora a representação com imagens texturizadas 2D tradicionais.
Para resolver isso, usamos uma grade de cores e dois MLPs rasos para decompor a aparência em cores difusas independentes da visualização cd c_dcde a cor especular dependente da visão cs c_scs, expresso da seguinte forma:
insira a descrição da imagem aqui
onde ψ ψψ significa ativação sigmoide,fs f_sfsIndica a posição xxcaracterística intermediária da cor especular em x , ddd representa a direção de visualização. A cor final é obtida somando os dois termos:
insira a descrição da imagem aqui
conforme mostrado na Figura 3, separamos com sucesso os termos difusos e especulares. R 3 \mathbb{R} ^3RA cor difusa em 3 pode ser convenientemente inserida em uma textura de imagem RGB. Ao mesmo tempo, o recurso especularfs f_sfsTambém pode ser cozido como uma textura, e o pequeno MLP 2 MLP_2M L P2Pode caber no seguinte fragment shader [11]. Portanto, a cor especular também pode ser exportada e renderizada posteriormente (consulte a Seção 3.3 para obter detalhes). Notavelmente, nossa abordagem envolve transformar condições de iluminação em texturas. Isso ocorre porque estimar a iluminação ambiente pode ser um desafio para conjuntos de dados do mundo real, e estudos anteriores observaram que isso pode levar a uma qualidade de renderização inferior [57, 32].

insira a descrição da imagem aqui
Figura 3: Separação de cores difusas e especulares.

Função de perda Para otimizar nosso modelo, seguimos a perda de renderização NeRF original. Dada uma linha de ooo emitido, direçãoddd' s rayrrr , estamos na posiçãoxi = o + tid x_i = o + t_idxeu=o+teuConsultar o modelo em d e amostrar ao longo dos raios sequencialmente para obter a densidadeσ i σ_ipeue cor ci c_iceu. A cor final do pixel é obtida por quadratura numérica usando a seguinte equação:

insira a descrição da imagem aqui
其中δ i = ti + 1 − ti δ_i = t_{i+1}−t_ideu=teu + 1teu是步长, wi = 1 − exp ( − σ i δ i ) wi = 1−exp(−σ_iδ_i)com eu=1e x p ( peudeu) é o peso de renderização ponto a ponto,T i T_iTeué a transmitância. Minimizamos a cor prevista C ^ ( r ) \hat C(r) para cada pixelC^ (r)e a cor de baseC ( r ) C(r)Perda entre C ( r ) :

insira a descrição da imagem aqui

Encorajamos a separação dos termos difusos e especulares aplicando a regularização L1 à cor especular:

insira a descrição da imagem aqui

Para tornar a superfície mais clara, aplicamos a regularização de entropia aos pesos de renderização:
insira a descrição da imagem aqui
onde wi w_iceué o peso de renderização por ponto. Para cenas externas ilimitadas, também estamos no campo de densidade E geo E_{geo}Ege _A regularização da variação total (TV) é aplicada para reduzir flutuadores [41, 8].

3.2. Refino de Malha de Superfície (Estágio 2)

Na segunda etapa, extraímos a malha superficial grosseira do modelo NeRF da primeira etapa e a otimizamos ainda mais. Esse processo envolve o refinamento de vértices, triângulos e aparências em superfícies, conforme mostrado na Figura 4.
insira a descrição da imagem aqui
Figura 4: Refinamento da malha. Refinamos a geometria e a aparência da malha grossa no estágio 2.

Refinamento da aparência. Para renderizar uma imagem, a malha é rasterizada e a posição 3D é interpolada pixel a pixel no espaço da imagem. Como as cores dos pixels ainda são consultadas ponto a ponto, o modelo de aparência do estágio 1 pode ser transferido para o estágio 2. Isso elimina a necessidade de aprender as aparências do zero, reduzindo o número de etapas de treinamento necessárias para a convergência da Fase 2. A perda de cor de pixel na Equação 6 ainda é aplicada no estágio 2 para permitir a otimização conjunta de aparência e geometria.

Refino de malha iterativa.Cubos de marcha [28] Malhas grosseiras extraídas de campos de densidade são frequentemente defeituosas. Essas falhas incluem vértices imprecisos e faces densas e uniformemente distribuídas, resultando em um enorme espaço de armazenamento em disco e baixa velocidade de renderização. Nosso objetivo é recuperar uma malha refinada semelhante a uma malha artificial, refinando as posições dos vértices e a densidade das faces.

Dada a grade inicial grosseira M grosseira = { V , F } \mathcal{M}_{grossa} = \{ \mathcal{V} ,\mathcal{F} \}Mco a rse={ V ,F } , nós para cada vérticevi ∈ V v_i ∈ \mathcal{V}veuV atribui um deslocamento treinávelΔvi Δv_iv_ _eu. Usamos renderização diferenciável [22] para otimizar esses deslocamentos, retropropagando gradientes de perda de espaço de imagem seguindo [32]. As faces da malha, por outro lado, não são diferenciáveis ​​e não podem ser otimizadas por retropropagação da mesma maneira. Para resolver esse problema, propomos um algoritmo de refinamento de malha iterativo inspirado no algoritmo de mínimos quadrados iterativamente reponderados (IRLS) [19]. A ideia-chave é ajustar de forma adaptativa a densidade de área de acordo com o erro de treinamento anterior. Durante o treinamento, reprojetamos os erros de renderização de pixel 2D na Equação 6 para as faces de malha correspondentes e acumulamos os erros de face. Após um certo número de iterações, temos todos os erros de face E face E_{face}Ecara _ _Classifique e determine dois limites:
insira a descrição da imagem aqui
erro maior que esubdivide e_{subdivide}es u b d i v i d eA superfície de será subdividida pelo ponto médio [12] para aumentar a densidade da superfície, e o erro é menor que edcimate e_{dcimate}ed c im a t ede faces serão extraídas e refeitas para reduzir a densidade da face. Depois que a malha é atualizada, reinicializamos os deslocamentos de vértice e os erros de face e continuamos o treinamento. Este processo é repetido várias vezes até que a Fase 1 esteja completa.

Cena ilimitada.Sem perda de generalidade, somos capazes de modelar cenas ilimitadas avançadas [29] e de grande escala [3]. Dividimos a cena em múltiplas regiões de crescimento geométrico [ − 2 k , 2 k ] 3 , k ∈ { 0 , 1 , 2 , ⋅ ⋅ ⋅ } [−2^k, 2^k]^3, k ∈ \{ 0 , 1, 2, · · · \}[ -2 _k ,2k ]3 ,k{ 0 ,1 ,2 ,⋅⋅⋅} semelhante ao Instant-NGP [31]. Cada região exporta uma malha separada, com partes sobrepostas removidas automaticamente para formar a geometria de toda a cena. Também diminuímos a resolução do cubo de marcha à medida que k aumenta, uma vez que as regiões externas geralmente carecem de detalhes em comparação com as regiões centrais (k = 0). O refinamento iterativo da malha considera apenas a região central porque a geometria das regiões externas é relativamente simples. Função de perda.L suave L_{suave}na malhaeusuave _ _ _ _[33]. Além disso, regularizamos o deslocamento do vértice usando uma perda L2:
insira a descrição da imagem aqui
isso garante que os vértices não fiquem muito longe de suas posições originais.

3.3. Exportação de malha

O objetivo do nosso framework é exportar malhas de superfície com texturas compatíveis com hardware e software 3D comuns. Atualmente, temos uma malha de superfície de estágio 2 M fina M_{fina}Mf em e, mas a aparência ainda está codificada em uma grade de cores 3D. Para extrair a aparência como uma imagem de textura, primeiro descompactamos M fine M_{fine} usando XAtlas [52]Mf em eAs coordenadas UV do arquivo . Posteriormente, definimos a cor difusa da superfície para cd c_dcde o recurso especular fs f_sfsCozido em duas imagens separadas, eu d I_dEUdSoma I s I_sEUs

Renderização em tempo real. Nossas malhas exportadas podem ser aceleradas com eficiência e renderizadas em tempo real, assim como as malhas texturizadas tradicionais. Textura difusa I d I_dEUdPode ser interpretado como uma textura RGB e renderizado na maioria dos dispositivos compatíveis com OpenGL e pacotes 3D, como Blender [13] e Unity [16]. Para renderizar a cor especular, adotamos o método proposto em MobileNeRF [11]. Exportamos pequenos MLP 2 MLP_2M L P2e incorporá-lo no fragment shader. Esse sombreador personalizado adiciona um termo especular a um termo difuso, permitindo efeitos dependentes do ponto de vista em tempo real.
Manipulação de malhas Semelhante às malhas texturizadas tradicionais, nossas malhas exportadas podem ser facilmente modificadas e editadas em termos de suas propriedades geométricas e visuais. Além disso, ajuda a combinar várias malhas exportadas, conforme mostrado na Figura 1.

4. Experimente

4.1. Detalhes da Implementação

No primeiro estágio, treinamos 30.000 passos e avaliamos cerca de 2 1 8 2^18 a cada passo21 8pontos. Use um cronograma de taxa de aprendizado exponencialmente decrescente de 0,01 a 0,001. Especificamente, para os primeiros 1.000 passos, o treinamento usa apenas cores difusas para estimular a decomposição da aparência. Para o segundo estágio, treinamos 10.000 a 30.000 etapas adicionais com base na convergência e definimos a taxa de aprendizado do deslocamento do vértice como 0,0001. O otimizador Adam [21] é usado para ambos os estágios. Por cubos em marcha com51 2 3 512^351 2Uma resolução de 3 e um limite de densidade de 10 extraem malhas grosseiras. Selecionamos rostos que não são visíveis em todas as poses de câmera de treinamento e reduzimos o número total de rostos para 30.000. Seguimos a abordagem proposta em Instant-NGP [31], mantendo uma grade de densidade para facilitar a poda leve. Todos os experimentos são realizados em uma única GPU NVIDIA V100. Veja o Material Suplementar para mais detalhes.

Conjuntos de dados Conduzimos experimentos em três conjuntos de dados para verificar a eficácia e capacidade de generalização de nosso método: 1) O conjunto de dados NeRF-Sintético [30] contém 8 cenas sintéticas. 2) O conjunto de dados LLFF [29] contém 8 cenas reais de avanço. 3) O conjunto de dados Mip-NeRF 360 [3] contém 3 cenas externas reais ilimitadas publicamente disponíveis. Nosso método generaliza bem para diferentes tipos de conjuntos de dados e pode reconstruir malhas realistas mesmo para cenas ilimitadas desafiadoras.

4.2. Comparações

Comparamos principalmente com métodos que derivam malhas texturizadas, como MobileNeRF [11] e NVdiffrec [32]. Como nosso método também envolve um estágio NeRF, comparamos as capacidades de vários métodos NeRF volumétricos [30, 18].

4.2.1 Qualidade da Malha

Reconstrução de superfície.

A falta de malhas reais em cenas do mundo real torna difícil medir a qualidade da reconstrução da superfície. Portanto, comparamos principalmente resultados em conjuntos de dados sintéticos, como feito em NVdiffrec [32]. Avaliamos qualitativamente as malhas extraídas geradas por diferentes métodos, conforme mostrado na Fig. 5. Especificamente, nos concentramos em estruturas finas, como folhagem densa e redes de corda. Nosso método reconstrói com sucesso essas estruturas com alta fidelidade, enquanto outros métodos não conseguem reconstruir com precisão geometrias complexas. Além disso, as malhas geradas pelo nosso método são mais ordenadas e organizadas, semelhantes à verdade artificial do solo.

insira a descrição da imagem aqui
Figura 5: Qualidade da reconstrução da superfície do conjunto de dados sintéticos NeRF. Comparado com métodos anteriores, nosso método alcança uma qualidade de reconstrução de malha superior, especialmente em estruturas finas com topologia complexa. Reduzimos as malhas de NeuS [46] para 25% das faces originais, pois são muito densas para serem visualizadas.

Para quantificar a qualidade da reconstrução da superfície, empregamos a métrica de distância do chanfro (CD). No entanto, como a malha de verdade do solo pode não ser uma malha de superfície (por exemplo, uma malha de Lego é na verdade feita de muitos tijolos pequenos), lançamos raios da câmera de teste e amostramos 250 milhões de pontos. Na Tabela 1, mostramos o CD médio em todos os cenários, mostrando que nosso método alcança os melhores resultados. Observamos que nosso método funciona particularmente bem em cenas com topologias complexas, como figueiras-de-bengala, navios e Lego. No entanto, nosso método tem um desempenho um pouco pior em cenas com um grande número de superfícies não Lambertianas . Essa limitação decorre da capacidade relativamente pequena de nossa rede de aparência, pois nosso modelo frequentemente tenta simular tais efeitos de iluminação ajustando os vértices da malha, resultando em geometria incorreta. Tabela 1: A distância de chanframento ↓ (em unidades de 1 0 − 3 10^{−3})
insira a descrição da imagem aqui
do conjunto de dados sintético NeRF em comparação com a grade de verdade terrestre1 03)。

Tamanho da malha.
Também avaliamos a aplicabilidade prática comparando o número de vértices e faces na malha exportada, conforme mostrado na Tabela 2. Além disso, medimos o armazenamento em disco e o uso de memória da GPU necessários para renderizar as malhas exportadas, conforme mostrado na Tabela 3. Comparação justa, os formatos de arquivo de malha são OBJ e MTL descompactados, as texturas são PNG e outros metadados são armazenados no formato JSON. Em comparação com dados reais e MobileNeRF [11] no conjunto de dados sintético NeRF, nossas malhas exportadas contêm menos vértices e faces. Isso ocorre porque o processo iterativo de refinamento da malha pode aumentar o número de vértices para aprimorar os detalhes da superfície enquanto reduz o número de faces para controlar o tamanho da malha.
insira a descrição da imagem aqui
Tabela 2: Número de vértices e faces ↓ (a unidade é 103). Nosso método usa relativamente poucos vértices e faces no conjunto de dados sintético NeRF e melhora a qualidade da malha.
insira a descrição da imagem aqui
Tabela 3: Armazenamento em disco e uso de memória da GPU ↓ (em MB). Medimos o tamanho do modelo exportado e o uso da memória da GPU na renderização.

4.2.2 Qualidade de renderização

insira a descrição da imagem aqui
Tabela 4: Comparação da qualidade de renderização. Relatamos PSNR, SSIM e LPIPS em diferentes conjuntos de dados e comparamos com diferentes classes de métodos. Alcançamos desempenho comparável em malhas de volume e malhas não superficiais e melhor desempenho em malhas de superfície.

Mostramos os resultados da comparação da qualidade de renderização na Tabela 4. Observamos alguma degradação na qualidade de renderização ao extrair de NeRF (volume) para malha. Especificamente, descobrimos que o termo de regularização suave L suave L_{suave}eusuave _ _ _ _Desempenha um papel vital na manutenção do equilíbrio entre a suavidade da superfície e a qualidade da renderização. A desativação desse termo de regularização resulta em melhor qualidade de renderização em detrimento da qualidade da superfície (consulte a Seção 4.4 para obter detalhes). Demonstramos que nossa abordagem baseada em malha produz qualidade de renderização superior em comparação com NVdiffrec [32], o estado da arte atual para reconstrução de malha de superfície. Além disso, nosso método generaliza bem para cenas diretas e ilimitadas, enquanto o NVdiffrec [32] só pode reconstruir objetos únicos. Em contraste, as malhas semelhantes a malhas derivadas do MobileNeRF [11] carecem de suavidade e podem não se alinhar bem com as superfícies dos objetos. Essas malhas dependem da transparência da textura para esculpir a superfície. Embora nossa malha suave exiba uma qualidade de renderização inferior, nossa malha sem o termo de regularização suave atinge um desempenho comparável. A Figura 6 apresenta uma visualização da qualidade de renderização de nossa malha e a compara com métodos relacionados.

insira a descrição da imagem aqui
Figura 6: Visualização da qualidade da renderização. Alcançamos qualidade de renderização comparável em diferentes conjuntos de dados.

Na Figura 7, também mostramos imagens de textura derivadas por diferentes métodos. Demonstramos que nossa malha de superfície de alta qualidade produz imagens de textura mais compactas e intuitivas do que aquelas produzidas por outros métodos.
insira a descrição da imagem aqui
Figura 7: Visualização de imagens de textura. Mostramos que nossas texturas são mais compactas e intuitivas devido à melhoria da qualidade da superfície.

4.3. Eficiência

Nossa estrutura exibe alta eficiência nos estágios de treinamento e inferência. Uma única GPU NVIDIA V100 com 16 GB de memória leva cerca de 1 hora para treinar os dois estágios e exportar a malha para cada cena . Em contraste, outros métodos concorrentes geralmente levam horas [32] ou mesmo dias [11], com requisitos de hardware mais altos para tarefas semelhantes. Além disso, as malhas exportadas são leves, permitindo renderização em tempo real em dispositivos habilitados para OpenGL, incluindo dispositivos móveis.

4.4. Estudos de ablação

Na Fig. 8 e na Tabela 5, realizamos um estudo de ablação com foco na fase de otimização da geometria. Especificamente, comparamos o modelo completo com variantes que excluem regularização suave ou procedimentos iterativos de refinamento de malha. Os resultados mostram que: 1) Quando a regularização de suavidade é removida, a malha de superfície resultante mostra melhor qualidade de renderização, mas exibe irregularidades e auto-interseções. Além disso, o tamanho da malha aumenta porque os processos iterativos de refinamento da malha não lidam bem com essas superfícies irregulares. Esses rostos irregulares também podem levar a baixa qualidade de UV e imagens de textura confusas. 2) Quando o refinamento iterativo da malha é removido, a densidade de área torna-se quase uniforme, resultando em tamanhos de malha maiores e qualidade de renderização ligeiramente inferior. Isso ocorre porque a densidade da face não pode ser ajustada de forma adaptativa de acordo com o erro de renderização reprojetado.
insira a descrição da imagem aqui
Figura 8: Ablação Qualitativa. Visualizamos estruturas de malha e imagens de textura em diferentes configurações.
insira a descrição da imagem aqui
Tabela 5: Quantificação da ablação. Relatamos estatísticas de malha e PSNR para cenas de microfone.

5. Limitações e Conclusão

Embora nosso método tenha mostrado resultados promissores, ele ainda apresenta algumas limitações. Devido à dificuldade de estimar condições de iluminação desconhecidas a partir de imagens sem comprometer a qualidade da reconstrução [57], optamos por transformar a iluminação em texturas, limitando nossa capacidade de realizar a reiluminação . Nossa rede de aparência relativamente pequena também dificulta o aprendizado de efeitos dependentes de visualização complexos , o que pode levar a uma qualidade de superfície inferior nessas regiões. Essas escolhas foram feitas intencionalmente para manter a eficiência do duto. No futuro, esperamos resolver essas limitações utilizando melhores técnicas de modelagem de aparência. Finalmente, semelhante a outros métodos baseados em malha [32, 11], realizamos rasterização de passagem única e não podemos lidar com objetos semitransparentes.

Em resumo, propomos uma estrutura eficiente para reconstruir malhas de superfícies texturizadas a partir de imagens RGB de múltiplas visualizações. Nosso método utiliza NeRF para geometria grosseira e inicialização de aparência, depois extrai e aprimora a malha de polígonos e, finalmente, transforma a aparência em imagens de textura para renderização em tempo real. A malha reconstruída exibe qualidade de superfície aprimorada, especialmente para estruturas finas, e é fácil de manipular e editar para aplicações posteriores.

Guess you like

Origin blog.csdn.net/m0_50910915/article/details/131823539