1 | initial version |
You can use OpenCV to detect faces, but you'll have to look at something else if you want to build a 3d model of the face from the 2d data.
I can tell you that all you see from 2D-3D face rendering (such as snapchat and other apps that draw 3D items on your face) are just using "tricks", such as relative position of the eyes and mouth and other stuff to calculate an approximation of the face orientation. Then, there is a fake 3D template model in which the pixels are rendered according to these orientations, making it look like the application is able to render 3D face from 2D.
There isn't actually any way to build 3D models from solely 2D data, its mathematically impossible.
2 | No.2 Revision |
You can use OpenCV to detect faces, but you'll have to look at something else if you want to build a 3d model of the face from the 2d data.
I can tell you that all you see from 2D-3D face rendering (such as snapchat and other apps that draw 3D items on your face) are just using "tricks", such as relative position of the eyes and mouth and other stuff to calculate an approximation of the face orientation. Then, there is a fake 3D template model in which the pixels are rendered according to these orientations, making it look like the application is able to render 3D face from 2D.
There isn't actually any way to build 3D models from solely 2D data, its mathematically impossible. impossible (unless there are a lot of assumptions that you can make that reduce the problem a lot).