APP下载

基于深度相机的水平视角估计及校准方法

2017-02-22倪剑帆汪建明周小芹刘小峰

计算机技术与发展 2017年1期
关键词:中心点瞳孔视线

倪剑帆,汪建明,周小芹,刘小峰

(河海大学 物联网工程学院 常州市特种机器人与智能技术重点实验室,江苏 常州 213022)

基于深度相机的水平视角估计及校准方法

倪剑帆,汪建明,周小芹,刘小峰

(河海大学 物联网工程学院 常州市特种机器人与智能技术重点实验室,江苏 常州 213022)

提出一种基于Kinect深度相机水平视角估计及校准方法。用Kinect捕捉人的脸部和估计头部姿势,采用基于图像梯度信息的方法从2维脸部图像定位瞳孔中心点,利用Kinect固有参数,得到三维坐标系中的瞳孔中心点。结合预设眼球中心点,可以很方便、稳定地估算出水平视角。该方法采用预定义的眼球中心点经验值,无需单独校准每个人的眼球中心点,提高了该视线检测系统的普遍适用性。为了提高视线角度的精确性,设计了一套能够呈现注视目标并可采集注视角度的实验系统。应用该实验系统采集数名实验者视角估计值和真实数据,然后建立线性回归模型。通过拟合函数校准估计的视角,进一步提高了视角精度。实验结果表明,对于不同的人,该方法都能快速而准确地估计出视角。

校准方法;水平视线角度估计;Kinect深度相机;线性回归模型;拟合函数

0 引 言

眼神交流在日常生活中有着重要的作用。相应的视线检测就成为了一个热门的研究课题,它在人机交互、残疾人交流、安全监控和疲劳驾驶中都有着广泛的应用。

通常眼睛视线检测的方法有两类:基于外表的方法和基于特征/模型的方法。前者[1-3]是通过高维的眼部图像直接映射到低维空间的视线坐标上。文献[2]保留了高维向量中更有代表性的特征。文献[3]提出了一种线性回归方法,在低维空间中实现精确的视线估计,但是这种方式容易受到光线等的干扰。后者一般是根据头部和眼部的特征来建立3D模型。文献[4-5]通过建立3D眼睛模型来检测视线,通过眼睛模型得到眼部特征点,然后通过获得眼球中心点和瞳孔中心点的3维坐标来得到视线角度。文献[6]用3D模型估计头部姿势和视线的方向向量,这种基于模型的方法较简单且鲁棒性较好,但是其结果的好坏取决于头部估计和瞳孔追踪的精确性,而文献中也没有相应的校准方法。

早期的视线检测技术基本都采用普通摄像头采集数据[7],对于视线的估计都是在2维空间,一般只能检测视线方向而无法得到具体的视线角度。近年,微软开发的Kinect传感器被广泛用于视线检测,它不需要额外的硬件设备,并且在检测视线时头部可以自由转动。文献[1,5,8-9]均使用Kinect直接得到视线目标位置,从而得到真实值。由于Kinect本身对物体位置的估计不够精确,该方法会对结果产生一定的误差。文献[5,10]通过已知坐标点的目标物来校准眼球中心点。虽然该方法得到的结果较为准确,但是需要对每个人的眼球中心点进行单独校准。

文中提出一种基于Kinect的水平视角估计及校准方案。通过Kinect捕捉脸部图像,并估计头部姿势。通过文献[5]中提出的简化3D眼睛模型建立眼部特征点间关系。采用基于梯度信息的瞳孔中心定位算法[11]检测瞳孔。为了避免对每个人都进行眼球中心点校准,采用了眼球中心点经验值。眼睛的视线角度可通过Kinect坐标系中的眼球中心点和瞳孔中心点得到。为了提高视线角度的精度,设计了一套实验系统校准视线估计误差,它能够采集实验者视角的测量值和真实值数据。在实验中,采用Kinect获得视角测量值,通过定点的实际坐标得到真实值。鉴于实验中存在的一些不足,改进了原先的实验系统。通过得到的数据建立线性回归模型,进一步提高了视角精度,而且该方法适用性好,操作简便,精度高。

1 算法描述

文中采用Kinect传感器估计头部姿势,并采用基于图像梯度信息的瞳孔中心定位方法[11]和简化的3D眼球模型[5]检测视线角度。

1.1 瞳孔中心定位

