人机交互方法及系统与流程

文档序号:12461657阅读:594来源:国知局
人机交互方法及系统与流程

本申请涉及人机交互技术领域,尤其涉及一种人机交互方法及系统。



背景技术:

随着智能化信息技术的发展,新的交互方式层出不穷,特别是出现了多种非接触式的交互方式,例如基于语音控制的交互方式、基于体感控制的交互方式。

在基于体感控制的非接触式人机交互方案中,眼控识别是重要方向之一,其原理是通过捕捉用户的眼球运动作为图形化界面的输入方式,实现人机交互。现有眼控识别对采集图像的分辨率要求较高,因此需要采用分辨率高的摄像机或摄像头,或者需要红外光源等,实现成本较高,而且为保证眼控的使用效果,使用眼控方法需要事先用户配合进行校准,使用过程中需尽量限制头部的运动,故其算法也较为复杂,对设备性能要求较高,在一般设备上无法实施,普适性较差。



技术实现要素:

本申请的多个方面提供一种人机交互方法及系统,用以提供一种普适性较强的人机交互方案,降低人机交互的成本和实现难度,适用于各种设备。

本申请实施例提供一种人机交互方法,包括:

在人机交互界面上,显示至少一个待选对象;

对用户的脸部区域进行图像采集,以获得人脸图像帧;

根据所述人脸图像帧,识别所述用户的头部动作为对象选择动作;

基于所述对象选择动作,标记所述至少一个待选对象中的第一对象为选中状态。

在一可选实施方式中,所述对象选择动作为头部转动动作;

所述第一对象的选中状态的标记步骤,包括:

根据所述头部转动动作的转动方向,确定所述用户的面部朝向;

根据面部朝向与待选对象之间的相对位置关系,确定所述至少一个待选对象中对应于所述面部朝向的对象,作为所述第一对象;

标记所述第一对象为选中状态。

在一可选实施方式中,在标记所述第一对象为选中状态后,所述方法还包括:

继续对所述用户的脸部区域进行图像采集,以获得新的人脸图像帧;

根据所述新的人脸图像帧,识别所述用户的头部动作为选择确认动作或选择取消动作;

基于所述选择确认动作或选择取消动作,确认或取消所述第一对象的选中状态。

在一可选实施方式中,所述选择确认动作的识别步骤,包括:

根据选定特征点在所述新的人脸图像帧中的坐标,计算所述选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度;

若所述选定特征点的垂直方向坐标变化幅度与所述选定特征点的水平方向坐标变化幅度满足第一比例关系,且所述垂直方向坐标变化幅度大于垂直方向坐标变化幅度阈值,确定所述用户的头部动作为点头动作,所述点头动作为所述选择确认动作;

所述选择取消动作的识别步骤,包括:

根据选定特征点在所述新的人脸图像帧中的坐标,计算所述选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度;

若所述选定特征点的垂直方向坐标变化幅度与所述选定特征点的水平方向坐标变化幅度满足第二比例关系,且所述水平方向坐标变化幅度大于水平方向坐标变化幅度阈值,确定所述用户的头部动作为摇头动作,所述摇头动作为所述选择取消动作。

在一可选实施方式中,所述水平方向坐标变化幅度和所述垂直方向坐标变化幅度的计算步骤,包括:

根据所述选定特征点在所述新的人脸图像帧中的横坐标和纵坐标,分别计算平均横坐标和平均纵坐标;

从所述选定特征点在所述新的人脸图像帧中的横坐标与所述平均横坐标的差值的绝对值中,选择最大绝对值作为所述水平方向坐标变化幅度;

从所述选定特征点在所述新的人脸图像帧中的纵坐标与所述平均纵坐标的差值的绝对值中,选择最大绝对值作为所述垂直方向坐标变化幅度。

在一可选实施方式中,所述第一对象的选中状态的标记步骤,包括:

以第一方式,突出显示所述第一对象;

所述第一对象的选中状态的确认步骤,包括:

以不同于所述第一方式的第二方式,突出显示所述第一对象;

所述第一方式或所述第二方式包括:高亮、加选择框、加颜色、动画中的至少一种方式。

