论文部分内容阅读
随着移动互联网时代的快速发展,Android平台的智能手机、智能平板等移动终端凭借其快捷的无线通信网络传输速率、丰富多样的功能实现以及简单便捷的携带与使用方式逐渐成为大众日常生活中不可或缺的工具。不断扩展增强的设备功能导致用户的人机交互需求与操作复杂性也日益增加,其中手势作为一种符合人们日常操作习惯的非接触式信息交流和交互方式,与传统的基于鼠标、键盘与触摸屏等接触式交互方式相比,不易造成设备污染,同时可进行远距离交互。本文在此基础上主要研究Android系统中基于计算机视觉的手势识别的人机交互方式,并提出了一种可通过摄像头识别手势,并控制系统鼠标发送指令的人机交互方式,该系统能够较准确的识别出用户手势指令并作出反馈,同时满足了用户人机交互的实时性需求。本文对深度学习在Android平台移植与部署技术进行了研究,并实现了一种Caffe深度学习框架移动端移植与部署技术,完成了基于卷积神经网络(Convolutional Neural Network,CNN)的手势分割算法在Android平台的运行。同时,面对移动终端CPU运算性能不高的问题,本文提出自定义适应性手势检测区域、化简卷积神经网络的网络结构等方式,将系统运行帧率提高至9fps~12fps,加快了系统运行性能,满足了用户人机交互操作的实时性要求。本文在基于AdaBoost算法的Haar-like特征分类器进行人脸检测的基础上,提出一种基于距离的人眼定位方法,当用户与摄像头距离较近时采用基于Haar-like特征的人眼分类器,当用户与摄像头距离较远时根据人眼在人脸中的几何特征与位置特征估测人眼位置。该方法计算简单,运算速度快,能够准确的定位人眼位置并满足实时性要求。在手势识别方面,本文采用了一种基于卷积神经网络的手势分割算法,解决了人脸与手势重合等复杂背景下手势分割不完整、手势识别准确率低等问题。经过实验,该算法在人脸干扰时的手掌、拳头与指尖手势识别准确率高达92.6%、96.0%与91.4%。在人眼定位与指尖定位的基础上,我们建立了一种在Android平台上基于视线追踪的手势识别人机交互系统。该系统通过视频序列中的人眼坐标与指尖坐标,并根据智能设备与用户的空间关系,利用基于视线追踪的屏幕定位模型,确定用户指向屏幕的鼠标位置来操作鼠标移动。同时,利用正交多项式最小二乘轨迹拟合与线性差值法(Linear Interpolation)拟合鼠标轨迹,使得鼠标操作更加流畅,提高交互友好性。实验表明,本文中系统能够分别在智能手机与智能电视的交互平台完成平均距离误差为0.386cm与4.193cm的鼠标定位与移动操作,提高了基于手势识别人机交互的准确性与友好性。