我需要使用Opencv Haar级联来检测张开嘴。
我找到哈尔卡斯卡德的嘴巴,但它一般会检测到嘴巴。我需要区分闭嘴和张嘴。
答案 0 :(得分:1)
我有几个步骤可以快速构建我自己的haar级联分类器:
尝试从flickr或face databases等免费来源提取显示不同张口的阳性样本。提取~30-50个阳性样品。使用gimp编辑它们只得到张开的嘴而不是孔面。然后提取非嘴和闭合的mouthes(约100个样本)。 这足以构建一个弱分类器(稍后)
现在你已经为开口建立了自己的弱分类器,但是它会检测到太多或有时闭口,所以你需要更多的训练样本。但是这次你可以用你的弱分类器来创建它们。
cascade.xml
替换为您的data
。将大量照片或面孔(可能faces94 by Dr Libor Spacek)添加到python sample_extractor.py
文件夹。然后使用positives
开始提取。它会随机读取数据文件夹中的文件,并显示分类器找到“开口”的白色边框。如果您左键单击框,它们将变为绿色,并且矩形将被裁剪并添加到negative
文件夹中。 右键单击会将该框添加到mouse button
文件夹中。点击中心{{1}}将加载下一个随机数据图像。现在,您可以非常快速地为您创建训练样本。我训练了一种用于各种细胞类型或有丝分裂检测的分类器,结果证明(我的个人经验),~1000个阳性和~2000个样本将是一个不错的选择。