Fotogrametria com Limpeza de Pontos, Alinhamento e Redimensionamento Automáticos no OrtogOnBlender

Cicero Moraes
3D Designer, Arc-Team Brazil, Sinop-MT

Ricardo Nisioka Kimura
Administrador de Empresas, FEA-USP, Ribeirão Preto-SP

Luca Bezzi
Arqueólogo, Arc-Team, Cles-TN, Itália

Alessandro Bezzi
Arqueólogo, Arc-Team, Cles-TN, Itália

Data da publicação: 29 de março de 2022
ISSN: 2764-9466 (Vol. 3, nº 1, 2022)
ISBN: 978-65-00-47050-5
_images/Aruco_capa.jpg

A fotogrametria é uma das tecnologias mais populares no contexto de documentação tridimensional. Mas, se por um lado se apresenta como uma alternativa de baixo custo frente aos caríssimos scanners 3D, por outro não oferece uma opção universal e acessível de redimensionamento automático dos objetos digitalizados. Neste capítulo o leitor conhecerá as novas ferramentas de alinhamento e redimensionamento automático de objetos, bem como a limpeza dos pontos utilizados para reforçar a precisão do algoritmo.

Atenção

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

Introdução

O OrtogOnBlender (OOB) oferece três alternativas de fotogrametria ou SfM (Structure from Motion) em sua interface: OpenMVG + OpenMVS , SVMS e MeshRoom. Das três citadas, a mais popular é a primeira, pois além de gerar o modelo em um tempo menor do que as demais, também oferece uma textura com melhor qualidade. Além das opções de fotogrametria, o OOB disponibiliza uma ferramenta de redimensionamento, para que o modelo possa ser colocado na escala, ao passo que é alinhado conforme a colocação dos três pontos necessários. No entanto, a atividade de redimensionamento é efetuada por um humano, o que pode se converter em uma potencial fonte de alimentação de dados equivocada. Pensando em solucionar este eventual problema, optou-se por agregar ao sistema um redimensionador e alinhador baseado em marcadores ArUco, disponível no GitHub e também um sistema de limpeza de pontos baseado na biblioteca OpenCV. Como de praxe, testes iniciais foram efetuados em linha de comando, posteriormente desenvolveu-se a interface gráfica dentro do OOB e por último a solução foi portada para os três sistemas operacionais nos quais rodam o add-on: Linux, Windows e MacOSX.

Como Funciona - Conceitos Básicos

Antes de entender o funcionamento da interface gráfica é imprescindível que o usuário compreenda os conceitos básicos envolvidos no processo, pois o uso da ferramenta de modo amplo está atrelado à necessidade de se lançar mão de objetos físicos que podem ser adquiridos em papelarias (pontos de reforço facial) e símbolos impressos em folhas de papel (marcadores ArUco). Apesar de contar com muitos pontos fortes, a fotogrametria também apresenta pontos fracos, um dos mais conhecidos são os problemas com superfícies que refletem luz. Para solucionar esse problema os usuários fazem uso de pequenos pontos ao longo principalmente do nariz, mas os mesmos podem ser colocados em outras partes do rosto. Se por um lado a colocação dos pontos ao longo da face aumenta consideravelmente a chance de sucesso da fotogrametria, por outro gera um problema para aqueles que não desejam manchas na textura da face, forçando-os a utilizar a ferramenta Clone do Blender, o que pode se converter em um significativo tempo adicional de limpeza manual.

_images/Aruco_adesivos.jpg

Etiquetas Verde Fluor

Os autores procederam com testes de vários tipos de pigmentação facial, baseados em canetas, marcadores e afins, mas nenhum deles obteve bons resultados, seja pela dificuldade da remoção posterior à tomada fotográfica, ou mesmo pela cor muito semelhante à pele, o que impedia uma limpeza digital completa. Os melhores resultados foram obtidos com etiquetas auto adesivas na cor verde-fluor (Fig. 1), provavelmente pela diferença de cor relacionada às tonalidades da pele humana.

_images/Aruco_adesivo_rosto.jpg

Cortes efetuados na etiqueta e distribuição ao longo da face

