基于表观的归一化坐标系分类视线估计方法

2022-02-24 05:06戴忠东任敏华
计算机工程 2022年2期
关键词:视线坐标系卷积

戴忠东,任敏华

(1.上海复控华龙微系统技术有限公司,上海 200439;2.中国电子科技集团公司第三十二研究所,上海 201808)

0 概述

近年来,视线估计在人机交互中得到广泛应用,例如使计算机理解人类感兴趣的区域,借此进行性格分析、商品推荐、游戏娱乐等。目前,视线估计大多使用多目图像[1-3],但实际场景相对复杂,该方法使用效果不佳。另外,还有研究关注单目图像视线估计[4-6]。然而,嵌入式应用时图像分辨率较低,且头部姿态变化存在一定的随机性,因此视线估计的准确性依然是目前面临的最大挑战。

单目摄像视线估计可分为2 大类:基于形状的视线估计方法和基于表观的视线估计方法[7]。基于形状的方法依赖于为眼睛、瞳孔和周围区域建立特定模型以计算瞳孔中心的位置,从而进行视线估计。基于表观的方法通常从眼睛区域中提取多维特征进行视线估计。基于形状的方法稳定性较差,模型经常过于理想化。基于表观的方法使用回归计算视线方向,虽然平均角度误差仍需进一步降低,但其在图像光照差、分辨率低等条件下具有较好的稳定性,具备较大的提升空间,在视线估计研究中具有重要作用。

在基于表观的方法的研究中,SUGANO 等[8]使用大量的交叉研究对象数据来训练三维视线模型。为保持一致性,收集了最大的、完全校准的多视角视线数据集来进行三维重建,并使用包括随机森林[9]、k-NN[10]、自适应线性回归[11]等方法从眼睛图像中提取视线方向。为得到更好的结果,SUGANO 等[12]构建了一个更大的数据集MPIIGaze,其中包含15 个参与者,并提出一种利用卷积神经网络(Convolutional Neural Network,CNN)模型进行基于表观的视线估计方法,对归一化后的眼睛图像和头部姿态角进行训练。SUGANO 等[13]对神经网络进行改进,并采用更深层的模型,获得了更好的性能。与早期使用头部姿态信息作为卷积神经网络模型部分输入不同,RANJAN 等[14]将数据集汇聚为头部姿态的不同组别,形成具有分支结构的卷积神经网络模型,提高了视线估计对不同头部姿态的稳定性。ZHANG 等[15]则使用空间权值卷积神经网络模型估计视线方向,空间权值卷积神经网络模型采用全脸图像作为输入,不经过归一化,适合各种头部姿态,其特点在于空间权重更关注眼睛区域。但上述基于表观的方法存在一些不足。文献[8,12-13]中介绍的归一化方法不能建立相机坐标系,因此使用了一个包含所有15 名参与者的平均面部模型来定位三维空间中的眼睛中心。因此,归一化图像的眼睛中心和实际视线方向相比并不精确。此外,上述方法还使用了回归方法来获得预测的视线方向,但回归易受带噪点的低分辨率图像以及归一化方法的影响。

本文提出采用归一化坐标系方法来校准相机坐标系,以复原人眼图像。同时,建立基于表观的卷积神经网络模型的分类方法估计视线方向,并利用黄金分割法进行优化进一步降低误差。

1 基于表观的归一化坐标系分类视线估计

1.1 框架基础

本文所提方法主要包括2 个阶段:分类视线估计及黄金分割法寻优。其中分类视线估计如图1 所示,通过对归一化眼睛图像的多分类实现。而黄金分割法则对分类数进行搜索以进一步优化。图2 是本文提出的归一化坐标系方法所形成的眼睛图像,虽然原始图像对应了不同人、不同头部姿态与光照,但可以看到人眼图像形状基本一致。

图1 基于表观的归一化坐标系分类视线估计Fig.1 Gaze estimation based on apparent normalized coordinate system classification

图2 不同的人眼图像及其归一化Fig.2 Different eyes photo and normalization

在视线估计中,使用注视点的视线向量及其相关的失配角进行描述或评价。注视点是注视屏幕与视线的交汇点,可以通过屏幕平面的二维坐标或相机坐标系中的三维坐标来表示。在图3 中,视线向量(ex,ey,ez)是相机坐标系中从眼睛中心指向屏幕平面的注视点单位向量。视线向量在垂直和水平方向上的投影角分别称为垂直角θ和水平角φ。垂直角和水平角计算式如下:

实际视线向量(ex1,ey1,ez1) 和预测视线向量(ex2,ey2,ez2)间的失配角Δα被用来评价视线估计的性能,失配角被定义为:

实际视线向量和预测视线向量的失配角也可以通过它们在垂直和水平方向上的投影来计算,例如:

证明如下:

1.2 归一化

单目眼睛图像容易因头部姿态的变化而失真,降低了视线估计的准确性。对此,通过头部姿态坐标系的信息可以建立归一化坐标系以减少眼睛图像失真。

