opencv - 在Haar级联训练中numPos可以为负数吗

标签 opencv haar-classifier

我正在尝试自己的haar级联分类器,我有2139个正像,但是我有16000个负像,对吗?所以我有一个负numPos
因为:
numPos <=(正样本-负样本)/(1+(阶段数-1)(1-最低分数)))
所以:
(2139-16000)/(1+(17-1)(1-0.995))=-12834
这是正常的??

最佳答案

不,numPos与您的阴性样本无关。 numPos是您要在每个阶段中使用的正数。这必须比阳性样本总数少一点,因为在每个阶段中,您将丢失所有假阴性(=分类器错误地不再检测到的阳性样本)。

例如,如果将numPos sr设置为1000,将minHitRate sr设置为0.999,则每个阶段最多丢失1个正样本(1000-1000 * 0.999)。因此,如果要计算2个阶段,则在选择numPos = 1000时最多需要1001个样本。

在20个阶段中,我大致选择numPos作为我的阳性样本的90%,尽管对于minHitRate 0.999而言过于悲观(非常适合0.995)。如果要计算最佳/最大保存值,则openCV问答中有一个公式。

关于opencv - 在Haar级联训练中numPos可以为负数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44337461/

相关文章:

c++ - OpenCV 加载 CIE L*a*b* 图像

c++ - OpenCV 透视校正和裁剪

java - 我们可以在 android 上运行 opencv java 吗?

machine-learning - 为什么在训练中使用负图像?

python - Python Opencv颜色范围直方图

apk - App Bundle 是否足够,或者 APK 分割是否足以减少 APK 大小?

opencv - OpenCV 中训练有素的级联

python - 如何提高OpenCV中Haar级联的准确性?

OpenCV Haar 分类器被杀死

javascript - Haar.js 将 open cv xml 转换为 javascript