Matlab source code to accompany submission:
“Facial Landmarks under Perspective Projection are Ambiguous”

NOTE: The implementation requires a 3D Morphable Model. It is designed to work with the Basel Face Model which is available here:

http://faces.cs.unibas.ch/bfm/main.php?nav=1-0&id=basel_face_model

but would work with any other with a bit of adaptation. You simply need to make sure that the principal components for shape are stored in shapePC, the mean in shapeMU and the parameter standard deviations in shapeEV.

The entire code required to recreate the results in the paper is contained in the script ambiguity_demo.m.

Two subsidiary functions render_face.m and render_face_ortho.m are used to render the images.

TO RUN THE CODE:

The only modification you need to make to the script file is to change the base directory for the Basel Face Model. Apart from that, if you run the script it will recreate the results for the first face in Figure 2.

To create the other results, you simply need to change the values of the adjustable parameters. There are listed at the top of the script with comments describing what each parameter does.