于學峰, 沈海斌
(浙江大學 超大規(guī)模集成電路設(shè)計研究所,浙江 杭州 310027)
頭部姿態(tài)估計[1]是計算機視覺中一個比較熱門的研究方向,其廣泛應(yīng)用于人機交互、疲勞駕駛檢測、視線注意力輔助判斷等場景。準確性、實時性、易用性等都是評價頭部姿態(tài)估計方法的指標,目前很多研究工作以此為中心開展。文獻[2]利用激光掃描儀獲得精確的頭部三維模型,進而利用仿射關(guān)系對人臉進行姿態(tài)跟蹤,這種方法解決了模型的描述問題,但依賴專業(yè)設(shè)備,可用性不強;文獻[3]對上述情況進行了改進,使用通用的人臉三維模型,結(jié)合Viola-Jones人臉檢測算法[4]和主動表觀模型去檢測和跟蹤頭部姿態(tài),但其運算仍較為復(fù)雜,精度取決于圖像特征點定位的準確性;為了提高處理性能,文獻[5]通過比較幀間對應(yīng)點特征向量相似度來判別剔除不準確的特征點,以減少誤差引入,雖然精度有所提高,但實時性仍顯得不足。
為了進一步利用幀間信息來提高處理性能,本文提出了一種幀間信息導(dǎo)向的頭部姿態(tài)估計優(yōu)化方法,引入前的人臉框位置信息來約束搜索范圍,在識別率較高的情況下大幅提升了實時性。而在求解參數(shù)時,本文根據(jù)前幀的姿態(tài)角是否超過設(shè)置的閾值,預(yù)剔除一些壞點來提高準確性,同時將前幀求解得到的最優(yōu)參數(shù)矩陣作為當前幀非線性迭代估計的初值矩陣,省去了直接線性變換(direct linear transformation,DLT)和奇異值分解(singular value decomposition,SVD)步驟,加快了求解的過程。
本文使用了基于模型的頭部姿態(tài)估計方法,其過程包括人臉檢測、人臉對齊以及轉(zhuǎn)動估計,如圖1所示。
圖1 幀間信息導(dǎo)向的頭部姿態(tài)估計優(yōu)化方法
人臉檢測從圖像中提取出有效的人臉位置,其速度和準確性為整個方法奠定了基礎(chǔ)。考慮到應(yīng)用場景,要求人臉檢測算法對頭部姿態(tài)轉(zhuǎn)動有一定的魯棒性,在保證準確率的前提下盡可能提高實時性。
人臉對齊是在人臉檢測提取出的人臉上標記人臉特征點。通過人臉對齊可以獲得人臉特征點的二維圖像坐標,其坐標的準確性會影響到后續(xù)的轉(zhuǎn)動估計。
轉(zhuǎn)動估計借助針孔透視成像的原理,根據(jù)人臉對齊得到的二維圖像坐標與頭部三維坐標信息建立矩陣方程,經(jīng)過運算最終得到頭部姿態(tài)角。
基于梯度方向直方圖(histogram of gradient,HOG)的人臉檢測算法[6]對于光照和幾何旋轉(zhuǎn)的魯棒性較強,而Viola-Jones算法對于多姿態(tài)的檢測效果不佳[7],本文選擇了基于HOG特征的人臉檢測算法。一般的方法是對整幅圖像進行HOG特征的運算并搜索人臉,實時性很差,本文基于幀間信息提出了改進的人臉搜索策略,如圖2所示。通過引入前幀的人臉框位置對人臉檢測進行實時性上的優(yōu)化??紤]到頭部姿態(tài)運動的無規(guī)則性以及在前后幀位移不會過大的特點,本文以前幀人臉框為中心進行適度擴大生成候選框,作為當前幀優(yōu)先搜索人臉的范圍。在視頻序列的前幀已經(jīng)準確定位人臉的情況下,可以參照前幀去除大部分的非人臉區(qū)域,在前幀未檢測出人臉的情況下才會對整幅圖像進行搜索。由于基于HOG特征的人臉檢測算法識別率很高,所以,很少需要對整幅圖像進行搜索,大幅減少了搜素時間,達到了在視頻序列中實時檢測的目的。本文首先通過前幀的信息對人臉大致定位,減少搜索時間,再利用HOG檢測算法進行二次精確定位,從而保障了實時性和準確性。
圖2 結(jié)合候選框的人臉搜索策略
本文使用了基于級聯(lián)回歸樹的人臉對齊算法[8],其準確性和實時性均優(yōu)于文獻[4]所使用的方法。該算法類似于串行結(jié)構(gòu)的隨機森林,根據(jù)初始的人臉形狀上的像素點灰度值與已經(jīng)訓(xùn)練好的級聯(lián)回歸樹葉子結(jié)點中的殘差,逐步回歸到真實的人臉形狀,最終收斂得到人臉上的68個特征點。用于轉(zhuǎn)動估計的特征點越多,估計的姿態(tài)角越精確,但同時也會加重運算負擔[9]??紤]到68個特征點定位的穩(wěn)定性有差異,以及人臉特征點需要與三維頭部模型相對應(yīng),本文預(yù)選取了14個穩(wěn)定的特征點。本文使用的通用頭部三維模型來自科英布拉大學系統(tǒng)與機器人研究所,如圖3。
圖3 特征點的選取
根據(jù)針孔透視成像模型,可以得到
sm′=A[R|t]M′
(1)
(2)
式中s為尺度因子,m′為圖像點的齊次坐標,A為相機內(nèi)參數(shù),R為旋轉(zhuǎn)矩陣,通過轉(zhuǎn)換可得到頭部姿態(tài)的3個歐拉角,t為平移向量,M′為空間點在世界坐標系中的齊次坐標。已知n組對應(yīng)點時,可通過DLT和SVD運算得到[R|t]。
為減少噪聲干擾,得到最優(yōu)解,使用非線性迭代算法對上述得到的矩陣進一步優(yōu)化,其目標代價函數(shù)為
(3)
當n組三維坐標點的反投影點與對應(yīng)的二維圖像坐標點距離的平方和達到最小時,認為此時的[R|t]為最優(yōu)參數(shù)矩陣[10]。
2.3.1 基于前幀姿態(tài)角的特征點篩選
盡管非線性迭代算法能在一定程度上減小噪聲誤差,但特征點漂移過大顯然會影響求解的準確性。在多數(shù)情況下,人臉對齊能獲得較為準確的特征點位置,但在頭部姿態(tài)偏轉(zhuǎn)較大時,一些特征點會發(fā)生漂移,需要剔除,如圖4。
圖4 特征點漂移
故本文提出了引入前幀的姿態(tài)角信息篩選特征點的方法。正常姿態(tài)下特征點的定位較為準確,14組點對能保證迭代算法得到較為準確的數(shù)值解,而在姿態(tài)角左右偏轉(zhuǎn)超過閾值時,14組點對中部分的點(圖3中的1,5,6或者4,7,8)出現(xiàn)漂移的可能性增大,如果全部用于估計反而容易引起誤差偏大,所以,預(yù)先對壞點進行剔除,再估計當前幀的姿態(tài)角可以減小誤差。
2.3.2 引入前幀參數(shù)矩陣的非線性迭代優(yōu)化
本文同時將前幀求解得到的最優(yōu)參數(shù)矩陣作為當前幀的初值矩陣,直接用依據(jù)式(3)的代價函數(shù)進行非線性迭代,省去了DLT和SVD的步驟,本文使用了列文伯格—馬夸爾特(Levenberg-Marquardt,LM)經(jīng)典迭代算法[11],可變的阻尼系數(shù)使其在遠離目標點時具備最速下降法緩慢而可收斂的特性,而在接近目標點時可以像高斯牛頓法一樣快速收斂。由于前幀的最優(yōu)參數(shù)矩陣一般很接近當前幀的最優(yōu)值,避免了迭代算法初始階段緩慢尋優(yōu)的過程,在保證求解參數(shù)準確的同時對實時性有一定的提升。
本文隨機選取了EyeDiap數(shù)據(jù)庫中的10段分辨率為640×480時長2.5 min的不同人物頭部姿態(tài)運動的視頻進行實驗。EyeDiap數(shù)據(jù)庫是IDIAP研究院用于測試視線和頭部姿態(tài)的數(shù)據(jù)集,其中有已經(jīng)標定好的相機內(nèi)參數(shù)以及可供參考比對的頭部姿態(tài)數(shù)據(jù)。
本文算法與文獻[4,6]的識別速度和識別率對比為:8.94 s,94.18 %;16.16 s,89.23 %;72.42 s,93.84 %。
文獻[4]為Viola-Jones人臉檢測方法,文獻[6]為基于HOG特征的人臉檢測方法,本文方法在文獻[6]的基礎(chǔ)上預(yù)縮放尺度0.8倍,而后以前幀人臉框2倍大小生成當前幀的候選框,改進了人臉搜索策略。實驗表明,本文提出的方法可以明顯提高檢測速度并維持準確的識別率。
在轉(zhuǎn)動估計階段,本文引入前幀的姿態(tài)角對當前所用特征點進行篩選,優(yōu)化效果如表1所示,表中數(shù)據(jù)為整段視頻實測姿態(tài)角與真實值的平均絕對誤差。本文以文獻[1]建立頭部姿態(tài)坐標系,pitch為俯仰角,yaw為偏航角,roll為翻滾角。由于實際的應(yīng)用場合中,頭部的左右偏轉(zhuǎn)是相對重要的信息,故本文針對偏航角過大的情況設(shè)置閾值來剔除漂移的壞點,表中數(shù)據(jù)表明本文提出的方法能降低偏航角的誤差,三個姿態(tài)角的總體平均角度絕對誤差也有一定的減小。
本文通過引入前幀的參數(shù)矩陣直接作為LM迭代算法的初值,與文獻[10]依次使用DLT,SVD和LM求解的原始方法相比,求解的精度一致,而實時性能得到了優(yōu)化。本文的方法實時性(平均0.500 4 ms)相比文獻[10](平均0.404 4 ms)能有效減少約19.2 %的運算時間。
表1 特征點篩選前后的誤差
結(jié)合人臉檢測的平均時間8.94 ms和人臉對齊的平均時間3.54 ms,本文提出的幀間信息導(dǎo)向的頭部姿態(tài)估計優(yōu)化方法完成1次估計的平均時間為12.88 ms,幀率能達到77.6,顯著高于其他一般的方法[3,4],能滿足實時性要求較高的場合。
本文通過引入前幀的人臉框信息優(yōu)化搜索策略,大幅提高了人臉檢測的速度,而在轉(zhuǎn)動估計階段基于前幀姿態(tài)角信息剔除壞點,減小了特征點漂移引入的誤差,同時引入前幀最優(yōu)參數(shù)矩陣優(yōu)化了求解過程。實驗表明:本文提出的幀間信息導(dǎo)向的頭部姿態(tài)估計優(yōu)化方法能有效提高實時性和準確性。