對於本論文提出的硬體架構以及實驗結果進行總結
第二章 基礎理論及技術背景
本章節將介紹本論文所使用的基礎理論以及技術背景介紹。第一節討論到 本架構使用的繞射計算:菲涅耳轉換,第二節討論本架構搭配使用的相位展開 法則:細胞自動機(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)∑𝑁−1𝑥=0∑𝑁−1𝑦=0[𝜂𝑥,𝑦𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑥2+𝑦2)]𝑒−𝑗2𝜋(𝑥𝑢𝑁+𝑦𝑣𝑁) (2.1.2)
{𝐵𝑢,𝑣, 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.1.4)
𝜇𝑥 = 𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑥2), 𝜇𝑦 = 𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑦2) (2.1.5)
公式(2.1.5)與全像圖資訊𝜂𝑥,𝑦相乘後得到函數𝜌𝑥,𝑦,化簡如公式(2.1.6)。𝜌𝑥,𝑦為一週 期函數,因此可以將其做傅立葉轉換後得到函數𝜏𝑢,𝑣,如公式(2.1.7)。本論文中以 快速傅立葉轉換的架構來計算𝜏𝑢,𝑣,相關的計算電路將於第三章系統架構中詳細
討論。
𝜌𝑥,𝑦 = 𝜂𝑥,𝑦× 𝜇𝑥× 𝜇𝑦 (2.1.6)
𝜏𝑢,𝑣 = ∑𝑁−1𝑥=0∑𝑁−1𝑦=0𝜌𝑥,𝑦𝑒−𝑗2𝜋(𝑥𝑢𝑁+𝑦𝑛𝑁) (2.1.7)
由於菲涅耳轉換式中𝜆為固定數值、𝑧也假設為已知焦距,因此可定義一定值𝛼,
將其化簡為公式(2.1.8),
𝛼 =−𝑗𝜆𝑧𝑒𝑗2𝜋𝜆𝑧 (2.1.8) 正切函數運算使用 arctangent approximation 公式[7]來求得近似解,如公式 (2.1.12),
𝑡𝑎𝑛−1(𝑄𝐼) =𝜋2− 𝑡𝑎𝑛−1(𝑄𝐼) ,𝑄𝐼 > 0 (2.1.13)
𝑡𝑎𝑛−1(𝑄𝐼) = −𝜋2− 𝑡𝑎𝑛−1(𝑄𝐼) ,𝑄𝐼 > 0 (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)對函數𝐵𝑢,𝑣進行反正切運算求得相位 值𝜙𝑢,𝑣。
2.2 細胞自動機
3D 數位全像的重建需要執行相位展開才能完整還原觀測物體,相位展開法 則在本論文中使用細胞自動機(Cellular Automata),細胞自動機能還原不連續相 位的全像圖,但是無法保證運算能達成收斂,因此在本論文中我們使用的法則 為廣域型相位展開法則(Regional (7 × 7))[9]。
細胞自動機原理為將目前處理的 Current pixel 進行運算,運算需參考相鄰 區域。令𝐵𝑖[𝑚, 𝑛]為𝑥𝑖[𝑚, 𝑛]的相鄰區域,𝑖為迭代的次數,如公式(2.2.1)
𝐵𝑖[𝑚, 𝑛] = {𝑥𝑖[𝑝, 𝑞], 𝑚 − 𝑘 ≤ 𝑝 ≤ 𝑚 + 𝑘, 𝑛 − 𝑘 ≤ 𝑞 ≤ 𝑛 + 𝑘} (2.2.1)
圖 2.1 細胞自動機𝐵𝑖[𝑚, 𝑛]示意圖與其相鄰區域 𝐴𝑗, 𝑗 = 1,2,3,4 for i = 0, m = 3 , n = 6 and K = 7(i. e. , k = 3)
由於𝑥𝑖[𝑚, 𝑛]會出現在影像邊緣,𝐵𝑖[𝑚, 𝑛]會包含到影像外的 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𝜋 (2.2.5)
逐步掃描並完成計算直到沒有任何 Pixel 需要更新,即完成相位展開。
2.3 自動對焦之基礎理論
本論文使用自動對焦理論是針對不同焦距下重建的影像進行清晰度評估,而 評估值最高的影像代表其擁有最佳焦距。由上一節公式(2.1.2)中可知繞射計算與 焦距 z 有很大的關係,在𝜇𝑥, 𝜇𝑦中要根據焦距重新計算,所以本論文的自動對焦
過程即為不斷變換焦距,並且重建影像、進行評估。在本論文第一章節研究背景 中提到成功對焦的影像有較大的高頻能量,在這個部份,我們使用 Normalized Variance[10]量測相位展開之重建影像𝑃的差異值,Normalized Variance 可視為 Tamura measure 的衍伸型,令 Tamura measure 對𝑃的計算結果為𝑇(𝑃),可定義為:
𝑇(𝑃) = √𝜎(𝑃)𝛾(𝑃) (2.3.1)
其中𝜎(𝑃)代表重建影像𝑃的標準差,而𝛾(𝑃)則為影像𝑃的平均值。
𝛾(𝑃)與𝜎(𝑃)的計算式為
𝛾(𝑃) =𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0𝑃𝑢,𝑣 (2.3.2)
𝜎(𝑃) = √𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0[𝑃𝑢,𝑣 − 𝛾(𝑃)]2 (2.3.3)
我們將本論文所用的 Normalized Variance 定義為𝑉(𝑃),其計算內容如公式(2.3.4),
𝑉(𝑃) =𝜎(𝑃)𝛾(𝑃)2 (2.3.4)
經過上述公式化簡[10]後我們可以得到公式(2.3.5)
𝑉(𝑃) =𝛾(𝑃)1 [𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0𝑃𝑢,𝑣2− 𝛾(𝑃)2]
= 𝛾(𝑃)1 [𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0 𝑃𝑢,𝑣2] − 𝛾(𝑃) (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 運算得到 相位圖𝜙𝑢,𝑣,最後經過相位展開取得全像重建圖𝑃𝑢,𝑣,透過評估公式計算得到影像
清晰度。這樣便完成一次的重建運算,改變焦距再次進行上述流程,反覆數次即 可得知最佳還原焦距。
圖 2.2 自動對焦流程
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 來更進一步加速傳輸。
第三章 系統架構
本章節將介紹本論文自動對焦系統的硬體架構,包含菲涅耳轉換、相位展 開以及評估單元。第一節先討論整個系統的硬體架構,接著在第二節討論菲涅 耳轉換與表格建置模組。第三節討論整合後的電路架構是如何進行自動對焦,
影像資料在各單元之間運算以及作業流程。
3.1 整體系統硬體架構
本節討論自動對焦系統的各硬體單元,在 2.3 節討論了整個系統架構需要 的計算公式以及流程。根據其流程,本論文系統架構如圖 3.1 所示,全像重建 系統含有菲涅耳轉換單元、相位展開單元、評估單元以及表格建置單元。
SDRAM 用來存放原始全像圖以及使資料能更快載入 On-Chip RAM,本論文使 用 SGDMA Controller 來傳輸資料。
圖 3.1 自動對焦 3D 數位全像重建系統架構圖
為了獲得在不同焦距下的不連續相角圖𝜙𝑢,𝑣,菲涅耳運算中的焦距𝑧,成為
自動對焦過程重要部分,在菲涅耳轉換中部分使用焦距的運算,事先將其計算 完成,並儲存在表格提供給前轉換運算以及後轉換運算使用。相位展開單元使 用的架構引用自 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
圖 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 行運算
3.2.c 後轉換單元
後轉換單元實現公式(2.1.10)以及公式(2.1.11),如圖 3.7 所示。與前轉換單 元類似,同樣含有計算參數表格以及複數乘法器,最後在執行 Arctangent 即完 成後轉換運算。
圖 3.5 後轉換單元
3.2.d 表格建置單元
在菲涅耳轉換中[8],為了更快速的計算,先將部分參數計算後存放於表格 中,運算的時候提供使用。這些參數運算也使用到焦距。而上述架構是針對固 定焦距進行運算,表格內容並不會更動,但在自動對焦過程中,必須讓電路可 以隨著焦距動態更新表格。
表格建置模組在前轉換與後轉換運算的同時產生新的表格,從公式(2.1.5) 得知𝜇𝑥和𝜇𝑦可以共用一張表格,同樣的根據公式(2.1.9)可以得知𝜔𝑢和𝜔𝑣也共用
將公式(2.1.5)以及公式(2.1.9)展開成𝑠𝑖𝑛與𝑐𝑜𝑠的函數,如公式(3.1)與公式(3.2)。
3.3 自動對焦資料流程
本節討論在此系統架構下完整執行自動對焦的流程。如圖 3.7 所示,
SGDMA Controller 會控制 DDR II Controller 將全像圖從 SDRAM 傳輸至全像重 建系統的 On-Chip RAM,之後如圖 3.8,將目前的重建焦距以及下一輪的重建 焦距寫入全像重建系統,並啟動菲涅耳轉換單元,同時菲涅耳轉換單元內的控 制器也會啟動表格建置單元,進行表格建置運算。如此一來在菲涅耳轉換結束 後下一輪的表格也已經產生完成。
圖 3.7 由 SGDMA 傳輸資料至 On-Chip RAM
圖 3.8 設定焦距並執行菲涅耳轉換與表格建置
菲涅耳轉換結束後,如圖 3.9 執行相位展開取得重建影像,接下來如圖 3.10 執行評估單元運算取得評估值。如此便完成一次全像還原。反覆執行圖 3.7~圖 3.10 的流程,等到所有焦距點都還原以及評估完成。便會得到最高清晰 度的焦距點,再以此焦距進行最後一次還原,即完成自動對焦。
圖 3.9 執行相位展開運算
圖 3.10 執行評估單元運算
第四章 實驗數據與效能比較
本章節將整理論文提出架構的整合效果、實際效能測量與比較,以及實驗 環境介紹。
4.1 開發平台與實驗環境設定
本論文提出的硬體架構是以 Altera Stratix IV GX EP4SGX530 FPGA 開發板 作為主要的實現平台,外觀如圖 4.1 所示。表 4.1 則整理出開發版的詳細規格。
FPGA 開發版可用來實現與驗證本論文電路架構,其擁有可程式化系統晶片 (SoPC),易於重復修改電路架構的特性,在硬體設計的驗證上相當適合,因此
FPGA 開發版可用來實現與驗證本論文電路架構,其擁有可程式化系統晶片 (SoPC),易於重復修改電路架構的特性,在硬體設計的驗證上相當適合,因此