不同于文献[12]中需佩戴一套设备来检测瞳孔位置,文中使用文献[11]中基于梯度信息的2维瞳孔定位方法,避免了检测设备和人皮肤的直接接触,使得测试者可以自由灵活地转动头部。通过单位化的位移向量和梯度向量的数量积得到瞳孔中心。具体的最优化瞳孔中心p由如式(1)所得:

(1)

其中,p*是随机选定的瞳孔中心;gi是在任意位置qi处的梯度向量;di是qi和p*之间的单位化位移向量,其方向和gi一致。

最终得到瞳孔中心坐标p=(xp,yp)。然后用Kinect把2D坐标转换到3D坐标,如式(2)所示:

(2)

其中,P=(x,y,z)为瞳孔3D坐标;(ccenter,rcenter)为图像的中心坐标;λ为Kinect相机焦距。ccenter,rcenter和λ都是Kinect相机的内部参数。

1.2 眼部视线估计

文献[14]中用头部几何模型和估计算法对头部姿势进行估计,而文中Kinect可以直接估计人头部的偏转姿势而不需要其他辅助设备,它能得到头部的位移矩阵T和旋转矩阵R。把头部坐标系中的眼球中心点Chead转换为Kinect坐标系中的C。

C=R*Chead+T

(3)

(4)

α=arctan(xcm/zcm)

(5)

其中,M为视线目标。

最终得到水平视线角度α(测量值)。对于垂直视线角度,文中不进行讨论。

2 校准方法

为了提高视角精度,提出一种通过实验对视角进行校准的方法。在实验中由上述算法直接得到测量值,通过实际固定点的坐标得到真实值。实验系统通过采集几名视力正常测试者的测量值和真实值,建立线性回归模型,得到不同情况下的测量值和真实值的拟合曲线,以校准视角。鉴于实验系统存在的一些不足,对原始的实验系统进行改进。

2.1 原始实验系统

如图1所示,在黑板上与人视线齐平的是一横排视线点,与激光笔齐平的是一横排激光点。实验中,测试者和Kinect距离约为70 cm,确保能捕捉到头部图像。测试者需要后背贴墙坐直,视线平视正前方,将黑板上看到的首个点标记为0点,也称为固定点。然后分别在它的水平左右两边取若干点,通过保持眼睛直视前方的情况下分别向左右转动头部,使得视线恰好到所标点处,在转动过程中保持头部中心点到黑板的距离不变。为了便于视线恰好到达所标点处,采用激光笔校准头部偏转,将激光笔固定在实验者戴的帽子上,使激光笔在头部正中心,且与实验者的视线保持水平。

图1 原始实验系统

实验中的真实值φ可通过式(6)得到。

(6)

其中,dist(0P)是眼睛到黑板的距离;dist(0i)是0点到i点的距离。

通过移动黑板到实验者的距离来改变真实值φ的数值,该方法比直接采用Kinect得到目标的真实值更准确。测量值α可以通过算法直接获得。通过9位视力正常测试者的780组实验数据对该方法进行结果分析,实验时对每个人都要调整视线点和激光点的位置以及Kinect的高度。其中,真实值φ和测量值α误差的均值和标准差如表1所示。

表1为9位测试者真实值和测量值误差的均值和标准差,从中可看出每个人之间的均值和标准差没有明显的区别。当左眼向左看时,测量值基本比真实值大;当右眼向右看时,测量值基本比真实值小;当左眼向右看和右眼向左看时,真实值和测量值误差要小于另外两种情况,但是它们误差的稳定性和其他两种情况下相差不多,甚至比其他两种情况的波动还要大一些。

从国际大石油公司近期经营策略的“五个转变”可以看出,这些公司对内外部形势变化的反应比较及时,发展战略和实施对策调整较为迅速。这对中国的石油公司具有借鉴意义,同时中国的石油公司也应依据各自的特点和优势,制定和调整未来发展策略。

表1 原实验视角误差的均值(mean)和标准差(std)

2.2 线性回归模型

线性回归模型是一种用数理统计中的回归分析来确定两个或多个变量间的定量关系的统计分析方法,它能够通过现有变量之间的关系得到它们之间的预测模型。文中采用最小二乘法拟合曲线,考察9个人的数据在不同情况下误差和测量值的关系,如图2所示。

从中可以看到,在四种情况下它们的误差有着明显的不同。所以用线性回归模型对四种情况分别进行拟合,得到:

