张嘴需要Haar Casscade xml吗

2024-04-20 13:41:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用Opencv-Haar-cascade检测一个张开的嘴。在

我用Haar-Casscade来检测口腔,但它一般都能检测到口腔。我需要区分闭嘴和张嘴。在


Tags: opencvcascade区分haar口腔casscade
1条回答
网友
1楼 · 发布于 2024-04-20 13:41:26

我有几个步骤来快速构建自己的haar级联分类器:

  1. 我总是想着我的训练样本的来源

尝试从flickr或{a2}等免费来源中提取显示不同张口的阳性样本。提取约30-50个阳性样本。使用gimp编辑它们,只获得开口而不是孔面。然后提取非口和闭口(约100个样本)。 这足以构建一个弱分类器(稍后再讨论)

  1. 克隆这个Github Repo,并按照自述文件.md.
    调整步骤5&7中的params-h-w(示例图像的大小),并减少numStages、numPos、numNeg(每个阶段使用,因此应该非常小)

现在,您已经为张嘴构建了自己的弱分类器,但它会检测到太多或有时也会检测到闭嘴,因此您需要更多的训练样本。但这次您可以使用弱分类器来创建它们。在

  1. 我用python编写了一个非常简单的示例提取器。克隆this Github repo,并将{}替换为您的。在data文件夹中添加一大组照片或人脸(可能是faces94 by Dr Libor Spacek)。并使用python sample_extractor.py开始提取。它将随机读取数据文件夹中的文件,并向您显示分类器发现“张嘴”的白色边界框。如果您左键单击方框,它们将变为绿色,矩形将被裁剪并添加到positives文件夹中。右击会将该框添加到negative文件夹中。单击中心mouse button将加载下一个随机数据图像。现在你可以快速创建训练样本了。我为各种细胞类型或有丝分裂检测训练了一个分类器,结果发现(我的个人经验)大约1000个阳性样本和~2000个样本是个不错的选择。在

相关问题 更多 >