Fingerprint Extraction for Matching & Tracking

There have been several questions, requests and discussions regarding which is the proper way to add images to the image matching and tracking pool with our SDKs. Here I’m going to do a brief summary of strengths and weakness of each option:

1.) Add normal images from the device resources (locally) or from URL (remote):

  •  API Functions:

ANDROID

Local

addImage (int resourceId)

addImage (int resourceId, int uniqueId)

addImage (Bitmap bmpImage, int uniqueId)

addImage (Bitmap bmpImage)

Remote

addImage (String imageURL)

addImage (String imageURL, int uniqueId)

IOS:

Local

addImage:

addImage:withUniqeID:

Remote

addImageFromUrl:

addImageFromUrl:withUniqeID:

  • Strengths:

- Images can be added “on the fly”

  • Weakness:

-The process of feature extraction is done locally on the device and can take some time when there are a lot of images in the pool (80+).

2.) Add pre-trained images (.dat files).

Images can be trained here:  http://developers.arlab.com/immtraining

  • API functions:

 

ANDROID:

Local

addImageFromData (String dataSdPath)

addImageFromData (String dataSdPath, int id)

addImageFromDataThrougStream (InputStream stream)

addImageFromDataThroughStream (InputStream stream, int id)

Remote

addImageFromDataThroughUrl (String url)

addImageFromDataThroughUrl (String url, int id)

IOS:

Local

addImageFromData:

addImageFromData:withUniqeID:


Remote

addImageFromDataThroughUrl:

addImageFromDataThroughUrl:withUniqeID:

We have 2 kinds of pre-trained images: “light” vs “heavy”

  • Strengths “light”:

- Size around 13kb

- No feature extraction -> ultra fast adding to the pool

- Recommended for matching

  • Weakness “light”:

- Worst for tracking. The obtained initial corners are less accurate that the ones you can get with the “heavy” .dat type.

  • Strengths “heavy”:

- Stores big amount of information

- Recommended for tracking

  • Weakness “heavy”:

- Size around 300kb

By now the pre-trained images can not be generated “on the fly”, but soon (by the end of 2012) we are going to release our Visual Search Cloud Engine that will let you match against huge pools of images on the cloud. At this point a full Cloud API will be released so that not only images can be matched, but also pre-trained on run time.

All our SDKs will take advantage of the cloud power, matching and train images will be followed by remote 3D and video rendering and much more.

Do not forget to check out our AR Browser and Image Matching SDKs.

Tags: , , ,
Posted on: No Comments

Leave a Reply