ylelw(xi)=0.820 4xi-0.065 5

(7)

ylerw(xi)=0.888xi+1.891 2

(8)

yrelw(xi)=0.960 9xi-0.907

(9)

yrerw(xi)=1.130 6xi+0.938 3

(10)

图2 四种情况下的误差和测量值

其中,ylelw,ylerw,yrelw,yrerw分别表示左眼向左看,左眼向右看,右眼向左看,右眼向右看校准后的角度;xi表示测量值。

然后根据得到的校准后角度和真实值的误差再次进行比较,可得经过校准后误差比之前更稳定,不过测量值与真实值之间的误差还在10°以内。

2.3 改进后实验系统

考虑到原实验系统存在的一些不足,比如随着头部转动幅度的变大,Kinect对头部的估计误差会增大;头部转动后人眼到定点的距离也会发生微小变化,导致真实值不精确。改进后的实验系统如图3所示。其中,1代表头部支架;2代表Kinect;3代表显示屏。

Kinect与测试者的距离还是保持70 cm。实验者头部固定在支架上,保持头部不动,通过转动眼睛来注视屏幕上的点,这样Kinect对头部的估计和计算得到的真实值都会变得更精确。实验中通过变化屏幕与实验者的距离来改变真实值。收集、处理数据同原始实验系统。

改进后的实验只是改变了注视目标的方式。不再是通过转动头部,保持眼睛正视前方来检测视线,而是

图3 改进后实验系统

通过保持头部不动,转动眼睛来检测注视角度。这样就能避免一些误差。实验采集了10名测试者总共300组测量值和真实值数据,具体的误差的均值和标准差如表2所示。

与表1相比,表2中的数据更稳定,误差更小。当看向同一个方向,导致真实值和测量值误差不同的原因可能是人看事物的习惯。从表2可知,当实验者向左看,右眼比左眼转动的幅度大,导致右眼的测量值大于真实值。当看向右边时,同样也存在这个问题。

表2 改进后实验视角误差的均值(mean)和标准差(std)

然后,通过线性回归模型得到了四种不同情况下的校准函数。

ylelw(xi)=1.021 2xi+1.132 8

(11)

ylerw(xi)=0.849 3xi+0.877 6

(12)

yrelw(xi)=0.907 5xi+1.347 6

(13)

yrerw(xi)=0.973 9xi+1.870 7

(14)

与式(7)~(10)一样,通过得到测量值x,就能得到相应校准后的值y。改进实验后,得到的测量值更接近真实值,它们之间的误差基本可以控制在5°以内。

两个实验经过校准后具体误差的均值和标准差由表3所示。通过比较表1和表2中校准前数据可知,经过校准函数后,误差的均值明显减小,而且误差变得更稳定。由于改进后实验本来的误差就小,所以校准后的效果没有原实验那么明显,不过改进后的实验校准后误差波动更小。

表3 原始实验系统和改进后实验系统校准后

3 结束语

文中提出一种基于深度相机的水平视角估计及校准方法。首先采用图像的梯度法在2维图像中找到瞳孔中心点,并用Kinect估计头部姿势,然后把瞳孔坐标转换到Kinect3维坐标系中。结合预定义的眼球中心点经验值,通过简化的3D眼球模型,得到在Kinect坐标系中的水平视线角度。为了提高精度,设计了一套实验系统进行校准。实验中,通过实际定点的坐标得到真实值,通过文中算法直接得到测量值。然后建立线性回归模型,采用拟合函数校准得到测量视角。由最终得到的误差均值和标准差的数据说明,该方法适合所有人,并且能够方便有效地校准视线角度,鲁棒性好。

为了将这套视线检测系统应用于机器人控制上,使用了经验值眼球中心点,这样就能适用于所有人。当然对于瞳孔点定位的准确性和实时性还有待提高。

[1]MoraKAF,OdobezJM.Personindependent3dgazeestimationfromremotergb-dcameras[C]//20thIEEEinternationalconferenceonimageprocessing.Melbourne,Australia:IEEE,2013:2787-2791.

[2]TanKH,KriegmanDJ,AhujaN.Appearance-basedeyegazeestimation[C]//SixthIEEEworkshoponapplicationsofcomputervision.WashingtonDC,USA:IEEE,2002:191-195.

[3]LuF,SuganoY,OkabeT,etal.Inferringhumangazefromappearanceviaadaptivelinearregression[C]//IEEEinternationalconferencecomputervision.Barcelona,Spain:IEEE,2011:153-160.

