在這篇文章中,我們將示範如何使用OpticStudio的TrueFreeForm面,設計AR/VR裝置中的人眼追跡系統(eye-tracking subsystem),這個系統通常位於裝置的楔形透鏡結構中。此外,為了完成子孔徑(sub-aperture)矢高(sag)的優化,我們會透過優化TrueFreeForm面的網格矢高(grid-based sag)以達成目標。在優化的過程中,人眼追跡系統的影像品質可以隨之提升。
作者 Zachary Derocher
简介
在OpticStudio中,TrueFreeForm面屬於序列模式下的一種面型。此表面結合了多項式(Polynomial)和網格矢高兩種面型的特性。另外,以TrueFreeForm面進行設計時,我們還可以對網格矢高中的每個點為目標,並且以非參數化(non-parameterized)的方式進行矢高的優化。當使用者想以局部區域為優化目標,或是多項式函數無法完整呈現矢高架構時,TrueFreeForm面會是我們的好選擇。
背景知識
在使用TrueFreeForm面進行設計時,我們能以多項式函數的型式,如雙錐 toroidal (biconic toroidal)、偶次項非球面(even asphere)、Zernike標準矢高(Zernike standard polynomial)、擴展多項式(extended polynomial)以及網格矢高定義的方式設定矢高。在同一個表面取得上述的函數可以為我們的設計過程來一些好處,例如原先以擴展多項式(extended polynomial)、雙錐 toroidal (biconic toroidal)或網格定義(grid-based definitions)為目標進行的自由曲面優化,現在可用Zernike係數對不規則的設計進行額外的公差分析。此外,我們還可以將網格矢高上的各點設為變數進行矢高的優化,這是以TrueFreeForm面進行設計時較有趣的一點。
相較於參數式(parametric)優化,網格矢高優化具有許多優點。由於預設的網格矢高內插演算法是以雙三次樣條(bicubic spline)的方式進行計算,因此值域中的每個點只會對網格中相鄰的至多兩點產生影響。假如我們針對資料中的一點進行優化,則系統只會改變局部的表面結構,距離較遠的表面資訊則會維持原樣。下圖顯示了一個簡化的一維平滑曲線模型。圖中的三條曲線分別以5個點定義出三次樣條(cubic spline)。我們可以看到圖中最左邊的點會在三條曲線間移動,但只會對距離最近的兩點產生影響。
接著我們利用下圖將上述概念推廣到二維空間。我們先以二維網格的矢高值表示目標的表面結構,並選擇其中一點進行矢高的優化(圖中紅點),可以看到只有藍色方形(5x5個點)內的區域會受到影響。
以上的例子告訴我們兩件事。第一,以網格矢高的方式進行優化,我們可以將優化目標限制在局部的區域中;相對的,使用參數式優化時,每當我們對單一數值進行變更,則整個表面的結構均會發生變化。第二,我們可以較輕易的產生特殊的表面幾何關係,而這是我們很難以有限次的多項式函數達成的。
在使用網格矢高優化時有兩點需要特別注意。由於矢高網格會運用到三次方的內插法(cubic interpolation),這代表由一組資料點所產生的曲線會受到幾何關係的限制。此外,用於定義網格的矢高資料量也是進行優化時重要的考量。資料點太多會降低優化的效率(變數過多),且會對取樣產生負面的影響(在接下來的篇幅中會再詳述)。另一方面,若系統以過少的資料點進行優化,將難以產生最佳的優化表面。因此,在使用網格矢高的方式進行優化前,我們需要更謹慎的設定網格的參數。
實際案例-TrueFreeForm面網格優化
設定
在這個範例中,我們利用將以一個具有自由曲面楔形稜鏡的頭戴式透視顯示器(optical see-through head mounted display)進行設計,此光學系統參考了Gao C. 和Hua H.的專利(EP3270194A1)。顯示器中的NIR(近紅外光)人眼追跡系統包含了三個相同的光學表面,和一個用於聚焦的楔形單透鏡。一開始,我們以擴展多項式(extended polynomial)的方式在OpticStudio中建立三個面。由於TrueFreeForm面也能支援擴展多項式函數,所以可以此作為設計的起點。接著,我們將進行微顯示器的優化和人眼追跡系統的嵌入。在這些過程中,我們還不會對參數式自由曲面的光學表面進行校正。
注意,為了簡化設計我們忽略了光學系統中的透視(see-through)結構,並且只以單一波長的入射光進行優化。
此外,一開始的光學表面優化是以顯示器系統的成像為目標,而忽略了人眼追跡系統的表現。因此在優化結果的呈現上,F/3 NIR光學系統會有不錯的影像品質,但NIR人眼追跡系統則不然。我們可以在下方的MTF圖中看到以完整FOV取樣的結果,以及NIR人眼追跡系統中所有視場的像散。後者的平均像散約為1.4個波,並在整個FOV具有1.42個波的RMS平均波前誤差。
為了得到各系統較平衡的結果,我們可以重新對三個自由曲面進行優化。但要注意的是,任何增進NIR人眼追跡系統影像品質的改變,都將對顯示器系統的成像造成負面的影響。此時,改以TrueFreeForm面進行設計便成了一個更好的選項。如果使用者想在不犧牲顯示器成像品質的情況下改善人眼追跡系統,可以由S3 (即稜鏡最上方的面)的子孔徑優化著手。
定義網格矢高變數
注意,在下圖中我們可以看到NIR光束在S3上產生成像路徑的光跡(footprint, 綠色區域)和微顯示器上的光線(藍色區域)是明顯分離的。
當TrueFreeForm面S3的擴展多項式已根據微顯示器系統完成優化,我們接著將網格矢高的資訊填入表面矢高的設定中(預設值皆為0)。此時,只剩下S3上接收NIR光束(人眼追跡系統)的區域需被重新優化。需要注意的是,在優化的過程中由微顯示器發出、落在S3上的光束所產生的光跡不會受到影響。此外在原先的設計中,與視場無關的像散為主要的像差。因此我們可以使用較低階的表面輪廓修正明顯的改善成像品質。有了以上的認知,我們就可以開始著手進行設計了!
我們首先產生一個空白的網格矢高檔案,檔案中所有的數值均為0。我們可以善用系統左右對稱的特性,僅先針對右半邊的網格矢高資訊進行優化。接著利用對稱功能,使左半邊的數值隨右半邊變化。透過上述的步驟我們可以有效減少變數個數,將變數集中在右半邊。
上圖中為網格矢高的資訊。右圖中,所有的資料點均以黑色的”x”表示。我們可以看到淺藍色、且大小為4x4的範圍代表了變數區。在前面的篇幅中曾提到,雙三次樣條的內差演算法將變數影響的範圍向外擴增兩點,也就是圖中的橘色區域。確認了網格的密度和變數區域後,我們可以肯定光學表面的資訊會被限制在微顯示器的成像範圍內,意即微顯示系統的表現將在優化的過程被保留。
在下圖中,我們選取了目標範圍內的網格矢高點,且令為變數。
優化網格矢高
在完成網格矢高的定義和變數設定後,我們就可以開始建立優化函數了。我們首先將表面的優化限縮在一個子孔徑內,也就是說我們會移除大部分的變數,僅保留網格矢高的資料點和NIR的接收位置。此時所有之前用來優化顯示器系統的目標均須被移除。
我們以一個預設的優化函數進行優化。在這裡要注意的是,在光瞳積分(pupil intgration)設定方面,我們選擇以矩形陣列(Rectangular Array)進行設計,而非高斯求積(Gaussian Quadrature),因為後者會使光瞳中大部分的區域不被採樣。上述的狀況並不是我們樂見的,每個網格變數的影響範圍不同可能導致部分視場或光瞳無法被等量的優化。基於以上描述,我們在進行設計時將需要較高的光瞳及視場採樣率,避免只有目標中的部分區域被優化(特別是進行焦平面周圍區域的優化時,此時的表面上的光跡會因為視場的不同而有明顯的間隔)。
在完成視場及光瞳的採樣設定後,我們還需要再加入一些關於最大傾斜度(allowed maximum slope)和矢高的限制,而操作數GOPT可以幫助我們順利達成目的。GOPT檢視了網格中的矢高和局部區域的斜率,確保這些數值的最大和最小值都能被限制在合理的範圍內。
優化結果
優化結束後,我們可以看到一個局域的矢狀面(sagittal)曲率被加入目標的區域中以抵銷大部分的像散,同時又使non-local的表面資訊維持不變。這樣的結果很接近我們原先對矢高的預期。
我們可以透過MTF結果觀察到微顯示器系統在優化前後有相同的表現。這樣的結果也證實了網格變數的選擇是合裡的,且這些變數與NIR人眼追跡系統的優化並不會互相影響。
而NIR人眼追跡系統經過優化後,成像的表現有了顯著的提升。系統的像散在各視場有了幾個數量級的改善(如850 nm處由1.38個波縮小為0.0509個波)。而此系統的MTF表現也有明顯的提升(在 40 lp/mm時,平均視場為0.45),使用者可以看見清晰的像。這樣的結果使我們可以準確的接收使用者瞳孔的NIR反射,並據此來幫助在軟體中投射影像的優化。
結論
在這篇文章中我們看到了一個網格矢高優化功能可以成功的應用在局部表面的修正及部分光學系統的成像改善,且同時保留了非局部(non-local)的矢高。至於此優化功能的缺點則是使用者必須謹慎的設定視場和光瞳的採樣以及矢高網格的變數數量。一般而言,這種優化方式會需要較高的光束採樣和大量的變數,以至於需要較長的優化時間。
此外,還有一些我們在進行自由曲面優化或製造時需要注意的地方。在建立優化函數時,我們僅使用為數不多的GOPT操作數限制變數區內的矢高和斜率。為了使所有的表面維持連續的狀況,OpticStudio會黏合變數區和周圍網格矢高結構的邊緣,這時就可能出現交界處十分陡峭的情形。範例中的變數區在X方向的長度約為5 mm,我們可以在該表面向外延伸的區域發現斜率急劇變化的現象(準確的來說,延伸區域為向外2個網格點,即變數的影響範圍)。如果能確保每個矢高點的影響範圍都有合理的斜率,將進一步使我們的設計更理想。我們可以利用SSAG操作數或是其他等效的斜率計算方式,達到限制特定區域斜率的目的,例如變數區的RMS斜率。
KA-01890
评论
请登录写评论。