千承輝,袁錦烽,陳冠宇,孫澎勇
(吉林大學 儀器科學與電氣工程學院, 長春 130061)
運動物體的頭戴式視線追蹤控制系統(tǒng)設計*
千承輝,袁錦烽,陳冠宇,孫澎勇
(吉林大學 儀器科學與電氣工程學院, 長春 130061)
設計了一種基于嵌入式的頭戴式視線追蹤控制系統(tǒng)。它將實際運動物體作為控制對象,以人眼為控制源,采用圖像處理算法和坐標映射模型,實現(xiàn)視線追蹤技術。通過質(zhì)心檢測和橢圓擬合算法的比較與優(yōu)化,系統(tǒng)定位瞳孔中心的角度誤差精確到1.4°以內(nèi),再利用最小二乘法進行視線空間坐標變換,最終控制運動對象移動到注視點。實驗結果表明,人眼距離被控對象2 m內(nèi)時,被控對象的定點誤差在5 cm內(nèi),系統(tǒng)響應時間在0.3 s內(nèi),滿足用戶日常操作要求。
視線追蹤;瞳孔定位;最小二乘法;空間坐標變換;嵌入式系統(tǒng)
隨著計算機視覺技術的發(fā)展,利用視線追蹤技術通過人眼來傳遞信息的方法在國內(nèi)外成為熱門研究方向。視線追蹤是利用機械、電子、光學等各種檢測手段獲取用戶當前“注視方向”的技術[1-2]。在國外,EyeTrackShop公司致力于視線追蹤技術的開發(fā),Google公司利用視線追蹤技術,保證用戶能看到他們線上投放的廣告。在飛思卡爾技術論壇上,其公司向人們展示了視線追蹤“看哪指哪”的先進技術[3]。國內(nèi)北京津發(fā)科技股份有限公司作為Tobii官方授權代理商,推出一系列眼動儀?,F(xiàn)階段的產(chǎn)品始終處于高科技產(chǎn)品的前沿,未能普及到人們的日常生活。一方面,由于其視線信息的處理依賴于計算機,尚未完全獨立化,限制了用戶的移動空間;另一方面,產(chǎn)品功能始終限定于人與計算機的交互,如光標移動[4]、閱讀翻頁、打字、游戲等,生活中大多數(shù)的實物控制能力卻鮮有被挖掘。
本文主要研究擺脫計算機處理的視線追蹤技術,利用嵌入式處理器和紅外攝像頭設計一款頭戴式視線追蹤控制系統(tǒng)。為了驗證該系統(tǒng)控制智能車或家庭機器人運動的可行性,搭建50 cm×50 cm的方形運動平臺為操作目標,模擬實現(xiàn)了這項功能,成功使視線追蹤系統(tǒng)獨立化,擴大實體應用范圍,并提高了性價比。
1.1 頭戴式視線追蹤裝置設計
裝置硬件電路主要包括飛思卡爾K60最小系統(tǒng)、Mt9v032攝像頭、TFT顯示屏、藍牙、鍵盤和紅外補光電路。Mt9v032數(shù)字圖像傳感器具有全局快門、高動態(tài)性能和自動曝光等優(yōu)點,適合應用于車載、頭戴等系統(tǒng)位置動蕩大的場合,并有效抓拍高速運動的物體,解決普通攝像頭拍攝圖像模糊、不利于圖像處理的問題。選用的是Kinetis K60(以下簡稱K60)系列MCU,工作電壓最低達1.71 V,采用ARM Cortex-M4內(nèi)核,性能可達到1.25 Dhrystone MIPS/MHz,最高達180 MHz的工作頻率,低功耗特征適合代替計算機進行便攜式系統(tǒng)上的圖像處理。
通過設計的頭戴系統(tǒng)結構將攝像頭置于左眼前方,在攝像頭外圍安裝紅外發(fā)光管對人眼進行補光。工作時,K60通過8位數(shù)據(jù)總線、采用DMA方式將攝像頭采集的人眼灰度數(shù)據(jù)快速存儲到RAM中,每一次場中斷信號給出,K60便對RAM中的圖像數(shù)組進行處理。鍵盤電路選擇進入初始化狀態(tài)或工作狀態(tài)。HC-05藍牙與MCU進行串口通信,實現(xiàn)與被控對象的無線通信。顯示屏用于顯示瞳孔定位圖像,便于用戶自己校正。系統(tǒng)硬件電路框圖如圖1所示。
圖1 頭戴式視線追蹤設備硬件系統(tǒng)框圖
1.2 被控運動平臺設計
運動平臺是為衡量頭戴式視線追蹤系統(tǒng)對實物精準控制的可行性而輔助設計的,其最重要的是和視線追蹤系統(tǒng)達成運動協(xié)議,接收指令并能按要求運動。該平臺設計主要包括:STM32控制器、藍牙、L298N電機驅(qū)動電路、紅外對管檢測電路,選用直流減速編碼電機可實現(xiàn)導軌滑塊的精確移動。平臺上的每一小格為1 cm,x軸和y軸交叉點為視線注視點。硬件實物與實際操作示意圖如圖2所示。
圖2 視線追蹤系統(tǒng)操作過程圖
2.1 人眼瞳孔精確定位
2.1.1 人眼圖像預處理
為了提高算法效率,使系統(tǒng)具有快速響應能力,選取窄視野紅外攝像頭距離人眼3 cm處,只采集眼部圖像灰度信息,灰度值為0~255。采用8個紅外二極管圍繞攝像頭進行光線補償,易于分割瞳孔和眼角,并用中值濾波的方法對圖像進行去噪。
2.1.2 自適應閾值進行圖像二值化
最大類間方差法是自適應的閾值確定方法[5],在處于不同光線環(huán)境中能較明顯地分割圖像。為了避免嵌入式處理器算法效率低的缺點,只獲取圖像中存在的像素灰度值,逐次遍歷該部分值,可以使遍歷次數(shù)銳減,是一種改進型最大類間方差法[6]。為進一步提高效率,將圖像進行線性灰度變換,擴大灰度值之差后再通過改進型最大類間方差法確定閾值。設圖像中像素點所在行為i,所在列為j,某一個像素點值為image[i][j],線性灰度變換后的像素點為image1[i][j],增強倍數(shù)為A,則有:
(1)
經(jīng)驗證A=3~5較合適,該方法既能去除大部分灰度值較大的點,又能進一步減少最大類間方差法遍歷次數(shù),根據(jù)增強倍數(shù)A的不同,算法效率會提高3~5倍。
2.1.3 去除二值化圖像中小面積區(qū)域
由于睫毛、眼角灰度值接近瞳孔,二值化圖像中仍存在少量雜散區(qū)域,且在系統(tǒng)動態(tài)測試中這種雜散區(qū)域不可能僅靠二值化消除。對比發(fā)現(xiàn)完整的瞳孔是圖像中面積最大的部分,計算機MATLAB軟件或OpenCV中自帶保留圖像最大面積的庫函數(shù),容易解決這個問題。而嵌入式處理器的裸機程序一般不具備這種功能,為此本文研究并設計一種嵌入式圖像處理的通用算法,去除瞳孔周圍面積小的黑色區(qū)域,保留最大的瞳孔區(qū)域。思路如下:
① 對圖像中獨立的白點進行區(qū)域填充,若中心像素為255,且其鄰域的8個點像素為0的個數(shù)大于4,則改變中心像素為0,否則為255。
② 逐行進行圖像掃描,將每一行中每段像素值為0且相鄰的點信息計入數(shù)組a[i,cols,cole],其中i為所在行數(shù),cols為該段像素起始列,cole為該段像素結束列。
③ 利用a[i,cols,cole]數(shù)組,判段二值化圖像中相鄰兩行像素段是否連接。設第一行像素段信息為a[i,cols1,cole1],第二行像素段信息為a[i+1,cols2,cole2],若cols1 ④ 利用a[i,cols,cole,n]數(shù)組,判斷同一行分開的兩段像素是否為一類。若該兩段像素由下面某一行像素段傳遞連接,則該兩段像素為同一類像素。 ⑤ 經(jīng)過上述步驟處理后,圖像中每一塊黑色區(qū)域分為不同的類,計算每一類像素點的個數(shù),保留最大類所對應的區(qū)域,改變其余像素點為白色。 該算法具有通用性,可移植到其他32位嵌入式處理器中。通過改進的最大類間方差法得到的效果圖如圖3所示,其中圖3(d)圖中的黑色區(qū)域表示提取出的瞳孔。結果表明去除小面積算法具有很好的效果。 圖3 改進型最大類間方差法效果圖 2.1.4 定位瞳孔中心 通過去除小面積算法處理后,圖像中只剩下瞳孔區(qū)域,近似為橢圓,確定該區(qū)域中心目前較精確的算法是Hough變換[7-9]和橢圓擬合算法[10],但數(shù)據(jù)處理量較大,考慮到嵌入式處理器的速度和算法效率,在處理得到的橢圓圖像較完整的情況下,采用質(zhì)心檢測算法確定橢圓幾何中心,在時間上有極大的優(yōu)越性。設瞳孔中心為(x, y),瞳孔中像素點的橫坐標為xi,縱坐標為yj,瞳孔像素點個數(shù)為N,則有: (2) 確定瞳孔中心后的瞳孔定位圖像效果如圖4所示,圖中十字叉中心即為瞳孔中心。 圖4 最終瞳孔定位圖像 2.2 視線坐標與運動平臺空間坐標映射 視線坐標映射到平臺所在空間的方法有橢圓法、線方向法[11]、瞳孔-角膜反射法[11-12]和二維空間坐標擬合[13-14]等方法。橢圓法線方向法需要高分辨率眼睛圖像,加大數(shù)據(jù)量;對比瞳孔-角膜反射法和二維空間坐標擬合,選擇數(shù)據(jù)處理量少、算法效率較高的二維空間坐標擬合方法。 視線注視點的二維坐標(X , Y)與系統(tǒng)測定瞳孔中心坐標(x , y)存在有規(guī)律的映射關系,眼睛是一個球面,而平臺是平面,并且地面上的平臺與眼睛呈復雜的空間位置關系。通過觀察視線在平臺上的橫向移動發(fā)現(xiàn),瞳孔不僅發(fā)生橫向移動,也發(fā)生了縱向移動。采集50對坐標(Xn, Yn)和(xn, yn),通過等精度線性參數(shù)最小二乘算法處理后,發(fā)現(xiàn)視線坐標與平臺空間坐標存在如下映射關系: (3) 采取的方案是每次用戶使用之前,系統(tǒng)初始化確定式(3)的各項系數(shù)。初始化選取被控服務平臺的特征點為圖5中的9個標黑點,并建立誤差方程: 圖5 運動平臺初始定位點平面圖 (4) 最小二乘條件如下: (5) 通過求解對應的正規(guī)方程可求得式(3)各項系數(shù)的最佳估計值,并以此建立實現(xiàn)坐標空間映射模型。 用戶戴上視線追蹤系統(tǒng)后,選擇初始化模式,分別觀察視場中的9個指定點,通過K60控制器對人眼區(qū)域圖像數(shù)據(jù)進行處理,記錄瞳孔坐標并進行參數(shù)解算,初始化完畢。選擇工作模式,系統(tǒng)即根據(jù)視線注視方向?qū)Ρ豢貙ο蟀l(fā)送控制命令,并將處理后的標記圖像以顯示屏顯示,方便用戶自己校準。系統(tǒng)軟件流程圖如圖6所示,其中圖6(a)為系統(tǒng)總體流程設計,圖6(b)為初始化過程的子流程設計。 圖6 系統(tǒng)軟件流程圖 運動平臺操作過程為:藍牙實時接收數(shù)據(jù),STM32控制器對數(shù)據(jù)進行解碼,得到視線注視點在運動平臺上的坐標,從而驅(qū)動電機使絲杠導軌上的滑塊移動到標定點,并利用編碼器進行閉環(huán)控制,達到精確控制的目的。 系統(tǒng)采用的飛思卡爾K60控制器,頻率為100 MHz,攝像頭采集圖像像素為120×188,被控對象運動平臺尺寸為50 cm×50 cm。測試主要從平臺運動準確性和系統(tǒng)響應時間進行衡量。系統(tǒng)響應時間是指用戶視線改變時到平臺開始運動所需要的時間,由MDK軟件在線仿真計時,由此可測試出算法速度。 測試時,同一用戶眼睛距離平臺D為2 m,隨機注視平臺任一點。圖7中圓點為指定注視點,十字叉為平臺運動點,對視線追蹤系統(tǒng)指標有一個直觀了解,再從表1中可看出定點誤差半徑Δr均在5 cm內(nèi),對應的瞳孔定位角度誤差為θ,由數(shù)學近似計算可得: (6) 解得θ=1.4°。 圖7 視線追蹤控制結果 測試次數(shù)123456誤差半徑/cm3.642.824.583.792.214.06響應時間/s0.2630.2470.2560.2880.2750.251測試次數(shù)789101112誤差半徑/cm4.023.354.432.983.264.67響應時間/s0.2890.2680.2740.2720.2640.290測試次數(shù)131415161718誤差半徑/cm2.121.383.452.564.723.16響應時間/s2.142.512.662.432.782.88 將測試100次的誤差數(shù)據(jù)繪制成圖8。計算出誤差半徑平均值為3.3 cm,方差為0.61,可直觀看出誤差誤差最大不超過4.8 cm,最小為1.1 cm。 圖8 多次同一距離測試結果 當用戶每增加10 cm距離注視平臺上5個不同點時,得到誤差與距離的曲線圖如圖9所示。其中黑點是固定距離每個點的誤差值,黑色曲線是誤差平均值??煽闯龆ㄎ话霃秸`差與距離成線性關系,原理由式(6)給出。 圖9 視線追蹤控制結果 經(jīng)過分析,出現(xiàn)誤差的主要原因是攝像頭與眼睛有相對位移,因為操作者有輕微的頭部運動,像素分辨率不夠高。另外,運動平臺閉環(huán)控制本身具有的誤差和連續(xù)運行情況下的多次累積誤差也會影響每一次定點效果。 [1] 張闖,遲健男, 張朝暉,等.視線追蹤系統(tǒng)中視線估計方法研究[J].中國科學,2011,41(5):580-591. [2] Tamara van Gog. Eye tracking as a tool to study and enhance multimedia learning[J].Learning and Instruction,2010,20(2):95-99. [3] 李星宇.飛思卡爾i.MX6應用處理器助力機器視覺應用[J].單片機與嵌入式系統(tǒng)應用,2015(2):82-83. [4] 朱麒文,閆隆鑫, 張若蘭,等.基于視線追蹤的眼孔鼠標設計[J].電子器件,2016,39(2):235-240. [5] 王璇,張帆,程京. 基于改進最大類間方差法的灰度圖像分割[J].微計算機信息,2010,26(12):206-207. [6] 黃麗麗 , 楊帆 , 王東強, 等.基于改進型最大類間方差法的瞳孔定位方法[J].計算機工程與應用,2013,49(23):137-140. [7] 張林,王保強.一種改進的基于Hough變換的虹膜定位算法[J].電子技術應用,2014,40(4):66-69. [8] 陳立,萬鵬,何濤,等.基于Hough變換的亞像素橢圓檢測[J].湖北工業(yè)大學學報,2005(5):132-134. [9] 楊蘇.基于局部分析的Hough變換形狀檢測關鍵技術研究[D].秦皇島:燕山大學,2009. [10] 陳健,鄭紹華, 潘林,等. 結合橢圓擬合與參數(shù)傳遞的瞳孔檢測方法[J].儀器儀表學報,2014,35(8): 1890-1899. [11] 張闖,遲健男, 張朝暉 .一種新的基于瞳孔-角膜反射技術的視線追蹤方法[J].計算機學報,2010,33(7):1272-1285. [12] 曹曄.穿戴式視線追蹤系統(tǒng)研究[J].計算機與數(shù)字工程,2016,44(6):1085-1088. [13] Shin Y G, Choi K A, Kim S T, et al. A novel 2D mapping-based remote eye gaze tracking method using two IR light sources[C]//Proc of IEEE International Conference on Consumer Electronics,las,vegas:2015: 190-191. [14] Hansen D W, Ji Q. In the eye of the beholder: A survey of models for eyes and gaze[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2010, 32(3): 478-500. 千承輝(高級工程師),主要研究方向為傳感器與智能儀器。 Head Mounted Eye Tracking Control System of Moving Object Qian Chenghui,Yuan Jinfeng,Chen Guanyu,Sun Pengyong (College of Instrumentation and Electrical Engineering,Jilin University,Changchun 130061,China) In the paper,a head mounted eye tracking control system based on embedded system is designed.It takes actual moving object as the control object and human eye as the control source,then it uses image processing algorithm and coordinate mapping model to realize the eye tracking technology.Through the optimization and synthesis of centroid detection and ellipse fitting algorithm,the accuracy of locating the pupil center of the system is less than 1.4°.By using the least square method to coordinate the line of sight space,this system can finally control the moving parts to the specified points.The experiment results show that the fixed point error of the controlled object is less than 5 cm when the human eye is within 2 m of the controlled object,the system response time is less than 0.3 s,the system can fully meet the user's daily operational requirements. eye tracking;pupil location;least square method;space coordinate transformation;embedded system 國家級大學生創(chuàng)新實驗計劃基金項目(2016A65278)。 TP368 A ?迪娜 2017-05-03)3 系統(tǒng)軟件設計
4 測試與分析
結 語