Cada etiqueta pode render 16 pontos, desde que sejam feitos 4 cortes incrementados cada um em 45º e posteriormente cada fatia dividida em duas partes. Não há uma ordem definida na distribuição dos pontos, o ideal é colocá-los mais concentrados na região do nariz, bem como na testa e extremidades do rosto, locais onde a homogeneidade da cor é maior (Fig. 2). A ferramenta é potencialmente útil para a digitalização de rostos infantis e indivíduos jovens.

_images/Aruco_markers.png

ArUco markers

Já os marcadores ArUco nada mais são do que um conjunto de etiquetas com iguais dimensões laterais (10x10mm) e igual espaçamento entre elas (5x5mm) totalizando um retângulo de 25x70mm (Fig. 3). Os usuários do OrtogOnBlender encontrarão o arquivo PDF dentro do diretório ARQUIVOS, disponível em todos os sistemas operacionais suportados (procurar por OrtogOnBlender_Aruco_Markers_10.pdf). O arquivo também está disponível para download. O conjunto de marcadores foi organizado de modo a se alinharem nos eixos X e Z, ou seja, em uma posição que respeita a rotação de um indivíduo que se encontre de pé, por conta disso é importante que o usuário se guie pelo piso e pela parede para posicionar os marcadores.

_images/Aruco_tiara.jpg

Tiara com os marcadores ArUco alinhados com a parede e o piso (quando colocados na cabeça)

Para a digitalização facial os autores optaram pelo uso de uma tiara/diadema. A etiqueta com os marcadores fora fixada de modo que se alinhasse ao piso e à parede quando na posição final. A sequência de fotos fica à critério do usuário [A17] [A22] [A21], não sendo necessário que os marcadores apareçam em todas as tomadas.

Como Funciona - Interface Gráfica

Atenção

Um simples upgrade do add-on não tornará as ferramentas abordadas neste capítulos disponíveis, se o OrtogOnBlender foi instalado antes de 27 de março de 2022. Caso o OOB seja mais antigo é necessário reinstalá-lo! Na documentação oficial é possível acessar os tutoriais de instalação no Windows, Linux e MacOSX.

_images/Aruco_interface.png

Interface gráfica das ferramentas de limpeza, redimensionamento e alinhamentos automáticos

A ferramenta se encontra atualmente na aba Others na seção Photogrammetry Auto Scale e é dividida em duas partes, uma relacionada a limpeza de pontos e outra relacionada ao redimensionamento e alinhamento. A primeira opção (*.jpg or .png) é uma caixa de seleção onde o usuário escolhe um dos arquivos da sequência fotográfica e ajusta os parâmetros RGB para a limpeza dos pontos distribuídos ao longo do rosto. Os valores mínimos (Darker) e máximos (Brighter) podem ser encontrados com um conta gotas, disponível em editores de imagens como o Photoshop, Gimp e afins.

_images/Aruco_RGB.jpg

Teste de limpeza por RGB

Na imagem (Fig. 6) é apresentado o aspecto original com os pontos verdes, uma primeira tentativa é acionada no botão Test Dots Cleaner com os valores 55,145,55 em Darker e 150,255,150 em Brighter, mas o resultado ainda mostra pequenos pontos verdes. Ao se colocar valores maiores no Brighter, no caso 170,255,170, os pontos foram substituídos pela coloração dos pixels vizinhos, gerando uma imagem limpa da face. O usuário pode fazer o número de testes que desejar/necessitar, pois a cada clique o OOB abre a imagem utilizando o visualizador padrão do sistema operacional.

É importante frisar que esse primeiro passo serve apenas e tão somente para testar os limites do RGB, a fotogrametria em si será efetuada mais abaixo, outrossim, é necessário deixar o check button Use dots cleaner! ativo para que o limpador seja acionado na fotogrametria, caso contrário a face apresentará os pontos distribuídos ao longo da mesma.

Aviso

Há uma diferença entre o seletor de arquivos e seletor de diretórios. Na ferramenta de teste do RGB se trata de um seletor de arquivos, ou seja, o usuário seleciona a imagem que deseja testar a limpeza dos pontos. Na parte inferior, da fotogrametria, o usuário indica o diretório com a sequência de imagens.

