一种基于深度回归网络的视线估计方法与流程

文档序号:16863422发布日期:2019-02-15 19:59阅读:109来源:国知局
一种基于深度回归网络的视线估计方法与流程

本发明属于计算机视觉技术领域,涉及深度学习方法,主要解决视线估计和视线跟踪等视觉映射问题,可以应用于汽车安全驾驶和感兴趣区域检测等领域。



背景技术:

在计算机视觉中,视线估计是指根据输入的面部图像,定位人眼区域并根据眼球所在位置自动估计视线方向。现有的视线估计方法包括两类:(1)基于几何的方法和(2)基于回归的方法。详见参考文献:Takahiro Ishikawa,Simon Baker,Iain Matthews,and Takeo Kanade,Passive Driver Gaze Tracking with Active Appearance Models,tech.report CMU-RI-TR-04-08,2004。

基于几何的视线估计方法主要通过定位瞳孔中心、上下眼睑特征点以及眼角位置等来计算视线方向。定位上述眼部区域的特征点主要利用活动外观模型(Active Appearance Model),这是一种通过人脸全局外观定位脸部特征点(眼角点、嘴角点等)的方法。基于几何的视线估计方法的优点在于当眼部特征点定位准确时视线估计准确度高,而缺点在于主动外观模型易受光照、遮挡和姿态的影响,造成眼部特征点定位不准确。详见参考文献:Takahiro Ishikawa,Simon Baker,Iain Matthews,and Takeo Kanade,Passive Driver Gaze Tracking with Active Appearance Models,tech.report CMU-RI-TR-04-08,2004和Iain Matthews,and Simon Baker,Active Appearance Models Revisited,International Journal of Computer Vision,Vol.60,No.2,pp.135-164,2004.

基于回归的视线估计方法主要通过检测人眼区域,并建立眼部图像特征和视线之间的映射关系。现有方法主要通过支持向量回归、高斯过程回归等建立映射关系。基于回归的视线估计方法的主要优点在于当人眼区域定位准确的前提下简单易实现,而缺点是现有回归方法很难非常准确的描述人眼特征与视线之间的映射关系。详见参考文献:Zhiwei Zhu,Qiang Ji,and Kristin P.Bennett,Nonlinear Eye Gaze Mapping Function Estimation via Support Vector Regression,The 18th International Conference on Pattern Recognition,Vol.1,pp.1132-1135,2006.和Oliver Williams,Andrew Blake,and Roberto Cipolla.Sparse and Semi-supervised Visual Mapping with the S3GP.The 2006IEEE Computer Society Conference on Computer Vision and Pattern Recognition,Vol.1,pp.230-237,2006.

在基于回归方法的视线估计方法中,最重要的问题是建立从眼部特征到视线的非线性回归模型。在非线性回归模型中,现在深度回归模型已被证实为解决该问题最好的模型之一。由于其高准确性、灵活性和强通用性,深度方法当前被广泛使用。近年来,以自编码器为核心的研究工作,越来越多的被应用到实际问题中。详见参考文献:Yan LeCun,Bengio Yoshua Bengio,and Geoffrey Hinton,Deep Learning,Nature,Vol.521,pp 436-444。



技术实现要素:

本发明提供了一种基于深度网络的视线估计方法。首先对采集到的眼部图像进行大小归一化;之后,在输入眼部图像梯度方向直方图特征和对应视线之间建立深度回归模型;接着,初始化深度回归模型的参数,并利用梯度下降法求解深度模型参数;最后,对待估计眼部图像提取梯度方向直方图特征,并利用已学到的深度回归模型估计视线方向。算法示意图参见图2。

为了方便地描述本发明内容,首先对一些术语进行定义。

定义1:视线方向。在二维空间中眼球注视方向的角度通常由一个向量表示,该向量由二个元素构成,第一个元素为水平角度,第二个元素为垂直角度。

定义2:梯度方向直方图特征。利用像素强度梯度或边缘的方向分布描述一幅图像中的物体的表象和形状的视觉特征提取方法。其实现方法先将图像分成小的叫做方格单元的连通区域;然后采集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来就可以构成特征描述子。为了提高精确度,还可以把这些局部直方图在图像的更大的区间(block)中进行对比度归一化(contrast-normalized),此方法通过先计算各直方图在这个区间(block)中的密度,然后根据这个密度值对区间中的各个方格单元做归一化。通过该归一化能对光照变化和阴影有更强的鲁棒性。

定义3:深度回归网络。是指逐层回归的神经网络,每一层的输出是下一层的输入。

定义4:S形函数。S形函数(sigmoid function)一般可以表示为σ(·),其表达式为

