CN110008835A - 视线预测方法、装置、系统和可读存储介质 - Google Patents
视线预测方法、装置、系统和可读存储介质 Download PDFInfo
- Publication number
- CN110008835A CN110008835A CN201910163152.6A CN201910163152A CN110008835A CN 110008835 A CN110008835 A CN 110008835A CN 201910163152 A CN201910163152 A CN 201910163152A CN 110008835 A CN110008835 A CN 110008835A
- Authority
- CN
- China
- Prior art keywords
- eyes
- sight
- image
- prediction
- reconstruct
- 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.)
- Granted
Links
Classifications
-
- 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/19—Sensors therefor
-
- 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)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (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)
Abstract
本申请涉及一种视线预测方法、装置、系统和可读存储介质。所述方法包括:获取待处理的目标眼睛图像;将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。采用本方法能够实现渲染域与真实域的跨域,可以提高视线预测的准确性。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种视线预测方法、装置、系统和可读存储介质。
背景技术
人们能够相互从对方的眼睛中读取出很多信息,如:意图,情绪等,因此基于人眼睛的图像处理算法在智能视觉信息处理领域是一个重要的方向,其中基于人眼图像的视线回归是一个重要任务。
视线回归任务的主要目标是基于一张人眼图片,估算出其视线在相机坐标系下的方向(一般以人体长轴方向为z轴方向,垂直于人体长轴的前后方向为x轴方向,垂直于人体长轴的左右方向为y轴方向),一般是估计视线的yaw(偏航角)和pitch(俯仰角)或者估计视线单位向量的x,y,z值。传统的算法主要是基于KNN(k-Nearest Neighbor,K邻近算法),随机森林等方法来完成,但是在运算时间消耗和精度上面无法满足需求。近几年来基于深度学习的图像处理算法发展迅速,同时也使得视线回归任务有了突破性地进展。基于深度学习的视线回归方法主要是将人眼图片输入神经网络,然后由神经网络输出预测视线向量。基于深度学习的算法能够很好地应对光照变化,人的皮肤变化以及人的headpose(头部姿态)变化等传统算法无法处理好的问题。
基于深度学习的视线回归方法也存在一个问题:视线标注数据的缺乏,因为视线向量是无法通过手工方法精确标注的。当前的一种解决思路是利用渲染的图片和标注训练神经网络并且应用到真实人眼图片上的方法,然而由于渲染图片的皮肤,光照,图片质量等与真实图片之间存在一定的差距,也就是说渲染数据集和真实数据集之间存在域与域之间的差距,这种基于跨域训练样本训练得到的模型存在跨域导致的不够准确的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高跨域训练样本训练得到的模型的准确性的视线预测方法、装置、系统和可读存储介质。
第一方面,一种视线预测方法,所述方法包括:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
在其中一个实施例中,所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;当所述视线预测模型的输入为所述眼睛渲染图像时,输出为所述眼睛渲染图像的预测视线向量和重构后的眼睛渲染图像;当所述视线预测模型的输入为所述眼睛真实图像时,输出为重构后的眼睛真实图像。
在其中一个实施例中,所述视线预测模型的训练方式,包括:
获取眼睛渲染图像训练样本和眼睛真实图像训练样本;
将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
在其中一个实施例中,所述根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型,包括:
根据重构损失和预测视线损失,计算预训练损失函数,以及根据所述预训练损失函数对所述初始的视线预测模型进行训练,得到预训练视线预测模型;所述重构损失包括所述眼睛渲染图像训练样本的重构损失和所述眼睛真实图像训练样本的重构损失;
根据重构损失和预测视线损失,计算目标训练损失函数,以及根据所述目标训练损失函数对所述预训练视线预测模型再次进行训练,得到所述视线预测模型;所述目标训练损失函数中重构损失的比重小于所述预训练损失函数中重构损失的比重。
在其中一个实施例中,所述预训练损失函数包括:Lg+β1Lr,其中,Lg为预测视线损失,Lr为重构损失,β1为预训练损失函数中重构损失和预测视线损失之间的偏置项;所述目标训练损失函数包括:Lg+β2Lr,其中,β2为目标训练损失函数中重构损失和预测视线损失之间的偏置项,且β1>β2>0。
在其中一个实施例中,所述视线预测模型包括:特征提取子模型、视线预测子模型和重构子模型;
所述将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量,包括:
将所述眼睛渲染图像输入所述特征提取子模型,输出从所述眼睛渲染图像中提取的眼睛渲染特征,以及将所述眼睛真实图像输入所述特征提取子模型,输出从所述眼睛真实图像中提取的眼睛真实特征;
将所述眼睛渲染特征输入所述重构子模型,输出重构后的眼睛渲染图像,以及将所述眼睛真实特征输入所述重构子模型,输出重构后的眼睛真实图像;
将所述眼睛渲染特征输入所述视线预测子模型,输出所述眼睛渲染图像的预测视线向量。
在其中一个实施例中,所述获取眼睛渲染图像训练样本,包括:
通过渲染工具对眼睛进行建模,得到眼睛模型;
根据所述眼睛模型,生成不同设置参数下的眼睛渲染图像和标注视线向量。
在其中一个实施例中,所述设置参数包括:相机参数和视线参数,其中,所述相机参数符合预设相机角度范围,所述视线参数符合预设视线角度范围。
在其中一个实施例中,所述获取眼睛渲染图像训练样本,还包括:
根据所述眼睛模型,在生成所述眼睛渲染图像和标注视线向量的同时,生成相应的眼睛渲染图像的内外眼角标注;
所述眼睛真实图像训练样本还包括:眼睛真实图像的内外眼角标注;
在所述获取眼睛渲染图像训练样本和眼睛真实图像训练样本之后,所述视线预测模型的训练方式,还包括:
根据所述眼睛渲染图像的内外眼角标注和所述眼睛真实图像的内外眼角标注,对所述眼睛渲染图像和所述眼睛真实图像进行裁剪处理,得到裁剪处理后的眼睛渲染图像和眼睛真实图像。
在其中一个实施例中,所述视线预测模型包括:特征提取子模型和视线预测子模型;
所述将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量,包括:
将所述目标眼睛图像输入预先训练的视线预测模型,通过所述特征提取子模型提取眼睛特征;
将所述眼睛特征输入到所述视线预测子模型,输出所述目标眼睛图像的预测视线向量。
第二方面,一种视线预测模型的训练方法,所述方法包括:
获取眼睛渲染图像训练样本和眼睛真实图像训练样本;所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;
将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
第三方面,一种视线预测装置,所述装置包括:
图像获取模块,用于获取待处理的目标眼睛图像;
视线预测模块,用于将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
第四方面,一种视线预测模型的训练装置,所述装置包括:
训练样本获取模块,用于获取眼睛渲染图像训练样本和眼睛真实图像训练样本;所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;
图像处理模块,用于将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
损失计算模块,用于根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
模型训练模块,用于根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
第六方面,一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
第七方面,一种视线预测系统,包括拍摄装置和上述的计算机设备,所述拍摄装置与所述计算机设备连接,用于拍摄获取眼睛图像,并将所述眼睛图像发送给所述计算机设备进行视线预测。
上述视线预测方法、装置、系统和可读存储介质,在训练时,视线预测模型可以对训练样本中的眼睛图像进行特征提取,并基于提取出的图像特征进行重构,得到重构后的眼睛图像,进而计算眼睛图像和重构后的眼睛图像之间的重构损失;因此训练好的视线预测模型针对输入的眼睛渲染图像和眼睛真实图像,重构损失均很小;也就是说,眼睛渲染图像训练样本和眼睛真实图像训练样本的眼睛图像和重构后的眼睛图像之间非常接近,因此视线预测模型可以学习眼睛渲染图像和眼睛真实图像的共有特征,从眼睛渲染图像中提取的特征更接近于真实特征,即实现渲染域与真实域的跨域,使得根据眼睛渲染图像样本进行训练,更接近于采用眼睛真实图像和眼睛真实图像的标注视线向量进行训练,进而可以训练出更贴近真实、更准确的视线预测模型,从而可以提高视线预测的准确性。也就是说,在真实的眼睛图像难以标注视线向量的情况下,本实施例的视线预测模型采用眼睛渲染图像训练样本和眼睛真实图像训练样本进行训练,能够克服眼睛渲染图像和眼睛真实图像之间光照、皮肤等等差距,使得真实的目标眼睛图像的预测视线向量的误差达到最低。
附图说明
图1为一个实施例中视线预测方法的应用环境图;
图2为一个实施例中视线预测方法的流程示意图;
图3a为一个实施例中视线预测模型的训练方法的流程示意图;
图3b为一个实施例中视线预测模型的训练方法的示意图;
图4a为一个实施例中特征提取子模型的网络结构示意图;
图4b为一个实施例中残差块的网络结构示意图;
图4c为一个实施例中重构子模型的网络结构示意图;
图4d为一个实施例中视线预测子模型的网络结构示意图;
图5为一个实施例中视线预测模型的具体训练方法的流程示意图;
图6为一个实施例中视线预测模型的训练方法的流程示意图;
图7为一个实施例中视线预测装置的结构框图;
图8为一个实施例中视线预测模型的训练装置的流程示意图;
图9为一个实施例中计算机设备的内部结构图;
图10为一个实施例中视线系统的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视线预测方法,可以应用于如图1所示的应用环境中。其中,拍摄装置12可以获取对象的图像,并将图像发送给计算机设备11;计算机设备11可以对从所述图像中提取对象的眼睛图像,并进行视线预测,得到所述对象的预测视线向量,还可以根据所述预测视线向量对所述对象进行分析,得到意图、情绪等信息。其中,计算机设备11可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、服务器等。
在一个实施例中,如图2所示,提供了一种视线预测方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
S201,获取待处理的目标眼睛图像。
上述目标眼睛图像可以是计算机设备接收到的其它设备发送的眼睛图像,如拍摄装置、其它计算机设备等,也可以是计算机设备本地存储的眼睛图像,或者是其它来源的眼睛图像;当然,计算机设备也可以获取待处理的目标图像,然后通过眼睛识别算法从目标图像中识别出眼睛区域,并从所述目标图像中提取出眼睛区域的图像作为目标眼睛图像。
眼睛图像可以包括双眼图像,也可以包括单眼图像;一般地,因为两个眼睛表达的内容一致,因此可以仅对单眼图像进行处理以减少计算量。相应地,本实施例中的视线预测模型可以针对双眼图像建立,也可以针对单眼图像建立;为了减少计算量以及计算误差,当本实施例的视线预测模型针对单眼图像建立时,所述待处理的目标眼睛图像最好为与所述视线预测模型的单眼类型一致,即同为左眼或同为右眼;当单眼类型不一致时,计算机设备可以对目标眼睛图像进行翻转变换处理,得到与视线预测模型的单眼类型一致的目标眼睛图像。
S202,将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量。
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
所述视线预测模型可以从所述目标眼睛图像中提取出目标眼睛特征,然后根据所述目标眼睛特征进行视线预测,得到预测视线向量。
本实施例中的训练样本可以包括:眼睛渲染图像训练样本和眼睛真实图像训练样本;考虑到眼睛图像的视线向量的标注数据不容易得到,其中,眼睛渲染图像训练样本需要包括标注视线向量,而眼睛真实图像训练样本可以不需要包括标注视线向量。眼睛渲染图像可以是通过各种渲染方式得到的虚拟的或者伪真实的眼睛图像,如通过生成式对抗网络的判别器和生成器生成的接近真实的眼睛图像、利用渲染工具渲染出的眼睛图像等;同时,基于所述眼睛渲染图像,在渲染得到所述眼睛渲染图像的同时,可以基于所述眼睛渲染图像的生成方式方便地得到所述眼睛渲染图像的标注视线向量,甚至根据标注视线向量生成眼睛渲染图像。眼睛真实图像为基于真实的眼睛拍摄得到的图像,可以为各种来源的数据集,例如MPIIGaze数据集(马普计算机科学研究所提供的眼睛图像数据集)。
本实施例的视线预测模型在训练时,可以对训练样本中的眼睛图像进行特征提取,并基于提取出的图像特征进行重构,得到重构后的眼睛图像,进而计算眼睛图像和重构后的眼睛图像之间的重构损失;因此训练好的视线预测模型针对输入的眼睛渲染图像和眼睛真实图像,重构损失均很小;也就是说,眼睛渲染图像训练样本和眼睛真实图像训练样本的眼睛图像和重构后的眼睛图像之间非常接近,因此视线预测模型可以学习眼睛渲染图像和眼睛真实图像的共有特征,从眼睛渲染图像中提取的特征更接近于真实特征,即实现渲染域与真实域的跨域,使得根据眼睛渲染图像样本进行训练,更接近于采用眼睛真实图像和眼睛真实图像的标注视线向量进行训练,进而可以训练出更贴近真实、更准确的视线预测模型,从而可以提高视线预测的准确性。
也就是说,在真实的眼睛图像难以标注视线向量的情况下,本实施例的视线预测模型采用眼睛渲染图像训练样本和眼睛真实图像训练样本进行训练,能够克服眼睛渲染图像和眼睛真实图像之间光照、皮肤等等差距,使得真实的目标眼睛图像的预测视线向量的误差达到最低。
需要说明的是,本实施例的视线预测模型可以应用于人的视线预测,还可以应用于其它对象的视线预测,相应地,训练样本采用相应对象的训练样本可。
在一个实施例中,所述眼睛渲染图像训练样本可以包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;当所述视线预测模型的输入为所述眼睛渲染图像时,输出为所述眼睛渲染图像的预测视线向量和重构后的眼睛渲染图像;当所述视线预测模型的输入为所述眼睛真实图像时,输出为重构后的眼睛真实图像。
可以理解的是,视线预测模型的损失函数包括重构损失和预测视线损失,因此在训练时,当所述视线预测模型的输入为所述眼睛渲染图像时,需要输出所述眼睛渲染图像的预测视线向量和重构后的眼睛渲染图像,从而可以基于所述眼睛渲染图像和重构后的眼睛渲染图像计算重构损失,以及基于预测视线向量和标注视线向量计算预测视线损失;当所述视线预测模型的输入为所述眼睛真实图像时,需要输出重构后的眼睛真实图像,从而可以基于眼睛真实图像和重构后的眼睛真实图像计算重构损失。
可选地,所述眼睛真实图像训练样本还可以包括:眼睛真实图像的标注视线向量;相应地,本实施例的视线预测模型的损失函数还可以包括眼睛真实图像样本的预测视线损失,当所述视线预测模型的输入为所述眼睛真实图像时,还需要输出所述眼睛真实图像的预测视线向量,以计算眼睛真实图像训练样本的预测视线损失;总之,本实施例对此并不限制。
在一个实施方式中,参照图3a所示,所述视线预测模型的训练方式,可以包括:
S301,获取眼睛渲染图像训练样本和眼睛真实图像训练样本。
可选地,所述获取眼睛渲染图像训练样本,可以包括:通过渲染工具对眼睛进行建模,得到眼睛模型;根据所述眼睛模型,生成不同设置参数下的眼睛渲染图像和标注视线向量。
示例性地,渲染工具可以为UnityEyes(一种3D渲染工具)、unity3D(一种游戏渲染引擎)等渲染工具,对眼睛的外形结构进行建模,渲染出眼睛的3D模型,从而获取到眼睛渲染图像;眼睛的外形结构可以包括眼球、虹膜、眼睑以及眼睛附近的皮肤等,可以根据眼球和虹膜的相对关系得到精准的标注视线向量。
其中,设置参数可以包括但不限于:相机参数和视线参数,其中,所述相机参数符合预设相机角度范围,所述视线参数符合预设视线角度范围。例如,预设相机角度范围为(0,0,20,20),即相机的yaw(左右偏移角度)和pitch(上下偏移角度)变化范围都是正负20度,均值都是0,符合常规意义上人的头部姿态;预设视线角度范围为(0,0,30,30),即视线的yaw和pitch变化范围都是正负30度,均值都是0,符合常规意义上人的视线范围;因此基于该设置参数,渲染工具可以生成符合常规的眼睛渲染图像和标注视线向量,避免生成异常的眼睛渲染图像和标注视线向量,提高训练样本的有效性,降低计算量。
可选地,所述获取眼睛渲染图像训练样本,还可以包括:根据所述眼睛模型,在生成所述眼睛渲染图像和标注视线向量的同时,生成相应的眼睛渲染图像的内外眼角标注;所述眼睛真实图像训练样本还包括:眼睛真实图像的内外眼角标注;在所述获取眼睛渲染图像训练样本和眼睛真实图像训练样本之后,所述视线预测模型的训练方式,还可以包括:根据所述眼睛渲染图像的内外眼角标注和所述眼睛真实图像的内外眼角标注,对所述眼睛渲染图像和所述眼睛真实图像进行裁剪处理,得到裁剪处理后的眼睛渲染图像和眼睛真实图像。内外眼角标注可以为内眼角点和外眼角点的标注。
无论是眼睛渲染图像还是眼睛真实图像,眼睛图像中除了有效的眼睛区域外,可能还存在诸如脸部区域、眉毛区域等。内外眼角标注作为一种landmark(界标)数据,可以表征眼睛区域,计算机设备可以根据内外眼角标注对眼睛图像进行裁剪处理,得到裁剪处理后的眼睛图像,因此可以提高训练样本的有效性,降低计算量。内外眼角标注可以为计算机设备对眼睛图像通过眼角识别算法进行眼角识别处理得到,对于眼睛渲染图像而言,内外眼角标注还可以通过渲染工具在生成眼睛渲染图像时得到。
示例性地,通过渲染工具可以生成30万张眼睛渲染图像以及相应的30万个标注视线向量,组成跨域的第一个数据集,即眼睛渲染图像样本;MPIIGaze数据集,组成跨域的第二个数据集,即眼睛真实图像样本,具体可以包括15个人,每个人3000张眼睛真实图像,每张眼睛真实图像均有眼睛的内外眼角两个点的landmark,每张眼睛真实图像还可以标注有标注视线向量。值得注意的是,UnityEyes工具生成的眼睛渲染图像为左眼图像,而MPIIGaze数据集中的眼睛真实图像有左眼也有右眼,所以需要将MPIIGaze数据集中的右眼水平翻转为左眼,以统一两个数据集。
S302,将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量。
具体地,所述视线预测模型可以包括:特征提取子模型、视线预测子模型和重构子模型,上述特征提取子模型、视线预测子模型和重构子模型可以为各种类型的机器学习模型,例如神经网络模型。
参照图3b所示,上述S302具体可以包括:
将所述眼睛渲染图像输入所述特征提取子模型,输出从所述眼睛渲染图像中提取的眼睛渲染特征,以及将所述眼睛真实图像输入所述特征提取子模型,输出从所述眼睛真实图像中提取的眼睛真实特征;
将所述眼睛渲染特征输入所述重构子模型,输出重构后的眼睛渲染图像,以及将所述眼睛真实特征输入所述重构子模型,输出重构后的眼睛真实图像;
将所述眼睛渲染特征输入所述视线预测子模型,输出所述眼睛渲染图像的预测视线向量。
参照图3b所示的采用神经网络模型的视线预测模型的网络整体框架,主要分为三个部分:1)Encode-net(特征提取子模型),主要用于提取图像的眼睛特征,UnityEyes的图像和MPIIGaze的图像都用此网络来提取特征;2)Reconstruction-net(重构子模型),主要作用是基于图像的眼睛特征,将原图重构出来,这个部分只用于网络训练过程中约束Encode-net学习两个域图像(眼睛渲染图像和眼睛真实图像)的共有特征;3)Gaze-net(视线预测子模型),主要作用是基于图像的眼睛特征,回归出图像中眼睛的视线向量。
其中,所述特征提取子模型包括多个依次连接的卷积残差层,所述卷积残差层包括相互连接的卷积层和残差块层。图4a示出了Encode-net的网络结构,输入为一张灰度图像,图像大小为36×60,输出是一个9×15×64的眼睛特征。该神经网络模型由三个依次连接的卷积残差层构成,第一卷积残差层的卷积层为16个3×3的卷积核,padding填充参数为1,stride步长为1,第一卷积残差层输出36×60×16的特征;第二卷积残差层的卷积层为32个3×3的卷积核,填充参数为1,步长为2,第二卷积残差层输出18×20×32的特征;第三卷积残差层的卷积层为64个3×3的卷积核,填充参数为1,步长为2,第三卷积残差层输出9×15×64的特征。
每个卷积层可以包括BatchNorm(批归一化)层和ReLU层,ReLU层为relu激活函数的激活层,BatchNorm层可以将ReLU层的输入值预先规范为均值为0方差为1的标准正态分布,可以让损失函数的梯度变大,避免梯度消失问题且提高训练速度。
图4b示出了一种残差块层的结构示意图,其输入为一个h×w×c的特征(h为高,w为宽,c为通道数),输出是一个h×w×c的特征,可以由依次连接的卷积层、批归一化层、ReLU层、卷积层、批归一化层、Sum层(与残差块层的输入求和)、ReLU层组成。残差块层多用于分类问题,可以有效解决由于深度增加带来的退化问题,可以提高训练效率。
其中,所述重构子模型包括依次连接的多个反卷积层和一个卷积层。图4c示出了Reconstruction-net的网络结构,其输入为9×15×64的特征,输出为36×60×1的灰度图像,包括两个ConvTranspose2d(反卷积)层,目的是为了将特征上采样两倍到达原图的大小;最后一个卷积层输出通道数为1,与特征提取子模型输入的灰度图像保持一致;网络结构中的卷积层和反卷积层都包含有BatchNorm层和ReLU层。其中,output_padding为输出填充参数,是为了保证反卷积层输出图像的大小。
其中,所述视线预测子模型包括依次连接的多个卷积层和一个全连接层。图4d示出了Gaze-net的网络结构,其输入为9×15×64的特征,输出为yaw和pitch两个值,包括两个卷积层和一个全连接层。
S303,根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失。
所述重构损失可以为眼睛图像对应的像素值向量和重构后的眼睛图像对应的像素值向量之间的范数,该范数可以但不限于是L1范数(绝对误差之和)、L2范数(欧几里得距离)等,例如,针对L1范数,对于眼睛渲染图像,重构损失Lunity可以表示为:
Lunity=||Iunity-I’unity||1
其中,Iunity为眼睛渲染图像,I’unity为重构后的眼睛渲染图像;
对于眼睛真实图像,重构损失Lmpii可以表示为:
Lmpii=||Impii-I'mpii||1
其中,Impii为眼睛真实图像,I'mpii为重构后的眼睛真实图像。
所述视线预测模型的的重构损失Lr可以为各眼睛渲染图像的重构损失以及各眼睛真实图像的重构损失之和。
所述预测视线损失可以为眼睛渲染图像的预测视线向量和标注视线向量之间的范数,该范数可以但不限于是L1范数(绝对误差之和)、L2范数(欧几里得距离)等,例如,针对L2范数,对于眼睛渲染图像,预测视线损失可以表示为:(glabel-gpred)2,其中,glabel为标注视线向量,gpred为预测视线向量。相应地,视线预测模型的预测视线损失Lg为各眼睛渲染图像的预测视线损失之和。
S304,根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
其中,所述视线预测模型的损失函数可以为所述所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失之和;进行可以根据所述损失函数的梯度对所述视线预测模型中的参数进行改进,实现对所述视线预测模型的训练。
总之,本实施例的视线预测模型的训练方法可以训练出更贴近真实、更准确的视线预测模型,从而可以提高视线预测的准确性。
在一种实施方式中,参照图5所示,上述S304可以包括:
S501,根据重构损失和预测视线损失,计算预训练损失函数,以及根据所述预训练损失函数对所述初始的视线预测模型进行训练,得到预训练视线预测模型;所述重构损失包括所述眼睛渲染图像训练样本的重构损失和所述眼睛真实图像训练样本的重构损失。
预训练损失函数可以为重构损失和预测视线损失的线性组合。例如,预训练损失函数包括:Lg+β1Lr,其中,Lg为预测视线损失,Lr为重构损失,β1为预训练损失函数中重构损失和预测视线损失之间的偏置项。示例性地,β1设置为1,可以在无预训练网络的情况下开始训练,训练过程中的学习率可以为0.001,正则项系数(weight decay)可以为0.00001,可以每隔30个epoch(回合)将学习率下降10倍。其中,学习率为根据损失梯度调整网络参数时的一个超参数;学习率过低时,参数更新慢、收敛慢,但不会错过极小值;学习率过高时,参数更新快、收敛快,但容易错过极小值;因此学习率一般设置先高后低。正则项系数为类似学习率的一种超参数,用于对损失函数进行正则化,避免过拟合。
因此,采用预训练损失函数训练得到的预训练视线预测模型可以实现重构约束,即眼睛渲染图像训练样本和眼睛真实图像训练样本的眼睛图像和重构后的眼睛图像之间非常接近,因此预训练视线预测模型可以学习眼睛渲染图像和眼睛真实图像的共有特征,从眼睛渲染图像中提取的特征更接近于真实特征,即实现渲染域与真实域的跨域,也就是说,主要实现了特征提取子模型的优化。
S502,根据重构损失和预测视线损失,计算目标训练损失函数,以及根据所述目标训练损失函数对所述预训练视线预测模型再次进行训练,得到所述视线预测模型;所述目标训练损失函数中重构损失的比重小于所述预训练损失函数中重构损失的比重。
目标训练损失函数同样可以为重构损失和预测视线损失的线性组合。例如,目标训练损失函数包括:Lg+β2Lr,其中,β2为目标训练损失函数中重构损失和预测视线损失之间的偏置项,且β1>β2>0。例如,β2设置为0.1,可以利用收敛后的预训练视线预测模型作为预训练模型,此时学习率设置为0.0001,其余规则不变。此阶段训练的目的是:在已经满足重构约束的情况下,让网络提取到的中间特征更多地偏向于视线回归,从而在跨域的视线预测上得到更好的效果。
相比于直接采用目标训练损失函数进行训练,本实施例的先采用预训练损失函数进行训练,再采用目标训练损失函数进行训练的方法,可以避免无法优化特征提取子模型的问题,先优化特征提取子模型以实现跨域,再优化预测子模型以实现视线回归,提高了训练效率和视线预测模型的性能。需要说明的是,采用渲染工具对眼睛建模以生成眼睛渲染图像和标注视线向量,可以解决常规方法无法得到大量精准的视线向量标注的问题;而渲染域和真实域之间的跨域问题,也被本实施例的创造性的模型训练方法所解决。
相比于采用生成式对抗网络,利用渲染图像和真实图像,输入渲染图像,输出伪真实图像的跨域方法而言,本实施例的训练方法还存在如下如下优势:
(1)本实施例的视线预测模型为端对端的结构,即特征提取子模型的输出为视线预测子模型的输入,同时也为重构子模型的输入,相比于生成式对抗网络的复杂结构(需要中间输出到判别器、生成器等),训练过程更加稳定简单,易于实现;
(2)本实施例的眼睛渲染图像和标注视线向量是根据渲染工具生成的,更加稳定,避免了生成式对抗网络在处理渲染图片时容易产生视线的变化从而容易引入噪声的问题;
此外,相比于提取眼睛外形参数,基于眼睛外形参数估算视线向量的方式而言,本实施例用深度神经网络来提取眼睛的特征作为跨域中间表示,因此对视线信息的表达能力更强。
可以理解的是,在视线预测模型训练完成后,所述视线预测模型可以仅包括:特征提取子模型和视线预测子模型,而可以不包括重构子模型。上述S202可以包括:将所述目标眼睛图像输入预先训练的视线预测模型,通过所述特征提取子模型提取眼睛特征;将所述眼睛特征输入到所述视线预测子模型,输出所述目标眼睛图像的预测视线向量。因此,视线预测模型在使用时可以仅包括训练好的特征提取子模型和视线预测子模型,降低视线预测模型占用的存储资源。
在一个实施例中,如图6所示,提供了一种视线预测模型的训练方法,可以包括以下步骤:
S601,获取眼睛渲染图像训练样本和眼睛真实图像训练样本;所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;
S602,将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
S603,根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
S604,根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
上述视线预测模型的训练方法的具体描述可以参照上述视线预测方法的具体描述,这里不再赘述。
应该理解的是,虽然图2,3a,5,6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2,3a,5,6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种视线预测装置,包括:图像获取模块71和视线预测模块72,其中:
图像获取模块71,用于获取待处理的目标眼睛图像;
视线预测模块72,用于将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
在一个实施例中,所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;当所述视线预测模型的输入为所述眼睛渲染图像时,输出为所述眼睛渲染图像的预测视线向量和重构后的眼睛渲染图像;当所述视线预测模型的输入为所述眼睛图像时,输出为所述眼睛真实图像的预测视线向量和重构后的眼睛渲染图像。
在一个实施例中,所述视线预测装置还包括:模型训练模块,所述模型训练模块可以包括:
训练样本获取单元,用于获取眼睛渲染图像训练样本和眼睛真实图像训练样本;
图像处理单元,用于将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
损失计算单元,用于根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
模型训练单元,用于根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
在一个实施例中,所述模型训练单元具体可以用于根据重构损失和预测视线损失,计算预训练损失函数,以及根据所述预训练损失函数对所述初始的视线预测模型进行训练,得到预训练视线预测模型;所述重构损失包括所述眼睛渲染图像训练样本的重构损失和所述眼睛真实图像训练样本的重构损失;根据重构损失和预测视线损失,计算目标训练损失函数,以及根据所述目标训练损失函数对所述预训练视线预测模型再次进行训练,得到所述视线预测模型;所述目标训练损失函数中重构损失的比重小于所述预训练损失函数中重构损失的比重。
在一个实施例中,所述预训练损失函数包括:Lg+β1Lr,其中,Lg为预测视线损失,Lr为重构损失,β1为预训练损失函数中重构损失和预测视线损失之间的偏置项;所述目标训练损失函数包括:Lg+β2Lr,其中,β2为目标训练损失函数中重构损失和预测视线损失之间的偏置项,且β1>β2>0。
在一个实施例中,所述视线预测模型包括:特征提取子模型、视线预测子模型和重构子模型;所述图像处理单元具体可以用于将所述眼睛渲染图像输入所述特征提取子模型,输出从所述眼睛渲染图像中提取的眼睛渲染特征,以及将所述眼睛真实图像输入所述特征提取子模型,输出从所述眼睛真实图像中提取的眼睛真实特征;将所述眼睛渲染特征输入所述重构子模型,输出重构后的眼睛渲染图像,以及将所述眼睛真实特征输入所述重构子模型,输出重构后的眼睛真实图像;将所述眼睛渲染特征输入所述视线预测子模型,输出所述眼睛渲染图像的预测视线向量。
在一个实施例中,所述训练样本获取单元具体可以用于通过渲染工具对眼睛进行建模,得到眼睛模型;根据所述眼睛模型,生成不同设置参数下的眼睛渲染图像和标注视线向量。
在一个实施例中,所述设置参数包括:相机参数和视线参数,其中,所述相机参数符合预设相机角度范围,所述视线参数符合预设视线角度范围。
在一个实施例中,所述训练样本获取单元还用于根据所述眼睛模型,在生成所述眼睛渲染图像和标注视线向量的同时,生成相应的眼睛渲染图像的内外眼角标注;所述眼睛真实图像训练样本还包括:眼睛真实图像的内外眼角标注;所述模型训练模块还可以包括:图像裁剪单元,用于根据所述眼睛渲染图像的内外眼角标注和所述眼睛真实图像的内外眼角标注,对所述眼睛渲染图像和所述眼睛真实图像进行裁剪处理,得到裁剪处理后的眼睛渲染图像和眼睛真实图像。
在一个实施例中,所述视线预测模型包括:特征提取子模型和视线预测子模型;所述视线预测模块72可以包括:
特征提取单元,用于将所述目标眼睛图像输入预先训练的视线预测模型,通过所述特征提取子模型提取眼睛特征;
视线预测单元,用于将所述眼睛特征输入到所述视线预测子模型,输出所述目标眼睛图像的预测视线向量。
在一个实施例中,如图8所示,提供了一种视线预测模型的训练装置,包括:训练样本获取模块81、图像处理模块82、损失计算模块83和模型训练模块84,其中:
训练样本获取模块81,用于获取眼睛渲染图像训练样本和眼睛真实图像训练样本;所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;
图像处理模块82,用于将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
损失计算模块83,用于根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
模型训练模块84,用于根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
关于视线预测装置的具体限定可以参见上文中对于视线预测方法的限定,关于视线预测模型的训练装置的具体限定可以参见上文中对于视线预测模型的训练方法的限定,在此不再赘述。上述视线预测装置和视线预测模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视线预测方法和视线预测模型的训练方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
参照图10所示,示出了一种视线预测系统,包括拍摄装置101和上述计算机设备102,所述拍摄装置101与所述计算机设备102连接,用于拍摄获取眼睛图像,并将所述眼睛图像发送给所述计算机设备102进行视线预测。
本领域技术人员可以理解,图9-10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种视线预测方法,其特征在于,所述方法包括:
获取待处理的目标眼睛图像;
将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
2.根据权利要求1所述的方法,其特征在于,所述眼睛渲染图像训练样本包括:眼睛渲染图像和标注视线向量;所述眼睛真实图像训练样本包括:眼睛真实图像;当所述视线预测模型的输入为所述眼睛渲染图像时,输出为所述眼睛渲染图像的预测视线向量和重构后的眼睛渲染图像;当所述视线预测模型的输入为所述眼睛真实图像时,输出为重构后的眼睛真实图像。
3.根据权利要求2所述的方法,其特征在于,所述视线预测模型的训练方式,包括:
获取眼睛渲染图像训练样本和眼睛真实图像训练样本;
将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量;
根据所述眼睛渲染图像和重构后的眼睛渲染图像,计算所述眼睛渲染图像训练样本的重构损失;根据所述眼睛真实图像和重构后的眼睛真实图像,计算所述眼睛真实图像训练样本的重构损失;以及根据所述眼睛渲染图像的预测视线向量和标注视线向量,计算所述眼睛渲染图像训练样本的预测视线损失;
根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述眼睛渲染图像训练样本的重构损失和预测视线损失、以及所述眼睛真实图像训练样本的重构损失,对所述初始的视线预测模型进行训练,得到所述视线预测模型,包括:
根据重构损失和预测视线损失,计算预训练损失函数,以及根据所述预训练损失函数对所述初始的视线预测模型进行训练,得到预训练视线预测模型;所述重构损失包括所述眼睛渲染图像训练样本的重构损失和所述眼睛真实图像训练样本的重构损失;
根据重构损失和预测视线损失,计算目标训练损失函数,以及根据所述目标训练损失函数对所述预训练视线预测模型再次进行训练,得到所述视线预测模型;所述目标训练损失函数中重构损失的比重小于所述预训练损失函数中重构损失的比重。
5.根据权利要求4所述的方法,其特征在于,所述预训练损失函数包括:Lg+β1Lr,其中,Lg为预测视线损失,Lr为重构损失,β1为预训练损失函数中重构损失和预测视线损失之间的偏置项;所述目标训练损失函数包括:Lg+β2Lr,其中,β2为目标训练损失函数中重构损失和预测视线损失之间的偏置项,且β1>β2>0。
6.根据权利要求3所述的方法,其特征在于,所述视线预测模型包括:特征提取子模型、视线预测子模型和重构子模型;
所述将所述眼睛渲染图像和眼睛真实图像分别输入初始的视线预测模型,得到重构后的眼睛渲染图像和重构后的眼睛真实图像,以及所述眼睛渲染图像的预测视线向量,包括:
将所述眼睛渲染图像输入所述特征提取子模型,输出从所述眼睛渲染图像中提取的眼睛渲染特征,以及将所述眼睛真实图像输入所述特征提取子模型,输出从所述眼睛真实图像中提取的眼睛真实特征;
将所述眼睛渲染特征输入所述重构子模型,输出重构后的眼睛渲染图像,以及将所述眼睛真实特征输入所述重构子模型,输出重构后的眼睛真实图像;
将所述眼睛渲染特征输入所述视线预测子模型,输出所述眼睛渲染图像的预测视线向量。
7.根据权利要求3所述的方法,其特征在于,所述获取眼睛渲染图像训练样本,包括:
通过渲染工具对眼睛进行建模,得到眼睛模型;
根据所述眼睛模型,生成不同设置参数下的眼睛渲染图像和标注视线向量。
8.根据权利要求7所述的方法,其特征在于,所述设置参数包括:相机参数和视线参数,其中,所述相机参数符合预设相机角度范围,所述视线参数符合预设视线角度范围。
9.根据权利要求7所述的方法,其特征在于,所述获取眼睛渲染图像训练样本,还包括:
根据所述眼睛模型,在生成所述眼睛渲染图像和标注视线向量的同时,生成相应的眼睛渲染图像的内外眼角标注;
所述眼睛真实图像训练样本还包括:眼睛真实图像的内外眼角标注;
在所述获取眼睛渲染图像训练样本和眼睛真实图像训练样本之后,所述视线预测模型的训练方式,还包括:
根据所述眼睛渲染图像的内外眼角标注和所述眼睛真实图像的内外眼角标注,对所述眼睛渲染图像和所述眼睛真实图像进行裁剪处理,得到裁剪处理后的眼睛渲染图像和眼睛真实图像。
10.根据权利要求1所述的方法,其特征在于,所述视线预测模型包括:特征提取子模型和视线预测子模型;
所述将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量,包括:
将所述目标眼睛图像输入预先训练的视线预测模型,通过所述特征提取子模型提取眼睛特征;
将所述眼睛特征输入到所述视线预测子模型,输出所述目标眼睛图像的预测视线向量。
11.一种视线预测装置,其特征在于,所述装置包括:
图像获取模块,用于获取待处理的目标眼睛图像;
视线预测模块,用于将所述目标眼睛图像输入预先训练的视线预测模型,输出所述目标眼睛图像的预测视线向量;
其中,所述视线预测模型是基于眼睛渲染图像训练样本的重构损失和预测视线损失、以及眼睛真实图像训练样本的重构损失训练得到的;
所述重构损失包括:各训练样本的眼睛图像和重构后的眼睛图像之间的损失,所述重构后的眼睛图像是从各训练样本的眼睛图像中提取眼睛特征并重构得到的;所述预测视线损失包括:所述眼睛渲染图像训练样本的预测视线向量和标注视线向量之间的损失,所述眼睛渲染图像训练样本的预测视线向量是从所述眼睛渲染图像训练样本的眼睛图像中提取眼睛特征并预测得到的。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
13.一种视线预测系统,其特征在于,包括拍摄装置和计算机设备,所述拍摄装置与所述计算机设备连接,用于拍摄获取眼睛图像,并将所述眼睛图像发送给所述计算机设备进行视线预测;所述计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910163152.6A CN110008835B (zh) | 2019-03-05 | 2019-03-05 | 视线预测方法、装置、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910163152.6A CN110008835B (zh) | 2019-03-05 | 2019-03-05 | 视线预测方法、装置、系统和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008835A true CN110008835A (zh) | 2019-07-12 |
CN110008835B CN110008835B (zh) | 2021-07-09 |
Family
ID=67166401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910163152.6A Active CN110008835B (zh) | 2019-03-05 | 2019-03-05 | 视线预测方法、装置、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008835B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766097A (zh) * | 2021-01-06 | 2021-05-07 | 中国科学院上海微系统与信息技术研究所 | 视线识别模型的训练方法、视线识别方法、装置及设备 |
CN113569627A (zh) * | 2021-06-11 | 2021-10-29 | 北京旷视科技有限公司 | 人体姿态预测模型训练方法、人体姿态预测方法及装置 |
CN113627379A (zh) * | 2021-08-19 | 2021-11-09 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置、设备以及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224065A (zh) * | 2014-05-29 | 2016-01-06 | 北京三星通信技术研究有限公司 | 一种视线估计设备和方法 |
CN107333121A (zh) * | 2017-06-27 | 2017-11-07 | 山东大学 | 曲面屏幕上移动视点的沉浸式立体渲染投影系统及其方法 |
CN108334832A (zh) * | 2018-01-26 | 2018-07-27 | 深圳市唯特视科技有限公司 | 一种基于生成对抗网络的视线估计方法 |
CN108364073A (zh) * | 2018-01-23 | 2018-08-03 | 中国科学院计算技术研究所 | 一种多标记学习方法 |
CN108875526A (zh) * | 2018-01-05 | 2018-11-23 | 北京旷视科技有限公司 | 视线检测的方法、装置、系统及计算机存储介质 |
CN108875524A (zh) * | 2018-01-02 | 2018-11-23 | 北京旷视科技有限公司 | 视线估计方法、装置、系统和存储介质 |
CN108985172A (zh) * | 2018-06-15 | 2018-12-11 | 北京七鑫易维信息技术有限公司 | 一种基于结构光的视线追踪方法、装置、设备及存储介质 |
CN109074164A (zh) * | 2016-05-03 | 2018-12-21 | 微软技术许可有限责任公司 | 使用视线追踪技术标识场景中的对象 |
CN109240504A (zh) * | 2018-09-25 | 2019-01-18 | 北京旷视科技有限公司 | 控制方法、模型训练方法、装置及电子设备 |
CN109407828A (zh) * | 2018-09-11 | 2019-03-01 | 上海科技大学 | 一种凝视点估计方法及系统、存储介质及终端 |
-
2019
- 2019-03-05 CN CN201910163152.6A patent/CN110008835B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224065A (zh) * | 2014-05-29 | 2016-01-06 | 北京三星通信技术研究有限公司 | 一种视线估计设备和方法 |
CN109074164A (zh) * | 2016-05-03 | 2018-12-21 | 微软技术许可有限责任公司 | 使用视线追踪技术标识场景中的对象 |
CN107333121A (zh) * | 2017-06-27 | 2017-11-07 | 山东大学 | 曲面屏幕上移动视点的沉浸式立体渲染投影系统及其方法 |
CN108875524A (zh) * | 2018-01-02 | 2018-11-23 | 北京旷视科技有限公司 | 视线估计方法、装置、系统和存储介质 |
CN108875526A (zh) * | 2018-01-05 | 2018-11-23 | 北京旷视科技有限公司 | 视线检测的方法、装置、系统及计算机存储介质 |
CN108364073A (zh) * | 2018-01-23 | 2018-08-03 | 中国科学院计算技术研究所 | 一种多标记学习方法 |
CN108334832A (zh) * | 2018-01-26 | 2018-07-27 | 深圳市唯特视科技有限公司 | 一种基于生成对抗网络的视线估计方法 |
CN108985172A (zh) * | 2018-06-15 | 2018-12-11 | 北京七鑫易维信息技术有限公司 | 一种基于结构光的视线追踪方法、装置、设备及存储介质 |
CN109407828A (zh) * | 2018-09-11 | 2019-03-01 | 上海科技大学 | 一种凝视点估计方法及系统、存储介质及终端 |
CN109240504A (zh) * | 2018-09-25 | 2019-01-18 | 北京旷视科技有限公司 | 控制方法、模型训练方法、装置及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766097A (zh) * | 2021-01-06 | 2021-05-07 | 中国科学院上海微系统与信息技术研究所 | 视线识别模型的训练方法、视线识别方法、装置及设备 |
CN112766097B (zh) * | 2021-01-06 | 2024-02-13 | 中国科学院上海微系统与信息技术研究所 | 视线识别模型的训练方法、视线识别方法、装置及设备 |
CN113569627A (zh) * | 2021-06-11 | 2021-10-29 | 北京旷视科技有限公司 | 人体姿态预测模型训练方法、人体姿态预测方法及装置 |
CN113627379A (zh) * | 2021-08-19 | 2021-11-09 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110008835B (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271933B (zh) | 基于视频流进行三维人体姿态估计的方法 | |
CN111667399B (zh) | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 | |
CN109657583B (zh) | 脸部关键点检测方法、装置、计算机设备和存储介质 | |
CN110728219B (zh) | 基于多列多尺度图卷积神经网络的3d人脸生成方法 | |
Xiao et al. | Recurrent 3d-2d dual learning for large-pose facial landmark detection | |
CN110276745B (zh) | 一种基于生成对抗网络的病理图像检测算法 | |
CN109409198A (zh) | Au检测模型训练方法、au检测方法、装置、设备及介质 | |
CN110008835A (zh) | 视线预测方法、装置、系统和可读存储介质 | |
US11276214B2 (en) | System and a method for artificial neural-network based animation | |
Singh et al. | Neural style transfer: A critical review | |
CN114339409B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN112614213A (zh) | 人脸表情确定方法、表情参数确定模型、介质及设备 | |
Pan et al. | K-Same-Siamese-GAN: K-same algorithm with generative adversarial network for facial image De-identification with hyperparameter tuning and mixed precision training | |
CN111127309A (zh) | 肖像风格迁移模型训练方法、肖像风格迁移方法以及装置 | |
Wu et al. | From image to video face inpainting: spatial-temporal nested GAN (STN-GAN) for usability recovery | |
CN110427864B (zh) | 一种图像处理方法、装置及电子设备 | |
Sun et al. | Landmarkgan: Synthesizing faces from landmarks | |
Dib et al. | S2f2: Self-supervised high fidelity face reconstruction from monocular image | |
Mehl et al. | M-fuse: Multi-frame fusion for scene flow estimation | |
Su et al. | Efficient and accurate face alignment by global regression and cascaded local refinement | |
CN113313133A (zh) | 一种生成对抗网络的训练方法、动画图像生成方法 | |
Zhang et al. | Unsupervised high-resolution portrait gaze correction and animation | |
Zhu et al. | MFNet: Real-time motion focus network for video frame interpolation | |
Wu et al. | Unseen Object Pose Estimation via Registration | |
Lumentut et al. | Human and scene motion deblurring using pseudo-blur synthesizer |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Line of sight prediction methods, devices, systems, and readable storage media Effective date of registration: 20230404 Granted publication date: 20210709 Pledgee: Shanghai Yunxin Venture Capital Co.,Ltd. Pledgor: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd.|CHENGDU KUANGSHI JINZHI TECHNOLOGY Co.,Ltd. Registration number: Y2023990000196 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |