Fastest moving object recognition and tracking in Android

Sujith picture Sujith · Mar 21, 2014 · Viewed 9.5k times · Source

I am working on an augment reality game, which need to recognize and track a fast moving object. I have tried the following Image processing libraries,

1. Opencv

2. BoofCv

3. FastCv

I have tried TLD algorithm to track the object, tracking was successful but the performance was really needed to be improved. If the object is moving faster the result takes time, because of the processing time taken by the algorithms. I have also tried circulant,mean-shift like algorithms with boofcv.

Check these demos :

OpenTLD using FastCv

Boofcv Demonstration

Object tracking in these two demos seems to be good but the calculation takes time.

Can i go with the following scenario to do this faster,

  1. Extract the r,g,b matrix of object to be tracked

  2. Take camera frames and convert it into a r,g,b matrix and search the tracked object matrix with in the camera frame.

Is there is any better way to do this ??

Answer

VicM picture VicM · Mar 22, 2014

I suggest using gray scale instead of RGB, like it is usually done in image processing that way your computation is reduced to 1 matrix instead of 3.

If you need to check for color, just use rgb when needed but not through out the whole computation.

Tracking fast moving objects is always difficult. Try using a camera that can take more frames per second although you need to process more images and I suppose you are on a mobile device

Also what you can do is to reduce the image size being processed to a smaller window based on the previous object position you can estimate the next position and limit it to a certain vecinity and only process that bits of the image. In brief perform optical flow only in certain section of the image (use gray scale).