一种目光捕捉方法和采用目光捕捉的人机交互方法

文档序号:6438848阅读:430来源:国知局
专利名称:一种目光捕捉方法和采用目光捕捉的人机交互方法
一种目光捕捉方法和采用目光捕捉的人机交互方法技术领域
本发明属于人机交互技术领域,尤其涉及一种目光捕捉方法和采用目光捕捉的人机交互方法。
背景技术
现代计算机系统实现人机交互的方式主要借助麦克风、键盘、跟踪球、鼠标、触摸板、触笔、摇杆、手柄、数字手写板、手写屏、多点触摸屏、微软Kinect体感器等交互设备,上述这些方式通常需要人进行较为麻烦的操作,有的还需要人提前进行训练才能熟练掌握。
为了克服上述问题,现有技术中提出了一种眼动跟踪技术,该技术分为接触式和非接触式两类,其中接触式方式需要头戴微型摄像头设备,用来获取两眼瞳孔(或角膜)的中视点,非接触式是在PC机前安装两个微型摄像头,适合残疾人操作计算机使用。这些技术已经开始服务于医学、军事和教育等各个方面,尤其是可以利用到网络应用中。
但是基于目前的眼动跟踪技术在价格、精度和方便性等因素之间做出权衡是一件困难的事情。例如,视线跟踪的精度与对用户的限制和干扰是一对尖锐的矛盾。另外,视线跟踪设备的成本(人民币一万元 三十万元不等)也令普通的用户无法承受。发明内容
有鉴于此,本发明的目的在于提供一种目光捕捉方法和采用目光捕捉的人机交互方法,能够显著降低实现的成本(人民币60元 800元不等)。
为实现上述目的,本发明提供一种目光捕捉方法,包括
A.从图像捕捉设备捕捉的画面中识别出最大的一张人脸的左眼瞳仁在左眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度,并通过几何计算,得出双眼瞳仁在眼眶内横向偏移程度的平均值;
B.识别鼻子的横向转动程度;
C.将双眼瞳仁在眼眶内横向偏移程度的平均值按比例排除鼻子的横向转动程度, 得到人眼的注视点位置。
优选地,所述识别左眼瞳仁在左眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度具体实现为
通过人脸识别算法从图像捕捉设备捕捉的画面中识别出最大的一张人脸所在的矩形子区域;
通过人眼识别算法从所述人脸所在的矩形子区域中识别出双眼所在的矩形子区域;
在所述双眼所在的矩形子区域中识别出左眼眼眶所在的矩形子区域和右眼眼眶所在的矩形子区域;
在所述左眼眼眶所在的子区域中识别出左眼瞳仁的矩形子区域、以及右眼瞳仁的矩形子区域;
通过左眼瞳仁的矩形子区域的位置和左眼眼眶的矩形子区域的位置,计算左眼瞳仁在左眼眼眶内的横向偏移程度,通过右眼瞳仁的矩形子区域的位置和右眼眼眶的矩形子区域的位置,计算右眼瞳仁在右眼眼眶内的横向偏移程度。
优选地,还包括在通过几何计算,得出双眼瞳仁在眼眶内横向偏移程度的平均值之后,将双眼瞳仁在眼眶内横向偏移程度的平均值规整到士20的区间内。
优选地,所述识别鼻子的横向转动程度具体实现为
在人脸所在的矩形子区域内,针对左眼眼眶的矩形子区域外侧的第一区域、和右眼眼眶的矩形子区域外侧的第二区域分别进行自适应肉色检测,计算第一区域检测通过的像素数量占整个人脸的矩形子区域的像素数量的比例,计算第二区域检测通过的像素数量占整个人脸的矩形子区域的像素数量的比例,根据两个比例的差确定鼻子的横向转动程度。
优选地,所述根据两个比例的差确定鼻子的横向转动程度具体实现为
将所述两个比例的差规整到士20的区间内,从而得到鼻子的横向转动程度。
优选地,在预定周期内循环N次执行步骤A至步骤C,对获取的人眼注视点位置取平均,得到该预定周期内的人眼注视点位置。
优选地,该方法还包括
如果预定时间内连续两次人脸的矩形子区域的位置超过一定幅度的左右或者上下摇摆,则分别判断产生摇头和点头动作。
优选地,还包括在判定产生摇头或者摆头动作后,记录动作产生的时间。
另一方面,本发明还提供一种采用目光捕捉的人机交互方法,包括
采用如上述的目光捕捉的方法得到的人眼的注视点位置;
将所述人眼的注视点位置发送至上层应用程序。
另一方面,本发明还提供一种采用目光捕捉的人机交互方法,包括
采用如上述的目光捕捉的方法判断产生摇头或点头动作;
将产生摇头或点头的动作信息发送至上层应用程序。
本发明提供的方案可以获得人眼在注视哪个区域,对这个区域的划分可以不用特别精确,这使得实现本发明的方法不需要特别专业、价格昂贵的设备,因此显著降低了实现的成本从人民币一万元 三十万元不等节省到人民币60元 800元不等。此外,本发明提供的方案还有效地克服了人脸横向转动对于识别人眼注视点位置带来的误差。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种目光捕捉方法的流程图2是本发明一个实施例提供的目光捕捉方法的流程图3是利用图2中的方法进行识别的过程示意图4是利用图2中的方法对向左转动的人脸进行识别的过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明提供的一种目光捕捉方法的流程图,该方法包括
步骤SlOl 从图像捕捉设备捕捉的画面中识别出最大的一张人脸的左眼通孔在右眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度,并通过几何计算,得出双眼瞳仁在眼眶内的横向偏移程度的平均值。
步骤S102 识别鼻子的横向转动程度;
步骤S103 将双眼瞳仁在眼眶内横向偏移程度的平均值按比例排除鼻子的横向转动程度,得到人眼的注视点位置。
本发明实施例提供的方法中首先获得了双眼瞳仁在眼眶内横向偏移程度的平均值,同时还排除了鼻子的横向转动程度,这样可以消除人脸横向转动对人眼注视点的识别结果的影响,例如当目光始终对着某一区域,但是当人脸左右横向转动时,双眼瞳仁在眼眶内的横向偏移程度的平均值也将变化,所以本发明的方法通过鼻子的横向转动程度消除人脸转动因素的影响,确定更为准确客观的人眼注视位置。
以下以一个具体的例子详细说明本发明的具体实现。
图2为该具体实现方式中的目光捕捉方法的流程图,图3为利用图2中的方法对画面中的目光进行捕捉的示意图。请同时参见图2和图3,本实施例中的目光捕捉方法包括如下步骤
步骤S201 从图像捕捉设备捕捉的当前画面中通过人脸识别算法识别出最大的一张人脸所在的矩形子区域位置31 ;
在实际中可以使用OpenCV库来实现上述人脸识别的目的,优选地还要忽略高度太小和宽度太小的人脸。
步骤S202 通过人眼识别算法,在步骤S201识别出的人脸矩形子区域的基础上, 识别出双眼所在的矩形子区域32。
可以在人脸矩形子区域31的靠中四分之一范围内识别双眼,优选地应该忽略宽度过窄和过宽、高度过大或过小的双眼。
步骤S203 在双眼所在的矩形子区域32内,识别出左眼眼眶所在的矩形子区域 33L和右眼眼眶所在的矩形子区域33R。
根据人脸在眼睛所在高度的水平方向上,以下五部分的宽度比——左眼眼眶外侧左眼眼眶两眼眼眶中间右眼眼眶右眼眼眶外侧一约为1 1 1 1 1,可以得到左眼眼眶和右眼眼眶的大致有效范围。
然后可以分别在左眼眼眶和右眼眼眶的大致有效范围内使用轮廓提取技术获取左眼眼眶和右眼眼眶所在的矩形子区域位置。
步骤S204 在左眼眼框所在的矩形子区域33L内识别出左眼瞳仁的矩形子区域 34L,在右眼眼眶所在的矩形子区域33R内识别出右眼瞳仁的矩形子区域34R。6
可以使用图像形态学闭运算操作和轮廓提取技术获取左眼瞳仁的矩形子区域和右眼瞳仁的矩形子区域,优选地还应该忽略宽度过小或者过大、高度过小的瞳仁。
步骤S205 通过左眼瞳仁的矩形子区域34L的位置和左眼眼眶的矩形子区域33L 的位置,计算左眼瞳仁在左眼眼眶内的横向偏移程度;通过右眼瞳仁的矩形子区域34R的位置和右眼眼眶的矩形子区域33R的位置,计算右眼瞳仁在右眼眼眶内的横向偏移位置。
步骤S206 通过几何计算,得出双眼瞳仁在眼眶内的横向偏移程度的平均值。
S卩,通过几何平均的方式,计算步骤S205中的左眼瞳仁和右眼瞳仁的横向偏移程度的平均值,作为双眼瞳仁在眼眶内的横向偏移程度的平均值。
为了方便后续数据处理,优选地,可以将上述步骤S206中得到的横向偏移程度的平均值规整到士20的区间内。
步骤S207 在人脸所在的矩形子区域21内,针对左眼眼眶的矩形子区域外侧的第一区域35L、和右眼眼眶的矩形子区域外侧的第二区域35R分别进行自适应肉色检测,计算第一区域35L检测通过的像素数量占整个35L矩形子区域像素数量的比例,计算第二区域 35R检测通过的像素数量占整个35R矩形子区域的像素数量的比例,根据这两个比例的差确定鼻子的横向转动程度。
在人脸横向转动时所捕捉的画面中,靠近镜头一侧的脸部区域成像将放大,远离镜头一侧的脸部区域成像将缩小。以下结合附图4以人脸向左转向为例进行说明,如图4所示,当人脸向左转向时,脸部右侧靠近镜头,而脸部左侧远离镜头,这样一是因为近大远小的透视成像效果,二是因为脸部转动导致脸部左侧区域在成像面上的投影将比右侧区域在成像面上的投影明显缩小,致使在画面中左侧脸部的像素数量大于右侧脸部的像素数量, 而脸部的像素可以通过自适应肉色检测技术进行识别。
图4中也示出了通过上述步骤获得的各个矩形子区域(图4中与图3中附图标记相同的区域的含义相同,这里不再赘述),在执行步骤S207时,基于上文论述的原因,针对左眼眼眶的矩形子区域外侧的第一区域35L的进行自适应肉色检测得到的像素数量较少, 而针对右眼眼眶的矩形子区域外侧的第二区域35R进行自适应肉色检测得到的像素数量较多,所以第一区域35L检测通过的像素数量占整个35L矩形子区域像素数量的比例将少于第二区域35R检测通过的像素数量占整个35R矩形子区域像素数量的比例。由此可以得出鼻子向左转动的结论,即人脸向左转动的结论。而通过这两个比例的差的绝对值可以确定鼻子的转动程度。当然,也可以定义两个比例的差的含义就是第一区域对应的比例减去第二区域对应的比例的差,或者定义为第二区域对应的比例减去第一区域对应的比例的差,这样这个差就有了正负和大小信息,通过正负信息可以得知鼻子的转动方向,通过大小信息可以得知鼻子的转动程度。
此外需要说明的是,之所以利用两个比例的差,而不是利用两个比例中的任何一个比例来确定鼻子的横向转动程度,是因为当人脸横向转动时,通过目前的人脸识别技术, 通过步骤S201框出的人脸的矩形子区域31在远离镜头的脸部一侧的区域将框出更多的非人脸区域,这一点可以通过图4中框出的人脸矩形子区域31看出。因此在人脸横向转动过程中,由于人脸的矩形子区域的大小存在上述误差,导致最终得到的第一区域35L对应的比例和第二区域35R对应的比例本身并不太准,但是通过二者之差可以基本上消除上述误差。
为了方便后续数据处理,优选地,可以将步骤S207中得到的两个比例的差规整到士20的区间内,从而得到鼻子的横向转动程度。
步骤S208 将步骤S206中获得的双眼瞳仁在眼眶内横向偏移程度的平均值按比例排除步骤S207中获得的鼻子的横向转动程度,得到人眼的注视点位置。
需要说明的是,这里进行排除的比例可以是1 1,也可以是1 1.5等相差不大的数值范围内的比例,这是因为本发明并不要求对人眼的注视点位置的数值空间进行非常精确的划分,所以只需要粗略判定人眼是否注视某几块区域即可,并不需要达到判定人眼具体在看哪几个文字程度的精细度。
图2示出的各个步骤仅仅描述了对一帧图像进行处理的过程,而实际应用中,仅仅通过一个时刻捕捉的一帧画面断定人眼的注视点位置往往会带来误差,为了克服这种误差,可以对一段时间重复执行上述步骤,具体地,在预定周期内,循环N次执行步骤S201-步骤S208,即在预定周期内,对捕捉的N帧画面重复执行步骤S201-步骤S208,从而得到这 N帧画面的人眼注视点位置,并将这些人眼注视点取平均,优选地在上述取平均之前可以排除相邻差别过大的数据,从而得到一段时间内的注视点位置平均值。为了方便数据处理,还可以将这里得到的一段时间内的注视点位置平均值规整到士40之间。
当基于上述思想在预定周期内循环N次执行步骤S201-步骤S208之后,还可以针对相邻两次循环识别出的人脸的矩形子区域的位置是否超过一定程度的左右摇摆,如果超过则累计次数,当在该预定周期内,相邻两次循环的人脸的矩形子区域的位置超过一定幅度的左右摇摆的次数超过两次时,可以判定产生摇头动作。
也可以针对相邻循环识别出的人脸的矩形子区域的位置是否超过一定程度的上下摇摆,如果超过则累计次数,当在预定周期内,相邻两次循环的人脸的矩形子区域的位置超过一定幅度的上下摇摆的次数超过两次时,可以判定产生点头动作。
当判定产生点头或摇头动作后,可以记录动作产生的时间。
此外,本发明另一个实施例还提供一种采用目光捕捉的人机交互方法,该方法包括利用上述各个实施例提供的目光捕捉方法得到的人眼的注视点位置,并将所获得的人眼的注视点位置发送至上层应用程序。
另外,还可以对产生摇头或点头的动作信息发送至上层应用程度。
在将上述人机交互方法应用到不同的应用领域中后,上层应用程序可以根据注视点位置进行各种类型的后续操作。
例如将本发明的方案应用到智能节电显示屏时,上层应用程序可以通过接收到的人眼注视点位置判断使用者是否长时间没有看该显示屏,如果是,则自动进入节电模式。
将本发明的方案应用到点菜系统中时,上层应用程序当检测到顾客刚刚观看点菜屏幕时,控制显示能够提供的各种菜的图片和价格,当顾客看到某个想点的菜时,会不由自主地盯着相应图片一段时间,上层应用程序当判定出顾客已经盯着某个菜一段时间后,就可以自动针对这个菜下单。此外还可以采用将菜的图片进行轮询显示,如果判定出用户点头,则可以针对这个图片对应的菜进行下单。如果用户摇头或者未作目光停留则继续显示下一图片。
此外,本发明的技术方案还能应用到很多领域,这里不再赘述。
综上可见,本发明提供的方案可以获得人眼在注视哪个区域,对这个区域的划分可以不用特别精确,这使得实现本发明的方法不需要特别专业、价格昂贵的设备,因此显著降低了实现的成本从人民币一万元 三十万元不等节省到人民币60元 800元不等。 此外,本发明提供的方案还有效地克服了人脸横向转动对于识别人眼注视点位置带来的误差。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种目光捕捉方法,其特征在于,包括A.从图像捕捉设备捕捉的画面中识别出最大的一张人脸的左眼瞳仁在左眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度,并通过几何计算,得出双眼瞳仁在眼眶内横向偏移程度的平均值;B.识别鼻子的横向转动程度;C.将双眼瞳仁在眼眶内横向偏移程度的平均值按比例排除鼻子的横向转动程度,得到人眼的注视点位置。
2.根据权利要求1所述的方法,其特征在于,所述识别左眼瞳仁在左眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度具体实现为通过人脸识别算法从图像捕捉设备捕捉的画面中识别出最大的一张人脸所在的矩形子区域;通过人眼识别算法从所述人脸所在的矩形子区域中识别出双眼所在的矩形子区域;在所述双眼所在的矩形子区域中识别出左眼眼眶所在的矩形子区域和右眼眼眶所在的矩形子区域;在所述左眼眼眶所在的子区域中识别出左眼瞳仁的矩形子区域、以及右眼瞳仁的矩形子区域;通过左眼瞳仁的矩形子区域的位置和左眼眼眶的矩形子区域的位置,计算左眼瞳仁在左眼眼眶内的横向偏移程度,通过右眼瞳仁的矩形子区域的位置和右眼眼眶的矩形子区域的位置,计算右眼瞳仁在右眼眼眶内的横向偏移程度。
3.根据权利要求1所述的方法,其特征在于,还包括在通过几何计算,得出双眼瞳仁在眼眶内横向偏移程度的平均值之后,将双眼瞳仁在眼眶内横向偏移程度的平均值规整到 ±20的区间内。
4.根据权利要求2或3所述的方法,其特征在于,所述识别鼻子的横向转动程度具体实现为在人脸所在的矩形子区域内,针对左眼眼眶的矩形子区域外侧的第一区域、和右眼眼眶的矩形子区域外侧的第二区域分别进行自适应肉色检测,计算第一区域检测通过的像素数量占整个人脸的矩形子区域的像素数量的比例,计算第二区域检测通过的像素数量占整个人脸的矩形子区域的像素数量的比例,根据两个比例的差确定鼻子的横向转动程度。
5.根据权利要求4所述的方法,其特征在于,所述根据两个比例的差确定鼻子的横向转动程度具体实现为将所述两个比例的差规整到士20的区间内,从而得到鼻子的横向转动程度。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在预定周期内循环N次执行步骤A至步骤C,对获取的人眼注视点位置取平均,得到该预定周期内的人眼注视点位置。
7.根据权利要求2至6中任意一项所述的方法,其特征在于,该方法还包括如果预定时间内连续两次人脸的矩形子区域的位置超过一定幅度的左右或者上下摇摆,则分别判断产生摇头和点头动作。
8.根据权利要求7所述的方法,其特征在于,还包括在判定产生摇头或者摆头动作后,记录动作产生的时间。
9.一种采用目光捕捉的人机交互方法,其特征在于,包括采用如权利要求1至8中任意一项所述的目光捕捉的方法得到的人眼的注视点位置; 将所述人眼的注视点位置发送至上层应用程序。
10.一种采用目光捕捉的人机交互方法,其特征在于,包括采用如权利要求7或8所述的目光捕捉的方法判断产生摇头或点头动作; 将产生摇头或点头的动作信息发送至上层应用程序。
全文摘要
本发明实施例提供一种目光捕捉方法和采用目光捕捉的人机交互方法,该方法包括A.从图像捕捉设备捕捉的画面中识别出最大的一张人脸的左眼瞳仁在左眼眼眶内的横向偏移程度、右眼瞳仁在右眼眼眶内的横向偏移程度,并通过几何计算,得出双眼瞳仁在眼眶内横向偏移程度的平均值;B.识别鼻子的横向转动程度;C.将双眼瞳仁在眼眶内横向偏移程度的平均值按比例排除鼻子的横向转动程度,得到人眼的注视点位置。本发明的方案能够显著降低实现的成本。
文档编号G06K9/00GK102508551SQ20111037022
公开日2012年6月20日 申请日期2011年11月18日 优先权日2011年11月18日
发明者赵中, 陈良 申请人:北京恒信彩虹科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1