Logo
Contact Us
< Back

Pareidolia

Squint at the landscape. Guess who is hiding. Watch your win-rate.

Captcha developed by XTeam

Pareidolia 0 / 0
A landscape concealing a familiar face. Squint to reveal it.

Who is hiding in this picture?

Relax your gaze and the figure appears. Machines mostly see scenery.

The idea

After working a lot with CAPTCHA's, I've come to think there is really no unsolvable CAPTCHA nowadays, because of AI. So I thought a lot about some challenge that is inherent for humans and not obvious for robots at all.

And then I remembered a concept called pareidolia — the natural tendency of the human brain to find familiar shapes and patterns in random objects. I believe face-pattern recognition is one of the strongest reflexes out there. You've probably seen it before without thinking about it much:

These are all just accidents — nobody planned for the branches to look like a face. So I wanted to try doing it on purpose. I collected a dataset of the most recognizable faces (historical, fictional, today's celebrities, etc.) and merged them with different landscapes: mountains, forests, reefs, dunes. The face isn't stamped on top of the picture, it's baked into the shapes and shadows, the same way you suddenly see a profile in a cliff or a man in the moon.

Here's what that looks like with Obama and Stalin, the photo I started from and what came out of it:

That's the whole bet. A person can squint, relax the gaze, and the figure appears. A machine mostly sees rocks and trees. Blur the picture, shrink it, run it through a vision model, and the landscape stays while the identity often doesn't. Humans do the opposite — a little blur is exactly how we stop reading the texture and start reading the face. It's easy for us and hard for a bot, which is the whole point of a captcha.

The quiz above is the same test I used to tune the pool. Five names, one of them hiding in the picture. Easy to guess blind, hard to be consistently right unless you can actually see who it is. Your win-rate is that gap, measured on you. If people land around eighty percent and scripted lookers stay near chance, the captcha is doing its job.

This test holds about 10 characters, and in my full project there are about 60 characters across 10 different landscapes. In theory you could try to reverse-engineer the dataset and fine-tune some model on it, but that's going to take some time :) Also, you've got a 20% chance of picking the right answer just by choosing randomly, so that's a factor too. Regardless, this is a fun concept I've never seen anywhere else, and I wanted to share it :)