Ask Your Question

RejectLevels and LevelWeights of detectMultiscale

asked 2016-12-02 04:27:44 -0600

DerrickB gravatar image

Hello everybody,

can somebody explain the the meaning behind the two values "RejectLevels" and "LevelWeights"?

My research made me come to the conclusion that "RejectLevels" should return the stage in which the object was sorted out and "LevelWeights" should return an value comparable to a confidence.

My experience is:

If a object is found LevelWeights returns the amount of stages i trained the classifier with (this is logical, because the object has passed all stages) but if no object is found LevelWeights remains empty. So i cant get any information out of this value??

The value RejectLevels returns for every found object a value like 2.3345455. But i cant see any meaning or structure behind it, it seems random for me.

Can somebody explain this to me?

Thank you very much,

Kind regards,


edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2016-12-02 07:01:30 -0600

In earlier ages, (rejectLevels) returned the stage on which the sample was rejected, because there was an arbatrary value where detections from the last 4 stages were returned. However, that seems stupid, since building a 20 stage classifier should not return windows of stage 16-17 which are rejected there.

Until the backend is properly rewritten and thus rejectLevels gives you the rejection of every single window evaluated, it will be left as is and not working. However internally the overload with the numDetections parameter is already using this bogus vector to store its data.

Levelweights is the confidence value of the classification on that stage only, so for now on the final stage. If it is the same value for each object, then something is wrong, because values tend to change here :)

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-12-02 04:27:44 -0600

Seen: 2,385 times

Last updated: Dec 02 '16