【问题标题】:Sign language using haarcascade with opencv, possible?使用带有opencv的haarcascade的手语,可能吗?
【发布时间】:2014-05-15 13:01:39
【问题描述】:

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

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

以下是一些我想要检测/分类的手语示例

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

第二组:http://www.uppic.org/image-0161_533D7A09.jpg

我在这里想要的结果是对这两组进行分类。 如果我可以使用 haarcascade 方法有什么建议

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

【问题讨论】:

  • 输入/训练数据是什么?包含人或手掌/手等裁剪区域的整个图像?
  • 我决定使用这些图片(在链接中)作为训练数据。可能吗?还是我最好用一些剪掉的手掌/手?

标签: ios opencv image-processing


【解决方案1】:

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

让我们看看 haar 特征是什么样子的:

让我指出学习是如何运作的。我们正在构建一个由许多“弱”分类器组成的分类器。近似地,每个“弱”分类器都是以这种方式构建的,以找出有关几个 haar 特征的信息。为简化起见,让我们先看看其中的一个,第一个来自边缘特征。在以某种方式进行学习期间,我们通过将该特征滑动到整个输入训练图像上来计算阈值,使用特征作为掩码:我们对特征的白色部分“下方”的像素求和,对像素求和'under' 黑色部分并从另一个值中减去一个值。在我们的例子中,阈值将给出一个信息训练图像上是否存在垂直边缘特征。在训练弱分类器之后,您使用不同的 haar 特征重复该过程。每个弱分类器都会提供有关不同特征的信息。

什么是重要的:我总结了训练是如何工作的,以描述什么样的对象适合以这种方式训练。让我们选择最强大的应用程序 - 检测人脸。脸有一个重要的特征:

  1. 它有一个对比鲜明的地标(它们不同于背景 - 皮肤)
  2. 地标的位置在每个人脸中都相互关联(例如,它们之间的近似距离是人脸大小的某个因素)

在这种情况下,这使得 haar 功能强大。如您所见,可以很容易地指出对人脸检测有用的 haar 特征,例如第一线和第二线特征有利于检测鼻子。

回到你的问题,问问你自己你的问题是否有特征 1. 和 2。如果是整个图像,有太多不必要的数据 - 背景、人的衬衫上的褶皱,我们不想用它来噪声分类器.

其次,我不会使用来自某些裁剪区域的 haar 特征。

我认为手掌之间的差异对于 haar 分类器来说太小了。你可以从上面的描述中得出。手掌差别不大——计算的阈值水平太相似了。 haar 在给定手掌上最重要的特征将是手指和手掌边缘之间的“边缘”。您不能依赖手掌的边缘 - 它取决于背景(墙壁、衣服等),并且手指之间的边缘承载的信息太少。我声称这是因为我有学习手掌的 haar 分类器的经验。只有当我们裁剪包含手指的手掌区域时,它才开始起作用。

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 2013-10-25
    • 2021-06-11
    • 2015-06-28
    • 2023-04-11
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多