Android移动终端的手势识别与控制系统

上传人:s9****2 文档编号:473681787 上传时间:2023-04-27 格式:DOC 页数:31 大小:1.05MB
返回 下载 相关 举报
Android移动终端的手势识别与控制系统_第1页
第1页 / 共31页
Android移动终端的手势识别与控制系统_第2页
第2页 / 共31页
Android移动终端的手势识别与控制系统_第3页
第3页 / 共31页
Android移动终端的手势识别与控制系统_第4页
第4页 / 共31页
Android移动终端的手势识别与控制系统_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Android移动终端的手势识别与控制系统》由会员分享,可在线阅读,更多相关《Android移动终端的手势识别与控制系统(31页珍藏版)》请在金锄头文库上搜索。

1、Android移动终端的手势识别与控制系统李干(安徽大学,合肥)摘要:本系统基于android 2.3.5版本,是一个能通过手势对手机等android设备进行操作的系统。手势与自然语言相同,能表达复杂信息,选择手势进行人机交互,不存在信息交流的困难。主要的手势识别是通过色觉来实现的,通过肤色检测,在采集到的yuv格式图像进行条件判别,能确定手势的区域,得出二值化图像,这种方法比RGB和HSV省去了转换过程,提高了识别精度和速度。得到的二值图像是一个很大的数据,首先是信息提取,从中提取出W*H像素点的得到量化区域,对量化后的数据进行边缘确定,边界是用一种简单有效的边缘算法进行检测,最后通过边缘轮

2、廓确定指尖位置,对指尖位置进行跟踪和处理,可完成操作。采用指尖进行操控,指尖的轨迹和不同指尖间的配合,可以完成目前常用的操作。不采用整个手势进行识别,因为目前的针对复杂手势的识别方法还不成熟,无法进行精确的复杂手势识别,而对于移动终端,也不需要进行很复杂的操控,这样既增加了识别速度,也简化了操作。关键词:移动终端 手势识别 android 边缘检测 指尖控制 目录1引言32现状及作品介绍42.1 现状42.2 作品介绍(核心)53 Android平台及其camera框架73.1 android平台构架分析7应用程序层8应用程序框架8Android运行时9Linux内核93.2 camera框架

3、93.2.1 框架概况103.2.2 框架代码结构114手势分割策略134.1 手势分割常用方法134.2 色彩空间选取144.2.1 RGB色彩空间144.2.2 YCrCb色彩空间154.3 边缘检测204.3.1 canny 边缘检测204.3.2 原创边缘检测算法225指尖检测策略256 部分算法26(1):边缘检测:26(2):二值化:297创新点30(1)应用创新30(2)分割方法30(3)指尖控制30(4)算法318附录311引言人对手机的依赖已经越来越严重,这种现象在大学校园尤为普遍。吸引人们关注手机的,早已不只是简单的收发信息,打电话着一些基本功能了,应用的爆发式增长,满足了

4、人们对手机各种功能上的需求,而满足人们感官上需求的,就是良好的人机交互了。在目前广泛使用的图形接口中,主要的输入方式还是物理键盘和触屏输入,当然,触屏技术凭借其优点在移动终端占据主流。然而,社会依然在发展,尤其是计算机领域,发展的尤为迅速,就像2007年那样,谁也没想到过触屏和智能会带来手机行业那么巨大的变化,研究人机交互技术变得异常活跃,也取得了巨大的成就,人机交互迅速受到了各大厂家的重视,并成为计算机竞争行业的又一竞争领域。手势作为自然的交互方式,在计算机领域取得了可喜的发展。而现在,移动终端的硬件也日趋强大,多媒体技术也在迅速发展,将手势应用到移动终端似乎成了一个顺水推舟的事。用手指的形

5、态来进行标记和识别,从而达到控制的目的。手势的直观性和强大的语义使得人机交互变得尤为轻松。但由于识别的性能有待提高,目前还未得到很广泛的应用。2现状及作品介绍2.1 现状根据设备采集数据资料的不同,目前的手势识别可以大体分为两种,基于数据手套的手势识别和基于视觉的手势识别。基于数据手套的识别系统优点是识别效率高,但由于其要求使用者必须穿戴极不方便的设备,而且设备的造价不菲,所以此种识别方式不会是未来的主流。而基于视觉的手势识别系统凭借良好的适用性以及不需要其他的硬件设备,只是通过普通的摄像头,因而成了发展的主流(本系统就是基于视觉的识别)。但基于是觉得手势识别由于识别度一直不高,成为了其发展的

6、瓶颈,国内外一些相关人士一直都致力于其发展,目前效果显著。国外的发展是比较长久的。(1)1991年富士通实验室完成了对46个手势符号的识别工作。(2)Davis和Shah将戴在指间具有高亮标记的视觉手套的手势作为系的输入,完成了对七种手势的识别。(3)Grobel和Assam从视频录像中提取特征,采用HMM技术识别262个孤立词,正确率达到91.3%。(4)Stamert51等人使用隐马尔科夫模型(HMM)对输入视频序列中的是美国手势带有词性的40个词汇随机组成的句子进行了识别,其中HMM参数的估计采用的是EM算法。系统对分离的单词和5个单词组成的句子进行识别,正确率高达90%。我国对手势识别

