Digitalização 3D a partir de Fotografias com o SMVS e o MVE no OrtogOnBlender

_images/SMVS_capa.jpg
  • Cicero Moraes 3D Designer, Arc-Team Brazil, Sinop-MT

  • Rodrigo Dornelles Cirurgião Plástico, Núcleo de Plástica Avançada - NPA, São Paulo-SP

  • Everton da Rosa Cirurgião BMF, Hospital de Base, Brasília-DF

DOI

https://doi.org/10.6084/m9.figshare.13549595


O presente capítulo tem por objetivo apresentar as ferramentas de digitalização 3D por fotogrametria SMVS e MVE no OrtogOnBlender, bem como analisar o desempenho do processo em um mesmo computador utilizando os sistemas operacionais: Windows, Linux e Mac OS X. Ao final do processo foram implementadas melhorias que por um lado tornaram a ferramenta mais rápida e por outro permitiram que os usuários reconstruíssem os modelos com mais qualidade.

Importante

Este material utiliza a seguinte licença Creative Commons: Atribuição 4.0 Internacional (CC BY 4.0).

Aviso

Este capítulo é direcionado a usuários contumazes do OrtogOnBlender, de modo que não serão explanados conceitos básicos relacionados ao add-on, focando principalmente nos resultados do desempenho.

Apresentação

A fotogrametria é um processo de digitalização de objetos a partir de fotografias que geralmente é composto pelas seguintes etapas:

  • Etapa 1: Utilizando como referência as regiões compatíveis entre as fotografias o sistema encontra a localização da câmera em cada tomada posicionando-a nos eixos X,Y e Z, bem como a rotação no momento da captura. Ao final é gerada uma nuvem esparsa de pontos que apesar de reduzida já dá indicações de como é o objeto digitalizado.

  • Etapa 2: Com os dados levantados na etapa anterior é gerada uma nuvem densa de pontos que lembra muito o objeto, posto que a mesma também já se encontra colorizada.

  • Etapa 3: O sistema usa os dados da nuvem densa de pontos e reconstrói um modelo formado por malha tridimensional com a forma final do objeto, mas ainda sem coloração ou com a coloração efetuada por vertex color (geralmente com qualidade inferior a texturização por imagem)

  • Etapa 4: Utilizando os dados das fotografias é projetada uma textura (JPG) no objeto gerando o modelo final cujo a saída geralmente é no formato OBJ ou PLY.

O OrtogOnBlender oferece ao usuário várias formas de trabalhar com fotogrametrias, uma delas é a SMVS+MVE. Atualmente o sistema é composto por três aplicativos de código aberto: Multi-View Environment (MVE) [dD], Shading-aware Multi-view Stereo (SMVS) [LSHG16] e MVS-Texturing [WMG14].

Aviso

A versão anterior recebeu o nome de SMVS+Meshlab, mas sofreu alteração para SMVS+MVE depois que o MeshLab foi retirado do protocolo, sendo substituído pelo MVE na reconstrução da malha 3D.

O sistema descrito neste capítulo segue a lógica supracitada, mas precisamente com as seguintes etapas:

  • Makescene (MVE): Cria a estrutura para os cálculos serem efetuados, organizando as cenas baseado nas fotografias.

  • SfmRecon (MVE): Organiza a posição das câmeras no momento da captura.

  • SMVSRecon (SMVS): Gera a nuvem densa de pontos, já colorizada.

  • FssRecon (MVE): Reconstrói uma malha 3D a partir da nuvem densa de pontos.

  • MeshClean (MVE): Limpa a malha 3D reconstruída retirando parte significativa dos ruídos.

  • TexRecon (MVS-Texturing): Gera o UV map e projeta a texturização, baseada em uma série de arquivos de imagens.

  • OrtogOnBlender: O OrtogOnBlender importa o modelo, simplifica o mesmo quando necessário (Decimate), gera um novo UV map e funde todas as texturas em apenas uma de modo a permitir o uso no modificador Displacement em conjunto com os modificadores MultiRes e Smooth, todos devidamente atribuídos após os melhoramentos efetuados já dentro do Blender.