在一可选实施方式中,所述至少一个待选对象包括:界面区域和/或界面元素。

在一可选实施方式中,所述至少一个待选对象的显示步骤,包括:

将所述人机交互界面垂直划分为多个界面区域;

在所述人机交互界面上,显示所述多个界面区域的边界线。

本申请实施例还提供一种人机交互系统,包括:

显示器,用于显示人机交互界面,所述人机交互界面包括至少一个待选对象;

图像采集设备,用于对用户的脸部区域进行图像采集,以获得人脸图像帧;

交互控制设备,连接于所述图像采集设备和所述显示器,用于根据所述图像采集设备采集到的人脸图像帧,识别所述用户的头部动作为对象选择动作,基于所述对象选择动作,标记所述至少一个待选对象中的第一对象为选中状态。

在一可选实施方式中,所述图像采集设备还用于:继续对所述用户的脸部区域进行图像采集,以获得新的人脸图像帧;

所述交互控制设备还用于:根据所述图像采集设备采集到的新的人脸图像帧,识别所述用户的头部动作为选择确认动作或选择取消动作,以及基于所述选择确定动作或选择取消动作,确认或取消所述第一对象的选中状态。

在本申请实施例中,对用户的脸部区域进行图像采集,获得人脸图像帧,基于采集到的人脸图像帧识别用户的头部动作,基于用户的头部动作实现人机交互。与现有基于眼动的人机交互方案相比,本申请技术方案对硬件要求较低,通过普通的摄像头或摄像机即可实现,而且本申请技术方案对用户的头部运动限制较少,无需事先进行校准,算法难度较低,这使得本申请技术方案的整体实现成本较低,普适性较强。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一实施例提供的人机交互系统的结构示意图;

图2为本申请另一实施例提供的人机交互界面显示待选对象的示意图;

图3a为本申请另一实施例提供的展示人脸图像帧中的特征点的示意图;

图3b为本申请另一实施例提供的通过点头动作确认选择第一对象的示意图;

图4为本申请又一实施例提供的人机交互方法的流程示意图;

图5为本申请又一实施例提供的人机交互方法的流程示意图;

图6为本申请又一实施例提供的人机交互方法的流程示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供的人机交互方法可基于图1所示的人机交互系统实现,但并不限于此。如图1所示,所述人机交互系统包括:显示器10、图像采集设备20以及交互控制设备30。

其中,显示器10以及图像采集设备20分别与交互控制设备30连接。显示器10或图像采集设备20与交互控制设备30之间可以是无线或有线网络连接。

例如,显示器10或图像采集设备20可以通过移动网络与交互控制设备30通信连接。该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。

又例如,显示器10或图像采集设备20可以通过WiFi、蓝牙、红外等无线网络与交互控制设备30通信连接。

在本系统中,显示器10主要用于显示人机交互界面,所述人机交互界面包括至少一个待选对象。值得说明的是,本系统并不限定待选对象的实现形式,可以是任何能够呈现于人机交互界面上且可被用户选择的对象。举例说明,所述至少一个待选对象可以包括界面区域和/或界面元素。界面区域是指人机交互界面上的区域;界面元素是指人机交互界面上呈现的元素。

在一可选实施方式中,待选对象为界面区域,界面区域内的内容可以被选择(类似于Windows操作系统中鼠标单击效果)和选中(类似于Windows操作系统中鼠标单击效果)。可选的,显示器10显示的人机交互界面可被划分为多个界面区域,如被垂直划分为三个界面区域,分别为左中右三个界面区域;在人机交互界面上,显示多个界面区域的边界线,以达到显示多个界面区域的目的。

在本系统中,图像采集设备20主要用于对用户的脸部区域进行图像采集,以获得人脸图像帧。根据应用需求的不同,图像采集设备20可以实时采集一个或多个人脸图像帧。

可选的,图像采集设备20可架设于显示器10的某一部位,或者置于显示器10内部实现。

可选的,图像采集设备20可以是摄像头或摄像机等任何具有图像采集功能的设备。优选的,图像采集设备20可以选用普通的摄像头或摄像机,以降低整个人机交互系统的实现成本。

