李秀圣,郭偉峻
(1.濰坊學(xué)院,山東 濰坊 261061;2.中興通訊股份有限公司,陜西 西安 710065)
人眼檢測(cè)系統(tǒng)在疲勞駕駛、人臉識(shí)別、人機(jī)交互、視頻監(jiān)控等方面具有廣泛的應(yīng)用[1]。目前,用于人眼檢測(cè)的方法主要包括積分投影、模板匹配和統(tǒng)計(jì)的方法[2]。其中,積分投影法實(shí)現(xiàn)的系統(tǒng)對(duì)人臉的姿態(tài)非常敏感,特別是在人眼處的波峰和波谷位置,導(dǎo)致檢測(cè)準(zhǔn)確率低;而基于模板匹配和統(tǒng)計(jì)的方法難以在硬件上實(shí)現(xiàn)。在實(shí)現(xiàn)平臺(tái)上,大部分人眼檢測(cè)系統(tǒng)基于PC機(jī)實(shí)現(xiàn),存在體積大、功耗高的缺點(diǎn);小部分系統(tǒng)基于DSP平臺(tái)實(shí)現(xiàn)[3],但指令的執(zhí)行以串行方式進(jìn)行,難以滿(mǎn)足系統(tǒng)實(shí)時(shí)檢測(cè)的要求。
FPGA具有數(shù)據(jù)并行處理的特點(diǎn),指令執(zhí)行速度快,易于滿(mǎn)足實(shí)時(shí)性檢測(cè)的要求。并且可以通過(guò)硬件描述語(yǔ)言結(jié)合FPGA內(nèi)部資源進(jìn)行邏輯電路設(shè)計(jì),而不需要附加專(zhuān)用芯片,利于實(shí)現(xiàn)系統(tǒng)的小型化[4],基于以上考慮,本系統(tǒng)選取FPGA作為硬件實(shí)現(xiàn)平臺(tái)。在系統(tǒng)實(shí)現(xiàn)方法上,根據(jù)人眼對(duì)不同波長(zhǎng)的紅外光具有不同反射率的原理,對(duì)分別在850nm和940nm兩種波長(zhǎng)的紅外光照射下獲得的人臉圖像進(jìn)行差分,然后通過(guò)圖像處理,結(jié)合改進(jìn)的復(fù)雜度算法最終獲得人眼位置。
系統(tǒng)的硬件結(jié)構(gòu)主要由CMOS圖像傳感器、紅外光源、FPGA、視頻編碼芯片、VGA接口及若干存儲(chǔ)器等組成,其中紅外光源由內(nèi)外兩圈環(huán)形的LED燈產(chǎn)生,外圈是波長(zhǎng)為940nm的紅外LED燈,內(nèi)圈是波長(zhǎng)為850nm的紅外LED燈。
系統(tǒng)工作流程如圖1所示,CMOS圖像傳感器經(jīng)12C配置電路初始化后輸出行有效信號(hào)、幀有效信號(hào)、像素時(shí)鐘信號(hào)及數(shù)據(jù)信號(hào)。人眼瞳孔對(duì)波長(zhǎng)為940nm紅外光的反射率為40%,對(duì)波長(zhǎng)為850nm紅外光的反射率是90%[5],通過(guò)控制兩圈不同波長(zhǎng)的LED燈隨圖像幀頻率而交替閃爍即可獲得相鄰的兩幀亮、暗圖像;然后利用圖像差分法對(duì)上述兩幀圖像進(jìn)行差分,即可獲得具有亮瞳孔效應(yīng)、人臉突出、幾乎沒(méi)有背景影響的紅外圖像;再通過(guò)對(duì)差分圖像進(jìn)行分割、積分投影等處理即能準(zhǔn)確定位人臉;最后對(duì)定位的人臉區(qū)域利用改進(jìn)的復(fù)雜度算法進(jìn)行人眼定位。
幀緩沖模塊由SDRAM控制器和3個(gè)FIFO組成,其中SDRAM控制器負(fù)責(zé)外部SDRAM的度讀、寫(xiě)操作,Write_FIFO用于數(shù)據(jù)輸入、Read_FIFO1和Read_FIFO2用于輸出兩幀相鄰的圖像數(shù)據(jù),系統(tǒng)檢測(cè)后的圖像利用VGA控制器顯示在顯示器上。
圖1 系統(tǒng)工作流程圖
用于人臉檢測(cè)的算法流程如圖2所示。
圖2 人臉檢測(cè)算法處理流程
圖3 差分后的圖像與灰度拉伸后的圖像對(duì)比
進(jìn)行灰度拉伸的目的是提高目標(biāo)圖像與背景之間的對(duì)比度,以便于圖像進(jìn)行分割處理[6]。具體實(shí)現(xiàn)過(guò)稱(chēng)為:從系統(tǒng)中取出一幀差分后的圖像進(jìn)行灰度拉伸,將像素灰度值處于[20,255]區(qū)間的像素點(diǎn)線性映射到[0,255]區(qū)間,灰度值小于20的像素點(diǎn)映射為0。兩者的對(duì)比如圖3所示,可見(jiàn)經(jīng)灰度拉伸后提高了與差分圖像之間的對(duì)比度。
圖像分割的關(guān)鍵是選取恰當(dāng)?shù)拈撝担@樣才能有效的將目標(biāo)圖像從背景中分割出來(lái)。本設(shè)計(jì)采用自適應(yīng)閾值法中的最大類(lèi)間方差法實(shí)現(xiàn)閾值選?。?]。設(shè)一副圖像的灰度值為0~(l-1),灰度值為i的像素個(gè)數(shù)為ni,總像素個(gè)數(shù)為N,則各像素值的概率Pi=ni/N。設(shè)以灰度值t將圖像中的像素按灰度值分為兩個(gè)區(qū)域,則最大類(lèi)間方差的表達(dá)式為:
使得σ2最大的值即為圖像分割的最佳閾值。最大類(lèi)間方差算法是一種全局性的算法,計(jì)算出的閾值會(huì)在處理的兩幀圖像期間出現(xiàn),通過(guò)實(shí)現(xiàn)測(cè)得系統(tǒng)的處理速度可達(dá)30幀/秒,故可將當(dāng)前幀的分割閾值用于下一幀,而不必設(shè)計(jì)專(zhuān)門(mén)的當(dāng)前幀存儲(chǔ)電路,從而降低硬件實(shí)現(xiàn)的復(fù)雜度,分割后的圖像如圖4所示。
通過(guò)圖像分割處理,可以將人臉區(qū)域從背景中進(jìn)行分離,這樣就可以利用積分投影的方法得到人臉的邊界。在區(qū)間[x1,x2]和[y1,y2]內(nèi)的水平積分投影函數(shù)和垂直積分投影函數(shù)分別表示為[9]:
通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),人臉左右邊界的積分投影值為人臉垂直方向積分投影值最大值的0.1~0.2倍,上邊界的積分投影值為人臉?biāo)椒较蚍e分投影值最大值的0.2~0.3倍,人臉的下邊界可以通過(guò)上邊界和左右邊界之間的距離確定,本設(shè)計(jì)中人臉的下邊界為上邊界加左右邊界的距離,其定位結(jié)果如圖5所示。
圖4 閾值分割后的圖像
圖5 人臉區(qū)域定位結(jié)果圖像
通過(guò)觀察差分后的紅外圖像,可知瞳孔周?chē)幕叶戎底兓顬轭l繁,故人眼的檢測(cè)采用復(fù)雜度算法來(lái)實(shí)現(xiàn)。同時(shí),對(duì)定位出的人臉區(qū)域進(jìn)行人眼檢測(cè),不僅縮小了檢測(cè)范圍,加快檢測(cè)速度,而且還排除了人臉區(qū)域外的干擾,提高了人眼檢測(cè)的精度。
圖像復(fù)雜度的數(shù)學(xué)定義為:設(shè)圖像塊的大小為行列,灰度值為I(x,y),?I/?x為I(x,y)沿x方向的梯度,可以用差分Δx=I(x+1,y)-I(x,y)近似,則圖像塊的復(fù)雜度為[10]:
本設(shè)計(jì)選取的圖像塊大小為3*3,如圖6所示。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),相鄰兩點(diǎn)間進(jìn)行復(fù)雜度的計(jì)算沒(méi)有取得理想效果,通過(guò)對(duì)復(fù)雜度算法進(jìn)行改進(jìn),在3*3的圖像塊中選取4個(gè)像素點(diǎn),使用公式Com=|x11-x33|+|x13-x31|進(jìn)行復(fù)雜度計(jì)算,能夠得到較好的效果。
圖6 實(shí)驗(yàn)選取的3*3圖像塊
圖7 人眼定位結(jié)果及在VGA上的圖像顯示
在FPGA中采用行緩沖和流水線處理方式,3*3圖像窗口的構(gòu)造通過(guò)調(diào)用移位寄存器的IP核Shift register實(shí)現(xiàn),輸入和輸出的數(shù)據(jù)位寬為8位,3個(gè)taps,每個(gè)taps的寬度為752。3*3的圖像窗口在時(shí)鐘上升沿到來(lái)時(shí)在圖像上滑動(dòng),直至掃描完整幀圖像。人眼定位結(jié)果圖像及在VGA上的顯示如圖7所示。
利用人眼對(duì)不同波長(zhǎng)的紅外光具有不同反射率的原理,結(jié)合圖像差分方法在FPGA平臺(tái)上實(shí)現(xiàn)了人眼檢測(cè)系統(tǒng)。利用FPGA處理速度快、資源豐富的特點(diǎn)使設(shè)計(jì)的系統(tǒng)具備小型化、功耗低、成本低、高速化等優(yōu)點(diǎn),處理速度達(dá)到30幀/秒,檢測(cè)的精度在90%以上,滿(mǎn)足實(shí)時(shí)性檢測(cè)的要求。
[1]葛如海,陳彥博,劉志強(qiáng).基于計(jì)算機(jī)視覺(jué)的駕駛疲勞識(shí)別方法的研究[J].中國(guó)安全科學(xué)學(xué)報(bào),2006,16(9):134-138.
[2]唐琎,許海柱,王立.圖像中人眼檢測(cè)技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2008,25(4):961-965.
[3]張希坤.視線跟蹤關(guān)鍵技術(shù)研究及其在TI-DSP DM642上的實(shí)現(xiàn)與優(yōu)化[D].西安:西北工業(yè)大學(xué),2005.
[4]Amir A,Zimet L,Sangiovanni-Vincentelli A,et al.An embedded system for an eye-detection sensor[J].Computer Vision and Image Understanding,2005,98(1):104-123.
[5]田娥,莫易敏,廖張華,等.基于紅外光源的駕駛員實(shí)時(shí)檢測(cè)[J].計(jì)算機(jī)工程,2007,33(7):255-257.
[6]陳芳,姚建剛,楊迎建,等.灰度拉伸及邊緣掃描在紅外圖像分割中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(14):167-169.
[7]胡斌,宮寧生.一種改進(jìn)的 Otsu閾值分割算法[J].微電子學(xué)與計(jì)算機(jī),2009,26(12):153-155.
[8]Huang D Y,Wang C H.Optimal multi-level thresholding using a two-stage Otsu optimization approach[J].Pattern Recognition Letters,2009,30(3):275-284.
[9]Zhou Z H,Geng X.Projection functions for eye detection[J].Pattern Recognition,2004,37(5):1049-1056.
[10]崔連延,徐林,顧樹(shù)生.基于復(fù)雜度和最佳閾值的人眼定位方法[J].控制工程,2008,15(1):11-14.