第五章 實驗與討論
5.2 動態 SURF 特徵擷取實驗
在 動 態 SURF 特 徵 擷 取 的 實 驗 中 , 將 使 用 前 一 節 的 三 種 物 件 畫 面 個 別 進 行 SURF 特徵的擷取實驗,分別為小乳牛 (亮背景)、小乳牛(暗背景)、混合物件及書 本 四 種 , 其 中 同 一 個 小 乳 牛 會 在 兩 種 不 同 的 光 線 背 景 中 進 行 擷 取 。 在 完 成 電 源、USB 及 CMOS 影像感測器的連接後,即可由人機介面操作特徵擷取的實驗,
圖5-4 即為特徵擷取時軟體的操作流程圖。
擷取SURF 特徵描述子之前,必須使用如圖 3-6 所示之 3x3x3 非最大抑制法 尋找興趣點,此方法是比較候選點與周圍26 個點的 Hessian 行列式值,當候選點 的行列式 值 大於 預 設 之 門檻 值(Threshold) 及周圍的 26 個點,則視為興趣點。其 中,門檻值用來事先過濾候選點,當候選點的行列式值大於此門檻值才會與其它
26 個點比較以決定是否為興趣點,否則將直接捨去。當門檻值設得越大,興趣點 的數量會減少,從而使 SURF 特徵數量也減少;當門檻值設得越小,特徵數量則 會變多,最佳化之門檻值則必須依不同的應用而做適當的調整。本次的動態擷取 SURF 特徵實驗都是在相同的畫面之下,藉由調整不同的門檻值以動態地得到畫 面 中 的SURF 特 徵 , 主 要 目 的 是 觀 察 門 檻 值 、 SURF 特 徵 數 量 及 計 算 時 間 之 關 係。另外,人機介面軟體是在每次接收完一個畫面的影像及 SURF 特徵描述子之 後 才 更 新 畫 面 及 計 算 時 間 , 所 以 由 人 機 介 面 中 就 可 以 得 到 不 同 門 檻 值 對 應 的 SURF 特徵數量及計算時間(近似於畫面更新時間)。圖 5-5 到圖 5-8 分別是小乳牛 (亮背景)、小乳牛(暗背景)、混合物件及書本在四種不同門檻值之下的 SURF 特徵 描 述 子 擷 取 畫 面 , 在(a) 至 (d) 畫 面 中 的 左 下 角 可 以 看 到 門 檻 值 依 序 是 50 、 200、350、500,同時也有存檔時的 SURF 特徵數量及畫面更新時間。
圖5-4 特徵擷取時軟體的操作流程圖 啟動人機介面軟體
( 如圖 4-2)
勾選Show Features , 表示要計算SURF 特徵
按下Grabbing 鈕,
開始取像及計算特徵
是否按下 Stop 鈕 ?
結束 是否儲存
畫面及特徵? 儲存至檔案
Yes
Yes
No
No
(a) (b)
(c) (d)
圖5-5 不同門檻值之下小乳牛(亮背景)的 SURF 特徵描述子 (a)門檻值=50 (b)門 檻值=200 (c)門檻值=350 (d)門檻值=500
(a) (b)
(c) (d)
圖5-6 不同門檻值之下小乳牛(暗背景)的 SURF 特徵描述子 (a)門檻值=50 (b)門 檻值=200 (c)門檻值=350 (d)門檻值=500
(a) (b)
(c) (d)
圖5-7 不同門檻值之下混合物件的 SURF 特徵描述子 (a)門檻值=50 (b)門檻值=
200 (c)門檻值=350 (d)門檻值=500
(a) (b)
(c) (d)
圖5-8 不同門檻值之下書本的 SURF 特徵描述子 (a)門檻值=50 (b)門檻值=200 (c)門檻值=350 (d)門檻值=500
表5-1 是 上述 物件 擷取 時的 SURF 特徵 描述 子數 量及 計算 時間 (畫面 更新 時 間)的統計表,由表中可以看到門檻值越高得到的 SURF 特徵越少,同時計算時間 也相對地比較短。但是如果和單純取像的畫面更新時間相比,加入 SURF 計算後 速度卻是明顯地降低許多,其原因應該是DSP 與 FPGA 之間的資料匯流排頻寬被 佔用所致。DSP 與 FPGA 之間的資料匯流排 EMIF-A 的同步時脈頻率是 66.4MHz
,匯流排寬度是32 位元,理論上傳輸頻寬可達 265.6M Bytes/sec,但是由於 DSP 的SDRAM 與 FPGA 同時連接在 EMIF-A,當 DSP 要由 FPGA 逐列地讀取原始影 像與積分影像時,已經佔用一段 EMIF-A 匯流排的時間,加上 DSP 內部 L2 記憶 體不足以儲存整張積分影像,所以還是必須先將它暫存到 SDRAM,此時又需要
佔用EMIF-A 匯流排的頻寬;重要的是,進行 3x3x3 非最大抑制尋找興趣點、計 算Haar 響應與存取 SURF 特徵時會對 SDRAM 進行大量『非連續性』的讀寫,才 會使得整體速度降低許多。要解決加入SURF 計算後整體速度太低的問題,可以 先 對 記 憶 體 的 存 取 進 行 最 佳 化 , 或 者 將 尋 找 興 趣 點 的 工 作 安 排 在 FPGA 內 部 進 行 , 以 減 少DSP 對 SDRAM 的非連續性讀取。最理 想的情形則是進一步地分 析 SURF 演算法,分別找出 DSP 與 FPGA 最適合的運算工作。
圖 5-9 是將表 5-1 中不同擷取畫面的 SURF 特徵數量與計算時間以個別的折 線圖來表現,由圖中可以看到在目前的系統中,雖然擷取的對 象不同但是 SURF 計算時間都會隨著特徵數量而增加。圖5-10 則是再將圖 5-9 的四張折線圖畫在同 一張圖中,如此可以清楚地看出其變化趨勢的一致性,顯示目前的嵌入式影像處 理系統仍具有一定的穩定性。
表5-1 不同門檻值之下的 SURF 特徵數量及計算時間
混合物件 書本
500 158 819.79 64 417.53 106 597.40 289 1359.40
450 190 956.83 83 510.44 138 743.14 344 1566.93
400 215 1070.47 96 560.25 153 798.56 410 1865.94
350 231 1124.35 117 652.65 199 984.74 495 2196.50
300 275 1311.36 151 790.49 246 1187.24 572 2535.21
250 305 1417.04 198 995.02 332 1538.33 670 2944.27
200 350 1629.79 247 1189.62 423 1914.06 762 3319.88
150 399 1804.21 316 1463.32 530 2357.72 881 3784.77
100 538 2383.76 403 1836.97 667 2914.52 1016 4349.98
50 740 3222.85 579 2577.80 860 3735.76 1204 5114.10
小乳牛(亮背景) 小乳牛(暗背景)
Threshold Features Refresh
Time (ms) Features Refresh
Time (ms) Features Refresh
Time (ms) Features Refresh Time (ms)
(a) (b)