头部姿态坐标系采用EPnP[16]方法建立。如图3所示(彩色效果见《计算机工程》官网HTML 版),从右眼中心到左眼中心的方向是头部姿态坐标系的X轴。与眼睛和嘴巴中心组成的XOY平面垂直的方向是Z轴。白点表示眼角和嘴角的特征点,由白点计算得到的眼睛与嘴巴中心形成的灰色三角形XOY,进而形成头部姿态坐标系。黑色虚线箭头是视线向量(ex,ey,ez),角度θ是视线向量在垂直方向Y上的投影,角度φ是视线向量在水平方向X上的投影。

图3 头部姿态坐标系与人眼图像的映射关系Fig.3 Mapping relationship between head pose coordinate system and eyes photo

图4 所示为单目相机坐标系和头部姿态坐标系组成的归一化坐标系。归一化坐标系Sn的3 个坐标轴为Xn、Yn和Zn,原点为On。头部姿态坐标系Sh的3 个坐标轴为Xh、Yh和Zh,原点为Oh。相机坐标系Sc的3 个坐标轴为Xc、Yc和Zc,原点为Oc。On、Zn与Oc、Zc相同。是Xh到Zn的投影:

Xn平行于,Yn平行于。旋转矩阵R是从相机坐标系到归一化坐标系的变换矩阵,可以表示为:

如图4 所示,通过将三维脸投影到归一化坐标系中的焦平面来归一化眼睛图像。

图4 归一化坐标系Fig.4 Normalization coordinate system

眼睛尺寸也应该通过保持眼球和单目相机之间距离的恒定来归一化。尺度矩阵S用于确保从眼睛中心到归一化坐标系原点的距离在Zn上的投影具有相同的值ds。假设归一化坐标系中眼睛中心的坐标为(EEyex,EEyey,EEyez)。从眼睛中心到归一化坐标系原点的距离在Zn上的投影为d=EEye z。因此,比例矩阵S可以表示为:

归一化坐标系的构造如图5 所示。相机坐标系左乘旋转矩阵R以归一化Zn视图的差异,左乘尺度矩阵S以统一眼球与单目相机之间的距离。以上2 个步骤令相机坐标系构建了归一化坐标系。

图5 归一化坐标系的构造Fig.5 Structure of normalization coordinate system

双眼中心的位置是视线估计的基础[17],采用哈尔(Haar)级联分类器[18]寻找双眼的中心。为确保眼球位于图像的中心,通过更改相机Cin内参矩阵中的Cx和Cy来调整光轴,如式(11)所示:

最后基于直方图均衡化对图像进行二值化,以减小不同光照条件对图像的影响。

1.3 卷积神经网络的表观提取

研究表明,在进行表观图像提取时,卷积神经网络模型可以产生丰富的表示[19]。本文选择的卷积神经网络如InceptionV3[20],在分类任务中具有稳定和高效的性能。在所提方法中,卷积神经网络模型将归一化的眼睛图像映射到垂直和水平方向的视线角度。如图6 所示,卷积神经网络模型由卷积层、最大池化层、平均池化层和块组成。卷积神经网络模型的输入是经过4 倍放大后的归一化灰度眼部图像,从36×60 变大到144×240。块前的卷积层滤波器尺寸为3×3,块的卷积层滤波器尺寸为1×1、1×3、3×1、3×3、5×5、1×7 和7×1,用于提取不同尺度的特征并将它们组合在一起。在每个卷积层后为修正线性单元(Rectified Linear Unit,ReLu)层[21]和批归一 化(Batch Normalization,BN)层[22]。丢弃(Dropout)层用于避免过度拟合。为减少权值参数,用1×1 滤波器的卷积层代替全连接层。最后的柔性最大(Softmax)分类层指示视线角度各类别的预测概率。使用交叉熵函数作为损失函数来度量预测视线角度与实际视线角度之间的失配,可表示为:

图6 卷积神经网络模型Fig.6 Convolutional neural network model

其中:M是样本数;N是分类数;pij是属于分类j的样本i的实际概率;qij是属于分类j的样本i的预测概率。

1.4 分类

在注视屏幕上的某个点时,视线在垂直方向上的移动并不影响其在水平方向上的移动,因此可以在2 个单独任务中估计垂直角θ和水平角φ。在每个任务中,分类数为N,总的视线角度空间为[-90°,90°],W表示类的区间宽度,则分类数N可以表示为N=第i类中某个眼睛图像的视线角度为α,其对应的角度范围为Ki,如下:

1.5 误差分析

总的平均角度误差由区间误差和类别误差组成。设Ki类中的视线角θi在角度空间中均匀分布,则有:

θi对应类别的角度范 围Ki的中点 为,计算式如式(15)所示:

θi与之间的误差为区间误差,区间误差期望为:

θi的区间误差期望与i无关,因此式(16)可以写为:

所有类的区间误差期望与N成反比,为:

实际分类数N和预测分类数之间的失配为ΔN:

由ΔN引起的角度误差称为类别误差mclassification,如式(20)所示:

总的角度误差可以通过区间误差minterval和类别误差mclassification来计算,如式(21)所示:

