简体   繁体   English

使用带有OpenCV的haarcascade的手语,可能吗?

[英]Sign language using haarcascade with opencv, possible?

I'm doing my project which need to detect/classify some simple sign language. 我正在做我的项目,需要检测/分类一些简单的手语。 I'm new to opencv, I have try to use contours,hull but it seem very hard to apply... I googled and find the method call "Haarcascade" which seem to be about taking pictures and create .xml file. 我是opencv的新手,我尝试过使用轮廓线,船体,但是似乎很难应用...我在Google上搜索并找到了名为“ Haarcascade”的方法,该方法似乎与拍照并创建.xml文件有关。

So, I decide to do Haarcascade...... 所以,我决定去Haarcascade……

Here are some example of the sign language that I want to detect/classify 这是我要检测/分类的手语的一些示例

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

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

The result I want here is to classify these 2 set. 我在这里想要的结果是对这两个集合进行分类。 Any suggestion if I could use haarcascade method with this 如果我可以使用haarcascade方法的任何建议

*I'm using xcode with my webcam, but soon I'm gonna port them onto iOS device. *我正在将xcode与我的网络摄像头一起使用,但是很快我要将它们移植到iOS设备上。 Is it possible? 可能吗?

First of all: I would not use haar features for learning on whole images. 首先:我不会使用Haar功能来学习整个图像。

Let's see how haar features look like: 让我们看看haar功能的外观:

在此处输入图片说明

Let me point out how learning works. 让我指出学习是如何进行的。 We're building a classifier that consists of many 'weak' classifiers. 我们正在构建一个包含许多“弱”分类器的分类器。 In approximation, every 'weak' classifier is built in such way to find out information about several haar features. 近似地,每个“弱”分类器都是以这种方式构建的,以找出有关若干哈尔特征的信息。 To simplify, let's peek one of them to consideration, a first one from edge features. 为简化起见,让我们偷看其中的一个,首先是边缘功能。 During learning in some way, we compute a threshold value by sliding this feature over the whole input training image, using feature as a mask: we sum pixels 'under' the white part of the feature, sum pixels 'under' black part and subtract one value from other. 在以某种方式学习期间,我们使用特征作为遮罩,通过在整个输入训练图像上滑动此特征来计算阈值:我们将特征的“白色”部分以下的像素相加,将“黑色的”部分以下像素相加并减去一个价值来自其他。 In our case, threshold value will give an information if vertical edge feature exists on the training image . 在我们的情况下, 如果训练图像上存在垂直边缘特征 ,则阈值将提供信息。 After training of weak classifier, you repeat process with different haar features. 训练了弱分类器后,您将重复使用不同的haar功能的过程。 Every weak classifier gives information about different features. 每个弱分类器都提供有关不同功能的信息。

What is important: I summarized how training works to describe what kind of objects are good to be trained in such way. 重要的是:我总结了培训是如何工作的,以描述什么样的对象适合以这种方式进行培训。 Let's pick the most powerful application - detecting human's face. 让我们选择最强大的应用程序-检测人脸。 There's an important feature of face: 人脸有一个重要特征:

  1. It has a landmarks which are constrastive (they differ from background - skin) 它具有引人入胜的地标(与背景不同-皮肤)
  2. The landmark's locations are correlated to each other in every face (eg distance between them in approximation is some factor of face size) 地标的位置在每个面孔中都相互关联(例如,它们之间的距离近似是面孔大小的某个因素)

That makes haar features powerful in that case. 在这种情况下,这使haar功能强大。 As you can see, one can easily point out haar features which are useful for face detection eg first and second of line features are good for detection a nose. 如您所见,一个人可以轻松指出对人脸检测有用的哈尔特征,例如,第一和第二个特征对检测鼻子有好处。

Back to your problem, ask yourself if your problem have features 1. and 2. In case of whole image, there is too much unnecessary data - background, folds on person's shirt and we don't want to noise classifier with it. 回到您的问题,问自己问题是否具有特征1.和2.如果整个图像都包含过多的不必要数据-背景,人的衬衫上的褶皱,并且我们不想对其进行干扰分类。

Secondly, I would not use haar features from some cropped regions. 其次,我不会使用某些裁剪区域的哈尔特征。

I think the difference between palms is too less for haar classifier. 我认为手掌之间的区别对于haar分类器而言太少了。 You can derive that from above description. 您可以从上面的描述中得出。 The palms are not different so much - the computed threshold levels will be too similar. 手掌相差无几-计算的阈值水平将太相似。 The most significant features for haar on given palms will be 'edges' between fingers and palm edges. 给定手掌上haar的最重要特征将是手指和手掌边缘之间的“边缘”。 You can;t rely on palm's edges - it depends from the background (walls, clothes etc.) And edges between fingers are carrying too less information. 您不能依靠手掌的边缘-它取决于背景(墙壁,衣服等),并且手指之间的边缘承载的信息太少。 I am claiming that because I have an experience with learning haar classifier for palm. 我声称这是因为我有学习掌上Haar分类器的经验。 It started to work only if we cropped palm region containing fingers. 仅当我们修剪包含手指的手掌区域时,它才开始起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 iOS OpenCV haarcascade用于其他面部情绪 - iOS OpenCV haarcascade for other facial emotions 使用Swift语言将OpenCV集成到Xcode中 - Integrate OpenCV into Xcode using Swift Language 使用autolayout可视化格式语言可以将视图的宽度设置为等于同一视图的高度吗? - Using the autolayout visual format language is it possible to set the width of a view equal to the height of the same view? 使用本地语言构建混合应用程序时,是否可以将Web代码放在本地? - Is that possible to put web code locally when building hybrid apps using native language? 使用Devise进行iOS应用的注册,登录和注销 - Using Devise to sign up, sign in and sign out with an iOS app 苹果使用android登录 - Apple sign in using android 如何在iOS键盘按键上显示美国手语(手势)? - How to show American Sign Language (Hand Signs) on iOS Keyboard Keys? iOS集成中Google登录页面中显示的未知语言 - Unknown language displays in Google Sign-in Page in ios integration UILabel中不可见的百分号-可能的错误 - Invisible percent sign in UILabel - possible bug 在应用 RTL 中实现不同语言的 Apple 登录按钮 - Implement Apple Sign in button for different language in app RTL
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM