可預估3D環境中目標物座標的眼動儀建構
全文
(2) 可預估 3D 環境中目標物座標的眼動儀建構. 學生 : 胡峻維. 指導教授 : 黃奇武 副教授. 國立臺灣師範大學電機工程學系. 摘要. 本研究提出一種可以預估現實的 3D 環境中,眼睛凝視目標物之座標的眼動 儀的建構方法。透過頭戴式的眼動儀設計與雙眼數據處理,達到分析 3D 環境的 效果,同時將運算出來的結果,與由伺服馬達組成並搭配雷射筆的 2 軸控制平台 連線,由雷射筆指出當前使用者凝視的目標。 眼動儀顧名思義即為透過偵測眼球的特徵變化與瞳孔轉動,去推斷使用者目 前的凝視位置;而可預估 3D 目標物座標的眼動儀則是利用特殊的演算法,將 2D 環境(螢幕)中的預估凝視點轉為 3D 環境的預估凝視點,藉此預估目標物座標。本 研究改善了前人提出的演算法中,有效預估距離過短及誤差過大的情形,將有效 預估距離提升至 100 公分,平均誤差降低至 2 度。 除了目前頭戴式眼動儀最廣為使用 2D 映射法,本研究也提出一種改良的建 模演算法來預估眼睛的凝視視線,本方法改善了原來建模法計算複雜的缺點,透 過求出眼睛角膜上的光源反射點與瞳孔折射點,建立起整個眼球的模型,並預估 出使用者眼球的光軸與視軸,達到預估凝視點的效果。. 關鍵字 : 眼動儀、頭戴式、眼球模型、視軸、3D 目標追蹤. i.
(3) Building an Eye Tracker System for the Target Estimation in 3D. Student: Chun-Wei Hu. Advisor: Dr. Chi-Wu Huang. Department of Electrical Engineering National Taiwan Normal University. ABSTRACT. This research presents an approach to build an eye tracker for 3D target estimation. First, a wearable eye tracer, which two eye cameras are set on, is used. By analyzing the data calculated by binocular eye tracker, the 3D coordinates of the target can be estimated. Second, the two-axis control platform built by two servo motors and a laser pen are used to point the object user is looking at by receiving the 3D data obtained from the eye tracker system. Eye tracker is a device which estimates the position the user stares at by detecting the moving pupil. In this research, 2-D points of glint are transformed into 3-D points of glint to calculate the coordinates of object in real environment. Besides, this research increases the effective estimated distance by 100cm, and decreases the error by 2 degree. In addition to use 2D Mapping, this research also presents an improved 3D Modeling algorithm to estimate the gaze line (visual axis). Keywords: Eye Tracker, Wearable, Modeling, Visual axis, 3D Target. ii.
(4) 誌謝. 六年了,在水深火熱的論文 online 中,才漸漸體會到,自己真的快要離開這 間充滿快樂回憶與悲傷淚水的學校了。 在研究所的兩年中,對於人心的掌握以及與人相處的應對進退,將其領悟帶 給我的收穫與研究成果一樣重要,我認為即使畢業了,準備成為社會與職場的新 鮮人,我也可以豪不畏懼,並且步步為營,在緊繃且爾虞我詐的社會氛圍中存活 下去,並展現自己所學的技術與經驗。 感謝指導教授黃奇武教授與張吉正教授,給予學生最大的發揮空間,並給徬 徨中的學生指點關鍵方向,讓學生能夠順利完成研究。也請老師放心,在我畢業 前一定會把實驗室整理乾淨的! 感謝江宗憲學長,即使在我進入研究所前就畢業了,仍然常常給予學弟意見, 也讓我見識了高端的資料蒐集能力與整合能力,還有 87%的辯論實力,學弟甘拜 下風,盼學長早日創辦自己的宗憲 Inc.,學弟期待著面試當天的到來。 感謝洪兄煜盛,在這兩年聽盡我所有的廢話與抱怨,且隨時提供避難所藏身, 雖然我實在無法在小波轉換上給你意見……祝你可以順利進入信仰 N 牌工作,且 早日用紅色炸彈炸我。 感謝唐兄唯傑,作為實驗室一哥給予我很大的幫助,我會想念我們在實驗室 一起討論研究、一起「太神辣」的日子。也感謝友名兄、勇志兄、宥宇兄在實驗 室中一起創造的點點滴滴。 感謝一起直升的其他研究室夥伴,你們讓我的研究生活更精采。 最後要感謝我的父母,一路走來始終無怨無悔得相挺,讓我能在沒有經濟負 擔的情況下完成學業。這 22 年我靠著你們,未來就換你們靠著我吧!. iii.
(5) 目錄 摘要 ............................................................................................................................................. i ABSTRACT ...............................................................................................................................ii 誌謝 ...........................................................................................................................................iii 目錄 ........................................................................................................................................... iv 圖目錄 ........................................................................................................................................ v 表目錄 ......................................................................................................................................vii 第一章 緒論 ...................................................................................................................... 1 1.1 1.2 1.3 第二章 2.1 2.2 2.3. 研究背景與動機 .................................................................................................... 1 研究目的 ................................................................................................................ 2 研究方法 ................................................................................................................ 2 文獻探討 .............................................................................................................. 4 眼動儀的應用 ........................................................................................................ 5 可預估 3D 目標物座標的眼動儀 ......................................................................... 7 預估凝視點的演算法 .......................................................................................... 10 2.3.1 使用 2D 映射法的眼動儀 ....................................................................... 11 2.3.2 使用建模法的眼動儀 .............................................................................. 12 第三章 系統架構 ............................................................................................................ 17 3.1 3.2. 硬體架構 .............................................................................................................. 18 取瞳原理 .............................................................................................................. 19 3.2.1 閥值分割法 .............................................................................................. 20 3.2.2 斑點檢測 .................................................................................................. 21 3.2.3 取瞳程序 .................................................................................................. 31 3.3 校正方法 .............................................................................................................. 33 3.3.1 2D 映射法 ................................................................................................ 33 3.3.2 建模法 ...................................................................................................... 37 3.4 軟體架構 .............................................................................................................. 45 3.5 使用程序 .............................................................................................................. 49 3.6 3.7 第四章 4.1 第五章. 預估 3D 凝視點的方法 ....................................................................................... 50 應用硬體 .............................................................................................................. 52 相關應用與實驗 ................................................................................................ 55 實驗設置與結果 .................................................................................................. 55 結論與未來展望 ................................................................................................ 62. REFERENCE ........................................................................................................................... 63 自傳 .......................................................................................................................................... 66 學術成就 .................................................................................................................................. 66 iv.
(6) 圖目錄 圖 1-1 圖 1-2 圖 2-1 圖 2-2 圖 2-3 圖 2-4 圖 2-5. 風景照凝視實驗 ........................................................................................................ 1 頭戴式雙眼眼動儀 .................................................................................................... 3 史上第一台侵入式眼動儀(設計者為 Edmund Huey) ............................................. 4 眼動儀輪椅系統操作介面 ........................................................................................ 5 使用者正在進行輪椅操作 ........................................................................................ 6 臉部辨識與眼球追蹤示意圖 .................................................................................... 6 不同距離實驗示意圖 ................................................................................................ 7. 圖 2-6 圖 2-7 圖 2-8 圖 2-9 圖 2-10 圖 2-11 圖 2-12 圖 2-13 圖 2-14 圖 2-15. 建模法示意圖 ............................................................................................................ 8 雙眼視軸相交示意圖 ................................................................................................ 8 Craig Hennessey 的硬體配置 .................................................................................... 9 感興趣點與 Delaunay Triangulation ....................................................................... 10 座標轉換示意圖 ...................................................................................................... 10 2D 映射法的眼動儀示意圖 .................................................................................... 11 利用透明板上的 9 點於實景攝影機的影像中校正 .............................................. 12 Guestrin 的 3D 眼球模型 ........................................................................................ 13 光軸示意圖 .............................................................................................................. 15 Microscribe 示意圖 .................................................................................................. 16. 圖 2-16 圖 3-1 圖 3-2 圖 3-3 圖 3-4 圖 3-5 圖 3-6 圖 3-7 圖 3-8 圖 3-9. 利用鏡面反射進行的校正流程 .............................................................................. 16 眼動儀系統架構流程圖 .......................................................................................... 17 硬體架構 .................................................................................................................. 18 攝影機拍攝的暗瞳影像 .......................................................................................... 19 原始影像與閥值分割處理後的影像 ...................................................................... 20 來源影像二值化示意圖 .......................................................................................... 21 具有最大斑點數量的影像 ...................................................................................... 22 二值化影像與斑點陣列 .......................................................................................... 23 斑點檢測順序與 Label Kernel ................................................................................ 24 首列像素檢測與 Label Kernel ................................................................................ 25. 圖 3-10 圖 3-11 圖 3-12 圖 3-13 圖 3-14. 併入前與併入後的首列檢測像素 .......................................................................... 26 首行像素檢測與 Label Kernel ................................................................................ 26 其餘列像素起始點至結束點間的像素檢測與 Label Kernel ................................ 27 標籤與斑點物件的從屬關係 .................................................................................. 28 末行像素檢測與 Label Kernel ................................................................................ 30. 圖 3-15 二值化影像與斑點標籤陣列及標籤表 .................................................................. 30 圖 3-16 斑點物件分布示意圖與標籤數字列表 .................................................................. 31 圖 3-17 ROI 示意圖(綠色為選取範圍)................................................................................ 32 v.
(7) 圖 3-18 圖 3-19 圖 3-20 圖 3-21 圖 3-22 圖 3-23 圖 3-24 圖 3-25 圖 3-26 圖 3-27. 二值化影像 ROI 區域與標記後的斑點物件 ......................................................... 32 瞳孔中心計算 .......................................................................................................... 33 瞳孔中心與目標點產生映射關係 .......................................................................... 34 眼球模型與眼動儀模型 .......................................................................................... 37 建模示意圖 .............................................................................................................. 39 標記前與標記後的瞳孔與光點影像 ...................................................................... 40 光源反射點的可能範圍(q1 ~ q2)............................................................................. 41 角平分線示意圖 ...................................................................................................... 42 雙球模型求取瞳孔示意圖 ...................................................................................... 43 視軸與光軸夾角示意圖 .......................................................................................... 44. 圖 3-28 圖 3-29 圖 3-30 圖 3-31 圖 3-32 圖 3-33 圖 3-34 圖 3-35 圖 3-36 圖 3-37. 眼動儀的操作介面 .................................................................................................. 45 校正介面 .................................................................................................................. 47 校正前與校正後的按鍵 .......................................................................................... 47 預估凝視點(紅點)的呈現介面 ............................................................................... 48 使用中的眼動儀主介面 .......................................................................................... 49 凝視環境目標物示意圖 .......................................................................................... 50 2D 與 3D 的座標轉換示意圖 ................................................................................. 51 3D 座標中的所有參數示意圖 ................................................................................ 52 兩軸旋轉平台示意圖 .............................................................................................. 53 眼動儀系統與旋轉平台使用示意圖 ...................................................................... 54. 圖 4-1 圖 4-2 圖 4-3 圖 4-4 圖 4-5. 空間中 9 點凝視實驗示意圖 .................................................................................. 56 3D 座標中的實驗結果示意圖 ................................................................................ 57 建模法 9 點實驗結果 .............................................................................................. 59 旋轉平台 .................................................................................................................. 59 旋轉平台實驗示意圖 .............................................................................................. 60. vi.
(8) 表目錄 表 2-1 表 3-1 表 3-2 表 4-1 表 4-2 表 4-3 表 4-4. 幾何關係式與其物理意義 ...................................................................................... 14 Label Table 的初始值 ............................................................................................ 23 眼睛組織的各項係數值 ........................................................................................ 41 實驗結果 .................................................................................................................. 57 30cm 實驗板實驗結果 ............................................................................................ 61 50cm 實驗板實驗結果 ............................................................................................ 61 100cm 實驗板實驗結果 .......................................................................................... 61. vii.
(9) 第一章. 緒論. 1.1 研究背景與動機 眼動儀(Eye Tracker)是一種測量眼睛組織的變化量,進而推算出眼睛凝視位置 的裝置;眼動儀的概念早在 19 世紀的法國便已萌芽,當時巴黎的一名眼科醫生 發現,人類在觀看紙本文章的時候並不是平滑的看過所有的文字,反而是專注在 某一點一段時間(凝視),再來快速的移動到下一個定點(跳視),這個發現引起了當 時不小的討論,並成為眼動儀的開發契機。 目前眼動儀應用於心理學、認知語言學、生物醫療等廣泛領域[2][14],多數 的眼動儀研究報告是專注在社會科學的研究,透過蒐集使用者在實驗中的眼動歷 程數據並加以分析,來應證實驗前的假設理論。. 圖 1-1. 風景照凝視實驗. 1.
(10) 但也因為眼動儀的種種限制,如頭部需要固定、環境中不可預測的干擾光源… 等等,讓眼動儀的應用長期十分侷限,且目前各大眼動儀製造商所推出的產品單 價非常昂貴,新台幣數萬元至數百萬元比比皆是,這也代表一個研究團隊所擁有 的眼動儀數量可能非常少,也因為如此,新架構眼動儀的發展開始熱絡了起來, 許多研究者已經發表了他們的成果,甚至開放的原始碼供人應用。 本實驗室已經開發出一款頭戴式的眼動儀,依照功能的不同可分為螢幕眼動 儀與實景眼動儀 2 種,成功解決高單價的問題,但功能尚侷限於實驗數據的蒐集, 還沒有更貼近日常生活的應用。. 1.2 研究目的 本研究致力於開發一種可預估 3D 環境目標物座標的眼動儀及其相關系統, 主要的目標為 : 1.. 由於目前眼動儀的應用非常少,本研究以不被 2D 螢幕的框架侷限為理 念進行開發。. 2.. 要應用在生活中,一定會需要使用 3D 的資訊,使本研究具有優勢。. 3.. 利用頭戴裝置的優勢,將桌上型眼動儀中計算複雜的演算法簡化並應 用。. 4.. 搭配本研究眼動儀系統軟體的特性,開發出適合的應用硬體。. 1.3 研究方法 本研究延續實驗室原先低成本高速眼動儀的設計理念,延續了頭戴式的設計, 並將原先以 C#語言開發的眼動儀軟體,轉移為 C/C++語言開發,使其可以套用 在更多應用上。 目前預估 3D 目標物座標的演算法主要可分為兩大類 : 雙眼數據分析與使用 圖卡辨識轉換凝視點座標,而後者最大的缺點是可預估目標物的範圍僅限於攝影 2.
(11) 機可以拍到圖卡的範圍,這項限制可能成為未來應用於其他裝置的阻礙,故本研 究使用雙眼數據分析作為預估 3D 凝視點的依據。為了使用兩眼的預估凝視點, 本研究也將原先實驗室使用的眼動儀改為使用兩顆取瞳攝影機的頭戴式雙眼眼 動儀,如下圖 1-2 所示。. 圖 1-2. 頭戴式雙眼眼動儀. 此外,本研究根據各方文獻提出的演算法進行改良,將原先需要複雜數學運 算的演算法簡化,讓使用者可以根據眼球模型循序漸進,一步步找出正確的光軸 與視軸,算出人眼的預估凝視點。. 3.
(12) 第二章. 文獻探討. 眼動儀根據原始設計的不同可以分成兩大類 : 侵入式眼動儀與非侵入式眼 動儀,其中的差別在於檢測儀器是否接觸眼球組織表面,侵入式眼動儀如下圖 2-1 所示,該設計利用類似於隱形眼鏡的概念,使用透明鏡片和鋁製指針指出眼睛視 線,藉此得到眼動資料,但由於其侵入式的設計多少會造成使用者不適,後來便 漸漸改為使用非侵入式眼動儀。. 圖 2-1. 史上第一台侵入式眼動儀(設計者為 Edmund Huey). 現今的非侵入式眼動儀通常使用攝影機搭配影像處理來擷取眼睛影像,以瞳 孔中心為作為眼睛移動的特徵資訊。擷取瞳孔中心影像時,依照紅外線補光光源 與攝影機擺放位置的不同又可分為亮瞳法(Bright Pupil)與暗瞳法(Dark Pupil)。 在眼動儀的設計中,除了抓取眼球特徵外,還有一個流程稱為「校正」 ,其目 的是為了將瞳孔中心的移動路徑與螢幕或是實際場景的目標物建立關聯性,目前 4.
(13) 的做法大致可分為將瞳孔資訊與目標物資訊帶入一多項式並求出映射關係的 2D 映射法(2D Mapping),以及利用眼球資訊結合攝影機位置,建立出 3D 模型並計 算人眼視線向量的建模法(Modeling),其中又因 2D 映射法較建模法方便,更容易 將演算法程式化,且運算較為簡單,故目前的頭戴式眼動儀多應用 2D 映射法。 不論利用何種方法,只要能夠得到人眼的預估凝視點,即可進行眼動儀裝置的後 續應用。. 2.1 眼動儀的應用 Mohamad A. Eid 與 Nikolas Giakoumidis 提出了一套利用螢幕眼動儀控制的輪 椅系統[8],該論文設計了一套人機互動介面,如下圖 2-2 所示,使用者可以透過 凝視介面上左方的區塊來決定要使用的功能,凝視箭頭則是可以控制輪椅的移動 方向,熱區量表則是顯示凝視時間,能控制移動速度。. 圖 2-2. 眼動儀輪椅系統操作介面. 5.
(14) 圖 2-3. 使用者正在進行輪椅操作. Peter M. Corcoran 則是提出一套搭配臉部辨識系統的眼動儀[12],如下圖 2-4 所示,首先藉由臉部辨識計算出使用者當下的位置,再使用眼動儀進行凝視方向 的判別,如此便能夠讓使用者在頭部可自由移動的情況下,預估出凝視目標點。. 圖 2-4. 臉部辨識與眼球追蹤示意圖. 將此應用於遊戲中,則可以將瞄準目標的準心(通常由滑鼠控制)移動到玩家 凝視的目標點,讓遊戲中的控制更加順暢及便利。 6.
(15) 2.2 可預估 3D 目標物座標的眼動儀 在 Laura Sesma-Sanchez[4]的論文中提出了利用雙眼數據分析的眼動儀系統, 首先也是使用 2D 映射法求出眼睛的預估凝視點,如下式(2-1)(2-2)所示。. (2-1). (2-2) 不同於常見的 2D 映射法眼動儀系統,此論文使用 2D 映射法計算雙眼的預估 凝視點,並將其平均後做為新的預估凝視點,如下式(2-3)所示。. (2-3) Laura Sesma-Sanchez 的論文對平均後的預估凝視點作了一系列不同距離的實 驗(如下圖 2-5)。實驗結果為在大部分的情況下,平均後的預估凝視點較單眼的預 估凝視點擁有更小的誤差。. 圖 2-5. 不同距離實驗示意圖. 7.
(16) 而在 Craig Hennessey[5]的演算法中則是使用建模法(圖 2-6、式 2-4)求出雙眼 的視軸後,利用兩線交於一點的特性(圖 2-7、式 2-5),求出使用者正在凝視的 3D 座標位置。. 圖 2-6. 圖 2-7. 建模法示意圖. 雙眼視軸相交示意圖. (2-4). (2-5). 8.
(17) Craig Hennessey 使用桌上型眼動儀的硬體配置,並在螢幕前架設一個可滑動 的平面,平面上貼了數個 Marker 作為實驗用的目標點,如下圖 2-8 所示。. 圖 2-8. Craig Hennessey 的硬體配置. 但同時也因為其桌上型的硬體配置,使該演算法能預估的範圍僅能在校正螢 幕與眼睛之間,且該論文實驗中最遠的預估距離為 42.5 公分,約是人正常使用電 腦時頭部與螢幕的距離,若要將其應用在生活中的裝置,其預估距離稍嫌不足。. Kentaro Takemura 的演算法中,首先使用了 2D 映射法進行校正,讓實景攝影 機的畫面上形成預估凝視點(Point of Regard),同時在實景攝影機的畫面上選出數 個感興趣點(Interest Points),由於使用者能事先測量感興趣點(如 Maker)的 3D 座 標,故能使用如下圖 2-9、2-10 所示之德勞內三角化(Delaunay Triangulation),使 得原先在攝影機影像上的預估凝視點得以轉換到真正環境中的凝視物上,達到預 估凝視點 3D 座標值的效果。. 9.
(18) 圖 2-9. 感興趣點與 Delaunay Triangulation. 圖 2-10 座標轉換示意圖. 2.3 預估凝視點的演算法 前段介紹了眼動儀的各種應用與能預估 3D 座標的演算法,所有眼動儀的基 礎在於對一平面校正後,所預估出的凝視點。有了預估凝視點後才有辦法進行後 續的應用,目前主要的演算法有兩大類 : 文獻中提及的演算法進行探討。. 10. 2D 映射法與建模法,以下將針對各方.
(19) 2.3.1. 使用 2D 映射法的眼動儀. Zhiwei Zhu 與 Qiang Ji 提出了一種 2D 映射法眼動儀的建構[6],是利用攝影 機拍攝到的瞳孔中心與光源反射點來進行運算,如下圖 2-11 所示。. 圖 2-11 2D 映射法的眼動儀示意圖 光源反射點在角膜上的成像幾乎不動,可視為一固定點,故在瞳孔中心移動 時,會與光點產生一獨特的向量,每個位子的瞳孔中心都會產生各自的向量,利 用這個特點,使用數學映射式將光點與瞳孔中心產生的向量與螢幕上的凝視點進 行映射,映射式可表示為下式(2-6)。. (2-6) 其中係數 a0~a3、b0~b3 為未知數,此時必須對螢幕進行校正(由於未知數的數 量為 8,至少必須進行 4 點校正),方可求出各項係數,此時再將瞳孔中心與光點 所產生的向量值代入式(2-6)中的 vx 與 vy,即可利用攝影機所拍到的眼睛影像推估 出人眼的凝視位置。. 11.
(20) 在 Kentaro Takemura[9]所提出的論文中,也使用到了類似的映射法,該論文 使用了頭戴式眼動儀,並加入了實景攝影機拍攝實際影像,與上述論文點擊螢幕 的校正方式不同,此論文是點擊實景攝影機所拍攝到的畫面進行校正,故預估出 來的凝視點會呈現在攝影機的畫面上,而非螢幕上。此論文使用的映射方程式為 下式(2-7)。. (2-7). 圖 2-12 利用透明板上的 9 點於實景攝影機的影像中校正. 2.3.2. 使用建模法的眼動儀. 建模法是利用預先建立的眼球模型,搭配攝影機內部的各項參數與所拍攝之 影像資訊,計算出人眼的凝視方向。為求出眼球中的角膜曲面中心參數,通常會 使用紅外線光源作為輔助。 Elias Daniel Guestrin[1]的論文中提出一套建模法眼動儀的設計流程,包含眼 12.
(21) 球模型的建立,如下圖 2-13 所示。. 圖 2-13 Guestrin 的 3D 眼球模型. 此模型可以概略從中間分為左半部與右半部,右半部的參數,包含紅外線光 源(light source)、攝影機鏡頭(nodal point of camera)、拍攝到的瞳孔中心(image of pupil center)、拍攝到的光點(image of glint center),都可利用測量的方式求得該點 在 3D 座標中的位置,而左半部的參數,包含光源反射點(point of reflection),瞳 孔中心折射點(point of refraction)、瞳孔中心(pupil center)、角膜曲面中心(center of corneal curvature),皆為未知數,必須利用右半部的已知數求取。 利用眼球組織內部與攝影機中各項參數的幾何關係,可以歸納出下表 2-1 所 示之數學式:. 13.
(22) 2 點相減形成向量 2 點間距離固定 2 垂直向量內積為 0 反射定律 2 點相減形成向量 2 點間距離固定 2 垂直向量內積為 0 折射定律 2 點間距離固定. 表 2-1. 幾何關係式與其物理意義. 本段探討單光源與單攝影機配置下的方法,i 與 j 皆為 1,由上表 2-1 共可得 到 13 個由純量組成的方程式與 14 個純量未知數,因未知數數量多於方程式組數, 故需要更多的方程式來進行求解,該論文使用固定頭部的設計。由於頭部視為不 動,攝影機鏡頭 o 至角膜曲面中心 c 的距離固定,故可推出如下式(2-8)所示之關 係式,使方程式組數與未知數數目相等,得以求解。. (2-8) 求出角膜曲面中心 c 與瞳孔中心 p 後,與眼球中心 d 搭配,即可建立光軸模 型,如下圖 2-14 所示。. 14.
(23) 圖 2-14 光軸示意圖 其中角膜曲面中心與瞳孔中心所形成的向量與座標軸的夾角分別為 eye 和. eye ,故可以使用下式(2-9)來表示光軸向量。. (2-9) 但根據圖 2-13 的 3D 模型,人類的視線方向為視軸(Visual Axis)而非光軸,光 線透過視軸的方向直達視網膜(Fovea),而視軸與光軸間的夾角,在座標軸系統中 可用 eye 與 eye 來表示,故視軸向量可以下式(2-10)表示。. (2-10) 算得視軸向量後,即可在座標軸中算出人眼的預估凝視點 g,以下式(2-11) 呈現。 15.
(24) (2-11). 其中 kg 為未知數,為求得該未知數,在流程上會進行對螢幕的 1 點校正,由 於螢幕上的 Z 軸座標為 0,故能推測出凝視點 g 的 z 方向座標值也是 0,也就是 上式(2-11)中等號左方為 0,將等號右方的算式進行移項便能得到下式(2-12)。. (2-12) 完成上式步驟便完成校正,該桌上型眼動儀系統即可使用。. 在 Sheng-Wen Shih[3]的論文中,則是以 3D 定位儀器 Microscribe(圖 2-15)[18] 對相機影像座標系與螢幕坐標系進行校正,其儀器精密度高但價格而貴。. 圖 2-15 Microscribe 示意圖. 圖 2-16 利用鏡面反射進行的校正流程. 16.
(25) 第三章. 系統架構. 本研究提出一套可預估 3D 環境中目標物座標的眼動儀架構,可分為三大部 分 : 眼動儀硬體(Eye Tracker Hardware)、眼動儀控制軟體(Control Software)、應 用裝置(Application Device)。眼動儀硬體由骨架(Frame)、取瞳攝影機(Eye Camera)、 實景攝影機(Scene Camera)構成,由使用者戴上頭戴式眼動儀硬體後,透過控制 軟體進行眼球的追蹤與操作,追蹤完成時會與應用裝置連線,進行後續的操作或 實驗,下圖 3-1 為本研究之系統架構圖。. 圖 3-1. 眼動儀系統架構流程圖. 17.
(26) 3.1 硬體架構 本研究使用之頭戴式眼動儀參考本實驗室第一代眼動儀設計,大致可分為三 個部分 : 骨架(Frame)、實景攝影機(Scene Camera)、取瞳攝影機(Eye Camera)。 在一般的眼動儀實驗中(如 9 點精準度實驗)只會用到骨架與取瞳攝影機兩個部分, 若是需要進行實景的目標物刺激眼動實驗,或是以圖卡辨識(Pattern Recognition) 補償頭動誤差的螢幕眼動儀,則需要使用實景攝影機拍攝真實環境的影像。不同 於以往的設計,本研究以雙眼的數據進行分析,故在左眼與右眼都會架設取瞳攝 影機。. 圖 3-2. 硬體架構. 由於侵入式的眼動儀架構容易造成使用者的不適,進而影響實驗數據的準確 性與使用時間,本研究同第一代眼動儀的設計理念,採取非侵入式的設計,透過 影像處理將攝影機擷取的瞳孔位移影像作為眼動儀的判斷依據,同時考量可負擔 的成本與具公信力的影格刷新率,選擇使用 SONY 公司所開發的 PlayStation 3 Eye Camera(以下簡稱 PS Eye)作為取瞳攝影機與實景攝影機。 PS Eye[17][22]原為 Sony 公司搭配旗下桌上型遊戲機 PlayStation 3 的自製鏡 18.
(27) 頭,用於偵測人類的肢體動作,提供體感遊戲判斷的資料依據,故 PS Eye 與其 他平價網路攝影機相比擁有更好的硬體規格與效能。. 3.2 取瞳原理 本研究以攝影機搭配影像處理技術的方式作為分析眼動資料的依據,由於瞳 孔是整個眼球組織中特徵較為明顯,且不易受眼瞼干擾的部位,故擷取瞳孔移動 的數據做為眼動資料,同時為減少自然光造成不必要的干擾影響取瞳的準確性, 在使用眼動儀時會搭配人類視覺無法看見的近紅外線 LED 光源進行補光。依照 紅外線光源與取瞳攝影機擺放位置的不同,可分為光源擺放於取瞳攝影機光軸附 近的亮瞳法(Bright Pupil),以及擺放位置偏離與攝影機光軸的暗瞳法(Dark Pupil), 本研究使用的方法為暗瞳法。 在使用眼動儀的過程中,如下圖 3-3 所示,紅外線光照射眼球時,角膜(Cornea)、 鞏膜(Sclera)和虹膜(Iris)等眼球組織會將紅外線反射,讓取瞳攝影機接收,唯獨瞳 孔因其吸收光線並成像於視網膜組織的特性,取瞳攝影機不會拍攝到瞳孔的反射 光,而形成一顏色較暗且純粹的影像,稱為暗瞳。眼動儀即是透過影像處理計算 瞳孔中心作為眼動判定的儀器。. 圖 3-3. 攝影機拍攝的暗瞳影像. 19.
(28) 3.2.1. 閥值分割法. 閥值分割法(Thresholding)是一種影像處理的基本方法,透過對影像的色 彩值(Color Value)或灰階值(Grayscale Value)設立閥值,進行相異點分類,並 大略的切割影像,此方法常被程式設計者應用於分割出影像中使用者需要的 部分。本研究使用針對灰階值的閥值分割法,一張灰階影像通常採用每個取 樣像素為 8 bits(代表 0 到 255 之間)的伽碼編碼(Gamma Encoding)保存,由使 用者決定一介於 0 到 255 間的閥值,將整張影像的像素數值與閥值進行比較 同時二值化或是濾除不符合條件的像素點,完成影像分割。. 圖 3-4. 原始影像與閥值分割處理後的影像. 本研究採用二值化法實現閥值分割法 : 當輸入影像當前的檢測像素 src(x, y)的灰階值大於使用者設立的閥值時,則將輸出影像的相對位置像素填 入灰階值的最大值(255,也就是白色),反之則填入 0(黑色),同 OpenCV 開 源庫中的設定[10][20]。. (3-1). 20.
(29) 3.2.2. 斑點檢測. 斑點檢測在影像處理中常用於檢測是否有符合程式設計者定義的影像區 域,並將每個區域視為一個獨立的斑點(Blob),設計者可以使用灰階值、色 彩值等條件來定義篩選機制,每個斑點內的所有像素點都擁有相同的特性, 以下為斑點檢測的執行程序 : A. 影像分割 如前段所說,影像分割的條件是由使用者定義的,本研究使用灰階 值來進行影像分割,也就是章節 3.2.1 所提到的閥值分割法。 下圖 3-5 為一個二值化處理後影像的示意圖,是一個由最小灰階值 0(黑色)與最大灰階值 255(白色)組成的影像,圖中的黑色區域將會在斑點 檢測的流程中被一一標出。. 圖 3-5. 來源影像二值化示意圖. B. 斑點檢測 斑點檢測(Blob Detection)的目標是將符合條件且彼此鄰近的像素貼 上標籤(Labelling),再判斷每塊標籤彼此是否為同一個斑點物件(Blob)。 21.
(30) 在判定過程中,若彼此相鄰的像素擁有不同的標籤時,需要透過一 開始建立的標籤表(Label Table,或稱標籤陣列)來決定是否為同一個斑點 物件。藉由這個方式將相鄰的像素標記為同一塊斑點,其方法與詳細步 驟如下 : 1.. 建立標籤表 在此作為範例的示意圖為 8x7 像素的二值化影像,當檢測灰階值. 為 0 的黑色區域時,該影像可能的最大斑點數量應為下圖 3-6 所示的 數量。. 圖 3-6. 具有最大斑點數量的影像. 如圖中所示,任一單點的黑色像素皆沒有相鄰,代表每一個黑色 像素都是獨立的斑點物件,此刻的斑點數量為 8x7 像素影像中的最 大值,共計 16 個。斑點物件最大值與影像寬、影像高的關係如(3-2) 至(3-4)式所示。 (3-2). (3-3) 22.
(31) (3-4) 接著使用斑點物件最大值(Blob MaxVal)的數字建立標籤表陣列 Label_Tab[Blob_MaxVal],建立出來的陣列如下表所示。. Label. 1. 2. 3. 4. 5. …. Blob_MaxVal. Blob. 1. 2. 3. 4. 5. …. Blob_MaxVal. 表 3-1. Label Table 的初始值. 上表中 Label 表示該像素被給予的像素標籤,Blob 則是該像素隸 屬於哪一塊斑點,在初始化時的假設為每一塊標籤都自成一塊斑點 物件。. 2.. 建立斑點陣列 依照來源影像的尺寸計算出其陣列長(length),並以此陣列長建. 立出斑點陣列表(Blob_Label),用來記錄二值化影像中符合定義而被 標籤的像素。. 圖 3-7. 二值化影像與斑點陣列. 23.
(32) 圖 3-7 中在斑點陣列中暫時填入 B,在之後的步驟會判定其斑點 歸屬,目前屬未知數以 B 表示。. 3.. 將影像貼上標籤 在進行斑點檢測時,如圖 3-8 中紅色箭頭的方向,由左至右、由. 上而下並套入 Label Kernel 進行檢測。. 圖 3-8. 斑點檢測順序與 Label Kernel. 根據 Label Kernel 中的檢查順序,以 X 為檢查中心,依序檢查其 周圍的 A、B、C、D 像素是否符合定義(灰階值是否為 0)並同時進行 標籤。 但在檢查的過程中,可能會發生檢查區域超出影像範圍的狀況 (以左上第一個像素為 X,A、B、C、D 像素皆超出影像範圍),故在 此將檢查程序分成四大部分加以探討 : 對首列(Row 1)的像素檢查、 首行(Row 2 –. Row N 的起始點)的像素檢查、其餘列(不包括首尾像. 素)的像素檢查,末行的像素檢查。實作步驟會於(4)至(7)中詳加探 討。. 4.. 對首列像素進行檢測 本步驟將對首列的像素進行檢測並且貼上標籤,如下圖 3-9 所示, 24.
(33) 由於 B、C、D 像素皆超出影像範圍,Label Kernel 只會剩下檢測核 心 X 與檢測像素 A。. 圖 3-9. 首列像素檢測與 Label Kernel. 圖 3-9 中,當檢測核心 X 像素符合定義時(灰階值為 0,影像為 黑色時為 true,反之則為 false),則依據 Label Kernel 檢測其相鄰像 素是否符合定義(在此僅需檢查 A 像素),其檢測公式如下. (3-5). (3-6). 5.. 對首行像素進行檢測 經過步驟 4 的檢測後,將會得到如下圖 3-10 所示的結果,可以. 看到原先首列的 2 個像素應分別被標籤為 1 和 2,但由於兩像素相鄰, 故像素 2 的標籤被併為像素 1 的標籤。. 25.
(34) 圖 3-10. 併入前與併入後的首列檢測像素. 接下來要針對首行(首列以外的任一列 Row N 的起始點)的像素 進行檢測,如下圖 3-11 中的 Label Kernel(A、B 超出影像範圍),對 首行像素依序檢測是否有符合定義的相鄰像素並貼上標籤。. 圖 3-11. 首行像素檢測與 Label Kernel. 受檢測像素 Pixel[X]的檢測順序如圖中的 Label Kernel 所示依序 為 C、D,其中的檢測公式如下(3-7)、(3-8)式。. (3-7). 26.
(35) (3-8). 6.. 對其餘列(不包含首尾像素)進行檢測 檢測完首列與首行像素後,於本步驟開始計算其餘列(Row 2-. Row N)起始點至結束點之間的像素。. 圖 3-12. 其餘列像素起始點至結束點間的像素檢測與 Label Kernel. 受檢測像素 Pixel[X]與其相鄰像素的檢測關係如上圖 3-12 所示, 檢測順序依序為 A、B、C、D 像素,其中的檢測公式如下(3-9)、(3-10) 式。. (3-9). (3-10). 27.
(36) 到這個步驟,可能會出現一矛盾的狀況,受測點 Pixel[X]檢測到 D 像素時,若斑點標籤 Blob_Label[X]與 Blob_Label[D]不同時,必須 更加一步探討標籤表中斑點物件與標籤之間的關係。. 圖 3-13. 標籤與斑點物件的從屬關係. 如圖 3-13 中所示,在二值化影像中與 Pixel[X]相鄰的 Pixel[B]與 Pixel[D]都符合檢測定義(灰階值都為 0,黑色),依照(3-9)與(3-10)式, Blob_Label[X]會為 4。由上圖 3-13 可觀察到像素 Pixel[D]所對應的 Blob_Label[D]應為 5,此時以 X 為核心檢測到 D 時,會發現 Blob_Label[X]不等同於 Blob_Label[D],意即像素 X 與像素 D 為不 同塊斑點,遇到這種狀況時則須檢視標籤表中紀錄的斑點物件與標 籤之間的關係。 由圖 3-13 可知,Pixel[X]與 Pixel[D]2 個像素分別屬於不同的斑 點物件(Blob 4、Blob 5),在此情況下需要分成 3 種狀況討論 Label[4] 與 Label[5]是否要歸為同一個斑點物件,分別是 : Label[X] = Blob_Label[X]、Label[D] = Blob_Label[D]、兩者皆非。. (1) Label[X] = Blob_Label[X] 此情況代表代表 Pixel[X]歸屬於與自身標籤號碼相同的斑點物 件,代表 Pixel[X]所屬的 Label 並未被其他斑點物件合併,在此情況 下會將像素 X 所屬的 Label 合併到像素 D 所屬的斑點物件。 28.
(37) 如圖 3-13 所示,Pixel[X]的標籤 Label 4 原本隸屬於 Blob 4,意即 Label[4] = Blob_Label[4] = 4,在更新後會得到 Label [4] = Label[D] = 5,即代表其歸屬於 Blob 5。. (2) Label[D] = Blob_Label[D] 當狀況(1)沒有發生時,才進入此狀況的判定。(2)步驟被觸發時 代表像素 X 已經被合併到其他的斑點物件中,所以此步驟將探討像 素 D 是否被合併於其他斑點物件中。若 Label[D] = Blob_Label[D]時 即代表像素 D 的標籤隸屬於自身的斑點物件,並未受到合併。此時 會將像素 D 的標籤併入像素 X 的斑點物件中,即 Label[D] = Label[X]。 倘若 Label[D]不等於 Blob_Label[D]時,則代表像素 D 的標籤也已經 被併入其他斑點物件了,此時則繼續判斷步驟(3)。. (3) 兩者皆非 當(1)、(2)情況皆沒有發生時,代表像素 X 與像素 D 各自的標籤 都已經被併入其他的斑點物件了;在此,演算法上會先將像素 X 標 籤所屬的斑點物件合併至像素 D 標籤所屬的斑點物件,也就是 Label[Label[Blob_Label[X]]] = Label[Blob_Label[D]],接著將 X 像素 標籤的 Blob_Label[X]一起併入像素 D 的斑點物件,即為 Label[Blob_Label[X]] = Label[D]。. 7.. 對末行進行檢測 前面的 3 個步驟已經完成了首列、首行、每列起始點至結束點間. 的像素檢測,接下來只剩下末行(每一列的結束點)的像素檢測。. 29.
(38) 圖 3-14. 末行像素檢測與 Label Kernel. 如上圖 3-14 所示,針對與 Pixel[X]相鄰的像素進行檢測,符合 定義者則貼上標籤,檢測順序依序為 A、B、C,其中的關係可用下 (3-11)、(3-12)式判定。. (3-11). (3-12). 8.. 檢測結果. 圖 3-15. 二值化影像與斑點標籤陣列及標籤表 30.
(39) 圖 3-15 中可清楚得知 Label 1 至 Label 7 被分別分在 Blob 1、Blob 3、Blob 5、Blob 6、Blob 7 共 5 個斑點物件中,這 5 個物件即為斑點 檢測的結果。 下圖 3-16 中為完成檢測後,各斑點分布狀況的示意圖與其中的 標籤數字列表。. 圖 3-16. 3.2.3. 斑點物件分布示意圖與標籤數字列表. 取瞳程序. 如同章節 3.1、3.2 所述,本研究使用紅外線 LED 作為輔助光源,架設於 取瞳攝影機旁並使用暗瞳法擷取清晰的瞳孔影像,再使用閥值分割法與斑點 檢測找出瞳孔中心,其程序如下 : A. 選取影像的適當範圍 首先要先選取影像上的感興趣區(Region of Interest, ROI),透過使用者介 面(UI)上的範圍選取控制單位,框選出適合的範圍。透過 ROI 可以有效降低 雜訊量。. B. 閥值分割法 選出適當的範圍後,便要使用閥值分割法將影像二值化,由於瞳孔較其 他眼睛組織更容易吸收光線,取瞳攝影機拍到眼睛影像時,瞳孔會比其他部 31.
(40) 位呈現較暗的影像。. 圖 3-17. ROI 示意圖(綠色為選取範圍). C. 斑點檢測並濾除非瞳孔的雜訊 將影像二值化後,便進行斑點檢測的步驟,如前章的介紹,斑點檢測能 夠將影像中獨立的斑點物件標記出來,處理完畢的影像可能會有多個不同的 斑點,此時會讓使用者透過設定斑點面積大小來濾除訊,如下圖 3-18 所示, Blob 2 及 Blob 3 最後的會被濾除,只剩下 Blob 1(瞳孔部分)。. 圖 3-18. 二值化影像 ROI 區域與標記後的斑點物件. D. 計算瞳孔中心 道上一步驟為止,影像已經處理到只剩瞳孔一個斑點物件了,此時以計 算其重心的方式計算瞳孔中心的座標(Px, Py)。 瞳孔斑點中的任一像素的座標令為(xn, yn),像素總數令為 k,計算方式即 為所有 k 點座標的平均值,如下圖 3-19 所示。. 32.
(41) 圖 3-19. 瞳孔中心計算. 3.3 校正方法 在眼動儀的使用上,是由眼睛特徵的變化量來預估使用者正在凝視何處,故 在取得瞳孔中心(Pupil Center)之後,需要透過一道手續將瞳孔中心點與螢幕的對 應位置進行配對,該流程即稱為校正(Calibration)。 目前主流的校正方法可分為兩大類 : 2D 映射法(2D Mapping)與 3D 建模法 (3D Modeling),前者透過將取瞳攝影機所擷取之瞳孔中心點與螢幕的相對位置像 素進行映射,藉以推斷出使用者位於螢幕上的凝視點(Gaze Point);後者則是以選 取空間中任一點為中心進行 3D 建模,推估出角膜曲面中心(Center of Corneal Curvature)與瞳孔中心的 3D 座標位置,以此預估使用者眼球的光軸(Optic Axis)與 視軸(Visual Axis),達到推算凝視點的效果。. 3.3.1. 2D 映射法. 在校正時,會先在螢幕上設定好讓使用者凝視的目標點(Target Point),接 著請使用者依序或隨機凝視目標點,同時將每個凝視過程中的瞳孔中心座標 (Kx, Ky)與螢幕目標點的座標(Qx, Qy)記錄下來,至少每個目標點要對應到一 個瞳孔中心位置,通常會設定 9 個目標點讓使用者凝視。 如下圖 3-20 所示,經過 9 點校正之後,將螢幕的目標點與瞳孔中心點透 過 2D 映射的方式建立配對關聯性,即可以瞳孔中心位置預估凝視點位置。 圖中取瞳攝影機影像的紅色虛線代表瞳孔的移動路徑,在校正之後會與螢幕 的目標點建立映射關係。 33.
(42) 圖 3-20. 瞳孔中心與目標點產生映射關係. 本研究採用二階多項式映射法(2nd-order Polynomial Mapping)進行 9 點校 正,其程序如下 :. A. 建立多項式 凝視目標點產生的凝視點(Gx, Gy)與瞳孔中心(Kx, Ky)間的映射關係 如下(3-13)、(3-14)式所示。. (3-13). (3-14). 其中 U(Kx, Ky)與 V(Kx, Ky)分別為預估 Gx 與 Gy 的映射函式,將一 階多項式 f(x, y) = Ax + By + C 平方後可做為映射函式的二階多項式,將 其展開後會產生 a0~a5、b0~b5,共計 12 個未知數,如下式(3-15)所示。 34.
(43) (3-15). B. 將已知點帶入映射多項式 在校正過程中,瞳孔中心的座標與對應的螢幕目標點座標會被記錄 下來,9 個點共計 18 筆資料可將其視為已知點;由於使用者是凝視螢幕 目標點,故此處將目標點座標(Qx, Qy)依序帶入凝視點座標(Gx, Gy),然 後將瞳孔中心座標(Kx, Ky)帶入,可得到下式(3-16)所示之映射方程式系 統,(Qx1, Qy1)~(Qx9, Qy9)為校正時凝視之 9 點,(Kx1, Ky1)~(Kx9, Ky9)為相 對應的瞳孔中心座標,而 a0~a5、b0~b5 是稍後要求解的 12 個未知數。. (3-16). C. 使用最小平方法求解未知數 在步驟 B 已經列出方程式系統,接下來只需將未知數求出即可完成 映射方程式的建立。在系統中,已知數的組數 9((Qx1, Qy1)~(Qx9, Qy9)分 別對應(Kx1, Ky1)~(Kx9, Ky9))比未知數的個數 6(a0~a5 或 b0~b5)還要多,以 35.
(44) 此條件進行線性方程式求解通常會無解,此狀況稱為過定系統(Over-determined System)。為處理這種狀況,改為使用最小平方法(Least Square)[16]求取近似解,最小平方法是一種數學上常用的最佳化方法, 透過將誤差的平方和最小化後以求得最佳的參數(最小平方解),於此使用 最小平方法將 a0~a5 與 b0~b5 求解出最佳近似解,使預估的凝視點(Gx, Gy) 與螢幕目標點(Qx, Qy)之間的誤差平方和最小。 為方便計算,將方程式以矩陣的方式表示;矩陣 A 為(Kx1, Ky1)~(Kx9, Ky9)所組成之係數組,向量 x 則為 a0~a5 或 b0~b5 組成。隨後將目標點座 標(Qx1, Qy1)~(Qx9, Qy9)帶入向量 b,如下式(3-17)所示。. (3-17) 由上段敘述可知,為了讓 a0~a5 與 b0~b5 可以得到最佳的配置,等同 是要求取一向量 x 使得 || Ax – b || 最小化。. D. 使用奇異值分解計算最小平方解 在步驟 C 之中提到以最小平方法求取未知數 a0~a5 與 b0~b5 的最佳近 似解,等同於需要求取一向量 x 使得 || Ax – b || 最小化;於此,使用奇 異值分解(Singular Value Decomposition, SVD)對矩陣 A 進行矩陣分解並 求取向量 x 的最小平方解,本研究使用開源函式庫 OpenCV 所提供的奇 異值分解函式 cvSVD 求取向量 x 的最小平方解。 36.
(45) E. 使用瞳孔中心座標預估凝視點座標 步驟 D 完成時已經求得共 12 個未知數的最小平方解,此時將取瞳攝 影機所拍得的瞳孔中心位置與求得的 a0~a5 與 b0~b5 帶回上式(3-15)中的 映射方程式,即可推斷出使用者目前的凝視點位置。. 3.3.2. 建模法. 不同於 2D 映射法需要透過兩個不同平面之間的互相轉換,建模法使用 空間中一定義點為原點,建立起整個眼動儀系統的 3D 模型,藉此預估使用 者的完整視線軌跡,如下圖 3-21 所示。. 圖 3-21 眼球模型與眼動儀模型. 整個模型可以大致由攝影機鏡頭 o (Nodal Point of Camera)為界,分為左 半部分(眼球部分)與右半部分(眼動儀部分)。左半部分比較重要的參數有角膜 曲面中心 c (Center of Corneal Curvature)、瞳孔中心 p (Pupil Center)、瞳孔中 心折射成像於角膜上的折射點 r (Point of Refraction)、近紅外線 LED 光源成 37.
(46) 形於角膜上的反射點 q (Point of Reflection),以及由角膜曲面中心與瞳孔中心 連線形成的眼球光軸(Optic Axis),與因眼球組織折射,而和光軸有一夾角的 人類真實視線軌跡 : 視軸(Visual Axis);在此要特別留意,本段提及的瞳孔 中心與 2D 映射法中的瞳孔中心不同,前者代表的是眼球組織中的瞳孔組織 中心的 3D 座標位置,後者則是代表取瞳攝影機影像中暗瞳法所框出之瞳孔 部分的中心點。 右半部份比較重要的參數有攝影機鏡頭 o、近紅外線光源 l (IR LED Light Source)、攝影機感光元件接收來自瞳孔中心折射點光線的成像點 v (Image of Pupil Center)、以及感光元件接收來自紅外線光源反射點光線的成像點 u (Image of Glint Center)。 其中右半部分的所有參數(包含感光元件的各點座標)都可以利用測量或 是計算取得,視為已知點;左半部分的參數則需要透過後續的計算與預估才 能得到,視為未知點,文獻中探討的建模法通常是利用許多眼睛組織中相互 的幾何關係或眼睛與攝影機之間的幾何關係,列出許多線性方程式並透過方 程式組數等於或大於未知數組數進行求解,但其中計算過程繁雜且難以求 解。 本研究提出一種新的建模法,透過頭戴式眼動儀的優勢,大幅降低運算 的複雜度且維持水準以上的精準度,其計算流程如下 :. A. 計算角膜曲面中心可能所在處並建立模型 建模法的原理在於眼球視軸的預估,而視軸可視為光軸旋轉一個角 度後的結果,故求取光軸即為建模法的關鍵;眼球光軸的定義為瞳孔中 心與角膜曲面中心的連線而產生的向量,求取角膜曲面中心座標與瞳孔 中心座標為首要工作。 由於本研究使用之硬體為頭戴式眼動儀,取瞳攝影機固定於使用者 頭部前方,攝影機與眼球組織的相對位置不變,故攝影機鏡頭與角膜曲 38.
(47) 面中心之間的距離可視為不變,兩者之間的幾何關係可使用下式(3-18) 表示 : (3-18) Y 為使用者戴上眼動儀時,測量取瞳攝影機鏡頭至角膜曲面中心的 距離,以此式為建模條件,可建出如下圖所示的模型。. 圖 3-22. 建模示意圖. 此處以取瞳攝影機鏡頭為球心,以固定距離 Y 為半徑,建立出一個 角膜曲面中心位於其表面上的球體,此模型可以使用單純的球體方程式 表示 :. (3-19). B. 透過各參數間的幾何關係求解角膜曲面中心座標 由步驟 A 可以確認角膜曲面中心的可能所在位置,但要求出確切的 座標點則需要使用近紅外線光源的反射點資訊。 39.
(48) 不同於 2D 映射法在取瞳攝影機影像中只會提取瞳孔特徵的資訊,建 模法會多提取一個光點的資訊;該光點是由近紅外線光源發出的光反射 於角膜表面後形成,不同於暗瞳法的瞳孔特徵,光點則是一明亮且純粹 的圓形,由取瞳攝影機拍攝到的影像如下圖 3-23 所示,以綠色圓型區塊 標記的範圍即是光點範圍。. 圖 3-23. 標記前與標記後的瞳孔與光點影像. 標記出光點後,即代表感光元件上接收來自紅外線光源反射光線的 成像點 u 的 3D 座標已經取得,將攝影機鏡頭 o 的座標與感光元件成像 點 u 的座標相減,會產生一延伸後可貫穿步驟 A 中建模球體的向量,由 於是光點成像點與鏡頭的連線,這代表近紅外線光源的反射點 q 必定坐 落在這條向量的延伸線上。 若以生物醫學的角度來審視眼球組織,光源反射點 q 由於成像在角 膜上,該點位置必定不可能位於建模的球體之外,代表著球體表面為光 源反射點 q 可能座落的最遠距離(距離取瞳攝影機的距離),而球體表面正 好也是角膜曲面中心可能存在的範圍,故光源反射點 q 距離球體的距離 最遠不會超過角膜曲面半徑 R。 將距離取瞳攝影機最近的可能 q 點令為 q1,最遠的可能 q 點令為 q2, 則能夠畫出真實的光源反射點 q 可能座落的區域範圍,如下圖 3-24 與表 3-2 所示。 40.
(49) 圖 3-24. 表 3-2. 光源反射點的可能範圍(q1 ~ q2). 眼睛組織的各項係數值. q1 與 q2 兩點的表示式如下 :. (3-20). (3-21). 41.
(50) 確定 q 的可能範圍後,於 q1 至 q2 內找任一點為起始點 q ' ,將其與紅 外線光源連線,根據前面的模型圖 3-21 所示,角膜曲面中心 c 與光源反 射點 q 的連線為 uo (感光元件上的光源反射點中心與取瞳攝影機鏡頭的 連線)及 lq (紅外線光源與角膜上光源反射點的連線)的角平分線(Normal at the Point of Reflection),藉此能夠計算出該起始點 q ' 推算出來的 c ' 。 如前段提到, cq 為角膜曲面半徑,意即表 3-2 中的 R,約 7.8 毫米, 故推算出之 c ' q ' 的長度也要等於 R,為達成這個條件,實作上是使用二 分逼近法(Bisection Method)在 q1 至 q2 間求取正確的 q ' ,藉此求取正確的 c ',正確的 c ' 即為推估出來的角膜曲面中心點座標,二分逼近法求正確 q. 點( Pq ' - q (n) )的公式如下(3-22)式。 1. 圖 3-25. 角平分線示意圖. (3-22). 42.
(51) C. 計算瞳孔中心座標與光軸/視軸 由步驟 B 計算出角膜曲面中心的座標後,便可開始求解瞳孔中心的 座標,如下圖 3-26 所示,以角膜曲面中心 c 為球心,搭配表 3-2 中的參 數 K(角膜曲面中心 c 至瞳孔中心 p 的距離)、R(角膜曲面半徑),分別建 立起兩個球模型。 由模型能夠得知,瞳孔中心 p 因為與角膜曲面中心 c 之間是固定距 離,故 p 必定位於較小的球體上,再來將感光元件上的瞳孔中心影像座 標 v 與取瞳攝影機鏡頭 o 連線,該連線會與大球模型相交於一點,即為 角膜上的瞳孔中心折射點 r。. 圖 3-26. 雙球模型求取瞳孔示意圖. 由於瞳孔中心點 p 是經過折射後成像於 r,才讓攝影機捕捉到,所以 ov 與 rp 之間會有一折射角度,該折射產生的原因是因為光線由眼睛組織. 傳送到空氣,兩者介質的折射係數不同,故會導致折射現象產生,根據 斯乃爾定律(折射定律),搭配表 3-2 中提到的眼睛組織與空氣的折射係數, 可以得到下列關係式 :. (3-23) 透過(3-23)式即可求出瞳孔中心 p 的實際座標,將角膜曲面中心 c 與 瞳孔中心 p 連線,求出的向量 cp 即是光軸。 雖然光軸向量看似就是人類的視線向量,但在生理學上,人類真正 43.
(52) 看到的畫面是由視網膜所接收的光線,故真正的人眼視覺向量應為視軸, 如下圖 3-27 所示,兩個向量間會有一夾角。. 圖 3-27. 視軸與光軸夾角示意圖. 為了補償這個夾角,在 Guestrin 的論文中提到可以使用水平方向往 內 5 (右眼的話往左 5 ,左眼的話往右 5 ),垂直方向往上 1.5 來進 行補償,但考慮到各個使用者眼睛組織內的參數可能都不盡相同,故本 研究採用 1 點校正來補償光軸與視軸間的夾角。 求得光軸後,即可在螢幕上產生一個錯誤的預估凝視點,透過點擊 螢幕上一已知點,計算出正確的凝視點與錯誤的預估凝視點之間的距離 差,再以比例關係轉換為角度,藉此將光軸補償為視軸。. D. 推估螢幕上的預估凝視點 在步驟 C 中,已經將光軸向量補償為視軸向量,在此步驟將定義好 螢幕與取瞳攝影機的相對關係,不論是固定頭部,或是透過其他演算法 計算兩者間的相對位置,藉由兩者之間的距離搭配視軸計算,即可推估 出螢幕上的預估凝視點。. 44.
(53) 3.4 軟體架構 本研究的控制軟體是使用 Microsoft Visual Studio 嵌入 Qt Design 為開發環境, 以 C++實現演算法內容,並使用 Qt 開發眼動儀介面,下圖 3-28 為本研究眼動儀 的操作介面,將依序從編號 1 至編號 12 對應下述 1 至 12 節來介紹。. 圖 3-28 眼動儀的操作介面 1. 眼動儀主介面 操作眼動儀的主要視窗,包含所有的影像畫面、調整參數、延伸功能按鍵, 將眼動儀所需項目全數整合。. 2. AOI TrackBar 由上、下、左、右,共計 4 個調整桿決定影像中瞳孔可能的所在區域,拉 動調整桿改變斑點偵測的區域,能讓瞳孔偵測更加準確。 45.
(54) 3. 暗瞳影像顯示區 擷取 PSEye 攝影機拍攝到的眼睛暗瞳影像,並顯示於該區的 Label 元件上, 後續的閥值分割與斑點偵測都是利用此處的圖片進行。. 4. 影像亮度增益值 此處可由調整桿或是輸入數值調整對應影像的亮度增益值,數值越高,影 像亮度越高,適當調整可讓影像更清晰。. 5. 影像曝光值 此處可由調整桿或是輸入數值調整對應攝影機的曝光值,為了拍攝最清晰 的影像,此處通常將曝光值調整到最高。. 6. 閥值 由此處調整於閥值分割演算法中,使用者定義的閥值,閥值越大,被標記 的影像範圍就越大。. 7. 瞳孔最大值 由於抓取的 PSEye 影像解析度為 320x240,共 76800 個 pixel,於此設定 了瞳孔可能範圍的最大值,範圍為 0 至 30000,適當調整能夠排除其他非瞳 孔斑點,使瞳孔標記更加準確。. 8. 瞳孔最小值 同上述 7 中所述,此處設定了瞳孔可能範圍的最小值,範圍為 0 至 2000,適 當調整能濾除小面積的雜訊。. 46.
(55) 9. Camera Start / Camera Stop 兩個按鍵分別代表開始擷取攝影機影像與停止擷取攝影機影像,眼動儀系 統即是以按下 Camera Start 按鍵開始。. 10. Calibration / Calculation-SVD 在正確標記出瞳孔中心後,便進入校正程序,按下 Calibration 按鍵,校正 介面便會出現,如下圖 3-29 所示[15]。. 圖 3-29 校正介面 由左至右、由上至下,總共有 9 個點需要校正,紅色箭頭表示校正時點 擊按鍵的順序,9 點都完成點擊時,代表計算映射式係數 a0~a5、b0~b5 所需 的資料都已經蒐集完畢。當使用者按下按鈕時,該按鈕會顯示英文字母「D」 , 代表已經校正過該點(done),如下圖 3-30 所示。. 圖 3-30 校正前與校正後的按鍵 47.
(56) 完成資料的收集後,便可按下 Calculate 按鈕,程式會將前一步校正時獲 得的資料帶入 OpenCV 開源庫中的 cvSVD 函式,用以計算映射式係數,本步 驟完成後,已經可以使用瞳孔中心的資訊預估出凝視點位置。. 11. show POG / close 在第 10 節的步驟中已經能夠預估凝視點,此處按下 show POG 的按鍵後 會出現一個全螢幕的視窗,並在上面印出預估凝視點的位置,如下圖 3-31 所 示。. 圖 3-31 預估凝視點(紅點)的呈現介面. 12. Change Camera 由於後續的眼動儀應用,左眼與右眼的預估凝視點(POG)必須分別標記, 故 camera 1 與 camera 2 拍攝到的眼球必須固定。當主介面顯示的影像相反時, 可以利用這個按鍵將影像對調。. 48.
(57) 3.5 使用程序 首先將眼動儀硬體連上控制端軟體(on PC),開啟使用者介面並擷取 PSEye 攝 影機畫面,接著使用 TrackBar 調整斑點偵測邊界,框選出瞳孔所在的 ROI 區域, 再調整影像曝光與增益使影像更加清楚。根據使用者經驗微調出剛好能抓出瞳孔 部分所需要的閥值與瞳孔最大最小值,控制軟體會計算出該塊斑點的幾何重心, 也就是瞳孔中心。 得到瞳孔中心後便可開始 9 點校正,依序從編號 1 的按鍵點擊至編號 9,在 點擊的瞬間使用者必須凝視該點,點擊完畢後按下 Calculate-SVD 按鍵,軟體會 算出映射式中的未知係數,此時代表眼動儀系統已經有預估凝視點的能力了。. 圖 3-32 使用中的眼動儀主介面. 49.
(58) 3.6 預估 3D 凝視點的方法 在前段的介紹中,不論是使用 2D 映射法或是建模法,左眼與右眼各自的預 估凝視點都已經可以被眼動儀預測,但為了正確預估 3D 環境中凝視點的座標, 尚需要進行座標系的轉換與 3D 座標的計算。 下圖 3-33 為使用者凝視環境中目標物的示意圖,在 9 點校正完成的同時,會 在校正螢幕的表面形成一面虛擬的螢幕(Virtual Monitor),不同於實際螢幕,虛擬 的螢幕會隨著使用者的頭部移動,而預估出來的凝視點 POG 實際上是呈現在這 個虛擬螢幕上的。在使用者凝視虛擬螢幕範圍外的目標物時,兩眼的視線會交會 於目標物,而虛擬螢幕上的預估凝視點會逐漸分離,形成 left eye POG 與 right eye POG。. 圖 3-33 凝視環境目標物示意圖. 為了預估出 3D 座標,首先必須將虛擬螢幕的 2D 座標系轉為 3D 座標系。選 擇空間中任一點為原點,建立起實際環境中的 3D 座標系,再把虛擬螢幕等比例 進行轉移,如下圖 3-34 所示。. 50.
(59) 圖 3-34 2D 與 3D 的座標轉換示意圖. 在轉換結束後,不論是螢幕的 4 點或預估凝視點,都會獲得 z 方向的座標(在 本研究中代表與使用者頭部的垂直距離)。. 本研究使用雙眼連線的中點作為原點(0, 0, 0),垂直於臉部的方向視為 z 軸, 水平為 x 軸、垂直地面則是 y 軸,故可以建立出如下圖 3-35 所示的 3D 座標系, d 為原點與眼球間的距離,圖中兩眼的預估凝視點座標(a1, b1, c1)與(a2, b1, c1)都可 以透過 2D 虛擬螢幕上的 POG 座標預估,可視為已知點。 在這個架構中的已知點有雙眼的座標與雙眼凝視點 S1、S2 的座標,分別將其 連線可以產生相交於目標點 P(x, y, z)的 VL 與 VR 兩條視軸線,透過下式(3-24)的幾 何關係式可以計算出 P(x, y, z)的實際值,表示為式(3-25)。. 51.
(60) 圖 3-35 3D 座標中的所有參數示意圖. (3-24). (3-25). 至此已經完成了 3D 目標物的座標預估,後續可以進行凝視實驗,或是搭配 其他硬體進行應用。. 3.7 應用硬體 本研究使用兩顆伺服馬達與雷射筆組成兩軸可動式的旋轉平台,兩顆馬達分 控制支撐平台的水平移動方向與雷射筆的垂直方向,如下圖 3-36 所示。. 52.
(61) 圖 3-36 兩軸旋轉平台示意圖. 在硬體組成時,會將水平支撐平面固定於控制水平方向的伺服馬達上,雷射 筆以圖 3-36 中綠線的方向黏附於控制垂直方向的伺服馬達上,並將兩個馬達的旋 轉軸對齊重疊,使馬達在轉動時能讓雷射筆在固定的位置左右與上下轉動。. 在使用旋轉平台時,眼動儀系統會將使用者正在凝視的目標物 3D 座標與選 轉平台目前的 3D 座標進行計算,分別計算出水平轉角與垂直轉角,再將兩個轉 動角度透過訊號晶片傳送給馬達,使雷射筆可以正確指向目標物,如下圖 3-37 所示。. 53.
(62) 圖 3-37 眼動儀系統與旋轉平台使用示意圖 該旋轉平台的架設位置可由使用者調整,只要能夠測量出旋轉平台的 3D 座 標位置,即可運算平台與凝視目標物間的夾角,進而將旋轉角度分別傳送給兩顆 馬達。. 54.
(63) 第四章. 相關應用與實驗. 在第三章中提到,本研究所使用之眼動儀已有預估凝視點的能力。為達到本 研究的目標「預估 3D 環境中目標物座標的眼動儀」 ,尚需要進行 3.6 節中提到的 座標系轉換,並進行實驗與搭配硬體的應用。本研究使用 ax-12 伺服馬達[23], 建構出兩軸的旋轉平台,並使用雷射筆作為瞄準器,配合眼動儀運算出的雙眼凝 視方向,能夠將雷射指向使用者正在凝視的目標,可得以進行連續目標的追蹤[13]。 本研究的結果能夠應用於智慧家電與遊戲的開發。透過物聯網整合眼動儀硬體與 家電,未來使用者只須看一眼便能控制家電,或將眼動儀程式與遊戲軟體整合, 瞄準功能將可以被眼動技術取代而不再需要滑鼠[12]。 此外,本章節也會呈現 3.3.2 節中建模法的實驗結果,透過將攝影機與紅外線 光源架設於左眼前方,模擬出頭戴式眼動儀的環境並進行凝視點實驗。. 4.1 實驗設置與結果. A. 空間中 9 點精確度實驗 在本段介紹的實驗中,會在 3D 環境中實際架設好 9 個目標點,每個目 標點都有獨立的三維座標,並讓受測者戴上眼動儀,校正後開始實驗。實驗 配置與環境如下圖 4-1 所示。. 55.
(64) 圖 4-1. 空間中 9 點凝視實驗示意圖. 首先,將貼有目標點的板子豎立於校正螢幕前方,同時測量每一個目標 點的座標,使用者戴上眼動儀後,頭部與校正螢幕保持約 50 公分的距離並與 螢幕平行,視線保持水平,便可開始進行 9 點校正。校正完成後虛擬螢幕 (Virtual Monitor)便產生了,此時將校正螢幕移除,讓受測者能夠清楚看見實 驗用的目標 9 點即可開始實驗;受測者必須凝視目標點 1 秒,由左至右,依 序由目標點 1 看至目標點 9,過程中眼動儀系統所預估出的 3D 座標會被記錄, 每秒紀錄 30 筆資料,將資料平均後與原先測量好的座標比較,計算出平均誤 差距離(cm)與平均誤差角度(angle)。 在本實驗中計算出預估的 3D 座標後,會將測量的座標與預估的座標分 別與原點(雙眼連線的中點)相減,形成一組向量 Target 與 Gaze ,兩向量間的 夾角 error 為誤差角度,其計算方式如下式(4-1)。. (4-1) 56.
(65) 下圖 4-2 為 3D 環境中實驗數據的示意圖,被黑色線圈起的 9 個顏色點為 事先測量好的已知點,各種顏色的叉分別代表各自顏色已知點的預估凝視點, 頭部的位置固定,雙眼連線的中點為原點(0, 0, 0),各已知點與各預估凝視點 間的關係表示為下表 4-1。. 圖 4-2. 3D 座標中的實驗結果示意圖. 表 4-1. 57. 實驗結果.
(66) 由於本研究是利用雙眼於虛擬螢幕(Virtual Monitor)上的預估凝視點進行 3D 凝視點預估,若目標物的 z 座標值過大,會導致預估失準。在不改變攝影 機解析度的情況下,建議的使用規格為 : 頭部距離校正螢幕 40~50 公分,預 估的目標物距離頭部的垂直距離不要大於頭部與螢幕距離的 2 倍。 若與文獻探討中預估凝視點 3D 座標的論文進行比較,相較於 Craig Hennessey 的論文,雖然本研究的平均誤差距離(4.689cm)較該篇論文的平均 誤差(3.931cm)略高,但由於本研究頭戴式眼動儀的特性,配合適當的演算法 或硬體(如圖像辨識、深度攝影機[7]等),可以讓頭部自由移動,凝視各個方 向的目標點,該論文由於使用桌上型眼動儀的配置,只能預估校正螢幕前方 的凝視點,且該論文實驗中最遠的目標物 z 座標值為 42.5cm,本研究最遠目 標物的 z 座標值為 100.3cm,可預估的最遠距離約是該論文的 2 倍。 若與 Kentaro Takemura 的論文進行比較,本研究的平均誤差角度 ( 2.037 0.713 )較該論文中的實驗平均誤差( 3.38 2.38 )好,但由於該論文 中並無提及實驗目標物的 z 軸距離,故無法與該論文的最遠預估距離比較。. B. 建模法 9 點精確度實驗 本段介紹的實驗為本研究改良之建模法的螢幕凝視實驗,首先必須測量 好攝影機鏡頭、感光元件的四個角、螢幕的四個角、紅外線光源等重要參數 在 3D 座標軸中的座標值,之後固定頭部與攝影機間的距離,程式會將拍攝 到的瞳孔中心資訊與光點資訊直接轉換為光軸向量,此時只需進行 1 點校正, 即完成視軸的建立,可開始凝視點實驗。 同上個實驗的流程,本實驗必須凝視目標點 1 秒,並由目標點 1 依序凝 視至目標點 9,每秒收集 30 筆資料,將資料平均後計算該點的凝視誤差,計 算方式同式(4-1),實驗結果如下圖 4-3 所示,平均誤差(cm)為 1.256cm,平均 誤差(degree)為 1.16 。 58.
(67) 圖 4-3. 建模法 9 點實驗結果. C. 旋轉平台精準度實驗 如同本章開頭所述,本研究使用 2 顆 ax-12 伺服馬達搭配雷射筆瞄準器 組成旋轉平台,與眼動儀整合。一顆馬達控制整個平台水平方向的旋轉,另 一顆則是控制雷射筆垂直方向的旋轉,使雷射筆能夠指向使用者目前的凝視 目標,硬體組成如下圖 4-4 所示。. 圖 4-4. 59. 旋轉平台.
(68) 首先依照本研究適合的使用距離(距離頭部 25 公分 - 100 公分),將 3 個 帶有 5 個目標點(A、B、C、D、E)的實驗板分別架設於距離頭部 30 公分、 50 公分、100 公分處,接著凝視目標點中心,旋轉平台便會將雷射筆指向使 用者目前的凝視點,此時實驗板上除了目標點外,還會有雷射筆的紅點,將 紅點處標記下來並測量與目標點中心的距離,即為此旋轉平台的誤差,如下 圖 4-5 所示。. 圖 4-5. 旋轉平台實驗示意圖. 3 個實驗板的實驗結果分別呈現於下表 4-2、4-3、4-4。. 60.
(69) 表 4-2. 30cm 實驗板實驗結果. 表 4-3. 50cm 實驗板實驗結果. 表 4-4. 100cm 實驗板實驗結果. 61.
(70) 第五章. 結論與未來展望. 本研究提出一種可以預估現實的 3D 環境中,眼睛凝視目標物之座標的眼動 儀的建構方法。目前的預估實驗與應用仍以固定頭部的方式為主,且能準確預估 的最遠距離稍嫌不足,未來的改進方向可以讓頭部自由移動與提高預估距離為目 標。. 若能將陀螺儀或是居家定位系統與眼動儀整合,開發出能夠定位眼動儀座標 與方向的系統,讓頭部能自由移動,再將眼動儀計算出來的凝視資訊,透過雲端 /物聯網處理後,傳送給家用電子產品,便能完成以眼睛控制生活環境周遭電子 裝置的「智慧居家系統」,比起以揮手的動作檢測或拍手的音量檢測當成開關的 輸入資訊,亦或是利用手機與網路來操控,眼睛的凝視更為直觀、方便,且誤判 的狀況只需調整凝視時間的設定就能解決。. 目前因為價格與計算速度的考量,選用的是最高解析度為 640x480 的 PSEye 攝影機,也就是利用 320x240 或是 640x480 的影像畫面與 1366x768 或是 1920x1080 等更大的螢幕畫面進行校正與映射,在小轉大的轉換的過程中一定會產生映射誤 差;用更大的解析度與螢幕進行映射轉換,也就是提高攝影機的等級是最直接的 方法,不需要使用到最頂級的相機,只要能讓攝影機的解析度與螢幕的解析度相 近,對於計算的結果就會有明顯的改善。. 62.
(71) REFERENCE [1] Elias Daniel Guestrin, Moshe Eizenman, “General Theory of Remote Gaze Estimation Using the Pupil Center and Corneal Reflections,” IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, JUNE 2006, VOL. 53, NO. 6 [2] Dan Witzner Hansen, Qiang Ji, “In the Eye of the Beholder: A Survey of Models for Eyes and Gaze,” IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, MARCH 2010, VOL. 32, NO. 3 [3] Sheng-Wen Shih, Jin Liu, “A Novel Approach to 3-D Gaze Tracking Using Stereo Cameras,” IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, FEBRUARY 2004, VOL. 34, NO. 1 [4] Laura Sesma-Sanchez, Arantxa Villanueva, Rafael Cabeza, “Gaze Estimation Interpolation Methods Based on Binocular Data,” IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, AUGUST 2012, VOL. 59, NO. 8 [5] Craig Hennessey, Peter Lawrence, “Noncontact Binocular Eye-Gaze Tracking for Point-of-Gaze Estimation in Three Dimensions,” IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, MARCH 2009, VOL. 56, NO. 3 [6] Zhiwei Zhu, Qiang Ji, “Novel Eye Gaze Tracking Techniques Under Natural Head Movement,” IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, DECEMBER 2007, VOL. 54, NO. 12 [7] T. Kowsari, S.S. Beauchemin, M.A. Bauer, D. Laurendeau, N. Teasdale, “Multi-Depth Cross-Calibration of Remote Eye Gaze Trackers and Stereoscopic Scene Systems,” 2014 IEEE Intelligent Vehicles Symposium (IV), June 8-11, 2014. Dearborn, Michigan, USA 63.
相關文件
“More Joel on Software : Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those
Because simultaneous localization, mapping and moving object tracking is a more general process based on the integration of SLAM and moving object tracking, it inherits the
Textbook Chapter 33.4 – Finding the closest pair of points.. Closest Pair of
✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem. Prove that there is always an optimal solution to the
✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem.. Prove that there is always an optimal solution to the
Textbook Chapter 4.3 – The substitution method for solving recurrences Textbook Chapter 4.4 – The recursion-tree method for solving recurrences Textbook Chapter 4.5 – The master
Calculate the amortized cost of each operation based on the potential function 4. Calculate total amortized cost based on
jobs