以視線軌跡為基礎的人機介面
余立強 廖文宏 國立政治大學資訊科學系 Email:{g9625,whliao}@cs.nccu.edu.tw 摘要― 眼動儀是具未來性的人機介面裝置,本研 究設計並實作低成本頭戴式眼動儀,並將其應用 於以視線軌跡為基礎的人機介面。由於眼動儀的 操作易受到雜訊與角膜反射點等影響,本研究利 用瞳孔周圍暗色點比例較高的特性,提出新型演 算法,增加瞳孔定位之準確性,以改善眼動儀之 精確度;此外,本研究利用製作的眼動儀,實作 數個以視線軌跡為基礎的人機介面,包括視線軌 跡網頁瀏覽器、強化眼睛注視照片區域等應用。關鍵詞―Pupil Detection、Eye Tracking、Human Computer Interface
一、 前言
使用者與電腦溝通方式,主要使用鍵盤與滑 鼠,隨著電腦週邊設備的發展,也有使用手寫、 語音、肢體動作等較特殊的溝通方法,而使用眼 睛的視線軌跡來做為與電腦溝通的橋樑,例如眼 控滑鼠、利用視線軌跡操控居家環境(Home and Environment Control)[3]、輸入文字(Eye Typing)[4] 與玩遊戲[5][6]等,屬較新的研究領域,也是本 研究探討的主題。 本研究利用視線軌跡來與電腦溝通,希望不 僅讓有缺陷的障礙者能夠透過視線軌跡向外界 傳達訊息,也讓一般使用者,以簡單且自然的方 式與電腦互動。主要目標分述如下: (一) 瞳孔偵測與定位演算法的改善 從先前研究[1]與相關論文[7]發現,目前以 影像為基礎的瞳孔偵測演算法,不管在近紅外線 攝影機或一般的可見光攝影機拍攝的情況下,都 易受角膜反射點、拍攝解析度與光源的影響,導 致偵測到的瞳孔,位置出現誤差,本研究改善近 紅外線攝影機下抓取瞳孔的演算法,利用瞳孔在 近紅外線下,反射率比眼白、眼皮等瞳孔周圍組 織來的低,而呈現較為暗的像素點(dark pupil 情 況),與如果是瞳孔輪廓上的點,其周圍暗點比 例會大於一定比例的特性,並透過消除雜點的演 算法來減輕角膜反射點、攝影解析度的影響。 (二) 實作以視線軌跡為基礎的人機介面 透過上述建置之眼動儀,實作視線軌跡網頁 瀏覽器,讓使用者能使用視線軌跡瀏覽網頁,並 透過使用者的視線給予幫助;實作可記錄觀看行 為的照片瀏覽器,讓使用者注視照片數秒,並對 照片中注視的區域做處理,凸顯照片的主題。 本文於第二段講述相關之文獻與研究,第三 段說明改善的瞳孔偵測演算法,第四段則是實驗 器材與精確度的分析,第五段介紹實作的人機介 面,最後於第六段分享本文的結論與未來可能的 後續發展。二、 相關研究
眼動儀的建構目前主要是以影像為基礎,而 依 影 像 的 來 源 , 又 可 分 為 可 見 光 頻 譜 (visible spectrum)與近紅外線(near-infrared),如圖 1。 以影像為基礎的眼動儀是使用攝影機拍攝 眼睛,藉由影像處理與電腦視覺技術找出眼睛中 心(瞳孔或是虹膜中心,Pupil Center)與角膜反射 點(Corneal Reflection)(簡稱 PCCR),並利用校正 程序所取得的參數,將眼睛移動與頭部轉動,轉 換到螢幕上的座標。圖1 可見光譜(左)與近紅外線(右)的眼睛圖像 依上述說明,捕捉視線軌跡,大略分成三步 驟:找出眼球中心於來源影像的位置、找出眼睛 對應螢幕座標參數的校正程序、將眼球中心位置 對應到螢幕座標,架構圖如圖 2。 圖2 眼動儀架構圖 (一) 找出眼球中心 依照光線的來源是可見光還是近紅外線,而 有不同的作法,近紅外線目前較多人採用,原因 是在近紅外線下,瞳孔與虹膜等的差異較大,且 瞳孔較不受到眼皮等其他周圍組織所遮蔽,所以 要找出眼睛的移動相對容易。 近紅外線光源下找出眼球中心,大都先找出 符合瞳孔的橢圓或圓,此橢圓或圓的中心就是要 找的眼球中心;要找出符合瞳孔的橢圓與圓,許 多方法是先找出代表瞳孔輪廓的特徵點,再利用 這些特徵點找出符合瞳孔的橢圓或圓,代表的演 算法有[8]、[9]、[10]、[11]、[12]、[13]等。 [8] 須 先 移 除 角膜 反射 點, 並利 用 邊緣 值 (edge)來當作特徵點,然後透過 RANSAC 去找最 佳橢圓,但由於眼角等部分,邊緣值也很強烈, RANSAC 需要執行多次才會有好的結果,且當 找出的特徵點中,不是瞳孔部分的特徵點過多, 處理 速度 會 過 慢 且抓 到不 正確 的橢 圓 機 率大 增。[9]也是利用邊緣值當作特徵點,並使用圓形 逼近法(circle approximation method)與座標平均
法(coordinates averaging method)來找出瞳孔中 心,但當角膜反射點在瞳孔附近周圍時,角膜反 射點周圍會被當成特徵點,造成不準確;[10]須 先移除角膜反射點,也使用邊緣值來當特徵點, 然後將 特徵點依 位 置 的分 佈,分 成多個 區 域 (grid),並利用這些區域的特性將雜點移除,最後 使用 SVD 找出最佳橢圓。[11]與[12]也是採用邊 緣值來做為特徵點,也需先移除角膜反射點,[12] 使用 convex hull 將瞳孔內部填滿,再對填滿的 圖找邊緣,最後再用 SVD 找出最佳橢圓。以上 方法大多需先移除角膜反射點,但當影像中除了 角膜反射點外,還有其他亮點區域,或是當角膜 反射點一半在瞳孔內部區域,一半在瞳孔外部區 域,此時無法將角膜反射點完美移除,使上述方 法無法精確的抓出瞳孔。[13]是先保留影像較黑 部分(二值化),並對較黑部分找邊緣值,之後對 影像找 connected component,並將特徵點過少的 物 件 (component) 移 除 , 連 續 最 多 的 區 塊 (component)就是代表瞳孔的區塊,最後也是利用 SVD 找出最佳橢圓,此方法的問題在於無法處理 角膜反射點過大且遮蔽到瞳孔周圍部分,當此種 情形發生時,角膜反射點的周圍會與瞳孔周圍的 特徵點相連,使最後用 SVD 找出的橢圓產生偏 差,另外也無法處理瞳孔周圍被切成好幾段的情 形。 (二) 校正程序 找出眼球中心後,再做校正程序將眼球中心 對應到螢幕座標的參數找出,校正程序可以分成 兩種作法,一種是建立 3D 眼睛模型(3D Eye Model),一種是利用線性迴歸(Regression)。 本研究使用的校正程序是利用線性迴歸方 法,線性迴歸的作法是讓使用者看螢幕上 9 個點 (圖 3),每個點會記錄眼球中心點與目前校正點 的座標,再將這九對點利用一次多項式、二次多 項式或是 Homographic 的方式找出最佳的對應參 數 , 根 據 [8] 的 研 究 發 現 , 二 次 多 項 式 與 找出眼球中心 校正程序 眼球中心對應到螢幕座標
Homographic 的結果較佳。 圖3 校正程序的九個點 (三) 眼球中心對應到螢幕座標 做完校正程序,我們就可取得對應參數,之 後每個眼球中心點乘上此對應參數,就可找到相 對應的螢幕座標。
三、 瞳孔偵測演算法
根據[7],目前瞳孔偵測演算法受到近紅外線 攝影機拍攝眼睛的影像解析度、角膜反射點與光 源的影響很大,所以有的演算法會先將角膜反射 點移除並做一些影像的前處理[8][12],再做瞳孔 偵測,但是這些步驟會使整體運算速度降低,且 當影像中除角膜反射點外,還有其他亮點區域, 或是當角膜反射點一半在瞳孔內部區域,一半在 瞳孔外部區域,此時去除角膜反射點會變得較為 複雜與不容易;目前也有研究在不移除角膜反射 點的情況下來抓取瞳孔[13],但仍無法處理角膜 反射點把瞳孔切成兩塊的情況與角膜反射點過 大且遮蔽到瞳孔周圍部分的情形,本研究改善目 前的瞳孔偵測演算法,希望能夠在相對較低的解 析度且不須移除角膜反射點與不做任何的影像 前處理的情況下,偵測出瞳孔。 改善的演算法,主要結構與 Starburst 演算法 [8]類似,都是先找出代表瞳孔的特徵點,並對這 些特徵點找最佳橢圓;演算法與 Starburst 的不同 在於找出特徵點的方法不同,Starburst 只用邊緣 值(edge)的大小來篩選特徵點,所以必須先移除 角膜反射點,否則角膜反射點的周圍會被當成特 徵點,但是當影像較模糊、影像解析度較低與亮 點區塊過多時,無法將角膜反射點完整的移除或 是無法將移除的角膜反射點完整的填補,會造成 找到的特徵點錯誤率提高,使找到的橢圓與實際 的瞳孔差異變大,另外與 Starburst 演算法還有一 些不同,本研究不使用 RANSAC 來找符合的橢 圓,而是用所有找到的特徵點直接去找橢圓,所 以找到的橢圓的變化程度較低,但相對的雜點的 影響變得較大,因此本研究加入一些去除雜點的 方法,並用一些基本的影像處理技巧篩選找到的 特徵點 ,來減輕雜 點的影 響,本研究 不使 用 RANSAC 的 原 因 是 特 徵 點 數 量 較 多 , 使 用 RANSAC 會使運算的時間增加,較不適合互動 式人機介面的應用。依上述說明,改善的瞳孔偵 測演算法,主要有三個步驟:偵測特徵點、移除 雜點、找最佳橢圓。 圖4 近紅外線攝影機下的瞳孔特性 (一) 偵測特徵點 偵測特徵點是利用瞳孔在近紅外線攝影機 下,會比其他眼球組織來得相對明顯而呈現黑色 (如圖 4),利用此特性,可發現在瞳孔輪廓上的 點,以此點為中心的正方形範圍,暗點的數目會 占此區域一定的比例(如圖 4 右側),所以只要找 出這些點,就可以找到符合瞳孔的橢圓。 暗點數目在以瞳孔輪廓上的點所形成的正 方形範圍 k*k 中的比例,可以從代表瞳孔的橢圓 面積與特徵點所形成的 k*k 正方形面積推算出 來;由於代表瞳孔的橢圓趨近於圓,所以可以假 設 k 不大於圓的直徑 2r,則 k 的值為3 k 2r, 3 k 是因為 k 太小沒有意義,考慮 k =3 到 k = 2r的情況: k = 3 時,暗色點在正方形面積的分布一定 超過4 9 0.44,如圖 5。 圖5 k=3 時暗色點的分佈 k = 2r 時,暗色點在正方形面積的分布如圖 6 ; 由 可 知 , 暗 色 點 的 面 積 比 正 方 形 面 積 為 2 2 / 2 : 4 : 8 r r ,大約是 0.39。 圖6 k=2r 時暗色點的分佈 由以上兩種情況可以得知,暗色點的比例會 在 0.39~0.44 之間,所以暗色點的比例可以取兩 者的最低值當作暗色點的比例,也就是 / 8。 要找出這些特徵點,本研究對拍攝到的瞳孔 圖片的每個像素點做判斷,若像素點符合以下兩 個條件就是特徵點,一個條件是特徵點會跟周圍 的點有相對明顯的變化(也就是找瞳孔輪廓),可 以透過 Sobel 邊緣偵測演算法來實現,另一個條 件 是 特 徵 點 周 圍 的 暗 點 數 目 的 比 例 要 大 於 / 8 ,但是由於角膜反射點的周圍也具有強烈邊 緣,若與瞳孔重疊,這些點也會被當成特徵點, 為了處理角膜反射點所造成的影響,我們再加入 特徵點周圍不能出現亮點這個條件,希望能減輕 角膜反射點的影響,若先將角膜反射點移除,則 此條件可以不考慮。 因此要是特徵點必須符合以下兩個條件: (1) 邊 緣 值 e d g e(x,y) 要 大 於 門 檻 值 smallestEdge,公式(1)。 1, ( , ) ( , ) 0, otherwise edge x y smallestEdge isEdge x y (1) (2) 以此點為中心的 k*k 正方形,此正方形範圍 內之暗點數目,要大於正方形面積的 / 8,且亮 點不能出現(公式(2))。其中n x yd( , )為暗點數目, ( , ) b n x y 為亮點數目,暗點定義為灰階值小於 Idark,亮點定義為灰階值大於 Ibright(公式(3)、(4))。 k 值取決於拍攝的瞳孔照片中,角膜反射點的大 小,以 320*240 的影像為例,我們假設瞳孔的大 小不超過整張圖的四分之一,且角膜反射點的大 小不超過瞳孔大小的五分之一,因此角膜反射點 不超過 240 除以 4 再除以 5,也就是 12 個 pixels, 因此 k 值可定為 12。 2 255, ( , ) 1 ( , ) 8 ( , ) ( , ) 0 0, otherwise d b k isEdge x y n x y features x y n x y (2) 1, ( , ) ( , ) 0, otherwise dark value x y I isDark x y (3) 1, ( , ) ( , ) 0, otherwise bright value x y I isBright x y (4) 由於瞳孔大小於整張圖中,大小不會超過四 分之一,且要找的特徵點間之距離也都不會太遠 (最遠的距離為橢圓的兩倍長軸長),為了避免尋 找特徵點時對整張圖都找,造成處理速度過慢, 可先使用二分法(由內而外)對圖片切割的分界線 去找一些特徵點,再從這些點中取出任何一點, 2r r
以此點為中心的長方形範圍(假設瞳孔的大小不 會超過整張圖的四分之一,所以長寬可以設定為 原本圖的四分之一),去找特徵點,就可找到所 有瞳孔的特徵點,如圖 7 左側。 取 得 特 徵 點 後 , 利 用 Singular Value Decomposition(SVD)算齊次解,就可算出符合瞳 孔的橢圓方程式,做法是將每個特徵點的座標 x 與 y 帶入橢圓公式(5),會得到 a..f 的係數,將每 個特徵點的a…f 係數排成一個矩陣 A(公式(6)), 並對此矩陣計算齊次解(公式(7)),之後對這個橢 圓方程式做整理,即可找出橢圓的長軸、短軸、 角度與中心點。找出的結果如圖 7 右側。 0 2 2 f ey dx cy bxy ax (5) 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 2 1 1 1 1 n n n n n n x y x y x y x y x y x y x y x y A x y x y x y x y (6) 0 x A (7) 圖7 沒做侵蝕所找到的特徵點與橢圓 雖找到許多瞳孔特徵點,但這些特徵點中, 有許多雜點且特徵點過多,會使整體運算速度降 低且使找到的橢圓不精確,為了減少雜訊與特徵 點,我們對剛剛找到所有特徵點的範圍做侵蝕 (Erode)一次,侵蝕後的結果如圖 8。 做完侵蝕後,仍可能殘餘雜點,我們利用目 前特徵點的幾何中心,將過遠的雜點移除。 圖8 做侵蝕後所找到的特徵點與橢圓 (二) 消除雜點 經實驗發現,當角膜反射點範圍過大或擴散 (戴眼鏡時,鏡片影響),且與瞳孔邊緣重疊,會 讓角膜反射點擴散的最外圍被當成特徵點(三、 圖 9),為了解決此問題,本研究利用瞳孔特徵點 在不受角膜反射點等影響的情況下,特徵點會呈 現平均分布(圖 10),並利用此特性將雜點移除。 圖9 角膜反射點擴散時找到的特徵點與橢圓 圖10 最佳的特徵點分布 在此情況下,特徵點的幾何中心點會在瞳孔 中心附近,另外代表瞳孔的橢圓會接近圓(當瞳 孔在攝影機拍攝位置的中間),所以若是好的幾 何中心點,特徵點與中心點的距離接近平均距 離,因此可利用原本特徵點的幾何中心的四周比 例,來調整幾何中心點的位置,直到新幾何中心 點與大部分特徵點的距離與平均距離相近。 由於侵蝕後的特徵點,密度分佈不一致(如 圖 8),會造成計算出的平移方向錯誤,為減輕此 1 2 3 4
情況所造成之影響,先將做侵蝕(Erode)後的特徵 點範圍,再做一次細化(Thinning),來解決特徵 點密度分布不均的問題,也可讓運算過程減輕, 但為避免細化後,原本保有的資訊流失,因此把 細化前與細化後的特徵點都保留,保留的做法是 把細化後要刪除的特徵點的灰階值,設成較低的 值(如 130 等,低於 255),如此就可在運算時, 透過門檻值來取得是侵蝕後的特徵點還是侵蝕 與細化後的特徵點;細化後之結果如圖 11。 圖11 做侵蝕與細化後所找到的特徵點 細化後,開始移除雜點,移除雜點的步驟: (1) 計算目前特徵點的幾何中心點(圖 12)。 圖12 找出特徵點的幾何中心點 (2) 找出細化後每個特徵點,是位在幾何中心點 的左上(A1)、左下(A2)、右上(A3)、右下(A4) 區域的哪個區域。 圖13 根據幾何中心點將圖片切割成四區域 (3) 計算每區域的特徵點數目,左上區域(A1)的 數目為 LT,左下區域(A2)的數目為 LB,右 上區域(A3)的數目為 RT,右下區域的數目(A4) 為 RB。 (4) 計算幾何中心點上半部(A1 與 A3)的特徵點 個數upperPoint、左半部(A1 與 A2)的特徵點 個數leftPoint與所有特徵點的數目 FC。 (5) 利用細化後的特徵點,在此四區域的數目所 產生的相對比例Pe,調整幾何中心點的位 置;利用上區域(1 + 3)與下區域(2 + 4)的比例 Pey來調整幾何中心點的上下移動;利用左區 域(1 + 2)與右區域(3 + 4)的比例 Pex來調整幾 何中心點的左右移動,如公式(8)、(9)。 upperPoint leftPoint ( , ) 0.5 FC FC Pe (8) Davg add Pe (9) 1 1 D distance FC avg i i FC
(10) 平移過程需要平移距離add,add是利用幾 何中心點與所有特徵點的平均距離 Davg(公式 (10))來做平移距離的標準。 中心點的平移過程中,必須要有中止條件, 假設特徵點 Pi與中心點 C 的距離接近平均距離的特徵點個數為 NFit(公式(11)、(12)),maxNFit
為前幾次平移中最大的 NFit,則重複平移中心
點,直到新幾何中心點的 NFit 大於九成,或是
NFit大於所有特徵點(FC)的一半且目前的 NFit與
maxNFit接近且上一個 NFit比目前的 NFit大,如公
式(13),並於每次平移結束時,更新平均距離 Davg 為目前符合特徵點的平均距離,平移後的幾何中 心點如四、圖 15 中十字的圖示。另外 NFit大於 FC 一半這個條件,我們設定每做十次平移,就 將參數(初始為 50%)減 5%,讓平移一定會中止。 找到符合的中心點後,利用平均距離 Davg, 將距離新的幾何中心點(Cnew)過為偏離的特徵點 左上區域(A1) 右上區域(A3) 左下區域(A2) 右下區域(A4)
(侵蝕沒細化的特徵點)移除(預設為超過平均距 離的 140%)與過為靠近的特徵點移除(預設為小 於平均距離的 90%),如圖 15 中灰色的點為消除 的雜點;偏離特徵點的範圍取較遠的原因是由於 橢圓可能較為扁,與瞳孔內部雜點過多,造成所 求出的平均距離太小,所以取遠一點的距離,希 望能改善此問題。
FC i i Fit isFit P N 1 ) ( (11) P C D 1, distance D ( ) 5 0, otherwise i avg avg i isFit P 1 2 9 9 1, max 10 10 (pre - ) 0 0, otherwise FitFit Fit Fit
Fit Fit N FC N N N FC isGoodC N N 另外平移方向的計算方式是用估計的,有時 會受雜點影響而使偏移方向產生錯誤,為了避免 偏移錯誤,可以利用所有特徵點與平移後的中心 點的 X 方向距離與 Y 方向距離差異(公式(14)), 與前一次平移的 NFit比目前的 NFit大,來判斷目 前偏移方向有無錯誤;由於每次平移,X 方向與 Y 方向都會平移,如此會造成永遠都不會平移到 正確的位置,我們假設為x與y中較大者,可 以利用決定當平移方向錯誤時,哪個方向須要 停止移動(x與y中較大者,設成 0),並於發生 時將改成較小者,公式如(15)。 2 2 1 1 ( ) , ( ) n n x i x y i y i i x C y C
(14) , (pre - ) 0 > 0 (pre - ) 0 > 0 0, , , otherwise , (pre - ) 0 < 0 (pre - ) 0 < 0 0, , otherw x Fit Fit Fit Fit x x x y Fit Fit Fit Fit y y y add N N N N add moreAdd add add add N N N N add moreAdd add add ise (15) 去除雜點後,將剩下特徵點,利用 SVD 找 出符合的橢圓方程式,經過移除雜點的後處理, 發現能夠將角膜反射點過大或擴散這個問題減 輕一些,找出的瞳孔如四、圖 14 與四、圖 15。四、 實驗器材與精確度分析
實驗器具的頭戴式眼動儀外觀圖如圖 16。攝 影機是使用本身具有近紅外線 LED 與具有近紅 外線濾鏡的設備,最大解析度可以到 640*480, Frame 數最多可以到每秒 30 frames。 精確度分析的作法是在做完校正程序後,回 頭去看校正程序所注視的九個校正點,每個校正 點紀錄 60 個注視點,並比較此 60 個注視點與正 確的校正點之間的差異,差異的算法是使用歐式 距離(Euclidean Distance),令注視的點為 pi,1<i <numPj,numPj為 3 秒內看的點的個數,校正的 點為 qj,1<j<9,則每個校正點 qj的差異公式 如公式(16): 2 2 1 1 ( ( ) ( )) ( ( ) ( )) ) j numP i j i j i j p x q x p y q y numP
(16) 測試結果平均誤差約 23pixels ~ 39pixels,精 確度主要是跟影像品質有關係以及頭部移動所 造成的誤差;在做實驗的螢幕(96 DPI)上 1 cm 大 約是 37.7953 Pixels,實驗螢幕是 SAMSUNG 的 (13) (12)SyncMaster 940BW,點距為 0.285mm;表 1 是三 個 受 測 者 做 的 結 果 ( 攝 影 機 拍 攝 的 解 析 度 為 640x480),凝視點誤差圖如圖 27(最後一頁)。 圖14 沒移除雜點時找到的橢圓 圖15 移除雜點找到的橢圓與平移前後的中心點 (紅:平移後、青藍:平移前) 圖16 眼動儀外觀圖 表 1 頭戴式眼動儀的精確度 Point (pixels)
User1 User2 User3 各點平均 1 45.23 13.68 12.06 23.65 2 26.15 24.11 12.73 20.99 3 72.59 20.74 39.17 44.17 4 31.51 22.92 22.07 25.50 5 22.88 32.55 24.09 26.51 6 30.96 22.21 15.32 22.83 7 38.81 39.73 32.50 37.01 8 35.31 35.60 27.29 32.73 9 47.42 29.65 17.59 31.55 平均 38.98 26.80 22.53 29.44
五、 以視線軌跡為基礎的人機介面
利用前述所建構的眼動儀,實作數個視線軌 跡為基礎的人機介面,包括(1)以視線軌跡為基礎 的網頁瀏覽器,(2)可紀錄觀看行為模式的照片瀏 覽器。 (一) 視線軌跡為基礎的網頁瀏覽器套件,實作一個視線軌跡的網頁瀏覽器,具備以 下的功能: (1) 能夠接收眼動儀傳出的眼睛注視座標。 (2) 能夠將目前觀看的網頁內容做分塊,好讓電 腦能夠知道使用者目前觀看的內容,並可限 制網頁分塊的大小。(圖 17) (3) 標示目前使用者注視的區塊(圖 18)。 (4) 根據注視的時間,來放大使用者注視的區塊 (圖 19)。 (5) 依據使用者注視的位置,做適當的捲動(圖 20 與圖 21)。 (6) 將眼睛注視的時間做為滑鼠的左鍵。 圖17 網頁重建區塊的畫出結果(10x10 pixels) 圖18 注視的座標圖示與注視的網頁區塊 圖19 放大的網頁區塊 圖20 還未注視到螢幕的前 1/5 或後 1/5 圖21 注視到螢幕區域的後 1/5(網頁開始捲動) (二) 可記錄觀看行為的照片瀏覽器 藉由眼睛注視的焦點,我們可以推估觀看者 對於相片的哪些部分較具興趣,而將此互動過程 紀錄之後,可做為組織相片的線索,此外,亦可 強化眼睛注視照片的區域,由於看照片時,常常 會發現自己所拍攝的照片,拍到的部分可能過小 或太偏離照片的中間,使得照片的主題常常失 焦,所以本研究利用眼睛注視照片的軌跡,將照 片中注視的區域做一些處理,希望讓使用者一看 到照片,就能夠抓到照片傳達的主題與意境。 可 記 錄 觀 看 行 為 的 照 片 瀏 覽 器 的 人 機 介
面,主要具有以下功能: (1) 接收眼動儀傳出的座標。 (2) 讓使用者輸入一張照片。 (3) 記錄使用者注視照片的視線軌跡。 (4) 利用視線軌跡對輸入圖片做處理。 (5) 輸出處理過的圖片。 介面如圖 22 與圖 23,模糊的做法如圖 24, 輸出的結果如圖 25 與圖 26。 圖22 可記錄觀看行為的照片瀏覽器介面 圖23 開始觀看的介面 圖24 目前照片模糊的設定 k 點的數目可以利用前後兩個連續的凝視點 之間的距離夠遠的個數來決定,兩個連續的凝視 點之間的距離,可取頭戴式眼動儀的平均精確度 (誤差值)的 2 倍,主要想法是當兩個連續的凝視 點之間的距離超過平均誤差值的兩倍時,就代表 注視的點從一個區域跑到下一個區域,並記錄換 區域時的凝視點當作是 K-means 各群的初始點。 圖25 圖片經過 K-means 的區域中心 圖26 圖片經過模糊的結果
六、 結論
本文針對頭戴式眼動儀進行研究與實作,主 要改善於近紅外線下的瞳孔偵測演算法,讓偵測 瞳孔時,能減輕角膜反射點的影響並容忍較多的 環境變因,並利用建置的眼動儀,實作人機介 3x3 模糊 不模糊 7x7 模糊 11x11 模糊 100 pixels 50 pixels面:視線軌跡瀏覽器、可記錄觀看行為的照片瀏 覽器人機介面。 由於頭部移動會造成眼動儀精確度產生誤 差,可利用動態影像來處理頭部移動造成的問題 [2];頭戴式眼動儀仍需配戴設備,可使用遠距式 操作,將攝影機放置於螢幕前固定位置,但瞳孔 偵測需做修改[2]。 在眼動儀的精確度分析部分,經實驗發現, 主要是受到角膜反射點的影響,而造成對應到螢 幕的點,有晃動與不準確的問題,與影像解析度 較無關係,未來若能將拍攝眼睛的攝影機的焦 距、近紅外線光源 LED 燈的數量與擺放位置等, 透過實驗,設計一個讓角膜反射點影響較小的環 境,相信能使精確度更穩定且更精確。 隨著科技的發展,硬體與眼動儀的技術的提 升,相信眼動儀未來會成為如鍵盤與滑鼠等的人 機介面裝置,改善我們操作電腦的習慣。
參考文獻
[1] 王凱平,移動式眼動儀之實作與視線軌跡分 析,政治大學資訊科學系碩士班碩士論文, 2008. [2] 余立強,以視線軌跡為基礎的人機介面,政 治大學資訊科學系碩士班碩士論文, 2009. [3] Emiliano Castellina, Faisal Razzak, FulvioCorno, “Environmental Control Application Compliant with COGAIN Guidelines,” The 5h Conference on Communication by Gaze Interaction(COGAIN 2009), 2009.
[4] Jacob O. Wobbrock, James Rubinstein, Michael Sawyer, Andrew T. Duchowski, “Not Typing but Writing: Eye-based Text Entry Using Letter-like Gestures,” The 3h Conference on Communication by Gaze
Interaction(COGAIN 2007), 2007.
[5] Howell Istance, Aulikki Hyrskykari, Stephen Vickers, Nazmie Ali, “User Performance of Gaze-Based Interaction with On-line Virtual Communities,” The 4th Conference on Communication by Gaze Interaction(COGAIN 2008), 2008.
[6] Stephen Vickers, Howell Istance, Aulikki Hyrskykari, “Selecting Commands in 3D Game Environments by Gaze Gestures,” The 5h Conference on Communication by Gaze Interaction(COGAIN 2009), 2009.
[7] Droege Detlev, Schmidt Carola, Paulus Dietrich, “A Comparison of Pupil Centre Estimation,” The 4th Conference on Communication by Gaze Interaction(COGIN 2008), 2008.
[8] Dongheng Li, David Winfield, Derrick J. Parkhurst, “Starburst: A Hybrid Algorithm for Video-Based Eye Tracking Combining Feature-Based and Model-Based Approaches,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPRW'05) Workshops, pp. 79, 2005.
[9] Gintautas Daunys, Nerijus Ramanauskas, “The Accuracy of Eye Tracking Using Image Processing,” pp.377-380, Proceedings of the third Nordic conference on Human-computer interaction, 2004.
[10] Dongshi Xia, Zongcai Ruan, "IR Image Based Eye Gaze Estimation," vol. 1, pp.220-224, Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007), 2007.
[11] Sepehr Attarchi, Karim Faez, Amin Asghari, "A Fast and Accurate Iris Recognition Method Using the Complex Inversion Map and 2DPCA," pp.179-184, Seventh IEEE/ACIS International Conference on Computer and Information Science (ICIS 2008), 2008.
[12] Craig Hennessey, ”Eye-Gaze Tracking With Free Head Motion,” Masters of Applied Science Thesis, University of British Columbia,
2005.
[13] Somnath Dey, Debasis Samanta, “An Efficient Approach for Pupil Detection in Iris Images,”, pp.382-389, 15th International Conference on Advanced Computing and Communications (ADCOM 2007), 2007.