================================================================================================== 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* ==== .. only:: latex | Data da publicação: 29 de março de 2022 | ISSN: **2764-9466** (Vol. 3, nº 1, 2022) | DOI: 10.6084/m9.figshare.19450283 .. only:: html | Data da publicação: 29 de março de 2022 | ISSN: **2764-9466** (Vol. 3, nº 1, 2022) | ISBN: **978-65-00-47050-5** | DOI: https://doi.org/10.6084/m9.figshare.19450283 .. meta:: :citation_title: Fotogrametria com Limpeza de Pontos, Alinhamento e Redimensionamento Automáticos no OrtogOnBlender :citation_author: Moraes, Cicero :citation_author: Kimura, Ricardo N. :citation_author: Bezzi, Luca :citation_author: Bezzi, Alessandro :citation_journal_title: OrtogOnLineMag :citation_publication_date: 29/3/2022 :citation_volume: 3 :citation_issue: 1 :citation_firstpage: 17 :citation_lastpage: 21 :citation_pdf_url: http://www.ortogonline.com/doc/pt_br/OrtogOnLineMag/ebook/4/Aruco.pdf :citation_issn: 2764-9466 :citation_isbn: 978-65-00-47050-5 .. figure:: images/Aruco_capa.jpg :align: center 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. .. attention:: Este material utiliza a seguinte licença Creative Commons: **Atribuição 4.0 Internacional (CC BY 4.0)**. .. .. warning :: .. O presente capítulo está em estágio de finalização (*preprint*) podendo conter erros gramaticais, na formatação das citações, etc. A versão final será publicada assim que as devidas correções forem efetuadas. ---------- 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. .. figure:: images/Aruco_adesivos.jpg :align: center 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. .. figure:: images/Aruco_adesivo_rosto.jpg :align: center 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. .. figure:: images/Aruco_markers.png :align: center 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. .. figure:: images/Aruco_tiara.jpg :align: center 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 :cite:`moraes_face_2020` :cite:`moraes_nariz_2020` :cite:`moraes_cranio_2020`, não sendo necessário que os marcadores apareçam em todas as tomadas. --------------------------------- Como Funciona - Interface Gráfica --------------------------------- .. attention:: 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 `_. .. figure:: images/Aruco_interface.png :align: center 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. .. figure:: images/Aruco_RGB.jpg :align: center 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. .. warning:: 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. .. figure:: images/Aruco_Alinhado.jpeg :align: center 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). .. figure:: images/Aruco_medida.png :align: center 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. .. figure:: images/Aruco_compara.jpg :align: center 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! .. figure:: images/Aruco_seios.jpg :align: center 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. .. figure:: images/Aruco_cintura.jpg :align: center 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). .. figure:: images/Aruco_crianca.jpg :align: center 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.