在本系统中,交互控制设备30连接于显示器10和图像采集设备20,主要用于根据图像采集设备20采集到的人脸图像帧,识别用户的头部动作为对象选择动作,基于所述对象选择操作,标记至少一个待选对象中的第一对象为选中状态。

可选的,交互控制设备30可以是任何具有一定处理能力的设备,例如可以是计算机、智能终端、平板电脑、服务器等。优选的,交互控制设备30可以选用成本较低的计算机,以降低整个人机交互系统的实现成本。

本实施例提供的人机交互系统,可基于用户的头部动作实现人机交互,与现有基于眼动的人机交互方案相比,对硬件要求较低,通过普通的摄像头或摄像机即可实现,而且本申请技术方案对用户的头部运动限制较少,无需事先进行校准,算法难度较低,这使得本申请实施例提供的人机交互系统的整体实现成本较低,普适性较强。

在一可选实施方式中,显示器10显示人机交互界面,所述人机交互界面包括至少一个待选对象。图像采集设备20对用户的脸部区域进行图像采集,以实时获得人脸图像帧。交互控制设备30运行开源计算机视觉库(Open Source Computer Vision Library,OpenCV),通过OpenCV的cv::VideoCapture()函数,读取图像采集设备20实时采集到的人脸图像帧。可选的,可以将读取到的人脸图像帧命名为captured_image。

在获得图像采集设备20采集到的人脸图像帧后,交互控制设备30可以根据人脸图像帧对用户的头部动作进行识别。在该实施方式中,设置头部转动动作为对象选择动作。则在人机交互过程中,交互控制设备30需要基于图像采集设备20采集到的人脸图像帧识别用户的头部转动动作。

例如,交互控制设备30可以使用OpenFace开源的面部行为分析工具,调用void outputAllFeatures获得检测结果数据,其中包括了面部朝向的坐标数据pose_estimate,根据pose_estimate数据的变化识别用户的头部动作;当识别到用户的头部朝向坐标发生变化,将该动作识别为用户头部转动,程序将判断该动作为用户需要进行对象选择。其中,OpenFace是一个基于深度神经网络的开源人脸识别系统,其原理可参见现有技术,在此不再赘述。

在上述头部转动动作的基础上,可以预先设置用户的面部朝向与待选对象之间的相对位置关系,以便于基于头部转动动作进行对象选择。设置相对位置关系,根据实际使用情景下人机交互界面与用户操作的相对距离和高度,角度等位置,例如预先判断面部朝向的大致范围,得到面部转动角度的数据的变化范围,将面部转动角度的数据变化范围平均划分为N个区域,N为交互界面的划分数量。即通过预先设定方式,将用户面部转动的动作,随动作幅度变化,映射到人机交互界面的N个区域。

以图2所示的人机交互界面为例,该人机交互界面包括左中右三个界面区域,三个界面区域为待选对象。在该示例中,可以设置左侧界面区域对应于面部朝向屏幕左侧,中间界面区域对应于面部朝向屏幕正中间,右侧界面区域对应于面部朝向屏幕右侧。基于此,当检测到用户的面部朝向偏向屏幕左侧时,选择左侧边界区域,如图2所示;当检测到用户的面部朝向在屏幕中间附近时,选择中间边界区域;当检测到用户的面部朝向偏向屏幕右侧时,选择右侧边界区域。

基于上述面部朝向与待选对象之间的相对位置关系,交互控制设备30在确定用户的头部动作为头部转动动作后,可以根据头部转动动作的转动方向,确定用户的面部朝向;根据面部朝向与待选对象之间的相对位置关系,确定至少一个待选对象中对应于用户的面部朝向的对象,作为第一对象;然后,标记第一对象为选中状态。其中,第一对象为用户选择的对象。例如,可以通过高亮、加选择框、加颜色、动画中的至少一种方式对第一对象进行标记。

可选的,在对用户的面部行为进行分析的过程中,交互控制设备30可以通过OpenFace/FeatureExtraction/FeatureExtraction.cpp中Void outputAllFeatures()函数将每帧人脸图像帧的检测结果记录到一个文件中;基于此,交互控制设备30可以利用const cv::Vec6d&pose_estimate获得用户的面部朝向信息,进而基于用户的面部朝向确定第一对象。

对显示器10来说,除了显示人机交互界面之外,还需要在人机交互界面上显示第一对象的选中状态。

在另一可选实施方式中,显示器10显示人机交互界面,所述人机交互界面包括至少一个待选对象。图像采集设备20对用户的脸部区域进行图像采集,以实时获得人脸图像帧。交互控制设备30根据图像采集设备20实时采集到的人脸图像帧,识别用户的头部动作为对象选择动作,基于所述对象选择操作,标记至少一个待选对象中的第一对象为选中状态。

在标记第一对象为选中状态后,图像采集设备20还可以继续对用户的脸部区域进行图像采集,以获得新的人脸图像帧。根据应用需求的不同,图像采集设备20可以实时采集一个或多个新的人脸图像帧。优选的,图像采集设备20可以连续采集多个新的人脸图像帧。相应地,交互控制设备30还可以根据图像采集设备20采集到的新的人脸图像帧,识别用户的头部动作为选择确认动作或选择取消动作;进而基于选择确认动作或选择取消动作,确认或取消第一对象的选中状态。

在该实施方式中,通过增加选择确认动作和选择取消动作,有利于避免因为无意识的头部动作而引起的误操作,提高人机交互的精确性。

在此说明,上述对象选择动作、选择确定动作以及选择取消动作是不同的头部动作,但本实施例并不限定上述对象选择动作、选择确定动作以及选择取消动作的具体实现形式。

在一可选实施方式中,上述对象选择动作为头部转动动作,上述选择确认动作可以是点头动作;相应地,选择取消动作可以是摇头动作,但并不限于此。为识别点头动作或摇头动作,图像采集设备20需要采集多个新的人脸图像帧。这里的多个是指至少两个。

基于上述,在确认第一对象的选中状态的过程中,需要识别用户的点头动作。可选的,考虑到人脸图像帧中的特征点较多,例如通过OpenFace中FeatureExtraction/FeatureExtraction.cpp函数可以从人脸图像帧中提取到多达68个特征点,如图3a所示人脸图像帧中的特征点。为了降低图像处理的复杂度,减少数据量,交互控制设备30可以从人脸特征点中选择部分特征点,例如可以选择一个或多个特征点,称为选定特征点,例如,选定特征点可以是图3a所示人脸图像帧中方框内的特征点,即位于鼻尖位置处的特征点,可记为第32号特征点;根据选定特征点在多个新的人脸图像帧中的坐标,计算选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度;若选定特征点的垂直方向坐标变化幅度与选定特征点的水平方向坐标变化幅度满足第一比例关系,且垂直方向坐标变化幅度大于垂直方向坐标变化幅度阈值,确定用户的头部动作为点头动作,所述点头动作为选择确认动作。

根据应用场景的不同,第一比例关系可适应性设置。例如,第一比例关系可以是选定特征点的垂直方向坐标变化幅度为水平方向坐标变化幅度的指定倍数,则当选定特征点的垂直方向坐标变化幅度是选定特征点的水平方向坐标变化幅度的指定倍数,且垂直方向坐标变化幅度大于垂直方向坐标变化幅度阈值时,确定用户的头部动作为点头动作。

基于上述,在取消第一对象的选中状态的过程中,需要识别用户的摇头动作。可选的,交互控制设备30可以从人脸特征点中选择部分特征点,例如可以选择一个或多个特征点,称为选定特征点;根据选定特征点在多个新的人脸图像帧中的坐标,计算选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度;若选定特征点的垂直方向坐标变化幅度与选定特征点的水平方向坐标变化幅度满足第二比例关系,且所述水平方向坐标变化幅度大于水平方向坐标变化幅度阈值,确定用户的头部动作为摇头动作,所述摇头动作为所述选择取消动作。

根据应用场景的不同,第二比例关系可适应性设置。例如,第二比例关系可以是选定特征点的水平方向坐标变化幅度为垂直方向坐标变化幅度的指定倍数,则当选定特征点的水平方向坐标变化幅度是选定特征点的垂直方向坐标变化幅度的指定倍数,且水平方向坐标变化幅度大于水平方向坐标变化幅度阈值时,确定用户的头部动作为摇头动作。

在上述识别点头动作或摇头动作的过程中,在设定阈值的前提下,加入水平方向坐标变化幅度与垂直方向坐标变化幅度变化比例这一约束条件,即使用户与图像采集设备20之间的距离在较大范围内变化,也能准确检测到用户的点头动作或摇头动作。

在上述识别点头动作或摇头动作的过程中,需要识别选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度。可选的,交互控制设备30可以根据选定特征点在多个新的人脸图像帧中的横坐标和纵坐标,分别计算平均横坐标和平均纵坐标;从选定特征点在多个新的人脸图像帧中的横坐标与平均横坐标的差值的绝对值中,选择最大绝对值作为水平方向坐标变化幅度;从选定特征点在多个新的人脸图像帧中的纵坐标与平均纵坐标的差值的绝对值中,选择最大绝对值作为垂直方向坐标变化幅度。

举例说明,预先设定一检测窗口,该检测窗口用于截取连续的N个人脸图像帧,记为|frame1,frame2,...,frameN|;在人脸图像帧frameN处检测点头动作或摇头动作,可以获得frame1~frameN之间每个人脸图像帧中鼻尖位置处的特征点的坐标,记为(x1,y1),...,(xN,yN),计算其平均坐标为(x*,y*);其中,x*=(x1+x2+,...,+xN)/N;y*=(y1+y2+,...,+yN)/N。将每一个人脸图像帧中鼻尖位置处的特征点的坐标(xi,yi)与平均坐标(x*,y*)相比较,其变化情况记为|xi-x*|和|yi-y*|;在判断点头动作或摇头动作时,取x轴变化最大的绝对值与y轴变化最大的绝对值,作为水平方向坐标变化幅度和垂直方向坐标变化幅度进行判断。

在上述实施例或下述实施例中,标记第一对象为选中状态的步骤,可以为:以第一方式,突出显示第一对象;所述第一方式包括:高亮、加选择框、加颜色、动画中的至少一种方式。

相应地,在上述实施例或下述实施例中,确认第一对象的选中状态的步骤,可以为:以不同于第一方式的第二方式,突出显示第一对象;所述第二方式包括:高亮、加选择框、加颜色、动画中的至少一种方式。

举例说明,当识别到用户的头部转动动作时,确定第一对象并将第一对象的边框设置为灰色;当识别到用户的点头动作时,将第一对象的边框变更为黑色。

举例说明,当识别到用户的头部转动动作时,确定第一对象并在第一对象外侧添加实线框,实线框的线条较细,如图2所示,选中左侧的界面区域;当识别到用户的点头动作时,改变第一对象外侧的实线框的线条宽度,如图3b所示。

举例说明,当识别到用户的头部转动动作时,确定第一对象并在第一对象外侧添加虚线框;当识别到用户的点头动作时,将第一对象外侧的虚线框变更为实线框。

基于上述人机交互系统,本申请又一实施例提供的人机交互方法,如图4所示,所述方法包括:

401、在人机交互界面上,显示至少一个待选对象。

402、对用户的脸部区域进行图像采集,以获得人脸图像帧。

403、根据人脸图像帧,识别用户的头部动作为对象选择动作。

404、基于对象选择动作,标记至少一个待选对象中的第一对象为选中状态。

本实施例并不限定待选对象的实现形式,可以是任何能够呈现于人机交互界面上且可被用户选择的对象。举例说明,所述至少一个待选对象可以包括界面区域和/或界面元素。界面区域是指人机交互界面上的区域;界面元素是指人机交互界面上呈现的元素。

