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.
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 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
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.
I'm trying to develop an Android app that could be used by advocacy groups or campaigners such that they would be able to create their own forms (surveys) for which they can go out canvassing and collect opinion data from people who don't have Internet connections and thus can't take surveys/polls online. Could also be used at events or anything else that requires data collection "in the field"
The benefit is allowing data collection on the spot without having to transfer data from paper to the office computer by hand.
I've been looking over this tutorial by Frank Abelson: http://www.ibm.com/developerworks/xml/tutorials/x-andddyntut/section6.html
And have also been pouring through the Open Data Kit, but the ODK is a little more intense than I am prepared for and the Abelson tutorial doesn't discuss much how users could create their own forms.
I suppose users could just create their own XML files for custom forms in the office and store them on the server, but I was wondering if there was a way for them to do this on the Android app?
Just a hint about possible architecture or simple resources would be helpful, I am having a hard time picturing the solution at the moment.
i'm one of the developers of open data kit. odk has been successfully deployed by organizations all around the world for exactly what you describe.
we have a graphical form designer (and good alternatives in purcforms and xls2xforms), a server to host the forms, and an android mobile client (and good alternatives in javarosa). all the pieces are free, open source, and are driven by an active community.
if you could list what specifically about odk doesn't fit your needs (say, a need form design on the phone), i'd be could recommend alternatives...
ODK is a fantastic open source solution. A potential commercial alternative you can also try is Canvas at http://www.gocanvas.com which allows you to replace paper based forms with your mobile device.
It currently runs on Android, Windows Mobile and BlackBerry with iPhone and iPad support coming soon.
To get a quick overview of how to use Canvas:
Build a standard data collection app in 5 minutes and see it running on BlackBerry
Build a signature capture app in 5 minutes and see it running on Android
Hope that helps some,
-Chris
You should look into Fulcrum. I believe there is a 30 day trial period see if this software works for you. This is a one stop shop for mobile data collection teams. You can easily build your data collection forms right from your web account to include photo fields, text entry fields, choice fields, form sections, and repeatable sections. Repeatable, meaning parent-child relationships within a single data point.
They even have an App Gallery with a exemplary apps (forms) that allow you to use as a sort of "cheat-sheet" to get started. Here is the political canvassing survey they posted.
-P.Reyes
Check my project here: https://github.com/AndreiD/surveylib
PROS: Simple solution, open source, without any overkill, you don't have to display any logos, it doesn't cost a thing, it's easy to be extended, material design etc.
CONS: You must have the server part, for the transmission of the answers data.
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.