how to train the new ICFDetector ?

asked 2014-09-14 15:23:48 -0500

berak gravatar image

updated 2014-09-14 16:36:11 -0500

there's a new ICFDetector class in the opencv_contrib repo, it seems to be a nice alternative to the CascadeClassifier (or latentsvm).

well, it comes with all the warts you'd expect from new functionality (hardcoded globs, featuretype), but apart from that, i'm struggling with the parameters for training it.

  • what should be the ratio of positive / negative images ? (there's this params.bg_per_image value, and the final negative count seems to be

    negative_imges_supplied * params.bg_per_image + positive_imges_supplied

    [also no idea, how those are finally 'synthesized', are they at all?])

  • what should be a good feature count ? (more is obviously better, but in what order ? 1000, 10000, 100000 ?)

  • do i need 'cropped' positives ? what about rotation ? would there be restrictions for 'negative' images as well ?

  • what is the difference between 'icf' and 'acf' features ?

  • i noticed that training a CascadeClassifier, subsequent stages take like exponentially longer, but this one seems to behave the opposite way - 1st stage takes longest, then it gets faster, in the end it stops because it seems to be running out of negatives here (since both are using boosting, that's weird to me)

  • tbh, i initially made a mistake, and used grayscale images for both pos/neg sets (being the only ones , that fitted the hardcoded glob patterns on my box), and got much nicer results than with color images now. (yea, call me confused)


resp. papers, again: 1 2

edit retag flag offensive close merge delete

Comments

1

I think this can be useful

thdrksdfthmn gravatar imagethdrksdfthmn ( 2014-09-15 04:09:51 -0500 )edit

indeed, thanks ;)

berak gravatar imageberak ( 2014-09-15 04:17:45 -0500 )edit