Mustafa Kemal Atatürk,[a] or Mustafa Kemal Pasha[b] until 1921, and Ghazi Mustafa Kemal[c] from 1921 until 1934[2] (c. 1881[d] – 10 November 1938) was a Turkish field marshal, revolutionary statesman, author, and the founding father of the Republic of Turkey, serving as its first president from 1923 until his death in 1938. He undertook sweeping progressive reforms, which modernized Turkey into a secular, industrializing nation.[3][4][5][6] Ideologically a secularist and nationalist, his policies and socio-political theories became known as Kemalism.[3] Due to his military and political accomplishments, Atatürk is regarded as one of the most important political leaders of the 20th century.[7]
Post colored and retouched reference images thats very inaccurate for secondary forms
Initial Sculpt in ZBrush
After playing around with primary forms in ZBrush and using even more reference images, I wasn't happy with the results, which you can see above. Realizing that each photo was from a different time period and that I wanted to make a sculpture of him as he was at least 10 years younger wearing full military uniform, I decided to try a different method for a likeness thats lacking quality photo references.
A Different Approach
As a tech enthusiast and an artist interested in exploring the possibilities of technical art creation, I decided to use machine learning algorithms that are publicly available on github. I was familiar with Python, had past experience with programming environments, and I was looking for something current, what they call "state of the art" algorithms, models, and datasets.
I found out that Microsoft's Deep3DFaceReconstruction repository, a 3D Face Reconstruction algorithm with weakly-supervised learning, is capable of producing near-perfect workable facial meshes from a single photo input. That's exactly what I needed for this type of work.
After creating countless environments with Conda, troubleshooting dependencies for a build without errors. I've managed to run a test script with pre-trained models and random photos to see the results.

After a day and a liter of coffee, it worked.
The Process
5 Points: Facial Landmark Generation is the first step. These can be created using the dLib or MTCNN libraries, publicly available on github.
In order to generate the mesh and align it with each photo, the algorithm creates another 68 point landmarks from those 5 points (which is basically a.txt file defining XY positions inside the bounding box of a recognized face).

The up-to-date repository uses pyTorch. It took less than 10 seconds to reconstruct all the faces and generate a usable mesh for each input image. 
To me, this is groundbreaking.
On the way, I considered scraping Atatürk's photos to create my own dataset and train a model, but then I remembered that quality photos of him are rarely present, and the Republic of Turkey Ministry of Culture and Tourism only had 483 photos that were very low resolution, black and white, and had no useful features. So creating my own dataset wasn't worth the effort.
But the provided model was pre-trained on a combination of CelebALFW300WLPIJB-ALS3D-W, and FFHQ datasets, and each dataset has at least 200.000 various faces. That's more than enough to get good results on proportions and even some secondary details like eyelids and lips.
After examining the output mesh, I've found that some facial features are better than others, and I have to somehow mix the best parts in order to create the closest looking primary forms. 

So the only option was Blendshapes. 

But since the mesh output was rotated to match the input images and each mesh had to be re-aligned to look straight front, I had to find a way to run the algorithm with a little change in angle coefficients inside the code.

Below is the result of that change.
Output Mesh
Sculpting Updates

Pre/Post War photos, notice the inner brow lowerer in second image. 

It is well known that Atatürk was very natural in his looks and he had that leader charisma. He understood the importance of a solid image to lead a nation before his ideas. Had that calm and confident stare with the traces of battles after his military accomplishments and later became the part of his image, wrinkles in between the inner brows. 

A couple hours of sculpting and side view primary forms are %80 there. It still needs subtle changes around the nose and lip corners.

Skin Details, Wrapping Displacements
After projecting and cleaning XYZ Multichannel Maps, I saw some unwanted skin imperfections and specular paint wasn't the best for Arnold, decided to do a second fix pass. 
This is a screenshot from Substance Painter's viewport..
Subsurface scattering and the new bend normals are incredible and provide accurate(somewhat) real-time representation for skin before rendering in Arnold.

I'm pretty sure this is a good detail for real-time rendering of human skin.

With clever use of a cavity map, it will look just as good in UE5. 
Timelapse Part 1
Originally, I was planning for a military uniform, but after asking my Instagram followers if they would prefer to see a tuxedo or uniform, the response was 80% tuxedo, so I changed my mind. However, the second version will still be a uniform.
I used EPIC's Metahumans for the facial and body meshes, successfully transferred the sculpted face from ZBrush, and reconstructed every other mesh such as eyes, cartilage and shells, eyelashes for a perfect facial rig before rendering it in UE5. You can see all of this in the timelapse.

Metahumans are great for a generalist doing character design, but creating beautiful, perfectly rigged metahumans is a separate topic that I plan to cover in a live course on character design from concept to animation. 
To be updated..
(22.08.2022)

You may also like

Back to Top