基于手势识别的人机交互系统设计报告

基于手势识别的人机交互系统设计报告

ID:44051040

大小:338.67 KB

页数:56页

时间:2019-10-18

基于手势识别的人机交互系统设计报告_第1页
基于手势识别的人机交互系统设计报告_第2页
基于手势识别的人机交互系统设计报告_第3页
基于手势识别的人机交互系统设计报告_第4页
基于手势识别的人机交互系统设计报告_第5页
资源描述:

《基于手势识别的人机交互系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第十二届智能控制设计大赛初级组之基于手势识别的人机交互系统盲僧队软件学院2015级软件6班潘文杰2017.5.19目录一、设计要求21.基本要求22.拓展要求33・完成事项说明3二、算法选择31.图像处理与手部区域分割3(1)由于不允许使用深度信息,所以选择通过肤色检测与分割来获取手。………3(2)为了应对复杂背景,采用背景差分的方法来去除相对静止不动的背景图像。3(3)由于进行人机交互时往往有人脸出现在摄像头范围内(当需要两只手共同操作时甚至是必须),所以我们不能忽视这个问题。在这里,我们采取haarcascade分类器进行人

2、脸检测,并移除人脸。32.手部特征提取3(1)通过凸包算法获得手部图像的凸包,再求出其凸缺陷,这种算法运算复杂度较低,利于实时性要求高的程序,而且,识别准确率也较高4(2)手势质心,可以较准确地定位手,捕捉手移动的轨迹。43・手势识别算法4(1)通过对有效凸缺陷点数量可以准确地识别剪刀、石头、布的手势。4(2)上一方法在识别的手势数量比较少的时候效果较好,但是当需要识别的手势数量变多的时候效果变得较差,所以在这种情况下,我采取了以手部图片的Hog特征、使用机器学习SVM算法进行分类,得到不错的效果。44•手势轨迹识别算法4(1)

3、采取隐马尔可夫模型对时序数据建模,进而识别手势轨迹。4三、程序设计4四、实验结果7五、总结8(1)8(2)8(3)9附录(程序代码〉七、参考文献52一、设计要求1.基本要求(1)基于摄像头获取的图像数据,实现手部检测;⑵实现拳头、剪刀、布三个手势的识别;(3)设计良好的人机界面,用于展示原始图像以及处理结果等信息;1.拓展要求(1)控制鼠标完成移动、单击、双击、拖动等操作;⑵控制电脑关屏、开屏;(3)设计锥子剪刀布游戏:播放提示语、判断胜负等;⑷实现空中手写轨迹识别;⑸其他拓展功能。2.完成事项说明(1)基于摄像头获取的图像数据

4、,实现手部检测;⑵实现拳头、剪刀、布三个手势的识别;(3)设计良好的人机界面,用于展示原始图像以及处理结果等信息;(4)控制鼠标完成移动、单击、双击、拖动等操作;⑸控制电脑关屏、开屏;(6)设计锥子剪刀布游戏:播放提示语、判断胜负等;⑺实现空屮手写轨迹识别;⑻实现控制电脑玩CS游戏算法选择1.图像处理与手部区域分割(1)由于不允许使用深度信息,所以选择通过肤色检测与分割来获取手。(2)为了应对复杂背景,采用背景差分的方法来去除相对静止不动的背景图像。(3)由于进行人机交互时往往有人脸出现在摄像头范围内(当需要两只手共同操作时甚至

5、是必须),所以我们不能忽视这个问题。在这里,我们采取haarcascade分类器进行人脸检测,并移除人脸。2.手部特征提取(1)通过凸包算法获得手部图像的凸包,再求出其凸缺陷,这种算法运算复杂度较低,利于实时性要求高的程序,而且,识别准确率也较高(2)手势质心,可以较准确地定位手,捕捉手移动的轨迹。3.手势识别算法(1)通过对有效凸缺陷点数量可以准确地识别剪刀、石头、布的手势。(2)上一方法在识别的手势数量比较少的时候效果较好,但是当需要识别的手势数量变多的时候效果变得较差,所以在这种情况下,我采取了以手部图片的Hog特征、使用

6、机器学习SVM算法进行分类,得到不错的效果。4•手势轨迹识别算法(1)采取隐马尔可夫模型对时序数据建模,进而识别手势轨迹。三、程序设计幵始图1基本流程框架图像采集图2图像预处理基本流程实验结果4MFCMyEyeXRobotPbyerDefeat?拎•瞬开屏/关屏取消

7、图3剪刀石头布图4控制鼠标图5控制玩CS1.63131削31・I>•31帀31团图6手势数据«W>f80•血五、总结(1)程序对于复杂背景和人脸干扰具有良好的鲁棒性,已经基本可以免除人脸干扰,但是仍存在手与脸相交时识别困难的问题,通过查论文发现大家对于这个问题的解答

8、大多数是通过使用深度相机等方式解决。(2)程序使用了YCrCb空间转换,能有效地减少光照亮度等干扰。(3)本文尝试多种方式对于基于手势识别的人机交互进行拓展,取得了良好的效果,并基于此开发了基于手势的剪刀石头布游戏、控制鼠标、手势轨迹识别、控制玩CS1.6,也取得了不错的效果。六、附录(程序代码)//Control.h#pragmaonce#include#includettincludcusingnamespacestd;classContori{public:

9、Contorl();CPointmousePos;voidsetMousePos(intx,inty):voidsetMousePosOffset(intx,inty);voidleftDownO;voidleftUpO;voidrightDownO:voidr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。