Ben Sandler
Ben Sandler

Reputation: 2393

How can I add image recognition to a Google Glass application?

I am trying to find a free way to do image recognition / computer vision in my Google Glass application. I am looking for something that can recognize real-world objects like money, book covers, and text. Ideally, it would work like Google Goggles (for some reason Google hasn't made a Goggle API). I am open to cloud-based solutions or ones that run locally. I am even open to running my own server if its not feasable to do image recognition locally on Glass.

I have looked into several different technologies. OpenCV seems very powerful, but it doesn't come with a library of images to match against. CamFind has an cloud API that does exactly what I need, but it costs a lot of money.

Does any have any suggestions for how I could add image recognition to my application? Thanks in advance!

Upvotes: 0

Views: 1057

Answers (2)

zawhtut
zawhtut

Reputation: 8561

OpenCV has haarcascade for detection of eyes, body and plate number. See the following link for available features.

https://github.com/Itseez/opencv/tree/master/data/haarcascades

See the following for eye detection

Opencv - detecting whether the eye is closed or open

Upvotes: 0

Sam Dozor
Sam Dozor

Reputation: 40734

I won the Glass Foundry hackathon in NYC (in 2013) by hacking basically the same thing together. This was before the native development kit for Glass was even announced, so I did it all with just the mirror API. This is how I implemented it:

  1. First, create a server-side glass app using one of the quickstarts. requesting the correct scope so you can interact with the Mirror API and manipulate users' timelines.
  2. Expose a custom share target, so that when the user takes a photo, they can "share" it with your app
  3. Upon sharing, your server will receive a POST (multipart I believe) from the mirror API with your image Note: Most image recognition won't require such a high resolution as Glass's 5mp, so I shrunk the image down significantly to make everything move faster.
  4. On the server side, upload the image to an image recognition service. I used IQ Engines which is now defunct. A quick Google search reveals many services.
  5. Still on the server side, with the result of the image recognition, insert a new card into the user's timeline with the result and the image, etc

Upvotes: 1

Related Questions