Professional Headshots Generated by AI — Is it worth your money?

I tried generating the headshots myself so you don’t have to

Regine Lim
Ctrl+Story
6 min readApr 4, 2023

--

As a child, I never quite fit in with my classmates. This made me an easy target for the bullies in my school. I often found myself on the receiving end of cruel taunts and mockery, which left me feeling isolated and insecure. I would avoid any attention to myself, and avoided being in front of cameras — for it felt like they were capturing every insecurity and flaw I had tried to hide to not give anyone an opportunity for judgment and ridicule.

Till this day I have only done one professional photoshoot, and I couldn’t quite shake the feeling that I’m being scrutinised, rather than a celebration of individuality and growth. It doesn’t help that the photographer’s constant requests for me to “look happier” or “more natural” irked me throughout the session. Some people just aren’t comfortable in such a setting.

So… when I came across this tweet, you can only imagine my fascination. I can use AI to generate a headshot?

https://twitter.com/damengchen/status/1636606637191618560?cxt=HHwWgIDT7ZfEsrYtAAAA

The owner of the tweet shared his training data and the headshots looked pretty convincing — so I dug a little deeper.

https://www.headshotpro.com?via=regine

At the time of discovery, it was priced at $49, with a turnover time of 24 hours. I’m really amazed at how in a matter of weeks, they have already adjusted their pricing and turnover time. Having some time on my hands and fascination with the technology, I began wondering if this is something I could achieve on my own. Some digging later, I found this amazing Google Colab that you could use to train and generate your own images.

Some step-by-step instructions if you’d like to follow along:

1. Install the dependencies & download the model

https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb?authuser=4#scrollTo=O3KHGKqyeJp9

I have never done this before, but it is incredibly easy to use — all you have to do is to follow each section and click on the play button in each section to run the code.

What this does is that it will pull in all the necessary code that it needs to run this colab, as well as retrieve the base model where the images will be generated from.

2. Create a session name

Enter a session name, before clicking on the run button in this cell. Think of this as creating a ‘home’ where your work resides.

3. Click run on ‘Instance Images’, upload your images

I uploaded about 10 photos of myself. I cropped and resized the images so that they are all under 1MB for a quicker load.

4. Train the model to recognise you

You can play around with the parameters ‘training steps’ to see which number is the best. Start with a lower number and go from there. Highest isn’t necessarily the best because of a concept called ‘overfitting’ — weird pictures that look nothing like me appear.

Understanding Overfitting

Imagine you’re trying to learn how to recognise different types of dogs by looking at pictures. You see a lot of pictures of different dogs and their breed. Overfitting happens when you pay too much attention to the small details in those pictures, like the colour of the leash or the background, instead of focusing on the dog’s features like size, shape, and fur. When you learn this way, you get really good at recognising the dogs in those specific pictures, but when you see new pictures of dogs, you might not be able to recognize their breed because you were too focused on the details that don’t matter.

In the world of computers and image recognition, overfitting means the computer is too focused on the details of the training images and doesn’t learn the important features that help it recognise new, unseen images.

5. Start generating images

Once the training is complete, we’re ready to test! A link will appear if you scroll down (not going to show you mine) and you’ll reach your interface. At this point I’ve spent about 2 hours trying to figure out the Colab, the dimensions of pictures to upload, and waiting for the training to complete.

I wasn’t too sure on what to do when I reached here so I turned to reddit and found this:

https://www.reddit.com/r/StableDiffusion/comments/yqobmw/protip_dreambooth_yourself_to_the_top_on_linkedin/

Pretty cool — I reused their prompt and edited it to suit my own needs:

Linkedin profile picture of regine, professional photography, (((open space office in the background))), beautiful lighting, beautiful, sony A7S picture, 50mm, portrait, shallow depth of field, windows, ((open space)), CEO, ((depth of field)), close up, wearing a suit, studio lighting

Admittedly, I didn’t know what I was expecting, but the initial results were just… weird. It either made me looked old, or the left side of the face was often different from the right side of the face, or both. None of them was convincing as a ‘real’ photo, let alone a photo of me. So I went back and ran the training again, hoping that this time it’ll get better.

6. Retrain, generate, repeat

I did have quite a bit of fun going back and forth, training the models, but I also did spend quite a bit of time (the whole afternoon) on it. I would say the ratio was about 90% ‘weird/useless photos that looked like fakes or didn’t look like me’, to 10% ‘maybe it came pretty close’. Still, I thought that angles wasn’t something the AI could get quite right, and the ratios are often off. So I thought — what do people do if there was something they didn’t like about their photoshoot? I took one of the photos, and photoshopped it so that the angles looked better.

I thought the face was too front-facing, when the subject of the photo was slightly tilted to the left. The eyes were so big that it made me looked like a cartoon character, so I made them smaller as well.

Put that next to my current LinkedIn photo… Looks pretty convincing? I felt pretty weirded out by the photo though, since my own father couldn’t figure out the fake.

Back to headshotpro, is it worth your money?

Given the time (about 6 hours) I spent getting only one (barely) satisfactory photo, I definitely think it’s worth it. They probably have figured out the best way to train the images that would allow you to generate 120 headshots as promised on their site. If you don’t like photoshoots, or is unwilling to spend the time or money, this might be an interesting option.

The 90% of terrible photos bored me out after a while so… I had my own fun ;) If you do try any of it (headshotpro/DIY), let me know your experience.

--

--

Regine Lim
Ctrl+Story

I bleed coffee, get drunk on aesthetics & breathe life into chatbots. Tech consultant by day. Writes for fun on other days. https://linkedin.com/in/limregine/