• 沒有找到結果。

實景眼動儀分析系統

第三章 眼動儀系統架構

3.3 實景眼動儀

3.3.3 實景眼動儀分析系統

將實景眼動儀的資料紀錄下來後,必須透過眼動儀分析系統【圖 3-28】做 進一步的眼動分析,我們的分析系統包括 Glyph Code 的定義、LookZone、

ScanPath、HotZone 以及 ROI 的定義,其中 ScanPath 和 HotZone 是眼動分析中 最常見的參數,可以最直接的可以了解眼睛所看區域,有了分析系統可以更清 楚地了解人們所看的區域,並且對眼動研究也有相當大的幫助。

眼動分析系 統

LookZone

ScanPath

HotZone

ROI 定義 Glyph Code

定義

圖 3-28. 分析系統模組

A. Glyph Code 定義

在錄製完影片後,我們在分析 ScanPath、HotZone 時,需要知道影片裡面每 個地方的位置,我們利用每個凝視點與 Glyph Code 在影片的相對座標,計算出 每個凝視點的位置,所以必須在每個影片畫格裡面至少出現一個 Glyph Code。

在 Glyph Code 辨識之前,由於我們不需要知道影像的顏色資訊,為了增加 影像辨識的速度,進行了以下步驟【圖 3-29】:

1. 將原始影像作灰階化 2. 邊緣偵測

3. 調整邊緣的門檻值 4. 找出所以獨立的斑點 5. 檢查每個斑點

6. 做正方形的轉換

(a) (b) (c)

圖 3-29. Glyph Code 影像處理過程(a)原使影像 (b)邊緣檢測 (c) 描繪邊緣輪廓

在定義 Glyph Code 時,我們在一個方形矩陣中,行跟列都為 5,每個格子 中可以設定為白色或黑色,但是最外圍的邊框一律設定為黑色,且每一個行或 列中至少需要一個白色格子,在 Glyph Code 判別時,如果圖形相同,旋轉角度 不同【圖 3-30】,只能在影片中出現一次,【圖 3-31】為實際錄影的畫面。

圖 3-30. 相同圖形、不同旋轉角度

圖 3-31. 實景眼動儀實際錄影畫面

B. LookZone

LookZone 的功能【圖 3-32】是將 AVI 影片編碼之尺寸 640*480 影片名稱傳 入視頻指標,並且將 TXT 文字檔內容(Gaze Tracker 所紀錄的凝視持續時間、凝 視點座標),資料傳入給檔案指標做存取控制,依序將檔案內的資訊讀取,並且 依照對應座標標記在影片上,完成處理後進行檔案輸出動作【圖 3-35】。

TXT檔(包含凝視 時間、凝視座標)

原始影片

LookZone影片

圖 3-32. LookZone 功能

假設讀入點座標後,欲標註點在圓心的位置,我們設計將以一個半徑為 10,線段粗細為五個單位的紅色圓圈作為標記【圖 3-33】。

圖 3-33. 眼睛凝視點表示法

開始

While inputPtr !=EOR

讀取特定數據存入結構中

圖 3-35. LookZone 結果

C. ScanPath

ScanPath 的功能是將 AVI 影片編碼之尺寸 640*480 影片名稱傳入視頻指 標,並且將 TXT 文字檔內容(Gaze Tracker 所紀錄的凝視持續時間、凝視點座 標),資料傳入給檔案指標做存取控制,依序將檔案內的資訊讀取,並且依照對 應座標以及每一筆數據畫在影片上,完成處理後進行檔案輸出動作。

在 ScanPath 模組【圖 3-36】中還包含了前置資料處理模組,主要是處理資 料的寫入和資料的個數計算;影像處理模組,功能是做影像處理及文字的標 註,最後是偵錯模組。

主模組 前置資料處理 輸出影片檔名字串 處理

數據點讀入

數據字串寫入

資料個數計算

影像處理 影像處理

文字標註

除錯

圖 3-36. ScanPath 主模組與子模組

當一筆數據要存入時,記憶體會被重新配置出新的 DATAListNode 結構大 小,並將前一個指標指向新的結構,反覆儲存、配置直到最後一筆資料讀取結 束為止【圖 3-37】。

….

最後一筆資料

圖 3-37. ScanPath 資料結構示意圖

假設讀入點座標後,欲標註點在圓心的位置,將讀入的點依序以一個紅色 的線段進行繪製,直到最後一筆資料為止【圖 3-38】。

(ms1,x1,y1)

(ms2,x2,y2)

(ms3,x3,y3)

(ms4,x4,y4)

(ms5,x5,y5)

圖 3-38. ScanPath 繪製示意圖

由於在錄影的過程中,可能會出現在第 n 點與第 n-1 點凝視在同一個位置,

但是因為頭轉動的關係,所記錄到的座標在第 n 點與第 n-1 點出現不同的情形,

在這邊我們需要用到數據平移的概念,利用 Glyph Code 與凝視點座標的相對位 置判斷兩點的位置是否相同,如圖所示,因為螢幕右移的關係,使得 x2 大於 x1,但是兩個點與 Glyph Code 中心點的相對位置是不變的,所以我們判斷這兩 個點是同一個點,在畫 ScanPath 時會將兩個點畫在同一個座標上【圖 3-39】。

(x1,y1) (x2,y2)

圖 3-39. 數據平移示意圖

以下為 ScanPath 流程圖: 入來源影片轉換成輸出 Result.avi 型式,接著在 Read_to_Database 開啟輸入來源 的檔案,並將檔案內容存入設計好的鏈結串列中,供後續程式使用,Textcontext 是進行後續位置座標的文字標註,將內容以字串的方式存入對應的列結串列 中,VisitLinkList 提供除錯的功能,DataNumberCounter 可以計算總資料的個 數,並寫入陣列中,PathMarker 開始進行數據折線的標註的工作,將欲標註處 理影片逐格畫格進行影像處理,再將畫格寫入輸出影片中【圖 3-41】,最後是 關閉指標以及結束程式的工作。

圖 3-41. ScanPath 結果

D. HotZone

HotZone 主要是先將數據點進行分析,最後進行統計各個凝視點重複凝視的 次數和總凝視的時間,依據凝視的時間長短以不同的顏色進行標註,例如凝視 時間較長的地方以紅色標註,凝視時間較短的以藍色標註,這樣可以讓人很快 的了解在某個區域所凝視的時間長短。在 HotZone 顏色的規劃部分,以凝視的 時間由長到短依序為【圖 3-42】。

圖 3-42. HotZone 顏色定義

以下為 HotZone 整體流程圖【圖 3-43】:

E. ROI 定義

ROI 的主要功能【圖 3-45】是定義在影片中感興趣的區域,可以讓使用者 播放特定影片,針對實驗的片段畫格區進行多邊形區域的選取,並且可以在各 個區域中進行各個眼動參數的分析。

ROI 多邊形區域繪製

影片播放畫格截取

凝視區域分析 凝視時間

三角形

圓形 矩形

圖 3-45. ROI 功能

相關文件