Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image recognition without using internet

I want to scan image from camera and compare it with preloaded images. I want to recognize the scanned image.

Example: I will save this image within my app and when I scan such image, I want to recognize it.

enter image description here
(source: iconarchive.com)

Is there any library or SDK available to achieve above feature without using Internet while recognition process?

I have tried with opencv but I am not getting promising result and performance. I don't mind to use any paid SDK also.

Note : I want to achieve it when user don't have internet.Everything should be working in offline mode.

like image 316
Mehul Joisar Avatar asked Mar 20 '15 06:03

Mehul Joisar


People also ask

What are some examples of image recognition technology?

The most common example of image recognition can be seen in the facial recognition system of your mobile. Facial recognition in mobiles is not only used to identify your face for unlocking your device; today, it is also being used for marketing.

Is image recognition an AI technology?

1. Image Recognition AI used in visual search. Visual search is a novel technology, powered by AI, that allows the user to perform an online search by employing real-world images as a substitute for text. Google lens is one of the examples of image recognition applications.

Is there an app for image recognition?

The Google Goggles app was an image recognition mobile app using visual search technology to identify objects through a mobile device's camera. Users take a photo of a physical object, and Google searches and retrieves information about the image.


2 Answers

[EDIT: Moodstocks has been acquired by Google and no longer offers these services]

[Disclaimer: I work for Moodstocks]

You should have a look at the Moodstocks SDK: it offers the ability to perform image recognition directly on-device.

In practice, your part of the work will consist in:

  • uploading the images you intend to recognize on the Moodstocks API,
  • integrating the Moodstocks SDK into your Android app.

From your users' point of view now: they will need to connect to the internet at most [1] one time. The first time they open the app, the Moodstocks SDK will take care of synchronizing the image signatures required for recognition from our servers directly onto the device. Once this is done, the Moodstocks SDK will be able to instantly recognize any of the image, completely offline!

You can refer to our documentation for more additional details.


[1]: if you need your app to work completely offline, the image signatures can be bundled directly within the application. This removes the need for an initial internet connection!

like image 76
mbrenon Avatar answered Sep 17 '22 03:09

mbrenon


Another solution is Vuforia. They provide a recognition library that you can integrate in your application. The only downside is that you have to upload the images that you want to recognize on their website in order to obtain the 2 files (XML and DAT - where the image descriptors are stored). The DAT file is used by the library to compare against the images you provide (camera frames for example) and the XML file contains the name and the size of each target image that you upload on their website; when an image is recognized the library returns the name of the image that has been stored in the XML file. So once you have the files everything is performed locally (on the device = offline). I've tested the library and as you might already heard, the solution is very fast and robust. They also provide the transformation matrix in case you want to track the recognized target image.

like image 45
Traian Avatar answered Sep 18 '22 03:09

Traian