如何模擬高解析度影像


如何模擬高解析度影像

Author
Message
Zemax_Taiwan
Zemax_Taiwan
Forum Member
Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)

Group: Administrators / Zemax Staff
Posts: 214, Visits: 2.5K
摘要:本文章說明如何使用Image Simulation這個分析工具來產生物體景色的視覺效果,模擬的效應包含繞射、像差、畸變、相對照度、影像旋轉以及偏振。

原文連結:How to Simulate High Resolution Images
原文作者:Mark Nicholson
原文發布時間:October 31, 2008


簡介
OpticStudio內有影像模擬工具Image Simulation,可以快速且精確的預測任何景色通過光學系統透的成像。此方法主要透過對光源的點陣圖以及點擴散函數 (PSF) 陣列進行疊積 (Convolution) 計算。其效應考慮了繞射、像差、畸變、相對照度、影像旋轉以及偏振。這個工具在計算時能完全利用到電腦中所有的CPU核心,從而提供高速、無雜訊的完美影像結果。
請打開內建的範例:/samples/sequential/Image Simulation/Example 1, a singlet eyepiece.zmx。可以看到內建的Image Simulation設定如下:


模擬時,影像的光源可以選擇為.bmp、.jpg、.ima或是.bim等,然後我們需要在指定這個影像的大小,單位採用模擬時的視場型態 (通常用Angle、Object Height會比較自然)。輸入的影像可以在計算前事先被旋轉、翻轉或是重新取樣,並能夠指定要把這個圖像的中心點放置在哪一個視場點 (Field Point) 上。


然後此工具會先計算點擴散函數 (PSF) 的陣列。這個陣列會分布到整個視場大小,並顯示出視野中不同位置對應到點陣圖像上時,像差所造成的光斑暈開影響。PSF網格同時也包含了偏振效應以及相對照度。


在這個範例中,中央的PSF品質相當好,但當我們往視野外圍看的時候,可以注意到PSF有嚴重的像差,而角落的PSF的慧差尤其明顯可見。接著在我們會內插這個PSF陣列,產生調整過的點陣圖上。每一個像素都可以利用內插PSF陣列中鄰近的PSF而得到等效的PSF,進而最終能計算出受像差影響模糊化的圖像。最後此工具會再依據探測器像素大小、幾何畸變、以及橫向色差等參數,產生最終的結果圖像。


我們將會說明如何適當的設定Image Simulation,以及如何偵測並避免常見錯誤。


如何使用Image Simulation
大部分的情況中,OpticStudio都可以自動幫使用者設定合理的參數,頂多需要一點點的微調,就可以產生可用的結果。然而,我們最好還是能瞭解詳細的計算細節!並且,如果你不知道怎麼解讀或不同意預測出來的圖像時,就可以自己接手,全權控制這些設定。以下是Image Simulation的完整設定流程。


1. 選擇你的輸入圖像,然後在PSF Grid Settings的區塊中選擇Aberrations: None,並設定PSF X/Y = 1。這會讓PSF陣列變成一個單一的Delta函數。而我們都知道,任何的函數分布跟Delta函數疊積的結果都會是這個函數本身,因此這樣設定結果產生的模擬圖像將會完全跟輸入圖像一樣,除了還是有考慮到畸變以外。

2. 在對話框下方設定 Show As: Simulated Image,並讓X-Pixels、Y-Pixels、Pixel Size等參數設為預設值。要設為預設值,在欄位中輸入0即可。OpticStudio將會自動地把Pixels數設定為跟光源圖檔一樣,並把Pixel的大小設定為跟光源圖像最中間的像素成像通過光學系統後的大小一樣。然後你應該可以看到一個有用的 “基準” 系統。你可以設定讓Detector的位置是參考 (Reference) 到主光線 (Chief Ray),這樣偵測影像的Detector平面就會在物面有移動時跟著反應,或是相對於表面頂點定位。現在你可以在進行下一步之前,花點時間把探測器設定成你希望的大小。

3. 探測器正確設定完成後,接下來就是設定PSF陣列的時候了。請設定Show As: PSF Grid,並設定Aberrations為Geometric或Diffraction。如果RMS Spot Radius在整個視野 (Field of View) 中都很接近Airy Disk的話,則選擇Diffraction。如果鏡頭的成像僅在視野中某些區域很接近繞射極限的話,也還是選擇Diffraction:OpticStudio將會自動的各自偵測陣列中每一個PSF是否比繞射極限大20倍,如果是,那這些PSF點就採用Geometric計算。

設定PSF-X/Y Points為適當數量。注意OpticStudio會自動從陣列中沒計算的空白區域。因此數量只要取到兩兩PSF之間的變化沒有劇烈不同就可以了。

