Digitalizando faces em 3D a partir de fotografias

For who speaks English, please see this link: http://arc-team-open-research.blogspot.com.br/2013/09/scanning-face-in-3d-with-photos.html

Dando sequência aos estudos de digitalização 3D por fotografias, mostrarei hoje o resultado de experimentos com uma nova abordagem na obtenção de malhas faciais.

Face digitalizada por fotos + cena em 3D

Reconstruir faces via SfM (Structure from Motion) é um grande desafio. Parte significativa do problema, mora no fato da pele ter uma textura homogênea, o que não ajuda nem um pouco o algoritmo usado pelo PPT-GUI, programa livre e gratuito de digitalização por fotografia. Ele “prefere” superfícies com uma rica textura. Quanto mais diferenciação de cor, melhor.

Acima temos uma nuvem de pontos em 3D com o resultado de um escaneamento tradicional. A iluminação é mais intensa do lado direito, por isso a nuvem é mais densa naquela parte. Mesmo com uma boa iluminação geral, algumas áreas não foram calculadas como parte da testa e do pescoço.

Tutorial, como digitalizar objetos em 3D por fotos: http://www.ciceromoraes.com.br/?p=722

Há dias, recebi fotos da face de um amigo, a reconstrução ficou bastante pobre na face, como de costume, mas a parte que apareceu de sua camiseta ficou excelente, mesmo essa tendo uma tonalidade de cor. A sombra e a leve textura do tecido, fez com que o algoritmo funcionasse.

Imagine que se eu “ajudasse” o algoritmo do PPT-GUI com linhas sobre a face o escaneamento poderia ser bem sucedido.

Dito e feito. A digitalização ficou muito mais ampla do que se tivesse sido executada sem as linhas.

Daí surgiu outro desafio. A parte da superfície estava resolvida, mas e a textura? O resultado final traria um 3D com riscos sobre a face?

Isso poderia ser resolvido por projeção de textura, ou seja, tirar uma foto de frente e de lado da pessoa e projetar no Blender. O problema é que nem sempre as fotografias cobrem todas as áreas e além disso, a menos que você tenha uma câmera profissional ou semiprofissional (que não é o meu caso) as fotos terão a deformação de perspectiva e isso dificulta o trabalho de adequação da malha às fotos.

Foi só pensar um pouco e ver que eu já tinha a solução ao alcance das mãos. Como já havia feito a tentativa de escaneamento com a face sem os riscos o que fiz foi simplesmente pegar os dados com o posicionamento das câmeras e a nuvem esparsa de pontos e importar a cena no Blender.

Addon, importar arquivos do Bundler no Blender: https://projects.blender.org/tracker/index.php?func=detail&aid=30893&group_id=153&atid=467

Em seguida importei a malha reconstruída da face, feita com as fotos com a pele riscada. Nesse caso só importei a malha, sem a textura. Posicionei a face dentro da nuvem esparsa de pontos… afinal, tratava-se da mesma estrutura, riscada ou não.

Bastou projetar as imagens das fotos na face que a textura foi criada. Evidentemente utilizei apenas 4 fotos para esse fim. Uma do lado direito, outra do direito, uma no centro e outra ao centro observando a face por baixo.

Face com displacement feito a partir do mapa projetado

Uma vez que a face estava pronta, a fase final consistiu na criação de uma apresentação que preenchesse as áreas vazias.

Inicialmente criando os cabelos.

E depois a indumentária e acessórios. Utilizei peças prontas, feitas para a demonstração apresentada no topo dessa página. A decisão de colocar um óculos com olhos brilhantes a là Jaspion veio justamente para evitar a aparência de um corpo sem vida, típica de fotos com os olhos fechados.

O objetivo aqui não era criar um seriado, mas apenas mostrar uma aplicação para essa tecnologia.

Dentre as áreas beneficiadas podemos citar a odontologia legal, cirurgia plástica, próteses, publicidade e computação gráfica em geral.

Lembremos que tudo foi feito com software livre utilizando equipamentos que estão a disposição de um elevado número de pessoas, como um PC simples, smartphone e canetas ou lápis de olhos.

Devo agradecer imensamente as seguintes pessoas por ajudarem no desenvolvimento dessa metodologia de forma direta ou indireta:

Pierre Moulon, Noah Snavely, Yasutaka Furukawa, Paulo Miamoto, Marcos Paulo Salles Machado, Luca Bezzi, Alessandro Bezzi.

Em especial a meu sobrinho Patrick Pagliari e a minha noiva Lis Caroline por servirem de modelos e auxiliarem nas pesquisas, permitindo que eu pintasse a suas faces e tomasse um pouco do seu precioso tempo.

Para quem quiser fazer suas próprias digitalizações por fotos, segue link: http://www.ciceromoraes.com.br/?p=722

Um grande abraço e até a próxima!


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