My personal opinion is that you should look into LBP for all detection related tasks simply because LBP training can take minutes while HAAR training can take days for the same training data set and parameters.
The question you have asked will have a different performance depending on the type of thing being detected, the training settings and the parameters used during detection as well as the criteria for testing the cascades.
The accuracy of both HAAR and LBP cascades depend on the data sets (positive and negative samples) used for training them and the parameters used during training.
according to Lienhart et al, 2002, in the case of face detection:
- your
-numStages
, -maxDepth
and -maxWeakCount
parameters should be sufficiently high to achieve the desired -minHitRate
and -maxFalseAlarmRate
.
- tree based training is more accurate than stump based,
- gentle adaboost is preferable to discrete and real adaboost,
- the min size of training sample matters but a systematic study about it has yet to be done.
also, flags used in detectMultiScale() yield a drastic change in speed as well as accuracy on a given hardware configuration.
for testing the cascade you should settle on a data set and a method such as k-fold cross validation.