CN112257696B - 视线估计方法及计算设备 - Google Patents
视线估计方法及计算设备 Download PDFInfo
- Publication number
- CN112257696B CN112257696B CN202011532531.7A CN202011532531A CN112257696B CN 112257696 B CN112257696 B CN 112257696B CN 202011532531 A CN202011532531 A CN 202011532531A CN 112257696 B CN112257696 B CN 112257696B
- Authority
- CN
- China
- Prior art keywords
- coordinates
- eyes
- human eye
- sight
- eye image
- 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/19—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Eye Examination Apparatus (AREA)
Abstract
本发明公开了一种视线估计方法,该方法在计算设备中执行,包括以下步骤:获取待进行视线估计的人眼图像;将该人眼图像输入预设的人眼关键点检测器,以得到该人眼图像中双眼的左右眼角坐标、瞳孔中心坐标以及视角阈值;根据双眼的左右眼角坐标和视角阈值,判断该人眼图像是否可以进行视线估计,若否,则获取下一张人眼图像,若是,则:根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度;确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标,根据三维坐标来计算得出双眼的视线垂直角度;根据视线水平角度和视线垂直角度,确定双眼的三维视线方向。本发明一并公开了相应的计算设备。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种人眼视线估计方法及计算设备。
背景技术
人眼视线估计(Gaze Estimation)指的是从人眼图像中估计人的视线方向或注视点的位置。视线估计技术可以应用于VR游戏、检测及诊断精神类或心理类的疾病、辅助驾驶、智能线下零售等多个领域。在信息安全及生物特征识别领域的实时远距离虹膜识别场景中,通过对当前帧人脸或人眼图像进行视线估计,可以判别当前图像是否满足虹膜识别的要求,从而为后续的虹膜区域分割、虹膜特征提取及识别打下良好的基础。
目前多采用深度学习(Deep Learning)方法来进行视线估计。在该方法中,采用深度摄像机(又称3D摄像机)采集包含三维空间数据的人脸/人眼图像,在图像中标注视线方向,采用标注了视线方向的图像来训练网络模型。该模型可以从图像中提取出头部姿态特征和眼睛特征,将头部姿态特征和眼睛特征拼接后进行一系列处理,得出相机坐标系下的视线方向。
该方法以深度摄像机采集到的标注了视线方向的人脸/人眼图像为训练样本,但深度摄像机硬件成本高,并且图像中的视线方向难以标注。此外,该方法需要对头部姿态进行估计,计算耗时,难以实现实时的视线估计。
发明内容
为此,本发明提供一种视线估计方法及计算设备,以力图解决或至少缓解上面存在的问题。
根据本发明的第一个方面,提供一种视线估计方法,在计算设备中执行,包括:获取待进行视线估计的人眼图像;将所述人眼图像输入预设的人眼关键点检测器,以得到所述人眼图像中双眼的左右眼角坐标、瞳孔中心坐标以及视角阈值;根据双眼的左右眼角坐标和视角阈值,判断所述人眼图像是否可以进行视线估计,若否,则获取下一张人眼图像,若是,则:根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度;确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标,根据所述三维坐标来计算得出双眼的视线垂直角度;根据所述视线水平角度和所述视线垂直角度,确定双眼的三维视线方向。
可选地,在根据本发明的视线估计方法中,所述人眼关键点检测器为采用人眼样本图像训练得出的多层卷积神经网络,所述人眼样本图像为已标注了双眼的左右眼角位置、瞳孔中心位置以及视角阈值的人眼图像,所述视角阈值为人脸位姿平面与摄像头平面平行时,左右眼角之间的距离。
可选地,在根据本发明的视线估计方法中,根据双眼的左右眼角坐标和视角阈值,判断所述人眼图像是否可以进行视线估计的步骤包括:根据双眼的左右眼角坐标,分别计算得出双眼的左右眼角距离;若双眼的左右眼角距离与相应视角阈值的差的绝对值小于等于预设阈值,则判断所述人眼图像可以进行视线估计;否则,判断所述人眼图像不可进行视线估计。
可选地,在根据本发明的视线估计方法中,根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度的步骤包括:根据双眼的左右眼角坐标,分别计算得出双眼的眼角中心坐标;根据双眼的眼角中心坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度。
可选地,在根据本发明的视线估计方法中,视线水平角度按照以下公式计算:
其中,(xA, yA)为左眼或右眼的瞳孔中心坐标,(xB, yB)为左眼或右眼的眼角中心坐标。
可选地,在根据本发明的视线估计方法中,确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标的步骤包括:将所述人眼图像中的瞳孔中心坐标转换为相机坐标系下的三维坐标;将相机坐标系下的三维坐标转换为以眼球球心为原点的世界坐标系下的三维坐标。
可选地,在根据本发明的视线估计方法中,瞳孔中心在相机坐标系下的三维坐标按照以下公式确定:
其中,(x,y)为瞳孔中心坐标,zc为人眼图像中的瞳孔中心到相机镜头的距离,f为相机镜头的焦距,(xc,yc,zc)为瞳孔中心在相机坐标系下的三维坐标。
可选地,在根据本发明的视线估计方法中,瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标按照以下公式确定:
其中,R、T分别为世界坐标系到相机坐标系的旋转矩阵、平移矩阵,(xw,yw,zw)为瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标。
可选地,在根据本发明的视线估计方法中,视线垂直角度按照以下公式计算:
其中,xw、yw、zw分别为瞳孔中心在以眼球球心为原点的世界坐标系下的x轴坐标、y轴坐标、z轴坐标。
根据本发明的第二个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,当程序指令被处理器读取并执行时,使得计算设备执行上述视线估计方法。
根据本发明的第三个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述上述视线估计方法。
根据本发明的技术方案,采用预先训练好的人眼关键点检测器来输出待测人眼图像的人眼关键点坐标(包括左右眼角坐标和瞳孔中心坐标)和视角阈值,通过人眼关键点坐标和视角阈值来判断当前人眼图像进行视线估计的可行性,省去了现有方案中的头部位姿估计步骤,从而提高了人眼视线估计的速度和实时性。并且,本发明的技术方案通过将人眼关键点检测器输出的二维坐标转换为三维坐标,能够对普通摄像机采集到的二维人眼图像进行视线估计,无需采用深度摄像机来采集三维图像,节省了硬件成本,提高了人眼视线估计的精度,具有较好的实用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的视线估计系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的人眼关键点检测器的网络结构图;
图4示出了根据本发明一个实施例的人眼关键点检测器的输出的示意图;
图5示出了根据本发明一个实施例的视线估计方法500的流程图;
图6A-6D示出了根据本发明一个实施例的不同情况下的二维视线角度的示意图;以及
图7示出了根据本发明一个实施例的三维视线方向的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有技术中存在的问题,本发明提供一种视线估计方法,以实现快速、准确、低成本的人眼视线估计。
图1示出了根据本发明一个实施例的视线估计系统100的示意图。如图1所示,视线估计系统100包括摄像机110和终端设备120。
应当指出,图1所示的视线估计系统100仅是示例性的。在具体实践情况中,视线估计系统中可以包括不同数量的摄像机和终端设备,本发明对视线估计系统所包括的摄像机和终端设备的数量均不作限制。
视线估计系统100用于采集人眼图像,并对采集到的人眼图像进行视线估计。
具体地,在视线估计系统100中,摄像机110用于采集人眼图像。需要说明的是,在本发明的实施例中,人眼图像指的是包含人眼部位的图像,包括但不限于仅包含眼部的图像、包含人脸全貌的图像、或者是上半身的图像等。
摄像机110可以是任意型号的图像采集设备,本发明对摄像机110的型号、硬件配置情况等均不做限制。优选地,摄像机110可以是成本较低的仅能够采集二维平面图像信息的普通摄像机。在一些实施例中,摄像机110也可以是成本较高的能够采集三维图像信息(二维平面图像信息+深度信息)的深度摄像机,但在本发明的视线估计方案中,并不需要用到深度信息,即,即使摄像机110为深度摄像机,也仅使用其中的普通摄像机的功能。
摄像机110与终端设备120通信连接,将采集到的人眼图像发送至终端设备120进行视线估计。摄像机110与终端设备120可以通过任意有线或无线的方式连接,本发明不限制二者之间的连接方式。
终端设备120可以是任意具有通信和计算能力的设备,本发明不限制终端设备120的种类和硬件配置情况。终端设备120例如可以是桌面电脑、笔记本电脑等个人配置的计算机。在一些实施例中,终端设备120也可以是手机、平板电脑等移动终端,或者是智能可穿戴设备、物联网设备等。
根据一种实施例,终端设备120中部署有人眼关键点检测器,人眼关键点检测器能够输出人眼图像中的关键点(包括双眼的左右眼角坐标、瞳孔中心等)的坐标和双眼的视角阈值。基于人眼关键点检测器,终端设备120可以执行本发明的视线估计方法500,对人眼图像进行视线估计。
具体地,终端设备120接收到待进行视线估计的人眼图像后,将人眼图像输入人眼关键点检测器,人眼关键点检测器将输出双眼的左右眼角坐标、瞳孔中心坐标和视角阈值。随后,终端设备120根据双眼的左右眼角坐标和视角阈值,判断当前人眼图像是否可以进行视线估计,若否,则继续获取下一张人眼图像(下一张图像例如可以是摄像机110采集到的当前人眼图像的下一帧图像,或者终端设备120向摄像机110发出指示,将摄像机基于指示所采集到的图像作为下一张图像,等);若是,则对双眼的左右眼角坐标、瞳孔中心坐标和视角阈值进行一系列处理,计算出双眼的三维视线方向,完成人眼视线估计。
根据另一种实施例,终端设备120与服务器通信连接(服务器未在图1中示出)。服务器中部署有人眼关键点检测器。终端设备120接收到待进行视线估计的人眼图像后,将人眼图像发送至服务器。服务器基于已部署的人眼关键点检测器,执行本发明的视线估计方法500,对人眼图像进行视线估计。
具体地,服务器接收到终端设备120发来的人眼图像后,将人眼图像输入人眼关键点检测器,人眼关键点检测器将输出双眼的左右眼角坐标、瞳孔中心坐标和视角阈值。随后,服务器根据双眼的左右眼角坐标和视角阈值,判断当前人眼图像是否可以进行视线估计,若否,则继续获取下一张人眼图像(下一张图像例如可以是摄像机110采集到的当前人眼图像的下一帧图像,或者服务器通过终端设备120向摄像机110发出指示,将摄像机基于指示所采集到的图像作为下一张图像,等);若是,则对双眼的左右眼角坐标、瞳孔中心坐标和视角阈值进行一系列处理,计算出双眼的三维视线方向,将计算得出的三维视线方向返回给终端设备120,完成人眼视线估计。
本发明的视线估计方法500在计算设备中执行,计算设备例如可以是上述终端设备120或服务器。
图2示出了根据本发明一个实施例的计算设备200的示意图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的视线估计方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的视线估计方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图2所示,在基本配置102中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器204读取。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。操作系统220例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用222包括用于实现各种用户期望的功能的程序指令,应用222例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用222被安装到计算设备200中时,可以向操作系统220添加驱动模块。
在计算设备200启动运行时,处理器204会从存储器206中读取操作系统220的程序指令并执行。应用222运行在操作系统220之上,利用操作系统220以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用222时,应用222会加载至存储器206中,处理器204从存储器206中读取并执行应用222的程序指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器253或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200还包括与总线/接口控制器230相连的存储接口总线234。存储接口总线234与存储设备232相连,存储设备232适于进行数据存储。示例的存储设备232可以包括可移除存储器236(例如CD、DVD、U盘、可移动硬盘等)和不可移除存储器238(例如硬盘驱动器HDD等)。
在根据本发明的计算设备200中,程序数据224包括预先训练好的人眼关键点检测器,应用222包括用于执行本发明的视线估计方法500的指令,该指令可以指示处理器204执行本发明的视线估计方法500,以对人眼图像进行快速、准确的视线估计,确定人眼的三维视线方向。
根据一种实施例,人眼关键点检测器为采用人眼样本图像训练出的多层卷积神经网络。人眼样本图像为已标注了双眼的左右眼角位置、瞳孔中心位置以及视角阈值的人眼图像,其中,视角阈值指的是人脸位姿平面与摄像头平面平行时,左右眼角之间的距离(即左右眼角像素点之间的欧氏距离)。人眼样本图像例如可以按照以下方法获取:摄像机采集人眼图像,对于采集到的人眼图像,标注双眼的左右眼角位置、瞳孔中心位置和视角阈值。标注后的人眼图像即可作为训练样本,来训练得出人眼关键点检测器。
根据一种实施例,为了使训练出的人眼关键点检测器具有良好的准确性和泛化性能,在将人眼样本图像输入神经网络之前,需要对其进行预处理,预处理包括图像尺寸缩放、亮度对比度调整、添加噪声、模糊化、图像标准化(对图像中的各像素减去均值后再除以方差)中的至少一种。
人眼关键点检测器在训练过程中的目标函数例如可以是:
其中,xi为第i个人眼样本图像,yi为第i个人眼样本图像的关键点标签和视角阈值标签,ω为待训练的神经网络参数,L(yi,f(xi;ω))为损失函数,f(xi;ω)为人眼关键点预测函数,λ作为超参数通常设置为一个极小的常数,Ω(ω)为网络参数的L2正则函数。
应当指出,本发明不限制人眼关键点检测器的具体网络结构,任意能够实现人眼关键点和视角阈值检测的网络结构均在本发明的保护范围之内。图3示出了人眼关键点检测器的一种示例性的网络结构。如图3所示,人眼关键点检测器为多层卷积神经网络,输入图像为尺寸为64*64的3通道(通常为RGB通道)人眼图像,经过多层卷积、池化和全连接处理,输出14个数值。这14个数值为:双眼的左右眼角、瞳孔中心共6个点的二维坐标值(每个点有x轴坐标、y轴坐标两个数值,6个点共有12个数值),以及双眼共2个的视角阈值。人眼关键点检测器输出的特征信息如图4所示。
基于已训练好的人眼关键点检测器,计算设备200可以执行本发明的视线估计方法500,以快速、准确地确定人眼图像中的三维视线方向。
图5示出了根据本发明一个实施例的视线估计方法500的流程图。方法500在计算设备(例如前述计算设备200)中执行,用于进行快速、准确的三维视线估计。如图5所示,方法500始于步骤S510。
在步骤S510中,获取待进行视线估计的人眼图像。
人眼图像例如可以通过普通摄像机采集,并发送至计算设备。相应地,在步骤S510中,计算设备获取普通摄像机采集到的人眼图像。
需要说明的是,在本发明的实施例中,人眼图像指的是包含人眼部位的图像,包括但不限于仅包含眼部的图像、包含人脸全貌的图像、或者是上半身的图像等。
在步骤S510获取到人眼图像后,执行步骤S520。
在步骤S520中,将人眼图像输入预设的人眼关键点检测器,以得到人眼图像中双眼的左右眼角坐标、瞳孔中心坐标以及视角阈值。
如前所述,人眼关键点检测器为采用已标注了双眼的左右眼角位置、瞳孔中心位置以及视角阈值的人眼样本图像训练得出,其例如可以是多层卷积神经网络结构。人眼关键点检测器适于输出人眼图像中双眼的左右眼角坐标、瞳孔中心坐标以及视角阈值。其中,视角阈值为人脸位姿平面与摄像头平面平行时,左右眼角之间的距离。
随后,在步骤S530中,根据双眼的左右眼角坐标和视角阈值,判断人眼图像是否可以进行视线估计。
根据一种实施例,步骤S530进一步包括:
根据根据双眼的左右眼角坐标,分别计算得出双眼的左右眼角距离。左右眼角距离例如可以按照以下公式计算:
其中,(x1,y1)为步骤S520中输出的左眼或右眼的左眼角二维坐标;(x2,y2)为步骤S520中输出的左眼或右眼的右眼角二维坐标。
计算出双眼的左右眼角距离后,若双眼的左右眼角距离与相应视角阈值的差的绝对值小于等于预设阈值,则判断人眼图像可以进行视线估计;否则,判断人眼图像不可进行视线估计。该判断过程可以用下述公式表示:
其中,xstatus为视线估计状态,equal为相等判断函数,α为预设阈值,Fthreshold为视角阈值。当Fthreshold在P±α范围内时,xstatus的值为1,表示当前人眼图像可以进行视线估计;当Fthreshold不在P±α范围内时,xstatus的值为0,表示当前人眼图像不可以进行视线估计。
通过上述判断方法,可以对人眼图像的头部位姿进行判断,筛选出正脸图像进行人眼视线估计,将侧脸图像判定为不可进行视线估计,从而保证视线估计的准确性。
按照上述判断方法,若人眼图像是一张侧脸幅度很大的图像,将该人眼图像输入人眼关键点检测器后,人眼关键点检测器将输出这张图像在正脸时左右眼角的距离,即视角阈值,以及在当前侧脸图像中双眼的左右眼角坐标。此时根据左右眼角坐标计算出左右眼角距离,会与正脸时的左右眼角距离(即视角阈值)有很大差距,当差距很大时,视线估计的准确性会大大降低。预设阈值α用于控制侧脸多大幅度可以认为是正脸,从而进行下一步操作。
若步骤S530的判断结果为不可进行视线估计,则执行步骤S540,获取下一张人眼图像。下一张人眼图像例如可以是摄像机采集到的当前人眼图像的下一帧图像;或者计算设备向摄像机发出指示,将摄像机基于指示所采集到的图像作为下一张图像;等。当采集到下一张图像后,重复执行步骤S520、S530,直至获取到的人眼图像可以进行视线估计为止。
若步骤S530的判断结果为可以进行视线估计,则执行步骤S550~S570。
在步骤S550中,根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度。
在本发明的实施例中,三维视线方向用视线水平角度θyaw和视线垂直角度θpitch两个角度来表示。
其中,视线水平角度指的是三维视线方向在xOy平面的投影的角度,即该投影沿逆时针方向与x轴正向的夹角。xOy平面即为人眼图像平面,三维视线方向在xOy平面的投影即为二维人眼图像中眼角中心(认为在二维人眼图像中,眼角中心与眼球球心重合)与瞳孔中心的方向向量。因此,眼角中心与瞳孔中心的方向向量沿逆时针方向与x轴正向所成的二维视线角度θ即为三维视线方向中的视线水平角度θyaw。
视线垂直角度指的是三维视线方向与xOy平面所成的角度。视线垂直角度θpitch的计算过程详见下述步骤S560。
根据一种实施例,步骤S550进一步包括下述步骤S552、S554:
在步骤S552中,根据双眼的左右眼角坐标,分别计算得出双眼的眼角中心坐标。眼角中心坐标(xeyeball_center,yeyeball_center)例如可以按照以下公式计算:
其中,(x1,y1)为步骤S520中输出的左眼或右眼的左眼角二维坐标;(x2,y2)为步骤S520中输出的左眼或右眼的右眼角二维坐标。
随后,在步骤S554中,根据双眼的眼角中心坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度。
其中,(xA, yA)为左眼或右眼的瞳孔中心坐标,(xB, yB)为左眼或右眼的眼角中心坐标。θyaw为角度制。
在步骤S560中,确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标,根据三维坐标来计算得出双眼的视线垂直角度。
根据一种实施例,步骤S560进一步包括下述步骤S562-S566:
在步骤S562中,将人眼图像中的瞳孔中心坐标转换为相机坐标系下的三维坐标。
根据一种实施例,瞳孔中心在相机坐标系下的三维坐标按照以下公式确定:
其中,(x,y)为人眼图像中的二维瞳孔中心坐标,zc为人眼图像中的瞳孔中心到相机镜头的距离,是一个常数,f为相机镜头的焦距,(xc,yc,zc)为瞳孔中心在相机坐标系下的三维坐标。根据一种实施例,可以将zc设置为拍摄多个人眼图像训练样本时,人眼到摄像头的距离的均值。
在步骤S564中,将相机坐标系下的三维坐标转换为以眼球球心为原点的世界坐标系下的三维坐标。
根据一种实施例,瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标按照以下公式确定:
其中,R、T分别为世界坐标系到相机坐标系的旋转矩阵、平移矩阵,(xw,yw,zw)为瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标。本领域技术人员可以理解,三维坐标系之间的旋转矩阵、平移矩阵可以通过仿射变换的方式求取,本发明不再赘述对旋转矩阵R、平移矩阵T的计算方式。
在步骤S566中,按照以下公式来计算视线垂直角度θpitch:
其中,xw、yw、zw分别为瞳孔中心在以眼球球心为原点的世界坐标系下的x轴坐标、y轴坐标、z轴坐标。
在步骤S570中,根据视线水平角度和视线垂直角度,确定双眼的三维视线方向。
根据步骤S550中计算出的视线水平角度和步骤S560中计算出的视线垂直角度,即可确定三维视线方向,即:
图7示出了在以眼球球心为原点的世界坐标系下,三维视线方向与相应的视线水平角度θyaw、视线垂直角度θpitch的示意图。如图7所示,点A为瞳孔中心,点A’为瞳孔中心(点A)在xOy平面的投影,椭圆710为眼角膜。三维视线方向即为眼球球心(点O)到瞳孔中心(点A)的方向向量 ,三维视线方向在xOy平面的投影即为眼球球心(点O)到瞳孔中心在xOy平面的投影(点A’)的方向向量 。向量沿逆时针方向与x轴所成的夹角即为视线水平角度θyaw,向量 与 之间的夹角即为视线垂直角度θpitch。
本发明的视线估计方法采用预先训练好的人眼关键点检测器来输出待测人眼图像的人眼关键点坐标(包括左右眼角坐标和瞳孔中心坐标)和视角阈值,通过人眼关键点坐标和视角阈值来判断当前人眼图像进行视线估计的可行性,省去了现有方案中的头部位姿估计步骤,从而提高了人眼视线估计的速度和实时性。并且,本发明的技术方案通过将人眼关键点检测器输出的二维坐标转换为三维坐标,能够对普通摄像机采集到的二维人眼图像进行视线估计,无需采用深度摄像机来采集三维图像,节省了硬件成本,提高了人眼视线估计的精度,具有较好的实用性。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的视线估计方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (4)
1.一种视线估计方法,在计算设备中执行,包括:
获取待进行视线估计的人眼图像;
将所述人眼图像输入预设的人眼关键点检测器,所述人眼关键点检测器为多层卷积神经网络,所述人眼关键点检测器对所述人眼图像进行多层卷积、池化和全连接处理,得到所述人眼图像中双眼的左右眼角坐标、瞳孔中心坐标以及视角阈值,所述视角阈值为人脸位姿平面与摄像头平面平行时,左右眼角之间的距离;
根据双眼的左右眼角坐标和视角阈值,判断所述人眼图像是否可以进行视线估计,若否,则获取下一张人眼图像,若是,则:
根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度;
确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标,根据所述三维坐标来计算得出双眼的视线垂直角度;
根据所述视线水平角度和所述视线垂直角度,确定双眼的三维视线方向;
其中,所述根据双眼的左右眼角坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度的步骤包括:
根据双眼的左右眼角坐标,分别计算得出双眼的眼角中心坐标;
根据双眼的眼角中心坐标和瞳孔中心坐标,分别计算得出双眼的视线水平角度;
其中,所述视线水平角度按照以下公式计算:
(xA, yA)为左眼或右眼的瞳孔中心坐标,(xB, yB)为左眼或右眼的眼角中心坐标;
所述确定双眼的瞳孔中心在以相应眼球球心为原点的世界坐标系下的三维坐标的步骤包括:
将所述人眼图像中的瞳孔中心坐标转换为相机坐标系下的三维坐标;
将相机坐标系下的三维坐标转换为以眼球球心为原点的世界坐标系下的三维坐标;
所述瞳孔中心在相机坐标系下的三维坐标按照以下公式确定:
(x,y)为瞳孔中心坐标,zc为人眼图像中的瞳孔中心到相机镜头的距离,f为相机镜头的焦距,(xc,yc,zc)为瞳孔中心在相机坐标系下的三维坐标;
所述瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标按照以下公式确定:
R、T分别为世界坐标系到相机坐标系的旋转矩阵、平移矩阵,(xw,yw,zw)为瞳孔中心在以眼球球心为原点的世界坐标系下的三维坐标;
所述视线垂直角度按照以下公式计算:
xw、yw、zw分别为瞳孔中心在以眼球球心为原点的世界坐标系下的x轴坐标、y轴坐标、z轴坐标。
2.如权利要求1所述的方法,其中,
所述人眼关键点检测器为采用人眼样本图像训练得出的多层卷积神经网络,所述人眼样本图像为已标注了双眼的左右眼角位置、瞳孔中心位置以及视角阈值的人眼图像。
3.如权利要求1所述的方法,其中,所述根据双眼的左右眼角坐标和视角阈值,判断所述人眼图像是否可以进行视线估计的步骤包括:
根据双眼的左右眼角坐标,分别计算得出双眼的左右眼角距离;
若双眼的左右眼角距离与相应视角阈值的差的绝对值小于等于预设阈值,则判断所述人眼图像可以进行视线估计;
否则,判断所述人眼图像不可进行视线估计。
4.一种计算设备,包括:
至少一个处理器和存储有程序指令的存储器;
当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如权利要求1-3中任一项所述的视线估计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011532531.7A CN112257696B (zh) | 2020-12-23 | 2020-12-23 | 视线估计方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011532531.7A CN112257696B (zh) | 2020-12-23 | 2020-12-23 | 视线估计方法及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112257696A CN112257696A (zh) | 2021-01-22 |
CN112257696B true CN112257696B (zh) | 2021-05-28 |
Family
ID=74225413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011532531.7A Active CN112257696B (zh) | 2020-12-23 | 2020-12-23 | 视线估计方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112257696B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239754A (zh) * | 2021-04-23 | 2021-08-10 | 泰山学院 | 一种应用于车联网的危险驾驶行为检测定位方法及系统 |
CN113095274B (zh) * | 2021-04-26 | 2024-02-09 | 中山大学 | 一种视线估计方法、系统、装置及存储介质 |
CN113627267A (zh) * | 2021-07-15 | 2021-11-09 | 中汽创智科技有限公司 | 一种视线检测方法、装置、设备及介质 |
CN115601824B (zh) * | 2022-10-19 | 2023-05-26 | 华中科技大学 | 一种二维图像中人眼凝视方向的标注装置、系统和方法 |
CN116704589B (zh) * | 2022-12-01 | 2024-06-11 | 荣耀终端有限公司 | 一种注视点估计方法、电子设备和计算机可读存储介质 |
CN115934020B (zh) * | 2023-01-05 | 2023-05-30 | 南方科技大学 | 一种基于弧形屏幕的裸眼3d显示方法及终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099622A (zh) * | 2020-08-13 | 2020-12-18 | 中国科学院深圳先进技术研究院 | 一种视线追踪方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216881B (zh) * | 2007-12-28 | 2011-07-06 | 北京中星微电子有限公司 | 一种图像自动获取方法和装置 |
CN102662476B (zh) * | 2012-04-20 | 2015-01-21 | 天津大学 | 一种视线估计方法 |
CN102930278A (zh) * | 2012-10-16 | 2013-02-13 | 天津大学 | 一种人眼视线估计方法及其装置 |
CN105893946B (zh) * | 2016-03-29 | 2019-10-11 | 中国科学院上海高等研究院 | 一种正面人脸图像的检测方法 |
CN106056092B (zh) * | 2016-06-08 | 2019-08-20 | 华南理工大学 | 基于虹膜与瞳孔的用于头戴式设备的视线估计方法 |
CN108427503B (zh) * | 2018-03-26 | 2021-03-16 | 京东方科技集团股份有限公司 | 人眼追踪方法及人眼追踪装置 |
-
2020
- 2020-12-23 CN CN202011532531.7A patent/CN112257696B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099622A (zh) * | 2020-08-13 | 2020-12-18 | 中国科学院深圳先进技术研究院 | 一种视线追踪方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112257696A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112257696B (zh) | 视线估计方法及计算设备 | |
EP3287943B1 (en) | Liveness test method and liveness test computing apparatus | |
JP6946831B2 (ja) | 人物の視線方向を推定するための情報処理装置及び推定方法、並びに学習装置及び学習方法 | |
JP6754619B2 (ja) | 顔認識方法及び装置 | |
EP3872689B1 (en) | Liveness detection method and device, electronic apparatus, storage medium and related system using the liveness detection method | |
CN111819568B (zh) | 人脸旋转图像的生成方法及装置 | |
CN111274916B (zh) | 人脸识别方法和人脸识别装置 | |
EP3422250A1 (en) | Facial verification method and apparatus | |
CN111091075B (zh) | 人脸识别方法、装置、电子设备及存储介质 | |
CN107590430A (zh) | 活体检测方法、装置、设备及存储介质 | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
JP5001930B2 (ja) | 動作認識装置及び方法 | |
WO2013159686A1 (en) | Three-dimensional face recognition for mobile devices | |
CN111046734B (zh) | 基于膨胀卷积的多模态融合视线估计方法 | |
CN113034652A (zh) | 虚拟形象驱动方法、装置、设备及存储介质 | |
CN113159006B (zh) | 基于人脸识别的考勤方法、系统、电子设备和存储介质 | |
WO2021218568A1 (zh) | 图像深度确定方法及活体识别方法、电路、设备和介质 | |
WO2023083030A1 (zh) | 一种姿态识别方法及其相关设备 | |
Wu et al. | Single-shot face anti-spoofing for dual pixel camera | |
CN111898571A (zh) | 动作识别系统及方法 | |
Kang et al. | Real-time eye tracking for bare and sunglasses-wearing faces for augmented reality 3D head-up displays | |
JP2019212148A (ja) | 情報処理装置及び情報処理プログラム | |
Hutchcroft et al. | CoVisPose: Co-visibility pose transformer for wide-baseline relative pose estimation in 360∘ indoor panoramas | |
CN113705550B (zh) | 一种训练方法、视线检测方法、装置和电子设备 | |
CN111582204A (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100081 Room 204, building 3, Fuhai center, Daliushu, Haidian District, Beijing Patentee after: Beijing wanlihong Technology Co.,Ltd. Address before: 100081 Room 204, building 3, Fuhai center, Daliushu, Haidian District, Beijing Patentee before: BEIJING SUPERRED TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |