Ask Your Question
0

Cascade classifier training: object edges on positive samples?

asked 2018-02-15 12:46:32 -0600

I've trained two classifiers for square and rectangular objects on the same scene.

image description Square obj: (4,100 pos; 10,000 neg)

image description Rectangular obj: (25,000 pos; 50,000 neg)

The problem is: they have similar features and I'm getting some square false positives from rectangular objects. Like this case: image description

OpenCV 3 Blueprints (Howse, Puttemans, Hua, Sinha; 2015) says about training data for pedestrian and car detection:

The removal of all information that pollutes the training set, rather than helping it, such as color information, and simply using feature information that is more robust to all this intra-class variation such as edge information and pixel intensity differences.

I noticed that ~85% of my square positive samples were cut right by the edges, so, I got some approaches in mind:

  1. Training with a new square positive dataset where all edges are present, showing 5 to 10px of natural background. Like this: image description
  2. Add the false positives on rectangles to the square negative dataset.
  3. Add more square positive samples and repeat training.

Wich would be the best approach to get a lower square FP rate on rectangular objects? All, maybe?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
2

answered 2018-02-16 05:03:51 -0600

My first guess is that data of classifier one is not used as negative training data for classifier two. It will make it more difficult to converge to a stable model, but it will force the model to look for features that are not similar between both cases.

However, it might already be solvable by looking at the certainty of detections. I am quite sure that the sureness of the respons of model one on cases of model two is much lower than on detections of case one? How about putting a hard threshold there?

So basically

  • Your first approach might fail, because your inner features might be stronger than the outer rectangle compared to the background, still leading to false positive detections on the rectangular shapes.
  • Bootstrapping, your second approach is reasonable but double work. It requires you to train the initial model again.
  • Same for your third suggestion.

In my opinion you just need to use the data you have available.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2018-02-15 12:46:32 -0600

Seen: 264 times

Last updated: Feb 16 '18