自然人机交互技术研究.docx

上传人:b****2 文档编号:279827 上传时间:2023-04-28 格式:DOCX 页数:16 大小:1.67MB
下载 相关 举报
自然人机交互技术研究.docx_第1页
第1页 / 共16页
自然人机交互技术研究.docx_第2页
第2页 / 共16页
自然人机交互技术研究.docx_第3页
第3页 / 共16页
自然人机交互技术研究.docx_第4页
第4页 / 共16页
自然人机交互技术研究.docx_第5页
第5页 / 共16页
自然人机交互技术研究.docx_第6页
第6页 / 共16页
自然人机交互技术研究.docx_第7页
第7页 / 共16页
自然人机交互技术研究.docx_第8页
第8页 / 共16页
自然人机交互技术研究.docx_第9页
第9页 / 共16页
自然人机交互技术研究.docx_第10页
第10页 / 共16页
自然人机交互技术研究.docx_第11页
第11页 / 共16页
自然人机交互技术研究.docx_第12页
第12页 / 共16页
自然人机交互技术研究.docx_第13页
第13页 / 共16页
自然人机交互技术研究.docx_第14页
第14页 / 共16页
自然人机交互技术研究.docx_第15页
第15页 / 共16页
自然人机交互技术研究.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

自然人机交互技术研究.docx

《自然人机交互技术研究.docx》由会员分享,可在线阅读,更多相关《自然人机交互技术研究.docx(16页珍藏版)》请在冰点文库上搜索。

自然人机交互技术研究.docx

自然人机交互技术研究

自然人机交互技术研究

摘要:

人机交互(Human-ComputerInteraction,HCI)是研究人、计算机以及它们间相互作用的技术。

人机交互的功能主要依靠可输入输出的外部设备和相应的软件来完成。

该领域的发展使得人机交互愈加趋于方便和自然化,并且随之产生了多种类型的人机交互模式。

在现在的3D游戏市场上,人机交互领域已经出现了很多成熟的产品,如苹果的iPhone和微软的kinect,它们普遍具有方便灵活且人性化的用户操作模式,为人们的生活带来了很大的便利。

本文主要是对微软kinect的研究,并在此的基础下提出一种能识别手指运动的简单系统。

该系统以两个普通CMOS摄像头作为图像采集接口,实时采集用户做出的各种手势图像,利用计算机双目视觉技术,实现了一个三维空间内的多手指点检测、定位和识别的系统,结构比较简单、容易实现、成本较低,在三维鼠标等方面有着较大的应用前景。

关键词:

人机交互,kinect,深度获取,手指识别

 

 

1项目需求的分析

自世界上第一台电脑诞生以来,人类就没有停止创造更好的人机交互方式。

从具有悠久历史的键盘,鼠标,到最新的WII,Kinect等体感游戏,人机交互技术随着科技进步不断发展。

从上世纪70年代至今,国内外无数的研究者和小组投入到人机交互技术的研究中。

自然,便携,智能化,无侵入性是人机交互系统的发展方向,也是国内外研究者所关注的焦点。

人机交互系统从交互方式上可分为语音交互系统、基于接触式传感器的交互系统和基于视觉的交互统。

早期的智能人机交互系统使用语音识别系统或数据采集设备来进行交互。

使用语音方式进行交互,效率较低,且受环境的影响较大,在嘈杂环境中性能急剧下降,而且也不易于实现多人交互系统。

基于接触式传感器的交互系统,通常依赖于在人体设置一定数量的传感器,通过自主操控,或是采集神经信号来发出操纵指令。

这种方法设备成本高,不易携带,且对用户造成侵入性,用户体验不好。

基于计算机视觉的交互系统,通常是利用图像采集设备获取图像或视频,进行后续图像分割,目标检测跟踪,行为识别等操作,从而获取人的意图,通过各种显示设备进行反馈。

