Neste episódio da série básica de fotogrametria com turntable, analisaremos as principais características de um projeto no Meshroom para reconstruir geometrias a partir de fotografias.



Transcrição do vídeo

Olá a todos! Neste episódio da série básica de fotogrametria com turntable, analisaremos as principais características de um projeto no Meshroom para reconstruir geometrias a partir de fotografias.

Primeiro, farei uma visão geral da interface e do fluxo de trabalho do Meshroom, e depois passaremos aos passos práticos para carregar as imagens.

Depois de baixar e instalar o Meshroom, vamos abri-lo. Duas janelas serão exibidas. A janela do console mostra dados e informações sobre a execução do programa, enquanto a janela principal é onde trabalhamos em nossos projetos. Fechar qualquer uma dessas janelas fará com que o programa seja encerrado, então ambas devem permanecer abertas.

O Meshroom permite diferentes tipos de projetos, como você pode ver ao clicar em New Pipeline no menu File. Claro, estamos interessados em um projeto de Fotogrametria.

A primeira coisa a fazer é salvar o projeto. Recomendo criar uma pasta dedicada onde você possa salvar o arquivo do projeto, pois a execução do processo de fotogrametria gerará toda uma estrutura de pastas, que veremos em breve.

O arquivo do projeto terá a extensão MG, que significa Meshroom Graphs. Os termos Pipeline e Graphs destacam que os processos no Meshroom seguem uma ordem sequencial, passo a passo. Isso pode ser visualmente compreendido no painel Graph Editor, localizado na parte inferior, onde os nós e suas conexões são exibidos.

Antes de examinarmos este pipeline, vamos dar uma olhada rápida na interface do programa.

O painel Image Gallery conterá as imagens que queremos usar para a reconstrução. Inicialmente, ele está vazio e indica que também podemos arrastar e soltar arquivos de uma pasta para este espaço. Se não me engano, esse recurso de drag and drop não funciona no Windows se você executar o Meshroom no modo administrador. De qualquer forma, as imagens também podem ser importadas através da opção Import Images no menu File.

No painel Image Viewer, podemos visualizar as imagens carregadas uma por uma, permitindo descartar aquelas de baixa qualidade ou extrair dados relevantes. Esta janela também exibirá alguns dados gerados pelo Meshroom, como o Depth Map, como veremos mais adiante.

O painel 3D Viewer exibirá a nuvem de pontos, que representa a cena reconstruída. Aqui, também podemos redefinir o volume a ser reconstruído, conhecido como bounding box, permitindo focar apenas em elementos específicos.

O painel Graph Editor mostra a sequência de nós a serem processados e suas conexões. Cada nó representa uma tarefa específica que é executada passo a passo, utilizando dados recebidos pelas portas de entrada e gerando uma ou mais saídas pelas portas de saída.

Um novo projeto de Fotogrametria terá um pipeline básico com parâmetros padrão, que funcionarão bem para muitos projetos. Quando iniciamos o projeto, o Meshroom cria uma subpasta chamada Cache, dentro da qual serão geradas outras subpastas, uma para cada nó presente no pipeline.

O pipeline não precisa permanecer no formato padrão; ele pode ser modificado adicionando novos nós ou alterando as conexões entre eles, como veremos mais adiante neste episódio.

De qualquer forma, ao clicar em um nó, podemos visualizar seus parâmetros e configurações no painel Node, localizado à direita. Cada nó fornece acesso a vários tipos de informações, exibidas nas abas Attributes, Log e outras, na parte inferior.

O último painel da interface padrão é o Task Manager, que inicialmente está vazio. Aqui, mais tarde, veremos os detalhes da execução dos diversos nós.

No menu View, você pode notar que o painel Live Reconstruction está ausente. No entanto, não o utilizarei nesta série introdutória, então podemos deixá-lo desativado.

A opção Fullscreen, como esperado, permite exibir a janela principal do programa em tela cheia.

Antes de passarmos para os passos práticos, deixe-me apresentar rapidamente o pipeline, que representa a sequência de execução dos nós.

O pipeline pode ser dividido em duas partes. Na primeira parte, que vai até o nó Structure From Motion, o Meshroom carrega as imagens e extrai informações específicas chamadas Features, que permitem identificar pontos de referência em várias fotografias.

