我在本專題的研究方法可以簡單分割為兩部份:首先在Matlab環境中測試前人所撰寫之影像變形程式的效能,交叉比較結果,並了解其所使用的演算法內容,從中取用正確性較高的部份作為學習與實作的樣本。在確定程式使用欲之技術基礎後,再轉換回VC平台進行程式撰寫與效能測試。
3.1 Matlab環境中的測試工作
在本專題的研究中將使用兩套影像變形程式(分別為
第一套:http://www.lifesci.sussex.ac.uk/research/cuttlefish/image_warping_software.htm與
第二套:http://web.mit.edu/emeyers/www/warping/warp.html),
以及BU-3DFE和CMU-PIE兩組影像資料庫中的圖片與特徵點資訊,分別測試與比較其變形效能。
兩套軟體單就使用者介面與封裝方式而言即有許多不同處。第一套軟體的所有程式操作與使用者圖形介面皆包含於單一m檔案中,而第二套軟體則將各部份工作以類似於函式的形式分割為多個m檔案,使用者必須依序正確使用方可得到程式操作結果。
第一套軟體的使用者介面為完整圖形介面(參考下圖1),使用者僅須依序使用滑鼠選定影像目錄並讀取影像,設定特徵點 ,選擇變形所使用之演算法,即可得到程式運算之結果,並可於程式介面中即時顯示以進行查看比對。第二套軟體的介面與使用相較下則顯得陽春(參考下圖2),使用者須先使用其子m檔案載入並依序標定特徵點,接著再呼叫另一m檔案以進行變形與輸出動作。
圖1
圖2
另外本次專題中所使用的BU-3DFE影像資料庫內建之特徵點資訊為每張圖15個點,而CMU-PIE資料庫內建則為每張圖83個點。
3.2 VC環境中的程式撰寫與測試
根據前一階段中測試的結果,選擇較合適於本次專題中利用的演算法與相關技術(本次專題中即將使用的核心技術為RBF 的影像變形應用)。待搜集資料與深入研究理解後,將包含圖片載入、特徵點載入與標定、影像變形等功能於VC環境中實現。
實作過程中將分別以forward warping與backward warping的方式撰寫程式,並且交叉比對其運作效能。另外也將對不同特徵點數目的影像變形表現進行比較。