由于其使用方便,无任何侵入性,交互方式多样,从手势到表情、瞳孔,甚至肢体语言,都可以成为交互手段,而且硬件成本低,基于视觉的人机交互系统成为国内外研究的热点。

随着我国经济的高速发展,国民生活水平的持续提高,人们的生活压力也在不断增大,缺乏锻炼是不容忽视的问题。

人们特别是游戏者们越来越希望自然逼真的人机交互技术,从而能够在游戏时以最快的速度和最方便的方式完成对游戏角色控制。

通过身体的移动跳跃还可以一边游戏一边锻炼身体,两全其美,因此可以得到广大游戏者们的喜欢和推广,如图1.1和图1.2所示。

如何让广大普通电脑用户感受多输入和灵活自由的人机交互,成为众多电脑厂商下一步需要考虑的目标,也是人机交互发展领域的一个比较有挑战性,新的研究领域。

图1.1图1.2

图1.1微软Kinect体感游戏,对人体建模,无需接触即可操控游戏中的人物;

图1.2诺基亚Plug&Touch系统,在移动设备上实现了基于视觉的人机交互系统,可以用手势控制任意屏幕中的显示

2项目的国内外研究现状

本系统它是一种3D体感摄影机,同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。

主要可以运用于体感游戏中,玩家可以通过这项技术在游戏中开车、与其他玩家互动、通过互联网与其他玩家分享图片和信息等。

2.1国内研究现状

国内在人机交互技术的研究方面主要有一些高校研究机构和一些大公司。

浙江大学计算机学院,利用计算机双目视觉技术,实现了一个三维鼠标,以及以手指指尖为基础的三维手势交互游戏系统,如图2.1所示。

该系统通过在线的肤色检测算法结合混合高斯背景相减法进行手势前景分割,通过手掌轮廓凸包以及缺陷属性实现多指尖检测,之后重建指尖位置,获得指尖运动速度的参数信息,实现了一些基于指尖手势的简单三维游戏。

爱动体感运动机(如图2.2所示)是深圳泰山科技在线科技有限公司联合泰山体育产业集团、中国科学院历经数年,耗资过亿,研发出全球领先的计算机视觉识别技术。

可以实时捕捉目标(用户)的空间位置和运动轨迹,以每秒60针的速度,高速采集运动目标的信息,精确跟踪一厘米运动位移,同时能根据运动模型精确反映运动的速度和加速度信息,全面地反映人体的运动特征,并结合自主研发的动作模型库,将目标(用户)的动作行为特征实时输出给相关系统,并结合运动项目软件的开发最后实现在线运动。

图2.1手掌面模拟飞机驾驶的游戏

图2.2爱动体感运动机

2.2国内研究现状

国外在人机交互技术的研究方面起步较早,也有了比较大的研究成果。

美国国防高级研究项目署在1997年设立了以卡内基梅隆大学为首、麻省理工学院等高校参与的视觉监控项目VSAM(VisualSurveillanceAndMonitoring),主要研究内容是基于视频内容的人体动作理解技术,应用于战场或商业场景。

实时视觉监控系统不仅能够实现人体定位和身体各部位的识别,而且可以通过建立外观模型来实现多人的跟踪,并可以检测判断人是否携带物体等简单行为。

麻省理工学院多媒体实验室在单目视觉的条件下,利用空间特征点和头部统计模型,采用扩展的卡尔曼滤波器的方法(EKF,ExtendedKalmanFilter)实时跟踪人体头部姿态。

而到目前为止,已经出现了通过摄像头的方式进行人机交互最成熟也最方便智能的产品—微软于2010年11月推出的kinect(图2.3),它主要用于互动游戏中(图2.4),通过一个功能强大的深度摄像头,以及其他麦克风,传感装置等,采集玩家的各种肢体动作,配以微软强大的图像处理技术,能识别出玩家在游戏中的各种对应动作,形成互动,并且它还能够识别人脸,让玩家自动连上游戏,还可以辨别声音和接受命令等。