定义5:反向传播算法。是一种监督学习算法,常被用来训练多层神经网络。一般包含两个阶段:(1)前向传播阶段将训练输入送入网络以获得激励响应;(2)反向传播阶段将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。

定义6:梯度下降法。是一种无约束的优化方法,在求解目标函数最小值时,找到梯度方向,并沿着梯度反方向搜索,直到达到局部最小值的方法。

按照本发明的一种基于深度回归网络的视线估计方法,它包含以下步骤:

步骤1:采集N幅包含不同视线的眼部图像(见图1),并记录采集每幅图像时对应的视线方向yn的第一维表示水平方向,第二维表示垂直方向,下标n表示第n幅图像对应的视线方向;

步骤2:将步骤1中采集的眼部图像归一化处理,并提取梯度方向直方图特征(Histogramof Oriented Gradient,HOG)。

步骤3:将N幅图像对应的视线方向的范围归一化到[0,1]区间,具体做法为:

其中表示第n个样本的标定视线第j维的分量,ynj表示该维归一化后的数值。

步骤4:设计深度回归模型对应的映射函数,对输入特征为其中s1表示特征的维数,对输入特征进行逐层映射,

表示第l+1层的第i个单元的输入,表示连接深度神经网络第l层的所有sl个单元和第l+1层的第i个单元之间的参数。具体来讲,表示连接第l层的第j个单元和第l+1层第i个单元之间的参数,为与第l+1层的隐单元i相关的偏差项,sl+1为第l+1层隐单元的数目。第l+1层的第i个单元是否被激活,由S形函数的输出决定,即:

上式也可以表示为:

本专利设计的深度回归模型的输出层共有2个单元,用符号表示,用以估计视线方向的水平角度和垂直角度,上标(L)表示输出层的标号。整个深度回归模型用函数hw,b(xn)表示当输入为xn时的视线估计值,即:

步骤5:将步骤3中归一化的梯度方向直方图特征[x1,...,xN]作为深度回归模型的输入,对应的标定视线方向为[y1,...,yN],建立深度回归模型的目标函数:

其中L为深度回归网络的层数,

步骤6:为了表示当输入为xn时,任意一层l的任意单元i对误差平方和贡献的大小,定义误差项i=1,...,sl,l=2,...,L。对于输出层(第L层),每一个单元i对应的误差项为:

表示的导数,利用后向传播算法,计算l=2,3,L-1层时每一个节点j对应的误差项

最后得到下面目标函数J(w,b)关于参数和的偏导数

其中和表示当输入为xn时对应的第l层的第j个单元的输出和第l+1层第i个单元对应的误差项。最后得到目标函数J(w,b)关于参数向量w,b的梯度和

步骤7:为了求得最佳的深度神经网络的参数w和b,我们先初始化参数,参数初始化值是使得输入信号的重构误差最小,得到初始值w[0]和b[0]之后,再利用梯度下降法进行优化;即:

其中上标[t]和[t+1]表示第t次和t+1次迭代。当w和b满足收敛条件时停止迭代。

步骤8:对于新的眼部图像,检测到眼部区域并提取梯度方向直方图特征,数值归一化之后送入训练好的深度网络中,得到对应的视线方向估计值,并将数值范围还原到-90°到+90°。

需要说明的是:

进一步的,所属步骤2的具体方法为将步骤1中采集的眼部图像归一化为大小为100×60像素,在梯度方向直方图特征计算的过程中,区域个数的参数设置为2×2,每一区域中图像单元的个数参数设置为4×4,方向柱的个数设置为9,最后得到任意一幅图像对应的梯度方向直方图特征的维数为1152,并记任意第n幅图像对应的梯度方向直方图特征向量之后,再对每一维进行数值归一化,将数据范围压缩到[0,1]区间,对于第n个样本,其第i维的数据xni归一化公式

为所有样本第i维上的最小值,类似定义为所有样本第i维上最大值。

步骤4中提到的栈式自编码器,每一层的单元数目分别为s1=1440,s2=300,s3=250和s4=200,输出层只有2个单元,s5=2。

步骤7中利用梯度下降法求深度网络参数时,收敛条件为前后两次迭代的参数不再变化,即达到局部最优点;梯度下降法进行优化方法为:

其中上标[t]和[t+1]表示第t次和t+1次迭代。当w和b满足收敛条件时停止迭代。

本发明的创新之处在于:

