taylor’s blog

 
« Back to blog

3D images as a CAPTCHA

A CAPTCHA is a method of verifying whether the user of a web application is a human being, or a malicious computer program trying to post garbage data, ads, etc. onto a site. Some of the most common examples of CAPTCHAs are wavy lines overlaying some distorted images, such as this. You will often see them when you're registering for an account on a web-site, or just posting some information.
 
After reading an article on Slashdot on the CAPTCHA "industry" a few months ago, and learning that indeed computers are making headway into this text based method of human verification, I decided to take a crack at it and come up with my own solution.
 
After several attempts I came up with a very solid method of verifying humans are in fact humans and not machines. The method I came up with relies on producing 3D images for people to discern. For instance, if you see a picture of a rabbit as if you were looking down on it, and then looking at it as if you were looking at it from the side, your brain would still know you were looking at a rabbit.
 
While this may seem like an easy task, it's not. Over millions of years of evolution the part of the brain that deals with visualizing the world has become very sophisticated, at least in terms of computing power. For a computer to understand that a crumpled up pair of jeans on your bedroom floor is just a pair of jeans on the bedroom floor, and not some other piece of clothing, or even part of the pattern on the rug, is a feat no computer can currently do. Roboticists and other academics have been working feverishly for some time on this, not because it's intellectually interesting, but because it would advance robot self navigation (seeing) greatly. It's a very complex problem that humans do with ease. (for a more scientific explanation see: Wikipedia: Visual modularity)

Enter my design.
 
In the below illustration you will see that I have created a CAPTCHA interface that asks a user to verify that the top image matches one of the bottom images. A user can do this with ease, while a computer would be totally confounded by the randomly rotated view of the objects. And this is the crux of the design.
 

 
As of now, the CAPTCHA industry is busy, but not profitable. I looked into the idea of capitalizing on this idea, but in the end there really is not much money in the idea. The current leader in the CAPTCHA market is reCAPTCHA based out of Carnegie Mellon University. The have their CAPTCHA application hosted by the University for free, and the creators are paid academics, and so they charge nothing for their service. I was talking with their team via email, but when I proposed this idea, they went silent - presumably to limit liability if they wanted to use the concept. I'm still waiting for a return email, but no such luck.
 
So, I'm putting this design in the public domain. If you know of anyone who has 3D rendering software, and has access to web development resources, by all means, please forward this idea to them.  It is now owned by humanity. I hope the idea comes to fruition soon - some CAPTCHAs are getting hard to read.
 
Taylor

Comments (16)

Mar 13, 2009
Rebecca said...
Genius!
Mar 13, 2009
Keith said...
Very clever, seems effective and certainly preferable to typing words. I think I've also read that some systems will disqualify responses that occur too quickly (i.e., with a faster-than-human reaction time). I guess another challenge will be that even a 1/9 success rate could be acceptable to a malicious automated system. I've seen photo-based CAPTCHAs that require you to match 3 of 9 images, but that seems burdensome for the user.
Mar 13, 2009
Taylor Hayward said...
@Keith: I limited the number of images to 9 for the sake of not wanted to do a lot of work finding more images on the net. *smile* You could use many more, with better results.

I like the 3 of 9 matching concept, but I think the best method would just be to create more images. Also, this is just a clear illustration, if I were to make the system I would most likely create conjoined objects - such as two rabbits connected in some way.

Reaction time is interesting. There is a threshold in both directions. Too low and you could surmise it's a machine. Too high and you would be running the risk of having the images shipped to a CAPTCHA farm where people would be paid to crack them and ship back the results.

Mar 16, 2009
We're going to be running a 3D contest @ Mozilla for stuff like this - you should definitely try and get someone to implement and submit this.
Mar 18, 2009
LittlePig said...
'You look down and see a tortoise, Leon. It's crawling toward you... ' - Holden
Mar 28, 2009
Rani said...
An idea similar to this was implemented here:
http://tau-itw.wikidot.com/project:3-d-captcha
Mar 28, 2009
Eirik said...
I like this solution very much. But i think it could be cracked. A simple image matching of maybe 20 different angels of the object would be pretty effective I think. To make it harder to crack, skin the objects with a random texture and put it over a random background.
Mar 28, 2009
Rani: That solution is very prone to cracking (assuming, of course, that the sample given is the standard). If there are 3 people, and the user has to identify which one is looking at something, the chances of getting it right simply by guessing is 1/3, meaning a script could just keep trying the same answer and get it right at least 30% of the time.

Erik: That's a very good point. However, as you also stated, random textures on the object and backgrounds would easily solve this. That's a "next step" for us - we wanted to start with the most basic solution (just like the first textual CAPTCHAs had just simple rendered characters).

Mar 28, 2009
CAPTCHA SPERG said...
If you read ANY shape matching or object matching literature you'd realize that this is done. It is solved. Nice idea, but 3D transforms are linear transforms and easily reversible. It is easy to transform the information back into a form that we can compare 2 items that have been transformed. Do a PCA of the contour points for each image and you'll see what I mean.
Mar 28, 2009
Rick Huby said...
This seems like a good idea however this would be inaccessible to people with visual difficulties (not that CAPTCHA is any better in that respect).

With regards to the concept itself though I think this is definitely on the right tracks for CAPTCHA in the future.

Rick

Mar 28, 2009
MiliVilli said...
Nothing is imposible to broke...
Mar 30, 2009
Jun 14, 2009
How do you propose to meet the access needs of those of us who happen to be blind or visually impaired with this scheme? It represents clear discrimination without accessible alternatives, and various laws around the world require reasonable accommodations. If you can't address these concerns, please do not promote this for use on other web sites.
Sep 29, 2009
Jon said...
Maybe the rabbit could say waht's up doc, the frog could croak, the cow could moo for a visually impaired alternative...then the sounds have to be barked back into the PC microphone in the correct sequence... perhaps ... this could be all such fun... Actually the 3d model idea could perhaps drive a pin screen that a visually impaired user could touch with finger tips to feel the shapes of the animals. Maybe wav forms of sounds of the animals could drive the shapes too? Could be fun.

Leave a comment...

 
Got an account with one of these? Login here, or just enter your comment below.
Posterous-login    Connect    twitter