Triangulação de pontos em 3D por fotografias

Há algum tempo nesse site, vêm sendo compartilhados vários artigos e tutoriais acerca de digitalização 3D por fotografias.

Não é fácil obter bons resultados nesse campo. Como se trata de algo bastante novo, ainda não há um conjunto de protocolos que auxiliem aqueles que pretendem começar seus estudos, sem passar pelo tortuoso caminho da tentativa e erro.

Quem acompanha as postagens pôde atestar a grande evolução que ocorreu desde o primeiro trabalho feito com a técnica de digitalização, conhecida como Structure-from-Motion (SfM). Inicialmente tínhamos crânios e objetos incompletos, sem uma referência de precisão. Com o tempo, além de reconstruir os objetos completamente, também alcançamos uma precisão submilimétrica. O ápice dessa fase ocorreu na III Jornada de Odontologia e Antropologia Forense da FO-USP (setembro de 2013), onde um dos painéis científicos compostos pela nossa equipe, explanando justamente sobre digitalização de crânios, acabou ganhando a primeira colocação dentre os expostos.

No entanto, não precisamos que a digitalização gere uma malha densa, para obtermos informações espaciais de um objeto ou cena fotografada. Com apenas quatro ou cinco fotografias podemos levantar os dados de qualquer ponto que tenha aparecido em pelo menos duas imagens.

Ilustra_1Acima temos cinco fotografias de um crânio presente no Laboratório de Odontologia Legal da Faculdade de Odontologia de Piracicaba (FOP-UNICAMP). As fotos foram tiradas pelo camarada de pesquisas o Dr. Paulo Miamoto com um Iphone 4.

Para facilitar a explanação elas foram rotacionadas, de modo que o crânio ficasse “em pé”. Esse é um bom exemplo de como a triangulação 3D pode ser aplicada, pois com o uso da fotogrametria, ainda que sem gerar uma nuvem densa de pontos, poderemos medir pontos, bem como posicionar um objeto em qualquer espaço que desejarmos e que, como foi escrito, esse ponto apareça em pelo menos duas fotos.

Ilustra_2Quando trabalhamos com reconstrução facial forense, precisamos posicionar uma série de marcadores de profundidade ao longo do crânio. O número de pontos varia com a tabela utilizada e varia entre 19 a 36 marcadores. Esses marcadores funcionam mais ou menos como um nível, parecido com aquele utilizado por pedreiros ao construir pisos, mas, nesse caso, ao invés de fazer algo plano, nós criamos as curvas de um rosto, usando-os como referência.

Temos as cinco fotografias já devidamente separadas. Precisamos agora enviá-las ao PPT-GUI para que calcule a posição das câmeras em relação à cena. Parece coisa de ficção científica, mas o fato é que o programa tem a capacidade de fazer isso. Para aqueles que desconhecem o PPT-GUI, temos dois tutoriais de instalação, um para o Linux e outro para o Windows.

Captura de tela de 2013-11-26 16:13:32Acima temos o arquivo de posicionamento tridimensional de câmeras e fotografias já importado no Blender. Mesmo sendo poucas fotos, a visualização fica comprometida, pois uma transpassa a outra, provocando uma confusão visual.

Captura de tela de 2013-11-26 16:15:20Isolando apenas uma câmera e uma foto, podemos ter uma ideia melhor do que está acontecendo. Veja que um ponto foi marcado. Esse ponto é onde os fótons que formam a imagem se convergem.

Captura de tela de 2013-11-26 16:15:35Para achar um ponto em comum no espaço 3D, precisamos de duas câmeras.

Captura de tela de 2013-11-26 16:18:18Sabendo onde os pontos se convergem e sabendo que o final da projeção são as fotografias… basta traçarmos duas linhas com origem e final. Onde elas se cruzarem é o ponto que estamos buscando dentro da cena.


Veja acima um vídeo demonstrativo, onde a cena é colocada na escala de 1:1 (em mm) e posteriormente medido a distância linear entre o násio e o rínio.

Captura de tela de 2013-11-26 21:37:22Quase todos os pontos puderam ser posicionados utilizando duas câmeras que cobriam a parte frontal, exceto os marcadores 16, 17 e 19, que não apareciam com clareza na câmera posicionada bem a frente do crânio. Por conta disso foi necessário recorrer à fotografia tirada mais à direita.

