西華師范大學電子信息工程學院 葛小鳳
駕駛環境下的人臉定位算法研究
西華師范大學電子信息工程學院葛小鳳
針對駕駛室背景、光照和多姿態條件下難以準確定位人臉問題,本文提出基于YCbCr和HSV色彩空間相結合的膚色檢測來實現人臉定位。利用拍攝視頻圖片進行實驗,結果表明該方法在駕駛環境下有較好的檢測效果。
人臉定位;膚色檢測;駕駛環境
隨著社會的快速發展,汽車已成為日常生活中的必不可少的交通工具,隨之而來的駕駛安全問題日益嚴峻。因此,如何采取及時有效的疲勞預警成為當前亟待解決的問題。
國內外許多專家學者投入到了疲勞預警系統的研究中,其中PERCLOS系統監測是最具研究意義的,它根據眼睛在單位時間的總閉合時間占整個檢測時間來判斷疲勞狀態[1]。而能否準確有效的檢測駕駛員狀態的前提是精確的人臉定位。
在對現有流行的人臉檢測方法進行分析比較的基礎上,提出了一種適合駕駛環境下實時、準確的基于膚色空間的人臉定位算法。
為得到最佳的實驗效果,首先進行預處理。
1.1尺寸歸一化
由于采集到的視頻圖像內存過大,不便系統的后續處理,所以指定將原圖像尺寸歸一化,輸出為64*64大小的圖片。
本文采用雙線性插值進行縮放,它是對最近鄰法的改進。根據(x,y)4個相鄰點的灰度,在x和y方向進行插值,得到雙曲拋物面方程[2]:

由此雙曲拋物面與四個相鄰已知點進行擬合運算。

圖1 雙線性插值示意圖
雙線性插值考慮了(x,y)點的直接零點對它的影響,所以能取得令人滿意的效果[2]。
1.2直方圖均衡化光照處理
在駕駛過程中,光照的改變是影響人臉定位的主要原因之一。因此,通過修改直方圖可以調整圖像的灰度分布,消除光照影響。
對于離散圖像,設總像素為N,灰度級L個,第k個灰度級值為rk,具有灰度級rk的像素數目為nk,那么,該圖像中灰度級rk的像素出現的概率[3]:

對圖像進行均衡化處理的變換函數為:

對YCbCr和HSV色彩空間進行膚色統計,建立高斯模型和膚色范圍模型,檢測皮膚。此方法可以有效避免背景的影響。
2.1高斯模型
研究表明,人類膚色變化主要是由皮膚顏色亮度引起,而人臉膚色在YCbCr色度空間服從高斯分布,所以YCbCr 顏色空間是離散的膚色表示空間,具有較好的聚類性[4]。
一般,我們都是將圖像信息儲存在RGB顏色空間中,RGB轉換成YCbCr 顏色空間的公式為:

將圖片從RGB轉換到YCrCb空間,根據像素點離高斯分布中心的遠近得到膚色似然圖,越靠近膚色灰度值越高。每個像素的灰度對應該點與膚色的相似度,計算公式:

其中m為均值,C為協方差矩陣。
由于人工閾值選取有很大的人為性,并不準確,所以本文采取最大類間方差法進行圖像二值化處理,此方法可以自動選取最有效的閾值將背景和目標分離開。設一幅圖像的灰度值為1~M級,K為閾值,將像素分為兩組兩組間的方差如式:

2.2膚色范圍模型
膚色范圍模型是最基本的膚色模型,主要是利用膚色在色彩空間中表示色彩的變量的范圍固定這一特點設定閾值,將滿足該閾值條件的像素區域標定為膚色區域[5]。
通過對需要實驗的多幅不同光照的彩色人臉圖像進行統計,得到能廣泛包括膚色的YCrCb和HSV顏色空間范圍:

那么將滿足這個范圍的像素置1,其他置0,就能得到皮膚區域的二值圖像。
考慮駕駛室環境,所以本文采用高斯模型和膚色模型相結合,得到更準確的皮膚分割二值圖像。白色代表人臉候選區,黑色為背景。
2.3 形態濾波
根據前面對膚色的聚類分析,我們知道膚色區域是連續的整塊,而背景通常是孤立小塊。對于上面進行皮膚檢測得到的圖像,存在一些孤立的小區域或是假皮膚區。
對其利用數學形態學中的開運算進行處理。開運算的定義為:

A為二值圖像,B為設置的結構元素,實質是A先被B腐蝕,再被B膨脹的結果。利用開運算能很好去除這些孤立小區域,同時還可去除背景噪聲,如椒鹽噪聲。但是仍然殘留一小部分,需再次進行區域填充,消除圖像中殘留的“空洞”。
經過形態濾波后的二值圖像進行8連通區域標記(連接關系如圖所示)。標記前的二值圖像,標記之后每個白像素的值是所屬區域的標號(1,2,…L),L是二值圖像中白像素區域的數目[6]。再對這L個白像素區矩形框圈定,根據區域優化方法準確定位人臉區域。

圖2 像素的八連接關系

根據大量實驗統計,我們認為,只要該人臉候選區的高寬比在0.6到1.8之間,就認為該區域可能為人臉,否則去除該區域。通過基于人臉高寬比條件的排查,可以將除人臉外的其他膚色區域去除,如脖子,手臂和手等裸露在外面的身體部位。或者是去除與皮膚相似的區域,為最后的精確定位提供保證。
(2)基于面積占有率
一般情況下,當候選區的面積小于整幅圖片面積的0.1%時,判定它是背景噪聲。根據統計,對于駕駛室環境下的圖像,面部所占比例為整幅圖像5%以上。所以,候選區面積小于整幅圖片面積的5%時,就剔除該候選區。
本文是將兩種區域優化方法結合,既要滿足人臉高寬比,又要滿足面積占有率,更能準確進行人臉定位。
本文采用的膚色區域優化方法主要有兩種:
(1)基于人臉高寬比
有資料顯示,理想的人臉高度與寬度的比例為:
互聯網下載和采集大量駕駛環境視頻,主要分為正面、45°側臉和90°側臉三種姿態進行實驗,實驗數據如表1所示。

表1 人臉檢測定位實驗數據
我們從表1的實驗數據發現,正面和45°側臉準確率都能達到95%以上,檢測效果較好,雖然90°側臉正確率不高,但是在駕駛狀態下這個姿態的發生概率很小,可不予理睬。綜合上述,結果表明該方法在不同姿態和駕駛背景下有較好的檢測效果。但是,該方法卻沒有考慮夜間模式或強光照的影響,檢測樣本數量有限且單一,所以駕駛環境下的精確人臉定位還需進一步探索和研究。
[1]金璐.基于圖像處理的疲勞駕駛檢測技術研究[D].武漢工程大學碩士學位論文,2014.
[2]謝鳳英.數字圖像處理及應用[M].北京:電子工業出版社,2014 .
[3]董長虹.Matlab圖像處理與應用[M].北京:國防工業出版社,2004.
[4]盛敬.駕駛員疲勞監控系統中人臉檢測與識別研究[D].東北大學碩士學位論文,2006
[5]林欣.基于改進膚色模型的AdaBoost人臉檢測算法研究[D].陜西科技大學碩士學位論文,2015.
[6]陳虹宇.駕駛員面部檢測與定位方法[D].重慶大學碩士學位論文,2005.
葛小鳳(1991—),女,四川自貢人,西華師范大學電子信息工程學院碩士研究生,主要從事電子信息技術的研究。