文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)11-0089-03
眼動(dòng)識(shí)別是一種通過在視頻幀中不斷檢測(cè)眼睛及眼球位置來判斷眼球注視以及移動(dòng)方向的過程。眼動(dòng)識(shí)別有非常重要的研究意義,在心理學(xué)、醫(yī)學(xué)、設(shè)計(jì)學(xué)[1]、工效安全、人機(jī)交互[2-3]和軍事領(lǐng)域[4]上都有廣泛的應(yīng)用和深遠(yuǎn)的前景。
當(dāng)下最尖端的眼動(dòng)識(shí)別系統(tǒng)主要是通過PC組合Web camera來進(jìn)行視覺處理[5-6]。然而PC用作主要計(jì)算處理單元體積過于龐大,不足以滿足實(shí)際應(yīng)用的環(huán)境要求,僅能作為實(shí)驗(yàn)環(huán)境測(cè)試之用。由此頭盔式的眼動(dòng)識(shí)別設(shè)備應(yīng)運(yùn)而生,這類產(chǎn)品雖能夠部分解決無法攜帶的問題,但是使用者的舒適感較差,更重要的是運(yùn)算的速度和準(zhǔn)確度卻大大降低。
而智能相機(jī)以其嵌入式、低功耗的處理器,使快速算法成為可能,尤其在自動(dòng)化檢測(cè)應(yīng)用中其優(yōu)越和穩(wěn)定的性能,配合小巧緊湊的結(jié)構(gòu),非常適合于實(shí)時(shí)眼動(dòng)識(shí)別應(yīng)用程序的執(zhí)行。
1 眼動(dòng)識(shí)別算法提出
Fleck等提出在智能相機(jī)中使用FPGA模塊,通過粒子濾波器模型來實(shí)時(shí)識(shí)別跟蹤[7],這個(gè)方法需要用大量的樣本,環(huán)境越復(fù)雜,描述后驗(yàn)概率分布所需要的樣本數(shù)量就越多,算法的復(fù)雜度就越高。另外,重采樣造成的樣本有效性和多樣性的損失,會(huì)導(dǎo)致樣本貧化現(xiàn)象。本文在虹膜識(shí)別應(yīng)用的基礎(chǔ)上[8],設(shè)計(jì)開發(fā)了應(yīng)用在智能相機(jī)中的軟件來完成眼動(dòng)識(shí)別的功能,包括模板匹配、邊緣檢測(cè)、識(shí)別和標(biāo)識(shí)黑眼球中心位置等。在一般的眼動(dòng)識(shí)別算法中,進(jìn)行眼動(dòng)識(shí)別前,首先要對(duì)人臉進(jìn)行檢測(cè),以提高眼動(dòng)識(shí)別追蹤算法的精確度[9]。本文提出直接選定左眼為感興趣區(qū)域的方法,快而準(zhǔn)確,然后在感興趣區(qū)域內(nèi)匹配黑眼球相對(duì)眼睛的位置,不同位置標(biāo)明不同眼動(dòng)方向,以此識(shí)別當(dāng)前眼動(dòng)狀態(tài),若隨時(shí)間變化實(shí)時(shí)檢測(cè)就能起到眼球運(yùn)動(dòng)識(shí)別的效果。
2 基于智能相機(jī)的眼動(dòng)識(shí)別設(shè)計(jì)
2.1 眼動(dòng)識(shí)別方法流程分析
將攝像頭設(shè)定為連續(xù)檢測(cè)眼動(dòng)信息的狀態(tài),進(jìn)行圖像采集和檢測(cè)。圖1所示為實(shí)時(shí)眼動(dòng)識(shí)別算法的流程圖。
(1)圖像獲取:用圖像傳感器獲取測(cè)試對(duì)象的圖片,設(shè)置光圈、曝光時(shí)間和增益。
(2)圖像預(yù)處理:將原始圖像轉(zhuǎn)換成灰度圖像。設(shè)計(jì)目標(biāo)是每秒數(shù)十幀的實(shí)時(shí)檢測(cè),灰度圖足以表現(xiàn)面部為主圖像的邊緣和特征,能夠快速進(jìn)行大量的模板匹配算法。
(3)眼部檢測(cè):預(yù)先設(shè)計(jì)制作眼部區(qū)域的模板。因?yàn)槿祟愌劬υ谏砩暇哂须p眼旋轉(zhuǎn)運(yùn)動(dòng)協(xié)調(diào)特性,故單眼模板兼具速度和可信度。運(yùn)用模板匹配的方法在當(dāng)前幀圖像中檢測(cè)與模板相似的部分,設(shè)置相似度的度量值,由于制作模板民實(shí)際檢測(cè)時(shí)光照條件不完全相同,還存在圖像的形變,根據(jù)測(cè)試通常將最小閾值設(shè)定在600左右最佳(最大為1 000)。
(4)前視模板、左視模板和右視模板:對(duì)感興趣區(qū)域依次匹配黑眼球位置的模板,默認(rèn)常態(tài)下眼睛處于前視狀態(tài),若不匹配則再嘗試匹配左視和右視模板。在三個(gè)模板的匹配范圍內(nèi)都不符合時(shí),記錄為無匹配方向。無匹配方向的意義,例如用于行車安全系統(tǒng)中,可認(rèn)為視線脫離安全駕駛狀態(tài)。
(5)確定眼球方向:將第(4)步中識(shí)別到的匹配模板對(duì)應(yīng)返回一個(gè)眼動(dòng)方向,并記錄、顯示于屏幕上。
(6)記錄眼睛坐標(biāo):計(jì)算黑眼球的中心坐標(biāo)。正視時(shí)取正圓的圓心,左、右視時(shí)取橢圓兩焦點(diǎn)的中點(diǎn),作為當(dāng)前眼睛的坐標(biāo)點(diǎn)。
(7)標(biāo)識(shí)當(dāng)前位置:將第(6)步的坐標(biāo)作為坐標(biāo)系原點(diǎn),創(chuàng)建坐標(biāo)系,并疊加于圖像的圖層上,完成當(dāng)前幀圖像的檢測(cè),開始下一幀采集。
這種方法可以應(yīng)用于各種類型的智能相機(jī)上,并可運(yùn)用各種編程語言來實(shí)現(xiàn)。本文采用“G”語言(圖形化的程序語言),它提供了儀器編程和數(shù)據(jù)采集的便捷途徑,在進(jìn)行原理研究、設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。
2.2 硬件平臺(tái)設(shè)計(jì)
通過NI 1772 SMART CAMERA和觸控屏(或顯示屏),即可獨(dú)立完成實(shí)時(shí)眼動(dòng)識(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串行連接動(dòng)態(tài)地控制照明,通過千兆以太網(wǎng)I/P和TCP/IP協(xié)議,實(shí)現(xiàn)與觸摸屏(HMIS)相連接進(jìn)行人機(jī)交互,完成配置調(diào)整和檢測(cè)圖像和參數(shù)實(shí)時(shí)反饋。
2.3 軟件設(shè)計(jì)與實(shí)現(xiàn)
如圖2所示,根據(jù)圖1所示流程算法,設(shè)計(jì)了軟件程序。
VBAI編譯的算法程序分兩個(gè)步驟,首先要規(guī)劃子模塊的次序,合理布局分支的結(jié)構(gòu),降低幀率的損失,提高程序可讀性便于修改。然后對(duì)應(yīng)每個(gè)子模塊的作用,完善各個(gè)模塊的功能。
由箭頭相連接的為子模塊,方框內(nèi)是具體每個(gè)模塊的子函數(shù)。子模塊acq實(shí)現(xiàn)采集圖像,子模塊Inspect center、Inspect left、Inspect right完成尋找眼部感興趣區(qū)域(本文中使用左眼為ROI),并對(duì)該區(qū)域進(jìn)行多次匹配,確定當(dāng)前眼球所處狀態(tài),顯示對(duì)應(yīng)狀態(tài)的反饋提示;子模塊Inspect 2提示處理檢測(cè)過程中的錯(cuò)誤信息,與用戶顯示界面進(jìn)行信息傳遞等。
(1)acq(圖像獲?。┲凶雍瘮?shù):
Acquire Image: 通過智能相機(jī)的圖像傳感器獲取單幀圖像,圖像為灰度圖。
(2)Inspect center、Inspect left、Inspect right(正視檢測(cè)、左視檢測(cè)、右視檢測(cè))中分別有以下4個(gè)子函數(shù):
①Eye Match Pattern: 眼動(dòng)匹配。在調(diào)試階段預(yù)先設(shè)置好匹配模板,分左視模板(橢圓形模板)、正視(圓形模板)、右視(橢圓形模板)3個(gè)。測(cè)試檢測(cè)時(shí),先匹配感興趣區(qū)域,減少需要處理的圖像范圍,然后在感興趣區(qū)域內(nèi)依次匹配3個(gè)模板,找到與某個(gè)模板的灰度特性相似的區(qū)域(設(shè)置在±45°范圍內(nèi)旋轉(zhuǎn)的區(qū)域都符合識(shí)別范圍),個(gè)數(shù)指定為最多一個(gè)。若沒有匹配對(duì)象也進(jìn)行第②步。
②Set Coordinate System:構(gòu)建坐標(biāo)系統(tǒng)。計(jì)算第①步中匹配區(qū)域的大小,并記錄該區(qū)域中心點(diǎn)位置(正圓的圓心或橢圓兩焦點(diǎn)的中點(diǎn))和匹配區(qū)域與模板對(duì)比傾斜的角度。對(duì)沒有匹配對(duì)象的幀跳過當(dāng)前步驟。
③Create Region of Interest:建立感興趣區(qū)域。以第②步的中心點(diǎn)位置為坐標(biāo)原點(diǎn),將感興趣區(qū)域設(shè)置為匹配到的眼動(dòng)區(qū)域,用圓標(biāo)記出眼球的位置。沒有匹配對(duì)象的幀則跳過當(dāng)前步驟。
④Draw Eye & Track: 標(biāo)識(shí)眼動(dòng)檢測(cè)結(jié)果。在采集到的實(shí)時(shí)圖像上覆蓋一個(gè)圖層,將眼球區(qū)域的中心點(diǎn)標(biāo)記在該圖層上。程序只記錄所有成功匹配的幀,此時(shí)匹配狀態(tài)值為真,在程序前面板上將匹配到的模板用對(duì)應(yīng)的“LEFT”、“CENTER”、“RIGHT”指示進(jìn)行標(biāo)識(shí)。
(3)Inspect 2(檢測(cè)統(tǒng)計(jì))中有以下3個(gè)子函數(shù):
①Calibrate Image at Eye Match Pattern:校正圖像坐標(biāo)。
②Set Inspection Status: 檢測(cè)狀態(tài)反饋。反饋此幀圖像是否順利進(jìn)行了眼動(dòng)信息識(shí)別,檢測(cè)過程中有無報(bào)錯(cuò),若值為“FAULT”則此幀檢測(cè)結(jié)果無效。
③Update Eye-tracking Result: 自定義一個(gè)前面板,即用戶界面。顯示實(shí)時(shí)采集到的圖像、檢測(cè)狀態(tài)、注視方向、標(biāo)識(shí)眼球位置等。
3 眼動(dòng)識(shí)別實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)方法
考慮到眼動(dòng)識(shí)別應(yīng)具有應(yīng)用的廣泛性,需要能夠在不同光照環(huán)境下工作,因此需要在不同光照條件下可以通過調(diào)整曝光時(shí)間來獲取較高質(zhì)量的檢測(cè)圖像,測(cè)試環(huán)境越暗,曝光時(shí)間越長,幀率越低。反之,光線越好的環(huán)境下幀率越高。實(shí)驗(yàn)中,模擬駕駛時(shí)眼部及頭部的自然狀態(tài),對(duì)實(shí)時(shí)眼動(dòng)識(shí)別算法進(jìn)行應(yīng)用實(shí)驗(yàn)。
以1 min內(nèi)獲得的實(shí)時(shí)數(shù)據(jù)作為分析樣本,分別測(cè)試了系統(tǒng)在無干擾測(cè)試狀態(tài)、頭部左右轉(zhuǎn)動(dòng)干擾(左右各45°以內(nèi))、面部角度傾斜干擾和特殊情況(佩戴眼鏡等局部遮擋)條件下的準(zhǔn)確性。每個(gè)測(cè)試條件分別在光線環(huán)境不同處,分40 f/s、50 f/s、60 f/s、80 f/s、100 f/s、112 f/s(max)6種不同圖像采集的速度進(jìn)行對(duì)比,并在幀率最高的情況下統(tǒng)計(jì)檢測(cè)100幀圖像的效率。
3.2 實(shí)驗(yàn)數(shù)據(jù)與分析
在“Set Inspection Status”的值為真的條件下,若識(shí)別到的眼動(dòng)狀態(tài)(左視、正視、右視、其他區(qū)域)與實(shí)際眼動(dòng)的狀態(tài)相符,則認(rèn)為是一次成功的檢測(cè),反之亦然。1 min內(nèi)測(cè)試正確率的數(shù)據(jù)整理后如表1所示。
由表2可知, 平均對(duì)100幀圖片進(jìn)行識(shí)別需要約40 ms,每幀僅需要0.4 ms,模板匹配部分作為識(shí)別檢測(cè)的重點(diǎn)占80%,實(shí)時(shí)性好,接近使用高性能的PC進(jìn)行圖像運(yùn)算,完全能夠應(yīng)用于實(shí)時(shí)在線眼動(dòng)識(shí)別檢測(cè)。
本文設(shè)計(jì)搭建了一個(gè)基于智能相機(jī)的實(shí)時(shí)眼動(dòng)識(shí)別系統(tǒng),拓寬了眼動(dòng)識(shí)別能夠應(yīng)用的場合,并自主設(shè)計(jì)了在該硬件系統(tǒng)平臺(tái)上可以運(yùn)行的眼動(dòng)識(shí)別軟件,進(jìn)行了大量不同環(huán)境和條件下的實(shí)驗(yàn)。反復(fù)大量的數(shù)據(jù)分析結(jié)果顯示,該方法和系統(tǒng)有較高的準(zhǔn)確性和非常出色的實(shí)時(shí)性。在無外界干擾、臉部角度傾斜和部分遮擋的條件下都達(dá)到了過九成的準(zhǔn)確率,尤其在臉部角度傾斜條件下,仍有平均95%以上的良好表現(xiàn)。
由于頭部轉(zhuǎn)動(dòng)對(duì)識(shí)別準(zhǔn)確率的影響較大,今后可以進(jìn)一步對(duì)該因素帶來的問題進(jìn)行研究。另外可以在頭部無較大移動(dòng)條件下,將本文中的眼球坐標(biāo)歸一到同一坐標(biāo)中,繪制眼動(dòng)軌跡進(jìn)行分析,應(yīng)用于其他眼動(dòng)識(shí)別的場合。
參考文獻(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.