提出利用深度回归网络,建立眼部图像和视线方向之间的非线性映射关系。本发明首先采集N眼部图像作为训练样本,并把深度图像归一化为大小为100*60的图像,同时提取1152维梯度方向直方图特征,然后记录对应的视线方向。之后,设计深度回归网络,该深度网络除输入层和输出层,共3层中间层。然后,在训练样本和标定视线方向数据上,利用梯度下降法学习深度回归网络的各层参数。最后,对于待估计视线的眼部图像,提取梯度方向直方图特征,根据上述学习好的深度回归网络模型估计视线方向。与传统的视线估计方法相比,该方法能够模拟输入特征到视线方向的复杂映射关系,有效的克服了浅层模型估计准确性不高的问题。

附图说明

图1为视线估计示意图;

图2为深度回归网络示意图。

具体实施方式

根据本发明的方法,首先利用Matlab或者C语言编写深度回归网络的训练模型;接着输入采集到的训练样本并训练深度回归网络参数;接着对采集到的图像提取梯度方向直方图特征,作为源数据输入到训练好的深度回归网络中进行处理;得到估计的视线方向。本发明的方法,可以用于自然场景中眼部的视线估计问题中。

一种基于深度回归网络的视线估计方法,它包含以下步骤:

步骤1:采集N幅包含不同视线的眼部图像(见图1),并记录采集每幅图像时对应的视线方向yn的第一维表示水平方向,第二维表示垂直方向,下标n表示第n幅图像对应的视线方向;

步骤2:将步骤1中采集的眼部图像归一化为大小为100×60像素,并提取梯度方向直方图特征(Histogram of Oriented Gradient,HOG)。在梯度方向直方图特征计算的过程中,区域个数的参数设置为2×2,每一区域中图像单元的个数参数设置为4×4,方向柱的个数设置为9,最后得到任意一幅图像对应的梯度方向直方图特征的维数为1152,并记任意第n幅图像对应的梯度方向直方图特征向量之后,再对每一维进行数值归一化,将数据范围压缩到[0,1]区间,对于第n个样本,其第i维的数据xni归一化公式

为所有样本第i维上的最小值,类似定义为所有样本第i维上最大值。

步骤3:将N幅图像对应的视线方向的范围归一化到[0,1]区间,具体做法为:

其中表示第n个样本的标定视线第j维的分量,ynj表示该维归一化后的数值。

步骤4:设计深度回归模型对应的映射函数,对输入特征为其中s1表示特征的维数,对输入特征进行逐层映射,

表示第l+1层的第i个单元的输入,表示连接深度神经网络第l层的所有sl个单元和第l+1层的第i个单元之间的参数。具体来讲,表示连接第l层的第j个单元和第l+1层第i个单元之间的参数,为与第l+1层的隐单元i相关的偏差项,Sl+1为第l+1层隐单元的数目。第l+1层的第i个单元是否被激活,由S形函数的输出决定,即:

上式也可以表示为:

本专利设计的深度回归模型的输出层共有2个单元,用符号表示,用以估计视线方向的水平角度和垂直角度,上标(L)表示输出层的标号。整个深度回归模型用函数hw,b(xn)表示当输入为xn时的视线估计值,即:

步骤5:将步骤3中归一化的梯度方向直方图特征[x1,...,xN]作为深度回归模型的输入,对应的标定视线方向为[y1,...,yN],建立深度回归模型的目标函数:

其中L为深度回归网络的层数,

步骤6:为了表示当输入为xn时,任意一层l的任意单元i对误差平方和贡献的大小,定义误差项i=1,...,sl,l=2,...,L。对于输出层(第L层),每一个单元i对应的误差项为:

表示的导数,利用后向传播算法,计算l=2,3,L-1层时每一个节点j对应的误差项

最后得到下面目标函数J(w,b)关于参数和的偏导数

其中和表示当输入为xn时对应的第l层的第j个单元的输出和第l+1层第i个单元对应的误差项。最后得到目标函数J(w,b)关于参数向量w,b的梯度和

步骤7:为了求得最佳的深度神经网络的参数w和b,我们先初始化参数,参数初始化值是使得输入信号的重构误差最小,得到初始值w[0]和b[0]之后,再利用梯度下降法进行优化,即:

其中上标[t]和[t+1]表示第t次和t+1次迭代。当w和b满足收敛条件时停止迭代。

步骤8:对于新的眼部图像,检测到眼部区域并提取梯度方向直方图特征,数值归一化之后送入训练好的深度网络中,得到对应的视线方向估计值,并将数值范围还原到-90°到+90°。

需要说明的是:

步骤3中提到的栈式自编码器,每一层的单元数目分别为s1=1440,s2=300,s3=250和s4=200,输出层只有2个单元,即:s5=2。

步骤7中利用梯度下降法求深度网络参数时,收敛条件为前后两次迭代的参数不再变化,即达到局部最优点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1