[4]ChenJ,JiQ.3DgazeestimationwithasinglecamerawithoutIRillumination[C]//19thinternationalconferenceonpatternrecognition.Florida,USA:IEEE,2008:1-4.

[5]LiJ,LiS.Eye-model-basedgazeestimationbyrgb-dcamera[C]//IEEEconferenceoncomputervisionandpatternrecognitionworkshops.[s.l.]:IEEE,2014:606-610.

[6]HeinzmannJ,ZelinskyA.3-Dfacialposeandgazepointestimationusingarobustreal-timetrackingparadigm[C]//ThirdIEEEinternationalconferenceonautomaticfaceandgesturerecognition.Nara,Japan:IEEE,1998:142-147.

[7] 李 涛.基于视线角度的人眼视线检测研究[J].计算机技术与发展,2009,19(8):37-40.

[8]JafariR,ZiouD.GazeestimationusingKinect/PTZcamera[C]//IEEEinternationalsymposiumonroboticandsensorsenvironments.Magdeburg,Germany:IEEE,2012:13-18.

[9]MoraKAF,OdobezJM.GazeestimationfrommultimodalKinectdata[C]//IEEEcomputersocietyconferenceoncomputervisionandpatternrecognitionworkshops.RhodeIsland,USA:IEEE,2012:25-30.

[10]XiongX,CaiQ,LiuZ,etal.EyegazetrackingusinganRGBDcamera:acomparisonwithaRGBsolution[C]//Proceedingsofthe2014ACMinternationaljointconferenceonpervasiveandubiquitouscomputing.Seattle:ACM,2014:1113-1121.

[11]TimmF,BarthE.Accurateeyecentrelocalisationbymeansofgradients[C]//VISAPP.Algarve,Portugal:[s.n.],2011:125-130.

[12] 沈海平,冯华君,徐之海.基于瞳孔检测的注视点跟踪系统[J].光电子·激光,2005,16(8):961-964.

[13]GuestrinED,EizenmanM.Generaltheoryofremotegazeestimationusingthepupilcenterandcornealreflections[J].IEEETransactionsonBiomedicalEngineering,2006,53(6):1124-1133.

[14] 于 琼.视频图像序列内的视线跟踪研究[D].武汉:武汉理工大学,2011.

An Approach of Horizontal Gaze Angle Estimation and Calibration Using Depth Camera

NI Jian-fan,WANG Jian-ming,ZHOU Xiao-qin,LIU Xiao-feng

(Changzhou Key Laboratory of Robot and Intelligent Technology,College of IoT Engineering, Hohai University,Changzhou 213022,China)

An approach to estimate and calibrate the horizontal gaze angle using the Kinect depth camera is proposed.Fisrt of all,the Kinect is used to capture the face image and estimate the head pose,localizing the 2D pupil center by means of image gradient.Then the 3D pupil center is obtained by the intrinsic parameters of the Kinect.With the pupil center and an empirical eyeball center value,the horizontal gaze angle can be estimated conveniently.Unlike the previous methods which need to calibrate the eyeball center for every person,the method is based on the predefined empirical eyeball center,which the gaze estimation system is robust and convenient.In order to improve the accuracy of the gaze angle,an experimental system is built which can collect the gaze angle and display the gaze target.The several participants’ data of measurement data and the ground truth are collected.A linear regression model is built from the errors between the ground truth and the measured data,and used to correct the accuracy of the estimated gaze direction.The experiment shows that the approach can fast and accurately estimate the gaze angle.

calibration approach;horizontal gaze angle estimation;the Kinect depth camera;linear regression model;fitting function

2016-03-10

2016-06-14

时间:2017-01-04

中央高校基本科研业务费专项资金(2015B38214);常州市特种机器人与智能技术重点实验室开放基金项目(CZSR2014003)

倪剑帆(1991-),男,硕士研究生,研究方向为人机交互、视线检测;刘小峰,教授,研究方向为人机交互、智能传感与计算。

http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1028.050.html

TP391.4

A

1673-629X(2017)01-0039-05

10.3969/j.issn.1673-629X.2017.01.009

猜你喜欢

中心点瞳孔视线
要去就去视线尽头的山
那座山
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
瞳孔
寻找视觉中心点
当代视线
瞳孔大,决策力差
视线