Testes e Resultados

Foram selecionadas 10 sequências de fotografias salvas em diretórios com nomes distintos. Essas sequências são as mesmas apresentadas no capítulo Fotogrametria 3D - Desempenho nos Sistemas Operacionais: Windows, Linux e Mac OS X, com excessão do primeiro grupo substituído pela sequência de 12 fotografias presentes no diretório de arquivos didáticos do OrtogOnBlender. Outro aspecto divergente do capítulo citado é o fato dos demais diretório terem sido salvos em um HD externo, no entanto, como visto nos capítulos anteriores, como se tratam de poucos arquivos a presença dos mesmos em dispositivos diferentes não altera significativamente o tempo da digitalização 3D.

A configuração do notebook e dos sistemas operacionais utilizados estão presentes na Descrição Técnica do capítulo supracitado. Em linhas gerais trata-se de um notebook com processador i7 de 1.80 GHz, 20 GB de memória RAM com armazenamento SSD SATA de 480 GB.

_images/SMVS_compara.png

Comparação do tempo médio em segundos.

Foram rodados as 10 sequências de fotos nos 3 sistemas operacionais e extraída uma média de cada um deles (Fig. 1), essa média (SMVS+MVE) foi comparada com o tempo de digitalização do OpenMVG+OpenMVS resultando em uma diferença significativa sendo o SMVS+MVE em relação ao OpenMVG+OpenMVS:

  • 2,39x mais lento no Linux;

  • 2,89x mais lento no Windows;

  • 3,60x mais lento no Mac OS X.

_images/SMVS_compara_outros.png

Comparação do tempo médio em segundos em testes anteriores.

Um amplo estudo comparativo de ferramentas de fotogrametria foi efetuado há algum tempo [MdRD20], fornecendo a base para o desenvolvimento das ferramentas presentes no OrtogOnBlender. Na ocasião digitalizaram-se a face de 13 indivíduos de idades e ancestralidades diferentes, resultando em um tempo médio muito compatível com a diferença encontrada neste capítulo (Fig. 2). Ainda que o SMVS+MVE tenha levado quase o dobro do tempo do OpenMVG+OpenMVS a ferramenta foi mais rápida que o Photoscan (hoje Metashape). No entanto, o fato de ser mais rápido do que uma ferramenta paga e específica não implica em se adequar ao nível de praticidade esperado pelo usuário, ainda mais quando, em linhas gerais o funcionamento do OpenMVG+OpenMVS é superior ao SMVS+MVE, tanto na quantidade de superfície quanto na qualidade da textura.

Algumas mudanças foram implementadas no add-on de modo a tornar a digitalização mais rápida ao passo que permita ao usuário optar por uma reconstrução mais detalhada e demorada.

_images/SMVS_interface.png

Interface do SMVS+MVE no OrtogOnBlender.

Em linha gerais a aparência da interface (Fig. 3) segue compatível com a versão anterior:

  1. O usuário expande a seção Photogrammetry Start e seleciona a opção SMVS+MVE;

  2. É necessária a seleção do diretório contendo as fotos;

  3. Assim que setado o diretório basta clicar em Alternative Photogrammetry I para iniciar o processo.

A diferença em relação a versão anterior é que agora o usuário tem à sua disposição a opção Decrease scanning time! que reduz o tempo da digitalização e vem ativada por padrão. Caso seja desativada a fotogrametria será efetuada de modo mais detalhado e demorado.

_images/SMVS_compara_todos_sem_mod.png

SMVS+MVE default, SMVE+MVE detalhado, OpenMVG+OpenMVS default, OpenMVG+OpenMVS detalhado.

Ao serem alinhados os resultados da fotogrametria efetuado com as ferramentas SMVS+MVE e OpenMVG+OpenMVS apresentam modelos compatíveis mas com pequenas diferenças. Há uma tendência do SMVS+MVE digitalizar mais detalhes (Fig. 4 à esquerda) do que a outra ferramenta (Fig. 4 à direita).

_images/SMVS_texture.png

