CN108875526B - 视线检测的方法、装置、***及计算机存储介质 - Google Patents
视线检测的方法、装置、***及计算机存储介质 Download PDFInfo
- Publication number
- CN108875526B CN108875526B CN201810011466.XA CN201810011466A CN108875526B CN 108875526 B CN108875526 B CN 108875526B CN 201810011466 A CN201810011466 A CN 201810011466A CN 108875526 B CN108875526 B CN 108875526B
- Authority
- CN
- China
- Prior art keywords
- face
- detected
- sight line
- determining
- display screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Eye Examination Apparatus (AREA)
Abstract
本发明实施例提供了一种视线检测的方法、装置、***及计算机存储介质。该方法包括:获取待检测对象的人眼图像;根据所述人眼图像确定所述待检测对象注视显示屏幕上第一预设位置时的第一视线方向、确定所述待检测对象注视所述显示屏幕上第二预设位置时的第二视线方向,以及确定所述待检测对象注视所述显示屏幕上第三位置的第三视线方向;根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。由此可见,本发明实施例可以根据两个预设位置的视线方向,实现对用户的视线定位,确定人眼的注视位置。该过程与图像采集装置的性能无关,具有通用性和延展性。
Description
技术领域
本发明涉及图像处理领域,更具体地涉及一种视线检测的方法、装置、***及计算机存储介质。
背景技术
人脸识别已经在各个领域都有广泛的应用,并且取得了非常可观的效果。然而视线类的交互却一直都没有得到广泛的应用,一方面是因为得到视线准确度不够高,另外一个重要方面是视线数据是三维(3D)数据,应用起来需要和场景结合,例如一般在设备上定位视线注视点需从结合摄像头的参数的角度出发,这样导致不能适应广泛的机型,不具有通用性。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种视线检测的方法、装置、***及计算机存储介质,该过程与图像采集装置的性能无关,具有通用性和延展性。
根据本发明的一方面,提供了一种视线检测的方法,所述方法包括:
获取待检测对象的人眼图像;
根据所述人眼图像确定所述待检测对象注视显示屏幕上第一预设位置时的第一视线方向、确定所述待检测对象注视所述显示屏幕上第二预设位置时的第二视线方向,以及确定所述待检测对象注视所述显示屏幕上第三位置时的第三视线方向;
根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
在本发明的一个实施例中,还包括:在所述显示屏幕上显示所述第三视线方向对应的所述第三位置。
在本发明的一个实施例中,还包括:根据连续多帧人眼图像内每帧人眼图像所确定的第三位置,确定所述显示屏幕上的注视区域;在所述显示屏幕上显示所述注视区域。
在本发明的一个实施例中,还包括:在所述待检测对象注视所述注视区域的时长超过预设时长后,判断所述待检测对象注视的所述注视区域是否满足预设条件;在确定满足所述预设条件时,执行与所述预设条件所对应的动作。
在本发明的一个实施例中,所述确定待检测对象注视显示屏幕上第一预设位置时的第一视线方向,包括:
获取所述待检测对象注视所述第一预设位置的第一时长内的连续N帧数据;
根据所述连续N帧数据确定所述待检测对象注视所述第一预设位置时的所述第一视线方向。
在本发明的一个实施例中,所述获取所述待检测对象注视所述第一预设位置的第一时长内的连续N帧数据,包括:
将所述待检测对象注视所述第一预设位置时的数据存储至队列中,所述队列的长度为N帧且所述队列为先入先出队列。
在本发明的一个实施例中,所述根据所述连续N帧数据确定所述待检测对象注视所述第一预设位置时的所述第一视线方向,包括:
确定在人脸坐标系下的所述连续N帧的视线数据;
根据所述连续N帧的视线数据,确定在屏幕坐标系下的所述第一视线方向。
在本发明的一个实施例中,所述确定所述待检测对象注视所述显示屏幕上第三位置时的第三视线方向,包括:
获取所述待检测对象注视所述显示屏幕的在人脸坐标系下的视线数据;
根据所述视线数据,确定在屏幕坐标系下的所述第三视线方向。
在本发明的一个实施例中,所述根据所述视线数据,确定在屏幕坐标系下的所述第三视线方向,包括:
根据人脸的三维姿态,确定从所述人脸坐标系至所述屏幕坐标系的转换矩阵;
根据所述转换矩阵,将所述视线数据变换为所述屏幕坐标系下的所述第三视线方向。
在本发明的一个实施例中,所述三维姿态包括俯仰角、偏航角和翻滚角;
所述转换矩阵表示为:
其中,pitch表示所述俯仰角,yaw表示所述偏航角,roll表示所述翻滚角。
在本发明的一个实施例中,所述第一预设位置为所述显示屏幕的左上角位置,所述第二预设位置为所述显示屏幕的右下角位置,
所述根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置,包括:
确定所述第三位置为(x,y,0),且满足:
其中,(x1,y1,z1)表示所述第一视线方向,(x3,y3,z3)表示所述第二视线方向,(x0,y0,z0)表示所述第三视线方向。
根据本发明的另一方面,提供了一种视线检测的装置,所述装置用于实现前述方面或各个实施例所述方法的步骤,所述装置包括:
获取模块,用于获取待检测对象的人眼图像;
视线方向确定模块,用于根据所述人眼图像确定所述待检测对象注视显示屏幕上第一预设位置时的第一视线方向、确定所述待检测对象注视所述显示屏幕上第二预设位置时的第二视线方向,以及确定所述待检测对象注视所述显示屏幕上第三位置时的第三视线方向;
位置确定模块,用于根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
根据本发明的又一方面,提供了一种视线检测的***,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方面及各个示例所述的视线检测的方法的步骤。
根据本发明的再一方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方面及各个示例所述的视线检测的方法的步骤。
由此可见,本发明实施例可以根据两个预设位置的视线方向,实现对用户的视线定位,确定人眼的注视位置。该过程与图像采集装置的性能无关,具有通用性和延展性。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本发明实施例的电子设备的一个示意性框图;
图2是本发明实施例的视线检测的方法的一个示意性流程图;
图3是本发明实施例的视线检测的方法的另一个示意性流程图;
图4是本发明实施例的第一预设位置的一个示意图;
图5是本发明实施例的第二预设位置的一个示意图;
图6是本发明实施例的计算第三位置的一个示意图;
图7是本发明实施例的第三位置的一个示意图;
图8是本发明实施例的视线检测的装置的一个示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
本发明实施例可以应用于电子设备,图1所示为本发明实施例的电子设备的一个示意性框图。图1所示的电子设备10包括一个或更多个处理器102、一个或更多个存储装置104、输入装置106、输出装置108、图像传感器110以及一个或更多个非图像传感器114,这些组件通过总线***112和/或其它形式互连。应当注意,图1所示的电子设备10的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以包括中央处理单元(Central Processing Unit,CPU)1021和图形处理单元(Graphics Processing Unit,GPU)1022或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,例如现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理(DSP)、可编程逻辑阵列(PLA)或进阶精简指令集机器(Advanced RISC(Reduced Instruction Set Computer)Machine,ARM)等,并且处理器102可以控制所述电子设备10中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或更多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器1041和/或非易失性存储器1042。所述易失性存储器1041例如可以包括随机存取存储器(Random Access Memory,RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器1042例如可以包括只读存储器(Read-Only Memory,ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或更多个计算机程序指令,处理器102可以运行所述程序指令,以实现各种期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或更多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或更多个。
所述图像传感器110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
当注意,图1所示的电子设备10的组件和结构只是示例性的,尽管图1示出的电子设备10包括多个不同的装置,但是根据需要,其中的一些装置可以不是必须的,其中的一些装置的数量可以更多等等,本发明对此不限定。
图2是本发明实施例的视线检测的方法的一个示意性流程图。图2所示的方法包括:
S101,获取待检测对象的人眼图像。
S102,根据所述人眼图像确定所述待检测对象注视显示屏幕上第一预设位置时的第一视线方向、确定所述待检测对象注视所述显示屏幕上第二预设位置时的第二视线方向,以及确定所述待检测对象注视所述显示屏幕上第三位置的第三视线方向。
S103,根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
本发明实施例可以由用户所使用的具有显示屏的终端等执行,例如可以是台式电脑等,或者可以是智能电话、平板电脑、平板阅读器等移动终端。并且该终端具有图像采集装置,例如具有前置摄像头,其可以在用户使用该终端时进行图像采集。一般地,由于用户的使用习惯,用户的人脸与该终端的显示屏的相对位置基本是不变的,例如人眼与显示屏之间的距离,角度等。
示例性地,S101中所获取的待检测对象的人眼图像可以是指人眼注视屏幕时的视频。在S102中可以根据该视频中的第一系列帧图像确定第一视线方向,根据该视频中的第二系列帧图像确定第二视线方向,根据第三系列帧图像确定第三视线方向。举例来说,第一系列帧图像可以是第t1帧图像至第t1+N帧图像,第二系列帧图像可以是第t2帧图像至第t2+N帧图像,第三系列帧图像可以是第t3帧图像至第t3+N帧图像,且t1+N<t2,t2+N<t3。示例性地,待检测对象可以是用户,相应地,待检测对象注视显示屏幕即为用户的人眼注视显示屏幕。
应注意,可以根据更多数量或更少数量的人眼图像来确定视线方向,且确定不同的视线方向所依据的人眼图像的数量可以相等或不等,本发明对此不限定。
示例性地,本发明实施例的视线检测的方法可以如图3所示,包括:
S1021,确定人眼注视显示屏幕上第一预设位置时的第一视线方向。
S1022,确定人眼注视所述显示屏幕上第二预设位置时的第二视线方向。其中,第一预设位置和第二预设位置是已知位置。
S1023,确定人眼注视所述显示屏幕上第三位置时的第三视线方向。其中,第三位置为未知位置。
S103,根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定与第三视线方向所对应的所述第三位置。
本发明实施例中,确定人眼的视线方向的过程可以包括:使用图像采集装置采集人眼图像,根据该人眼图像确定人眼的视线数据,并根据坐标变换确定视线方向。其中,视线数据是指在人脸坐标下的数据,而视线方向是指在屏幕坐标下的数据。
具体地,可以由图像采集装置采集用户的脸部图像序列(多帧图像),通过人脸识别算法确定该图像序列中每一帧的视线数据,并确定该用户人脸的三维姿态。或者,可以通过一个人脸识别算法确定该图像序列中每一帧的视线数据,并通过另一个姿态识别算法确定三维姿态。其中,人脸识别算法和/或姿态识别算法可以是神经网络。
其中,视线数据用于表示人眼的视线在人脸坐标系下的方向,可以表示为三维向量的形式,如a=(a1,a2,a3)。
其中,三维姿态可以包括俯仰角、偏航角和翻滚角,依次表示为pitch,yaw和roll,分别表示图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度。可选地,三维姿态可以表示为向量形式(pitch,yaw,roll)。
示例性地,可以根据三维姿态确定转换矩阵,并利用该转换矩阵得到与视线数据对应的屏幕坐标系下的视线方向。
其中,可以将转换矩阵(表示为T)表示为:
从而,屏幕坐标系下的视线方向可以表示为a'=Ta。
由此可见,可以基于图像采集装置所采集的人眼图像确定人眼的视线方向。例如,可以确定S1021中的第一视线方向、S1022中的第二视线方向以及S1023中的第三视线方向。
作为一种实现方式,本发明实施例的终端中可以包括控制状态机,其为整型(int)的Mode变量控制状态机,Mode的取值可以为1、2、3。可以通过获取用户对屏幕的点击指令,并根据点击指令实现控制状态机的跳转。例如,Mode取值为1表示当前步骤为S1021,Mode取值为2表示当前步骤为S1022,Mode取值为3表示当前步骤为S1023和S103。
当控制状态机的Mode取值为1时,即在S1021中,可以在屏幕的第一预设位置处显示高亮,以提示用户注视该第一预设位置处。其中,第一预设位置可以是屏幕的左上角、右上角、左下角、右下角中的任一处,如图4示出的第一预设位置为屏幕的左上角,且图4中通过一灰度方框显示该第一预设位置。可理解,第一预设位置也可以是屏幕上的任一其他已知位置;且可以通过其他的高亮形式显示该第一预设位置,如闪烁等,本发明对此不限定。
在S1021中,用户可以注视该第一预设位置处,且注视的时长保持第一时长。在该注视的过程中,用户与屏幕之间的相对位置基本不变,即视线保持。
作为一例,在S1021中,可以获取所述人眼注视所述第一预设位置的第一时长内的连续N帧数据;根据所述连续N帧数据确定所述人眼注视所述第一预设位置时的所述第一视线方向。
具体地,可以将所述人眼注视所述第一预设位置时的数据存储至队列中,所述队列的长度为N帧且所述队列为先入先出队列。确定在人脸坐标系下的所述连续N帧的视线数据;根据所述连续N帧的视线数据,确定在屏幕坐标系下的所述第一视线方向。
本发明实施例中,可以构建一个长度为N的队列Q,该队列Q中只保留最新的N帧视线数据。也就是说,队列Q中存储的是针对对应帧图像的视线数据,即人脸坐标系下的视线的方向数据。
例如,可以采集最新的N帧数据,当采集到第N+1帧数据时,丢弃最先采集的第1帧数据,如此,便可以在该队列Q中保留最新的N帧数据。其中,N的取值可以根据误差的影响来设定,例如,若N取值过小,则可能会导致随机误差的影响过大;若N取值过大,则可能需要用户注视第一预设位置的第一时长较大,从而影响用户体验。可选地,N可以取为5~50之间的任一值。可理解,第一时长大于N帧,可以根据该队列Q的长度确定第一时长,例如,第一时长可以等于3秒(s)。
作为一种实现方式,针对队列Q中的N帧视线数据,可以采取如上所述确定视线方向的方法,确定每一帧数据的视线方向,从而得到N个视线方向。将这N个视线方向取统计平均,从而得到第一视线方向。
作为另一种实现方式,针对队列Q中的N帧视线数据,可以通过统计平均的方法确定一个平均的视线数据,再采取如上所述确定视线方向的方法,确定第一视线方向。
当控制状态机的Mode取值为2时,即在S1022中,可以在屏幕的第二预设位置处显示高亮,以提示用户注视该第二预设位置处。示例性地,可以在S1021之后由用户点击屏幕,在检测到用户的点击之后,将控制状态机的Mode取值从1跳转至2;并且可以同时清空队列Q。其中,第二预设位置是与第一预设位置不同的屏幕上的另一位置,可以是屏幕的左上角、右上角、左下角、右下角中的任一处,如图5示出的第二预设位置为屏幕的右下角,且图5中通过一灰度方框显示该第二预设位置。可理解,第二预设位置也可以是屏幕上的任一其他已知位置;且可以通过其他的高亮形式显示该第二预设位置,如闪烁等,本发明对此不限定。
在S1022中,用户可以注视该第二预设位置处,且注视的时长保持第二时长。在该注视的过程中,用户与屏幕之间的相对位置基本不变,即视线保持。其中,第二时长可以等于第一时长。
作为一例,在S1022中,可以获取所述人眼注视所述第二预设位置的第二时长内的连续N帧数据;根据所述连续N帧数据确定所述人眼注视所述第二预设位置时的所述第二视线方向。
具体地,可以将所述人眼注视所述第二预设位置时的数据存储至队列中,所述队列的长度为N帧且所述队列为先入先出队列。确定在人脸坐标系下的所述连续N帧的视线数据;根据所述连续N帧的视线数据,确定在屏幕坐标系下的所述第二视线方向。
如上所述,可以构建一个长度为N的队列Q,该队列Q中只保留最新的N帧视线数据。也就是说,队列Q中存储的是针对对应帧图像的视线数据,即人脸坐标系下的视线的方向数据。
例如,可以采集最新的N帧数据,当采集到第N+1帧数据时,丢弃最先采集的第1帧数据,如此,便可以在该队列Q中保留最新的N帧数据。其中,N的取值可以根据误差的影响来设定,例如,若N取值过小,则可能会导致随机误差的影响过大;若N取值过大,则可能需要用户注视第一预设位置的第一时长较大,从而影响用户体验。可选地,N可以取为5~50之间的任一值。可理解,第一时长大于N帧,可以根据该队列Q的长度确定第一时长,例如,第一时长可以等于3秒(s)。
作为一种实现方式,针对队列Q中的N帧视线数据,可以采取如上所述确定视线方向的方法,确定每一帧数据的视线方向,从而得到N个视线方向。将这N个视线方向取统计平均,从而得到第二视线方向。
作为另一种实现方式,针对队列Q中的N帧视线数据,可以通过统计平均的方法确定一个平均的视线数据,再采取如上所述确定视线方向的方法,确定第二视线方向。
可理解,S1022中确定与第二预设位置对应的第二视线方向的过程、S1021确定与第一预设位置对应的第一视线方向的过程是类似的,这里不再赘述。
当控制状态机的Mode取值为3时,即在S1022之后,可以执行S1023和S103。示例性地,可以在S1022之后由用户点击屏幕,在检测到用户的点击之后,将控制状态机的Mode取值从2跳转至3;并且可以同时清空队列Q。
具体地,在S1023中,可以获取所述人眼注视所述显示屏幕的在人脸坐标系下的视线数据;根据所述视线数据,确定在屏幕坐标系下的所述第三视线方向。
其中,可以根据人脸的三维姿态,确定从所述人脸坐标系至所述屏幕坐标系的转换矩阵;根据所述转换矩阵,将所述视线数据变换为所述屏幕坐标系下的所述第三视线方向。
示例性地,在S1023中,可以采集多帧人眼图像,根据所述多帧人眼图像确定在人脸坐标系下的人眼的视线数据;然后根据坐标变换确定在屏幕坐标系下的第三视线方向。
参照上述实施例,可以在队列Q中存储连续N帧人眼图像的视线数据,并根据该连续N帧人眼图像的视线数据确定第三视线方向。
作为一种实现方式,针对队列Q中的N帧视线数据,可以采取如上所述确定视线方向的方法,确定每一帧数据的视线方向,从而得到N个视线方向。将这N个视线方向取统计平均,从而得到第三视线方向。
作为另一种实现方式,针对队列Q中的N帧视线数据,可以通过统计平均的方法确定一个平均的视线数据,再采取如上所述确定视线方向的方法,确定第三视线方向。
其中,在进行坐标变换时,所使用的转换矩阵可以表示为:
其中,(pitch,yaw,roll)表示人脸的三维姿态。
进一步地,在S103中,若第一预设位置的坐标为(0,0,0),第二预设位置的坐标为(1,1,0)。若将第一视线方向表示为(x1,y1,z1),第二视线方向表示为(x3,y3,z3),第三视线方向表示为(x0,y0,z0),那么,可以确定与第三视线方向所对应的第三位置的坐标(x,y,0)满足:
具体地,S103的计算过程可以如下所示:
如图6所示,其中P1表示第一预设位置,P3表示第二预设位置,P表示待计算的第三位置。假设人眼位置为E(a,b,c),即在屏幕坐标系下的人眼位置。
由于向量的属性,满足:
(x0,y0,z0)//[(x,y,0)-(a,b,c)]
(x1,y1,z1)//[(0,0,0)-(a,b,c)],
(x3,y3,z3)//[(1,1,0)-(a,b,c)]
从而能够得到:
进而能够计算得到:
这样,便可以在S103中确定出第三位置,即确定出用户当前所注视的屏幕上的位置。
作为一种实现方式,可以在S103之后,在所述显示屏幕上显示所述第三视线方向对应的所述第三位置。例如可以通过高亮的形式标记出该第三位置,如图7所示,将该第三位置以不同于其他区域的颜色或灰度显示。
作为另一种实现方式,可以在S103之后,根据连续多帧人眼图像内的每帧人眼图像所确定的第三位置,确定所述显示屏幕上的注视区域;并在所述显示屏幕上显示所述注视区域。例如可以通过线条的形式标记出该注视区域。
示例性地,针对用户连续M帧人眼图像的注视,可以在S1023确定M个视线方向,并在S103中确定对应的M个第三位置,假设M个第三位置表示为(xi,yi,0),且1≤i≤M。
可以将屏幕划分为多个区域,如S×T个区域。计算M个第三位置位于各个区域中的置信度,并将置信度最高的区域确定为注视区域,并标记出该注视区域。其中,某区域的置信度表示第三位置的真实位置落在该区域的概率大小,一般地,置信度为位于0至1之间的值。
其中,某个区域的置信度等于位于该区域内的第三位置的数量除以第三位置的总数量。假设区域(Sj,Tk)中存在M1个第三位置,则该区域(Sj,Tk)的置信度为M1/M。
如图7所示,可以以不同于其他区域的颜色或灰度的线条标记出该注视区域。这样,可以充分考虑误差的影响,使标记出的注视区域更加准确,从而提升用户体验。
作为又一种实现方式,在此之后,如果所述人眼注视所述注视区域的时长超过预设时长,则可以判断所述人眼注视的所述注视区域是否满足预设条件;并在确定满足所述预设条件时,执行与所述预设条件所对应的动作。
也就是说,在人眼注视的时长超过预设时长时,可以根据预设条件触发一定的事件。作为一例,所述预设条件为:所述注视区域的置信度大于预设阈值(如0.8),所述对应的动作为:返回操作。作为另一例,预设条件为注视区域位于屏幕的右下方且置信度大于预设阈值,对应的动作可以为:翻页。应理解,预设条件与所对应的动作可以根据终端的属性、终端所安装的应用程序(APP)的设置、用户的使用需求、阅读需求等进行设定,这里不再一一罗列。
由此可见,本发明实施例可以根据两个预设位置的视线方向,实现对用户的视线定位,确定人眼的注视位置。该过程与图像采集装置的性能无关,具有通用性和延展性。
另外,上述实施例中的人眼可以是左眼或右眼。由于人眼注视点的聚焦特性,通过左眼或右眼分别确定的第三位置应该是基本一致的,或者两者的误差很小,因此上述实施例可以针对单眼(左眼或右眼)的视线方向来确定注视点。或者,上述实施例中的人眼可以包括左眼和右眼,例如,可以采用上述所示的方法确定左眼的视线方向,并确定一个第三位置;采用上述所述的方法确定右眼的视线方向,并确定另一个第三位置。这两个过程可以顺序执行或者并行执行。随后,可以计算这两个第三位置之间的误差,如果两者的误差小于允许误差,则可以将这两个第三位置中的任一个或者将这两个第三位置的中点确定为人眼的注视点。如果两者的误差大于允许误差,则可以确定该次计算过程有误或者确定人眼的注视点未落在屏幕上,在此之后可以重新确定注视点或者可以通过声音或图像或文本等形式向用户发出提示,以提醒用户重新聚焦至屏幕上。
图8是本发明实施例的视线检测的装置的一个示意性框图。图8所示的装置80包括:获取模块810、视线方向确定模块820和位置确定模块830。
获取模块810,用于获取待检测对象的人眼图像;
视线方向确定模块820,用于根据所述人眼图像确定所述待检测对象注视显示屏幕上第一预设位置时的第一视线方向、确定所述待检测对象注视所述显示屏幕上第二预设位置时的第二视线方向,以及确定所述待检测对象注视所述显示屏幕上第三位置时的第三视线方向;
位置确定模块830,用于根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
在本发明的一个实施例中,装置80还可以包括显示模块,用于在所述显示屏幕上显示所述第三视线方向对应的所述第三位置。
在本发明的一个实施例中,装置80还可以包括区域确定模块和显示模块。区域确定模块用于根据连续多帧人眼图像内每帧人眼图像所确定的第三位置,确定所述显示屏幕上的注视区域;显示模块用于在所述显示屏幕上显示所述注视区域。
在本发明的一个实施例中,装置80还可以包括判断模块和执行模块。判断模块用于在所述待检测对象注视所述注视区域的时长超过预设时长后,判断所述待检测对象注视的所述注视区域是否满足预设条件;执行模块用于在确定满足所述预设条件时,执行与所述预设条件所对应的动作。
在本发明的一个实施例中,所述预设条件为:所述注视区域的置信度大于预设阈值,所述对应的动作为:返回操作。
在本发明的一个实施例中,视线方向确定模块820可以包括获取子模块和确定子模块。获取子模块可以用于获取所述待检测对象注视所述第一预设位置的第一时长内的连续N帧数据。确定子模块可以用于根据所述连续N帧数据确定所述待检测对象注视所述第一预设位置时的所述第一视线方向。
在本发明的一个实施例中,获取子模块可以具体用于:将所述待检测对象注视所述第一预设位置时的数据存储至队列中,所述队列的长度为N帧且所述队列为先入先出队列。
在本发明的一个实施例中,确定子模块可以具体用于:确定在人脸坐标系下的所述连续N帧的视线数据;根据所述连续N帧的视线数据,确定在屏幕坐标系下的所述第一视线方向。
在本发明的一个实施例中,视线方向确定模块820可以包括获取子模块和确定子模块。获取子模块可以用于:获取所述待检测对象注视所述显示屏幕的在人脸坐标系下的视线数据;确定子模块可以用于:根据所述视线数据,确定在屏幕坐标系下的所述第三视线方向。
在本发明的一个实施例中,确定子模块可以具体用于:根据人脸的三维姿态,确定从所述人脸坐标系至所述屏幕坐标系的转换矩阵;根据所述转换矩阵,将所述视线数据变换为所述屏幕坐标系下的所述第三视线方向。
在本发明的一个实施例中,所述三维姿态包括俯仰角、偏航角和翻滚角;
所述转换矩阵表示为:
其中,pitch表示所述俯仰角,yaw表示所述偏航角,roll表示所述翻滚角。
在本发明的一个实施例中,所述第一预设位置为所述显示屏幕的左上角位置,所述第二预设位置为所述显示屏幕的右下角位置,位置确定模块830可以具体用于:
确定所述第三位置为(x,y,0),且满足:
其中,(x1,y1,z1)表示所述第一视线方向,(x3,y3,z3)表示所述第二视线方向,(x0,y0,z0)表示所述第三视线方向。
作为一种实现方式,图8所示的装置80可以为用户使用的具有显示屏的终端,例如台式电脑等终端,或例如智能手机、平板电脑等移动终端。
图8所示的装置80能够实现前述图2或图3所示的视线检测的方法,为避免重复,这里不再赘述。
另外,本发明实施例还提供了另一种视线检测的***,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,处理器执行所述程序时实现前述图2或图3所示的视线检测的方法的步骤。
另外,本发明实施例还提供了一种电子设备,该电子设备可以包括图8所示的装置80。该电子设备可以实现前述图2或图3所示的视线检测的方法。
另外,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序。当所述计算机程序由处理器执行时,可以实现前述图2或图3所示的视线检测的方法的步骤。例如,该计算机存储介质为计算机可读存储介质。
本发明实施例提供了一种视线检测的方法、装置、***、电子设备以及计算的存储介质。该方法可以根据两个预设位置的视线方向,实现对用户的视线定位,确定待检测对象的人眼的注视位置。该过程可以在台式电脑或移动终端等各种终端上实现,且该过程与图像采集装置的性能无关,具有通用性和延展性。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(Digital Signal Processing,DSP)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种视线检测的方法,其特征在于,所述方法包括:
获取待检测对象注视显示屏幕上第一预设位置的第一时长内的连续多帧第一脸部图像序列,其中在注视所述第一预设位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
通过人脸识别算法确定所述第一脸部图像序列中的人脸坐标系下的第一视线数据,并确定所述第一脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;
通过坐标变换,根据所述第一视线数据,确定在屏幕坐标系下的第一视线方向,其中所述坐标变换是通过所述第一脸部图像序列中待检测对象人脸的三维姿态确定的;
获取所述待检测对象注视所述显示屏幕上第二预设位置的第二时长内的连续多帧第二脸部图像序列,其中在注视所述第二预设位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
通过人脸识别算法确定所述第二脸部图像序列中的人脸坐标系下的第二视线数据,并确定所述第二脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示所述图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;
通过坐标变换,根据所述第二视线数据,确定在所述屏幕坐标系下的第二视线方向,其中所述坐标变换是通过所述第二脸部图像序列中待检测对象人脸的三维姿态确定的;
获取所述待检测对象注视所述显示屏幕上第三位置的第三时长内的连续多帧第三脸部图像序列,其中在注视所述第三位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
通过人脸识别算法确定所述第三脸部图像序列中的人脸坐标系下的第三视线数据,并确定所述第三脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示所述图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;
通过坐标变换,根据所述第三视线数据,确定在所述屏幕坐标系下的第三视线方向,其中所述坐标变换是通过所述第三脸部图像序列中待检测对象人脸的三维姿态确定的;
根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述显示屏幕上显示所述第三视线方向对应的所述第三位置。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据连续多帧人眼图像内每帧人眼图像所确定的第三位置,确定所述显示屏幕上的注视区域;
在所述显示屏幕上显示所述注视区域。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述待检测对象注视所述注视区域的时长超过预设时长后,判断所述待检测对象注视的所述注视区域是否满足预设条件;
在确定满足所述预设条件时,执行与所述预设条件所对应的动作。
5.根据权利要求1所述的方法,其特征在于,所述获取所述待检测对象注视所述第一预设位置的第一时长内的连续多帧第一脸部图像序列,包括:
将所述待检测对象注视所述第一预设位置时的第一脸部图像存储至队列中,所述队列的长度为多帧且所述队列为先入先出队列。
8.一种视线检测的装置,其特征在于,所述装置包括:
获取模块,用于获取待检测对象注视显示屏幕上第一预设位置的第一时长内的连续多帧第一脸部图像序列,其中在注视所述第一预设位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
视线方向确定模块,用于通过人脸识别算法确定所述第一脸部图像序列中的人脸坐标系下的第一视线数据,并确定所述第一脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;通过坐标变换,根据所述第一视线数据,确定在屏幕坐标系下的第一视线方向,其中所述坐标变换是通过所述第一脸部图像序列中待检测对象人脸的三维姿态确定的;
所述获取模块,还用于获取所述待检测对象注视所述显示屏幕上第二预设位置的第二时长内的连续多帧第二脸部图像序列,其中在注视所述第二预设位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
所述视线方向确定模块,还用于通过人脸识别算法确定所述第二脸部图像序列中的人脸坐标系下的第二视线数据,并确定所述第二脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示所述图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;通过坐标变换,根据所述第二视线数据,确定在所述屏幕坐标系下的第二视线方向,其中所述坐标变换是通过所述第二脸部图像序列中待检测对象人脸的三维姿态确定的;
所述获取模块,还用于获取所述待检测对象注视所述显示屏幕上第三位置的第三时长内的连续多帧第三脸部图像序列,其中在注视所述第三位置的过程中,所述待检测对象与所述显示屏幕之间的相对位置基本不变;
所述视线方向确定模块,还用于通过人脸识别算法确定所述第三脸部图像序列中的人脸坐标系下的第三视线数据,并确定所述第三脸部图像序列中待检测对象人脸的三维姿态,所述三维姿态包括俯仰角、偏航角和翻滚角,所述俯仰角、偏航角和翻滚角分别表示所述图像采集装置所采集到的人脸与正脸相比绕x、y、z轴旋转的角度;通过坐标变换,根据所述第三视线数据,确定在所述屏幕坐标系下的第三视线方向,其中所述坐标变换是通过所述第三脸部图像序列中待检测对象人脸的三维姿态确定的;
位置确定模块,用于根据所述第一视线方向、所述第二视线方向、所述第三视线方向、所述第一预设位置以及所述第二预设位置,确定所述第三位置。
9.一种视线检测的***,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810011466.XA CN108875526B (zh) | 2018-01-05 | 2018-01-05 | 视线检测的方法、装置、***及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810011466.XA CN108875526B (zh) | 2018-01-05 | 2018-01-05 | 视线检测的方法、装置、***及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108875526A CN108875526A (zh) | 2018-11-23 |
CN108875526B true CN108875526B (zh) | 2020-12-25 |
Family
ID=64325974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810011466.XA Active CN108875526B (zh) | 2018-01-05 | 2018-01-05 | 视线检测的方法、装置、***及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108875526B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008835B (zh) * | 2019-03-05 | 2021-07-09 | 成都旷视金智科技有限公司 | 视线预测方法、装置、***和可读存储介质 |
CN109961055A (zh) * | 2019-03-29 | 2019-07-02 | 广州市百果园信息技术有限公司 | 人脸关键点检测方法、装置、设备及存储介质 |
CN110335306B (zh) * | 2019-04-23 | 2022-04-15 | 华中科技大学 | 注视点预测方法及装置 |
CN112083795A (zh) * | 2019-06-12 | 2020-12-15 | 北京迈格威科技有限公司 | 对象控制方法及装置、存储介质和电子设备 |
CN110456964A (zh) * | 2019-07-26 | 2019-11-15 | 天脉聚源(杭州)传媒科技有限公司 | 一种自适应的聊天气泡显示方法、***、装置和存储介质 |
CN110969084B (zh) * | 2019-10-29 | 2021-03-05 | 深圳云天励飞技术有限公司 | 一种关注区域检测方法、装置、可读存储介质及终端设备 |
CN113807119B (zh) * | 2020-05-29 | 2024-04-02 | 魔门塔(苏州)科技有限公司 | 一种人员注视位置检测方法及装置 |
CN115984950B (zh) * | 2022-12-28 | 2024-03-12 | 北京字跳网络技术有限公司 | 视线检测方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100343867C (zh) * | 2005-06-15 | 2007-10-17 | 北京中星微电子有限公司 | 一种判别视线方向的方法和装置 |
CN101901485B (zh) * | 2010-08-11 | 2014-12-03 | 华中科技大学 | 3d自由头动式视线跟踪*** |
CN103809737A (zh) * | 2012-11-13 | 2014-05-21 | 华为技术有限公司 | 一种人机交互方法及装置 |
EP3968288A2 (de) * | 2014-02-04 | 2022-03-16 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | 3d-bildanalysator zur blickrichtungsbestimmung |
CN106250839B (zh) * | 2016-07-27 | 2019-06-04 | 徐鹤菲 | 一种虹膜图像透视校正方法、装置和移动终端 |
CN107193383B (zh) * | 2017-06-13 | 2020-04-07 | 华南师范大学 | 一种基于人脸朝向约束的二级视线追踪方法 |
-
2018
- 2018-01-05 CN CN201810011466.XA patent/CN108875526B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108875526A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108875526B (zh) | 视线检测的方法、装置、***及计算机存储介质 | |
US10922527B2 (en) | Face spatial positioning method, face spatial positioning system, and non-transitory computer-readable recording medium | |
CN109508688B (zh) | 基于骨架的行为检测方法、终端设备及计算机存储介质 | |
CN110046546B (zh) | 一种自适应视线追踪方法、装置、***及存储介质 | |
CN106650662B (zh) | 目标对象遮挡检测方法及装置 | |
EP3674852B1 (en) | Method and apparatus with gaze estimation | |
CN109934065B (zh) | 一种用于手势识别的方法和装置 | |
CN108875533B (zh) | 人脸识别的方法、装置、***及计算机存储介质 | |
EP3711024A1 (en) | Event camera-based deformable object tracking | |
JP2020517027A (ja) | 顔画像品質を決定する方法および装置、電子機器ならびにコンピュータ記憶媒体 | |
US10254831B2 (en) | System and method for detecting a gaze of a viewer | |
CN110597387B (zh) | 基于人工智能的画面显示方法和装置、计算设备、存储介质 | |
CN112926423A (zh) | 捏合手势检测识别方法、装置及*** | |
CN111694434B (zh) | 电子书评论信息的交互展示方法、电子设备及存储介质 | |
US10945888B2 (en) | Intelligent blind guide method and apparatus | |
WO2022174594A1 (zh) | 基于多相机的裸手追踪显示方法、装置及*** | |
CN111985458A (zh) | 一种检测多目标的方法、电子设备及存储介质 | |
CN111652054A (zh) | 关节点检测方法、姿态识别方法及装置 | |
WO2018076172A1 (zh) | 一种图像显示方法及终端 | |
CN107704106B (zh) | 姿态定位方法、装置及电子设备 | |
WO2024022301A1 (zh) | 视角路径获取方法、装置、电子设备及介质 | |
CN110196630B (zh) | 指令处理、模型训练方法、装置、计算机设备及存储介质 | |
KR20180022396A (ko) | 이미지 제공 장치, 방법 및 컴퓨터 프로그램 | |
CN108875498B (zh) | 用于行人重识别的方法、装置及计算机存储介质 | |
CN108875467B (zh) | 活体检测的方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |