为了开发能够实时检测特定手部位置(或手部符号)的应用程序,我和我的团队在几个月前偶然发现了 haar 分类。我们认为这将是完成这项工作的理想工具。然而,我们在尝试创建自己的分类器时遇到了困难(我们使用的是 OpenCV)。他们大部分时间都没有捕捉到感兴趣的对象(见下面的第二个问题)。
我有两个关于这个问题的问题:
- 我们已经搜索了许多资源(我目前打开了一百万零一个标签),但似乎没有万无一失的方法来训练你自己的分类器。对于创建准确的分类器,同时允许灵活性(考虑性别差异、体重、手上的戒指等),有哪些指针非常宝贵?
- 我们尝试使用大量的正面(1000)和负面(3000)。
- 我们使用了不同的光照条件、不同人的手,以及手的角度略有不同。
- 我们改变了级联的级数
- 我知道 haar 分类器检测使用“haar-like”特征检测,使用由训练过程创建的阈值。由于训练过程创建了阈值,我的想法是在训练中使用的正图像上运行分类器总是会检测到我们在正样本中使用的图像。我尝试这样做,发现事实并非如此,我的正面图像中只有 5.8% 被发现包含该图像。我是否错误地假设理论上,我的 100% 的正面图像应该被他们训练的分类器检测到?还是培训过程出错了?
我们发现非常有用的一些来源是:
- http://note.sonots.com/SciSoftware/haartraining.html
- http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
当然还有 opencv 级联培训页面。
我感谢任何关于此事的帮助。非常感谢!