2

我正在实施 Viola-Jones 人脸检测来检测人脸。在使用 Adaboost 进行训练时,boosting round 会选择相同的 haar 特征。例如,如果(x,y,w,h,f,p)前三轮选择的 Haar-feature 是(0,0,4,2,1,0)(1,3,5,2,3,1)那么(2,4,7,2,4,1)对于剩下的一轮 boosting 它选择相同的 haar-feature,这样我选择的 Haar-feature 的列表就变成了,

[(0,0,4,2,1,0),(1,3,5,2,3,1),(2,4,7,2,4,1),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0)].

这里, x,y = x_y coordinate, w = width of Haar-feature, h = height of Haar-feature, f = feature type, p = parity of Haar-feature.

我的问题:

1)如果每一轮boosting选择相同的Haar-feature,我应该选择下一个具有相对最小误差的Haar-feature。

谢谢!

4

1 回答 1

3

不,你不应该。Adaboost 确实可以在每次 boosting 运行中多次选择相同的特征,但通常该特征将具有不同的权重值(alpha 值)。

您得到的结果可能有许多不同的原因。例如,您的 Adaboost 代码中可能存在错误。您的特征或弱分类器中也可能存在错误。或者你没有为你的提升算法提供足够的样本。或者,你的弱分类器太弱了。或者您的强分类器过拟合非常快。

于 2013-11-01T19:30:14.583 回答