柳露艷,王直杰
(東華大學 信息科學與技術學院,上海 201600)
目前交通事故中有相當一部分是由于司機疲勞駕駛所造成的,因此對駕駛員的疲勞狀態進行檢測,對減少由疲勞駕駛引發的交通事故,有著重要的現實意義。在疲勞駕駛檢測中,對人眼高效、實時、準確的檢測是其關鍵的步驟之一。到目前為止,人眼檢測用到的方法主要有以下幾種:基于模板匹配法、Hough變換法、灰度投影法、基于統計學習的方法和特種光源法。雖然這些方法在不同的場景下均取得了不錯的效果,但由于眼睛在人臉所占比例不是很大,同時受到眉毛、眼鏡框、眼睛大小、傾斜、光線等多種因素的影響,要精確的定位人眼不是一件容易的事情。本文提出一種改進的人眼定位算法,該算法的核心是基于頂點鏈碼和離散格林[1]相結合的最小外接矩形算法,實驗結果證明本文的該進算法可以有效的提高人眼檢測的精度和速度。
由圖1所示的本文的算法流程圖可知,在進行人眼精確定位之前,要對圖像進行人臉定位和人眼粗定位。本文選用YCbCr空間的膚色分割[2]和灰度積分投影相結合的算法來實現人臉定位和人眼粗定位。圖像處理中最常用、最基礎的顏色空間是RGB空間,攝像機采集的圖像也是在RGB空間存儲的。由RGB空間向YCbCr空間[3]的轉換如式(1)所示:

圖1 算法流程圖Fig.1 Algorithm flowchart

轉換好顏色空間之后,我們需要為膚色建立數學模型,從數學角度來推出閾值,根據此閾值將膚色和非膚色分離。本文采用了基于相似度的方法檢測輸入圖像的膚色像素。定義 r=R/(R+G+B),b=B/(R+G+B), 這樣就把三維的 RGB 降為二維。相似度的計算公式如式(2)所示:

在得到膚色區域后,本文利用垂直灰度投影和水平灰度投影,并結合人臉的幾何特征[4]分別確定出人臉的左右邊界和上下邊界,依此定位出人臉區域;然后,對人臉區域進行水平灰度投影便能確定出人眼的大致搜索范圍,從而實現了人眼的粗定位。本文在人眼精確定位部分,提出了一種利用頂點鏈碼與離散格林理論相結合的快速提取目標圖像的最小外接矩形算法,為了能將該算法較好的應用于人眼精確定位,本文根據實際應用需求提出了一系列約束條件。最后,將本文的算法與其他算法進行了比較,證明本文的算法在速度和準確度上都有很大的改進。
本文重點研究圖1中的人眼精確定位。本文提出了一種頂點鏈碼與離散格林理論相結合的最小外接矩形算法,并利用該算法改進了一種人眼精確定位方法,最終提高了人眼定位的速度和準確度。

圖2 人眼定位效果圖Fig.2 Effect drawings of eye coarse location
頂點鏈碼[5]就是沿著圖像邊界像素的頂點行走一周,依次記錄圖像邊界像素頂點的代碼。圖像f(x,y)的像素頂點矩陣 M 為像素頂點(u,v)的鏈碼值 g(u,v)所構造成的(w+2)×(h+2)矩陣。本算法在獲取圖像頂點矩陣[6]的基礎上同時獲取了圖像的邊界坐標鏈和行走方向鏈,然后,通過將目標曲面積分轉變為目標曲線積分的方式減少了求取目標圖像的形心、面積、圖像主軸的計算量,從而大大提高了下文中人眼精確定位的速度。設圖像大小為H×W,頂點矩陣為M;第i個頂點的行走方向為∈{0,1,2,3},頂點碼值 ci∈{6,l,2,3},凸鏈存放凸點的坐標值。 假設當前頂點 Pi(xi,yi),在 Pi的行走方向為,下一頂點Pi+1的編碼為Ci+1,行走方向變化規則為:

方向鏈的坐標遷移規則如為:

