What is MobileEngine?

MobileEngine is a reverse image search engine optimized for mobile images. It can match images taken by a mobile phone against your collection of photos or product images. MobileEngine is designed to take into account common effects that occur when taking photos with mobile devices, including:

  • arbitrary rotation
  • occlusion
  • perspective projection
  • changes in lighting conditions
  • warps or blurs
  • flips
  • crops

MobileEngine uses robust image fingerprinting and search algorithms, and is capable of performing very fast and accurate searches against large image sets. In the example below, the image on the left is the query image and the images on the right are the matches found, with relevance scores included:

_images/dedup_diagram.jpg

How does it work?

MobileEngine works by creating and comparing digital fingerprints of images. These unique digital fingerprints describe the patterns found in the pixels of the images. MobileEngine is able to identify even partial matches of these fingerprints.

MobileEngine creates an index of all your images’ fingerprints for reference and stores them in an internal database. API calls are used to add images to the index and to search through existing images.

Note that MobileEngine cannot extract fingerprints from images with no content (like solid color images) or from very small images. An error message will be returned if an attempt is made to index or search for an image that cannot be fingerprinted.

For MobileEngine to recognize an image it is searching for, there must be some identical portions of the images that match. MobileEngine will not recognize:

  • different photos of the same people (i.e., face recognition);
  • different photos of the same 3D object;
  • UPC or QR codes.