它利用一种特殊的红外光给需要测量的空间编上码,它的光源打出去的是一种具有三维纵深的“体编码”。

这种光源叫做激光散斑(laserspeckle),是当激光照射到粗糙物体或穿透毛玻璃后形成的随机衍射斑点,这种散斑具有很高的随机性,会随不同距离变换不同的图案,也即立体空间中任意两个位置的散斑图案都不同,当在空间中打上这样特殊的光后,整个空间相当于被标记起来,在此空间中的某个物体,只需观察物体上的散斑图案,就能够知道此物体在哪个三维位置了。

图2.3Kinect图2.4Kinect互动游戏

3项目的研究内容

人与计算机的交互是一个输入与输出的过程,用户通过交互界面输入指令,计算机将输出有效的呈现出来。

输入输出方式的不同导致人机交互模式多样化。

实现人机交互最重要的就是“互动”,现在最常用的有四种:

(1)数据互动

数据交互是指向计算机输入数据以待处理,它是人机交互的一个重要的模式。

(2)图像互动

该交互方式是指计算机对基于人类行为的图像信息的理解,并对其产生相应的反应。

(3)语音互动

语言一向被认为是最自然、最方便、最有效的信息互动的方式。

(4)基于人体动作的互动

基于人类动作的人机交互方式是这样的一个过程,该过程中计算机首先确定人体方位并对其进行识别,然后对人类肢体移动进行跟踪以便即时地理解人类的动作,最后根据这些动作做出相应的反馈。

我们所研究的人机交互系统主要是基于语音互动和人体动作的互动。

并依此提出一种能识别手指运动的简单系统。

该系统利用计算机双目视觉技术,实现了一个三维空间内的多手指点检测、定位和识别的系统。

其主要内容包括:

双摄像头的标定,三维多手指点的坐标定位,手指分割和指尖检测的算法研究,以及多手指点的跟踪和识别。

该系统可分为手势分割和指尖检测模块、摄像头采集,标定,指尖三维重建模块。

4项目研究内容的技术路线

4.1微软kinect介绍

微软的kinect人机交互系统主要是基于语音互动和人体动作的互动。

语音互动主要是选用一个麦克风阵列,来捕捉多声道立体声,通过数字信号处理(DSP)等组件,根据麦克风阵列接听声音的时间差来判断声源方向。

而人体动作的互动,主要是选用人机交互系统的“眼睛”,一台红外投影机、一台红外摄像头和一台彩色摄像头,主要实现投射近红外光谱,分析红外光谱,创建可视范围内的人体、物体的深度图像,并且拍摄视角范围内的彩色视频图像。

考虑到系统的放置平面未必绝对水平,或者有不固定运动的应用场景,设计三轴加速度计用于倾斜补偿,保证人机交互系统深度数据的准确性。

当然,为了获取最佳视角,还需要设计一台可编程控制仰角的马达,及实现机械机构。

同时为了方便数据传输,需要USB线缆用于传输彩色视频流、深度流、音频流等。

为了及时排热,还需要一个冷却风扇,使系统内部正常工作。

PrimeSense技术是微软Kinect传感器系统的基础。

PrimeSensor的核心是PrimeSense的PS1080SoC(系统级芯片)。

PS1080对红外光源进行控制,以便通过红外光编码影像放映场景。

一个标准CMOS影像传感器负责接收放出的红外光,并将红外光编码影像传给PS1080。

PS1080负责处理红外影像,然后逐帧生成准确的场景深度影像。

PrimeSensor含有两项选配的传感器输入功能:

色彩(RGB)影像和音频(PrimeSensor有两个麦克风和一个接口,可连接四个外部数码音频源)。

     

所有传感器信息(深度影像、色彩影像和音频)通过一个USB2.0接口传送给主机,且时序一丝不差。

