3D Face Reconstruction from a Single Image
cs.nott.ac.uk
cs.nott.ac.uk
-----
Here is the same image used as input for 3d face reconstruction using both methods:
Left side is morphable face model (EOS by Patrik Huber).
Right side is this new CNN voxels method.
-----
Here is live 3D model on the authors' site:
http://www.cs.nott.ac.uk/~psxasj/3dme/view.php?name=../59b41...
> Intuitively this feels a bit off, since outputting a discretized 3d model instead of fitting a continuous model has inherent resolution limitations, but the benchmark results are pretty impressive.
Isn't this because deep learning is in fact a type of interpolation?
And another question: are there any techniques based on neural networks that combine multiple images into the most plausible model?
No The output is still discrete.
> And another question: are there any techniques based on neural networks that combine multiple images into the most plausible model?
Could work.
http://alteredqualia.com/xg/examples/facial_expressions.html
http://alteredqualia.com/xg/examples/max_headroom.html
It seems to be working pretty well, results do look nicer than earlier methods which were based on morphable faces [1][2].
See also continuous face reconstruction from video on their project page [3].
------
[1] https://www.youtube.com/watch?v=nice6NYb_WA
[2] http://gravis.dmi.unibas.ch/publications/Sigg99/morphmod2.pd...
Would be interesting to see a measurement of error against a known result. Maybe try rendering an image of a 3d model of a face, then attempt to reconstruct it from the rendered image and measure the displacement from the original model.
I tried it on a few Japanese faces; it basically gave them a Caucasian-looking side profile: big foreheads with over-hanging eyebrow ridges; big noses.
Completely unrecognizable after turning more than a few degrees from front view.
Which is not to flame the project---nice work!---but as a potential improvement for certain applications, it would be useful to simply have these details as parameters that could be interactively tweaked.
Being able to adjust the overall roundness of the face, and prominence of the chin/forehead/nose would probably go a long way.
Just get more Asian people in the training data.
A good test is when you have a front and side source image, such as police mug shot...
Take this famous David Bowie mug shot. I also tried Jimi Hendrix and Jim Morrison, the side profile never looks like the person.
https://ozimg.s3.amazonaws.com/temp/bowie_mug.jpg
An improvement to the engine might also accept a side profile source image to improve the details. Now that would be something!
A smarter algorithm might analyse the light and shadow to a greater degree, and better predict side profile details.
Or, take it further and have the algorithm silently check the internet for match of person and then look for more images of that person. Not cheating if the measure is "upload at least one image to start with, the service will then do the best it can to perform a miracle".
It's not something that can still be accomplished by someone who isn't a pessimist; it's provably impossible.
Many people are mistakenly under the impression that certain signal reconstruction techniques like compressed sensing "violate" the Nyquist sampling theorem. Compressed sensing is still under the same umbrella of the Nyquist Sampling Theorem, as is CNN-based reconstruction (the technique used by this paper). I realize my analogy might have been poor; my claim is that there is still unrecoverable information loss.
Try the right mouse button instead; it seems to have a nicer rotation action, and the two axes are consistent. Also you can use the middle mouse button to zoom in.
Thanks for releasing paper & source to play with!
Notably, the shape/depth of my nose is very, very wrong.
It's also amazing how far Vision has come in a few short years.
right, but adding in fake eyeballs should do the trick.
For inspiration, check out how these guys fool Samsung's iris scanner: https://www.youtube.com/watch?v=4VrqufsHpS4