Hi, what you describe can be achieved using Computer Vision and Pattern Recognition. The input would be a portrait of the user (selfie), and the output would be a 3d model in .ply or .obj format of the face with textures. If you need the output 3d model to go through some post-processing (scaling, rotation, polygon decimation, etc) can be added too.