第三章 眼動儀系統架構
3.2 固定式螢幕眼動儀
固定式螢幕眼動儀需要將下巴固定在 Chin Rest 上,讓頭部固定以確保準確 度,所以在使用的過程中不可以任意的移動頭部,如果晃動到頭部會造成準確 度下降,需要重新校正,固定式螢幕眼動儀的優點是在頭部不移動的情況下準 確度高,所以可以用來做一些需要高準確度的實驗,如觀看一些圖片或閱讀方 面。
固定式螢幕眼動儀硬體架構
A. PlayStation 3 Eye (PS3 Eye)【圖 3-2】攝影機[47]
此攝影機目的是要抓取眼球的影像,需要安裝 CL-Eye-Driver 進行驅動,會 選用此攝影機的原因為價格便宜約(新台幣 990 元)、重量輕(約 173 g)、體積小且 效能高,影像擷取為 640*480 pixel,解析度在 60 fps 時為 648*480 畫格,在 120fps 時為 320*240 畫格,可以支援高解析度的動態影像,對於眼球移動的擷 取有相當大的幫助。
由於本研究所設計的眼動儀需要紅外線 LED,此攝影機鏡頭有紅外線濾鏡 功能,會阻擋紅外線光的反射,所以必須針對攝影機進行拆解,並加以改裝,
以下會做詳細的介紹。
圖 3-2. PlayStation 3 Eye(取自[47])
B. 拆解 PS3 Eye【圖 3-3】
將攝影機進行拆解,將外部的塑膠板拔除,我們只需要利用內部的電路 板,如此也可以減輕重量。
C. 更換鏡頭及鏡頭座【圖 3-4】
為了讓我們發射的紅外線經過眼球的反射可以順利進入 CCD 影像,我們將 原來的 PS3 Eye 攝影鏡頭換成監視器鏡頭,焦距為 3.6mm,並固定於合適的鏡 頭座上。
圖 3-3. 拆解 PlayStation 3 Eye
圖 3-4. 鏡頭座及監視器鏡頭
D. 外接紅外線電路
電磁波譜【圖 3-5】[48]可分為珈瑪射線(Gamma Ray) 為天文、醫療用;X 射 線(X-Ray)能穿過物質,作為透視物體的功能;紫外線(Ultraviolet)來源主要來自太 陽,會讓人的皮膚產生灼熱感;可見光(Visible)是一般人眼所看得到的所有光線,
如燈泡所發出來的光;紅外線(Infared)可分為遠紅外線、中紅外線、近紅外線,紅 外線可在夜間使用,利用皮膚或物體所產生的熱作為夜間偵測,例如夜視鏡;微 波(Microwave)可用在無線通訊;無線電波(Radio)用在調頻,如電視、收音機、手 機等。
我們利用外接兩顆波長為 850nm 的紅外線發光二極體(Infrared-LED,IR-LED) 固定於鏡頭旁邊作為補償光源,紅外線波長介於可見光與微波,波長範圍在 760nm 到 1mm 之間,我們所用的是近紅外線,屬於不可見光,目的是為了讓眼 球的影像更清楚,增加影像的解析度,得到我們想要的瞳孔黑色部分,【圖 3-6】
有無紅外線補償比較,在有紅外線補償的情況下,可以很準確的抓取瞳孔中心點,
NIR:75~3nm MIR:3~50nm FIR:50nm~1mm
圖 3-5. 電磁波譜
此方法屬於暗瞳法(dark pupil),增加影像處理的速度,又不至於造成眼睛有太大 的傷害。
為了提供 IR-LED 電源,我們設計一個電路並從攝影機接出電源【圖 3-7】,此電源為電腦 USB 所提供的 5V 電壓,二極體電壓為 1.8V,電流為 64mA,可以穩定的提供電壓讓 IR-LED 維持一定的亮度。
(a) (b)
圖 3-6. 有無紅外線補償比較(a)有紅外線補償 (b)無紅外線補償
5V
50Ω
1.8V
圖 3-7. IR-LED 電路
E. 固定鏡頭支架【圖 3-8】
我們利用具有彈性且可以容易調整方向的支架並將攝影機鏡頭固定在上 面,可以依據每個人眼睛的特色的不同調整到攝影機所能抓取眼球影像的最佳 位置,也可以減少戴眼鏡所帶來的鏡框干擾。
F. Chin Rest【圖 3-9】
Chin Rest 用來固定下巴之用途,我們利用 AutoCAD 繪圖,設計出理想的模 型之後,利用 CNC(computer numerical control)洗床,將模具製造出來後並組 裝,只需要將其支架鎖在桌上便可以使用,Chin Rest 可以依據每個人的高度不 同進行下巴支架的調整,使用上相當穩固,Chin Rest 目的是在操作眼動儀時可 以固定頭部,不會任意移動,提高在實驗室的準確度,接著將固定鏡頭支架夾 在 Chin Rest 的任一側就可以完成固定式螢幕眼動儀的硬體架構。
金屬支架 攝影機
圖 3-8. 固定鏡頭支架
固定式螢幕眼動儀軟體架構【圖 3-10】
在軟體方面,我們分成兩個部分,第一部分為 OpenSource 軟體 Gaze Tracker
【圖 3-11】,利用 OpenCV(Open Source Computer Vision Library),電腦視覺資料 庫,做影像處理。將攝影機所讀取到的影像,做雜訊去除再進行瞳孔偵測,在這 邊我們是用固定下巴且單眼偵測,利用 9 點校正的方式讓使用者觀看螢幕上面的 白點,計算眼球在電腦螢幕上各點的凝視點(Gaze Points)位置,作為之後的參考點 位置。第二部分是利用 Microsoft C#作為開發環境進行使用者介面的設計,取得 第一部分的 API 及各種眼球的資訊,如座標、時間等,將這兩部分作結合,此部 分針對不同的應用進行調整,開發出不同的實驗介面和人機介面的遊戲。以下是 軟體部分的流程圖,之後會針對每個步驟做詳細的介紹。
(a) 正面圖 (b) 側面圖 (c) 裝上攝影機
圖 3-9. Chin Rest
Video
Image Processing
Adjust Threshold
Gaze Point Calibration
A. 影像讀取
將九個點(
X
s1,Y
s1) ~ (X
s9,Y
s9)寫成矩陣 A,AR9 6 ,a
x0~a
x5和a
y0~a
y5寫1 T -1
圖 3-14. 使用者介面
G. 確認凝視點是否偏移
在使用過程中螢幕會出現紅色「十」符號【圖 3-15】,使用者可以凝視
「十」,確定凝視點是否有偏移的情形,如果發現凝視點偏移時,可以重新校 正以確保準確度。
圖 3-15. 重新校正畫面
H. 結果
螢幕眼動儀輸出結果為文件檔的型式,出來的格式我們設定為(ms,x,y),其 中第一個座標為使用者觀看某個座標的時間,單位為毫秒,第二個數字是螢幕 上的 x 座標,第三個數字為螢幕上的 y 座標,例如(6,372,221),表示在(372,221) 這個點凝視的時間為 6 毫秒,【圖 3-16】為電腦螢幕座標定義。
(0,0)
(1366,768)
圖 3-16. 電腦螢幕座標