PSF陣列圖的大小以及解析度跟光源點陣圖是一樣的。如果你看到的PSF是像下面這樣:
http://forum.zemax.com/Uploads/Images/9ca11442-629b-494a-a1bc-e673.png

這代表你的PSF大小比光源點陣圖的像素還小。如果PSF陣列中的點看起來像這樣:
http://forum.zemax.com/Uploads/Images/90283566-71e3-4a00-b365-f6d0.png

這代表PSF比光源圖像的像素還要大。
如果你的PSF陣列看起來像上面第一個圖,則你可以把點陣圖重新取樣為更高的解析度,或是把光源點陣圖所佔據的視場大小改成比較小,以能夠讓PSF點大於像素尺寸。一般來說,如果繞射效應不重要,則光源點陣圖的像素 (重新取樣後,如果有的話) 應該跟PSF差不多大。如果繞射效應很重要,則PSF點應該要是好幾個像素大。

4. 完成PSF Grid (陣列) 的設定後,設定Show As: Simulated Image以顯示疊積 (Convolution) 的結果。


實際範例
OpticStudio安裝後本身就內建許多影像模擬相關的範例,第一次嘗試你應該先研究過這些範例在開始會比較好。這些範例都放在\Samples\Sequential\Image Simulation\。

Example 1, A singlet eyepiece.ZMX
這是一個典型的範例。檔案中的透鏡是一個目鏡,但請注意這不是一個無焦系統:影像聚焦在-1000 mm遠的位置 (眼球觀看時水晶體調節為100度)。影像的成像是虛像的,但這是確實是一個聚焦系統。此外這個系統像差非常大,以至於相對照度無法計算。在這個範例中,相對照度是關閉的,假設所有地方照度都一樣。


注意下方的文字敘述,有一些模擬設定的細節。另外,也許你會看到PSF陣列看起來很像某些點是消失的。


這些點不是真的消失,而是因為顯示器的解析度有限。我們的輸入圖像是640x480個像素的大小,因而PSF陣列圖也是。然而,上圖中PSF陣列被顯示在比較小是視窗中,此範例來說,視窗中的區域是550x460個像素,大約是PSF陣列三分之二:這代表PSF陣列的解析度是降低的。如果我們把視窗最大化,或至少拉大到超過640x480,整個矩陣將都可以被正常看到。



Example 2, Double Gauss Experimental Arrangement
OpticStudio允許四種視場定義:Angle、Object Height、Real/Paraxial Image Height。這四種都是標準的視場定義方式,但是使用這個功能模擬一個圖像光源時,物高會是最適合的設定。
雙高斯原本針對無限遠的物優化的,其視場定義是角度。然而,如果圖像光源的大小用角度來定義時,這個工具的模擬方式將會是把角度平均分配給每個像素:這很可能不是實際上我們實驗或測試的狀況。並且更糟的是,每個像素平均分配角度的做法讓模擬的結果本身就存在畸變 (並且跟光學系統無關)。在Y角度為80度時,X方向上的1度寬,跟Y角度為10度時,X方向上的1度寬是不一樣的。如果視場的使用角度作為定義,並且視野 (FOV) 非常大 (任一方向上大於40度),則在解讀模擬的結果時,需要非常的小心。
這個檔案顯示了雙高斯實際上測試時可能的架構:


圖中我們可以看到一個輔助用的準值透鏡,用來把測試的圖像轉為無限遠的光源,然後再透過設計好的雙高斯聚焦到底片上。在這個範例中,我們用近軸透鏡被來代表這個輔助準直透鏡,但需要的話,我們也可以用真正的透鏡來替換。最重要的是,現在我們的測試圖案是實際上佔有空間位置的,因此每個像素都代表了實際光源的一部分,如同現實中真正的實驗架構一樣。
基於類似的原因,在使用Image Simulation評估成像品質或檢查畸變狀況的時候,還要注意我們不應該使用Real Image Height作為視場定義。當使用Real Image Height做為視場定義時,OpticStudio會疊代每一條主光線,直到找到能擊中所需像面座標的物空間光線角度。因為我們是用實際像面座標來規範,光線一定會擊中像面上正確的位置,因此像高會跟視場座標成正比,而自動消除了畸變。因此,取而代之的,OpticStudio實際上會在視場設為Real Image Height時,把視場定義暫時改為近軸像高 (Paraxial Image Height) 來模擬Image Simulation,並且會顯示訊息告知使用者這個變化。
然而,即使是使用近軸像高也不夠理想,因為畸像 (anamorphic) 的效應 (如果存在的話) 仍然會被忽略。記住,如果視場被定義為像高,則Field Height欄位中輸入地的大小是指在 “像空間” 中物體的大小,而不是在物空間。Field Height裡面輸入的數值的單位永遠都是跟視場的型態 (Field type) 一致!使用Image Simulation (或Geometric Bitmap Image Analysis) 時,最自然的方法就是使用物高 (Object Height) 作為視場定義。用物高定義輸入光源是最沒有岐義、模糊空間的。