PrimeSensor的核心是PrimeSense的PS1080系统级芯片(SoC)。

PS1080SoC拥有超强的并行计算逻辑,接收LightCoding™红外光谱作为输入,制作出VGA尺寸的场景深度影像。

以系统级芯片PS1080SoC为核心的系统,主要包括(如图4.1所示):

1)麦克风阵列:

声音从4个麦克风采集,同时过滤背景噪声,可定位声源。

2)红外投影机:

主动投射近红外光谱,照射到粗糙物体、或是穿透毛玻璃后,光谱发生扭曲,会形成随机的反射斑点(称为散斑),进而能被红外摄像头读取。

3)红外摄像头:

分析红外光谱,创建可视范围内的人体、物体的深度图像。

4)仰角控制马达:

可编程控制仰角的马达,用于获取最佳视角。

5)USB线缆:

支持USB2.0接口,用于传输彩色视频流、深度流、音频流等。

必须使用外部电源,传感器才能充分发挥其功能。

6)彩色摄像头:

用于拍摄视角范围内的彩色视频图像。

图4.1系统组成

传感器设备提供三大类的原始数据信息,包括深度数据流(depthstream)、彩色视频流(colorstream)、原始音频数据(rawaudiostream),同时分别对应骨骼跟踪(SkeletalTracking)、身份识别(Identify)和语音识别(SpeechPipeline)三个处理过程。

如下图4.2所示。

图4.2系统数据流处理过程

4.2手指手势的识别

在对Kincet的认识下,拟提出一种简单的能识别手指运动的系统。

我们在系统整体框架的设计上,以两个普通CMOS摄像头作为图像采集接口,实时采集用户做出的各种手势图像,利用计算机双目视觉技术,实现了一个三维空间内的多手指点检测、定位和识别的系统。

其主要内容包括:

双摄像头的标定,三维多手指点的坐标定位,手指分割和指尖检测的算法研究,以及多手指点的跟踪和识别。

其功能模块如下图4.3所示。

图4.3手指识别功能模块设计

在安装这两个摄像头的时候,应尽可能要使它们达到平行对准状态,所谓平行对准状态,即要求两个摄像机处于同一成像平面且这个成像平面要与摄像头光轴垂直,它们的光心也要处于同一水平线并且需位于成像平面中心,此时它们的焦距相等。

为了保证实时性,摄像头采集图像的帧率要在每秒30帧以上。

4.2.1双摄像头的标定

为了使人能够做出手势的区域足够大,必须使两摄像头的有效重叠区尽可能大,在这个有效重叠区内,多个手指的信息才能被两个摄像头同时都获取到,因此应该选用视角较大的摄像头。

同时为了能同步采集图像,采用一个软件驱动两个摄像头。

视摄像机的标定,主要是用来矫正因使用透镜而给针孔模型带来的偏差。

所谓摄像机标定,实际上就是获取摄像机的内部参数和外部参数,用来建立虚拟世界和现实世界的联系桥梁。

图4.4摄像机坐标系

图4.4的这几个坐标系分别为:

世界坐标系

,摄像机坐标系

,图像物理坐标系

,图像像素坐标系

,标定的目的就是要算出各个坐标系之间的变换关系。

本文选用黑白方格交替排列的棋盘(9*7)作为标定的参照物,如图4.5所示,它可以保证在测量上任何一边都没有偏移,且能够很方便的寻找角点位置。

标定过程中可以利用opencv中的一系列函数。

首先使用opencv中函数cvFindChessboardCorners()来提取棋盘的角点(即黑方格和白方格的交点),这个角点位置的精度受限于图像设备的精度,也即小于一个像素,因此还需要另外的函数cvFindcornerSubPix()计算角点的精确位置,以达到亚像素精度。

其次,本文调用函数cvStereoCalibrate()一次性计算摄像头的内参数和外参数。

最后,调用cvinitUndistortRectifyMap()计算左右视图的校正查找映射表,对于任何图像到图像的映射函数,会将目标图像的位置计算成浮点数。

对于目标图像的每个整型像素,首先查找其对应的源图像上的浮点位置,再通过浮点像素周围的整型像素值插值出新的值来(如图4.6所示)。

图4.5标定参照物-棋盘

图4.6棋盘及其标定过程

经过上述步骤,本文不仅完成了摄像头的标定(得到摄像头的内外参数),而且计算出了左右视图的校正映射参数,这样,本系统就可以用这些参数校正原始图像,使之行对齐,之后就是在校正的行对齐图像上进行的一系列操作了。

4.2.2手势分割和指尖检测模块

图像分割是指从图像中分割出所感兴趣的前景目标或特定物体的一种常用图像处理技术。

指尖检测的第一步就是摄像头前人手势的分割,要求能有效分割出手掌图像。

常用的有背景相减法,帧差法等。

本文采用一种基于YCbCr空间的肤色检测提取手掌的方法,这种方法能够近距离的有效分割出手势。

YCbCr可由RGB空间线性变换得到,亮度信息由Y表示,彩色信息则由Cr和Cb来存储。

对于跟人体相关的某个目标,比如人手臂,手掌,人脸等,则可以采用肤色检测的方法进行前景区域检测。

这种方式的原理即判断图像中的每一个像素是否属于人体普遍的肤色的颜色范围,是则认为它是前景像素,不是则认为它为背景像素。

这种方法是基于大量的统计表明,亚洲人的肤色在某些特定的颜色空间内,比如YCbCr空间内,具有一定的相似性,从而将肤色聚合到某个相同的小的颜色区域空间内,进行前景目标的分割。

对肤色分割后的图像,选取合适的阈值,在分割后的二值图像中只保留人手掌的二值图,这样做主要是为了减少数据量,方便后期的图像处理计算。

由于本文主要考虑的是手指手势的识别,因此在肤色分割图中,手掌在图像中所占区域的面积相对于其它非手掌区域较大,故可以采用连通区域法对二值图进行一次图像处理,即计算分割图中每一个连通区域的面积,设定一个面积阈值,大于此阈值的连通区域才被保留,这样,就去除了非手掌区域,得到了只有手掌区域的分割图。

在此基础上,为了平滑手掌轮廓,可以依次做一次腐蚀,一次膨胀运算。

得到手掌轮廓后,用canny算子提取轮廓边缘,便可采集指尖边缘。

第一步是对手掌轮廓图数据与高斯平滑模板作卷积,得到的图像与原始图像相比有些轻微的模糊。

这样,单独的一个像素噪声在经过高斯平滑的图像上变得几乎没有影响。

然后,图像中的边缘可能会指向不同的方向,所以Canny算法使用4个mask检测水平、垂直以及对角线方向的边缘。

原始图像与每个mask所作的卷积都存储起来。

对于每个点我们都标识在这个点上的最大值以及生成的边缘的方向。

这样我们就从原始图像生成了图像中每个点亮度梯度图以及亮度梯度的方向。

假设图像中的重要边缘都是连续的曲线,这样我们就可以跟踪给定曲线中模糊的部分,并且避免将没有组成曲线的噪声像素当成边缘。

所以我们从一个较大的阈值开始,这将标识出我们比较确信的真实边缘,使用前面导出的方向信息,我们从这些真正的边缘开始在图像中跟踪整个的边缘。

在跟踪的时候,我们使用一个较小的阈值,这样就可以跟踪曲线的模糊部分直到我们回到起点。

一旦这个过程完成,我们就得到了一个二值图像,每点表示是否是一个边缘点。

所有点连接起来就是手掌轮廓边缘。

Andrew的K向量指尖检测方法最开始是根据Segen等人提出的近似K曲率方法改进而来。

Segen通过计算手掌轮廓每个像素坐标的近似K曲率,由于理论上指尖位置处的曲率为最大,取其中最大的曲率点为指尖点,这样就可以求得指尖的位置。

则根据K曲率的思想,在图像的每个轮廓点处,计算该点与它前后K个点的向量积,以此判定改点是否为指尖点。

4.2.3指尖三维重建模块

按照传统的双目视觉技术,摄像头标定和校正映射之后,需要进行立体匹配,立体匹配主要是通过找出每对图像间的对应关系,根据三角测量原理,得到视差图;在获得了视差信息后,根据投影模型很容易地可以得到原始图像的深度信息和三维信息。

1)指尖点匹配

寻找匹配指尖点的方式不是像立体匹配中的对全局图像进行搜索,而是分别检测出左右图像中的全部指尖点,之后再以检测出的这些指尖进行匹配。

在指尖检测之前,需要利用标定的参数对原始图像进行校正,使它们近似达到平行对准状态,也就是前面所说的行对准,这样,可以认为在此行对准的左右图像上检测出的左右指尖也是行对准的,假设用指尖检测算法检测出左摄像头有m个指尖点,右摄像头有n个指尖点,它们的匹配规则如下:

将左摄像头的m个指尖,右摄像头的n个指尖分别按它们的x轴坐标由小到大排序。

若m>n,即左边摄像头检测到的指尖数大于右边,则取左摄像头的后n个指尖与右摄像头配对;若m

若m=n,则表示它们已经配对好。

此时可以很容易的计算出左右视差:

2)指尖三角测量

之前的摄像头安装,标定,校正以及匹配等过程,均是为了达到两摄像头的像平面精确的位于同一平面,光轴严格平行,左右焦距相同

,左右摄像头畸变也已校正,它们处于平行对准状态,这个状态如图4.7的模型所示:

图4.7双目测距原理图

在上图中,物理世界的一点P在左右视图上的成像点横坐标分别为

,故左右视差可以简单定义为

,通过相似三角形可以很容易的推导出目标点到成像平面的距离Z的值,由图可知

由上式可知,图像的深度和视差成反比,当视差较小时,微小的视差就会引起很大的深度变化;而视差较大时,微小的视差变化几乎不会引起深度的太大变化。

因此,立体视觉中仅仅当被测物体与摄像头有较近距离时才会有较好的深度精度,这既是我们前面选择广角摄像头的原因。

在获得的指尖点的三维坐标中的Z坐标(即指尖点离电脑摄像头的垂直距离)为基础,在人能够做出手势动作最便利的位置,设定一个距离阈,建立一个虚拟的触摸屏,以判断人的手势是否要进行鼠标模拟的操作。

5项目讨论

1.最后提出的系统中对最后结果造成最大影响的一步就是手势前景图像的分割,是基于YCbCr空间的肤色分割,但这种分割方法对环境光照的要求较高,不能适应复杂多变的手势成像背景,当然,前景分割已经是一个研究了很久各种方法层出不穷的重大课题,但至今为止没有一种通用方法具有很好的鲁棒性和适应性,都是针对具体的应用场景而变化,因此还需要进一步研究本系统所处的应用场景,实现一种更具适应性的前景分割算法。

2.系统还需进一步增强左右摄像头标定以及三维重建中的指尖定位精度,由于人为标定可能会导致摄像头参数不是很准确,摄像头并不能达到理想的平行对准状态,并且在三维重建中,通过前景分割算法得到的指尖前景图像不够准确,左右图像检测到的手指点不尽相同因而不能严格配准,左右图像不同步等因素都有可能使三维坐标结果出现较大的误差,导致后续的跟踪和识别结果也不准确,因此,本系统要做的就是尽量提高摄像头安装,标定,左右图像行对准过程中的精度,使摄像头成像模型尽量简单和理想。

3.可以考虑使用红外摄像机,这样可以减少可见光的影响。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2