Ask Your Question

How does the Transcascade collect negative samples?

asked 2016-06-17 04:45:47 -0500

caseyw775 gravatar image

updated 2016-06-29 21:32:37 -0500

Hi all,

e.g. -numPos 2000 -numNeg 1000 -numStages 10 -w 20 -h 20 -minHitRate 0.995, -maxFalseAlarmRate 0.2

I have some questions about collecting neg samples.

1.According to the answer of the article(opencv_traincascade Negative samples training method), is 800 negative samples will be recognize as NEG and 200 negative samples be recognize as POS by 0th stage? If Yes, will those 200 samples be picked up to the next stage?

2.About the source code imagestorge.cpp ->NegReader::nextImg

What is meaning of "round"? if the current negative image is 1000x1000 pixels, will the image be cropped to many 20x20 images and randomly resized to predict function? How does the procedure of collect negative samples?

3.Why does the process of "NEG current samples" always count slowly by the high-stages?

Thanks in advance!

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2016-06-29 14:35:10 -0500

can gravatar image

updated 2016-06-30 06:27:50 -0500

2) The negative grabber functions use a sliding window on negative images according to your model size (-w -h) and this is done each time when your image gets resized and it does this while maintaining the images original aspect ratio,otherwise you would end up with an artificial distortion which your original image didn't contain.

3) It is because your classifier starts to "learn" your dataset thus doing less mistakes on it.

edit flag offensive delete link more


Thanks for your response! I've understood what you said. But the variables in nextImg function makes me unclear on the whole procedure. It seems like random in the orderly.

caseyw775 gravatar imagecaseyw775 ( 2016-06-29 21:33:10 -0500 )edit

Question Tools

1 follower


Asked: 2016-06-17 04:45:47 -0500

Seen: 265 times

Last updated: Jun 30 '16