根據離散格林,在垂直方向即Direction=l,Direction=3上有:


目標圖像的主軸為:

其中,u11=M11-y×M10,u20=M20-x×M10,u02=M02-y×M01;α 為主軸與X軸所成的方向角。
在本文中我們以形心為坐標原點,圍繞主軸旋轉X軸,旋轉大小為方向角α,則新舊坐標系的轉換關系為:


圖3 求取MER的算法流程圖Fig.3 Algorithm flowchart of calculating the MER
本文通過分析統計樣本和訓練樣本,給出了能夠精確定位人眼的約束條件,并在VS2008上仿真實現。通過分析眼睛的候選區域我們可以發現,定位眼睛的主要干擾項來自于與眼睛位置接近的眉毛區域,對于戴眼鏡的個體還需要區分眼鏡邊框。為剔除眼睛邊框和眉毛區域,精確定位人眼,本文根本人臉面部的幾何特征進行樣本訓練[7],制定出以下約束規則:
1)眼睛形心在人臉圖像中的位置范圍:
橫坐 標:0.15~0.82 W (W 為 圖 片 的 寬 度 ), 縱 坐 標 :20.284~/2(H 為圖片的高度)
2)眼睛最小外接矩形所含像素的個數:5~724;
3)眼睛最小外接矩形的寬高比:0.95~7.24;
4)眼睛最小外接矩形的面積:13~1 100;
5)眼睛的寬度應小于所在候選人臉區域寬度的1/3;
6)在滿足以上條件下,若兩個最小外接矩形滿足:形心橫坐標之差<14,縱坐標之差>0.077 L,則這兩個矩形中縱坐標較小的為眉毛區域需剔除。
其中,圖4中的8副圖分別為不戴眼鏡時人正臉、側臉、旋轉、低頭和戴眼鏡的情況下人正臉、側臉、旋轉和低頭時的檢測情況。實驗結果顯示,本算法對于頭部有一定偏轉和側移的情況也有較好的識別效果。

圖4 人眼精確定位效果圖Fig.4 Effect drawings of eye precise location
測試在自用PC機上,采用 C++語言編程并用VS2008仿真實現。表1為本文在ORL數據庫和自建人臉數據庫的180副人臉圖像中對以往的算法(表中稱算法1)和文中采用的算法(表中稱算法2)進行人眼檢測測試的測試結果對比。

表1 不同算法人臉識別率和計算速度的對比Tab.1 Comparisons of average recognition rate and calculation speed of different methods

圖5 ORL數據庫和自建人臉庫的部分圖像Fig.5 Partial images of ORL library and self built database
人眼定位是構建疲勞駕駛檢測系統的前提條件。為了提取有用的人眼狀態信息,經常要求能夠精確的定位人眼。本文在傳統人臉識別YCbCr模型基礎上,進行了由粗到精的兩次人眼定位,并提出了一種基于最小外接矩形的快速人眼定位算法。雖然只是在最小外接矩形人眼定位方法的基礎上,進行了一個小的改進,但是實驗表明,該方法有效的提高了圖像處理的速度,并且在戴眼鏡的情況下也有很好的定位效果,可以實時準確地定位人眼。
[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]唐立峰,何東?。谀w色分割的人臉檢測算法研究[J].計算機工程與設計,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].軟件導刊,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]張強.基于幾何特征的目標識別及跟蹤技術的研究[D].長春:長春理工大學,2008.
[5]陳優廣.邊界跟蹤、區域填充及鏈碼的應用研究[D].上海:華東師范大學,2006.
[6]Bribiesca E.A new chain code[J].Pattern Recognition,1999(32):235-251.
[7]楊環.人臉檢測及人眼定位算法的研究[D].山東:山東大學,2010.YANG Huan.Research on face detection and eye location algorithm[D].Shandong:Shandong University,2010.
[8]袁佐云.基于最小外接矩形的稻米粒型檢測方法[J].糧食與飼料工業,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]李太白,唐萬梅.一種改進的SVM多類分類算法在入侵檢測中的應用[J].重慶師范大學學報:自然科學版,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.