Many moons ago I blogged about a cool API that provided facial recognition. Unfortunately, Facebook bought them and their API is shutting down. A few services have sprung up in its place, one of them being the ReKognition API.
They offer a metered REST-based API that supports face recognition and training. You can sign up for free and use their service in a metered fashion. Even better, you can use their API via JavaScript in CORS-enabled browsers. What I find most interesting though is their scene recognition API. It is still a bit rough, but it attempts to scan an image for features you would find in scenes - like an ocean, mountains, or even a sunset. They've got a demo you can try yourself. Here's how their sample image reports:
For the heck of it I decided to build my own demo. I created a page with simple drag/drop support. Here's a snapshot of the relevant code:
This code makes use of a few bleeding edge features around drag and drop and file APIs. I tested it in the latest Chrome and Firefox and it worked fine. Drag an image into the box, let go, and you should see it doing a XHR2-based Post to ReKognition. (And yes, this is using my own keys so it may run out of available calls. I don't have any good error handling there yet.)
Just in case you don't have a capable browser, or my API calls get cut, here are a few examples of the output:
And another one...
As I said - the results are still a bit rough - but I think this API could be pretty darn cool when it has more data to work with. I can also say that I had very good luck working with the engineers behind this API. I ran into a few issues and they were very supportive. (They even took a few suggestions I had!)