Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to establish data base for object detection?

I want to set up an object detection based on camera images. The idea is that I start with an empty database and subsequently add objects into it with the camera. So far I have a tracking algorithm (https://code.google.com/p/opencv-cookbook/source/browse/trunk/Chapter%2010/featuretracker.h?r=2) (modified but basically the same).

What I am now not sure about is, how to set up the database.

The idea is the following:

I am detecting SIFT feature points (lets say frame1 1000 FeaturePoints(FPs)) in the first frame. In the subsequent frame2 I am taking over the features I recognized in frame1 due to the tracking algorithm (say 500). With this 500 I go to frame3 and take over those FPs I can track from frame2 (say 400) and so on. This means that the number of feature points in constantly dropping over the frames.

Similar to the Algorithm I want to introduce two thresholds of say 100FPs and 40FPs. If I undergo 100Fps (assume this happens in frame6) - then I start to detect again SIFT features in frame6 and push the points with that back to 1000. Unless the drop is so high that I do not only undergo 100 FPs but also 40FPs in frame6 then I consider this frame to show a new Object.

Let's say I have to refresh my FPs every 6 frames and after 7 refreshs I drop below 40 and want to classify the object. This means I have recognized 7000 Fps for Object 1. But many of them are very similar or even the same. Therefore I thought about putting this FPs into an SVM to learn the object. Now the question is what kind of SVM is the best for my purpose. I cannot do a "negative training", means I have no images which are showing the wrong object to train the classifier. I could do that once I have detected a few objects.

Additionally I want to save my results on the hard disk so that I can load them and proceed another time learning/matching other objects.

I hope my problem became clear and somebody can give me inspiration or good advice how to proceed.

Best Regards