我正在尝试通过使用 OpenCV 和 Haar 级联来制作手部检测程序。它工作得很好,但它很生涩。所以我问自己这是否是 haar 文件太“便宜”的问题,或者是否有办法通过使用轮廓或特征检测(或者可能是其他一些技术)来改进检测。
我想执行的操作与此人脸检测相同,但对于手:人脸检测(请参阅 FaceOSC)
非常感谢。
编辑:这是我想做的事情:手提取似乎他通过轮廓检测执行它,但是如何找到手?
我正在尝试通过使用 OpenCV 和 Haar 级联来制作手部检测程序。它工作得很好,但它很生涩。所以我问自己这是否是 haar 文件太“便宜”的问题,或者是否有办法通过使用轮廓或特征检测(或者可能是其他一些技术)来改进检测。
我想执行的操作与此人脸检测相同,但对于手:人脸检测(请参阅 FaceOSC)
非常感谢。
编辑:这是我想做的事情:手提取似乎他通过轮廓检测执行它,但是如何找到手?
您提供链接的手部提取视频基于肤色检测和凸包查找。
1)将图像更改为 YCrCb(或 HSV)。
2)阈值图像,使手变成白色和黑色以外的一切。
3) 去除噪音
4)找到手的中心(如果你喜欢)。
5)使用凸包找到最尖锐的点,即指尖。
您可以从本文中获得完整的详细信息。
无论如何,不需要 haar 级联。
显然,如果基于 HAAR 分类器的检测结果变成所谓的“生涩”,在我看来,这意味着检测不稳定并在检测图像周围跳跃,那么问题就在于分类器的质量。
只要有足够的正/负样本,比如说 5k/5k,结果应该已经相当稳健了。根据我的经验,我使用了 700 个正手势样本和 1200 个负样本,结果似乎在某种程度上令人满意。但是在我使用了另一组包含不同特征的 8000 个正样本和 10200 个负样本后,结果比前者还要差。
所以,我建议你仔细重置你的训练样本,比如比率、内容特征和颜色。