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
Related
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 would like to make an Android Application that captures an image and searches it for coins and paper notes and then determines the value of the money in the image.
Additionally, the output of the system will be such that it can be understood by a blind person.
What functions and techniques in openCV would suit these tasks?
What limitations and development hurdles can I expect?
Assuming you already know how to program android apps,you need to do the following:-
Download the OpenCV SDK and set it up with the IDE.
Recognising shapes will be a huge part of your project, see the contour detection example that is present with the SDK examples. Your primary goal will be detecting a circle. Later you need to adapt your algorithm according to the currency. This will be of particular interest to you.
Learn the different image processing techniques like thresholding for better accurate results. Understanding what a Mat object is and how it can be manipulated is important.
Finally improve the accuracy of your algorithm, as sometimes lighting conditions make the difference between a good review and a dissatisfied user.
I want to do Face recoginition (Not Face Detection) in my Android and iOS app. I have studied a lot on Web and found following possible solutions:
1.) openCV: I don't want to go into writing my own API using this. Also, I don't have prior experience in JNI for Android.
2.) Betaface API So far this is good.
3.) Sky Biometrics is also Good.
Now, I am searching for the solution from 3-5 days and came to know that I can use above API (so far I have decided to purchase license for Sky Biometrics). And this API will provide me a list of Features for the faces it recognised.
But, Now I am confused That how to use these features and save in my local data base to recognise faces from the pictures.So My queries are following
1.) How to convert Face features to Actual working Face recognition API means What is the actual algo or solution I can use to merge diffrent face features of a same person to identify him correctly.
2.) Uploading images and then creating database for Face-features set is a very time taking process. Do any one knows any Android/iOS Face Recoginition SDK to do this so that I can do this accurately and timely with no or less time taking process.
3.) Both solution-2 and 3 can be used with Images. Is there any other solution is available which can do the same with less efforts but with more accuracy.
OpenBR may be also interesting for you: http://openbiometrics.org/
Finally I am using Rekognition API. And this is good enough to serve my purpose.
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've been thinking about working on an application. You take a picture of something at a yard sale and it compares it against an image database.
For example say you take a picture of a spoon, and compares the image taken against images in the database and throws back to the user the top 5 possible matches.
Is this possible with current Android?
If so point me in the right direction, for stuff I'd need.
Thanks,
abolbridge
Look forward to your guys feedback.
That is rather possible, but too much CPU consuming and therefore not possible on Android itself. You'd have to build a serverside application for that.
It is going to be hard though. Quite.
Take a look at Google Goggles for an idea. The image processing is entirely made on the server side.
Check out openCV, as it contains a lot of useful object recognition functions and can be used on android. However, this approach will push the limits of the phones CPU and more so, its memory when using higher resolution images. A server-side implementation may be more appropiate.