張文霞 王旭
長春汽車工業(yè)高等??茖W(xué)校 吉林省長春市 130000
駕駛?cè)说娜藶橐蛩厥窃斐山煌ㄊ鹿拾l(fā)生的重要因素之一。相關(guān)的安全輔助駕駛技術(shù)應(yīng)用于輔助駕駛系統(tǒng),可以為減少車輛因駕駛的認(rèn)為因素造成的交通事故提供技術(shù)支持。本文提出了一種頭部姿態(tài)估計(jì)的方法。
先利用AdaBoost分類器檢測(cè)出人臉的面部特征(如鼻尖、嘴和眼睛),最后再根據(jù)得到的特征點(diǎn)的位置及位置關(guān)系進(jìn)行人臉姿態(tài)估計(jì)。本文使用的圖像序列的背景是駕駛室內(nèi)的特定環(huán)境,拍攝過程中攝像頭安裝在方向盤的下方,因此,圖像序列中的鼻孔、人嘴信息比較明顯,而且不容易受表情等因素的影響。此外,眼睛也是人臉圖像上比較明顯且穩(wěn)定的特征,所以選取兩眼睛的中心點(diǎn)、兩鼻孔中心點(diǎn)和人嘴中心點(diǎn)作為特征點(diǎn),使用這四個(gè)特征點(diǎn)構(gòu)建為特征三角形進(jìn)行頭部姿態(tài)估計(jì)。
特征點(diǎn)定位的主要思路是:首先,將人臉上半部分設(shè)為感興趣區(qū)域;再對(duì)感興趣區(qū)域進(jìn)行灰度化、自適應(yīng)閾值分割(二值化)和利用數(shù)學(xué)形態(tài)學(xué)進(jìn)行去噪處理;然后再使用輪廓跟蹤算法求出二值圖的輪廓;一般情況下,二值化后的圖像上就只剩下眼睛和眉毛的孔、洞,這樣就可以根據(jù)一定的規(guī)則夠判出眼睛中心的位置;再使用同樣的方法確定鼻孔和人嘴所在的大致區(qū)域,利用一定規(guī)則確定鼻孔和人嘴的中心的具體位置。
人眼定位的主要思路是:首先,對(duì)人眼感興趣區(qū)域(ROI,Region Of Interest)進(jìn)二值化,并利用形態(tài)學(xué)進(jìn)行去噪處理;然后求得二值圖的眉毛和眼睛孔的輪廓;最后根據(jù)一定的規(guī)則,就能夠確定眼睛中心的位置。
由人臉分類器可以得到人臉區(qū)域,并框出人臉區(qū)域。再根據(jù)人臉長與臉寬標(biāo)準(zhǔn)比例“三庭五眼”[1],確定出針對(duì)人眼檢測(cè)與定位的感興趣區(qū)域ROI。
設(shè)駕駛?cè)巳四樉匦螀^(qū)域的寬度為w,高度為h,由于眼睛處于人臉矩形區(qū)域的中間1/3h處,又考慮到額頭有頭發(fā)等遮擋物以及光照、頭部姿態(tài)等因素的影響,實(shí)際得到的人臉矩形區(qū)域的高度h可能小于人臉的真實(shí)的高度(人臉的長度),所以本文將感興趣區(qū)域ROI的高度設(shè)為h/2,寬度設(shè)為w。針對(duì)駕駛?cè)巳搜鄹信d趣區(qū)域如圖1所示。
本文使用的是基于最大類間方差(Otsu)法進(jìn)行閾值選取的。其基本原理[2]是:設(shè)圖像像素點(diǎn)數(shù)為N,灰度變化范圍為[0,L-1],
圖1 駕駛?cè)巳搜鄹信d趣區(qū)域
類間方差為:
利用中值濾波和形態(tài)學(xué)處理對(duì)二值化的圖像去噪,再利用輪廓跟蹤法得到圖像上的孔、洞的輪廓,對(duì)于得到的輪廓獲得其外界矩形,從而得到每個(gè)區(qū)域的中心點(diǎn)、高和寬。面積最大的區(qū)域即為人臉上半部區(qū)域,對(duì)人臉區(qū)域內(nèi)的孔,洞所在位置進(jìn)行分析,實(shí)驗(yàn)結(jié)果如下圖3。
經(jīng)過分析可知當(dāng)人臉區(qū)域內(nèi)的孔、洞滿足以下條件時(shí),將其視為候選眼:
(1)人臉區(qū)域內(nèi)孔、洞中心中心點(diǎn)X坐標(biāo)值與人臉寬度之比范圍為[0.2,0.5]和[0.6,0.9];
圖2 Otsu法二值圖像
圖3 人臉區(qū)域內(nèi)孔、洞的中心點(diǎn)X、Y坐標(biāo)值與人臉的寬度之比
(2)人臉區(qū)域內(nèi)孔、洞中心中心點(diǎn)Y坐標(biāo)值與人臉上半部分的高度之比范圍為[0.4,0.9];
(3)人臉區(qū)域內(nèi)孔、洞的面積與人臉上半部分面積之比范圍為[0.02,0.08]。
經(jīng)過上面三個(gè)的條件篩選,候選眼的為眼睛和眉毛,按照中心點(diǎn)X值的位置將候選眼分成兩組。X坐標(biāo)與人臉寬度的比值位于0.2和0.4之間的候選眼為一組,即為右眼候選眼,比值位于0.6和0.9之間的為另一組,即為左眼候選眼。
在實(shí)際的實(shí)驗(yàn)中發(fā)現(xiàn),由于頭發(fā)的遮擋、噪聲、眨眼和頭部旋轉(zhuǎn)角度較大等情況的存在,候選眼的孔、洞可能會(huì)出現(xiàn)下列幾種情況,對(duì)于不同情況采取相應(yīng)的處理方法,以便準(zhǔn)確的獲取眼睛中心位置:
(1)如果兩組都有2個(gè)候選點(diǎn),則分別選擇Y值大的一對(duì)做為眼睛對(duì)。(2)如果兩組中有一組為2個(gè)候選點(diǎn),而另一組有1個(gè)候選,則分別計(jì)算出一組候選點(diǎn)與二組候選點(diǎn)連線的斜率k1,k2,將絕對(duì)值小的斜率的候選點(diǎn)看成為一對(duì);根據(jù)兩個(gè)眉毛中心連線和兩個(gè)眼睛中心連線是平行的,所以二者連線斜率相等,所以可以把另外1個(gè)候選點(diǎn)(眉毛或眼睛)計(jì)算出來,最后選擇Y值大的一對(duì)做為眼睛對(duì)。(3)如果兩組中都只有1個(gè)候選點(diǎn),求得兩點(diǎn)連線的斜率k,若k的絕對(duì)值足夠小,則兩點(diǎn)同是眼睛或同是眉毛,再分別與前一張對(duì)應(yīng)組中眼睛位置比較,小于一定值時(shí)認(rèn)為兩點(diǎn)是眼睛位置,否則,用前一張圖像眼睛的位置作為當(dāng)圖像眼睛位置。(4)如果只有一組數(shù)據(jù)且有2個(gè)候選點(diǎn),則用前一張圖像眼睛位置當(dāng)作當(dāng)前圖像眼睛位置。
將人臉檢測(cè)得到的矩形區(qū)域設(shè)置為鼻孔與嘴檢測(cè)的感興趣區(qū)域。人臉感興趣區(qū)域的處理和2.1節(jié)的一樣,都樣經(jīng)過圖像灰度化、二值化、去噪,然后再由輪廓跟蹤法得到感興趣區(qū)域內(nèi)孔、洞的輪廓,從而得到每個(gè)區(qū)域的中心點(diǎn)、高和寬。面積最大的區(qū)域即為人臉上區(qū)域,對(duì)人臉區(qū)域內(nèi)的下半部分的孔,洞進(jìn)行分析,實(shí)驗(yàn)結(jié)果如圖4。
經(jīng)過分析可知,鼻孔和嘴滿足以下條件:
(1)人臉下半部分區(qū)域內(nèi)孔、洞中心點(diǎn)X坐標(biāo)值與人臉寬度之比在[0.3,0.7]范圍內(nèi)的為候選鼻孔與嘴。(2)人臉下半部分區(qū)域內(nèi)孔、洞中心點(diǎn)Y坐標(biāo)值與人臉高度之比在[0.5,0.7]范圍內(nèi)的為候選鼻孔,在[0.75,0.95]范圍內(nèi)的為候選嘴。
經(jīng)過條件一的篩選可以得到候選鼻孔,候選鼻孔可能會(huì)出現(xiàn)下列幾種情況,對(duì)于不同情況采取相應(yīng)的處理方法,以便準(zhǔn)確的獲取鼻孔中心位置:
圖4 人臉下半部分區(qū)域內(nèi)孔、洞中心點(diǎn)X、Y坐標(biāo)值與人臉寬度之比
(1)當(dāng)候選點(diǎn)數(shù)目為1時(shí),此時(shí)兩鼻孔已經(jīng)連在一起,則去此候選點(diǎn)為鼻孔中心點(diǎn)。(2)當(dāng)候選點(diǎn)數(shù)目為2時(shí),候選點(diǎn)即為兩鼻孔。(3)當(dāng)候選點(diǎn)數(shù)目大于2時(shí),找出面積差最小的兩個(gè)候選點(diǎn)為鼻孔。
經(jīng)過條件二的篩選可以得到候選嘴,由于嘴的面積最大,所以擁有最大面積的候選最即為人嘴區(qū)域。
建立的人眼、人嘴和人眼和鼻孔特征三角形,如圖5所示。
特征三角形中的A、B、C、D分別表示人的右眼、左眼、鼻孔、人嘴中心點(diǎn),坐標(biāo)分別設(shè)為(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)。當(dāng)頭部未轉(zhuǎn)動(dòng)正對(duì)攝像頭時(shí),特征三角形△ABC和△ABD是等腰三角形。人臉特征三角形△ABC邊長AB上的高為:
特征三角形△ABD邊長AB上的高為:
建立頭部繞Y軸旋轉(zhuǎn)α角度后特征點(diǎn)的位置變化模型,設(shè)人臉繞Y軸逆時(shí)針旋轉(zhuǎn)為負(fù)方向,順時(shí)針旋轉(zhuǎn)為正方向,左眼中心點(diǎn)A、右眼中心點(diǎn)B、鼻孔中心點(diǎn)C、人嘴中心點(diǎn)D在繞Y軸的轉(zhuǎn)角α角度后點(diǎn)坐標(biāo)變?yōu)镽A、RB、RC、RD位置,在X-Z平面中如圖6,紅色點(diǎn)代表旋轉(zhuǎn)α角度后兩眼位置,黑色點(diǎn)代表旋轉(zhuǎn)前兩眼睛的位置,角α計(jì)算公式為:
式中,ab為頭部未轉(zhuǎn)動(dòng)時(shí)的兩眼中心連線長,ab′為頭部轉(zhuǎn)動(dòng)后在X-Y平面上的投影長度,ab′可由實(shí)際人臉圖像中A,B兩點(diǎn)間的距離求得。
根據(jù)三庭五眼的原理:
可推得:
建立基于眼、嘴特征三角形頭部繞X軸旋轉(zhuǎn)β角度后特征點(diǎn)的位置變化模型,設(shè)人臉繞X軸逆時(shí)針旋轉(zhuǎn)為正方向,順時(shí)針旋轉(zhuǎn)為負(fù)方向。轉(zhuǎn)角β,表示了人頭部的仰俯程度。如圖7(b)所示,是繞X軸的轉(zhuǎn)角β的人頭姿態(tài)示意圖。
圖5 特征三角形示意圖
人眼中心點(diǎn)連線AB上的高為OD,圖7(a)和(b)分別表示在Y-Z平面上頭部未繞X軸旋轉(zhuǎn)OD的位置和頭部繞X軸旋轉(zhuǎn)β角度后OD的位置,黑色點(diǎn)代表旋轉(zhuǎn)前兩眼睛連線上的垂足和人嘴中心,紅色點(diǎn)代表旋轉(zhuǎn)β角度后兩眼睛連線上的垂足和人嘴中心,角β計(jì)算公式為:
其中,h表示旋轉(zhuǎn)前人眼中心點(diǎn)連線AB上的高為OD的長度,h′表示旋轉(zhuǎn)β角度后OD在X-Y平面上的投影,h′可由公式 得到。
根據(jù)三庭五眼理論,鼻底至嘴中心是臉長的1/6,從眉骨至眼睛中心是臉長的1/10,因此:
推得:
基于眼、鼻特征三角形的頭部繞X軸旋轉(zhuǎn)β角度后特征點(diǎn)的位置變化模型和基于眼、嘴的模型一樣,只是在計(jì)算β角的公式有一些差異,其中:
推得:
在實(shí)際的姿態(tài)估計(jì)中可能由于一些客觀因素影響無法正確的找到鼻孔或嘴的位置,這樣影響了姿態(tài)估計(jì)的準(zhǔn)確率,如果將兩種模型結(jié)合起來,可以提高了準(zhǔn)確率。
對(duì)α、β角估計(jì)的分析結(jié)果見表1,頭部繞Y軸方向的旋轉(zhuǎn)角度與實(shí)際標(biāo)記角度之間的平均誤差為3.8578°,均方差為4.9878°,即誤差波動(dòng)在5°左右,比較低?;谘郾翘卣魅切蔚念^部繞X軸方向旋轉(zhuǎn)角度估計(jì)值與實(shí)際標(biāo)記角度之間的平均誤差為3.4498°,均方差為2.9044°,即誤差波動(dòng)在3°左右,比較低,這證明本文所提出估算α、β角度的方法準(zhǔn)確性較高、穩(wěn)定性較好。基于眼嘴特征三角形的估計(jì)結(jié)果基本與基于眼鼻特征三角形相同??梢?,在進(jìn)行頭部姿態(tài)判別時(shí)可將基于眼嘴特征三角形與基于眼鼻特征三角形的估計(jì)方法聯(lián)合使用,當(dāng)鼻孔或人嘴無法定位時(shí),就采用可以定位的人嘴或鼻孔構(gòu)建特征三角形,這樣能提高β角估計(jì)的準(zhǔn)確性和估計(jì)值得可用性。
圖6 人臉繞Y軸旋轉(zhuǎn)在X-Z平面的示意圖示意圖
圖7 人臉繞X軸旋轉(zhuǎn)在Y-Z平面的示意圖示意圖
表1 頭部姿態(tài)模型對(duì)α、β角驗(yàn)證實(shí)驗(yàn)結(jié)果
本文提出了一種基于人臉特征三角形的駕駛?cè)祟^部姿態(tài)估計(jì)方法。首先基于Adaboost算法的人臉分類器,進(jìn)行人臉檢測(cè)確定人臉區(qū)域;然后根據(jù)各器官(眼睛、鼻子、人嘴)的幾何關(guān)系進(jìn)行特征點(diǎn)的精確定位,提取出眼睛、鼻孔和人嘴的中心點(diǎn)坐標(biāo);由特征點(diǎn)構(gòu)建特征三角形,推導(dǎo)出頭部姿態(tài)計(jì)算公式,根據(jù)特征三角形與頭部姿態(tài)的映射關(guān)系進(jìn)行姿態(tài)參數(shù)估計(jì)。通過大量實(shí)驗(yàn)對(duì)姿態(tài)估計(jì)結(jié)果進(jìn)行了分析,結(jié)果表明提出的人臉特征點(diǎn)定位及頭部姿態(tài)估計(jì)方法的有效性、精確性。這都為以后的駕駛?cè)祟^部姿態(tài)估計(jì)研究奠定了基礎(chǔ)。