Segue abaixo o resultado do tracking, pelo ponto de vista de cada uma das câmeras. Clique nas imagens para ampliá-las e ver os detalhes.

Captura de tela de 2013-11-26 22:22:35Captura de tela de 2013-11-26 22:23:15Captura de tela de 2013-11-26 22:22:59Captura de tela de 2013-11-26 22:23:32Captura de tela de 2013-11-26 22:23:45A grande dificuldade desse processo é encontrar um ponto de referência. Pintar os pontos a serem triangulados simplifica bastante o processo. Se você tem o hábito de assistir a making-of de filmes, agora compreenderá bem por que eles enchem os atores e os cenários de pontinhos, quando precisam utilizar computação gráfica.

O exemplo se aplica também a craniometria, e poderia ser muito bem usado para medir uma face (antropometria), na área de arquitetura, construção industrial, marketing e publicidade, documentação histórica, arqueologia e tantos outros que necessitem triangular pontos em um espaço 3D, criar malhas, projetar mapeamentos e afins.

Há muitos meses um processo muito parecido com o explanado hoje foi usado para reconstruir o que supostamente se trata do crânio do rei Henrique IV. Perceba que a exemplo da solução proposta aqui, temos apenas algumas imagens. A partir delas foi feito o tracking dos pontos principais, colocados os marcadores e modelada a face. Para tornar o vídeo apresentável, foi feita uma edição de modo que o crânio parecesse uma malha 3D, mas na verdade se tratava apenas de projeções! Ao inserir efeito de vídeo e posicionar a malha da face na frente da imagem do crânio ao fundo, temos a impressão de que ela envolve o crânio.

Nova_Midia
Fotografias: Lucas Rafael. Nova Mídia/L8 Produtora.

Como citado, na arquitetura, a triangulação pode ser usada para inserir um elemento ou volume em uma obra e ver como ficará antes de executá-lo, não em um mas em vários pontos de vista. Veja acima, que fora inseridos pergolados na parte frontal da obra e um letreiro mais acima. Mesmo com uma cena cheia de fios de eletricidade e telefonia o tracking permitiu ver o elemento em várias situações de observação.

IMG_4_sharpenAcima temos uma situação com projeção de textura. Perceba que mesmo a parte superior da mesa estando atrás da cadeira ela aparece como se estivesse sobrepondo-a. Isso acontece por que os únicos elementos 3Ds da cena são a mesa e as esferas, estas configuradas com materais emissores de luz e reflexivos, para demonstrar as possibilidades de ilusão proporcionadas pela composição fotografia + 3D.

As aplicações para essa técnica são as mais variadas, bastando ao leitor imaginar as possibilidades e procurar efetivá-las. Os estudos seguirão e em breve traremos à luz os progressos obtidos, sempre visando o compartilhamento de informações e a adequação das técnicas ao dia-a-dia de quem nos acompanha.

Até a próxima!

Miamoto & Moraes

Agradecimentos: Ao Prof. Dr. Eduardo Daruge Jr. e o pós-graduanto Rafael Araújo, da FOP-UNICAMP e à Nova Mídia Produção de Mídias, pelo apoio com as pesquisas na área de produção publicitária. Arc-Team pela base inicial dos estudos.

 


One thought on “Triangulação de pontos em 3D por fotografias

  1. Alan Carvalho

    Olá Cícero,
    Muito bom este seu artigo, parabéns!

    Se você usasse fotos de várias as posições em torno do crânio você conseguiria obter o objeto 3D reconstruído através da técnica “Structure of Movement” (SfM) e com as dimensões corretas?

    Você chegou a fazer alguns testes com isso no Blender?

    Creio que o Blender usa a implementação de SfM do projeto libmv. Não sei o que aconteceu com este projeto! Entre 2009 e 2011 ele chegou a mostrar bons resultados, mas após 2011 quando foi anunciado que o projeto seria reescrito do zero, não existe mais commits e nem movimentação neste sentido. Você chegou a ler algo sobre o fim do projeto? []’s Alan

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Spam Protection by WP-SpamFree