我正在尝试使用OpenCV和Haar级联来制作手部检测程序。它工作得很好,但它非常生涩。因此,我问自己这是否是haar文件的麻烦太过“便宜”,或者是否有办法通过使用轮廓或特征检测(或可能是其他一些技术)来改进检测。
我想要执行的操作与此人脸检测相同,但对于手:Face Detection (see FaceOSC)
非常感谢。
编辑:这是我想做的事情:Hand extraction他似乎用轮廓检测来执行它,但是如何找到手?答案 0 :(得分:3)
The Hand Extraction video,你给出的链接,是基于肤色检测和凸壳发现。
1)将图像更改为YCrCb(或HSV)。
2)对图像进行阈值处理,使手变为白色,其他一切变为黑色。
3)去除噪音
4)找到手的中心(如果你愿意)。
5)使用凸包来找到最尖端的指尖。
您可以从paper获取完整的详细信息。
无论如何,不需要哈尔级联。
答案 1 :(得分:0)
显然,如果基于HAAR分类器的检测结果变成所谓的“生涩”,在我看来这意味着检测不稳定并跳过检测图像,那么问题在于分类器的质量< /强>
只要有足够的正/负样本,比方说5k / 5k,结果应该非常强大。根据我的经验,我使用了700个正面手势样本和1200个负面样本,结果似乎在一定程度上得到满足。但在我使用另一组8000个阳性样本和10200个包含不同特征的阴性样本后,结果甚至比前者更差。
因此,我建议您仔细重置训练样本,例如比率,内容特征和颜色。