在计算总的角度平均误差时,根据式(21)可知,|minterval|可以对消,因此式(21)总的角度平均误差可简化为|mclassification|,即N^ 的线性函数f的绝对值,故可用黄金分割法来寻找最优的分类数N。

1.6 黄金分割法优化

黄金分割法能为本文所提方法寻找测试数据集优化的分类数N。分类数N的搜索范围设为[30,360]。

算法1黄金分割

输入 MPIIGaze 数据集

输出 最优分类数N

2 实验结果与分析

2.1 数据集的选择

本文选取MPIIGaze 数据集[12],该数据集数据来自具有不同头部姿态的15 人,图像分辨率较低,包括戴或不戴眼镜的男人和女人。为测试归一化测试坐标系的作用,卷积神经网络模型的输入使用了归一化坐标系形成的36×60 眼睛图像,如图7 所示。经过归一化处理后,选取最后一个人的1 464 幅图像作为测试数据,其余156 522 幅图像作为训练数据,以保证模型的泛化。

图7 经过归一化的MPIIGaze 数据集样本Fig.7 Normalized sample of MPIIGaze date set

2.2 卷积神经网络模型的训练

使用型号为GeForce GTX 1080 Ti 的显卡训练卷积神经网络模型时,最初的学习率设置为0.01,共迭代300 次,每经过14 次迭代衰减6%,批大小设置为256,采用ADAM[23]优化器。实验结果表明优化后平均每幅图像处理耗时约为0.18 s。

2.3 评价

2.3.1 对区间误差的评价

如3.6 节所述,区间误差期望与分类数成反比。图8 所示为不同分类数N在测试数据集上的区间误差期望。带★虚线表示垂直方向视线估计的区间误差期望,带×虚线表示水平方向视线估计的区间误差期望。图9 所示为在总角度误差中的区间误差分量期望,对于MPIIGaze 数据集已训练的卷积神经网络模型,按1~256 不同测试样本数量进行测试,可以看到区间误差分量期望的影响较小。

图8 区间误差期望变化Fig.8 Expected change in interval error

图9 区间误差分量期望变化Fig.9 Expected change in interval error component

2.3.2 对误差的评价

误差受分类数N的影响。使用黄金分割法寻找优化分类数N=180,迭代4 次:

其中:(lq,lg,rg,rq)表示在每次迭代中黄金分割法的中间变量。

表1 所示为双眼在垂直和水平方向上的预测角度和实际角度之间的平均角度误差。

表1 双眼在垂直和水平方向上的平均角度误差Table 1 Average angle error of both eyes in vertical and horizontal direction (°)

按式(4)合成Δθ、Δφ,得到预测的视线向量和实际的视线向量间的平均角度误差Δα,如表2 所示。

表2 双眼的平均角度误差Table 2 Average angle error of binocular(°)

图10 所示为黄金分割法搜索的分类数N的情况,其中,虚线表示平均角度误差为4.8°。分类数N的平均角度误差形状是凹的,当N设置为180 时,本文所提方法获得了左眼4.145°、右眼4.744°、平均4.445°的优化性能。

图10 黄金分割法搜索优化的分类数Fig.10 The number of classification optimized by the search of the golden section method

2.3.3 对归一化坐标系的评价

用文献[8]中所提归一化方法和本文所提归一化坐标系所输出的不同眼睛图像作为同一卷积神经网络模型的输入,评价归一化坐标系方法。当分类数N设置为180 时,比较结果如表3 所示。

表3 不同归一化方法在垂直和水平方向的平均角度误差Table 3 Average angle errors of different normalization methods in vertical and horizontal directions(°)

与文献[8]所提方法相比,本文建立的归一化坐标系方法,左眼和右眼的误差分别从4.267°和4.932°降低到4.145°和4.744°。

2.3.4 整体评价

表4是本文所提方法与传统基于表观方法的对比。本文所提方法结果为左眼4.145°、右眼4.744°,表现最优。与文献[13-15]基于表观的方法相比,该方法平均角度误差从4.8°降低到4.445°,误差降低了7.4%。

表4 不同基于表观方法的平均角度误差比较Table 4 Comparison of average angle error of different appearance-based methods (°)

3 结束语

本文提出一种基于表观的归一化坐标系分类视线估计方法,通过校准相机坐标系使眼球与单目相机的距离保持恒定,从而增强眼睛图像处理的效果及减小不同头部姿态对图像的影响。同时,通过构建卷积神经网络模型,并使用黄金分割法进行最终优化,提升视线检测的准确率。实验结果表明,相比已公开的同类方法,在MPIIGaze 数据集中,本文所提方法使视线估计误差平均约降低了7.4%。由于眼睛图像容易受到光照、头部姿态等综合因素的影响,下一步将围绕人脸光照补偿展开研究,提高视线检测效果。

猜你喜欢
视线坐标系卷积
独立坐标系椭球变换与坐标换算
要去就去视线尽头的山
基于3D-Winograd的快速卷积算法设计及FPGA实现
那座山
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
坐标系背后的故事
三角函数的坐标系模型
求坐标系内三角形的面积