CN111353506A - 自适应的视线估计方法和设备 - Google Patents
自适应的视线估计方法和设备 Download PDFInfo
- Publication number
- CN111353506A CN111353506A CN201811582119.9A CN201811582119A CN111353506A CN 111353506 A CN111353506 A CN 111353506A CN 201811582119 A CN201811582119 A CN 201811582119A CN 111353506 A CN111353506 A CN 111353506A
- Authority
- CN
- China
- Prior art keywords
- training
- data
- neural network
- network model
- calibration
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 9
- 238000012549 training Methods 0.000 claims description 266
- 238000003062 neural network model Methods 0.000 claims description 223
- 239000013598 vector Substances 0.000 claims description 46
- 238000000605 extraction Methods 0.000 claims description 27
- 230000000052 comparative effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- YECBIJXISLIIDS-UHFFFAOYSA-N mepyramine Chemical compound C1=CC(OC)=CC=C1CN(CCN(C)C)C1=CC=CC=N1 YECBIJXISLIIDS-UHFFFAOYSA-N 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 47
- 238000012360 testing method Methods 0.000 description 30
- 238000013507 mapping Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 239000000284 extract Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000013135 deep learning Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 238000007637 random forest analysis Methods 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
-
- 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/197—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供了一种自适应的视线估计方法和设备。所述视线估计方法包括:获取用于标定的数据的特征和用于估计的数据的特征;通过获取的特征来进行视线估计。根据本公开的视线估计方法和设备,可提高针对特定人的视线估计效果。
Description
技术领域
本公开总体说来涉及视线估计领域,更具体地讲,涉及一种自适应的视线估计方法和设备。
背景技术
相关技术中的估计方法通常使用一个基本模型,通过该基本模型可以估计任何人的视线。但是,通常通过拟合大量的作为训练数据的人眼图像,得到通用参数,以建立该基本模型,由于每个用户的眼部形状不同,因此,对于眼部形状与通用参数所对应的眼部形状相似的人,该基本模型的预测效果较好(例如,预测结果的准确度高),相反的,对于眼部形状与通用参数所对应的眼部形状之间存在较大差异的人,该基本模型的预测效果较差。
发明内容
本公开的示例性实施例在于提供一种自适应的视线估计方法和设备,以解决现有技术存在的针对特定人的视线估计结果的准确度低的问题。
根据本公开的示例性实施例,提供了一种自适应的视线估计方法。所述视线估计方法包括:获取用于标定的数据的特征和用于估计的数据的特征;通过获取的特征来进行视线估计。
可选的,所述视线估计方法还包括:获取神经网络模型,其中,所述获取特征的步骤包括:通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征。
可选的,获取神经网络模型的步骤包括:通过用于训练的数据,训练所述神经网络模型。
可选的,用于训练的数据包括第一用户图像和第二用户图像,其中,第一用户图像和第二用户图像分别为同一用户在注视第一对象时的图像和在注视第二对象时的图像;其中,训练所述神经网络模型的步骤包括:通过将第一用户图像和第二用户图像作为输入,并且将第一对象和第二对象的相对位置作为输出,来训练所述神经网络模型。
可选的,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,训练所述神经网络模型的步骤包括:将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过用于训练的图像相关数据、所述二分类标签和所述损失函数来训练第一神经网络模型;其中,将用于训练的视线标签转化为二分类标签的步骤包括:确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,产生包括维度为所述多个结点的数量的向量的二分类标签,其中,所述向量的各个维度的值通过所述预定间距的大小和所述坐标Ya来确定,其中,所述损失函数通过所述向量的各个维度的值,以及激活概率来计算,所述激活概率通过与各个结点对应的用于训练的数据来计算。
可选的,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,训练所述神经网络模型的步骤包括:从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;通过所述两对样本来训练第二神经网络模型。
可选的,训练所述神经网络模型的步骤还包括:通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;通过所述另外两对样本来继续训练所述第二神经网络模型,其中,所述提取两对样本的步骤被至少执行两次,以使每次提取的两对样本的两个视线标签之间的差异小于前一次提取的两对样本的两个视线标签之间的差异。
可选的,在训练所述第二神经网络模型之前,所述视线估计方法还包括:基于第一神经网络模型来设置第二神经网络模型的参数,其中,第二神经网络模型和第一神经网络模型具有相同的用于特征提取的网络层,通过所述两对样本来训练所述第二神经网络模型的步骤包括:通过所述两对样本的两个用于训练的图像相关数据和与所述两个用于训练的图像相关数据对应的二分类标签来训练所述第二神经网络模型的分类器。
可选的,训练所述第二神经网络模型的分类器的步骤包括:通过训练的第一神经网络模型分别提取所述两个用于训练的图像相关数据的特征;计算所述两个用于训练的图像相关数据的特征之间的特征差;通过将所述特征差作为输入且将与所述两个用于训练的图像相关数据对应的二分类标签作为输出,来训练所述第二神经网络模型的分类器。
可选的,通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征包括:通过所述第二神经网络模型来提取用于标定的数据的特征和/或通过所述第二神经网络模型来提取用于估计的数据的特征。
可选的,通过获取的特征来进行视线估计的步骤包括:根据获取的用于估计的数据的特征和获取的用于标定的数据的特征,通过获取的神经网络模型,估计注视点在注视区域中的位置。
可选的,通过获取的特征来进行视线估计的步骤包括:计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;利用获取的神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
可选的,当注视区域为二维平面上的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置垂直相交于所述每个标定点的两条直线,并且通过设置的各条直线将注视区域划分为多个子区域,或者当注视区域为三维空间中的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置互相垂直且相交于所述每个标定点的三条直线,并且通过设置的各条直线将注视区域划分为多个子区域。
可选的,计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率的步骤包括:针对与每个标定点对应的分类器输出结果,分别确定注视点的每个维度的坐标小于和大于所述每个标定点的关于所述每个维度的坐标的概率;根据确定的概率计算注视点属于每个子区域的概率。
可选的,通过所述多个子区域中的每个子区域的相对于对应标定点的比较关系概率,计算与用于估计的数据对应的注视点属于所述每个子区域的概率。
可选的,在通过获取的特征来进行视线估计之前,所述视线估计方法还包括:根据用户对特定点的操作,获取所述特定点作为标定点之一时用于标定的数据。
可选的,所述特定点包括以下至少之一:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
可选的,所述视线估计方法还包括:显示标定点;获取用户在注视所述标定点时的用户图像作为所述用于标定的数据;根据所述用于标定的数据进行标定。
可选的,所述获取用户在注视所述标定点时的用户图像的步骤包括:响应于接收到针对所述标定点的手势,判断与所述手势对应的操作点与所述标定点之间的距离,当所述距离小于距离阈值时,获取用户图像作为所述用于标定的数据。
根据本公开的另一示例性实施例,提供了一种视线估计设备,包括:特征获取单元,获取用于标定的数据的特征和用于估计的数据的特征;估计单元,通过获取的特征来进行视线估计。
可选的,所述视线估计设备还包括:模型训练单元,用于获取神经网络模型,其中,特征获取单元,通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征。
可选的,模型训练单元,通过用于训练的数据,训练所述神经网络模型。
可选的,用于训练的数据包括第一用户图像和第二用户图像,其中,第一用户图像和第二用户图像分别为同一用户在注视第一对象时的图像和在注视第二对象时的图像;其中,模型训练单元,通过将第一用户图像和第二用户图像作为输入,并且将第一对象和第二对象的相对位置作为输出,来训练所述神经网络模型。
可选的,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,模型训练单元,将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过用于训练的图像相关数据、所述二分类标签和所述损失函数来训练第一神经网络模型;其中,模型训练单元,确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,产生包括维度为所述多个结点的数量的向量的二分类标签,其中,所述向量的各个维度的值通过所述预定间距的大小和所述坐标Ya来确定,其中,所述损失函数通过所述向量的各个维度的值,以及激活概率来计算,所述激活概率通过与各个结点对应的用于训练的数据来计算。
可选的,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,模型训练单元,从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;通过所述两对样本来训练第二神经网络模型。
可选的,模型训练单元,通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;通过所述另外两对样本来继续训练所述第二神经网络模型,其中,所述提取两对样本的步骤被至少执行两次,以使每次提取的两对样本的两个视线标签之间的差异小于前一次提取的两对样本的两个视线标签之间的差异。
可选的,在训练所述第二神经网络模型之前,模型训练单元,基于第一神经网络模型来设置第二神经网络模型的参数,其中,第二神经网络模型和第一神经网络模型具有相同的用于特征提取的网络层;模型训练单元,通过所述两对样本的两个用于训练的图像相关数据和与所述两个用于训练的图像相关数据对应的二分类标签,来训练所述第二神经网络模型的分类器。
可选的,模型训练单元,通过训练的第一神经网络模型分别提取所述两个用于训练的图像相关数据的特征;计算所述两个用于训练的图像相关数据的特征之间的特征差;通过将所述特征差作为输入且将与所述两个用于训练的图像相关数据对应的二分类标签作为输出,来训练所述第二神经网络模型的分类器。
可选的,特征获取单元,通过所述第二神经网络模型来提取用于标定的数据的特征和/或通过所述第二神经网络模型来提取用于估计的数据的特征。
可选的,估计单元,根据获取的用于估计的数据的特征和获取的用于标定的数据的特征,通过获取的神经网络模型,估计注视点在注视区域中的位置。
可选的,估计单元,计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;利用获取的神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
可选的,当注视区域为二维平面上的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置垂直相交于所述每个标定点的两条直线,并且通过设置的各条直线将注视区域划分为多个子区域,或者
当注视区域为三维空间中的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置互相垂直且相交于所述每个标定点的三条直线,并且通过设置的各条直线将注视区域划分为多个子区域。
可选的,估计单元,针对与每个标定点对应的分类器输出结果,分别确定注视点的每个维度的坐标小于和大于所述每个标定点的关于所述每个维度的坐标的概率;根据确定的概率计算注视点属于每个子区域的概率。
可选的,估计单元,通过所述多个子区域中的每个子区域的相对于对应标定点的比较关系概率,计算与用于估计的数据对应的注视点属于所述每个子区域的概率。
可选的,所述视线估计设备还包括:标定单元,用于在通过获取的特征来进行视线估计之前,根据用户对特定点的操作,获取所述特定点作为标定点之一时用于标定的数据。
可选的,所述特定点包括以下至少之一:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
可选的,标定单元,显示标定点;获取用户在注视所述标定点时的用户图像作为所述用于标定的数据;根据所述用于标定的数据进行标定。
可选的,标定单元,响应于接收到针对所述标定点的手势,判断与所述手势对应的操作点与所述标定点之间的距离,当所述距离小于距离阈值时,获取用户图像作为所述用于标定的数据。
根据本公开的另一示例性实施例,提供了一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时实现如上所述的视线估计方法。
本公开改进了传统的视线估计方法和设备,可实现自适应的针对特定人的视线估计,可减少或避免在标定过程中计算模型参数或重新训练模型的操作,从而可减少硬件资源的消耗;可通过标定,有效的提高视线估计性能或效果(例如,视线估计结果的准确度),尤其是,可提高针对特定人的视线估计性能或效果;获得的神经网络模型具有更强的特征表征能力。本公开的有益效果具体可体现在如下方面的至少一个:
在第一方面,对于传统的基于深度学习来抽取特征的解决方案(即,基于外观的解决方案),定义的损失函数会导致模型的特征表征能力差。有鉴于此,本公开采用与传统的解决方案不同的新的损失函数,可使获得的模型的特征表征能力提高。
在第二方面,传统的解决方案需要训练通用的基本模型和针对特定人的特定模型,并且至少需要在用户的移动设备训练该特定模型,导致操作复杂且移动设备的资源消耗增加。本公开中定义的网络结构,可以以特定顺序计算特征差,通过计算的特征差去除不同人之间的外观差异,通过经由训练获得的分类器进行标定和测试(又称为估计),减少或避免了标定过程中的模型训练操作。
在第三方面,在本公开中,在特定环境下获取的数据和视线可用于标定,从而可有效提高标定效率。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1至图3示出根据本公开的示例性实施例的标定点的示意图;
图4示出根据本公开的示例性实施例的视线估计方法的流程图;
图5示出根据本公开的示例性实施例的训练第一神经网络模型的过程的示意图;
图6示出根据本公开的示例性实施例的训练第二神经网络模型的过程的示意图;
图7示出根据本公开的示例性实施例的基于切片操作神经网络模型的过程的示意图;
图8至图11示出根据本公开的示例性实施例的标定点的示意图;
图12示出根据本公开的示例性实施例的在标定时提取特征的操作的示意图;
图13示出根据本公开的示例性实施例的通过提取的特征来进行视线估计的操作的示意图;
图14示出根据本公开的示例性实施例的基于标定点划分区域的示意图;
图15示出根据本公开的示例性实施例的区域概率分布直方图;
图16示出根据本公开的示例性实施例的对注视区域重新划分的示意图;
图17示出根据本公开的示例性实施例的视线估计设备的框图。
具体实施方式
现将详细参照本公开的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
在实际应用中,应用视线估计方法的视线估计产品是为特定人的使用而设计的(例如,视线估计产品是移动设备),或者一段时间内,该视线估计产品仅供特定人使用(例如,视线估计产品是增强现实(Augmented Reality)、虚拟现实(Virtual Reality)眼镜,简称为AVR眼镜)。在这种情况下,为了提升用户体验,需要对基本模型进行修改,这被称之为标定。标定是解决由于特定人的眼部形状与基本模型所对应的眼部形状之间存在差异的问题,标定通常分为两个步骤。第一个步骤为:获取特定人在进行标定时的数据;第二个步骤为:利用获取的数据更新基本模型的通用参数,以便将该基本模型调整到适应于该特定人的特定模型。利用特定模型来估计该特定人的视线,能够显著提升对于该特定人的预测效果,当然也可能会降低对于其他人的预测效果。
通常通过以下解决方案来建立所述基本模型:基于几何模型的解决方案和基于外观的解决方案。
基于几何模型的解决方案利用瞳孔中心和角膜反射的一般理论进行远距视线估计,具体而言,确定用于从度量特征(例如,瞳孔中心位置、角膜反射位置等)计算出视线方向的算法公式,利用通过红外摄像头以及红绿蓝(RGB)摄像头获取到的人眼数据来计算所需的度量特征,将计算出的度量特征代入算法公式以计算出视线方向。基于几何模型的解决方案通常使用与使用者有关的参数(例如,人眼的视觉光轴和光学光轴之间的夹角、瞳孔中心与角膜曲面中心之间的距离等)。为了提高针对特定人的视线估计结果的准确度,需要通过标定来计算上述参数,这是因为这些参数通常不能被直接测量出,而是需要通过专门的标定设备和标定算法计算出。另外,基于几何模型的解决方案通常要求计算出的度量特征具有高准确度,而高准确度依赖于特定的数据采集设备(例如,红外光源和红外摄像头)。
基于外观的解决方案通常通过RGB摄像头来获取用户图像,并从用户图像抽取与用户外观对应的特征。抽取特征的方法分为人工筛选特征的方法和基于深度学习的特征抽取方法。建立输入x与人眼视线的位置(例如,视线标签Y)之间的映射关系,其中,可通过分类器或者回归器来表示该映射关系。例如,该映射关系被表示为公式Y=F(x;w)。对于人工筛选特征的方法,x为从用户图像抽取的特征,可以是利用尺度不变特征变换(ScaleInvariant Feature Transform,简称为SIFT)等抽取的特征;对于基于深度学习的特征抽取方法而言,x为输入图像。F为映射函数,w为该映射函数的参数。基于深度学习的特征抽取方法一般分为训练和测试(又被称作估计)两个阶段。在训练阶段,利用训练数据对(x,Y)和映射函数F来学习映射函数F的参数w。在测试阶段,利用测试数据x'和通过学习获得的参数w来获得视线估计结果Y'。随着深度学习的发展,基于外观的解决方案中的基于深度学习的特征抽取方法,越来越多地被采用。
标定通常分为两步:第一步是通过交互的方式捕获用户在注视固定点(例如,标定点)时的数据;第二步是根据捕获的用户的数据以及对应的视线标签Y,调整基本模型的参数(例如,参数w)以将基本模型更新为特定模型。
对于通过基于几何模型的解决方案建立的基本模型,必须进行标定,以便确定与使用者有关的参数(例如,人眼的视觉光轴和光学光轴之间的夹角、瞳孔中心与角膜曲面中心之间的距离等)。
对于通过基于外观的解决方案建立的基本模型,通常通过标定重新确定映射函数并训练映射函数的参数w。例如,采用支持向量回归(Support Vector Regression,简称为SVR)、随机森林(Random Forest)等进行深度学习。
然而,对于基于几何模型的解决方案,通常需要特定的数据采集设备(例如,红外光源和红外摄像头)。在这种情况下,不能利用通用设备(例如,具有前置RGB摄像头的移动设备)来实现视线估计。
对于基于外观的解决方案,存在的问题体现在以下方面:
在第一方面,需要通过标定重新确定映射函数,并学习该映射函数的参数,需要在用户的移动设备执行这样的操作,而且每当进行标定时,都需要进行该操作,导致硬件资源消耗的增加。这里,需要强调的是,由于上述操作需要采集用户数据且用户数据涉及个人隐私,因此为了保护个人隐私,不能通过将用户数据传输到服务器端并由服务器端进行计算来执行上述操作。
在第二方面,受到进行深度学习时采用的方法(例如,SVR和随机森林等)的限制,通过标定重新确定的映射函数的种类有限,从而导致标定方式受限。在这种情况下,在标定时获取的部分数据不能被用于训练,导致针对特定人的预测效果差,换言之,不能通过标定有效提高针对特定人的预测效果。
在第三方面,通过现有方法提取的特征的通用性差。换言之,现有方法中的基本模型的特征表征能力差,不能建立对所有人都适用的映射函数,即不能有效表征所有人的特征。
产生以上问题的原因如下:
如上文所述,在训练基本模型的过程中未考虑不同人的眼部形状的差异,为了减少上述差异对视线估计结果的影响,必须进行标定以重新确定基本模型的映射函数;为了保护个人隐私,需要在用户的移动设备进行标定和模型训练。在这种情况下,移动设备的硬件资源的消耗增加。
受到进行深度学习时采用的方法(例如,SVR和随机森林等)的限制,在标定时获取的数据必须满足特定分布才能使得分类器有效,从而才能被应用于SVR和随机森林等方法。图1至图3示出当进行标定时设置的标定点,其中,图1至图3中分别具有五个标定点、九个标定点和十三个标定点。在进行标定时,必须使用预先设置的标定点。然而,可能存在在用户使用的过程中(例如,在测试阶段)获取的用户的数据和与该数据对应的视线标签不能被用于标定的情况。例如,在用户第一次使用个人的移动设备过程中,会进行的个人设定。在进行个人设定过程中,通常用户可点击特定按钮。在这种情况下,如果使用用户在点击所述特定按钮时的数据和与所述特定按钮对应的视线标签进行标定,则可提高视线估计结果的准确度。然而,受到SVR和随机森林等方法的限制,在进行个人设定过程中获得的部分数据和视线标签可用于标定,在进行个人设定过程中获得的其余数据和视线不仅无法用于调整已有的基本模型的参数,也无法用于上述特定模型的训练。
在基本模型的训练过程中,用于训练的数据之间至少在眼部形状上存在较大差异,导致不容易获得基本模型的参数的全局最优值。
根据本公开的示例性实施例的自适应的视线估计方法可包括以下部分中的至少一个部分:模型训练部分、标定部分和实际使用部分。
模型训练部分可用于建立模型的映射关系(例如,映射函数Y=F(x)),即:根据用于训练的数据来训练表示映射关系的模型的参数w。可使通过训练获得的参数w固定,并在此基础上进行标定和估计(又被称作测试或预测)。模型训练部分的操作可以是离线操作或在线操作,优选的是离线操作,可由服务器或者手机等电子设备执行来执行。标定部分和使用部分可使用经过训练的模型,并且使用的经过训练的模型的参数w在标定部分和实际使用部分的操作中不被改变。标定部分的操作和实际使用部分的操作中的每个操作既可以是在线操作也可以是离线操作,优选的是标定部分的操作和实际使用部分的操作中的每个操作为在线操作,可由手机等电子设备执行。
根据本公开的示例性实施例的视线估计方法可被应用于各种电子设备,例如,手机、平板电脑、智能手表等。在本公开的部分示例性实施例中以手机为例进行说明,但是,这不应该被认为是对本公开的限制。
图4示出根据本公开的示例性实施例的视线估计方法的流程图。如图4中所示,根据本公开的示例性实施例的视线估计方法包括如下步骤:
在步骤S10,获取用于标定的数据的特征和用于估计的数据的特征。在步骤S20,通过获取的特征来进行视线估计。获取用于标定的数据的特征的操作可对应于标定部分,获取用于估计的数据的特征的操作和步骤S20可对应于实际使用部分,实际使用部分也可被称作预测部分、测试部分或估计部分。
作为示例,所述视线估计方法还包括:获取神经网络模型,其中,所述获取特征的步骤包括:通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征。
作为示例,获取神经网络模型的步骤包括:通过用于训练的数据,训练所述神经网络模型。获取神经网络模型的步骤可对应于模型训练部分。
在本公开的示例性实施例中,数据可包括与注视特定点(又被称作注视点)的用户有关的数据,例如,用户图像、用户的深度数据(例如,用户的脸部上的点的深度数据)等,换言之,数据可包括图像相关数据(例如,RGB图像或深度图像),例如,与外观有关的数据,与外观有关的数据可被称作表观数据;数据还可包括视线标签;视线标签可以是二维视线标签(例如,二维坐标)、三维视线标签(三维坐标)等;神经网络模型可包括用于特征提取的网络层和分类器;用于特征提取的网络层和分类器可通过模型训练部分确定,并且用于特征提取的网络层可用于步骤S10的特征获取;分类器可用于步骤S20的视线估计。
在本公开的另一示例性实施例中,用于训练的数据包括第一用户图像和第二用户图像,其中,第一用户图像和第二用户图像分别为同一用户在注视第一对象时的图像和在注视第二对象时的图像;其中,训练所述神经网络模型的步骤包括:通过将第一用户图像和第二用户图像作为输入,并且将第一对象和第二对象的相对位置作为输出,来训练所述神经网络模型。
以上设定仅仅是为了便于本公开的实施例的描述,并不用于限制本公开的保护范围。
在本公开的示例性实施例中,可预先以离线的方式训练神经网络模型和/或以离线的方式获取用于标定的数据的特征。可将训练的神经网络模型和/或获取的用于标定的数据的特征存储到存储设备,尤其是,用于实现根据本公开的示例性实施例的视线估计方法的电子装置(例如,手机)中。随后,可实时获取用于估计的数据的特征和实时进行视线估计。
在训练神经网络模型的过程中,可对用于训练的数据和/或用于训练的视线标签进行处理以便训练出更为有效的神经网络模型,该处理可包括以下项中的至少一项:将用于训练的视线标签转化为二分类标签,以及对用于训练的图像相关数据(例如,RGB图像)进行切片操作。
作为示例,用于训练的数据可包括第三用户图像,训练神经网络模型的步骤可包括:从第三用户图像提取至少一个切片;利用所述至少一个切片和用于训练的视线标签来训练神经网络模型。
作为示例,用于标定的数据包括第四用户图像,用于估计的数据包括第五用户图像,获取特征的步骤包括:通过训练的神经网络模型来提取第四用户图像的特征和/或通过训练的神经网络模型来提取第五用户图像的特征。
作为示例,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,训练所述神经网络模型的步骤包括:将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过用于训练的图像相关数据、所述二分类标签和所述损失函数来训练第一神经网络模型。
作为示例,将用于训练的视线标签转化为二分类标签的步骤包括:确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,产生包括维度为所述多个结点的数量的向量的二分类标签,其中,所述向量的各个维度的值通过所述预定间距的大小和所述坐标Ya来确定,其中,所述损失函数通过所述向量的各个维度的值,以及激活概率来计算,所述激活概率通过与各个结点对应的用于训练的数据来计算。
作为示例,用于训练的数据包括第六用户图像和用于训练的视线标签,训练神经网络模型的步骤包括:从第六用户图像提取至少一个切片;将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过所述至少一个切片、所述二分类标签和所述损失函数来训练神经网络模型。
图5示出根据本公开的示例性实施例的训练第一神经网络模型的过程的示意图。
如图5中所示,用于训练的数据包括图像(又称为图片)。可从用于训练的图像提取至少一个切片,提取的至少一个切片可用于第一神经网络模型的训练。还可以将用于训练的视线标签转化为二分类标签,转化的二分类标签也可用于第一神经网络模型的训练。
当转化的二分类标签被用于第一神经网络模型的训练时,训练的第一神经网络模型包括二分类器和用于特征提取的网络层。用于特征提取的网络层的输入为用于训练的图像,输出为用于训练的图像的特征。二分类器的输入为用于训练的图像的特征,输出为二分类标签。训练第一神经网络的过程具体可包括如下的训练操作A。
在训练操作A,可将用于训练的视线标签转化为二分类标签,确定与所述二分类标签对应的第一损失函数,并且通过用于训练的图像、所述二分类标签和所述第一损失函数来训练第一神经网络模型。训练目标可包括使第一损失函数最小,通过训练可获得使第一损失函数最小的参数。该参数可包括第一神经网络模型的各层的权重。
具体而言,可将用于训练的视线标签Y转化为一系列的二分类标签Y',可通过用于训练的图像和二分类标签Y'来训练第一神经网络模型,也可利用从用于训练的图像提取(或切分)的至少一个切片和二分类标签Y'来训练第一神经网络模型,其中,关于从用于训练的图像提取(或切分)至少一个切片的操作将在下文中被详细描述。可利用用于训练的图像(或通过提取或切分获得的至少一个切片)和二分类标签Y'来获得第一损失函数,以便训练第一神经网络模型。使用二分类标签Y'训练的神经网络模型与使用用于训练的视线标签Y来训练神经网络模型相比,更容易收敛或收敛速度更快。可通过训练的第一神经网络模型获取输入到第一神经网络模型的数据(例如,图像)的特征,该特征的表征能力强。
作为示例,将用于训练的视线标签转化为二分类标签的步骤可包括:确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,所述多个结点的数量bin_num是(Yamax-Yamin)/bin_size+1所得的结果的整数部分;产生包括维度为bin_num的向量的二分类标签,所述向量的各个维度的值通过如下的二值函数来计算:
其中,1≤i≤bin_num。
例如,所述特定坐标轴是二维、三维或更高纬度坐标系下的一个轴,Yamin和Yamax限定了所述一个轴上的一个坐标的范围。在这种情况下,可在所述一个轴上设置bin_num个结点,(例如,间距20个像素的等间距的bin_num个结点)。可设置元素的值为Y'ai且维度为bin_num的列向量或行向量,与所述一个轴上的所述一个坐标对应的二分类标签可包括所述列向量或行向量。与用二维坐标表示的视线标签对应的二分类标签包括2个向量(即:分别与x轴和y轴对应的向量)且对应于bin_num_x+bin_num_y个分类器,其中,bin_num_x表示与x轴对应的向量的维度,bin_num_y表示与y轴对应的向量的维度。与用三维坐标表示的视线标签对应的二分类标签包括3个向量(即:分别与x轴、y轴和z轴对应的向量)且对应于bin_num_x+bin_num_y+bin_num_z个分类器,其中,bin_num_x表示与x轴对应的向量的维度,bin_num_y表示与y轴对应的向量的维度,bin_num_z表示与z轴对应的向量的维度。
作为示例,用二维坐标(Yx,Yy)表示视线标签,基于手机屏幕上的坐标轴来设置结点。例如,将手机的屏幕的左上角定义为坐标原点(0,0),从屏幕的左上角指向屏幕的右上角的方向为x轴(例如,横轴)正方向,从屏幕的左上角指向屏幕的左下角的方向为y轴(例如,纵轴)正方向。横轴的最大取值为Yxmax,最小取值为Yxmin。纵轴的最大取值为Yymax,最小取值为Yymin。
在这样的坐标系下,在x轴上,以20个像素为间距bin_size_x来设置结点。x轴上的结点的数量bin_num_x为(Yxmax-Yxmin)/bin_size_x+1所得的结果的整数部分。在y轴上,以20个像素为间距bin_size_y来设置结点。y轴上的结点的数量bin_num_y为(Yymax-Yymim)/bin_size_y+1所得的结果的整数部分。这样,可从坐标为(Yx,Yy)的视线标签产生维度为bin_num_x的向量和维度为bin_num_y的向量。维度为bin_num_x的向量的各个元素Y'xi为:
维度为bin_num_y的向量的各个元素Y'yi为:
在这种情况下,与坐标为(Yx,Yy)的视线标签对应的二分类标签包括维度为bin_num_x的向量和维度为bin_num_y的向量。与坐标为(Yx,Yy)的视线标签对应的二分类器的个数为bin_num_x+bin_num_y个。
作为示例,损失函数为基于二分类器计算的交叉熵损失。例如,通过如下公式计算第一损失函数:
Lossi=-Y'ai×log(Pai)-(1-Y'ai)×log(1-Pai),
其中,所述损失函数是Loss,第i个结点的激活概率Pai表示为:
其中,zi为第i个结点的输入(例如,与第i个结点对应的用于训练的数据的一部分或全部)。
作为示例,还可执行如下步骤:通过从用于训练的数据和用于训练的视线标签提取的样本来训练第二神经网络模型;通过用于训练的数据和用于训练的视线标签训练第一神经网络模型,基于第一神经网络模型设置第二神经网络模型,并通过从用于训练的数据和用于训练的视线标签提取的样本来训练第二神经网络模型(尤其是,训练第二神经网络模型的分类器)。这里,可将用于训练的视线标签转换为二分类标签,并且转换的二分类标签被用于训练对应的神经网络模型。
具体而言,可在不训练第一神经网络模型的情况下训练第二神经网络模型,换言之,训练第二神经网络模型的步骤可包括:从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;通过所述两对样本来训练第二神经网络模型。也可在训练第一神经网络模型的情况下训练第二神经网络模型,换言之,训练神经网络模型的步骤可包括:将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过用于训练的图像相关数据、所述二分类标签和确定的损失函数来训练第一神经网络模型;基于训练的第一神经网络模型来设置第二神经网络模型的参数,其中,训练的第二神经网络模型和训练的第一神经网络模型具有相同的用于特征提取的网络层,在这种情况下,可通过所述两对样本的两个用于训练的图像相关数据和与所述两个用于训练的图像相关数据对应的二分类标签来训练第二神经网络模型的分类器。
作为示例,训练神经网络模型的步骤还包括:通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;通过所述另外两对样本来继续训练所述第二神经网络模型,其中,所述提取两对样本的步骤被至少执行两次,以使每次提取的两对样本的两个视线标签之间的差异小于前一次提取的两对样本的两个视线标签之间的差异。
下面以训练第一神经网络模型,并基于训练的第一神经网络模型设置第二神经网络模型,并训练设置的第二神经网络模型的情况为例来说明本公开的示例性实施例的模型训练部分。模型训练部分包括训练操作B和训练操作C。
在训练操作B,可从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;将用于表示所述两对样本的两个用于训练的视线标签的位置关系的函数作为第二损失函数;通过所述两对样本和所述第二损失函数来训练第二神经网络模型。训练目标可包括使第二损失函数最小,通过训练可获得使第二损失函数最小的参数。该参数可包括第二神经网络模型的各层的权重。训练操作B中的第二神经网络模型的参数可基于训练操作A中训练的第一神经网络模型来设置,使得第二神经网络模型与第一神经网络模型具有相同的用于特征提取的网络层。在这种情况下,可通过训练第二神经网络模型的分类器来训练第二神经网络模型。优选地,第二损失函数与第一损失函数相同。
作为示例,可通过如下步骤来训练第二神经网络模型的分类器:通过训练的第一神经网络模型分别提取所述两个用于训练的图像相关数据的特征;计算所述两个用于训练的图像相关数据的特征之间的特征差;通过将所述特征差作为输入且将与所述两个用于训练的图像相关数据对应的二分类标签作为输出,来训练第二神经网络模型的分类器。图像相关数据的特征可以是向量,在这种情况下,特征差就是向量的差。
在训练操作C,通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;通过所述另外两对样本来继续训练第二神经网络模型,从而逐渐减小提取的两对样本的两个视线标签之间的差异。
图6示出根据本公开的示例性实施例的训练第二神经网络模型的过程的示意图。
图6所示的用于特征提取的网络层可参照针对图5的描述来获得。通过提取获得的样本对1和样本对2来自于用于训练的图像相关数据和用于训练的视线标签且对应于同一用户,每个样本对包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值。本实施例的图像相关数据为图像,该图像可为注视注视点的用户的图像。如上文所述,在基于第一神经网络模型设置第二神经网络模型的情况下,第二神经网络模型的用于特征提取的网络层已被确定。在这种情况下,可通过样本对1和样本对2来训练第二神经网络模型的分类器。与第二神经网络模型对应的第二损失函数可表示样本对1的视线标签与样本对2的视线标签之间的位置关系。
可将样本对1和样本对2的用于训练的视线标签转化为二分类标签,并通过转化的二分类标签、样本对1中的图像、样本对2中的图像来训练第二神经网络模型的分类器。在这种情况下,第二神经网络模型的分类器为二分类器(图6中的二分类器)。该二分类器的输入可以是与图像对应的特征。例如,通过用于特征提取的网络层提取样本对1中的图像的特征1,通过用于特征提取的网络层提取样本对2中的图像的特征2,特征1和特征2之间的特征差作为该二分类器的输入。该二分类器的输出可以表示从所述同一用户角度来看,样本对1的图像和样本对2的图像(以下又被分别称作第一幅图像和第二幅图像)中,第一幅图像中的预定对象和第二幅图像中的对应对象之间的位置关系,或者表示从所述同一用户角度来看,与第一幅图像对应的屏幕注视点和与第二幅图像对应的屏幕之间的位置关系。例如,第一幅图像为所述同一用户在观看手机屏幕左侧的一点时的图像,第二幅图像为所述同一用户在观看手机屏幕右侧一点时的图像,二分类标签可表示从所述同一用户角度来看,与第二幅图像对应的注视点在与第一幅图像对应的注视点的哪一侧(例如,值为1的二分类标签表示右侧,值为0的二分类标签表示左侧)。图像可以是通过手机的前置摄像头获取所述同一用户在注视预定对象时的两幅图像。
在本实施例中,两幅图像来自同一用户,利用与两幅图像的特征差来训练二分类器。在这种情况下,可去除由于人的外观差异而带来的偏差。另外,两幅图像的输入顺序不受限制,可先输入第一幅图像以确定与第一幅图像对应的特征1,后输入第二幅图像以确定与第二幅图像对应的特征2,也可先输入第二幅图像以确定与第二幅图像对应的特征2,后输入第一幅图像以确定与第一幅图像对应的特征1。随后,可计算与两幅图像对应的特征差。
作为示例,通过用于特征提取的网络层获得的特征可以是向量,特征差为向量的差,即特征差为以两个向量的对应元素的差作为元素的向量。
作为示例,可对训练数据进行困难样本采样,使得新采样得到的样本对中的视线标签与前一次采样得到的样本对的视线标签之间的差值逐渐减小。用新采样的样本对继续训练第二神经网络模型。另外,由于重新采样可以持续进行,即可以根据网络收敛情况不断的减小先后两次采样得到的样本对的视线标签之间的差值,不断的采样得到新的训练集,因此,使得向神经网络输入的训练样本由简单到困难,更易收敛。一般认为,输入的两个样本之间的差异越大,越容易判断两个样本之间的关系,差异大的两个或更多个样本可被称作简单样本;输入的两个样本之间的差异越小,越不容易判断两个样本之间的关系,差异小的两个或更多个样本可被称作困难样本。输入的训练样本由简单到困难意指输入的样本之间的差异由大到小。
作为示例,本公开的示例性实施例中使用的图像相关数据可以是图像,优选地,是从图像提取的切片,该切片可包括以下项中的至少一项:脸部图像、左眼图像、以及右眼图像。
例如,可将摄像头采集的图像(例如,用户图像)作为用于训练的图像相关数据。由于视线与眼球位置、头部姿态等因素有关,因此可从采集的图像中提取至少一个切片。所示至少一个切片可以是图像的一部分,每个切片对应于第一神经网络模型的一个子网络。
图7示出根据本公开的示例性实施例的基于切片操作神经网络模型的过程的示意图。
如图7中所示,设置了三个切片,分别为脸部图像、左眼图像、以及右眼图像;所述三个切片分别对应于三个子网络,即:脸部网络、左眼网络和右眼网络。在本公开的示例性实施例中,在模型训练部分、标定部分和实际使用部分中,均可通过神经网络模型(优选为,神经网络模型的用于特征提取的网络层)来提取与图像对应的特征。在本示例性实施例中,可提取与脸部图像、左眼图像、以及右眼图像分别对应的三个特征。可将所述三个特征拼接在一起,拼接的特征可被输出到对应的分类器。
以通过手机进行视线估计为例,切片可以包括脸部图像、左眼图像、以及右眼图像。然而,本公开不限于此,例如,也可通过AVR眼镜来进行视线估计。本公开也不受限于仅使用单个RGB摄像头来获取图像相关数据,而是可使用多个摄像头,也可使用红外摄像头、近红外摄像头等,获取的图像相关数据可以包括深度数据也可包括一种或更多种模态的数据的融合。换言之,图像相关数据或切片可以包括其他可用于视线估计的数据,如脸部到摄像头的深度数据等。
本公开的示例性实施例中使用的神经网络模型(例如,第一神经网络模型和/或第二神经网络模型)与现有的神经网络模型相比,具有较深的层数,具有较多的卷积核数,卷积核堆叠方式有助于更有效的提取图像的特征。例如,本公开的示例性实施例的神经网络模型可包括三个输入,分别是脸部图像输入、左眼图像输入、以及右眼图像输入。与左眼图像对应的左眼网络和与右眼图像对应的右眼网络可共享部分网络结构(例如,网络层)。可通过如下的表1、表2和表3所示参数来设置神经网络模型,其中,表1和表2分别对应于通过切片(例如,从图像中提取的切片)训练神经网络模型,表3对应于将切片的特征融合的过程。当然,表1和表2仅仅对应于本公开的示例性实施例的优选的神经网络模型,并不用于限制本公开。在本公开构思的基础上实现的神经网络模型的结构、参数、输入的数据和子网络的结构等不限于此。
表1
表2
表3
层 | 输入结点数 | 输出结点数 |
Fc1 | 128*3=384 | 256 |
Classifier | 256 | Bin_num |
在以上的表3中,Fc1对应于用于特征提取的网络层,Classifier对应于分类器,Bin_num对应于上文描述的结点个数。
在根据本公开的示例性实施例中,可采用各种方法获取用于标定的数据的特征和/或用于估计的数据的特征。
作为示例,通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征包括:通过所述第二神经网络模型来提取用于标定的数据的特征和/或通过所述第二神经网络模型来提取用于估计的数据的特征。
根据本公开的示例性实施例的视线估计方法的标定部分可包括:显示标定点;获取用户在注视所述标定点时的用户图像作为所述用于标定的数据;根据所述用于标定的数据进行标定。
作为示例,所述获取用户在注视所述标定点时的用户图像的步骤包括:响应于接收到针对所述标定点的手势,判断与所述手势对应的操作点与所述标定点之间的距离,当所述距离小于距离阈值时,获取用户图像作为所述用于标定的数据。
具体而言,根据本公开的示例性实施例的视线估计方法的标定部分可包括标定操作A和标定操作B。
在标定操作A,设定标定点,并且获取用户在注视标定点时的数据X_cali_1到数据X_cali_N,并保存。
图8至图11示出根据本公开的示例性实施例的标定点的示意图。
如图8至图11中所示,每个图中包括五个标定点。这仅仅作为示例,并不用于限制本公开的保护范围,也就是说,标定点的个数和位置并不受限制。
作为示例,可预先通过标定获得标定点并根据预先标定的标定点划分注视区域。
以手机为例,可根据标定点将屏幕在水平方向和垂直方向分别划分成6份。需要注意的时,划分成6份仅仅是为了便于描述的目的,并不用于限制本公开,换言之,也可划分成更多份或更少份。在图8至图11中,屏幕被垂直相交于标定点的各条直线划分成36个子区域。本公开的示例性实施例并非被限制为如图8至图11中所示的各个子区域,换言之,本公开的示例性实施例不限制从屏幕划分的子区域的数目和划分子区域的方式。
在利用手机进行标定的过程中,在标定操作A,可提示用户注视屏幕上显示的标定点,从而实现手机与用户的交互。该交互可包括:提示用户注视屏幕上显示的标定点并点击该标定点,并且接收屏幕上的被点击的位置;当接收到对屏幕的点击时,可判断点击的位置与标定点之间的距离;当该距离小于距离阈值(例如,100像素)时,确定所述点击为针对标定点的点击,也可确定用户在注视标定点,从而可通过摄像头等获取用户的图像。在这种情况下,可显示另一标定点,并提示用户注视屏幕上的所述另一标定点并点击所述另一标定点。当所述距离大于或等于距离阈值时,可确定标定无效,并且可提示用户重新注视并点击标定点。
需要注意的是,以手机为例描述本公开的示例性实施例仅为了便于描述本公开的构思,可在其他装置或设备上实现本公开。上述标定点的显示方式、用户与手机的交互方式、判断标定是否有效等操作可被认为是本公开的优选实施例,但不用于限制本公开,其他操作也是可行的。
在标定操作B,可使用本公开的示例性实施例中所述的神经网络模型来提取数据X_cali_1到数据X_cali_N的特征feat_1至特征feat_N,并保存。提取特征所应用的神经网络模型可以是第一神经网络模型或第二神经网络模型,优选为,第二神经网络模型。
另外,可离线而非实时提取数据的特征。换言之,例如,在不执行训练神经网络模型的步骤的情况下,可预先提取数据的特征并保存。该特征只需被提取一次,从而实际使用部分的执行时间不会不受标定部分的影响,例如,标定点的数量、在标定部分提取特征消耗的时间等不影响实际使用部分的执行时间。
图12示出根据本公开的示例性实施例的在标定时提取特征的操作的示意图。
如图12中所示,提取特征所针对的用于标定的数据可以是标定图片,可利用网络(例如,第二神经网络模型)来提取标定图片的特征,提取到的特征可被称作标定特征。
在根据本公开的示例性实施例中,步骤S20可包括:根据获取的用于估计的数据的特征和获取的用于标定的数据的特征,通过获取的神经网络模型,估计注视点在注视区域中的位置。
作为示例,步骤S20可包括:计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;利用获取的神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
作为示例,当注视区域为二维平面上的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置垂直相交于所述每个标定点的两条直线,并且通过设置的各条直线将注视区域划分为多个子区域,或者当注视区域为三维空间中的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置互相垂直且相交于所述每个标定点的三条直线,并且通过设置的各条直线将注视区域划分为多个子区域。
作为示例,计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率的步骤包括:针对与每个标定点对应的分类器输出结果,分别确定注视点的每个维度的坐标小于和大于所述每个标定点的关于所述每个维度的坐标的概率;根据确定的概率计算注视点属于每个子区域的概率。
作为示例,通过所述多个子区域中的每个子区域的相对于对应标定点的比较关系概率,计算与用于估计的数据对应的注视点属于所述每个子区域的概率。
作为示例,在通过获取的特征来进行视线估计之前,所述视线估计方法还包括:根据用户对特定点的操作,获取所述特定点作为标定点之一时用于标定的数据。
作为示例,所述特定点包括以下至少之一:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
作为示例,通过如下公式来计算与用于估计的数据对应的注视点属于所述每个子区域的概率Parea:
作为示例,当获取了新的数据时,通过提取的特征来进行视线估计的步骤还包括:获取所述新的数据的特征;将所述新的数据的特征与先前获取的用于标定的数据的特征合并;重新计算用于估计的数据的特征与合并后的特征之间的特征差;估计与所述重新计算的特征差对应的新的分类器输出结果;根据所述新的分类器输出结果重新计算与用于估计的数据对应的注视点属于所述每个子区域的概率;将重新计算出的概率最大的子区域的中心确定为估计的注视点。
作为示例,当所述新的数据包括新的用于标定的数据时,基于已有的标定点和与所述新的用于标定的数据对应的标定点重新在注视区域上划分出多个子区域,其中,所述重新计算概率的步骤包括:根据所述新的分类器输出结果重新计算与用于估计的数据对应的注视点属于重新划分出的多个子区域中的每个子区域的概率。
作为示例,所述新的数据和与所述新的数据对应的标定点是在以下情况中的任意一种情况下获得的:在重新标定的情况下,在针对特定按钮进行操作的情况下,以及在针对特定位置进行操作的情况下。
在使用训练的神经网络模型的情况下,计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;利用训练的神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
作为示例,当获取了新的数据时,所述通过获取的特征来进行视线估计的步骤还包括:利用训练的神经网络模型来提取所述新的数据的特征;将所述新的数据的特征与先前提取的用于标定的数据的特征合并;重新计算提取的用于估计的数据的特征与合并后的特征之间的特征差;利用训练的神经网络模型来估计与所述重新计算的特征差对应的新的分类器输出结果;根据所述新的分类器输出结果重新计算与用于估计的数据对应的注视点属于所述每个子区域的概率;将重新计算出的概率最大的子区域的中心确定为估计的注视点。
在使用训练的第二神经网络模型的情况下,通过获取的特征来进行视线估计的步骤包括:计算通过第二神经网络模型提取的用于估计的数据的特征与通过第二神经网络模型提取的用于标定的数据的特征之间的特征差;利用训练的第二神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
作为示例,当获取了新的数据时,所述通过获取的特征来进行视线估计的步骤还包括:利用训练的第二神经网络模型来提取所述新的数据的特征;将所述新的数据的特征与先前提取的用于标定的数据的特征合并;重新计算提取的用于估计的数据的特征与合并后的特征之间的特征差;利用训练的第二神经网络模型来估计与所述重新计算的特征差对应的新的分类器输出结果;根据所述新的分类器输出结果重新计算与用于估计的数据对应的注视点属于所述每个子区域的概率;将重新计算出的概率最大的子区域的中心确定为估计的注视点。
以下参照图13来描述根据本公开的示例性实施例的通过提取的特征来进行视线估计的操作,该操作可包括测试操作A、测试操作B、测试操作C和测试操作D。
在测试操作A,当用户注视感兴趣的位置(该位置可被称作注视点)时,通过摄像头采集图像,并使用第二神经网络模型提取与采集的图像对应的特征feat_X。该提取操作为测试阶段的特征提取,可实时采集图像并提取与采集的图像对应的特征feat_X。以手机为例,通过手机的摄像头实时获取用户图像,并实时提取根据获取用户图像的特征。
在测试操作B,计算特征feat_X分别与在标定时获得的特征feat_1至特征feat_N之间的特征差diff_1至特征差diff_N。特征可以用向量来表示,特征差可以是向量之间的差值。可使用第二神经网络模型的分类器(二分类器)来计算特征差diff_1至特征差diff_N的分类结果,从而可获得用于估计的图像(例如,在测试操作A采集的图像)与用于标定的图像X_cali_1到图像X_cali_N(在标定时获得的图像)之间的比较关系概率。比较关系概率可被理解为:通过二分类器获得的用于估计的图像的特征大于和小于用于标定的图像的的特征概率。可按照预定顺序规则计算特征差,例如,与采集的图像对应的特征feat_X分别减去在标定时获得的图像的特征feat_1至特征feat_N而获得的特征差Diff_i,即:Diff_i=feat_X–feat_i,1≤i≤N,N为自然数。
在测试操作C,在通过标定点将注视区域划分多子区域的情况下,可根据比较关系概率算出与用于估计的图像对应的注视点(即,当前用户注视的点)落在每个子区域的概率。可将概率或概率累积值或概率期望值最大区域的中心点确定为用户的注视点。
参照图13,通过网络(例如,第二神经网络模型)从用于估计的图像(例如,测试图片)提取特征(例如,测试特征),将从用于标定的图像获取的标定特征和测试特征一起输入到对应的比较分类器。可获得标定特征与测试特征之间的特征差,并且通过比较分类器输出与特征差对应的概率(例如,比较关系概率)。
图14示出根据本公开的示例性实施例的基于标定点划分区域的示意图。图15示出根据本公开的示例性实施例的区域概率分布直方图。
如图14中所示,每个标定点可将轴线划分成两个部分,分类器输出的概率(比较关系概率)p_i可表示注视点坐标小于或等于第i个标定点坐标的概率p_i_L和注视点坐标大于第i个标定点坐标的概率p_i_G,其中,p_i_L+p_i_G=1。例如,p_1可包括注视点坐标小于或等于标定点1的坐标的概率p_1_L和注视点坐标大于标定点1的坐标的概率p_1_G,p_2可表示注视点坐标小于或等于标定点2的坐标的概率p_2_L和注视点坐标大于标定点2的坐标的概率p_2_G。
通过如下公式来计算与用于估计的图像对应的注视点属于所述多个子区域(如坐标原点与标定点1之间的区域A)中的每个子区域的概率Parea:
如图15中所示,与区域A对应的概率为p_2_L+p_1_L,与标定点1和标定点2之间的区域对应的概率为p_2_L+p_1_G,与标定点2和最大值之间的区域对应的概率为p_2_G+p_1_G。
以通过手机进行视线估计为例,需要估计用户注视的手机的屏幕上的注视点坐标为(Y_x,Y_y)。在x轴和y轴上,已经分别通过标定点划分了区域,通过如上所述的操作分别计算Y_x落入x轴上的概率最大区域以及Y_y落入y轴上的概率最大区域,将这两个概率最大区域限定的区域的中心(如图13中的x所示)确定为注视点。
在测试操作D,在用户使用过程(例如,进行标定操作或电子设备的设置操作)中,当获取到了新的用于标定的图像和对应的视线标签时,重新提取与新的用于标定的图像和对应的视线标签对应的特征,将重新提取的特征与已有的特征feat_i合并,例如,以向量相加的形式合并。可在获得了新的用于标定的图像和对应的视线标签时获得合并的特征,以扩充由特征feat_i组成的集合,从而提高特征的表征能力。可使用合并后的特征来进行测试(例如,执行测试操作A、测试操作B和测试操作C),从而可提高测试结果的准确度。
在使用合并后的特征来进行测试(例如,执行测试操作A、测试操作B和测试操作C)的过程中,可用已有标定点和新增标定点重新划分屏幕。
图16示出了根据本公开的示例性实施例的对注视区域重新划分的示意图。如图16中所示,存在垂直且相交于已有标定点中的每个标定点的两条直线(如图16中的实线所示),以及垂直且相交于新增标定点的两条直线(如图16中的虚线所示,两条虚线的相交部分为实线),可利用上述直线对注视区域(即,屏幕)进行重新划分以获得新的子区域。可通过如上所述的操作,确定注视点落入的各个新的子区域中的概率最大子区域。
可在执行如下操作中的任意一种操作时获得新增标定点和与新增标定点对应的新的数据:接收用户在设置手机参数时对按键的点击,针对特定点的操作,所述特定点包括以下项中的至少一项:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
在本公开的示例性实施例中,在提取特征的操作中,可通过特征差去除外观差异;在标定时不需要训练神经网络模型,简化了标定过程,从而减少手机等电子设备的计算量;在获得新的标定点时,与新的标定点对应的数据可影响预测结果,随着与新的标定点对应的数据的增加,注视区域会被更详细地划分,从而可提高视线估计结果的精度。
图17示出了根据本公开的示例性实施例的视线估计设备。如图17所示,根据本公开的示例性实施例的视线估计设备包括:特征获取单元110,获取用于标定的数据的特征和用于估计的数据的特征;估计单元120,通过获取的特征来进行视线估计。
作为示例,所述视线估计设备还包括:模型训练单元,用于获取神经网络模型,其中,特征获取单元110,通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征。
作为示例,模型训练单元,通过用于训练的数据,训练所述神经网络模型。
作为示例,用于训练的数据包括第一用户图像和第二用户图像,其中,第一用户图像和第二用户图像分别为同一用户在注视第一对象时的图像和在注视第二对象时的图像;其中,模型训练单元,通过将第一用户图像和第二用户图像作为输入,并且将第一对象和第二对象的相对位置作为输出,来训练所述神经网络模型。
作为示例,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,模型训练单元,将用于训练的视线标签转化为二分类标签;确定与所述二分类标签对应的损失函数;通过用于训练的图像相关数据、所述二分类标签和所述损失函数来训练第一神经网络模型;其中,模型训练单元,确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,产生包括维度为所述多个结点的数量的向量的二分类标签,其中,所述向量的各个维度的值通过所述预定间距的大小和所述坐标Ya来确定,其中,所述损失函数通过所述向量的各个维度的值,以及激活概率来计算,所述激活概率通过与各个结点对应的用于训练的数据来计算。
作为示例,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,模型训练单元,从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;通过所述两对样本来训练第二神经网络模型。
作为示例,模型训练单元,通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;通过所述另外两对样本来继续训练所述第二神经网络模型,其中,所述提取两对样本的步骤被至少执行两次,以使每次提取的两对样本的两个视线标签之间的差异小于前一次提取的两对样本的两个视线标签之间的差异。
作为示例,在训练所述第二神经网络模型之前,模型训练单元,基于第一神经网络模型来设置第二神经网络模型的参数,其中,第二神经网络模型和第一神经网络模型具有相同的用于特征提取的网络层;模型训练单元,通过所述两对样本的两个用于训练的图像相关数据和与所述两个用于训练的图像相关数据对应的二分类标签,来训练所述第二神经网络模型的分类器。
作为示例,模型训练单元,通过训练的第一神经网络模型分别提取所述两个用于训练的图像相关数据的特征;计算所述两个用于训练的图像相关数据的特征之间的特征差;通过将所述特征差作为输入且将与所述两个用于训练的图像相关数据对应的二分类标签作为输出,来训练所述第二神经网络模型的分类器。
作为示例,特征获取单元110,通过所述第二神经网络模型来提取用于标定的数据的特征和/或通过所述第二神经网络模型来提取用于估计的数据的特征。
作为示例,估计单元120,根据获取的用于估计的数据的特征和获取的用于标定的数据的特征,通过获取的神经网络模型,估计注视点在注视区域中的位置。
作为示例,估计单元120,计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;利用获取的神经网络模型来估计与计算出的特征差对应的分类器输出结果;根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;将概率最大的子区域的中心确定为估计的注视点。
作为示例,当注视区域为二维平面上的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置垂直相交于所述每个标定点的两条直线,并且通过设置的各条直线将注视区域划分为多个子区域,或者
当注视区域为三维空间中的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置互相垂直且相交于所述每个标定点的三条直线,并且通过设置的各条直线将注视区域划分为多个子区域。
作为示例,估计单元120,针对与每个标定点对应的分类器输出结果,分别确定注视点的每个维度的坐标小于和大于所述每个标定点的关于所述每个维度的坐标的概率;根据确定的概率计算注视点属于每个子区域的概率。
作为示例,估计单元120,通过所述多个子区域中的每个子区域的相对于对应标定点的比较关系概率,计算与用于估计的数据对应的注视点属于所述每个子区域的概率。
作为示例,所述视线估计设备还包括:标定单元,用于在通过获取的特征来进行视线估计之前,根据用户对特定点的操作,获取所述特定点作为标定点之一时用于标定的数据。
作为示例,所述特定点包括以下至少之一:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
作为示例,标定单元,显示标定点;获取用户在注视所述标定点时的用户图像作为所述用于标定的数据;根据所述用于标定的数据进行标定。
作为示例,标定单元,响应于接收到针对所述标定点的手势,判断与所述手势对应的操作点与所述标定点之间的距离,当所述距离小于距离阈值时,获取用户图像作为所述用于标定的数据。
应该理解,根据本公开的示例性实施例的视线估计设备的具体实现方式可参照结合图1至图16描述的相关具体实现方式来实现,在此不再赘述。
根据本公开的另一示例性实施例,提供了一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时实现如上所述的视线估计方法。
根据本公开的另一示例性实施例,提供了一种电子设备,其中,所述电子设备包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的视线估计方法。
计算机可读存储介质是可存储由计算机***读出的数据的任意数据存储装置。计算机可读记录介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。
此外,应该理解,根据本公开示例性实施例的视线估计设备的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
此外,根据本公开示例性实施例的视线估计方法可以被实现为计算机可读存储介质中的计算机代码。本领域技术人员可以根据对上述方法的描述来实现所述计算机代码。当所述计算机代码在计算机中被执行时实现本公开的上述方法。
虽然已表示和描述了本公开的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本公开的原理和精神的情况下,可以对这些实施例进行修改。
Claims (21)
1.一种自适应的视线估计方法,其中,所述视线估计方法包括:
获取用于标定的数据的特征和用于估计的数据的特征;
通过获取的特征来进行视线估计。
2.根据权利要求1所述的视线估计方法,其中,所述视线估计方法还包括:获取神经网络模型,
其中,所述获取特征的步骤包括:通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征。
3.根据权利要求2所述的视线估计方法,其中,获取神经网络模型的步骤包括:通过用于训练的数据,训练所述神经网络模型。
4.根据权利要求3所述的视线估计方法,其中,用于训练的数据包括第一用户图像和第二用户图像,
其中,第一用户图像和第二用户图像分别为同一用户在注视第一对象时的图像和在注视第二对象时的图像;
其中,训练所述神经网络模型的步骤包括:
通过将第一用户图像和第二用户图像作为输入,并且将第一对象和第二对象的相对位置作为输出,来训练所述神经网络模型。
5.根据权利要求3所述的视线估计方法,其中,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,训练所述神经网络模型的步骤包括:
将用于训练的视线标签转化为二分类标签;
确定与所述二分类标签对应的损失函数;
通过用于训练的图像相关数据、所述二分类标签和所述损失函数来训练第一神经网络模型;
其中,将用于训练的视线标签转化为二分类标签的步骤包括:
确定用于训练的视线标签在特定坐标轴上的坐标Ya,其中,Yamin≤Ya≤Yamax,Yamin和Yamax分别为坐标Ya的最小值和最大值;
在所述特定坐标轴上以预定间距设置多个结点,其中,所述预定间距的大小是bin_size,
产生包括维度为所述多个结点的数量的向量的二分类标签,
其中,所述向量的各个维度的值通过所述预定间距的大小和所述坐标Ya来确定,
其中,所述损失函数通过所述向量的各个维度的值,以及激活概率来计算,所述激活概率通过与各个结点对应的用于训练的数据来计算。
6.根据权利要求3至5中的任一项权利要求所述的视线估计方法,其中,用于训练的数据包括用于训练的图像相关数据和用于训练的视线标签,训练所述神经网络模型的步骤包括:
从用于训练的图像相关数据和用于训练的视线标签提取两对样本,其中,所述两对样本对应于同一用户,每对样本包括一个用于训练的图像相关数据和一个对应的用于训练的视线标签,所述两对样本的两个视线标签之间的差异大于第一阈值且小于第二阈值;
通过所述两对样本来训练第二神经网络模型。
7.根据权利要求6所述的视线估计方法,其中,训练所述神经网络模型的步骤还包括:
通过所述提取两对样本的步骤来提取另外两对样本,其中,所述另外两对样本的两个视线标签之间的差异大于第三阈值且小于第四阈值,其中,第三阈值大于或等于第一阈值,第四阈值小于或等于第二阈值;
通过所述另外两对样本来继续训练所述第二神经网络模型,
其中,所述提取两对样本的步骤被至少执行两次,以使每次提取的两对样本的两个视线标签之间的差异小于前一次提取的两对样本的两个视线标签之间的差异。
8.根据权利要求6或7所述的视线估计方法,其中,在训练所述第二神经网络模型之前,还包括:
基于第一神经网络模型来设置第二神经网络模型的参数,
其中,第二神经网络模型和第一神经网络模型具有相同的用于特征提取的网络层,通过所述两对样本来训练所述第二神经网络模型的步骤包括:通过所述两对样本的两个用于训练的图像相关数据和与所述两个用于训练的图像相关数据对应的二分类标签来训练所述第二神经网络模型的分类器。
9.根据权利要求8所述的视线估计方法,其中,训练所述第二神经网络模型的分类器的步骤包括:
通过训练的第一神经网络模型分别提取所述两个用于训练的图像相关数据的特征;
计算所述两个用于训练的图像相关数据的特征之间的特征差;
通过将所述特征差作为输入且将与所述两个用于训练的图像相关数据对应的二分类标签作为输出,来训练所述第二神经网络模型的分类器。
10.根据权利要求6至9之中的任一项权利要求所述的视线估计方法,其中,通过所述神经网络模型来提取用于标定的数据的特征和/或通过所述神经网络模型来提取用于估计的数据的特征包括:通过所述第二神经网络模型来提取用于标定的数据的特征和/或通过所述第二神经网络模型来提取用于估计的数据的特征。
11.根据权利要求2至10之中的任一项权利要求所述的视线估计方法,其中,通过获取的特征来进行视线估计的步骤包括:
根据获取的用于估计的数据的特征和获取的用于标定的数据的特征,通过获取的神经网络模型,估计注视点在注视区域中的位置。
12.根据权利要求2至11之中的任意一项权利要求所述的视线估计方法,其中,通过获取的特征来进行视线估计的步骤包括:
计算提取的用于估计的数据的特征与提取的用于标定的数据的特征之间的特征差;
利用获取的神经网络模型来估计与计算出的特征差对应的分类器输出结果;
根据估计出的分类器输出结果计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率;
将概率最大的子区域的中心确定为估计的注视点。
13.根据权利要求11或12所述的视线估计方法,其中,当注视区域为二维平面上的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置垂直相交于所述每个标定点的两条直线,并且通过设置的各条直线将注视区域划分为多个子区域,或者
当注视区域为三维空间中的区域时,所述注视区域是通过以下方式划分的:为每个标定点设置互相垂直且相交于所述每个标定点的三条直线,并且通过设置的各条直线将注视区域划分为多个子区域。
14.根据权利要求12所述的视线估计方法,其中,计算与用于估计的数据对应的注视点属于从注视区域中划分出的多个子区域中的每个子区域的概率的步骤包括:
针对与每个标定点对应的分类器输出结果,分别确定注视点的每个维度的坐标小于和大于所述每个标定点的关于所述每个维度的坐标的概率;
根据确定的概率计算注视点属于每个子区域的概率。
15.根据权利要求12所述的视线估计方法,其中,通过所述多个子区域中的每个子区域的相对于对应标定点的比较关系概率,计算与用于估计的数据对应的注视点属于所述每个子区域的概率。
16.根据权利要求11-15之中的任一项权利要求所述的视线估计方法,其中,在通过获取的特征来进行视线估计之前,所述视线估计方法还包括:
根据用户对特定点的操作,获取所述特定点作为标定点之一时用于标定的数据。
17.根据权利要求16所述的视线估计方法,其中,所述特定点包括以下至少之一:设备屏幕上的特定点、设备上的特定按钮、与设备具有确定相对位置的特定点。
18.根据权利要求1-17之中的任一项权利要求所述的视线估计方法,其中,所述视线估计方法还包括:
显示标定点;
获取用户在注视所述标定点时的用户图像作为所述用于标定的数据;
根据所述用于标定的数据进行标定。
19.根据权利要求18所述的视线估计方法,其中,所述获取用户在注视所述标定点时的用户图像的步骤包括:
响应于接收到针对所述标定点的手势,判断与所述手势对应的操作点与所述标定点之间的距离,当所述距离小于距离阈值时,获取用户图像作为所述用于标定的数据。
20.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时实现如权利要求1至19之中的任一项权利要求所述的视线估计方法。
21.一种自适应的视线估计设备,其中,所述视线估计设备包括:
特征获取单元,用于获取用于标定的数据的特征和用于估计的数据的特征;
估计单元,用于通过获取的特征来进行视线估计。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582119.9A CN111353506A (zh) | 2018-12-24 | 2018-12-24 | 自适应的视线估计方法和设备 |
KR1020190116694A KR20200079170A (ko) | 2018-12-24 | 2019-09-23 | 시선 추정 방법 및 시선 추정 장치 |
US16/722,221 US11113842B2 (en) | 2018-12-24 | 2019-12-20 | Method and apparatus with gaze estimation |
EP19219452.0A EP3674852B1 (en) | 2018-12-24 | 2019-12-23 | Method and apparatus with gaze estimation |
US17/394,653 US11747898B2 (en) | 2018-12-24 | 2021-08-05 | Method and apparatus with gaze estimation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582119.9A CN111353506A (zh) | 2018-12-24 | 2018-12-24 | 自适应的视线估计方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111353506A true CN111353506A (zh) | 2020-06-30 |
Family
ID=71197921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811582119.9A Pending CN111353506A (zh) | 2018-12-24 | 2018-12-24 | 自适应的视线估计方法和设备 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20200079170A (zh) |
CN (1) | CN111353506A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391699A (zh) * | 2021-06-10 | 2021-09-14 | 昆明理工大学 | 一种基于动态眼动指标的眼势交互模型方法 |
CN114399753A (zh) * | 2022-03-25 | 2022-04-26 | 北京魔门塔科技有限公司 | 分心判断方法、装置、存储介质、电子设备及车辆 |
CN116052264A (zh) * | 2023-03-31 | 2023-05-02 | 广州视景医疗软件有限公司 | 一种基于非线性偏差校准的视线估计方法及装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102384411B1 (ko) * | 2020-07-29 | 2022-04-06 | 한국항공대학교산학협력단 | Vr 영상 제공 시스템 및 방법 |
CN113538599A (zh) * | 2021-07-30 | 2021-10-22 | 联合汽车电子有限公司 | 神经网络标定效能评估方法、装置、介质、设备及车辆 |
CN113743254B (zh) * | 2021-08-18 | 2024-04-09 | 北京格灵深瞳信息技术股份有限公司 | 视线估计方法、装置、电子设备及存储介质 |
CN113762393B (zh) * | 2021-09-08 | 2024-04-30 | 杭州网易智企科技有限公司 | 模型训练方法、注视点检测方法、介质、装置和计算设备 |
KR102640081B1 (ko) * | 2021-12-16 | 2024-02-22 | 세종대학교산학협력단 | 시선 예측 방법 및 그 장치 |
CN116052261A (zh) * | 2022-05-31 | 2023-05-02 | 荣耀终端有限公司 | 视线估计方法及电子设备 |
CN117133043A (zh) * | 2023-03-31 | 2023-11-28 | 荣耀终端有限公司 | 注视点估计方法、电子设备及计算机可读存储介质 |
CN117711054A (zh) * | 2023-05-12 | 2024-03-15 | 荣耀终端有限公司 | 一种数据的检验方法、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174496A1 (en) * | 2003-03-06 | 2004-09-09 | Qiang Ji | Calibration-free gaze tracking under natural head movement |
CN103870796A (zh) * | 2012-12-13 | 2014-06-18 | 汉王科技股份有限公司 | 一种人眼视线估计的方法与装置 |
CN104951084A (zh) * | 2015-07-30 | 2015-09-30 | 京东方科技集团股份有限公司 | 视线追踪方法及装置 |
CN106056092A (zh) * | 2016-06-08 | 2016-10-26 | 华南理工大学 | 基于虹膜与瞳孔的用于头戴式设备的视线估计方法 |
CN107392156A (zh) * | 2017-07-25 | 2017-11-24 | 北京七鑫易维信息技术有限公司 | 一种视线估计方法及装置 |
CN108171152A (zh) * | 2017-12-26 | 2018-06-15 | 深圳大学 | 深度学习人眼视线估计方法、设备、***及可读存储介质 |
US20180210546A1 (en) * | 2014-06-02 | 2018-07-26 | Xlabs Pty Ltd | Pose-invariant eye-gaze tracking using a single commodity camera |
-
2018
- 2018-12-24 CN CN201811582119.9A patent/CN111353506A/zh active Pending
-
2019
- 2019-09-23 KR KR1020190116694A patent/KR20200079170A/ko active Search and Examination
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174496A1 (en) * | 2003-03-06 | 2004-09-09 | Qiang Ji | Calibration-free gaze tracking under natural head movement |
CN103870796A (zh) * | 2012-12-13 | 2014-06-18 | 汉王科技股份有限公司 | 一种人眼视线估计的方法与装置 |
US20180210546A1 (en) * | 2014-06-02 | 2018-07-26 | Xlabs Pty Ltd | Pose-invariant eye-gaze tracking using a single commodity camera |
CN104951084A (zh) * | 2015-07-30 | 2015-09-30 | 京东方科技集团股份有限公司 | 视线追踪方法及装置 |
US20170031437A1 (en) * | 2015-07-30 | 2017-02-02 | Boe Technology Group Co., Ltd. | Sight tracking method and device |
CN106056092A (zh) * | 2016-06-08 | 2016-10-26 | 华南理工大学 | 基于虹膜与瞳孔的用于头戴式设备的视线估计方法 |
CN107392156A (zh) * | 2017-07-25 | 2017-11-24 | 北京七鑫易维信息技术有限公司 | 一种视线估计方法及装置 |
CN108171152A (zh) * | 2017-12-26 | 2018-06-15 | 深圳大学 | 深度学习人眼视线估计方法、设备、***及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
孙兴华;陈国勇;赵春霞;杨静宇;: "基于Hough变换和梯度信息的人眼视线方向估计", 小型微型计算机***, no. 06, 15 June 2007 (2007-06-15) * |
朱博;张天侠;: "基于极限学习机(ELM)的视线落点估计方法", 东北大学学报(自然科学版), no. 03, 15 March 2013 (2013-03-15) * |
金纯;李娅萍;高奇;曾伟;: "视线追踪***中注视点估计算法研究", 科学技术与工程, no. 14, 18 May 2016 (2016-05-18) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391699A (zh) * | 2021-06-10 | 2021-09-14 | 昆明理工大学 | 一种基于动态眼动指标的眼势交互模型方法 |
CN113391699B (zh) * | 2021-06-10 | 2022-06-21 | 昆明理工大学 | 一种基于动态眼动指标的眼势交互模型方法 |
CN114399753A (zh) * | 2022-03-25 | 2022-04-26 | 北京魔门塔科技有限公司 | 分心判断方法、装置、存储介质、电子设备及车辆 |
CN116052264A (zh) * | 2023-03-31 | 2023-05-02 | 广州视景医疗软件有限公司 | 一种基于非线性偏差校准的视线估计方法及装置 |
CN116052264B (zh) * | 2023-03-31 | 2023-07-04 | 广州视景医疗软件有限公司 | 一种基于非线性偏差校准的视线估计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20200079170A (ko) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353506A (zh) | 自适应的视线估计方法和设备 | |
EP3674852B1 (en) | Method and apparatus with gaze estimation | |
KR102319177B1 (ko) | 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체 | |
US11120254B2 (en) | Methods and apparatuses for determining hand three-dimensional data | |
EP2856426B1 (en) | Body measurement | |
KR102346320B1 (ko) | 고속 3d 모델 피팅 및 인체 측정법 | |
US10521919B2 (en) | Information processing device and information processing method for applying an optimization model | |
CN106709404A (zh) | 图像处理装置及图像处理方法 | |
WO2020208494A1 (en) | Method and system for estimating eye-related geometric parameters of a user | |
US11181978B2 (en) | System and method for gaze estimation | |
CN111815768B (zh) | 三维人脸重建方法和装置 | |
CN112232128B (zh) | 基于视线追踪的老年残障人士照护需求识别方法 | |
US9924865B2 (en) | Apparatus and method for estimating gaze from un-calibrated eye measurement points | |
CN112329699A (zh) | 一种像素级精度的人眼注视点定位方法 | |
CN108509830B (zh) | 一种视频数据处理方法及设备 | |
Cvejic et al. | A nonreference image fusion metric based on the regional importance measure | |
CN116580169B (zh) | 一种数字人驱动方法及装置、电子设备和存储介质 | |
CN113706439A (zh) | 一种图像检测方法、装置、存储介质及计算机设备 | |
WO2022079794A1 (ja) | 画像選択装置、画像選択方法、及びプログラム | |
Wang et al. | High accuracy hole filling for Kinect depth maps | |
CN112188075A (zh) | 抓拍机、图像处理设备及图像处理方法 | |
Zhang et al. | A binocular vision system with attentive saccade and spatial variant vergence control | |
CN113378777A (zh) | 基于单目摄像机的视线检测的方法和装置 | |
Venzin | Person-Specific Gaze Estimation for Unconstrained Real-World Interactions | |
CN115661401A (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 |