多维感官人机交互系统及交互方法

文档序号:6367914阅读:265来源:国知局
专利名称:多维感官人机交互系统及交互方法
技术领域
本发明涉及ー种用于用户和计算机之间交互的多维感官人机交互系统及交互方法,确切地说是涉及ー种结合头部姿势控制、语音控制和键盘鼠标操作等交互方式的人机交互系统,属于人机交互技术领域。
背景技术
随着人们对计算机的使用范围逐渐扩大,基于传统単一的鼠标键盘的人机交互方式已不能满足于人们日益增长的需求。例如办公人员往往苦于多种程序之间的切换不够灵便,可是受限于只能运用双手对计算机进行操作而无法显著地工作效率。另外,对于某些特殊用户群体,如老年人、残疾人,鼠标键盘操作不便于或难于学习,他们急需一种新的人机交互方式解决他们的烦恼。造成这些问题的原因在于传统的人机交互方式过于单一,仅仅依靠双手来对电脑进行操作。因此在人与机器的关系中,人们不得不去适应电脑,顺从于电脑。然而,人的感官是非常丰富的,不仅有视觉、听觉、嗅觉等,还有面部表情、头部和身体动作、平衡等运动感官。这些丰富的感官一旦广泛地应用到人与计算机之间的交流,将会给人机交互领域带来巨大的变革。而这正是新一代人机交互方式重要特征多通道(Multimodality)。多通道旨在充分利用人的感觉通道和运动通道的互补特性来捕捉用户的意向,从而增进人机交互中的自然性。采用多通道、以自然方式交互,可以实现高效人机通信,也可以由人或机器选择最佳反应通道,从而不会使某一通道负担过重。目前,国外正在进行研究的有关多通道人机交互技术的项目主要有美国MIT媒体实验室的多通道自然对话项目,欧洲信息技术研究战略规划(ESPRITII)的Amodeus项目中,以及法国 IMAG 的 Coutaz 和 Nigay 设计的系统 MATIS(Multimodal Airline TravelInformation System)中,用户可以利用键盘、鼠标、话筒或者它们的组合方式查询航班信息。而在我国,杭州大学エ业心理学国家点实验室、中国科学院软件研究所共同承担了国家自然科学基金重点项目“多通道用户界面的研究”,探索了多通道界面的软件结构,并使用三维鼠标器、汉字手写体识别工具及语音输入软件等,研究了多通道界面的关键问题。针对多通道的人机交互方式,国内外的研究者所取得的大多为理论研究成果,为日常生活场景开发的应用较少。同时,人机交互方式主要限于手势、语音等几个方面,头部动作跟踪在多通道人机交互组合方式中尚未见到。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种多维感官人机交互系统及交互方法,使用户可同时利用多种交互方式对计算机进行丰富简单快捷的交互操作。本发明是通过以下技术方案实现的多维感官人机交互系统,如图I所示,包括用户信息采集模块需要计算机有视频输入设备和音频输入设备作为硬件支持,用于向计算机分别输入用户头部姿态信息和语音信息,这两类信息通过不同的硬件输入计算机,因此采集信息的过程可同时进行而互不干扰。该模块从操作系统默认的视频输入设备和音频输入设备获取视频流和音频流,并将视频流和音频流送至用户信息识别分析模块中;如果该模块找不到视频输入设备或音频输入设备,则交由程序控制模块阻塞用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块中与头部姿态或语音有关的程序流程。
用户信息识别分析模块对从用户信息采集模块中得到的视频流和音频流进行处理,得到能够直接处理的信息对象。对于视频流的处理,该模块从视频流中提取到彩色帧,经过颜色空间转换、均值化处理、图像缩放、边缘处理、计算积分图像和使用分类器搜索目标后,检测出每ー帧中的头部图像,得到每ー帧所识别出的头部图像的数组,并将每ー帧所识别出的头部图像的数组送至头部姿态控制功能模块;对于音频流的处理,该模块调用相关的语音应用程序接ロ(SAPI),通过语音识别引擎将语音转换成语音信息文本,交给语音控制功能模块使用;此外,该模块为不同种类的语音命令编写了不同的语法,由于每ー种语法都是基于小词汇量的且都设置了识别的置信度下限,从而提高了语音识别的准确度。头部姿态控制功能模块从得到的每ー帧头部图像的数组中检测出最大的头部作为识别的用户的头部,根据识别出的用户头部,确定用户头部的中心位置,并计算出连续N帧的头部中心位置的平均值作为标定值;当某ー帧用户头部的中心位置的超出平均值达到模块设定的阈值时,则判定用户头部处于运动状态;否则,判定用户头部处于静止状态。用户头部处于运动状态吋,该模块提供两种模式供用户选择普通模式和游戏模式。用户可通过程序控制模块对这两种模式进行选择。若用户选择普通模式,该模块可根据头部动作方向控制鼠标的移动方向,即将头部动作方向映射为鼠标的移动方向;若用户选择游戏模式,该模块可根据头部动作方向模拟游戏的方向按键,即头部向上运动时自动按下“ w”键,向下运动时自动按下“ s”键,向左运动时自动“a”键为左方向,向右运动时自动按下“ d”键。同吋,该模块将识别出的头部区域、头部动作方向传给界面交互模块。语音控制功能模块该模块接受用户信息识别分析模块输出的语音信息文本,由程序控制模块判断系统听写状态是否开启。用户可通过程序控制模块选择听写状态的开启与关闭。若听写状态开启,则该模块接受语音信息文本后,调用存储模块中的快捷键语音命令,进行查找匹配。如果匹配成功,则触发对应的键盘按键事件,完成语音命令所代表的windows操作系统的快捷键操作。如果匹配失败,则将接受的语音信息文以文字的形式发送到剪切板中,再粘贴到鼠标光标所在处,完成听写功能。若听写状态关闭,首先将接收到的语音信息文本与存储模块中存储的语音命令进行查找匹配,找到相应的语音命令;根据语音命令的内容,完成不同的操作。若语音命令属于语音控制鼠标命令,则根据语音命令的内容触发语音命令所映射的鼠标动作(如单击、双击等);若语音命令属于语音启动程序命令,则启动语音命令中程序路径下的应用程序;若语音命令属于语音模拟快捷键命令,则根据语音命令中的按键方式触发相应的按键操作;若语音命令属于语音打开网页标签命令,则在浏览器中打开语音命令的网址对应的网页。同吋,该模块将识别出的语音命令内容传给界面交互模块。存储模块利用哈希表和XML文件存储了语音信息文本对应的语音命令。哈希表存储了系统有限的常用基本语音命令,即语音控制鼠标命令,其内容为鼠标的各种事件。当语音控制功能模块调用该部分命令,则将其鼠标的各种事件作为參数传递给语音控制功能模块中的鼠标动作函数。XML文 件则存储了可扩展的语音命令,包括语音模拟快捷键命令,语音启动应用程序命令、语音打开网页标签命令。当语音控制功能模块调语音模拟快捷键命令,则将其中存储的快捷键组合方式作为參数传递给语音控制功能模块中的模拟快捷键按键函数。当语音控制功能模块调语音启动快捷键命令,则将其中存储的应用程序名作为參数传递给语音控制功能模块中的启动程序函数。当语音控制功能模块调语音打开网页标签命令,则将其中存储的网址作为參数传递给语音控制功能模块中的网页打开函数。该模块允许对XML中存储的命令进行增加、修改、删除和查询操作;界面交互模块界面交互模块接收程序控制模块传来的各功能流程的运行情況,在主窗体界面上显示各功能的激活状态,并提示用户可进行的操作。界面交互模块接收头部姿态控制功能模块传来的头部区域和头部动作方向情况,在主窗体上绘制的视频窗口上绘制人脸区域,并在鼠标附近绘制了上下左右四个方向的可变色的半透明箭头用以标明头部动作的移动方向。界面交互模块接收语音命令模块传来的语音命令内容,在主窗体上以文字形式显示语音命令的内容,以便用户查看。程序控制模块程序控制模块接受头部姿态控制功能模块传递的数据,包括头部姿态控制功能模块是否开启,头部姿态控制功能模块处于哪种模(普通模式或者游戏模式)。该模块允许用户切换头部姿态控制功能模块的启用与关闭,允许用户切换头部姿态控制功能模块两种模式的切換。程序控制模块接收语音控制功能模块传递的数据,包括语音控制功能模块是否开启,语音控制功能模块是否处于听写状态下。该模块允许用户切换语音控制功能模块的启用与关闭,允许用户切換语音控制模块听写状态的开启与关闭。程序控制功能接收用户信息采集模块传递的信息,即视频输入设备和语音输入设备是否存在。程序控制功能根据信息,决定是否开启头部姿态控制功能模块或者语音控制功能模块。自定制模块该模块允许用户对语音命令进行修改,修改的数据通过界面交互模块从用户出获取,修改后的语音命令传递给存储模块重新存储。用户可自定制的内容包括识别头部动作的阈值(即头部动作灵敏度),语音控制功能使用的语音命令。多维感官人机交互方法,步骤如下(I)采集用户信息用户信息采集模块从操作系统默认的视频输入设备和音频输入设备获取视频流和音频流,并传给用户信息识别分析模块;如果操作系统没有默认的视频输入设备或音频输入设备,程序控制模块阻塞用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块中与头部姿态或语音有关的程序流程。(2)识别分析用户信息用户信息识别分析模块对从用户信息采集模块得到的视频流和音频流进行处理,得到系统能够直接处理的信息对象。对于视频流,用户信息识别分析模块从中提取到彩色帧,经过顔色空间转换、均值化处理、图像缩放、边缘处理、计算积分图像和使用分类器搜索目标后,检测出每ー帧中的头部图像,得到每ー帧所识别出的头部图像的数组送至头部姿态控制功能模块。对于音频流的处理,用户信息识别分析模块会调用相关的语音应用程序接ロ(SAPI),通过语音识别引擎将语音转换成语音信息文本,传送给语音控制功能模块。(3)头部姿态控制或语音控制功能实现头部姿态控制功能模块从得到的每ー帧头部图像的数组中检测出最大的头部作为识别的用户的头部,根据识别出的用户头部,确定用户头部的中心位置,并计算出连续N帧的头部中心位置的平均值作为标定值;当某一帧用户头部的中心位置的超出平均值达到模块设定的阈值时,则判定用户头部处于运动状态;否则,判定用户头部处于静止状态。用户头部处于运动状态时,头部姿态控制功能模块提供两种模式供用户选择普通模式和游戏模式。用户可通过程序控制模块对这两种模式进行选择。若用户选择普通模式,头部姿态控制功能模块可根据头部动作方向控制鼠标的移动方向,即将头部动作方向映射为鼠标的移动方向;若用户选择游戏模式,头部姿态控制功能模块可根据头部动作方向模拟游戏的方向按键,即头部向上运动时自动按下“ W”键,向下运动时自动按下“ S”键,向左运动时自动“a”键为左方向,向右运动时自动按下“d”键。同时,头部姿态控制功能模块将识别出的头部区域、头部动作方向传给界面交互模块。语音控制功能模块接受用户信息识别分析模块输出的语音信息文本,由程序控制模块判断系统听写状态是否开启。用户可通过程序控制模块选择听写状态的开启与关闭。若听写状态开 启,则该模块接受语音信息文本后,调用存储模块中的快捷键语音命令,进行查找匹配。如果匹配成功,则触发对应的键盘按键事件,完成语音命令所代表的windows操作系统的快捷键操作。如果匹配失败,则将接受的语音信息文以文字的形式发送到剪切板中,再粘贴到鼠标光标所在处,完成听写功能。若听写状态关闭,首先将接收到的语音信息文本与存储模块中存储的语音命令进行查找匹配,找到相应的语音命令;根据语音命令的内容,完成不同的操作。若语音命令属于语音控制鼠标命令,则根据语音命令的内容触发语音命令所映射的鼠标动作(如单击、双击等);若语音命令属于语音启动程序命令,则启动语音命令中程序路径下的应用程序;若语音命令属于语音模拟快捷键命令,则根据语音命令中的按键方式触发相应的按键操作;若语音命令属于语音打开网页标签命令,则在浏览器中打开语音命令的网址对应的网页。同吋,该模块将识别出的语音命令内容传给界面交互模块。(4)用户界面输出界面交互模块接收程序控制模块传来的各功能流程的运行情况,在主窗体界面上显示各功能的激活状态,并提示用户可进行的操作。界面交互模块接收头部姿态控制功能模块传来的头部区域和头部动作方向情况,在主窗体上绘制的视频窗ロ上绘制人脸区域,并在鼠标附近绘制了上下左右四个方向的可变色的半透明箭头用以标明头部动作的移动方向。界面交互模块接收语音命令模块传来的语音命令内容,在主窗体上以文字形式显示语音命令的内容,以便用户查看。同时,用户也可以通过界面交互模块输入自定制信息修改头部动作灵敏度和语音命令内容。本发明与现有技术相比的优点在于(I)本发明通过头部姿态控制、语音控制、键盘鼠标操作等方式有机结合的多通道人机交互系统,使用户可同时利用多种交互方式对计算机进行丰富简单快捷的交互操作。(2)本可让用户采用多通道的交互方式快速编辑和撰写文档,很大程度上提高了办公效率,为用户节约了大量时间。例如,用户在用键盘输入文档内容时,可以通过语音命令进行复制、粘贴、删除等快捷操作,而无需将双手在鼠标和键盘之间频繁的切換。此外,用户还可以通过语音命令快速启动QQ、播放器、浏览器等程序,既快捷又简单,減少了查找、点击运行等繁琐的操作。(3)本发明的头部运动交互方式还可以让用户在休闲娱乐的同时达到颈部健身的目的。例如,用户长时间用鼠标键盘坐着玩游戏会引起颈部酸痛,但是采用头部动作操作游戏则会让用户在娱乐的同时锻炼颈部,以减轻疲劳,这对于长时间操作计算机的人群是十分有益。
(4)本发明更加贴近日常生活,实用性较强,可用于办公、玩游戏、飞行训练、颈部健身等诸多应用场景,也可以让学习鼠标键盘有困难的老年人、残疾人也能轻松地操作计算机,让更多的人享受到计算机的带给人们的便利。