SMVS+MVE default, SMVE+MVE detalhado, OpenMVG+OpenMVS default, OpenMVG+OpenMVS detalhado. Modelos texturizados.

O SMVS+MVE costuma gerar texturas com qualidade inferior a outra ferramenta e isso fica mais evidente em capturas que não mantém a mesma exposição entre as fotografias, gerando uma imagem bastante poluída, sem homogeneidade nas cores. No caso do teste apresentado aqui (Fig. 5) a textura foi gerada de modo bem sucedido graças à uma cena com iluminação difusa e constante.

_images/SMVS_compara_todos_com_disp.png

SMVS+MVE default, SMVE+MVE detalhado, OpenMVG+OpenMVS default, OpenMVG+OpenMVS detalhado. Displacement ativo.

Os modelos passam a ter a aparência mais compatível uns com os outros a partir do momento em que o Displacement é ativado (Fig. 6). Essa opção utiliza a textura para criar detalhes no relevo da superfície e é muito utilizada para a confecção de próteses faciais.

_images/SMVS_capa.jpg

SMVS+MVE default, SMVE+MVE detalhado, OpenMVG+OpenMVS default, OpenMVG+OpenMVS detalhado. Multires e Displacement ativos.

Os detalhes da superfície ficam ainda mais aguçados caso o modificador Multires seja ativado (Fig. 7). Ao observar a base do nariz de todos os modelos é possível analisar a qualidade da reconstrução posto que os modelos mais detalhados foram mais bem sucedidos ao digitalizarem aquela região. Nos modelos detalhados as bases dos narizes são iguais, já nos modelos simplificados (default) é possível identificar pequenas diferenças com superfície positiva (para fora) e negativa (para dentro). Fora essa região, as demais que receberam ampla cobertura fotográfica foram reconstruídas de modo muito semelhante.

_images/SMVS_compara_tempo.png

Média do tempo em todas as ferramentas.

Ao se comparar o tempo médio de digitalização de cada ferramenta (Fig. 8) é possível atestar que o tempo da nova configuração default da SMVS+MVE é significativamente menor do que a configuração clássica (old). Ainda que o default do SMVS+MVE demore geralmente mais do que o tempo do default do OpenMVG+OpenMVS, a configuração detalhada das duas leva quase o mesmo tempo para ser efetuada (2882 vs. 2774 segundos).

Inicialmente a diferença de tempo entre as ferramentas era de 2,39x, agora caiu para 1,58x no Linux e pode servir de base para a projeção nos outros sistemas operacionais.

Conclusão

O SMVS+MVE não é a ferramenta de fotogrametria padrão do OrtogOnBlender, mas dependendo da situação pode ser uma alternativa ao OpenMVG+OpenMVS e até suplantá-lo em qualidade. Uma das vantagens do OrtogOnBlender é justamente oferecer várias abordagens possíveis para a solução de um mesmo problema focando sempre na possibilidade de efetuar uma tarefa necessária ao usuário. Ainda que um comando possa levar mais tempo do que outro para fazer a mesma tarefa, invariavelmente o usuário se deparará com uma situação em que a ferramenta padrão não atenderá às suas necessidades e é justamente aí que as alternativas como o SMVS+MVE vêm a calhar.

dD

Universidade de Darmstad. Multi-view environment. URL: https://github.com/simonfuhrmann/mve.

LSHG16

F. Langguth, K. Sunkavalli, S. Hadap, and M. Goesele. Shading-aware multi-view stereo. In Proceedings of the European Conference on Computer Vision (ECCV). 2016.

MdRD20

Cicero Moraes, Everton da Rosa, and Rodrigo Dornelles. Fotogrametria na Digitalização 3D de Faces - Comparação entre Ferramentas. Volume 1. Cicero André da Costa Moraes, 2020. ISBN 978-65-00-05349-4. p. 119-200.

WMG14

Michael Waechter, Nils Moehrle, and Michael Goesele. Let there be color! — Large-scale texturing of 3D reconstructions. In Proceedings of the European Conference on Computer Vision. Springer, 2014.