可以使用带有opencv的haarcascade手语吗?

时间:2014-04-03 15:21:03

标签: ios opencv image-processing

我正在做我需要检测/分类一些简单手语的项目。 我是opencv的新手,我尝试使用轮廓,船体,但似乎很难应用...... 我用谷歌搜索并找到方法调用“Haarcascade”,它似乎是关于拍照并创建.xml文件。

所以,我决定做Haarcascade ......

以下是我想要检测/分类

的手语的一些示例

Set1:http://www.uppic.org/image-B600_533D7A09.jpg

Set2:http://www.uppic.org/image-0161_533D7A09.jpg

我想要的结果是对这两组进行分类。 如果我可以使用haarcascade方法的任何建议

*我正在使用xcode和我的网络摄像头,但很快我就将它们移植到iOS设备上了。可能吗?

1 个答案:

答案 0 :(得分:0)

首先:我不会使用haar功能来学习整个图像。

让我们看看haar功能的外观:

enter image description here

让我指出学习是如何运作的。我们正在建立一个由许多弱者组成的分类器。分类。在近似中,每个弱者都会出现这种情况。分类器以这种方式构建,以查找有关几个haar功能的信息。为了简化,让我们先考虑其中一个来自边缘特征。在以某种方式学习期间,我们通过在整个输入训练图像上滑动此特征来计算阈值,使用特征作为掩模:我们在'之下对像素进行求和。功能的白色部分,总和像素'黑色部分,从其他部分减去一个值。在我们的例子中,如果训练图像上存在垂直边缘特征,阈值将给出信息。训练弱分类器后,重复使用不同的haar功能。每个弱分类器都提供有关不同特征的信息。

重要的是:我总结了培训如何描述哪种物体以这种方式训练有益。让我们选择最强大的应用程序 - 检测人脸。这是面子的一个重要特征:

  1. 它有一个具有恒久性的地标(它们与背景 - 皮肤不同)
  2. 地标的位置在每个面部彼此相关(例如,它们之间的距离近似是面部大小的某个因素)
  3. 这使得haar功能强大。如您所见,人们可以很容易地指出对于面部检测有用的haar功能,例如第一和第二线特征有利于检测鼻子。

    回到你的问题,问问自己你的问题是否具有特征1.和2.如果是整个图像,则有太多不必要的数据 - 背景,人物衬衫上的折叠,我们不会想要用噪音分类器。

    其次,我不会使用某些裁剪区域的haar功能。

    我认为手掌之间的区别对于haar分类器来说太少了。您可以从上面的描述中得出它。手掌没那么大差别 - 计算出的阈值水平太相似了。掌握给定手掌的最重要特征将是“边缘”和“边缘”。手指和手掌边缘之间。你可以依靠手掌的边缘 - 它取决于背景(墙壁,衣服等)。手指之间的边缘携带的信息太少。我声称因为我有掌握棕榈分类器的经验。它开始工作只有我们裁剪手指的手掌区域。