倪劍帆,汪建明,周小芹,劉小峰
(河海大學 物聯(lián)網(wǎng)工程學院 常州市特種機器人與智能技術重點實驗室,江蘇 常州 213022)
基于深度相機的水平視角估計及校準方法
倪劍帆,汪建明,周小芹,劉小峰
(河海大學 物聯(lián)網(wǎng)工程學院 常州市特種機器人與智能技術重點實驗室,江蘇 常州 213022)
提出一種基于Kinect深度相機水平視角估計及校準方法。用Kinect捕捉人的臉部和估計頭部姿勢,采用基于圖像梯度信息的方法從2維臉部圖像定位瞳孔中心點,利用Kinect固有參數(shù),得到三維坐標系中的瞳孔中心點。結合預設眼球中心點,可以很方便、穩(wěn)定地估算出水平視角。該方法采用預定義的眼球中心點經(jīng)驗值,無需單獨校準每個人的眼球中心點,提高了該視線檢測系統(tǒng)的普遍適用性。為了提高視線角度的精確性,設計了一套能夠呈現(xiàn)注視目標并可采集注視角度的實驗系統(tǒng)。應用該實驗系統(tǒng)采集數(shù)名實驗者視角估計值和真實數(shù)據(jù),然后建立線性回歸模型。通過擬合函數(shù)校準估計的視角,進一步提高了視角精度。實驗結果表明,對于不同的人,該方法都能快速而準確地估計出視角。
校準方法;水平視線角度估計;Kinect深度相機;線性回歸模型;擬合函數(shù)
眼神交流在日常生活中有著重要的作用。相應的視線檢測就成為了一個熱門的研究課題,它在人機交互、殘疾人交流、安全監(jiān)控和疲勞駕駛中都有著廣泛的應用。
通常眼睛視線檢測的方法有兩類:基于外表的方法和基于特征/模型的方法。前者[1-3]是通過高維的眼部圖像直接映射到低維空間的視線坐標上。文獻[2]保留了高維向量中更有代表性的特征。文獻[3]提出了一種線性回歸方法,在低維空間中實現(xiàn)精確的視線估計,但是這種方式容易受到光線等的干擾。后者一般是根據(jù)頭部和眼部的特征來建立3D模型。文獻[4-5]通過建立3D眼睛模型來檢測視線,通過眼睛模型得到眼部特征點,然后通過獲得眼球中心點和瞳孔中心點的3維坐標來得到視線角度。文獻[6]用3D模型估計頭部姿勢和視線的方向向量,這種基于模型的方法較簡單且魯棒性較好,但是其結果的好壞取決于頭部估計和瞳孔追蹤的精確性,而文獻中也沒有相應的校準方法。
早期的視線檢測技術基本都采用普通攝像頭采集數(shù)據(jù)[7],對于視線的估計都是在2維空間,一般只能檢測視線方向而無法得到具體的視線角度。近年,微軟開發(fā)的Kinect傳感器被廣泛用于視線檢測,它不需要額外的硬件設備,并且在檢測視線時頭部可以自由轉動。文獻[1,5,8-9]均使用Kinect直接得到視線目標位置,從而得到真實值。由于Kinect本身對物體位置的估計不夠精確,該方法會對結果產(chǎn)生一定的誤差。文獻[5,10]通過已知坐標點的目標物來校準眼球中心點。雖然該方法得到的結果較為準確,但是需要對每個人的眼球中心點進行單獨校準。
文中提出一種基于Kinect的水平視角估計及校準方案。通過Kinect捕捉臉部圖像,并估計頭部姿勢。通過文獻[5]中提出的簡化3D眼睛模型建立眼部特征點間關系。采用基于梯度信息的瞳孔中心定位算法[11]檢測瞳孔。為了避免對每個人都進行眼球中心點校準,采用了眼球中心點經(jīng)驗值。眼睛的視線角度可通過Kinect坐標系中的眼球中心點和瞳孔中心點得到。為了提高視線角度的精度,設計了一套實驗系統(tǒng)校準視線估計誤差,它能夠采集實驗者視角的測量值和真實值數(shù)據(jù)。在實驗中,采用Kinect獲得視角測量值,通過定點的實際坐標得到真實值。鑒于實驗中存在的一些不足,改進了原先的實驗系統(tǒng)。通過得到的數(shù)據(jù)建立線性回歸模型,進一步提高了視角精度,而且該方法適用性好,操作簡便,精度高。
文中采用Kinect傳感器估計頭部姿勢,并采用基于圖像梯度信息的瞳孔中心定位方法[11]和簡化的3D眼球模型[5]檢測視線角度。
1.1 瞳孔中心定位
不同于文獻[12]中需佩戴一套設備來檢測瞳孔位置,文中使用文獻[11]中基于梯度信息的2維瞳孔定位方法,避免了檢測設備和人皮膚的直接接觸,使得測試者可以自由靈活地轉動頭部。通過單位化的位移向量和梯度向量的數(shù)量積得到瞳孔中心。具體的最優(yōu)化瞳孔中心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相機的內(nèi)部參數(shù)。
1.2 眼部視線估計
文獻[14]中用頭部幾何模型和估計算法對頭部姿勢進行估計,而文中Kinect可以直接估計人頭部的偏轉姿勢而不需要其他輔助設備,它能得到頭部的位移矩陣T和旋轉矩陣R。把頭部坐標系中的眼球中心點Chead轉換為Kinect坐標系中的C。
C=R*Chead+T
(3)
(4)
α=arctan(xcm/zcm)
(5)
其中,M為視線目標。
最終得到水平視線角度α(測量值)。對于垂直視線角度,文中不進行討論。
為了提高視角精度,提出一種通過實驗對視角進行校準的方法。在實驗中由上述算法直接得到測量值,通過實際固定點的坐標得到真實值。實驗系統(tǒng)通過采集幾名視力正常測試者的測量值和真實值,建立線性回歸模型,得到不同情況下的測量值和真實值的擬合曲線,以校準視角。鑒于實驗系統(tǒng)存在的一些不足,對原始的實驗系統(tǒng)進行改進。
2.1 原始實驗系統(tǒng)
如圖1所示,在黑板上與人視線齊平的是一橫排視線點,與激光筆齊平的是一橫排激光點。實驗中,測試者和Kinect距離約為70 cm,確保能捕捉到頭部圖像。測試者需要后背貼墻坐直,視線平視正前方,將黑板上看到的首個點標記為0點,也稱為固定點。然后分別在它的水平左右兩邊取若干點,通過保持眼睛直視前方的情況下分別向左右轉動頭部,使得視線恰好到所標點處,在轉動過程中保持頭部中心點到黑板的距離不變。為了便于視線恰好到達所標點處,采用激光筆校準頭部偏轉,將激光筆固定在實驗者戴的帽子上,使激光筆在頭部正中心,且與實驗者的視線保持水平。
圖1 原始實驗系統(tǒng)
實驗中的真實值φ可通過式(6)得到。
(6)
其中,dist(0P)是眼睛到黑板的距離;dist(0i)是0點到i點的距離。
通過移動黑板到實驗者的距離來改變真實值φ的數(shù)值,該方法比直接采用Kinect得到目標的真實值更準確。測量值α可以通過算法直接獲得。通過9位視力正常測試者的780組實驗數(shù)據(jù)對該方法進行結果分析,實驗時對每個人都要調(diào)整視線點和激光點的位置以及Kinect的高度。其中,真實值φ和測量值α誤差的均值和標準差如表1所示。
表1為9位測試者真實值和測量值誤差的均值和標準差,從中可看出每個人之間的均值和標準差沒有明顯的區(qū)別。當左眼向左看時,測量值基本比真實值大;當右眼向右看時,測量值基本比真實值?。划斪笱巯蛴铱春陀已巯蜃罂磿r,真實值和測量值誤差要小于另外兩種情況,但是它們誤差的穩(wěn)定性和其他兩種情況下相差不多,甚至比其他兩種情況的波動還要大一些。
從國際大石油公司近期經(jīng)營策略的“五個轉變”可以看出,這些公司對內(nèi)外部形勢變化的反應比較及時,發(fā)展戰(zhàn)略和實施對策調(diào)整較為迅速。這對中國的石油公司具有借鑒意義,同時中國的石油公司也應依據(jù)各自的特點和優(yōu)勢,制定和調(diào)整未來發(fā)展策略。
表1 原實驗視角誤差的均值(mean)和標準差(std)
2.2 線性回歸模型
線性回歸模型是一種用數(shù)理統(tǒng)計中的回歸分析來確定兩個或多個變量間的定量關系的統(tǒng)計分析方法,它能夠通過現(xiàn)有變量之間的關系得到它們之間的預測模型。文中采用最小二乘法擬合曲線,考察9個人的數(shù)據(jù)在不同情況下誤差和測量值的關系,如圖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表示測量值。
然后根據(jù)得到的校準后角度和真實值的誤差再次進行比較,可得經(jīng)過校準后誤差比之前更穩(wěn)定,不過測量值與真實值之間的誤差還在10°以內(nèi)。
2.3 改進后實驗系統(tǒng)
考慮到原實驗系統(tǒng)存在的一些不足,比如隨著頭部轉動幅度的變大,Kinect對頭部的估計誤差會增大;頭部轉動后人眼到定點的距離也會發(fā)生微小變化,導致真實值不精確。改進后的實驗系統(tǒng)如圖3所示。其中,1代表頭部支架;2代表Kinect;3代表顯示屏。
Kinect與測試者的距離還是保持70 cm。實驗者頭部固定在支架上,保持頭部不動,通過轉動眼睛來注視屏幕上的點,這樣Kinect對頭部的估計和計算得到的真實值都會變得更精確。實驗中通過變化屏幕與實驗者的距離來改變真實值。收集、處理數(shù)據(jù)同原始實驗系統(tǒng)。
改進后的實驗只是改變了注視目標的方式。不再是通過轉動頭部,保持眼睛正視前方來檢測視線,而是
圖3 改進后實驗系統(tǒng)
通過保持頭部不動,轉動眼睛來檢測注視角度。這樣就能避免一些誤差。實驗采集了10名測試者總共300組測量值和真實值數(shù)據(jù),具體的誤差的均值和標準差如表2所示。
與表1相比,表2中的數(shù)據(jù)更穩(wěn)定,誤差更小。當看向同一個方向,導致真實值和測量值誤差不同的原因可能是人看事物的習慣。從表2可知,當實驗者向左看,右眼比左眼轉動的幅度大,導致右眼的測量值大于真實值。當看向右邊時,同樣也存在這個問題。
表2 改進后實驗視角誤差的均值(mean)和標準差(std)
然后,通過線性回歸模型得到了四種不同情況下的校準函數(shù)。
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°以內(nèi)。
兩個實驗經(jīng)過校準后具體誤差的均值和標準差由表3所示。通過比較表1和表2中校準前數(shù)據(jù)可知,經(jīng)過校準函數(shù)后,誤差的均值明顯減小,而且誤差變得更穩(wěn)定。由于改進后實驗本來的誤差就小,所以校準后的效果沒有原實驗那么明顯,不過改進后的實驗校準后誤差波動更小。
表3 原始實驗系統(tǒng)和改進后實驗系統(tǒng)校準后
文中提出一種基于深度相機的水平視角估計及校準方法。首先采用圖像的梯度法在2維圖像中找到瞳孔中心點,并用Kinect估計頭部姿勢,然后把瞳孔坐標轉換到Kinect3維坐標系中。結合預定義的眼球中心點經(jīng)驗值,通過簡化的3D眼球模型,得到在Kinect坐標系中的水平視線角度。為了提高精度,設計了一套實驗系統(tǒng)進行校準。實驗中,通過實際定點的坐標得到真實值,通過文中算法直接得到測量值。然后建立線性回歸模型,采用擬合函數(shù)校準得到測量視角。由最終得到的誤差均值和標準差的數(shù)據(jù)說明,該方法適合所有人,并且能夠方便有效地校準視線角度,魯棒性好。
為了將這套視線檢測系統(tǒng)應用于機器人控制上,使用了經(jīng)驗值眼球中心點,這樣就能適用于所有人。當然對于瞳孔點定位的準確性和實時性還有待提高。
[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].計算機技術與發(fā)展,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] 沈海平,馮華君,徐之海.基于瞳孔檢測的注視點跟蹤系統(tǒng)[J].光電子·激光,2005,16(8):961-964.
[13]GuestrinED,EizenmanM.Generaltheoryofremotegazeestimationusingthepupilcenterandcornealreflections[J].IEEETransactionsonBiomedicalEngineering,2006,53(6):1124-1133.
[14] 于 瓊.視頻圖像序列內(nèi)的視線跟蹤研究[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
中央高?;究蒲袠I(yè)務費專項資金(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