Example 3, A blue notch filter.ZMX
OpticStudio計算時,也可以把光學系統的偏振效應 (專業版以上) 考慮進去。在這個範例中,我們的光源影響包含了重疊的紅、綠、藍圓圈。


這些圓圈通過一個帶有藍色濾光片的鏡頭成像,而我們可以看到結果影像沒有任何藍色的成分。



Example 4, a diffraction limited system.ZMX
在這個範例中,一個低解析度的光源影像透過繞射極限的系統成像 (哈伯望遠鏡)。為了讓輸入光源的像素數可以小到PSF的等級,我們設定把輸入圖像重新取樣了16倍,然後再觀察產生的PSF陣列:


請注意在這個設計中,視場的定義是角度 (Angle),但是我們的視野非常小 (0.001 degrees),因此前面提到的畸變問題不需要擔心。


Example 5, spatially varying resolution
這個範例使用跟範例2一樣的雙高斯系統設置,但是在這個例子中,測試的圖騰包含了各種不同空間頻率、不同方向的條紋圖。透過改變視場編號,我們模擬了輸入的影像在視野中不同位置的效果。而像面上的探測位置我們則設為以主光線 (chief ray) 為中心。透過這樣做,我們可以看到在子午或弧矢方向的對比度 (MTF) 狀況,並且也可以看到橫向色差的效應。再次的,我們的視窗應該被放大到至少比輸入圖像大 (201x201)。


Example 6, tilted image plane
在這個範例中,物面跟像面都是傾斜的,而產生梯形激辯以及焦平面模糊。在組態1中,我們設定沒有傾斜,因此可以看到PSF陣列在整個視場上看起來都有達到繞射極限。在組態2中 (按一下鍵盤上的Ctrl + A 可以切換組態),可以看到系統的傾斜造成畫面上方與下方的影像品質遠遠脫離繞射極限:


在最中間的水平線上,則可以看到影像仍然有繞射極限的品質,而在外側則不是。


請注意PSF陣列在計算畫面上下邊緣的PSF時,如果偵測到光般大小超過繞射極限20倍以上,會自動切換使用幾何方法計算,因此Image Simulation在可以時,會使用考慮繞射極限的方法計算,而在需要時,自動切換為幾何計算。


其他影像分析工具
OpticStudio提供了非常多種影像分析工具,你可以在Analyze > Extended Scene Analysis中找到這些工具。


這些工具的使用時機如下:

Geometric Image Analysis (GIA) 僅能執行幾何 (不考慮繞射效應) 相關的計算,可以模擬解析度相對較低的.IMA以及.BIM點陣圖。然而,你可以計算光學系統中任何表面上的光分布狀況。Image Simulation是透過疊積計算的,因此只能計算成像面上的結果。同樣的,因為GIA是透過光線追跡模擬的,他也可以被用來計算系統效率以及多模光纖模擬 (請看知識庫中相關文章)。你可以透過IMAE這個操作數來存取系統效率相關的資料,並在優化過程中設為目標。

Geometric Bitmap Image Analysis (GBIA) 比較類似Image Simulation,他也可以接受.bmp或.jpg等點陣圖檔作為光源。一般來說,Image Simulation會提供比較好的訊躁比,並且模擬速度也比GBIA快。GBIA的訊躁比跟SQRT(n)為正比,其中n指的是每個像素所追跡的光線數量。
要檢查IS中的PSF是否適當取樣比較需要技巧,不好的取樣會讓PSF看起來像是脈衝函數 (delta function),這代表如果PSF陣列沒有適當設定的話,有可能在透過疊積方法計算之後,我們會得到超過實際上可能的模擬效能。這個時候GBIA就提供了很有用的雙重檢察功能。GBIA也可以用來檢查不同表面上光分部的狀況,即使光線在這些表面上並沒有聚焦也可以。

Partially Coherent Image Analysis (PCI) 的另一個常聽到的正式名稱是繞射影像分析 (Diffraction Image Analysis)。如果我們要模擬的是一個點陣圖,通過繞射極限系統形成的非同調成像結果,一般來說Image Simulation會是比較好的工具。然而,PCI讓你可以模擬同調光源的影像。這在曝光機系統上是一個特別重要的效應。

Extended Diffraction Image Analysis (EDIA) 在光源影像不是同調的時候,可以完全被Image Simulation取代。然而EDIA讓你可以模擬一個擴展影像的同調成像結果,並且能把光源點陣圖中每個像素都當作一個脈衝函數 (delta function)。這對於模擬包含點光源 (例如星星) 的擴展影像非常有用。


GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search