文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)11-0089-03
眼動識別是一種通過在視頻幀中不斷檢測眼睛及眼球位置來判斷眼球注視以及移動方向的過程,。眼動識別有非常重要的研究意義,,在心理學(xué),、醫(yī)學(xué)、設(shè)計(jì)學(xué)[1],、工效安全,、人機(jī)交互[2-3]和軍事領(lǐng)域[4]上都有廣泛的應(yīng)用和深遠(yuǎn)的前景。
當(dāng)下最尖端的眼動識別系統(tǒng)主要是通過PC組合Web camera來進(jìn)行視覺處理[5-6],。然而PC用作主要計(jì)算處理單元體積過于龐大,,不足以滿足實(shí)際應(yīng)用的環(huán)境要求,僅能作為實(shí)驗(yàn)環(huán)境測試之用,。由此頭盔式的眼動識別設(shè)備應(yīng)運(yùn)而生,,這類產(chǎn)品雖能夠部分解決無法攜帶的問題,但是使用者的舒適感較差,,更重要的是運(yùn)算的速度和準(zhǔn)確度卻大大降低。
而智能相機(jī)以其嵌入式,、低功耗的處理器,,使快速算法成為可能,尤其在自動化檢測應(yīng)用中其優(yōu)越和穩(wěn)定的性能,,配合小巧緊湊的結(jié)構(gòu),,非常適合于實(shí)時眼動識別應(yīng)用程序的執(zhí)行。
1 眼動識別算法提出
Fleck等提出在智能相機(jī)中使用FPGA模塊,,通過粒子濾波器模型來實(shí)時識別跟蹤[7],,這個方法需要用大量的樣本,環(huán)境越復(fù)雜,,描述后驗(yàn)概率分布所需要的樣本數(shù)量就越多,,算法的復(fù)雜度就越高,。另外,重采樣造成的樣本有效性和多樣性的損失,,會導(dǎo)致樣本貧化現(xiàn)象,。本文在虹膜識別應(yīng)用的基礎(chǔ)上[8],設(shè)計(jì)開發(fā)了應(yīng)用在智能相機(jī)中的軟件來完成眼動識別的功能,,包括模板匹配,、邊緣檢測、識別和標(biāo)識黑眼球中心位置等,。在一般的眼動識別算法中,,進(jìn)行眼動識別前,首先要對人臉進(jìn)行檢測,,以提高眼動識別追蹤算法的精確度[9],。本文提出直接選定左眼為感興趣區(qū)域的方法,快而準(zhǔn)確,,然后在感興趣區(qū)域內(nèi)匹配黑眼球相對眼睛的位置,,不同位置標(biāo)明不同眼動方向,以此識別當(dāng)前眼動狀態(tài),,若隨時間變化實(shí)時檢測就能起到眼球運(yùn)動識別的效果,。
2 基于智能相機(jī)的眼動識別設(shè)計(jì)
2.1 眼動識別方法流程分析
將攝像頭設(shè)定為連續(xù)檢測眼動信息的狀態(tài),進(jìn)行圖像采集和檢測,。圖1所示為實(shí)時眼動識別算法的流程圖,。
(1)圖像獲取:用圖像傳感器獲取測試對象的圖片,,設(shè)置光圈,、曝光時間和增益。
(2)圖像預(yù)處理:將原始圖像轉(zhuǎn)換成灰度圖像,。設(shè)計(jì)目標(biāo)是每秒數(shù)十幀的實(shí)時檢測,,灰度圖足以表現(xiàn)面部為主圖像的邊緣和特征,能夠快速進(jìn)行大量的模板匹配算法。
(3)眼部檢測:預(yù)先設(shè)計(jì)制作眼部區(qū)域的模板,。因?yàn)槿祟愌劬υ谏砩暇哂须p眼旋轉(zhuǎn)運(yùn)動協(xié)調(diào)特性,,故單眼模板兼具速度和可信度。運(yùn)用模板匹配的方法在當(dāng)前幀圖像中檢測與模板相似的部分,,設(shè)置相似度的度量值,,由于制作模板民實(shí)際檢測時光照條件不完全相同,還存在圖像的形變,,根據(jù)測試通常將最小閾值設(shè)定在600左右最佳(最大為1 000),。
(4)前視模板、左視模板和右視模板:對感興趣區(qū)域依次匹配黑眼球位置的模板,,默認(rèn)常態(tài)下眼睛處于前視狀態(tài),,若不匹配則再嘗試匹配左視和右視模板,。在三個模板的匹配范圍內(nèi)都不符合時,記錄為無匹配方向,。無匹配方向的意義,,例如用于行車安全系統(tǒng)中,可認(rèn)為視線脫離安全駕駛狀態(tài),。
(5)確定眼球方向:將第(4)步中識別到的匹配模板對應(yīng)返回一個眼動方向,,并記錄、顯示于屏幕上,。
(6)記錄眼睛坐標(biāo):計(jì)算黑眼球的中心坐標(biāo),。正視時取正圓的圓心,左,、右視時取橢圓兩焦點(diǎn)的中點(diǎn),,作為當(dāng)前眼睛的坐標(biāo)點(diǎn)。
(7)標(biāo)識當(dāng)前位置:將第(6)步的坐標(biāo)作為坐標(biāo)系原點(diǎn),,創(chuàng)建坐標(biāo)系,,并疊加于圖像的圖層上,完成當(dāng)前幀圖像的檢測,,開始下一幀采集,。
這種方法可以應(yīng)用于各種類型的智能相機(jī)上,并可運(yùn)用各種編程語言來實(shí)現(xiàn),。本文采用“G”語言(圖形化的程序語言),,它提供了儀器編程和數(shù)據(jù)采集的便捷途徑,在進(jìn)行原理研究,、設(shè)計(jì),、測試并實(shí)現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率,。
2.2 硬件平臺設(shè)計(jì)
通過NI 1772 SMART CAMERA和觸控屏(或顯示屏),即可獨(dú)立完成實(shí)時眼動識別的圖像采集,、圖像處理、圖像分析和信息反饋等步驟,。系統(tǒng)非常精簡,,大大降低了可以應(yīng)用場合的限制。
NI 1772智能相機(jī)使用Intel Atom Z530(1.6 GHz處理器),,內(nèi)有512 MB的RAM;圖像傳感器為Kodak KAI-0340S 單色CCD(分辨率640×480(VGA),,最大可用幀速率114 f/s),。通過RS232串行連接動態(tài)地控制照明,通過千兆以太網(wǎng)I/P和TCP/IP協(xié)議,,實(shí)現(xiàn)與觸摸屏(HMIS)相連接進(jìn)行人機(jī)交互,,完成配置調(diào)整和檢測圖像和參數(shù)實(shí)時反饋,。
2.3 軟件設(shè)計(jì)與實(shí)現(xiàn)
如圖2所示,根據(jù)圖1所示流程算法,,設(shè)計(jì)了軟件程序,。
VBAI編譯的算法程序分兩個步驟,首先要規(guī)劃子模塊的次序,,合理布局分支的結(jié)構(gòu),,降低幀率的損失,提高程序可讀性便于修改,。然后對應(yīng)每個子模塊的作用,,完善各個模塊的功能。
由箭頭相連接的為子模塊,,方框內(nèi)是具體每個模塊的子函數(shù),。子模塊acq實(shí)現(xiàn)采集圖像,子模塊Inspect center、Inspect left,、Inspect right完成尋找眼部感興趣區(qū)域(本文中使用左眼為ROI),,并對該區(qū)域進(jìn)行多次匹配,確定當(dāng)前眼球所處狀態(tài),,顯示對應(yīng)狀態(tài)的反饋提示,;子模塊Inspect 2提示處理檢測過程中的錯誤信息,與用戶顯示界面進(jìn)行信息傳遞等,。
(1)acq(圖像獲?。┲凶雍瘮?shù):
Acquire Image: 通過智能相機(jī)的圖像傳感器獲取單幀圖像,圖像為灰度圖,。
(2)Inspect center,、Inspect left、Inspect right(正視檢測,、左視檢測,、右視檢測)中分別有以下4個子函數(shù):
①Eye Match Pattern: 眼動匹配。在調(diào)試階段預(yù)先設(shè)置好匹配模板,,分左視模板(橢圓形模板),、正視(圓形模板)、右視(橢圓形模板)3個,。測試檢測時,,先匹配感興趣區(qū)域,減少需要處理的圖像范圍,,然后在感興趣區(qū)域內(nèi)依次匹配3個模板,,找到與某個模板的灰度特性相似的區(qū)域(設(shè)置在±45°范圍內(nèi)旋轉(zhuǎn)的區(qū)域都符合識別范圍),個數(shù)指定為最多一個,。若沒有匹配對象也進(jìn)行第②步,。
②Set Coordinate System:構(gòu)建坐標(biāo)系統(tǒng),。計(jì)算第①步中匹配區(qū)域的大小,并記錄該區(qū)域中心點(diǎn)位置(正圓的圓心或橢圓兩焦點(diǎn)的中點(diǎn))和匹配區(qū)域與模板對比傾斜的角度,。對沒有匹配對象的幀跳過當(dāng)前步驟,。
③Create Region of Interest:建立感興趣區(qū)域。以第②步的中心點(diǎn)位置為坐標(biāo)原點(diǎn),,將感興趣區(qū)域設(shè)置為匹配到的眼動區(qū)域,,用圓標(biāo)記出眼球的位置。沒有匹配對象的幀則跳過當(dāng)前步驟,。
④Draw Eye & Track: 標(biāo)識眼動檢測結(jié)果,。在采集到的實(shí)時圖像上覆蓋一個圖層,將眼球區(qū)域的中心點(diǎn)標(biāo)記在該圖層上,。程序只記錄所有成功匹配的幀,,此時匹配狀態(tài)值為真,在程序前面板上將匹配到的模板用對應(yīng)的“LEFT”,、“CENTER”,、“RIGHT”指示進(jìn)行標(biāo)識。
(3)Inspect 2(檢測統(tǒng)計(jì))中有以下3個子函數(shù):
①Calibrate Image at Eye Match Pattern:校正圖像坐標(biāo),。
②Set Inspection Status: 檢測狀態(tài)反饋,。反饋此幀圖像是否順利進(jìn)行了眼動信息識別,檢測過程中有無報(bào)錯,,若值為“FAULT”則此幀檢測結(jié)果無效,。
③Update Eye-tracking Result: 自定義一個前面板,即用戶界面,。顯示實(shí)時采集到的圖像,、檢測狀態(tài)、注視方向,、標(biāo)識眼球位置等,。
3 眼動識別實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)方法
考慮到眼動識別應(yīng)具有應(yīng)用的廣泛性,需要能夠在不同光照環(huán)境下工作,,因此需要在不同光照條件下可以通過調(diào)整曝光時間來獲取較高質(zhì)量的檢測圖像,,測試環(huán)境越暗,曝光時間越長,,幀率越低,。反之,光線越好的環(huán)境下幀率越高,。實(shí)驗(yàn)中,,模擬駕駛時眼部及頭部的自然狀態(tài),對實(shí)時眼動識別算法進(jìn)行應(yīng)用實(shí)驗(yàn)。
以1 min內(nèi)獲得的實(shí)時數(shù)據(jù)作為分析樣本,,分別測試了系統(tǒng)在無干擾測試狀態(tài)、頭部左右轉(zhuǎn)動干擾(左右各45°以內(nèi)),、面部角度傾斜干擾和特殊情況(佩戴眼鏡等局部遮擋)條件下的準(zhǔn)確性,。每個測試條件分別在光線環(huán)境不同處,分40 f/s,、50 f/s,、60 f/s、80 f/s,、100 f/s,、112 f/s(max)6種不同圖像采集的速度進(jìn)行對比,并在幀率最高的情況下統(tǒng)計(jì)檢測100幀圖像的效率。
3.2 實(shí)驗(yàn)數(shù)據(jù)與分析
在“Set Inspection Status”的值為真的條件下,,若識別到的眼動狀態(tài)(左視,、正視、右視,、其他區(qū)域)與實(shí)際眼動的狀態(tài)相符,則認(rèn)為是一次成功的檢測,反之亦然,。1 min內(nèi)測試正確率的數(shù)據(jù)整理后如表1所示。
由表2可知,, 平均對100幀圖片進(jìn)行識別需要約40 ms,,每幀僅需要0.4 ms,模板匹配部分作為識別檢測的重點(diǎn)占80%,,實(shí)時性好,,接近使用高性能的PC進(jìn)行圖像運(yùn)算,完全能夠應(yīng)用于實(shí)時在線眼動識別檢測,。
本文設(shè)計(jì)搭建了一個基于智能相機(jī)的實(shí)時眼動識別系統(tǒng),,拓寬了眼動識別能夠應(yīng)用的場合,并自主設(shè)計(jì)了在該硬件系統(tǒng)平臺上可以運(yùn)行的眼動識別軟件,,進(jìn)行了大量不同環(huán)境和條件下的實(shí)驗(yàn),。反復(fù)大量的數(shù)據(jù)分析結(jié)果顯示,該方法和系統(tǒng)有較高的準(zhǔn)確性和非常出色的實(shí)時性,。在無外界干擾,、臉部角度傾斜和部分遮擋的條件下都達(dá)到了過九成的準(zhǔn)確率,尤其在臉部角度傾斜條件下,,仍有平均95%以上的良好表現(xiàn),。
由于頭部轉(zhuǎn)動對識別準(zhǔn)確率的影響較大,今后可以進(jìn)一步對該因素帶來的問題進(jìn)行研究,。另外可以在頭部無較大移動條件下,,將本文中的眼球坐標(biāo)歸一到同一坐標(biāo)中,繪制眼動軌跡進(jìn)行分析,應(yīng)用于其他眼動識別的場合,。
參考文獻(xiàn)
[1] FRANGESKIDES A L. A hands-free non-invasive human compuer interation system[J]. Advances in Systems, Computing Sciences and Software Engineering, 2006:235-242.
[2] Lu Wanxuan, Li Mi, Lu Shengfu, et al. Impact of information Overload for Visual Search on Web Pages: An Eyetracking Study[C]. Proc. 2010 IEEE/ICME International Conference on Complex Medical Engineering. Gold Coast, Australia, July 2010:13-15.
[3] JAVIER Orozco, F.XAVIER Roca, JORDI Gonzàlez. Realtime gaze tracking with appearance-based Models[J].Machine Vision and Applications,October,2009,20(6):353-364.
[4] KIRCHER J C, COOK A E, HACKER D J. Deception detection using oculomotor movements[J]. United States Patent Application Publication, Dec. 23, 2010: US 2010/0324454 A1.
[5] GARG R, GUPTA V, AGRAWAL V. Efficient iris recognition method for identification[C]. in Proc. ICUMT,2009:1-6.
[6] PEREZ C A, LAZCANO V A, PABLO A. Estévez, et al. Held. Real-time iris detection on faces with coronal axis rotation [C]. in Proc. SMC (7) 2004: 6389-6394.
[7] FLECK S, LANWER S, STRABER W. A smart camera approach to realtime tracking[C]. 13th European Signal Processing Conference,EUSIPCO, 2005.
[8] MEHRUBEOGLU M, BUI H T, MCLAUCHLAN L. Realtime iris tracking with a smart camera[C]. Proceedings of SPIE, vol. 7871, Real-Time Image and Video Processing. N. Kehtarnavaz and M. F. Carlsohn, Eds. 787104, EI,Feb. 2011.
[9] Chen Youngsheng, Su Chanhung, Chen Chusong, et al. Video-based eye tracking for autostereoscopic displays[J]. Optical Engineering, 2001,40(12):2726-2734.