Haar Cascade Training 中 numPos 可以是负数吗
Can numPos be a Negative Number in Haar Cascade Training
我正在尝试自己的 haar 级联分类器 我有 2139 张正面图像 但是我有 16000 张负面图像 这是对的吗?所以我有一个负 numPos
因为:
numPos<=(正样本-负样本)/(1+(阶段数-1)(1-minhitrate)))
所以:
(2139-16000)/(1+(17-1)(1-0.995))=-12834
这是正常的??
不,numPos与你的负样本无关。 numPos 是您要在每个阶段使用的阳性数。这必须比您的阳性样本总数少一点,因为您将在每个阶段丢失所有假阴性(=分类器不再错误检测到的阳性样本)。
例如,如果您将 numPos 设置为 1000 并将 minHitRate 设置为 0.999,您将在每个阶段丢失最多 1 个正样本 (1000 - 1000*0.999)。因此,如果您想计算 2 个阶段,则在选择 numPos = 1000 时最多需要 1001 个样本。
对于 20 个阶段,我粗略地选择 numPos 作为我的正样本的 90%,尽管这对于 minHitRate 0.999(适合 0.995 相当合适)来说太悲观了。如果你想计算 best/max 保存值,openCV Q&A 中有一个公式。
我正在尝试自己的 haar 级联分类器 我有 2139 张正面图像 但是我有 16000 张负面图像 这是对的吗?所以我有一个负 numPos 因为: numPos<=(正样本-负样本)/(1+(阶段数-1)(1-minhitrate))) 所以: (2139-16000)/(1+(17-1)(1-0.995))=-12834 这是正常的??
不,numPos与你的负样本无关。 numPos 是您要在每个阶段使用的阳性数。这必须比您的阳性样本总数少一点,因为您将在每个阶段丢失所有假阴性(=分类器不再错误检测到的阳性样本)。
例如,如果您将 numPos 设置为 1000 并将 minHitRate 设置为 0.999,您将在每个阶段丢失最多 1 个正样本 (1000 - 1000*0.999)。因此,如果您想计算 2 个阶段,则在选择 numPos = 1000 时最多需要 1001 个样本。
对于 20 个阶段,我粗略地选择 numPos 作为我的正样本的 90%,尽管这对于 minHitRate 0.999(适合 0.995 相当合适)来说太悲观了。如果你想计算 best/max 保存值,openCV Q&A 中有一个公式。