Essas Features serão então utilizadas para reconstruir a geometria da cena, mas esse processo ocorre depois do nó Structure From Motion. Especificamente, na segunda fase, o Meshroom calcula dados de profundidade para as Features detectadas, gerando uma nuvem de pontos 3D. Em seguida, ele reconstrói a geometria, chamada de Mesh, pois é composta por vértices conectados por arestas, que por sua vez definem faces triangulares.

Por fim, as fotografias originais serão combinadas em uma imagem chamada Texture, que representa as cores das várias partes do objeto 3D original, mas organizadas em uma imagem 2D.

A partir das Features detectadas nas fotografias, começamos com pontos no espaço que, inicialmente, não estão conectados. Esses pontos são então ligados entre si para formar a geometria, composta por superfícies, sobre as quais é aplicada uma Texture para dar à geometria reconstruída as cores do objeto original.

Há muito mais a discutir sobre o pipeline, os nós e o processo geral de execução, mas explicarei esses detalhes conforme avançamos no projeto.

Agora, vamos passar para os passos práticos. Primeiro, arrasto as fotografias originais para o painel Image Gallery.

No painel Image Gallery, podemos ver o número total de fotos adicionadas e quantas câmeras foram reconhecidas pelo Meshroom, com base nos dados intrínsecos extraídos das imagens. Esse número é exibido ao lado do ícone de obturador, na parte inferior do painel.

Para cada fotografia, podemos examinar esses metadados, se disponíveis, passando o mouse sobre o ícone de obturador na pré-visualização da imagem. Neste caso, os metadados estão presentes, então o ícone do obturador aparece verde. Se os metadados estiverem ausentes, o ícone ficará vermelho, e o Meshroom procederá com a reconstrução da melhor forma possível, sem essa informação.

Em um projeto de fotogrametria com turntable, recomenda-se selecionar o nó Feature Matching e definir o parâmetro Minimal 2D Motion para 2. Depois de fazer esse ajuste, salvo o projeto.

Em um projeto onde foi utilizado um fundo verde nas fotos, como neste caso, é possível tentar fazer com que o Meshroom exclua o fundo verde antes de extrair as Features. Isso pode ser feito adicionando um nó Image Masking no Graph Editor, clicando com o botão direito em uma área vazia do painel e inserindo o nó.

Na entrada Structure From Motion Data do novo nó, precisamos conectar a saída Structure From Motion Data do nó Camera Init, clicando e arrastando entre as duas portas.

A saída do novo nó deve então ser conectada às entradas Mask Folder dos nós Feature Extraction e Prepare Dense Scene.

Agora, ao selecionar o nó Image Masking, podemos definir a cor a ser excluída e ajustar os valores de tolerância para hue, saturation e intensity no painel Node. No entanto, esse método para excluir o fundo verde não é muito prático, pois não fornece um bom retorno visual do resultado e não permite definir parâmetros personalizados para cada foto. Este último ponto poderia ser útil no nosso caso, já que a iluminação no tecido de fundo não é uniforme.

Por esses motivos, estou removendo o nó Image Masking, clicando com o botão direito e selecionando Remove Node. Para referência, uma conexão entre nós pode ser removida clicando com o botão direito sobre o link e selecionando Remove.

Também estou removendo todas as fotografias, porque no próximo episódio vou mostrar um pequeno setup no Blender, que nos permitirá não apenas remover o fundo verde com mais facilidade, mas também eliminar o green spill, que é a tonalidade esverdeada que afeta os objetos fotografados contra um fundo verde.

A única configuração personalizada que estou mantendo é o valor 2 para o parâmetro Minimal 2D Motion no nó Feature Matching.

Agora estou salvando o projeto com essas configurações, fechando o Meshroom, e vejo vocês no próximo episódio!

Pesquisar nos Tutoriais

Digite uma frase ou várias palavras-chave separadas por vírgulas para pesquisar.

Este é um site pessoal e não constitui um canal de vendas. As páginas dedicadas aos modelos 3D documentam uma seleção dos meus trabalhos e não contêm ofertas, preços, formas de compra nem links comerciais. No momento, não aceito solicitações de trabalhos personalizados, consultorias ou outras colaborações profissionais.


INFORMAÇÕES DE POLÍTICA DE PRIVACIDADE AVANÇADAS E USO DOS FICHEIROS DE COOKIES