Já na parte inferior, onde a fotogrametria é ativada, há o seletor do diretório com as imagens, no qual o usuário indica a localização da sequência de fotos a ser digitalizada. A opção Decrease picture size, bastante recomendada, reduz as fotos para poupar processamento. O D Factor e o Smooth Factor podem ser mantidos como estão, caso a digitalização seja de face ou outra parte do corpo humano. O botão Start Photogram+Aruco ativa a fotogrametria com o redimensionamento e rotação automáticos, utilizando como base os marcadores ArUco, presentes na sequência de imagens.

_images/Aruco_Alinhado.jpeg

Fotogrametria efetuada

O resultado da fotogrametria será um rosto alinhado conforme a informação apresentada anteriormente, ou seja, uma face olhando “para frente” na cena, respeitando as informações dos eixos X e Z (Fig. 7).

_images/Aruco_medida.png

Mensuração dos marcadores

Ao se utilizar as ferramentas de medidas, atesta-se tanto no eixo X, quanto no eixo Z que o algoritmo foi bem sucedido no redimensionamento automático (Fig. 8). Pode acontecer das medidas nem sempre baterem perfeitamente como no exemplo acima, mas certamente a diferença será estatisticamente insignificante.

Buscando mensurar a precisão do alinhamento e redimensionamento foram efetuadas 10 fotogrametrias posicionando o objeto na origem exportada a partir do OpenMVS. Para que isso fosse possível algumas linhas do código do add-on OOB foram comentadas, pois, por padrão, ao se importar a fotogrametria o sistema centraliza a malha na origem da cena e como cada digitalização, ainda que efetuada com a mesma sequência de fotos, gera uma malha levemente diferente das outras nas regiões externas, o centro da malha apresentará pequenas diferenças desalinhando-as. Ao se comentar tais linhas de código, o OOB força uma importação na mesma origem, ou seja, aquela estabelecida pelos marcadores ArUco.

_images/Aruco_compara.jpg

Alinhamento de 10 fotogrametrias efetuadas com a mesma sequência de fotos

O resultado foi surpreendentemente bom, em parte porque as fotogrametrias geraram malhas muito parecidas e em parte porque o alinhamento e redimensionamento apresentaram grande precisão. Observando um corte feito ao centro da face (Fig. 9), diferença na rotação no eixo X se explica pela pequena região dos marcadores ArUco, com apenas 25mm posicionados na parte superior da face. Isso fez que na parte superior a diferença máxima das malhas fosse de menos de 0.2mm e na parte inferior, mesmo com o grande espaço a partir dos marcadores, apresentasse uma diferença máxima de menos de 1.2mm, ou seja, a primeira com 1/5 de milímetro e a última pouco mais que 1 milímetro!

_images/Aruco_seios.jpg

Fotogrametria de seios

Uma vez que se tenha os adesivos e o marcador, a fotogrametria pode ser realizada em outras partes do corpo como os seios (Fig. 10). Sempre tomando o cuidado de posicionar os marcadores alinhados ao piso e à parede.

_images/Aruco_cintura.jpg

Fotogrametria da região da cintura

Os adesivos são muito úteis para a cobertura de grandes regiões onde as cores não mostram grande alteração, como é o caso da cintura (Fig. 11).

_images/Aruco_crianca.jpg

Fotogrametria de uma face infantil

A mesma abordagem pode ser utilizada de modo muito bem sucedido para a digitalização facial de crianças, posto que as faces das mesmas também não costumam mostrar grande alteração nas cores (Fig. 12).

Conclusão

As novas ferramentas de limpeza de pontos, alinhamento, redimensionamento automático de objetos se mostraram funcionais e acessíveis para os usuários do OrtogOnBlender.

Agradecimentos

A todas as pessoas que cederam as imagens para os estudos e a apresentação dos resultados no capítulo, bem como ao desenvolvedor Etienne Danvoye pela adaptação que permitiu ao OpenMVG oferecer tão fabuloso suporte aos marcadores ArUco.