7、的起步较晚,但近年来也取得了显著的成果。(1)中科院的单彩峰提出了结合均值漂移的粒子滤波(The Mean ShiftEmbedded Particle Filter,MSEPF),通过在时序模板中引入时空轨迹,提出了时序模板轨迹概念,将跟踪得到的手势运动轨迹压缩到单幅图像中,实现了对预先定义的动态手势的识别。(2)山东大学的徐立群等提出了一种基于颜色概率模型并融合运动信息进行手势跟踪的新方法,利用肤色概率查找表将图像序列转换为肤色概率分布图,用运动信息和肤色概率分布对搜索窗口进行初始化,然后对肤色概率分布图进行迭代运算,得到手势的位置和大小,从而实现了对六种孤立手势的识别。2.2 作品介绍(

8、核心)本作品是一个基于移动终端的人机交互技术,它通过识别人手的关键点,并跟踪其轨迹,通过轨迹来识别人手势的意图,从而触发事件,并在屏幕或其他显示设备上做出反馈,达到交互目的。下面从作品的个特点做出分析:(1)与现在的pc端手势识别技术相比,本作品注重的是手势的关键点位置变化信息,并且将其应用在了移动终端。众所周知,移动终端的人机交互技术发展最为迅速,新的交互技术往往能改变行业发展方向。(2)从应用范围分析,全键盘由于携带不方便或占据较大空间,在移动终端很少使用了,触摸屏虽然是现在的主流,但其只能用在有介质的交互技术中,在未来的虚拟现实技术等一些无介质交互技术中还是有很大限制的,而手势操作,对介

9、质要求不大,是可以适用在各种终端的一种新型的交互技术,本作品的核心就是微手势的应用,不仅是现在的手机,更是站在未来的角度,打造未来移动终端交互技术的雏形。(3)本作品强调的是微手势,即手势中的关键点及其运动轨迹组成的一套简化后的手势,其能更好的应用在移动终端,是交互变得更加简约和自然。(4)本作品的完成完全由本人独立编码设计,未借助其他任何辅助工具,从手势的分割,边缘检测,质心、指尖检测,都是自己独立通过代码进行试验分析,其中手势的分割检测等,更是原创了一套适合处理能力不强的移动终端的方法。(5)特色应用。本作品灵感是来自谷歌眼睛。谷歌眼睛是应用虚拟现实技术的一种未来移动终端的雏形,其显示是在

10、一块眼镜镜片上,操作主要靠右手边镜框上的一个触摸板。笔者正是感觉触摸板式的人机交互已经不太适合一些已经到来的虚拟显示终端设备,而手势正好完美适用,所以才提出这种微手势的移动终端交互技术,应用了这种交互技术之后,许多科幻电影中的一幕不再是科幻,而且马上就会到来。3 Android平台及其camera框架Android系统是一个开放性的手机和平板的操作系统,目前的发展势头十分迅猛。虽然android面世的时间不长,但目前已经发展到了巅峰,取代了symbian等传统手机平台,成为了目前应用最广泛的手机等移动终端的操作系统。3.1 android平台构架分析Android系统的底层建立在linux系统

11、之上,该平台由操作系统、中间层、用户界面和应用软甲四层构成,它采用一种被称为软件叠层(software stack)的方式进行构建。这种软件叠层技术使得层与层之间相互分离,明确各自的分工。这种分工保证了层与层之间的低耦合,当下层的层内或层外发生变化时,上层的应用程序无需任何改变。 应用程序层Android系统将会包含系列的核心应用程序,这些程序包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序都由java编写的。应用程序框架开发Android应用程序,就是面向底层的应用框架进行的。在一定意义上,android所有应用都是平等的,不管是系统的还是开发者的。应用程序框架除了

12、作为开发的基础外,也是软件复用的重要手段,任何一个应用程序都可以发布他的功能模块只要遵循框架的约定,那么其他应用就可以使用这个功能模块。 Android运行时Android运行时由两部分组成:android核心库集和Dalvik虚拟机。其中核心库提供了java语言核心库所包含的大部分功能,而虚拟机负责运行Android程序。Linux内核Android系统建立在Linux 2.6之上,Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。3.2 camera框架Android的SDK中提供了底层硬件的接口,其

13、中包括底层的头文件、驱动、库文件,因此更方便系统的开发和移植。Camera工作流程:景物Scene传感器SensorADCDSPSD cardCamera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。3.2.1 框架概况Android的Camera子系统提供一个拍照和录制视频的框架。 它将Camera的上层应用与Application Frame

14、work、用户库串接起来,而正是这个用户库来与Camera的硬件层通信,从而实现操作camera硬件。 框架图:3.2.2 框架代码结构Android的Camera代码主要在以下的目录中: (1)Camera的JAVA部分 packages/apps/Camera/。其中Camera.java是主要实现的文件。这部分内容编译成为目标是Camera.apk com.android.camera这个包,几个主要的类文件如下: PhotoViewer:GalleryPicker.java(所有图片集)-ImageGallery.java(某个Folder下图片列表)-ViewImage.java(看

15、某张具体图片) VideoPlayer:GalleryPicker.java(所有视频集) -MovieView.java(看某一个视频) Camera:Camera.java(Camera取景及拍照) VideoCamera:VideoCamera.java(VideoCamera取景及摄像)(2)Camera的framework供上层应用调用的部分base/core/java/android/hardware/Camera.java这部分目标是framework.jar(3)Camera的JNI部分 frameworks/base/core/jni/android_hardware_Camera.cpp 这部分内容编译成为目标是libandroid_runtime.so。 (4)Camera UI库部分 frameworks/base/libs/ui/camera 这部分的内容被编译成库libcamera_client.so。 (5)Camera服务部分 frameworks/base/camera/libcame

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号