陸二慶 楊偉亮
桂林理工大學(xué)信息科學(xué)與工程學(xué)院 廣西 541004
本文利用TMS230DM642處理器設(shè)計(jì)了駕駛員疲勞檢測(cè)報(bào)警系統(tǒng)。該系統(tǒng)具有非接觸式、實(shí)時(shí)性、準(zhǔn)確性的特點(diǎn)。采用被動(dòng)視覺(jué)的PERCLOS疲勞檢測(cè)方法,從普通CCD攝像頭獲取駕駛員實(shí)時(shí)圖像,利用TMS230DM642強(qiáng)大的多媒體處理能力提取駕駛員的眼部特征,提取駕駛員眼睛的閉合度,根據(jù)計(jì)算得到的PERCLOS值來(lái)判斷司機(jī)是否駕駛疲勞,如果條件滿足則報(bào)警提示。
TMS230DM642(DM642)是基于TI開(kāi)發(fā)的第二代高性能處理器,先進(jìn)的VelociTI技術(shù)的VLIW結(jié)構(gòu),使該處理器成為數(shù)字多媒體的極好地選擇。DM642在主頻720MHZ下處理速度能達(dá)到 5760MIPS。從駕駛員疲勞檢測(cè)報(bào)警系統(tǒng)的實(shí)時(shí)性來(lái)說(shuō),一般人在正常情況下每分鐘會(huì)眨眼10-15次,隨著人的疲勞程度增加眨眼次數(shù)也會(huì)有所提高,因此若要很好的捕捉到眨眼的過(guò)程,對(duì)視頻源的采樣至少要達(dá)到每秒 10幀,即要求系統(tǒng)在 100ms內(nèi)完成對(duì)圖像的分析處理,對(duì)于DM642強(qiáng)大的多媒體處理能力來(lái)說(shuō),完全能夠勝任。
DM642是建立在C64XDSP核之上的,C64DSP核具有64個(gè)32位字長(zhǎng)的通用寄存器和8個(gè)獨(dú)立的功能單元,其中包括2個(gè)結(jié)果為32位的乘法器和6個(gè)ALUS,這種結(jié)構(gòu)是velociTI1.2的升級(jí)版。velociTI1.2升級(jí)版在8個(gè)功能單元里面包含了新的指令,可以在視頻和圖像應(yīng)用方面提高性能,同時(shí)該版本對(duì)velociTI架構(gòu)進(jìn)行擴(kuò)充。DM642使用兩級(jí)存儲(chǔ),一級(jí)程序緩存L1P是一個(gè)128Kbit的直接映射緩存,另一個(gè)數(shù)據(jù)緩存L1D是一個(gè)128Kbit雙路結(jié)合設(shè)置緩存。L2存儲(chǔ)器能被配置成映射存儲(chǔ)器、高速緩存或者兩者結(jié)合。1個(gè)64位的 EMIF,可以與同步異步存儲(chǔ)器和外圍設(shè)備相連,很好的滿足視頻圖像處理時(shí)對(duì)存儲(chǔ)空間的需要。同時(shí),DM642具有3個(gè)可配置視頻端口(VP0,VP1,VP2)。這些視頻端口給公共視頻編解碼設(shè)備提供了直接接口。DM642視頻端口支持多種解決方法和視頻標(biāo)準(zhǔn)??梢?jiàn)使用 DM642作為駕駛員疲勞檢測(cè)報(bào)警系統(tǒng)的核心處理器完全合適。
駕駛員疲勞報(bào)警系統(tǒng)共包含五個(gè)功能模塊,它們分別是電源模塊、圖像采集模塊、報(bào)警模塊、圖像處理模塊、擴(kuò)展存儲(chǔ)模塊。系統(tǒng)的硬件結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)圖像采集模塊由一個(gè)普通 CCD攝像頭和一個(gè)視頻解碼芯片組成。CCD攝像頭獲取駕駛司機(jī)的臉部視頻圖像,通常是PAL制式或者NTSC制式的模擬信號(hào),通過(guò)Phlips公司的視頻解碼芯片SAA7113H將其轉(zhuǎn)換為標(biāo)準(zhǔn)的ITU-656 YUV 4:2:2(8 bit )信號(hào)。DM642 片內(nèi)的(VP0、VP1、VP2)可以用作視頻捕獲端口、視頻傳輸端口、視頻顯示端口。每個(gè)視頻在捕獲模式可以采用ITU-656 YUV 4:2:2(8 bit )信號(hào)。SAA7113H是Philips公司的9位視頻模數(shù)轉(zhuǎn)換(ADC)芯片,輸入可以被配置成4路CVBS或2路S視頻 (Y/C)信號(hào),對(duì)所選的CVBS(或Y/C)通道進(jìn)行編程可實(shí)現(xiàn)靜態(tài)增益控制或自動(dòng)增益控制,且有兩個(gè)內(nèi)置的模擬抗混疊濾波器。其輸入兼容 PAL,NTSC,SECAM 多種制式,可以自動(dòng)檢測(cè)50 Hz或60 Hz的場(chǎng)頻在PAL、NTSC制式之間切換,輸出為標(biāo)準(zhǔn)的ITU-656 YUV 4:2:2(8 bit)信號(hào)。圖像采集模塊的組成框圖如圖2所示。
圖2 圖像采集模塊組成框圖
通過(guò)開(kāi)發(fā)板前期的實(shí)驗(yàn)平臺(tái),可以大大的縮短嵌入式系統(tǒng)的開(kāi)發(fā)周期。本系統(tǒng)采用 vision Magic Corporation的TMS320DM642 增強(qiáng)型開(kāi)發(fā)板 VMD642-C,該開(kāi)發(fā)板是一款專門為視頻處理應(yīng)用設(shè)計(jì)的。該開(kāi)發(fā)板采用 TI 公司的tms320dm642agdk 媒體處理芯片,主頻 600MHz,具有四路實(shí)時(shí)復(fù)合視頻處理能力,同時(shí)它還具有 32M 字節(jié)的外部RAM和4M字節(jié)外部Flash存儲(chǔ)器。它擁有四路音頻實(shí)時(shí)采集及處理能力和一路音頻編碼輸出,很好的滿足音頻功能的實(shí)驗(yàn)。它同時(shí)還擁有多種外部接口包括 10/100M 以太網(wǎng)接口、RS232 和 RS485 接口,以及8個(gè)GPIO 接口,它使用CPLD的異步存儲(chǔ)器地址擴(kuò)展。該開(kāi)發(fā)板同時(shí)具備JTAG仿真接口。對(duì)于駕駛員疲勞檢測(cè)報(bào)警系統(tǒng),在設(shè)計(jì)定型以后可以裁減掉不需要的接口,重新設(shè)計(jì)電路板,以達(dá)到縮小系統(tǒng)的物理體積和降低應(yīng)用成本的目的。
系統(tǒng)的軟件部分主要分兩大關(guān)鍵部分的設(shè)計(jì),一是對(duì)CCD攝像機(jī)捕獲的視頻圖像中人臉的識(shí)別,以便縮小人眼的搜索范圍,本系統(tǒng)采用基于膚色檢測(cè)人臉的方法,在縮小的視頻范圍內(nèi)檢測(cè)人眼的狀態(tài),通過(guò)基于PERCLOS 的P80模型來(lái)判定駕駛司機(jī)是否處于疲勞狀態(tài),系統(tǒng)的整個(gè)功能流程如圖3所示。
圖3 系統(tǒng)流程圖
系統(tǒng)從 CCD相機(jī)獲取一幀的視頻圖像以后,按照基于膚色檢測(cè)人臉的方法,利用人的膚色中 Cr和 Cb的聚類特性,在 YCbCr色彩空間中檢測(cè)人臉是否存在,若不存在,則繼續(xù)讀取下一幀圖像。若人臉存在,則提取人臉頭像的上半部分區(qū)域縮小人眼的搜索范圍。采用基于眼睛圖像灰度信息對(duì)人眼進(jìn)行定位。當(dāng)完成對(duì)人眼的定位后,利用動(dòng)態(tài)模板匹配的方法跟蹤眼睛的位置,同時(shí)提取眼睛的上下距離,計(jì)算眼睛的閉合度,若計(jì)算得到的PERCLOS大于閥值,則判定駕駛員疲勞,報(bào)警提示,否則繼續(xù)進(jìn)入下一幀圖像的處理。
人臉檢測(cè)的過(guò)程:通過(guò)對(duì)人臉數(shù)據(jù)庫(kù)和人臉視頻圖像中黃種人人臉膚色點(diǎn)的采樣進(jìn)行分析,可得到實(shí)驗(yàn)環(huán)境下膚色在YCbCr空間中的聚類,用數(shù)學(xué)表達(dá)式確定膚色范圍的方法進(jìn)行膚色建模??筛鶕?jù)Chai采用 YCbCr顏色空間的 CbCr平面,如果某像素點(diǎn)的顏色落入Cr=[133:173]和Cb=[77:127]范圍內(nèi),就認(rèn)為是屬于膚色像素,否則就認(rèn)為是非膚色像素。將膚色區(qū)域調(diào)整為白色,非膚色區(qū)域調(diào)整為黑色。通過(guò)對(duì)圖像二值化從而界定人臉的大致范圍。
人眼的定位和跟蹤過(guò)程是,人的眼睛區(qū)域和周圍區(qū)域相比,具有灰度值偏低和灰度值偏大的特點(diǎn),經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn)在灰度值突變處進(jìn)行微分,將產(chǎn)生高值,將其絕對(duì)值累加,則灰度變化越大那一行,累計(jì)值越大,而眼睛處的導(dǎo)數(shù)變化值之和是最大的,通過(guò)這一特點(diǎn)可以大致定位眼睛的位置。眼睛周圍Cb值較高,而Cr值較低,可以由此得到人眼的特征圖,進(jìn)而精確定位人眼。完成人眼的定位后,再通過(guò)動(dòng)態(tài)模板匹配的方法跟蹤眼睛。
實(shí)驗(yàn)表明眼睛的閉合時(shí)間可以一定程度的反應(yīng)疲勞,在此結(jié)論基礎(chǔ)上,卡內(nèi)基梅隆研究所經(jīng)過(guò)反復(fù)實(shí)驗(yàn)和論證,提出了反應(yīng)疲勞/瞌睡的物理量PERCLOS(Percentage of Eyelid Closure over the Pupil ,over Time, PERCLOS),其定義為,單位時(shí)間內(nèi),眼睛所閉合一定比例所占用的時(shí)間。美國(guó)國(guó)家公路交通安全管理局(NHTSA)和美國(guó)聯(lián)邦公路管理局(FHWA),在實(shí)驗(yàn)室中模擬駕駛,完成了九種疲勞檢測(cè)指標(biāo)的比較,結(jié)果表明PERCLOS與駕駛疲勞的相關(guān)性最好。PERCLOS有三個(gè)評(píng)價(jià)標(biāo)準(zhǔn)P70標(biāo)準(zhǔn)、P80標(biāo)準(zhǔn)和EM(EYEMEAS)標(biāo)準(zhǔn),其中P80標(biāo)準(zhǔn)被NHTSA認(rèn)為是與疲勞程度相關(guān)性最好的。因此,本文采用P80標(biāo)準(zhǔn)作為駕駛員疲勞判定的標(biāo)準(zhǔn)。如果滿足下面的公式就認(rèn)為發(fā)生了瞌睡:
本文中設(shè)定采樣周期為10fps,通過(guò)上述算法對(duì)每幀圖像進(jìn)行眼睛閉合度的計(jì)算。如果連續(xù)的n幀內(nèi),眼睛閉合度超過(guò)80%的幀數(shù)為m,那么PERCLOS可表示為:
如果該值超過(guò)實(shí)驗(yàn)規(guī)定的閥值,則認(rèn)為駕駛員已經(jīng)疲勞,發(fā)出聲音警報(bào)!
實(shí)驗(yàn)以VMD642-C作為實(shí)驗(yàn)平臺(tái),抽取了5名駕駛員在白天和夜晚的各3分鐘,共30分鐘視頻作為實(shí)驗(yàn)樣本,攝像頭的采樣頻率設(shè)定為10fps,在采集的17998幀圖像中,駕駛員的人臉左右偏轉(zhuǎn)角在±20°以內(nèi)、上下偏轉(zhuǎn)角在±15°以內(nèi)的白天圖像有8790幀,夜晚有8780幀,其他較大角度白天為213幀,晚上為217幀。實(shí)驗(yàn)結(jié)果如表1所示。
表1 疲勞檢測(cè)準(zhǔn)確率
本文以TMS230DM642為核心處理器設(shè)計(jì)了駕駛員防疲勞報(bào)警系統(tǒng),系統(tǒng)能夠做到非接觸,實(shí)時(shí)檢測(cè)駕駛員的疲勞狀態(tài),在白天一定角度內(nèi)具有較高的疲勞檢測(cè)準(zhǔn)確率。同時(shí)給出了系統(tǒng)的部分硬件功能框圖和系統(tǒng)軟件核心算法的介紹。該系統(tǒng)具有較高的經(jīng)濟(jì)性,但是在光照條件不足的晚上,疲勞檢測(cè)準(zhǔn)確率明顯降低,有待進(jìn)一步的提高。
[1]上半年全國(guó)道路交通事故主要呈現(xiàn)五點(diǎn).http://www.gov.cn/gzdt/2010-07/13/content_1653118.htm.2010.
[2]鐘國(guó).駕駛疲勞檢測(cè)技術(shù)的研究[D].合肥工業(yè)大學(xué).2009.
[3]張進(jìn)明,胡偉,杜彬.基于 TMS320DM642和 Philips視頻編解碼芯片的視頻處理系統(tǒng)[J].微計(jì)算機(jī)信息.2009.
[4]王瑜,胡記文.基于 3G 視頻的駕駛員疲勞狀態(tài)檢測(cè)方法[J].電子科技.2011.
[5]趙有靈,吳文嫻,高政,陳學(xué)文.基于TMS230DM643的駕駛疲勞實(shí)時(shí)視覺(jué)檢測(cè)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用.2011.