First, sorry abour my poor english.
I'm planning to build an augmented reality app for android mobile platform and the main feature is the ability of the user to take a shoot of a shop and the application recognize the shop that he is photographing. I Do not know if the best option would be to use an image recognition api as many existing, but I think it would be something more specific. Maybe own a bank of images would help.
My plan was to have a database of stores with their locations and use one of many tools for image recognition and search in my database to the same location. But I found that all search engines images (kooba, iqengines, etc.) are not free and not a little cheaper. So would a tool that could use a limited catalog, like shops images in a shopping mall for example and send photos of smartphones (both android or iphone).
Can someone help me get started?
I've been doing something similar for my dissertation at University. I developed an application which detected signposts, read the content on them, then personalised / prioritised it depending on the user's preferences (with mixed success).
As part of this I had to look into Image Recognition.
Two things you may want to look at are:
The Qualcomm QCAR SDK. This was a little bit too image specific for what I was after, but if you were to do it on a small range of shops it may work. This would require a collection of shop images to match against - I don't know how successful it would be.
What I implemented used JavaCV (a conversion of OpenCV), which also has an Android conversion. It seems to allow for image recognition a bit more generally than the previous option which is why I used it. It would require you to run your own training to create a classifier though (unless there is another way of doing image recognition within it). But there are a number of guides which can help with that.
I used it for recognising signposts with reasonable success off just some basic training, though did tend to recognise a number of false positives.
Within my application I then used location to match up with previous detections etc.
Hopefully these may get you started.
Related
For my bachelor thesis I have to make an app that recognize logos, eg : I see the logo of a car and I want to find out what car it is. I take a picture of the car’s logo and the app should recognize the image and send me back the Word „Mercedes” so that I can search for information about the car online. I would like that no matter the position of the logo or the light or the color, the app to recognize what that logo represents.
I have tried with recognize.im API but it doesn't work well because it is callibrated and adjusted for comparison not classification, and I definitely need classification.
I would like to go with on-cloud recognition, but on-device would work too (in which case what algorithm should I use ?).
Thank you very much
There are few APIs which provide general image recognition such as Google Vision or Imagga. These services can give you some general information about the scene - for example it can tell whether there is a car in the image or not.
However, your car brand recognition task is very specific and you might achieve better results by using customizable service such as vize.ai, which allows you to train your task-specific API endpoint. In order to train it, you need to prepare example images with logos for each car brand you want to recognize (30 to 50 images per brand). You upload these images to vize.it using the web browser interface and you'll get the API endpoint to a classifier trained for your task. Then you can simply classify new images by calling the API.
Edit:More details added (as requested by ρяσѕρєя K)
Disclaimer: I'm working at vize.it.
Edit: Link changed
I m an 4th undergraduate student and I have to make a demo on Augmented Reality in Android for my final year project at the university. This is for a supermarket.
when user passes a specific shelf in the supermarket user wanted to be notified by the app if any promotions available for the items in that shelf.e.g like a message pop up with a pointing arrow to the shelf (assuming only one category of items available in one shelf)
I want to know is it possible to do by capturing an images of shelves and save it in the database and identify the images when user passes through and pop up message to the screen if any promotions available? or any other easy ways available to do this?
if so could you please give me what are the android sdk tools available for this purpose and and guide me with some references and examples which i should refer
Thanks a lot in advance
This is a very complex problem. You can approach it like below:
Start with QR code recognition, this is now supported in the Google Vision API for Android devices. QR codes are available on most objects these days.
Instead of storing the objects (which are loosely defined), see if you can store the logo's of the companies and the product name styling for comparison. You can then use OpenCV's numerous tools for this purpose. OpenCV is available on Android.
Making it robust to take care of all conditions, is still an area of research, but look at what Amazon has done with Amazon Flow.
I'm thinking of doing an image processing app for android as my senior year project. The basic functionality I'd like is for the user to be able to take a photo from the camera and then try to match it to certain preexisting images in the database.
I'll be using it for distinct objects, not objects with varying characteristics like pen, car, etc. Rather objects like maybe the Eiffel tower. The app should be able to recognize an Eiffel tower based on the photo taken from the camera and comparing it to an already existing pic of the Eiffel tower.
Is this project feasible in a 6 month time frame or is it feasible at all?
What APIs does android provide to get this job done ?
Thank you
I suggest using a neural network, and than training it for the objects you want to recognize.
Also, you should try implement pattern recognition natively for better performance. Still, I'm not confident that it would work well in terms of recognition mistakes and fast execution. Also, you would need large training datasets for every object you want to recognize, pictures from different angles, taken during day and night, in different weather occasions... Recognition performance could be improved if you take into account gps location from which is picture taken (Eiffel tower surely is not visible from London). If you want to make this to work it would take a tremendous amount of effort.
I have done the same thing as a project in 3 months or so. There is not Andriod API. But you can build an application for it. In my project I send the snapshot image to a server to do that match, the server have a database for image build with "bag of words" model and using SIFT/SURF as feature extraction algorithms. The server will reply with information to the mobile client as need. There is a tutorial how to build the a similar thing here
Say I have a set of say 100 stored images (say sports team logos, rather than very similar images like faces) in my android app. In a manner similar to google goggle's continuous mode, I would like to use the camera to decide which image is being focused on.
What is the best, most efficient way to accomplish this? Any open source libraries, sdks etc would be great.
Thanks.
If you would like serverside recognition you should check out kooaba's API. its free for small reference databases such as yours and the best in the field...
Www.kooaba.com
I'm looking at developing an app that could benefit from having a image recognition system. I've seen this sort of thing in iPhone and Android apps. Take a picture of a book and the app takes you to Amazon where you can find that book. I'm not looking for general image recognition, but more the ability to pick a single image out of a library of about 10k images.
Any ideas of what services are available for this sort of thing?
Google Goggles does something similar to Amazon Remembers. It uses OCR if text can be identified and they want to use it with the similar image search from Google Images. I think they generate some kind of hash for an image with the feature that if the images are similar the images are similar to.
My best guess would be try to start with the character recognition and do a text search for the title of your card. This means your user has to make a very clear image maybe even in a specific position. But for a first application this would be great already. As somebody playing magic I would buy the tool for trading and cataloging my cards.
Actually, while short of getting an actual Amazon employee to tell you there is no way to confirm this, I am fairly certain that the Amazon Remembers feature you refer to is actually the work of crowd sourcing- using lots of people combing through data to make it appear like a computer is doing it. I think they may actually be using there own Mechanical Turk system.
Edit: Also, I found this SO question that might interest you. It is specifically for playing cards, but some of the answers (such as the machine learning example) can be modified to be more helpful for what you want to do with magic cards.