【发布时间】:2013-10-09 22:19:58
【问题描述】:
我正在实施 Viola-Jones 人脸检测算法,但对 haar 特征阈值有点困惑。我正在使用跟随计算 haar-feature 的阈值。步骤:
a) 计算同一位置的所有正(人脸)图像中的 haar-feature 值。 b) 获取介于最小特征值和平均特征值之间的所有特征值得到列表,MinToAvg = [] c) 对于 MinToAvg 中的每个值,对数据(正和负)进行分类并获得 pos 的数量。图像(Pos.)它分类为面部和误报数(FP)。 d) 特征值被认为是特定特征的阈值 我得到最大值(Pos-FP)。
对于每一轮提升,Haar 特征的阈值保持不变,相反,Viola-Jones 论文中讨论的 Haar 特征的阈值随着每一轮提升而变化。
我的问题是: 1)我在计算 Haar 特征阈值的方法是否正确? 2) 每轮提升的门槛需要改变吗?
我正在使用 Python。
谢谢!
【问题讨论】:
-
看来您与 Viola 和 Jones 所做的事情相差甚远。你能澄清你的问题吗?很难理解你的意思。
-
哦,您可能正在寻找的内容在 Freund 和 Schapire 的书“Boosting: Foundations and Algorithms”的第 3.4.2 节中有详细介绍。顺便说一句,您目前可以在亚马逊上预览本书的部分内容。
-
仔细阅读 Viola 和 Jones 的“鲁棒实时人脸检测”第 3.1 节可能会给您一些启示。此外,您可能会发现阅读“Fast Asymmetric Learning for Cascade Face Detection”第 4.2 节很有用。
-
@Ramiro:我的做法与 Viola-Jones 相同,但阈值计算不同。在“鲁棒实时人脸检测”第 3.1 节中描述的 Viola-Jones 中,Haar 特征的阈值是在每一轮提升中计算的,而我是在提升开始之前计算每个 haar 特征的阈值。对于每个强分类器,这只是一次。每一轮提升对 haar 特征使用相同的阈值。
-
从您在问题中所写的内容来看,您所做的似乎与 Viola 和 Jones 为设置弱分类器阈值所做的完全不同。我不确定,所以我请你澄清你的解释。像 Viola 和 Jones 的工作中使用的决策树桩在每一轮都设置了阈值,因为训练数据的权重在每一轮提升中都会发生变化。这样一来,您的最佳弱分类器阈值也可能与前几轮有很大不同。你当然可以为每个分类器设置一个固定的阈值,但我敢打赌它的性能会很差。
标签: threshold adaboost haar-wavelet viola-jones