图I为本发明交互系统总体设计图;图2为本发明中头部识别流程图;图3为本发明中语音识别流程图;图4为本发明中头部动作识别流程图;图5为本发明中头部姿态控制功能流程图;图6为本发明中语音听写流程图;图7为本发明中语音控制鼠标流程图;图8为本发明中语音模拟快捷键流程图;图9为本发明中语音启动应用程序流程图;图10为本发明中语音打开网页标签流程图;图11为本发明中XML文件设计图;图12为本发明中操作XML文件流程图;图13为本发明中交互界面设计图;图14为本发明中自定义流程图;图15为本发明中程序控制流程图。
具体实施例方式下面结合附图对本发明进行详细说明。如图I所示,本发明多维感知人机交互系统由8个模块组成用户信息采集模块、用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块、存储模块、界面交互模块、自定制模块和程序控制模块。整体实现过程如下
(I)采集用户信息。用户信息采集模块从操作系统默认的视频输入设备和音频输入设备获取视频流和音频流。如果操作系统没有默认的视频输入设备或音频输入设备,用户信息采集模块自动关闭头部姿态控制或语音控制。(2)识别分析用户信息。用户信息识别分析模块对从视频输入设备和音频输入设备获得的视频流和音频流进行进ー步的处理,得到系统能够直接处理的信息对象。对于视频流,用户信息识别分析模块从中提取到彩色帧,经过顔色空间转换、均值化处理、图像缩放、边缘处理、计算积分图像和使用分类器搜索目标后,检测出每ー帧中的头部图像,得到每ー帧所识别出的头部图像的数组。对于音频流的处理,用户信息识别分析模块会调用相关的语音应用程序接ロ(SAPI),通过语音识别引擎将语音转换成语音信息文本,交给系统直接处理使用。为提高识别的准确度,用户信息识别分析模块采用基于小词汇量的命令识别模式和对不同语法设置不同置信度的方法。(3)头部姿态控制或语音控制功能实现。
头部姿态控制功能模块从得到的每ー帧头部图像的数组中检测出最大的头部作为识别的用户的头部。根据识别出的头部,确定头部的中心位置,并计算出连续N帧的头部中心位置的平均值作为标定值。当某一帧头部的中心位置的超出平均值达到模块设定的阈值时,头部姿态控制功能模块会判定头部处于运动状态。否则,判定头部处于静止状态。在普通ネ旲式下,头部姿态控制功能I旲块根据头部中心位直移动方向判定头部动作方向,并映射为鼠标的移动方向,调用系统调用,转换成相应的鼠标操作。在游戏模式下,头部姿态控制功能I旲块根据头部中心位直移动方向判定头部动作方向,并映射为游戏方向按键(上为“W”,下为“s”,左为“a”,右为“d” ),在驱动级模拟键盘动作。语音控制功能模块接受用户信息识别分析模块输出的语音信息文本,由程序控制模块判断系统听写状态是否开启。用户可通过程序控制模块选择听写状态的开启与关闭。若听写状态开启,则该模块接受语音信息文本后,调用存储模块中的快捷键语音命令,进行 查找匹配。如果匹配成功,则触发对应的键盘按键事件,完成语音命令所代表的windows操作系统的快捷键操作。如果匹配失败,则将接受的语音信息文以文字的形式发送到剪切板中,再粘贴到鼠标光标所在处,完成听写功能。若听写状态关闭,首先将接收到的语音信息文本与存储模块中存储的语音命令进行查找匹配,找到相应的语音命令;根据语音命令的内容,完成不同的操作。若语音命令属于语音控制鼠标命令,则根据语音命令的内容触发语音命令所映射的鼠标动作(如单击、双击等);若语音命令属于语音启动程序命令,则启动语音命令中程序路径下的应用程序;若语音命令属于语音模拟快捷键命令,则根据语音命令中的按键方式触发相应的按键操作;若语音命令属于语音打开网页标签命令,则在浏览器中打开语音命令的网址对应的网页。同吋,该模块将识别出的语音命令内容传给界面交互模块。(4)用户界面输出。界面交互模块在主窗体界面上显示各功能的激活状态。根据系统的当前状态,在主窗体界面上提示用户接下来可以进行的操作。主窗体设有视频窗ロ,在视频窗口中绘出人脸区域,便于用户标定调整。在鼠标附近,界面交互模块绘制了上下左右四个方向的可变色的透明箭头,用以显示头部动作的移动方向。上述各模块的具体实现过程如下I.用户信息采集模块。该模块的实现过程如下所示(I)检查计算机是否有视频输入设备和音频输入设备。(2)若存在作多个视频输入设备或音频输入设备,该模块会默认采集来自Windows操作系统默认的视频输入设备和音频输入设备的视频流和音频流。(3)若不存在视频输入设备或音频输入设备,Windows操作系统没有默认的视频输入设备或音频输入设备,该模块会自动关闭头部姿态控制功能或语音控制功能。2.用户信息识别分析模块该模块对于视频流的实现过程如图2所示(I)颜色空间的转换在头部识别中,处理的图片是从视频输入设备获取的,由于环境因素受光照影响非常大,因此要把彩色图像转换为灰度图像(即黑白图像)来減少光照影响,同时也能加快图像的处理速度。
(2)均值化处理对输入图像进行直方图均衡化,用来归ー化图像亮度和增强对比度。(3)图像缩放采用等比例图像缩放,在精度允许范围内提高图片处理速度,节省cpu和内存资源。(4)边缘处理用canny算子实现边缘检测,所谓边缘就是指图像局部亮度变化最显著的部分,它是检测图像局部显著变化的最基本的运算。对于数字图像,图像灰度值的显著变化可以用梯度来表示,用canny算子来实现边缘检測。
用高斯函数对图像f (x,y)进行滤波得到f(x,y) XG(x,y, o ),然后计算其梯度矢量的模和方向M=| f (x, y)*G(x,y, o ) |
_ I : V) Gi v. . T ;ン图像边缘点即为在方向A上使模M取得局部极大值的点。其中G(x,y,o)是高斯函数,作为平滑滤波器;x,y代表滤波器窗ロ的大小。边缘检测在头部检测中的意义主要是它对检测速度的优化,在没有边缘的地方,必定不会存在人脸,边缘非常多的地方也不会存在人脸,通过边缘检测可以快速确定感兴趣的区域,減少计算量,这样就能够对检测速度做了很大的优化。该模块对于音频流的实现过程如图3所示(I)从用户信息采集模块获取语音。(2)运用识别引擎(Recognition Engine),从语音中识别出汉字。(3)输出语音信息文本。3.头部姿态控制功能模块该模块的实现过程如下所示(I)从用户信息识别分析模块获取ー帧头部图像数组。(2)最大头部选择。对检测出每帧N个头部的位置和大小的信息,整理后扫描得到最大头部的位置和大小信息,如图4所示。(3)中心标定。系统初始化完成后的N帧图像检测出的最大头部的位置求平均值所得到标定值,如图4所示。(4)头部移动方向检测。系统会在图像X轴和Y轴上设定阈值,当某一帧图像最大头部的中心位置在X轴或Y轴上偏离标定值的距离超过设定的阈值时,模块会判断用户的头部处于非静止状态,如图4所示。(5)状态标定。头部动作映射ー个状态标量,并为利用头部移动方向的检测结果为;如图5所示。(6)头部姿态控制鼠标移动和按键操作用户通过程序控制模块选择普通模式或者游戏模式。如果头部姿态控制处于普通模式下,如仰头时状态标量为UP,UP又可以映射为上移鼠标命令,再对标量状态检测并调用系统调用触发相应的鼠标事件相应。如果头部姿态控制处于游戏模式下,如仰头时状态标量为UP,UP又可以映射为游戏中的上方向键(即“W”键),再对标量状态检测并在驱动级模拟键盘按键操作。如图5所
/Jn o4.语音控制功能模块语音控制模块的流程如下
(I)判断系统所处的语音控制状态。若听写状态开启,进行步骤(2),否则进行步骤⑶。(2)加载语音听写语法,将接受的语音信息文本先与存XML文件中的语音快捷键命令进行查找匹配。若匹配成功,则使用语音模拟快捷键命令。若匹配失败,将语音文本与XML文件中的常用网址匹配。若常用网址匹配失败,在光标处显示语音信息文本。否则,由用户选择输入的内容。如图6所示。(3)若与语音控制鼠标动作命令匹配成功,进行步骤(4);若与语音模拟快捷键命令匹配成功,进行步骤(5);若与语音启动应用程序命令匹配成功,进行步骤¢);若与语音网页标签命令匹配成功,进行步骤(7)。(4),模块会查询哈希表中的命令进行匹配,根据匹配结果,使用系统调用触发鼠标的单击、双击、单击右键、单击中键、向上滚动,向下滚动、定位到屏幕左(或右)上(或下)角、加快、减慢、拖动、结束拖动事件,如图7。(5)若与语音模拟快捷键命令匹配成功,则存储模块中对应快捷键的命令内容(即快捷键的组合键方式)传递给语音控制模块,语音控制模块调用系统调用模拟键盘按下和抬起操作,实现快捷键语音模拟快捷键功能,如图8所示。。(6)若与语音模拟快捷键命令匹配成功,则存储模块中对应的语音启动程序命令内容(即启动程序路径)传递给语音控制模块,语音控制模块启动命令内容中路径下的程序,实现语音启动应用程序功能,如图9所示。(7)若与语音打开网页标签的命令匹配成功,则存储模块将对应的语音打开网页标签命令的内容(即网页标签的网址)传递给语音控制模块,语音控制模块调用系统调用开启浏览器,并将网址作为參数传给浏览器,实现语音打开网页标签功能,如图10所示。此外,该模块为了提高语音命令识别的准确度,采取了下列措施该模块使用SAPI为各种语音命令编写了不同的语法,每种语法包含了所要识别的语音命令内容的数组,如语音模拟快捷键语法包含了“复制”,“粘贴”,“全选”等语音模拟快捷键命令。由于每种语法涉及的词汇量很小,因此识别效果较好。同吋,该模块在每种语法中都设置了语音识别的置信度的下限值,当识别的语音低于这个下限值时,接受的语音不做处理。只有当超过置信度下限值时,接受的语音才会进行下一歩处理。5.存储模块该模块采用两种存储技术哈希表和XML文件。哈希表主要用于存储少量的语音控制系统的常用固定命令,因为该部分命令是系统内置的基本语音命令,数目较少(仅几十条命令)且需要快速查找匹配,因此本发明采用哈希表存储该部分数据。该模块系统的常用基本命令建立一张哈希表,每ー种命令与其对应的识别语言构成ー组键值对,对应的识别语言从本发明保存的文件中读取。哈希表一旦建立,就一直存在于程序内存当中。这样的做法使得语音识别成功时,可立即查找到哈希表中对应的常用命令,查询的时间几乎为常数级。哈希表的缺点是一直占用内存,但是本发明仅仅存储较少的常用基本命令,这ー缺点就可以忽略。
对于语音控制的可变自定制命令,考虑到其数据量大且需要频繁筛选搜索,插入删除修改动作,而哈希表占用内存较大,因此本发明采用XML存储这部分数据。在XML文件中定义四类数据,即常用网址信息,语音启动应用程序命令,语音模拟快捷键命令和语音打开网页标签命令。本发明将四类信息所需的数据存储在ー个XML文件中,而不是分别存在四个XML文件中,原因是四类数据具有类似的结构,可以使用相似的查询操作方法,而存储在不同文件中,会増加无谓的加载时间,如图11所示。。对于每个节点,本发明定义了两个标签作为子节点,分别使用来表示自然语言的内容和在程序代码中使用的数据内容。这种类似哈希表的结构便于程序根据自然语言的内容查找到相应的内容。操作XML文件的流程,如图12所示。6.界面交互模块界面显示信息包括视频窗ロ显示区、各类功能状态显示区、用户操作提示区、自定义等,如图13所不。界面交互模块接收程序控制模块传来的各功能流程的运行情况,在主窗体界面上显示各功能的激活状态,并提示用户可进行的操作。如头部姿态控制功能模块激活时,主界面现实“头控开启”,并提示用户需要使用语音命令“中心定位”来进行初始化操作。用户还可以进行“主菜単” “语音听写” “快捷操作” “头控鼠标” “声控鼠标”语音命令操作来查看各自对应的语音命令。如“快捷操作”下,主界面切換到快捷操作界面下,并提示用户可进行“复制” “粘贴” “全选等操作”。界面交互模块接收头部姿态控制功能模块传来的头部区域和头部动作方向情況,在主窗体上绘制的视频窗口上,用红颜色的矩形区域圈出人脸的区域范围,并在鼠标附近绘制了上下左右四个方向的可变色的半透明箭头用以标明头部动作的移动方向。如,当识别出用户头部动作为向上时,鼠标附近的向上箭头会变为红色,表示此刻鼠标正在向上运动。界面交互模块接收语音命令模块传来的语音命令内容,在主窗体上以文字形式显示语音命令的内容,以便用户查看。如用户使用语音命令“单击鼠标”,主窗体上会显示“单击鼠标”。用户在执行一条命令后,主界面区域会显示出当前命令可能相关的其他命令。所有可操控界面分为四类头控鼠标、声控鼠标、语音读写、快捷操作,而快捷操作中又包括快捷应用、快捷网页、快捷编辑和常用操作。用户使用相应的分类语音命令即可查看相关命令和使用方式。7.自定义模块该模块为从界面交互模块得到用户的自定义信息,自定义的内容主要包括头部动作灵敏度的定制和语音控制功能所需的语音命令(包括自定制常用网址,自定制快捷程序,自定制快捷操作命令和网页标签)。自定制实现的原理是将用户自定义信息根据各自所属的类别,分别在XML文件中找到相应的位置,并对XML文件进行增加,删除或修改等操作。然后自动加载所有修改的语音命令所在的语法,使修改后的命令即时生效。其主要流程如图14所示。 8.程序控制模块该过程如图15所示。(I)系统初始化完成后,可选择头部姿态控制功能模块和语音控制功能模块的开启或关闭。(2)可对头部姿态控制模块的普通模式和游戏模式进行切換,分别进行系统预设的功能。(3)系统的语音控制选择是否开启听写状态关闭。若关闭,系统允许用户使用语音控制鼠标命令、语音模拟快捷键命令、语音启动应用程序命令和语音打开网页标签命令。若开启,此时,除语音模拟快捷键命令外,其他语音控制命令屏蔽,用户可以使用听写功能。用户可使用语音命令退出听写状态。用户也可以使用语音命令关闭语音控制。(4)系统的自定义界面开启后,系统自动屏蔽语音控制,以便用户修改语音命令。总之,本发明具有适用范围广、可维护性好、扩展性好等优点。此外,该系统为计算机用户提供了一种新颖的人机交互的处理方法,对于普通用户提高操作效率、颈部健身,以及老年人学习计算机,都有很大的帮助。本发明未详细阐述部分属于本领域公知技木。
权利要求
1.多维感官人机交互系统,其特征在于包括用户信息采集模块、用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块、存储模块、界面交互模块和程序控制模块;其中: 用户信息采集模块从操作系统默认的视频输入设备和音频输入设备获取视频流和音频流,并将视频流和音频流送至用户信息识别分析模块中;如果找不到视频输入设备或音频输入设备,则交由程序控制模块阻塞用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块中与头部姿态或语音有关的程序流程; 用户信息识别分析模块对从用户信息采集模块中得到的视频流和音频流进行处理,得到能够直接处理的信息对象;对于视频流的处理,从视频流中提取到彩色帧,经过颜色空间转换、均值化处理、图像缩放、边缘处理、计算积分图像和使用分类器搜索目标后,检测出每ー帧中的头部图像,得到每ー帧所识别出的头部图像的数组,并将每ー帧所识别出的头部图像的数组送至头部姿态控制功能模块;对于音频流的处理,调用相关的语音应用程序接ロ(SAPI),通过语音识别引擎将语音转换成语音信息文本,交给语音控制功能模块使用; 头部姿态控制功能模块从得到的每ー帧头部图像的数组中检测出最大的头部作为识别的用户的头部,根据识别出的用户头部,确定用户头部的中心位置,并计算出连续N帧的头部中心位置的平均值作为标定值;当某ー帧用户头部的中心位置的超出平均值达到模块设定的阈值时,则判定用户头部处于运动状态;否则,判定用户头部处于静止状态;用户头部处于运动状态吋,该模块提供两种模式供用户选择普通模式和游戏模式,用户可通过程序控制模块对这两种模式进行选择;若用户选择普通模式,该模块可根据头部动作方向控制鼠标的移动方向,即将头部动作方向映射为鼠标的移动方向;若用户选择游戏模式,该模块可根据头部动作方向模拟游戏的方向按键;同吋,该模块将识别出的头部区域、头部动作方向传给界面交互模块; 语音控制功能模块接受用户信息识别分析模块输出的语音信息文本,由程序控制模块判断系统听写状态是否开启,用户可通过程序控制模块选择听写状态的开启与关闭;若听写状态开启,则接受语音信息文本后,调用存储模块中的快捷键语音命令,进行查找匹配,如果匹配成功,则触发对应的键盘按键事件,完成语音命令所代表的windows操作系统的快捷键操作;如果匹配失败,则将接受的语音信息文以文字的形式发送到剪切板中,再粘贴到鼠标光标所在处,完成听写功能;若听写状态关闭,首先将接收到的语音信息文本与存储模块中存储的语音命令进行查找匹配,找到相应的语音命令;根据语音命令的内容,完成不同的操作;若语音命令属于语音控制鼠标命令,则根据语音命令的内容触发语音命令所映射的鼠标动作;若语音命令属于语音启动程序命令,则启动语音命令中程序路径下的应用程序;若语音命令属于语音模拟快捷键命令,则根据语音命令中的按键方式触发相应的按键操作;若语音命令属于语音打开网页标签命令,则在浏览器中打开语音命令的网址对应的网页;同吋,该模块将识别出的语音命令内容传给界面交互模块; 存储模块利用哈希表和XML文件存储了语音信息文本对应的语音命令;哈希表存储了系统有限的常用基本语音命令,即语音控制鼠标命令,其内容为鼠标的各种事件;当语音控制功能模块调用该部分命令,则将其鼠标的各种事件作为參数传递给语音控制功能模块中的鼠标动作函数。XML文件则存储了可扩展的语音命令,包括语音模拟快捷键命令,语音启动应用程序命令、语音打开网页标签命令;当语音控制功能模块调语音模拟快捷键命令,则将其中存储的快捷键组合方式作为參数传递给语音控制功能模块中的模拟快捷键按键函数;当语音控制功能模块调语音启动快捷键命令,则将其中存储的应用程序名作为參数传递给语音控制功能模块中的启动程序函数;当语音控制功能模块调语音打开网页标签命令,则将其中存储的网址作为參数传递给语音控制功能模块中的网页打开函数;该模块还允许对XML中存储的命令进行增加、修改、删除和查询操作;界面交互模块接收程序控制模块传来的各功能流程的运行情況,在主窗体界面上显示各功能的激活状态,并提示用户可进行的操作;接收头部姿态控制功能模块传来的头部区域和头部动作方向情况,在主窗体上绘制的视频窗口上绘制人脸区域,并在鼠标附近绘制了上下左右四个方向的可变色的半透明箭头用以标明头部动作的移动方向;接收语音命令模块传来的语音命令内容,在主窗体上以文字形式显示语音命令的内容,以便用户查看; 程序控制模块接受头部姿态控制功能模块传递的数据,包括头部姿态控制功能模块是否开启,头部姿态控制功能模块处于哪种模式,即普通模式或者游戏模式;该模块还允许用户切换头部姿态控制功能模块的启用与关闭,允许用户切换头部姿态控制功能模块两种模式的切換;接收语音控制功能模块传递的数据,包括语音控制功能模块是否开启,语音控制功能模块是否处于听写状态下;允许用户切換语音控制功能模块的启用与关闭,允许用户切换语音控制模块听写状态的开启与关闭;接收用户信息采集模块传递的信息,即视频输入设备和语音输入设备是否存在,程序控制功能根据信息,决定是否开启头部姿态控制功能模块或者语音控制功能模块; 自定制模块允许用户对语音命令进行修改,修改的数据通过界面交互模块从用户出获取,修改后的语音命令传递给存储模块重新存储;用户可自定制的内容包括识别头部动作的阈值,即头部动作灵敏度,语音控制功能使用的语音命令。
2.根据权利要求所述的多维感官人机交互系统,其特征在于所述用户信息识别分析模块还为不同种类的语音命令编写了不同的语法,由于每ー种语法都是基于小词汇量的且都设置了识别的置信度下限,从而提高了语音识别的准确度。
3.多维感官人机交互方法,其特征在于实现步骤如下 (1)采集用户信息用户信息采集模块从操作系统默认的视频输入设备和音频输入设备获取视频流和音频流,并传给用户信息识别分析模块;如果操作系统没有默认的视频输入设备或音频输入设备,程序控制模块阻塞用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块中与头部姿态或语音有关的程序流程; (2)识别分析用户信息用户信息识别分析模块对从用户信息采集模块得到的视频流和音频流进行处理,得到系统能够直接处理的信息对象;对于视频流,用户信息识别分析模块从中提取到彩色帧,经过颜色空间转换、均值化处理、图像缩放、边缘处理、计算积分图像和使用分类器搜索目标后,检测出每ー帧中的头部图像,得到每ー帧所识别出的头部图像的数组送至头部姿态控制功能模块;对于音频流的处理,用户信息识别分析模块会调用相关的语音应用程序接ロ(SAPI),通过语音识别引擎将语音转换成语音信息文本,传送给语首控制功能I旲块; (3)头部姿态控制或语音控制功能实现头部姿态控制功能模块从得到的每ー帧头部图像的数组中检测出最大的头部作为识别的用户的头部,根据识别出的用户头部,确定用户头部的中心位置,并计算出连续N帧的头部中心位置的平均值作为标定值;当某ー帧用户头部的中心位置的超出平均值达到模块设定的阈值时,则判定用户头部处于运动状态;否则,判定用户头部处于静止状态;用户头部处于运动状态时,头部姿态控制功能模块提供两种模式供用户选择普通模式和游戏模式,用户可通过程序控制模块对这两种模式进行选择,若用户选择普通模式,头部姿态控制功能模块可根据头部动作方向控制鼠标的移动方向,即将头部动作方向映射为鼠标的移动方向;若用户选择游戏模式,头部姿态控制功能模块可根据头部动作方向模拟游戏的方向按键;同时,头部姿态控制功能模块将识别出的头部区域、头部动作方向传给界面交互模块;语音控制功能模块接受用户信息识别分析模块输出的语音信息文本,由程序控制模块判断系统听写状态是否开启;用户可通过程序控制模块选择听写状态的开启与关闭;若听写状态开启,则该模块接受语音信息文本后,调用存储模块中的快捷键语音命令,进行查找匹配,如果匹配成功,则触发对应的键盘按键事件,完成语音命令所代表的windows操作系统的快捷键操作;如果匹配失败,则将接受的语 音信息文以文字的形式发送到剪切板中,再粘贴到鼠标光标所在处,完成听写功能;若听写状态关闭,首先将接收到的语音信息文本与存储模块中存储的语音命令进行查找匹配,找到相应的语音命令;根据语音命令的内容,完成不同的操作;若语音命令属于语音控制鼠标命令,则根据语音命令的内容触发语音命令所映射的鼠标动作;若语音命令属于语音启动程序命令,则启动语音命令中程序路径下的应用程序;若语音命令属于语音模拟快捷键命令,则根据语音命令中的按键方式触发相应的按键操作;若语音命令属于语音打开网页标签命令,则在浏览器中打开语音命令的网址对应的网页;同吋,将识别出的语音命令内容传给界面交互模块; (4)用户界面输出界面交互模块接收程序控制模块传来的各功能流程的运行情況,在主窗体界面上显示各功能的激活状态,并提示用户可进行的操作;界面交互模块接收头部姿态控制功能模块传来的头部区域和头部动作方向情况,在主窗体上绘制的视频窗口上绘制人脸区域,并在鼠标附近绘制了上下左右四个方向的可变色的半透明箭头用以标明头部动作的移动方向;界面交互模块接收语音命令模块传来的语音命令内容,在主窗体上以文字形式显示语音命令的内容,以便用户查看;同时,用户也可以通过界面交互模块输入自定制信息修改头部动作灵敏度和语音命令内容。
全文摘要
多维感官人机交互系统及交互方法,是一种基于头部姿态控制、语音控制和键盘鼠标操作等交互方式相结合的多维感知人机交互系统及方法,由8个模块组成用户信息采集模块、用户信息识别分析模块、头部姿态控制功能模块、语音控制功能模块、存储模块、界面交互模块、自定制模块和程序控制模块。该方法通过采集用户信息、识别分析用户信息、头部姿态控制或语音控制功能实现、用户界面输出4个过程实现。本发明具有适用范围广、可维护性好、扩展性好等优点。此外,该系统为计算机用户提供了一种新颖的人机交互的处理方法,对于普通用户提高操作效率、颈部健身,以及老年人学习计算机,都有很大的帮助。
文档编号G06F17/30GK102622085SQ20121010534
公开日2012年8月1日 申请日期2012年4月11日 优先权日2012年4月11日
发明者宋友, 张野, 王泽强, 王洪磊, 罗云峰, 钦恩强 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1