在一可选实施方式中,待选对象为界面区域,界面区域内的内容可以被选择(类似于Windows操作系统中鼠标单击效果)和选中(类似于Windows操作系统中鼠标单击效果)。可选的,可以将人机交互界面划分为多个界面区域,在人机交互界面上,显示这多个界面区域的边界线,以达到显示多个界面区域的目的。例如,如图2所示,可以将人机交互界面可垂直划分为三个界面区域,分别为左中右三个界面区域;在人机交互界面上,显示这三个界面区域的边界线,以达到显示三个界面区域的目的。又例如,也可以将人机交互界面可垂直划分为两个界面区域,分别为左右两个界面区域;在人机交互界面上,显示这两个界面区域的边界线,以达到显示两个界面区域的目的。

为了便于实现人机交互,对用户的脸部区域进行图像采集,以获得人脸图像帧,进而根据人脸图像帧,识别用户的头部动作。例如,可以通过图像采集设备,如摄像头或摄像机对用户的脸部区域进行采集,以获得人脸图像帧。根据应用需求的不同,可以实时采集一个或多个人脸图像帧。可选的,可以使用OpenFace开源的面部行为分析工具,检测人脸图像帧中的特征点,基于特征点的坐标变化识别用户的头部动作。

当识别到用户的头部动作为对象选择动作时,基于识别到的对象选择动作,从至少一个待选对象中确定该对象选择动作需要选择的对象,记为第一对象,并标记第一对象为选中状态,以完成人机交互。

在本实施例中,基于用户的头部动作实现人机交互,与现有基于眼动的人机交互方案相比,对硬件要求较低,通过普通的摄像头或摄像机即可实现,而且本实施例对用户的头部运动限制较少,无需事先进行校准,算法难度较低,整体实现成本较低,普适性较强。

在图4所示实施例的基础上,本申请又一实施例提供一种人机交互方法,如图5所示,所述方法在步骤404之后,还包括:

405、继续对用户的脸部区域进行图像采集,以获得新的人脸图像帧。

406、根据所述新的人脸图像帧,识别用户的头部动作为选择确认动作或选择取消动作。

407、基于所述选择确认动作或选择取消动作,确认或取消第一对象的选中状态。

在本实施例中,在基于用户的对象选择动作将第一对象标记为选中状态后,继续对用户的脸部区域进行图像采集,以获得新的人脸图像帧,并根据新的人脸图像帧进一步识别用户的头部动作,以供用户确认选择第一对象,或者取消选择第一对象,有利于避免因为无意识的头部动作而引起的误操作,提高人机交互的精确性。

在上述实施例中,对象选择动作、选择确定动作以及选择取消动作是不同的头部动作,但并不限定上述对象选择动作、选择确定动作以及选择取消动作的具体实现形式。

在一可选实施方式中,对象选择动作可以为头部转动动作,选择确认动作可以是点头动作;相应地,选择取消动作可以是摇头动作。基于此,本申请又一实施例提供一种人机交互方法,如图6所示,包括:

601、在人机交互界面上,显示至少一个待选对象。

本实施例并不限定待选对象的实现形式,可以是任何能够呈现于人机交互界面上且可被用户选择的对象。举例说明,所述至少一个待选对象可以包括界面区域和/或界面元素。界面区域是指人机交互界面上的区域;界面元素是指人机交互界面上呈现的元素。

602、对用户的脸部区域进行图像采集,以获得人脸图像帧。

例如,可以通过图像采集设备,如摄像头或摄像机对用户的脸部区域进行采集,以获得人脸图像帧,进而通过OpenCV的cv::VideoCapture()函数,读取图像采集设备采集到的人脸图像帧。

603、根据所述人脸图像帧,识别用户的头部动作为头部转动动作。

可选的,可以使用OpenFace开源的面部行为分析工具,检测人脸图像帧中的特征点,基于特征点的坐标变化识别用户的头部动作;当识别到用户的头部动作为头部转动动作时,确定用户需要进行对象选择。

604、根据所述头部转动动作的转动方向,确定所述用户的面部朝向。

605、根据面部朝向与待选对象之间的相对位置关系,确定至少一个待选对象中对应于所述面部朝向的对象,作为所述第一对象。

在本实施例中,预先设置用户的面部朝向与待选对象之间的相对位置关系,以便于基于头部转动动作进行对象选择。基于所述面部朝向与待选对象之间的相对位置关系,在确定用户的头部动作为头部转动动作后,可以根据头部转动动作的转动方向,确定用户的面部朝向;根据面部朝向与待选对象之间的相对位置关系,确定至少一个待选对象中对应于用户的面部朝向的对象,作为第一对象。

以图2所示的人机交互界面为例,该人机交互界面包括左中右三个界面区域,三个界面区域为待选对象。在该示例中,可以设置左侧界面区域对应于面部朝向屏幕左侧,中间界面区域对应于面部朝向屏幕正中间,右侧界面区域对应于面部朝向屏幕右侧。基于此,当检测到用户的面部朝向偏向屏幕左侧时,选择左侧边界区域,如图2所示;当检测到用户的面部朝向屏幕中间时,选择中间边界区域;当检测到用户的面部朝向偏向屏幕右侧时,选择右侧边界区域。

606、以第一方式,突出显示第一对象,以将为对象标记为选中状态。

可选的,第一方式包括:高亮、加选择框、加颜色、动画中的至少一种方式。

607、继续对用户的脸部区域进行图像采集,以获得多个新的人脸图像帧。

608、判断根据多个新的人脸图像帧,识别到用户的头部动作是点头动作还是摇头动作;若根据多个新的人脸图像帧,识别到用户的头部动作为点头动作,则执行步骤609;若根据多个新的人脸图像帧,识别到用户的头部动作为摇头动作,则执行步骤610。

例如,可以从人脸特征点中选择部分特征点,例如可以选择一个或多个特征点,称为选定特征点,优选的,可以选择位于鼻尖位置处的特征点;根据选定特征点在多个新的人脸图像帧中的坐标,计算选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度。

当选定特征点的垂直方向坐标变化幅度与选定特征点的水平方向坐标变化幅度满足第一比例关系,且垂直方向坐标变化幅度大于垂直方向坐标变化幅度阈值时,确定用户的头部动作为点头动作。

当选定特征点的垂直方向坐标变化幅度与选定特征点的水平方向坐标变化幅度满足第二比例关系,且所述水平方向坐标变化幅度大于水平方向坐标变化幅度阈值时,确定用户的头部动作为摇头动作。

根据应用场景的不同,第一比例关系和第二比例关系可适应性设置。

在上述识别点头动作或摇头动作的过程中,需要识别选定特征点的水平方向坐标变化幅度和垂直方向坐标变化幅度。可选的,可以根据选定特征点在多个新的人脸图像帧中的横坐标和纵坐标,分别计算平均横坐标和平均纵坐标;从选定特征点在多个新的人脸图像帧中的横坐标与平均横坐标的差值的绝对值中,选择最大绝对值作为水平方向坐标变化幅度;从选定特征点在多个新的人脸图像帧中的纵坐标与平均纵坐标的差值的绝对值中,选择最大绝对值作为垂直方向坐标变化幅度。

在上述识别点头动作或摇头动作的过程中,在设定阈值的前提下,加入水平方向坐标变化幅度与垂直方向坐标变化幅度变化比例这一约束条件,即使用户与图像采集设备之间的距离在较大范围内变化,也能准确检测到用户的点头动作或摇头动作。

609、以第二方式,突出显示第一对象,以确认第一对象的选中状态。

其中,第二方式也可以包括:高亮、加选择框、加颜色、动画中的至少一种方式,但第二方式不同于第一方式。第二方式与第一方式的不同之处可以是任何用户可直观看到的不同,例如样式、颜色等。通过第二方式突出显示第一对象,以表示用户最终确认选择第一对象。

610、以默认方式,显示第一对象,以取消第一对象的选中状态。

其中,默认方式不同于第一方式,通过默认方式显示第一对象,以表示用户最终取消对第一对象的选择。

在本实施例中,基于用户的头部动作实现人机交互,与现有基于眼动的人机交互方案相比,对硬件要求较低,通过普通的摄像头或摄像机即可实现,而且本实施例对用户的头部运动限制较少,无需事先进行校准,算法难度较低,整体实现成本较低,普适性较强。而且,本实施例通过增加选择确认动作和选择取消动作,有利于避免因为无意识的头部动作而引起的误操作,提高人机交互的精确性。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1