柳露艷,王直杰
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201600)
目前交通事故中有相當(dāng)一部分是由于司機疲勞駕駛所造成的,因此對駕駛員的疲勞狀態(tài)進(jìn)行檢測,對減少由疲勞駕駛引發(fā)的交通事故,有著重要的現(xiàn)實意義。在疲勞駕駛檢測中,對人眼高效、實時、準(zhǔn)確的檢測是其關(guān)鍵的步驟之一。到目前為止,人眼檢測用到的方法主要有以下幾種:基于模板匹配法、Hough變換法、灰度投影法、基于統(tǒng)計學(xué)習(xí)的方法和特種光源法。雖然這些方法在不同的場景下均取得了不錯的效果,但由于眼睛在人臉?biāo)急壤皇呛艽?,同時受到眉毛、眼鏡框、眼睛大小、傾斜、光線等多種因素的影響,要精確的定位人眼不是一件容易的事情。本文提出一種改進(jìn)的人眼定位算法,該算法的核心是基于頂點鏈碼和離散格林[1]相結(jié)合的最小外接矩形算法,實驗結(jié)果證明本文的該進(jìn)算法可以有效的提高人眼檢測的精度和速度。
由圖1所示的本文的算法流程圖可知,在進(jìn)行人眼精確定位之前,要對圖像進(jìn)行人臉定位和人眼粗定位。本文選用YCbCr空間的膚色分割[2]和灰度積分投影相結(jié)合的算法來實現(xiàn)人臉定位和人眼粗定位。圖像處理中最常用、最基礎(chǔ)的顏色空間是RGB空間,攝像機采集的圖像也是在RGB空間存儲的。由RGB空間向YCbCr空間[3]的轉(zhuǎn)換如式(1)所示:
圖1 算法流程圖Fig.1 Algorithm flowchart
轉(zhuǎn)換好顏色空間之后,我們需要為膚色建立數(shù)學(xué)模型,從數(shù)學(xué)角度來推出閾值,根據(jù)此閾值將膚色和非膚色分離。本文采用了基于相似度的方法檢測輸入圖像的膚色像素。定義 r=R/(R+G+B),b=B/(R+G+B), 這樣就把三維的 RGB 降為二維。相似度的計算公式如式(2)所示:
在得到膚色區(qū)域后,本文利用垂直灰度投影和水平灰度投影,并結(jié)合人臉的幾何特征[4]分別確定出人臉的左右邊界和上下邊界,依此定位出人臉區(qū)域;然后,對人臉區(qū)域進(jìn)行水平灰度投影便能確定出人眼的大致搜索范圍,從而實現(xiàn)了人眼的粗定位。本文在人眼精確定位部分,提出了一種利用頂點鏈碼與離散格林理論相結(jié)合的快速提取目標(biāo)圖像的最小外接矩形算法,為了能將該算法較好的應(yīng)用于人眼精確定位,本文根據(jù)實際應(yīng)用需求提出了一系列約束條件。最后,將本文的算法與其他算法進(jìn)行了比較,證明本文的算法在速度和準(zhǔn)確度上都有很大的改進(jìn)。
本文重點研究圖1中的人眼精確定位。本文提出了一種頂點鏈碼與離散格林理論相結(jié)合的最小外接矩形算法,并利用該算法改進(jìn)了一種人眼精確定位方法,最終提高了人眼定位的速度和準(zhǔn)確度。
圖2 人眼定位效果圖Fig.2 Effect drawings of eye coarse location
頂點鏈碼[5]就是沿著圖像邊界像素的頂點行走一周,依次記錄圖像邊界像素頂點的代碼。圖像f(x,y)的像素頂點矩陣 M 為像素頂點(u,v)的鏈碼值 g(u,v)所構(gòu)造成的(w+2)×(h+2)矩陣。本算法在獲取圖像頂點矩陣[6]的基礎(chǔ)上同時獲取了圖像的邊界坐標(biāo)鏈和行走方向鏈,然后,通過將目標(biāo)曲面積分轉(zhuǎn)變?yōu)槟繕?biāo)曲線積分的方式減少了求取目標(biāo)圖像的形心、面積、圖像主軸的計算量,從而大大提高了下文中人眼精確定位的速度。設(shè)圖像大小為H×W,頂點矩陣為M;第i個頂點的行走方向為∈{0,1,2,3},頂點碼值 ci∈{6,l,2,3},凸鏈存放凸點的坐標(biāo)值。 假設(shè)當(dāng)前頂點 Pi(xi,yi),在 Pi的行走方向為,下一頂點Pi+1的編碼為Ci+1,行走方向變化規(guī)則為:
方向鏈的坐標(biāo)遷移規(guī)則如為:
根據(jù)離散格林,在垂直方向即Direction=l,Direction=3上有:
目標(biāo)圖像的主軸為:
其中,u11=M11-y×M10,u20=M20-x×M10,u02=M02-y×M01;α 為主軸與X軸所成的方向角。
在本文中我們以形心為坐標(biāo)原點,圍繞主軸旋轉(zhuǎn)X軸,旋轉(zhuǎn)大小為方向角α,則新舊坐標(biāo)系的轉(zhuǎn)換關(guān)系為:
圖3 求取MER的算法流程圖Fig.3 Algorithm flowchart of calculating the MER
本文通過分析統(tǒng)計樣本和訓(xùn)練樣本,給出了能夠精確定位人眼的約束條件,并在VS2008上仿真實現(xiàn)。通過分析眼睛的候選區(qū)域我們可以發(fā)現(xiàn),定位眼睛的主要干擾項來自于與眼睛位置接近的眉毛區(qū)域,對于戴眼鏡的個體還需要區(qū)分眼鏡邊框。為剔除眼睛邊框和眉毛區(qū)域,精確定位人眼,本文根本人臉面部的幾何特征進(jìn)行樣本訓(xùn)練[7],制定出以下約束規(guī)則:
1)眼睛形心在人臉圖像中的位置范圍:
橫坐 標(biāo):0.15~0.82 W (W 為 圖 片 的 寬 度 ), 縱 坐 標(biāo) :20.284~/2(H 為圖片的高度)
2)眼睛最小外接矩形所含像素的個數(shù):5~724;
3)眼睛最小外接矩形的寬高比:0.95~7.24;
4)眼睛最小外接矩形的面積:13~1 100;
5)眼睛的寬度應(yīng)小于所在候選人臉區(qū)域?qū)挾鹊?/3;
6)在滿足以上條件下,若兩個最小外接矩形滿足:形心橫坐標(biāo)之差<14,縱坐標(biāo)之差>0.077 L,則這兩個矩形中縱坐標(biāo)較小的為眉毛區(qū)域需剔除。
其中,圖4中的8副圖分別為不戴眼鏡時人正臉、側(cè)臉、旋轉(zhuǎn)、低頭和戴眼鏡的情況下人正臉、側(cè)臉、旋轉(zhuǎn)和低頭時的檢測情況。實驗結(jié)果顯示,本算法對于頭部有一定偏轉(zhuǎn)和側(cè)移的情況也有較好的識別效果。
圖4 人眼精確定位效果圖Fig.4 Effect drawings of eye precise location
測試在自用PC機上,采用 C++語言編程并用VS2008仿真實現(xiàn)。表1為本文在ORL數(shù)據(jù)庫和自建人臉數(shù)據(jù)庫的180副人臉圖像中對以往的算法(表中稱算法1)和文中采用的算法(表中稱算法2)進(jìn)行人眼檢測測試的測試結(jié)果對比。
表1 不同算法人臉識別率和計算速度的對比Tab.1 Comparisons of average recognition rate and calculation speed of different methods
圖5 ORL數(shù)據(jù)庫和自建人臉庫的部分圖像Fig.5 Partial images of ORL library and self built database
人眼定位是構(gòu)建疲勞駕駛檢測系統(tǒng)的前提條件。為了提取有用的人眼狀態(tài)信息,經(jīng)常要求能夠精確的定位人眼。本文在傳統(tǒng)人臉識別YCbCr模型基礎(chǔ)上,進(jìn)行了由粗到精的兩次人眼定位,并提出了一種基于最小外接矩形的快速人眼定位算法。雖然只是在最小外接矩形人眼定位方法的基礎(chǔ)上,進(jìn)行了一個小的改進(jìn),但是實驗表明,該方法有效的提高了圖像處理的速度,并且在戴眼鏡的情況下也有很好的定位效果,可以實時準(zhǔn)確地定位人眼。
[1]Brlek S,Labelie G,Lacasse A.The discrete green theorem and some applications in discrete geometry[J].Theoretical Computer Science,2005,346(2):200-225.
[2]唐立峰,何東健.基于膚色分割的人臉檢測算法研究[J].計算機工程與設(shè)計,2009,30(19):4461-4464.TANG Li-feng,HE Dong-jian.Research on face detection algorithm based on complexional segmentation[J].Computer engineering and design,2009,30(19):4461-4464.
[3]何慶楠,張雪峰.一種基于YCbCr色彩空間的人臉檢測方法[J].軟件導(dǎo)刊,2011(10):162-164.HE Qing-nan,ZHANG Xue-feng.Research on face detection technology based on YCbCr color space[J].Software guide,2011(10):162-164.
[4]張強.基于幾何特征的目標(biāo)識別及跟蹤技術(shù)的研究[D].長春:長春理工大學(xué),2008.
[5]陳優(yōu)廣.邊界跟蹤、區(qū)域填充及鏈碼的應(yīng)用研究[D].上海:華東師范大學(xué),2006.
[6]Bribiesca E.A new chain code[J].Pattern Recognition,1999(32):235-251.
[7]楊環(huán).人臉檢測及人眼定位算法的研究[D].山東:山東大學(xué),2010.YANG Huan.Research on face detection and eye location algorithm[D].Shandong:Shandong University,2010.
[8]袁佐云.基于最小外接矩形的稻米粒型檢測方法[J].糧食與飼料工業(yè),2006(9):7-8.YUAN Zuo-yi.A study on inspection of rice kernel with minimum enclosing rectangle method[J].Cereal and Feed Industry,2006(9):7-8.
[9]李太白,唐萬梅.一種改進(jìn)的SVM多類分類算法在入侵檢測中的應(yīng)用[J].重慶師范大學(xué)學(xué)報:自然科學(xué)版,2012(5):63-66.LI Tai-bai,TANG Wang-mei.An improved multi-class SVM classification algorithm in intrusion detection[J].Journal of Chongqing Normal University:Natural Science,2012 (5):63-66.