Thursday, 19 September 2013

Scanning a face in 3D with photos

Scanning a face usually is a problem, when you use SfM (PPT-GUI) to make this. Maybe because of the color be almost the same around the surface of skin, the algorithm doesn't get to reconstruct the face entirely.

Some days ago, a friend of mine sent me a sequence of photos of his face. I knew that it did not works, but I tried even this way. Like I knew, the face doesn't reconstructed entirely, but the T-shirt of my buddy yes. Even the fabric having the same color in almost over the surface.

I thought that, maybe, if I colored the face before scanning it, the surface would be recognized by algorithm. So, I took to seqeunces of photos. One without traces over the skin, and other with traces over the skin.

You can see in the scanning above, some areas empty.

Tutorial: Howto make 3d scanning with picures:

But when the traces was done, the scanning worked a lot better!

Well, the problem of the surface was solved, but, and the texture?

Well, I could use two photos, taken in front and side, but the face would be deformed by the perspective... I don't have a good camera (with controls) and this is expansive here in Brazil. I had to solve this problem using my simple smartphone with a 3.1 megapixels camera.

Fortunately I could use the data of the first scanning made without trace the face.

Addon: Bundler file importer (.out):

Initially I imported the bundler file (.out) inside  Blender (thanks to rgaidao's tip). The bundler file have the cameras with photos and a sparse points cloud.

So I imported the reconstructed face and I aligned it with the sparse points cloud.

Using four photos I projected the texture over the surface.

After that, I created new objects to complete a scene and render the final image.
BlogItalia - La directory italiana dei blog Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.