由於頭戴式眼動儀需要將攝影機裝配在頭上拍攝眼睛,且攝影機有些重量,戴久了 頭部會有不適的感覺,本研究希望將前述使用的偵測瞳孔方法,應用到遠距式眼動儀 上,希望能夠改善戴過久不適的問題。
遠距式眼動儀由於拍攝的範圍不只有眼睛的區域,所以必須先將眼睛的區域標示出 來,如圖 3.20,然後再對眼睛的區塊做處理,先找出眼睛區塊的目的,不僅可以減少需 要運算的數量,也將問題簡單化一些。
圖 3.20 遠距式眼動儀拍攝的範圍
標示的方法使用兩個標示物來定位眼睛的位置,如圖 3.20 中眼鏡兩旁的黑色方 塊,標示出來後,使用之前的瞳孔偵測演算法(只做侵蝕)來找出瞳孔,由於標示的區塊 相對於頭戴式眼動儀所需處理的範圍小很多,所以不需要減少計算的範圍,可以直接對 整個範圍去做處理。另外經過實驗發現,由於距離較遠,瞳孔的特徵相對來得不明顯,
且會受到眼皮與眼角的影響,造成找出的瞳孔不正確,如圖 3.21,所以改用不同的消除
34
雜點的方法,來消除雜點,整個處理步驟如下:
(1) 找出標示出來的眼睛區塊。
(2) 對眼睛區塊找代表瞳孔的特徵點。
(3) 移除雜點。
(4) 利用 SVD 找出符合剩下特徵點的橢圓。
以下分別對主要的部分做說明。
圖 3.21 眼皮眼角造成的影響
3.2.1 標示眼睛區塊
標示眼睛區塊這個部分是使用兩個標示物,並讓使用者點選此兩個標示物,如圖 3.22,之後利用光流追蹤法(Optical Flow)的 Lucas-Kanade 方法,追蹤此兩個標示點,兩 個標示點會形成一個長方型區域,這個區域就是眼睛的區域,也就是要做處理的區域。
圖 3.22 標示眼睛區域的標示物與區域
3.2.2 找出瞳孔特徵點
找出瞳孔特徵點的方法是使用與頭戴式眼動儀一樣的做法,都是使用 Sobel 邊緣偵
35
測法加上特徵點周圍暗色點的比例要超過一定比例,但由於距離較遠,邊緣會較模糊(主 要是近紅外線光源強弱的影響),所以邊緣(edge)的門檻值必須取較小的值(15~40 間,取 決於光源強弱),且因為距離較遠,角膜反射點與其他光源的影響較小,所以找周圍暗 色點的範圍可以取小的範圍,範圍取 5 個 pixels 的正方形範圍,效果就不錯;做完這個 步驟之後,再對整個區塊做侵蝕(Erode);找出的結果如圖 3.23。
圖 3.23 沒用移除雜點所找出的特徵點
3.2.3 移除雜點
由於在遠距式眼動儀所拍攝到的影像範圍較大,所以在眼角與眼皮等部份出現雜 點,所以需將這些雜點移除;移除雜點是根據[19],從此研究與之前的研究發現在近紅 外線底下,瞳孔兩側 45 度角的區域是比較具有代表性的,且較不會受到眼皮等的影響,
如圖 3.24。
想法是由於找出的特徵點中,真正是瞳孔特徵點的部分是比較粗且比較多的如圖 3.25,所以只取所有特徵點中 50%~75%的部分(代表瞳孔兩側 45 度角的區域),並利用 此部分的幾何中心點,將太遠的特徵點移除,具體的做法如下:
(1) 先找出所有特徵點的幾何中心點(公式(3.17)),與特徵點距離此幾何中心點的平均距 離(公式(3.24)),如圖 3.25 的十字。
36
(3) 標示殘餘的特徵點 50%~75%的部分(公式(3.38)),取出的 50%~75%的特徵點中較亮 的灰色。
1, 0.5 0.75
isIm( )
0, otherwise
i
newFC i newFC
P
(3.38)
37
圖 3.26 取出的 50%~75%的特徵點
(4) 計算這部分的幾何中心點,也就是計算isNear(Pi)與isIm(Pi)為 1 的特徵點的幾何中 心,如圖 3.27 的白色十字(較大的那個十字)。
(5) 利用新的幾何中心點,將距離過遠的特徵點移除,移除的特徵點如圖 3.27 的淺色點。
移除雜點後,再將剩下的特徵點使用 SVD 解出代表瞳孔的最佳橢圓方程式與相關的 參數,最後結果如圖 3.27 的右圖。
圖 3.27 50%~75%所找到的幾何中心與移除的雜點與找到的橢圓結果
3.2.4 將瞳孔座標投射到螢幕
這個部份使用與近距式眼動儀一樣的做法,將瞳孔座標投射到螢幕座標上,但由於 頭部只要些微移動且因為距離較遠,所以精確度與頭戴式眼動儀有一些差距,頭部移動 的修正會在下一章會用一些方法來處理。
38
3.2.5 實驗器具
實驗的器具是使用 PHILIPS 的 SPC900NC 並將鏡頭換成 unibrain 公司出的 Spare lens M12*0.5mm TELE,焦距為 12mm,且不具有近紅外線的濾鏡,但是由於需要攝影機具 有觀看近紅外線的功能,所以需要加上紅外線濾鏡,濾鏡是使用 Kodak No.87,另外由 於夜晚時,紅外線的光源會不足,因此也需要加上一些紅外線 LED 燈,讓光源充足,
圖 3.28 為遠距式眼動儀的設備圖,圖 3.28 的右邊為攝影機,左邊的為環狀近紅外線 LED 燈。
圖 3.28 遠距式眼動儀的設備圖
3.2.6 精確度分析
遠距式眼動儀的精確度分析的作法是與頭戴式眼動儀相同,同樣是做完校正程序 後,回頭去看校正程序的點,並比較校正程序的校正點與校正後觀看的注視點之間的差 異;攝影機擺放的位置,是在螢幕的正前方 12.5cm,攝影機離人臉約 39cm。
39
目前頭部只要輕微的移動,就會造成精確度產生很大的偏差,目前最好之結果平均 約為 70~80 pixels(攝影機解析度為 640x480),如表 3.2,但此結果是反覆做出來的,且 受測者是自己,將於第四章加入頭部轉動資訊,並找多個受測者做實驗,這裡只做自己 是由於頭部移動所造成的影響太大,不易讓受測者頭部完全都不移動。於做實驗的螢幕 (96 DPI)上 1 cm 大約是 37.7953 Pixels,實驗螢幕是 SAMSUNG 的 SyncMaster 940BW,
點距為 0.285mm。
可能的改善方法,有以下幾種:
(1) 利用標示物的移動,將校正時眼睛的移動做一些位移,來補償頭部的移動所造成的 誤差,但只能解決輕微的頭部移動,大量的頭部移動仍然無法處理,另外即使加入 標示物的移動,由於拍攝眼睛的距離較遠,相信最後的結果與反覆做出來的結果差 異不大。
(2) 使用建立眼睛 3D 模型的校正方法來解決頭部移動的問題,像是[20],與以線性迴歸 為基礎的校正方法[21],但是這兩種方法,都需要抓出一個或多個角膜反射點,[21]
則是還需要另外加入一個攝影機來找出眼睛的 3D 位置。
由於角膜反射點要確切的抓出來,影像品質與環境都需要設定良好,且使用者不能配 戴眼鏡,所以本研究後面將使用第一種方法去改善頭部的影響。
40
表3.2 遠距式眼動儀的精確度(反覆做的最佳結果) Point(pixels) difference
1 79.42 2 31.28 3 78.86 4 73.89 5 59.23 6 40.58 7 78.42 8 45.32 9 55.91