自動對焦3D數位全像重建硬體系統
48
0
0
全文
(2) 中文摘要 本論文旨在 FPGA(Field Programmable Gate Array)平台上設計可自動對焦之 3D 數位全像圖重建硬體系統。設計此類系統的一大困難點,在於需要考慮數位 全像圖的正確焦距。特別是在類似全像圖顯微鏡等應用中,極有可能時常更換 樣本,如此一來便無法手動設定焦距,導致無法重建出清晰的影像觀察樣本。 因此,自動對焦功能在 3D 數位全像重建系統確實有其重要性。 本論文提出以菲涅耳轉換與細胞自動機為基礎的全像重建流程,並以重建 影像的 Normalized Variance 數值評估影像清晰度作為對焦參考,以最高清晰度 的焦距作為正確焦距,進行最後還原,達到自動對焦的目的。此外,本論文所 提出的系統也能還原更大尺寸的全像圖,大幅擴展了系統的可應用範圍。本論 文並帶入數種 I/O 加速技術,旨在減少調整焦距時影像重複使用以及傳送的時 間,進而提升系統效能。 本論文最後的成果與效能評估,可證明本系統能正確還原大尺寸之數位全 像圖。我們以本電路系統於 FPGA 上與 MATLAB 軟體於個人電腦上的還原程 式作比較,可發現本系統的還原速度遠快於軟體運算速度,並且電路在 FPGA 上運作的功耗也遠低於軟體運作於 CPU 上的功耗。. 關鍵字:FPGA、全像重建、自動對焦. I.
(3) 目錄 中文摘要 .............................................................................................................. I 目錄 .................................................................................................................... II 表目錄 ............................................................................................................... III 圖目錄 ............................................................................................................... IV 第一章. 緒論 .................................................................................................. 1. 1.1 1.2 1.3 1.4. 研究背景.................................................................................................... 1 動機與目的................................................................................................ 2 研究方法.................................................................................................... 4 全文架構.................................................................................................... 6. 第二章. 基礎理論及技術背景 ...................................................................... 7. 2.1 2.2 2.3. 菲涅耳轉換................................................................................................ 7 細胞自動機.............................................................................................. 11 自動對焦之基礎理論.............................................................................. 13. 2.4. 實作於 FPGA 與 SoPC 系統整合設計 .................................................. 16. 第三章. 系統架構 ........................................................................................ 17. 3.1 整體系統硬體架構.................................................................................. 17 3.2 菲涅耳轉換以及表格建置單元.............................................................. 18 3.2.a 前轉換單元...................................................................................... 18 3.2.b 快速傅立葉轉換單元...................................................................... 19 3.2.c 後轉換單元...................................................................................... 20 3.2.d 表格建置單元.................................................................................. 20 3.3 自動對焦資料流程.................................................................................. 22. 第四章. 實驗數據與效能比較 .................................................................... 24. 4.1 4.2. 開發平台與實驗環境設定...................................................................... 24 實驗數據呈現與討論.............................................................................. 26. 第五章. 結論 ................................................................................................ 41. 參考文獻 ........................................................................................................... 42. II.
(4) 表目錄 表 1.1 FPGA 與軟體架構之特性比較 ..................................................................... 3 表 4.1 Altera Stratix IV GX EP4SGX530 詳細規格 ............................................. 25 表 4.2 菲涅耳轉換與嵌入式記憶體資源複雜度分析........................................... 26 表 4.3 搜尋單元與評估單元資源複雜度分析....................................................... 27 表 4.4 菲涅耳轉換各單元與嵌入式記憶體之 ALMs 資源消耗表 ...................... 29 表 4.5 相位展開單元、搜尋單元與評估單元之 ALMs 資源消耗表 .................. 29 表 4.6 菲涅耳轉換各單元之 Memory bits 資源消耗表 ........................................ 30 表 4.7 相位展開單元、搜尋單元與評估單元之 Memory bits 資源消耗表 ........ 30 表 4.8 菲涅耳轉換各單元之 DSP blocks 資源消耗表 .......................................... 31 表 4.9 相位展開單元、搜尋單元與評估單元之 DSP blocks 資源消耗表 .......... 31 表 4.10 整體電路在 DE4 開發版之資源消耗表 ................................................... 31 表 4.11 自動對焦數位全像重建硬體系統(𝑁 = 512)在 150MHz 下之執行時 間(ms) .............................................................................................................. 33 表 4.12 自動對焦 3D 數位全像重建硬體系統在不同方式下讀取影像時間 (ms) .................................................................................................................. 33 表 4.13 自動對焦系統之執行時間(s) ................................................................... 40. III.
(5) 圖目錄 圖 2.1 細胞自動機𝐵𝑖[𝑚, 𝑛]示意圖與其相鄰區域 ................................................ 11 圖 2.2 自動對焦流程............................................................................................... 15 圖 3.1 自動對焦 3D 數位全像重建系統架構圖 .................................................... 17 圖 3.2 菲涅耳轉換單元........................................................................................... 18 圖 3.3 前轉換單元................................................................................................... 19 圖 3.4 快速傅立葉轉換單元架構: (a) FFT 列運算, (b) FFT 行運算.................... 19 圖 3.5 後轉換單元................................................................................................... 20 圖 3.6 表格建置模組架構....................................................................................... 21 圖 3.7 由 SGDMA 傳輸資料至 On-Chip RAM ..................................................... 22 圖 3.8 設定焦距並執行菲涅耳轉換與表格建置................................................... 22 圖 3.9 執行相位展開運算....................................................................................... 23 圖 3.10 執行評估單元運算..................................................................................... 23 圖 4.1 Altera Stratix IV GX EP4SGX530 FPGA (Top view) .................................. 24 圖 4.2 micro lens 自動對焦評估結果 .................................................................... 34 圖 4.3 Off-focus image (micro lens):(a) 焦距 10mm (b) 焦距 300mm ............. 35 圖 4.4 In-focus image (micro lens):(a) wrapped phase (b) unwrapped phase ...... 36 圖 4.5 micro lens array 自動對焦評估結果........................................................... 37 圖 4.6 Off-focus image (micro lens array):(a) 焦距 10mm (b) 焦距 300mm .... 38 圖 4.7 In-focus image (micro lens array):(a) wrapped phase (b) unwrapped phase ................................................................................................................ 39. IV.
(6) 第一章 緒論. 第一章 緒論 本章節先探討本論文的研究動機、研究目的與研究方法,並大略說明接下 來各章節的概要。. 研究背景. 1.1. 數位全像圖(Digital Holography)[1]是一種利用感光耦合元件 (ChargedCoupled Devices, CCDs)紀錄物體在光波繞射於其表面的相位與振幅資訊的技 術,經過光學的繞射計算與相位還原後即可將裝置所紀錄的全像圖(Hologram) 的光波資訊重建成物體原始 3D 影像。由於數位全像術具有可將影像以數位形 式儲存的優點,因此這種技術目前大量投入應用於工業測量與生物醫學工程的 生物細胞檢驗等領域。在這些數位全像應用中,數位全像顯微鏡(Digital Holographic Microscopy)即為一種非侵入性的測量工具,可以重建微、奈米等級 物體的原始 3D 影像,在如今網路與行動裝置的發展下,全像應用也越來越多 元。. 為了將全像重建成原始 3D 影像,需要對全像圖進行繞射計算,再進行相 位還原展開即可得到原始影像。繞射計算可使用菲涅耳轉換、摺積法與角頻譜 繞射法等法則[2],計算完成後會得到一個相位數值壓縮在 −π ~ π 之間的不連 續相角圖(wrapped phase),此時再利用相位展開法則還原物體真實相位。在本 論文中使用菲涅耳轉換進行繞射計算以及細胞自動機執行相位展開來重建全像 1.
(7) 第一章 緒論. 圖。菲涅耳轉換僅需一次快速傅立葉(Fast Fourier Transform)即可加速完成全像 圖重建,相較於需要三次快速傅立葉的摺積法能降低更多計算複雜度。. 除了降低計算複雜度與功率消耗困難之外,繞射計算過程需要全像圖與重 建影像之間的焦距,否則影像將會重建失敗。傳統方式是人工變更焦距並判斷 重建的影像是否在準確焦距內,但此種方式不但缺乏效率,且也無法應用於即 時全像重建。因此自動對焦在即時全像重建是必要的,為了取代人工判斷影 像,需要一個法則來評估影像是否成功重建。一般而言以正確焦距重建的影像 比起失焦的影像有更大的高頻能量,也就是說清晰影像的物體邊界與相鄰相素 灰階值的差異值或梯度值較大。而目前常用於評估影像清晰度的方法大概分為 影像梯度值(gradient)計算與影像差異值(differential)計算兩種。梯度值評估如 Laplacian、梯度總合計算等[3][4];差異值法如 Tamura coefficient[5]、 Normalized Variance、影像強度差異(amplitude)計算等。在此本論文選用 Normalized Variance 作為評估法則,是因其在資源與誤差範圍可容許情況下, 沒有使用任何的平方根運算,如此一來可減少計算複雜度以及平方根電路的硬 體消耗。. 1.2. 動機與目的 數位全像顯微鏡為了重建微米級觀測物體的原始影像,並達到即時呈現的. 目的,除了上述硬體效能與功耗問題以外,全像顯微鏡所觀察的樣本極有可能. 2.
(8) 第一章 緒論. 需要時常更換樣本,這種情形下未必能事先知道正確焦距,若數位全像顯微鏡 不能自動對焦重建影像,則觀測者就無法順利觀察樣本。為了達成自動對焦, 系統需要在一個焦距範圍內重覆進行全像重建,並評估其清晰度,再根據清晰 度最高的焦距點進行重建影像。本論文採用 FPGA 作為實現平台,此架構對比 軟體的優勢如表 1.1 所示。 表 1.1 FPGA 與軟體架構之特性比較 FPGA. 軟體. 可攜帶性. 高. 低. 功率消耗. 低. 高. 運算速度. 高. 低. 由表 1.1 可看出硬體架構比起軟體有下列優勢:高速運算、高可攜帶性、低功 率消耗。在其他現存的自動對焦數位全像重建系統[10],一樣採用 FPGA 作為 實現平台,但是其架構在調整焦距時,需浪費大量時間等待全像圖重新載入全 像重建系統中,且可還原尺寸較小。相位還原法則[9]僅使用在全像還原,本論 文將其架構整合至自動對焦系統來協助還原影像。此外,該架構使用定點數進 行運算,精確度較低。本論文架構使用浮點數運算,有效提高運算精確度。. 本論文目的是設計一個減少自動對焦等待資料重新載入的時間以及可還原 更大尺寸的自動對焦全像重建硬體系統。此種架構更適合用於嵌入式數位全像 顯微鏡等數位全像應用,提供使用者一個即時的自動對焦全像重建硬體系統。. 3.
(9) 第一章 緒論. 1.3. 研究方法 本論文主要設計是以菲涅耳轉換進行繞射計算,並對計算後結果進行相位. 展開重建影像,最後對重建影像進行 Normalized Variance 評估分析。如此反覆 數次調整焦距後,再根據評估最高值的焦距進行影像重建。. 菲涅耳轉換分為三個部分,前轉換單元(Pre-transform Unit)、快速傅立葉單 元(FFT Unit)、後轉換單元(Post-transform Unit),在本論文架構中前轉換單元與 後轉換單元利用查表來簡化電路運算以減少計算複雜度。而此三個單元皆以 IEEE754 單精度浮點數格式進行運算,相較於定點數(Fixed-point)來說, IEEE754 可表示範圍更大,精確度也更高,對於快速傅立葉轉換等數值變動差 異大的計算是較適合的格式。. 相位展開是採用細胞自動機(Cellular Automata)[6]為基礎的硬體架構,此法 則可以還原出大部分的圖形,並且有低功率消耗的優點。. 自動對焦的實現分為兩步驟,第一步驟先決定一個重建焦距範圍,再對每 個焦距點進行全像重建。第二步驟對每個重建影像進行影像評估,最後根據最 高評估值進行全像重建。在本論文中是使用 Normalized Variance 數值來進行清 晰度評估。. 本論文所使用的測試樣本為國立臺灣師範大學光電科技研究所資訊光電實. 4.
(10) 第一章 緒論. 驗室提供,此樣本為已知曲率(curvature)與半徑(radius)的微透鏡(microlens),由 資訊光電實驗室的數位全像顯微鏡拍攝,產生的全像圖作為本論文的輸入影 像。將上述電路先實作於 FPGA 平台上,我們使用可程式化系統晶片(System on Programmable Chip; SoPC)來實現,SoPC 為 Altera 公司提供的 Qsys 平台所設 計,為一種 NoC(Network on Chip)架構,在本論文中此 SoPC 系統由 NIOS Processor、本論文提出的硬體架構以及其他開發版上的周邊元件組成。借由此 系統架構我們可以不斷修改硬體電路,並利用 NIOS software 來進行電路驗證, 使研究過程具有修改彈性以及方便驗證。. 效能考量項目包涵全像重建影像清晰度、系統運算時間以及電路資源消耗 (Area cost)。資源消耗的測量工具使用 Altera Quartus II,包涵上述 Qsys 系統一 併測量,影像清晰度和系統運算時間則由 NIOS Processor 作為 CPU 進行測量, 系統運算時間包括菲涅耳轉換、相位展開、評估運算與全像圖載入時間。軟體 驗證則使用 MATLAB 來進行,將電路最終輸出結果與 MATLAB 相互驗證計算 正確性,並利用 MATLAB 呈現可變更視角的 3D 影像,以便觀察還原後的 3D 影像。. 5.
(11) 第一章 緒論. 1.4. 全文架構 本論文共分為五個章節,以下為各章節內容概要:. 第一章 緒論 說明研究背景、研究動機與目的、研究方法以及本文架構。. 第二章 基礎理論及技術背景 簡介本論文使用的理論、演算法則、技術背景。. 第三章 系統架構 介紹系統硬體電路架構,並說明系統運作流程。. 第四章 實驗數據與效能比較 說明實驗環境、實驗數據分析以及軟硬體效能比較。. 第五章 結論 對於本論文提出的硬體架構以及實驗結果進行總結. 6.
(12) 第二章 基礎理論及技術背景. 第二章 基礎理論及技術背景 本章節將介紹本論文所使用的基礎理論以及技術背景介紹。第一節討論到 本架構使用的繞射計算:菲涅耳轉換,第二節討論本架構搭配使用的相位展開 法則:細胞自動機(Cellular automata)。第三節討論實現自動對焦系統的基礎理 論,以 Normalized variance 計算來評估影像清晰度。最後,在第四節介紹本論 文實作在 FPGA 以及 SoPC 系統整合設計。提供整體系統的設定及說明。. 2.1 菲涅耳轉換 菲涅耳轉換(Fresnel transform)[8],在本論文是用於數位全像重建的繞射計 算上,全像圖為數位全像顯微鏡透過 CCDs 裝置拍攝,令此全像圖資訊為 𝜂 , 焦距為 z 之重建影像以 𝐵 表示,𝐵 可由菲涅耳轉換計算得到,如公式 (2.1.1),. 𝐵(𝑟, 𝑠) =. −𝑗. 2𝜋. 𝜋. 𝑒 𝑗 𝜆 𝑧 𝑒 𝑗𝜆𝑧(𝑟 𝜆𝑧. 2 +𝑠2 ). ∞. ∞. ∫−∞ ∫−∞ 𝜂(𝑝, 𝑞)𝑒. 𝑗. 𝜋 (𝑝2 +𝑞 2 ) 𝜆𝑧. 2𝜋. 𝑒 −𝑗 𝜆𝑧. (𝑝𝑟+𝑞𝑠). 𝑑𝑝𝑑𝑞. (2.1.1). 其中 𝜆 代表其光源的波長,(𝑝, 𝑞)及(𝑟, 𝑠)分別為全像圖與影像平面上的座標。. 由於數位全像顯微鏡拍攝的全像圖是以離散形式表示,因此為了計算將菲涅 耳轉換式表達成離散形式,假設顯微鏡在𝑥, 𝑦軸方向皆以採樣週期𝛥𝑓 ,共採樣了 𝑁 × 𝑁個樣點,如公式(2.1.2)。. 𝐵𝑢,𝑣 =. −𝑗. 2𝜋. 𝜋. 2. 𝑒 𝑗 𝜆 𝑧 𝑒 𝑗𝜆𝑧Δ𝑔(𝑢 𝜆𝑧. 2 +𝑣 2 ). 𝜋. 2. 𝑗 Δ𝑓 (𝑥 𝑁−1 ∑𝑁−1 𝑥=0 ∑𝑦=0 [𝜂𝑥,𝑦 𝑒 𝜆𝑧. 7. 2 +𝑦 2 ). 𝑥𝑢 𝑦𝑣. ] 𝑒 −𝑗2𝜋( 𝑁 + 𝑁 ). (2.1.2).
(13) 第二章 基礎理論及技術背景. {𝐵𝑢,𝑣 , 0 ≤ 𝑢, 𝑣 ≤ 𝑁 − 1}為重建影像之數位形式,𝜂𝑥,𝑦 = 𝜂(𝑥Δ𝑓 , 𝑦Δ𝑓 )即代表全像圖 𝜂的第(𝑥, 𝑦)個 sample,其中0 ≤ 𝑥, 𝑦 ≤ 𝑁 − 1,Δ𝑔 則是以𝜆𝑧/𝑁為比例的Δ𝑓 之倒數, 如公式(2.1.3)。 𝜆𝑧. Δ𝑔 = 𝑁Δ. (2.1.3). 𝑓. 在公式(2.1.2)中,與𝜂𝑥,𝑦 相乘之指數函數可以依指數加法律整理得公式(2.1.4),並 將其重新定義為𝜇,如公式(2.1.5),. 𝜋. 2. 𝑒 𝑗𝜆𝑧𝛥𝑓 (𝑥. 2 +𝑦 2 ). 𝜋. 2. 2. 𝜋. 2. = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑥 ) × 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑦 𝜋. 2. 2. 𝜋. 2. 𝜇𝑥 = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑥 ) , 𝜇𝑦 = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑦. 2). 2). (2.1.4). (2.1.5). 公式(2.1.5)與全像圖資訊𝜂𝑥,𝑦 相乘後得到函數𝜌𝑥,𝑦,化簡如公式(2.1.6)。𝜌𝑥,𝑦 為一週 期函數,因此可以將其做傅立葉轉換後得到函數𝜏𝑢,𝑣,如公式(2.1.7)。本論文中以 快速傅立葉轉換的架構來計算𝜏𝑢,𝑣 ,相關的計算電路將於第三章系統架構中詳細 討論。. 𝜌𝑥,𝑦 = 𝜂𝑥,𝑦 × 𝜇𝑥 × 𝜇𝑦. (2.1.6). 𝑥𝑢 𝑦𝑛. −𝑗2𝜋( + ) 𝑁−1 𝑁 𝑁 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 ∑𝑦=0 𝜌𝑥,𝑦 𝑒. (2.1.7). 由於菲涅耳轉換式中𝜆為固定數值、𝑧也假設為已知焦距,因此可定義一定值𝛼, 將其化簡為公式(2.1.8),. 8.
(14) 第二章 基礎理論及技術背景. 𝛼=. −𝑗. 2𝜋. 𝑒𝑗 𝜆 𝑧 𝜆𝑧. (2.1.8). 另外,與𝜏𝑢,𝑣 相乘之指數函數也可仿公式(2.1.5)定義為𝜔𝑢 及𝜔𝑣,如公式(2.1.9)所示, 𝜋. 2. 𝜋. 2. 2. 𝜔𝑢 = 𝑒 𝑗𝜆𝑧Δ𝑔(𝑢 ) , 𝜔𝑣 = 𝑒 𝑗𝜆𝑧Δ𝑔(𝑣. 2). (2.1.9). 接著利用公式(2.1.9)將菲涅耳公式化簡,可得到函數解𝐵𝑢,𝑣 ,如公式(2.1.10)。. 𝐵𝑢,𝑣 = 𝛼 × 𝜔𝑢 × 𝜔𝑣 × 𝜏𝑢,𝑣. (2.1.10). 到此部分為止,菲涅耳公式計算完成,為了進行後續相位展開法則運算,必須將 複數𝐵𝑢,𝑣 的虛部𝐼𝑚(𝐵𝑢,𝑣 )除以實部𝑅𝑒(𝐵𝑢,𝑣 )後進行反正切函數(arctangent)運算來 取得相位𝜙𝑢,𝑣 ,如公式(2.1.11)所示, 𝐼𝑚(𝐵. ). 𝜙𝑢,𝑣 = 𝑡𝑎𝑛−1 𝑅𝑒(𝐵𝑢,𝑣). (2.1.11). 𝑢,𝑣. 令𝐼𝑚(𝐵𝑢,𝑣 ) = 𝑄,𝑅𝑒(𝐵𝑢,𝑣 ) = 𝐼,也就是將𝐵𝑢,𝑣 表示成𝐵𝑢,𝑣 = 𝐼 + 𝑄𝑖,本論文中的反 正切函數運算使用 arctangent approximation 公式[7]來求得近似解,如公式 (2.1.12), 𝑄 𝑡𝑎𝑛−1 ( 𝐼 ). =. 𝑄 𝐼. 𝑄 2 1+0.28086( ) 𝐼. 𝑄. , −1 ≤. 𝑄 𝐼. ≤1. 另外,由於計算出的( 𝐼 )不一定符合公式(2.1.12)的條件−1 ≤. (2.1.12). 𝑄 𝐼. ≤ 1,為了解決這. 個問題,本論文的反正切運算將會以公式(2.1.12)搭配公式(2.1.13)及公式(2.1.14) 使用。 9.
(15) 第二章 基礎理論及技術背景 𝑄. 𝜋. 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = 2 − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0 𝑄. 𝜋. 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = − 2 − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0. (2.1.13). (2.1.14). 整理以上的公式,此章節的菲涅耳轉換公式以及 arctangent 公式流程如以下步驟:. 步驟一:給予輸入數位全像圖函數𝜂𝑥,𝑦 ,0 ≤ 𝑥, 𝑦 < 𝑁。. 步驟二:利用公式(2.1.6),計算函數𝜌𝑥,𝑦 。. 步驟三:利用公式(2.1.7)對𝜌𝑥,𝑦 進行 2D 傅立葉轉換得到𝜏𝑢,𝑣 ,在本論文架構中是 以兩次 1D 傅立葉轉換來實現,首先對𝜌𝑥,𝑦 中每一列𝑥執行快速傅立葉轉換或離散 傅立葉轉換,可得到一運算結果陣列𝛽𝑥,𝑣 ,如公式(2.1.15)所示,. 𝛽𝑥,𝑣 = ∑𝑁−1 𝑦=0 (𝜌𝑥,𝑦 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑦𝑣 + 𝑗𝜌𝑥,𝑦 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑦𝑣) , 0 ≤ 𝑥 ≤ 𝑁 − 1. (2.1.15). 接著再對𝛽𝑥,𝑣 每一行𝑣進行一次傅立葉轉換,最後得到 2D 傅立葉轉換結果𝜏𝑢,𝑣 如 公式(2.1.16)。. 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 (𝛽𝑥,𝑣 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑥𝑢 + 𝑗𝛽𝑥,𝑣 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑥𝑢) , 0 ≤ 𝑦 ≤ 𝑁 − 1. (2.1.16). 步驟四:使用公式(2.1.10)對𝜏𝑢,𝑣 做菲涅耳轉換最後的計算,求出函數𝐵𝑢,𝑣 。. 步驟五:使用公式(2.1.12)、(2.1.13)、(2.1.14)對函數𝐵𝑢,𝑣 進行反正切運算求得相位 值𝜙𝑢,𝑣 。. 10.
(16) 第二章 基礎理論及技術背景. 2.2 細胞自動機 3D 數位全像的重建需要執行相位展開才能完整還原觀測物體,相位展開法 則在本論文中使用細胞自動機(Cellular Automata),細胞自動機能還原不連續相 位的全像圖,但是無法保證運算能達成收斂,因此在本論文中我們使用的法則 為廣域型相位展開法則(Regional (7 × 7))[9]。. 細胞自動機原理為將目前處理的 Current pixel 進行運算,運算需參考相鄰 區域。令𝐵𝑖 [𝑚, 𝑛]為𝑥𝑖 [𝑚, 𝑛]的相鄰區域,𝑖為迭代的次數,如公式(2.2.1). 𝐵𝑖 [𝑚, 𝑛] = {𝑥𝑖 [𝑝, 𝑞], 𝑚 − 𝑘 ≤ 𝑝 ≤ 𝑚 + 𝑘, 𝑛 − 𝑘 ≤ 𝑞 ≤ 𝑛 + 𝑘}. 圖 2.1 細胞自動機𝐵𝑖 [𝑚, 𝑛]示意圖與其相鄰區域 𝐴𝑗 , 𝑗 = 1,2,3,4 for i = 0, m = 3 , n = 6 and K = 7(i. e. , k = 3). 11. (2.2.1).
(17) 第二章 基礎理論及技術背景. 由於𝑥𝑖 [𝑚, 𝑛]會出現在影像邊緣,𝐵𝑖 [𝑚, 𝑛]會包含到影像外的 Pixel,將這些 Pixel 設為 0。接下來把𝐵𝑖 [𝑚, 𝑛]分割成四塊區域𝐴1 ~𝐴4 ,定義如下:. 𝐴1 = {𝑥𝑖 [𝑝, 𝑞], 𝑚 + 1 ≤ 𝑝 ≤ 𝑚 + 𝑘, 𝑛 − 𝑘 ≤ 𝑞 ≤ 𝑛 + 𝑘}, 𝐴2 = {𝑥𝑖 [𝑝, 𝑞], 𝑚 − 𝑘 ≤ 𝑝 ≤ 𝑚 − 1, 𝑛 − 𝑘 ≤ 𝑞 ≤ 𝑛 + 𝑘}, 𝐴3 = {𝑥𝑖 [𝑝, 𝑞], 𝑚 − 𝑘 ≤ 𝑝 ≤ 𝑚 + 𝑘, 𝑛 + 1 ≤ 𝑞 ≤ 𝑛 + 𝑘}, 𝐴4 = {𝑥𝑖 [𝑝, 𝑞], 𝑚 − 𝑘 ≤ 𝑝 ≤ 𝑚 + 𝑘, 𝑛 − 𝑘 ≤ 𝑞 ≤ 𝑛 − 1}. (2.2.2). 分出四塊區域後,我們即可定義出𝑃𝑗 ,𝑃𝑗 為一區域包含所有𝐴𝑗 區域中的 Neighbors 與 Current Pixel 相減後大於𝜋的 Pixel,如下所示:. 𝑃𝑗 = {𝑥𝑖 [𝑝, 𝑞]: 𝑥𝑖 [𝑝, 𝑞] ∈ 𝐴𝑗 , 𝑥𝑖 [𝑝, 𝑞] − 𝑥𝑖 [𝑚, 𝑛] > 𝜋}. (2.2.3). 𝑘𝐾. 如果𝑃𝑗 的數量大於 2 ,ℎ𝑖 [𝑚, 𝑛]就設為 1。. ℎ𝑖 [𝑚, 𝑛] = {. 1, |𝑃𝑗 | >. 𝑘𝐾 2. 𝑓𝑜𝑟 𝑎𝑛𝑦 𝑗 = 1,2,3,4. 0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒. (2.2.4). 則下一輪的𝑥𝑖+1 [𝑚, 𝑛]值即為. 𝑥𝑖+1 [𝑚, 𝑛] = 𝑥𝑖 [𝑚, 𝑛] + ℎ𝑖 [𝑚, 𝑛]2𝜋. 逐步掃描並完成計算直到沒有任何 Pixel 需要更新,即完成相位展開。. 12. (2.2.5).
(18) 第二章 基礎理論及技術背景. 2.3 自動對焦之基礎理論 本論文使用自動對焦理論是針對不同焦距下重建的影像進行清晰度評估,而 評估值最高的影像代表其擁有最佳焦距。由上一節公式(2.1.2)中可知繞射計算與 焦距 z 有很大的關係,在𝜇𝑥 , 𝜇𝑦 中要根據焦距重新計算,所以本論文的自動對焦 過程即為不斷變換焦距,並且重建影像、進行評估。在本論文第一章節研究背景 中提到成功對焦的影像有較大的高頻能量,在這個部份,我們使用 Normalized Variance[10]量測相位展開之重建影像𝑃的差異值,Normalized Variance 可視為 Tamura measure 的衍伸型,令 Tamura measure 對𝑃的計算結果為𝑇(𝑃),可定義為:. 𝜎(𝑃). 𝑇(𝑃) = √𝛾(𝑃). (2.3.1). 其中𝜎(𝑃)代表重建影像𝑃的標準差,而𝛾(𝑃)則為影像𝑃的平均值。. 𝛾(𝑃)與𝜎(𝑃)的計算式為. 1. 𝑁−1 𝛾(𝑃) = 𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣. 1. 𝑁−1 𝜎(𝑃) = √𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 [𝑃𝑢,𝑣 − 𝛾(𝑃)]. (2.3.2). 2. (2.3.3). 我們將本論文所用的 Normalized Variance 定義為𝑉(𝑃),其計算內容如公式(2.3.4),. 𝑉(𝑃) =. 𝜎(𝑃)2 𝛾(𝑃). 經過上述公式化簡[10]後我們可以得到公式(2.3.5) 13. (2.3.4).
(19) 第二章 基礎理論及技術背景 1. 1. 1. 1. 2 𝑁−1 2 𝑉(𝑃) = 𝛾(𝑃) [𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣 − 𝛾(𝑃) ]. 2 𝑁−1 = 𝛾(𝑃) [𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣 ] − 𝛾(𝑃). (2.3.5). 由上述公式便可以計算出影像的清晰度,不同焦距下對影像進行繞射計算後 還原的清晰度也不相同,將這些數值𝑉(𝑃)相互比較後,找到具有最高𝑉(𝑃)的重建 影像就代表其為重建最完整的結果。. 對焦範圍本論文使用 depth-of-focus[11]法則,此法則是針對全像顯微鏡的相 關係數進行運算得到𝐷𝑂𝐹,而成像會落在 𝑀2 𝐷𝑂𝐹 的數倍上。計算公式如下:. DOF = λ𝑛𝑚 /𝑁𝐴2. (2.3.6). 其中 λ 為紀錄全像使用的波長,𝑛𝑚 為介質傳送的速率,NA 是透鏡的 Numerical Aperture(數值孔徑)。M 則是全像顯微鏡的放大倍率。 經 過 運 算 得 到 𝑀2 𝐷𝑂𝐹,將其設為自動對焦的 Search Step,在數倍的 Search Step 範圍內進行全 像重建,便可以得到正確成像焦距。. 有了前幾節的公式我們可以整理出自動對焦流程,如圖 2.2 所示。先將 Hologram 𝜂𝑥,𝑦 經過繞射計算得到𝐵𝑢,𝑣,之後再將其結果進行 Arctangent 運算得到 相位圖𝜙𝑢,𝑣,最後經過相位展開取得全像重建圖𝑃𝑢,𝑣,透過評估公式計算得到影像 清晰度。這樣便完成一次的重建運算,改變焦距再次進行上述流程,反覆數次即 可得知最佳還原焦距。 14.
(20) 第二章 基礎理論及技術背景. 圖 2.2 自動對焦流程. 15.
(21) 第二章 基礎理論及技術背景. 2.4 實作於 FPGA 與 SoPC 系統整合設計 本論文使用硬體描述語言(Hardware Description Language, HDL)搭配可重覆 程式設計的 FPGA 晶片設計電路,縮短研發時間而且更有彈性,經過系統提供 的合成與繞線佈局,可快速燒錄到 FPGA 板上進行測試,且不需要負擔實際合 成電路失敗的高成本風險,是目前研究 IC 設計的技術主流。. Altera 在 NIOS 系統中提供了一套專門給 NIOS II Processor 使用的匯流排 (Avalon bus),由 Qsys 平台自動產生,透過硬體描述語言設計硬體電路,經由 Qsys 所建立的 SoPC 系統在 FPGA 上程式化後,即可使用 NIOS 開發工具以 C 語言撰寫的程式執行電路,並觀察電路結果。. 為了減少重複使用全像圖所消耗的時間,除了將全像圖載入 SDRAM 以 外,本論文也使用 Altera 的 SGDMA Controller 來更進一步加速傳輸。. 16.
(22) 第三章 系統架構. 第三章 系統架構 本章節將介紹本論文自動對焦系統的硬體架構,包含菲涅耳轉換、相位展 開以及評估單元。第一節先討論整個系統的硬體架構,接著在第二節討論菲涅 耳轉換與表格建置模組。第三節討論整合後的電路架構是如何進行自動對焦, 影像資料在各單元之間運算以及作業流程。. 3.1 整體系統硬體架構 本節討論自動對焦系統的各硬體單元,在 2.3 節討論了整個系統架構需要 的計算公式以及流程。根據其流程,本論文系統架構如圖 3.1 所示,全像重建 系統含有菲涅耳轉換單元、相位展開單元、評估單元以及表格建置單元。 SDRAM 用來存放原始全像圖以及使資料能更快載入 On-Chip RAM,本論文使 用 SGDMA Controller 來傳輸資料。. 圖 3.1 自動對焦 3D 數位全像重建系統架構圖 17.
(23) 第三章 系統架構. 為了獲得在不同焦距下的不連續相角圖𝜙𝑢,𝑣 ,菲涅耳運算中的焦距𝑧,成為 自動對焦過程重要部分,在菲涅耳轉換中部分使用焦距的運算,事先將其計算 完成,並儲存在表格提供給前轉換運算以及後轉換運算使用。相位展開單元使 用的架構引用自 2.2 節提到的相位展開法則Regional (7 × 7),其架構可參考文 獻[9],評估單元依照公式(2.3.5)設計,電路中包含一組控制器、兩組累加器、 三個除法器以及乘法器、減法器各一組。其電路架構可參考文獻[10]。. 3.2 菲涅耳轉換以及表格建置單元 菲涅耳轉換主要實現公式(2.1.2)計算,分為三個部分,分別為前轉換單 元、快速傅立葉轉換單元、後轉換單元與儲存參數的表格。如圖 3.2 所示。. 圖 3.2 菲涅耳轉換單元. 3.2.a. 前轉換單元. 前轉換單元是根據公式(2.1.6)設計,根據𝑥, 𝑦從表格讀取參數𝜇𝑥 , 𝜇𝑦 後,與 全像資訊𝜂𝑥,𝑦 進行複數計算。架構如圖 3.3 所示。包含一個地址產生器(Address Generation Unit,AGU)、存放參數的表格、兩個複數乘法器。 18.
(24) 第三章 系統架構. 圖 3.3 前轉換單元. 3.2.b. 快速傅立葉轉換單元. 快速傅立葉轉換單元是計算公式(2.1.7)的𝜏𝑢,𝑣 ,此單元是由一個地址產生器 (AGU)以及 FFT 模組組成。如公式(2.1.15)以及公式(2.1.16),本論文是使用 1D FFT[12]來實現 2D FFT 計算。. (a). (b) 圖 3.4 快速傅立葉轉換單元架構: (a) FFT 列運算, (b) FFT 行運算. 19.
(25) 第三章 系統架構. 3.2.c. 後轉換單元. 後轉換單元實現公式(2.1.10)以及公式(2.1.11),如圖 3.7 所示。與前轉換單 元類似,同樣含有計算參數表格以及複數乘法器,最後在執行 Arctangent 即完 成後轉換運算。. 圖 3.5 後轉換單元. 3.2.d. 表格建置單元. 在菲涅耳轉換中[8],為了更快速的計算,先將部分參數計算後存放於表格 中,運算的時候提供使用。這些參數運算也使用到焦距。而上述架構是針對固 定焦距進行運算,表格內容並不會更動,但在自動對焦過程中,必須讓電路可 以隨著焦距動態更新表格。. 表格建置模組在前轉換與後轉換運算的同時產生新的表格,從公式(2.1.5) 得知𝜇𝑥 和𝜇𝑦 可以共用一張表格,同樣的根據公式(2.1.9)可以得知𝜔𝑢 和𝜔𝑣 也共用 一張表格,因此我們只需要兩張 𝑁 個 entries 的表格即可。為了進行運算我們 20.
(26) 第三章 系統架構. 將公式(2.1.5)以及公式(2.1.9)展開成𝑠𝑖𝑛與𝑐𝑜𝑠的函數,如公式(3.1)與公式(3.2)。 𝜋. 𝜋. 𝜇𝑥 = 𝑐𝑜𝑠 [(𝜆𝑧) 𝛥𝑓2 𝑥 2 ] + 𝑗𝑠𝑖𝑛 [(𝜆𝑧) 𝛥𝑓2 𝑥 2 ] { 𝜋 𝜋 𝜇𝑦 = 𝑐𝑜𝑠 [(𝜆𝑧)𝛥𝑓2 𝑦 2 ] + 𝑗𝑠𝑖𝑛 [(𝜆𝑧) 𝛥𝑓2 𝑦 2 ] 𝜋. (3.1). 𝜋. 𝜔𝑢 = 𝑐𝑜𝑠 [(𝜆𝑧) Δ𝑔2 𝑢2 ] + 𝑗𝑠𝑖𝑛 [(𝜆𝑧) Δ𝑔2 𝑢2 ] { 𝜋 𝜋 𝜔𝑣 = 𝑐𝑜𝑠 [(𝜆𝑧)Δ𝑔2 𝑣 2 ] + 𝑗𝑠𝑖𝑛 [(𝜆𝑧) Δ𝑔2 𝑣 2 ]. (3.2). 𝜆𝑧. 其中因為Δ𝑔 = 𝑁Δ ,所以公式(3.2)可以推導出公式(3.3) 𝑓. 𝜋𝜆𝑧. {. 𝜋𝜆𝑧. 𝜔𝑢 = 𝑐𝑜𝑠 [(𝑁2 Δ2 ) 𝑢2 ] + 𝑗𝑠𝑖𝑛 [(𝑁2Δ2 ) 𝑢2 ] 𝑓. 𝑓. 𝜋𝜆𝑧. 𝜋𝜆𝑧. 𝜔𝑣 = 𝑐𝑜𝑠 [(𝑁2Δ2 )𝑣 2 ] + 𝑗𝑠𝑖𝑛 [(𝑁2 Δ2 ) 𝑣 2 ] 𝑓. (3.3). 𝑓. 有了公式(3.1)以及公式(3.3)我們即可根據焦距𝑧與索引值𝑥, 𝑦, 𝑢, 𝑣進行表格建 置,公式中𝛥𝑓2 𝑥 2 與𝑢2 /Δ𝑓2 是常數與索引值,圖 3.6 為表格建置模組的架構圖。. (a). (b) 圖 3.6 表格建置模組架構 21.
(27) 第三章 系統架構. 3.3 自動對焦資料流程 本節討論在此系統架構下完整執行自動對焦的流程。如圖 3.7 所示, SGDMA Controller 會控制 DDR II Controller 將全像圖從 SDRAM 傳輸至全像重 建系統的 On-Chip RAM,之後如圖 3.8,將目前的重建焦距以及下一輪的重建 焦距寫入全像重建系統,並啟動菲涅耳轉換單元,同時菲涅耳轉換單元內的控 制器也會啟動表格建置單元,進行表格建置運算。如此一來在菲涅耳轉換結束 後下一輪的表格也已經產生完成。. 圖 3.7 由 SGDMA 傳輸資料至 On-Chip RAM. 圖 3.8 設定焦距並執行菲涅耳轉換與表格建置. 22.
(28) 第三章 系統架構. 菲涅耳轉換結束後,如圖 3.9 執行相位展開取得重建影像,接下來如圖 3.10 執行評估單元運算取得評估值。如此便完成一次全像還原。反覆執行圖 3.7~圖 3.10 的流程,等到所有焦距點都還原以及評估完成。便會得到最高清晰 度的焦距點,再以此焦距進行最後一次還原,即完成自動對焦。. 圖 3.9 執行相位展開運算. 圖 3.10 執行評估單元運算. 23.
(29) 第四章 實驗數據與效能分析. 第四章 實驗數據與效能比較 本章節將整理論文提出架構的整合效果、實際效能測量與比較,以及實驗 環境介紹。. 4.1. 開發平台與實驗環境設定 本論文提出的硬體架構是以 Altera Stratix IV GX EP4SGX530 FPGA 開發板. 作為主要的實現平台,外觀如圖 4.1 所示。表 4.1 則整理出開發版的詳細規格。 FPGA 開發版可用來實現與驗證本論文電路架構,其擁有可程式化系統晶片 (SoPC),易於重復修改電路架構的特性,在硬體設計的驗證上相當適合,因此 選擇此開發版作為本論文實現硬體設計的平台。. 圖 4.1 Altera Stratix IV GX EP4SGX530 FPGA (Top view). 24.
(30) 第四章 實驗數據與效能分析. 表 4.1 Altera Stratix IV GX EP4SGX530 詳細規格 Feature. Stratix® IV GX FPGA. Device. EP4SGX530. Adaptive Logic Modules (ALMs). 212,480. Logic Elements (LEs). 531,200. M9K Memory Blocks. 1,280. M144K Memory Blocks. 64. Total memory Kbits. 27,376. DSP block 18-bit elements. 1,024. Total PLLs. 8. User I/Os. 744. 本論文使用 Altera Quartus II 14.0 作為 Verilog 硬體描述語言的開發平台, Quartus 提供給 FPGA 開發版使用者一個基礎的開發環境,並且可以藉由 RTLlevel 與 Gate-level 模擬訊號波型圖驗證電路正確性。當系統架構設計完成後, 便可將系統掛載在 SoPC 系統上,在 Quartus II 14.0 中使用的是 Qsys 平台,包 含本論文使用到的 SDRAM、SGDMA 等元件。將系統燒錄於開發板後即可利 用 NIOS II 觀察電路輸出。 硬體實驗環境. 軟體實驗環境. Device : Altera Stratix IV GX EP4SGX530 FPGA CPU : NIOS II Processor 150 MHz. CPU : Intel(R) Core(TM) i7-3770 CPU @ 1.60GHz RAM: 8.0GB Matlab R2014a. 25.
(31) 第四章 實驗數據與效能分析. 4.2. 實驗數據呈現與討論 本節展示自動對焦 3D 數位全像重建硬體系統的實驗結果與效能分析,首. 先觀察本論文架構中的菲涅耳轉換之資源消耗,表 4.2 是針對前轉換單元、快 速傅立葉轉換單元、後轉換單元與嵌入式記憶體之資源消耗複雜度分析。假設 菲涅耳轉換輸入影像邊長為𝑁,輸入的影像大小為𝑁 × 𝑁,加法器、乘法器、除 法器在不同運算單元中分析結果類似,不會隨著影像大小而改變,而暫存器數 量則會隨著影像大小變化。. 在前轉換單元(Pre-transform)的部分,使用了兩個複數乘法器,複數乘法器 使用到 4 個乘法器與 2 個加法器,影像大小並不會改變此兩者數量,所以複雜 度為𝑂(1)。前轉換運算沒有使用到除法器,因此複雜度為 0。在暫存器的部 分,前轉換單元包含了記載計算參數的 Table,Table 為大小𝑁的 On-Chip RAM,因此複雜度為𝑂(𝑁)。在快速傅立葉單元中同樣擁有固定數量的加法器與 表 4.2 菲涅耳轉換與嵌入式記憶體資源複雜度分析 Pre-transform Unit. FFT Unit. Post-transform Unit. On-Chip RAM. Adders. 𝑶(𝟏). 𝑶(𝟏). 𝑶(𝟏). 𝟎. Multipliers. 𝑶(𝟏). 𝑶(𝟏). 𝑶(𝟏). 𝟎. Dividers. 𝟎. 𝟎. 𝑶(𝟏). 𝟎. Registers. 𝑶(𝑵). 𝑶(𝑵). 𝑶(𝑵). 𝑶(𝑵𝟐 ). 26.
(32) 第四章 實驗數據與效能分析. 乘法器,並且沒有使用到除法器,因此加法器與乘法器複雜度皆為𝑂(1)而除法 器則為 0。後轉換單元的架構與前轉換單元十分相似,因此加法器、乘法器皆 為𝑂(1),而後轉換單元同樣包含大小為𝑁的 Table,暫存器複雜度為𝑂(𝑁),不同 的地方是,後轉換單元需要反正切函數電路計算,此電路包含不隨影像大小改 變的除法器數量,因此複雜度為𝑂(1)。而嵌入式記憶體作為各單元輸入與輸出 影像資料儲存器,其必須能存放𝑁 × 𝑁的影像資料,所以暫存器複雜度為 𝑂(𝑁 2 ),其餘皆為 0。. 接下來以相同方法分析討論相位展開電路、搜尋單元與評估單元的資源複 雜度。由於 3D 數位全像重建與搜尋單元中的焦距產生是借由 NIOS 處理器產 生,因此另外分析 NIOS 處理器資源複雜度。如表 4.3,相位展開電路的計算為 自身+2𝜋後與鄰近區域進行比較,需要數量𝑂(1)的加法器與乘法器,且為了進 行比較,我們需要長度為𝑁 × 𝐾的蛇狀暫存器來存放影像資料,𝐾為相位展開電 路中的還原法則中,代表進行比較的鄰近區域邊長,因此暫存器複雜度為 𝑂(𝑁 × 𝐾)。 表 4.3 搜尋單元與評估單元資源複雜度分析 Phase Unwrapping. Table Generation Module. Evaluation Unit. NIOS II Processor. Adders. 𝑶(𝟏). 0. 𝑶(𝟏). 𝑶(𝟏). Multipliers. 𝑶(𝟏). 𝑶(𝟏). 𝑶(𝟏). 𝑶(𝟏). Dividers. 0. 𝑶(𝟏). 𝑶(𝟏). 𝑶(𝟏). Registers. 𝑶(𝑵 × 𝑲). 𝑶(𝑵). 𝑶(𝟏). 𝑶(𝟏). 27.
(33) 第四章 實驗數據與效能分析. 在搜尋單元中,表格建置模組中使用了固定數量的乘法器與除法器,而𝛥𝑓 與𝛥𝑔 參數和索引值計算也是先大小為𝑁的 Table 儲存,因此暫存器的資源復雜度 為𝑂(𝑁)。在評估單元中計算𝑁 × 𝑁大小的影像資料,但是由於資料是 Serial 交 給單元計算,因此資源消耗不會隨著影像大小改變,所以複雜度皆為𝑂(1),而 NIOS Processor 資源消耗並不會隨著影像大小改變,只會根據設定改變。因此 資源消耗複雜度皆為𝑂(1)。將菲涅耳轉換、相位展開單元、搜尋單元以及評估 單元的電路資源複雜度整理後,可得到整體系統的資源複雜度在加法器、乘法 器以及除法器皆為𝑂(1),而暫存器的資源複雜度則是𝑂(𝑁 2 + 𝑁)。. 資源消耗分析完成後,接下來討論實作此硬體架構所需資源。本論文以影 像尺寸 256 × 256 (𝑁 = 256) 以及 512 × 512 (𝑁 = 512) 的全像圖作為實作 樣本。在開始討論 Altera FPGA 開發版資源消耗量測時,是根據 Altera 官方的 計算方式,使用三種單位作為評估資源消耗的依據,分別是 Adaptive Logic Modules(ALMs)、Embedded memory bits 和 DSP block,其中 ALMs 被用來實現 運算單元及暫存器;Embedded memory bits 主要用於暫存器及記憶體元件;而 DSP block 則被用來實現數值運算的元件如快速傅立葉模組中的乘法或後轉換單 元中的除法器等。. 表 4.4 表示了菲涅耳轉換各單元以及嵌入式記憶體單元的 ALMs 消耗,大 部分的資源消耗集中在菲涅耳轉換的三個單元,原因是 FFT 的複雜計算消耗了 大量 ALMs,且隨著𝑁的增加,FFT 也會消耗更多的 ALMs,而前轉換以及後轉 28.
(34) 第四章 實驗數據與效能分析. 換單元中的計算需求並不會隨著影像大小增加而改變,所以 ALMs 並沒有顯著 的增加。 表 4.4 菲涅耳轉換各單元與嵌入式記憶體之 ALMs 資源消耗表. Size. Pre-transform Unit. FFT Unit. Post-transform Unit. On-Chip RAM. N = 256. 3,255. 9,809. 7,153. 149. N = 512. 3,631. 14,483. 7,650. 614. 表 4.5 為相位展開單元、搜尋單元與評估單元在不同法則下的 ALMs 資源 消耗,在本實驗中相位還原法則為 Regional (7 × 7) 的相位還原法則,因此消 耗的暫存器數量相較於另外其他單元多,但 ALMs 並不會隨著影像大小增加。 表格建置單元、評估單元在計算的部分不會隨著影像大小改變而增加,因此 ALMs 也沒有顯著增加。 表 4.5 相位展開單元、搜尋單元與評估單元之 ALMs 資源消耗表 Phase. Table Generation. Evaluation. NIOS II. Unwrapping. Module. Unit. Processor. N = 256. 16,174. 6,549. 2,019. 1,174. N = 512. 17,057. 7,900. 2,244. 1,414. Size. 表 4.6 以及表 4.7 分別為菲涅耳轉換與嵌入式記憶體以及相位展開單元、搜尋單 元與評估單元的 Memory bits 消耗,從表中可觀察到前轉換單元以及後轉換單 元因包含兩張記載參數的 Table,所以資源消耗隨著影像大小提升,與表 4.2 分 29.
(35) 第四章 實驗數據與效能分析. 析相同,而嵌入式記憶體因其暫存器複雜度為 𝑂(𝑁 2 ),所以 Memory bits 消耗 是最多的。. 相位展開單元則因為蛇狀暫存器需要複雜度為 𝑂(𝑁 × 𝐾) 的暫存器,所以 會隨著影像大小以及法則比較鄰近區域範圍提升而增加其對 Memory bits 的消 耗。而搜尋單元中的建置表格模組則需要與影像大小相同的表格,因此也會隨 著影像大小而增加。Memory bits 資源消耗與表 4.3 的分析符合。評估單元與 NIOS Processor 在 Memory bits 的消耗上,並不會隨著影像大小增加。 表 4.6 菲涅耳轉換各單元之 Memory bits 資源消耗表. Size. Pre-transform Unit. FFT Unit. Post-transform Unit. On-Chip RAM. N = 256. 16,600. 51,064. 25,600. 4,194,304. N = 512. 32,768. 168,188. 41,984. 16,777,216. 表 4.7 相位展開單元、搜尋單元與評估單元之 Memory bits 資源消耗表 Phase. Table Generation. Evaluation. NIOS II. Unwrapping. Module. Unit. Processor. N = 256. 56,851. 23,994. 18,627. 63,680. N = 512. 114,867. 37,376. 18,432. 65,024. Size. 表 4.8 與 4.9 是各單元的 DSP Blocks 消耗,菲涅耳轉換各單元、相位展開 還原與表格建置單元使用的複數計算是 DSP Blocks 的主要消耗來源,表格建置 單元、後轉換單元與評估單元因含有除法計算,DSP Blocks 消耗相較於其他單 30.
(36) 第四章 實驗數據與效能分析. 元更高。而這些運算單元數量並不會因為影像大小 𝑁 而改變。. 表 4.10 是整體電路在 DE4 開發版的資源消耗,從表中觀察可以得知,在影 像大小 𝑁 增加的情況,ALMs 增加幅度不大,而 Memory bits 則是以 𝑂(𝑁 2 ) 的複雜度增加。DSP Block 主要用於計算,所以整體也沒有太大變化。整體系 統在影像大小 𝑁 增加的情況,以 Memory bits 的資源消耗為主要。 表 4.8 菲涅耳轉換各單元之 DSP blocks 資源消耗表 Pre-transform. Size. Unit. Post-transform. FFT Unit. Unit. On-Chip RAM. N = 256. 32. 48. 88. 0. N = 512. 32. 64. 88. 0. 表 4.9 相位展開單元、搜尋單元與評估單元之 DSP blocks 資源消耗表. Size. Phase Unwrapping. Table Generation Module. Evaluation Unit. NIOS II Processor. N = 256. 0. 108. 68. 4. N = 512. 0. 108. 68. 4. 表 4.10 整體電路在 DE4 開發版之資源消耗表 Size. ALMs. Memory bits. DSP Block. N = 256. 47,935 ( 22 % ). 6,499,954 ( 30 % ). 348 ( 33 % ). N = 512. 65,418 ( 30 % ). 17,409,807 ( 82 % ). 364 ( 36 % ). 31.
(37) 第四章 實驗數據與效能分析. 表 4.11 為菲涅耳轉換、相位展開電路、搜尋單元與評估單元的執行時間分 析,在本次實驗中以 150MHz 執行自動對焦 3D 數位全像重建硬體系統,由於 表格建置單元與菲涅耳轉換電路可以平行運算,且表格建置單元的執行時間為 𝑂(𝑁) 遠小於菲涅耳轉換中前轉換與後轉換執行時間,因此在這邊忽略討論表 格建置單元的時間,首先觀察菲涅耳轉換中前轉換單元、快速傅立葉單元與後 轉換單元的執行時間。可觀察出三個單元的執行時間都相當接近,因為其執行 時間取決於影像大小,從讀取第一筆資料後便開始運算,運算後即輸出結果, 執行時間相當於影像大小 𝑁 2 執行時間結果符合期待。而評估單元也同樣需要 讀取 𝑁 2 的影像資料,因為浮點數的累加性質,評估單元的執行時間相對菲涅 耳轉換來的高。相位展開還原則是花費相對大量的時間,是因展開過程中需要 不斷重複與鄰近區域比較,重覆迭代後才能完成還原。. 獲得各單元執行速度後,可算出整個 3D 數位全像重建硬體系統的執行時 間為 235(ms)。其中菲涅耳轉換電路的計算時間為 10.91(ms),產出量為 (Throughput)為 24.02Mpixels/sec,而在 Matlab 軟體執行的狀況下花費計算時間 為 0.5548(s),產出量為 0.472Mpixels/sec,相較於軟體執行,本論文的菲涅耳轉 換以更快速計算出結果。. 32.
(38) 第四章 實驗數據與效能分析. 表 4.11 自動對焦數位全像重建硬體系統(𝑁 = 512)在 150MHz 下之執行時間(ms) Pre-transform Unit. FFT Unit. Post-transform Unit. Phase Unwrapping. Evaluation Unit. 3.52. 3.70. 3.69. 209. 14.1. 表 4.12 為自動對焦 3D 數位全像重建硬體系統採取不同方式讀取原始影像 的執行時間。在本論文中,自動對焦還原系統需先針對不同焦距進行表格建置 以及全像還原運算並且進行評估。在此過程中,需不斷重新讀取原始影像,重 覆數次還原以及評估。最後根據評估值,取得最佳焦距,進行最後一次還原更 新。從表中觀察可得知將原始影像資料放到 DRAM 上,再傳輸到 On-Chip RAM,需消耗 100ms,若是透過 SGDMA 可將傳輸時間再減少至 21ms,有效 減少每次對焦重新使用原始全像圖的傳輸時間。. 表 4.12 自動對焦 3D 數位全像重建硬體系統在不同方式下讀取影像時間(ms) DRAM to On-Chip RAM using. DRAM to On-Chip RAM using. SGDMA. IOWR. 21. 100. 33.
(39) 第四章 實驗數據與效能分析. 接下來對本論文提出的自動對焦系統進行效能及正確性分析,本論文的全 像圖是在波長= 658nm、數值孔徑(Numerical aperture, NA) = 0.4、放大倍率 M = 13x 以及介質速率𝑛𝑚 = 1 的環境下進行拍攝,以這些參數計算𝑀2 𝐷𝑂𝐹(公式 2.3.6),計算結果為 0.695mm。以此為 Search Step 從全像圖相距 0.695mm 處開 始進行繞射計算與相位展開,每次與全像圖拉遠距離再次計算,硬體實驗中 step size 設定為 0.695mm,共採樣了 70 個焦距點,分別對相同全像圖進行重 建,相位還原展開迭代次數超過 150 回則判定其無法完成還原,再對還原結果 進行清晰度(Normalized Variance)評估。圖 4.2 是以 micro lens 為樣本進行對焦的 結果,橫軸為 0.695mm~48.65mm 的焦距,縱軸為 70 個焦距點全像重建影像的 評估值,可以觀察到距離全像 37.53mm 所重建的影像具有最高評估值。我們選 擇失焦的影像與成功對焦的影像比較,圖 4.3(a)為焦距 5.56mm 所重建的影像, 圖 4.3(b)為焦距 21.55mm 所重建的影像,圖 4.4 則是 37.53m 成功對焦的重建影 像。圖 4.4(a)為後轉換計算完成後的相位俯視圖,以灰階圖顯示,圖 4.4(b)為相 位展開之影像,可以發現失焦還原的影像都不夠完整。. 圖 4.2 micro lens 自動對焦評估結果. 34.
(40) 第四章 實驗數據與效能分析. (a). (b) 圖 4.3 Off-focus image (micro lens):(a) 焦距 5.56mm (b) 焦距 21.55mm. 35.
(41) 第四章 實驗數據與效能分析. (a). (b) 圖 4.4 In-focus image (micro lens):(a) wrapped phase (b) unwrapped phase. 36.
(42) 第四章 實驗數據與效能分析. 本實驗第二個樣本是多個透鏡陣列(micro lens array),由多個 micro lens 整 齊排列而成的樣本,本論文使用的相位還原法則為 Regional (7 × 7) ,可正確 地相位展開。圖 4.5 為以 micro lens array 為樣本進行自動對焦的結果,橫軸為 0.695mm~48.65mm 的重建焦距,縱軸為針對 70 個焦距重建影像的評估值,從 圖中可得知,最高的評估值坐落在 38.92mm 處,圖 4.6 一樣舉出兩個失焦的例 子,圖 4.6(a)為焦距 13.9mm 所重建的影像,圖 4.6(b)則是焦距 45.87mm 所重建 的影像。圖 4.7 是成功對焦的重建影像,圖 4.7(a)是後轉換計算之後的相位俯視 圖,一樣以灰階呈現。圖 4.7(b)是相位展開還原後的影像,可以觀察到失焦與 對焦成功的影像差異很大,在經過評估分析後,取得最佳焦距便能完整還原全 像圖資訊。這兩個樣本自動對焦的結果顯示本論文提出的架構可以正確找到理 相的重建焦距。. 圖 4.5 micro lens array 自動對焦評估結果 37.
(43) 第四章 實驗數據與效能分析. (a). (b) 圖 4.6 Off-focus image (micro lens array):(a) 焦距 13.9mm (b) 焦距 45.87mm. 38.
(44) 第四章 實驗數據與效能分析. (a). (b) 圖 4.7 In-focus image (micro lens array):(a) wrapped phase (b) unwrapped phase. 39.
(45) 第四章 實驗數據與效能分析. 表 4.13 為硬體與軟體 Matlab 執行自動對焦的執行時間比較結果,測量結果 自動對焦 3D 數位全像重建硬體系統對 micro lens 樣本進行重建搜尋 70 個焦距 點所花費的時間為 18.304(s),而 Matlab 需要花費 723.683(s);micro lens array 樣本進行重建搜尋 70 個焦距點所花費的時間為 21.957(s),而 Matlab 需要花費 749.865(s); 表 4.13 自動對焦系統之執行時間(s) Hardware in FPGA. Software in Matlab. (150MHz). (1.6GHz). Micro lens. 18.304. 723.683. Micro lens array. 21.957. 749.865. 40.
(46) 第五章 結論. 第五章 結論 本論文實現適用於數位全像顯微鏡應用的自動對焦 3D 數位全像重建硬體 系統,並且擁有大尺寸全像重建與解決調整焦距時原始全像圖重覆使用問題。 經過軟體驗證,硬體實際運算結果與軟體執行結果相互驗證後確認能完整重 建。本論文提出的硬體架構對於可攜式數位全像還原具有下列優勢:高速運 算、低功率消耗、自動對焦、大尺寸全像重建。本架構使用 IEEE754 浮點數運 算,有效提高精準度。且各運算單元內部採用管線化設計提高運算速度。本硬 體架構相較於 GPU 為主的架構或軟體而言,不但具有可攜式與功耗低的優點, 且運算速度因管線化設計而相對較快。此外本架構的自動對焦功能比部分現存 自動對焦系統更好,進一步的減少重新載入原始全像圖的時間,對於即時運算 的嵌入式數位全像顯微鏡應用,本論文提出的架構是更合適的。. 41.
(47) 參考文獻 [1] U. Schnars and W.P. Jueptner, Digital Holography, Springer-Verlag, 2005. [2] M. Kim, L. Yu and C. Mann, Interference techniques in digital holography, J. Opt. A: Pure Appl. Opt., Vol. 8, pp. S518-S523, 2006. [3] Y. Sun, S. Duthaler, and B. J. Nelson, Autofocusing in Computer Microscopy: Selecting the Optimal Focus Algorithm, Microscopy Research and Technique, Vol.65, pp.139–149, 2004. [4] S. Lee, J. Y. Lee, W. Yang, and D. Y. Kim, Autofocusing and edge detection schemes in cell volume measurements with quantitative phase microscopy, Opt. Express, Vol. 17, pp.6476-6486, 2009. [5] Y. Sun, S. Duthaler, and B. J. Nelson, Autofocusing Algorithm Selection in Computer Microscopy, Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.419-425, 2005. [6] Dennis C. Ghiglia, Gary A. Mastin, Louis A. Romero, Cellular-automata method for phase unwrapping, Sandia National Laboratories, Albuquerque, New Mexico 87185, 1984. [7] S. Rajan, S. Wang, R. Inkol, A. Joyal, “Efficient Approximations for the Arctangent Function,” IEEE Signal Processing Magazine, vol. 23 pp. 108-111, 2006. [8] 陳建廷, 適用於高速菲涅耳轉換之積體電路架構設計, 國立臺灣師範大學資 訊工程研究所, 2013. [9] 陳煥元, 數位全像顯微鏡之高速相位展開法則電路於FPGA上之實現, 國立 臺灣師範大學資訊工程研究所, 2014. [10] 林烝祺, 以 FPGA 實現可自動對焦之 3D 數位全像重建系統, 國立臺灣師範 大學資訊工程研究所, 2014. [11] Tristan Colomb, Nicolas Pavillon, Jonas Kühn, Etienne Cuche, Christian 42.
(48) Depeursinge, and Yves Emery, Extended depth-of-focus by digital holographic microscopy, 2010 [12] Altera Corporation, FFT MegaCore Function User Guide, 2011.. 43.
(49)
相關文件
由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電
其實 Eclipse 本身只是一個平台,因為眾多外掛的支持讓 Eclipse 具有廣 大的支援性,其中也支援本論文的 android 開發研究,許多 android
HTML Agility Pack 是由法國的一位軟體架構師 Simon Mourier 所發展,並且 由 DarthObiwan 以及 Jessynoo 輔助開發出來的一個軟體工具,它可以讓剖析鬆散 格式
本研究以河川生態工法為案例探討對象,應用自行開發設計之網
本研究以河川生態工法為案例探討對象,應用自行開發設計之網
「Web Service 是一種介面,能夠使應用軟體相互溝通的一個平台,它以和程式語言無 關的方式描述一組可經由標準 XML 訊息存取的網路操作;Web Service
本論文使用 CATIA 軟體平台的知識工程語言建立長圓錐體專業 CAD/CAM 建模系統,並使用了對話框,設計人員可以藉由改變對話框中的參數快速的建構 長圓錐體模型。長圓錐體
成功的完成本研究之自動化鋼筋混凝土結構設計前置處理程 式 AutoRC 的開發,讓使用者透過 AutoRC