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.
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.
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!