張航 胡月姣 陳嘉文 修龍汪
(浙江工業大學理學院,杭州 310023)
基于自由曲面的非成像光學被廣泛地應用于基礎研究與產業應用中[1],如:激光光束整形、機器視覺照明、光學深度傳感和光波導耦合等.非成像光學設計本質上是基于一個已知光源和目標面光分布求光學器件幾何表面的逆問題,對于不具有對稱性的自由目標光分布,對應光學器件的表面一般為自由曲面[2].非成像光學設計方法主要分為3 類:優化法、代數法和幾何法.優化法的中心思想是將自由曲面由優化變量表征,在設計過程中不斷調整優化變量,使得其評價函數值達到所需評價標準,進而滿足所需照明設計要求.代數法主要是根據Snell 定律和能量守恒定律為中心思想,構建光源與目標面之間的映射關系,這種映射關系通常可以用數學方程來表示.通過求解數學方程,得到自由曲面參數,如常微分方程方法[3]、同步多表面設計方法[4]、剪裁法[5]及求解Monge-Ampère(MA)方程[6-8]等.Chang 等[6]通過求解二階MA 型偏微分方程設計了雙自由曲面,實現了具有指定光照模式的任意輸出波前.幾何法的主要思想是借助幾何曲面的內蘊性質,根據能量守恒關系將一個預定照明問題用一組子面來離散化,最后由該組曲面片的包絡面來確定自由曲面的解,如Oliker 等[9]提出的支撐二次曲面法(supporting quadratic method,SQM).這類方法的關鍵在于建立起所有子面的光程常數分布K與目標面上照度分布E之間具有單調性映射關系(簡稱程能映射,或KE 映射).簡單分析可知,SQM 是程能方法在僅有單一待求自由光學曲面下的特例.在目標離散光分布的優化過程中,光程常數陣列中各元素之間存在異常復雜的競爭關系,導致難以解析求解,通常需要借助優化算法來求解,而深度學習是一種性能優越的尋優工具.
深度神經網絡(deep neural networks,DNN)采用多層非線性網絡層疊加而成,利用數據集對神經網絡進行訓練,可以逐層變換和學習樣本空間的特征值,對逆問題的求解具有良好的適應性[10,11].在成像光學領域,如超分辨率圖像重構[12]、光學表面雜質檢測[13]、納米圖像配準方法[14]和計算成像[15]等方面已經得到應用,而在非成像光學領域則尚在探索之中.
從一般非成像光學系統出發建立了基礎配光方程,針對光斑平移情況導出了平移配光方程,并引入配光平移群來描述配光平移算符集合.為了滿足群的構成條件,引入程能映射關系來保證平移配光方程解的唯一性,進一步推導出SQM 下的配光方程和K空間里的配光平移變換群.接著引入DNN來擬合KE 映射和平移操作,完成平移配光方程的求解,獲得相應的自由光學曲面(DNN-KE 方法).以均勻方斑為例,利用SQM 方法之一的支撐橢流面法(supporting ellipsoid method,SEM)生成樣本數據,通過對DNN 進行多維度調參和訓練,實現了平移均勻方斑的配光設計.光學仿真結果表明DNN 生成的光學表面產生離散光分布與標準光分布之間的誤差很小,均在10—3量級內,說明DNN-KE 方法成功實現了配光平移群的構建.
一個非成像光學系統包含光源、光學面和目標分布3 個要素.光源發出的光線經過光學表面的光學作用投射到目標面形成特定的光強分布,這個過程通常可以表示為配光方程[16]:

式中,Γ是光學算子,將點光源的光強角分布I(θ,φ)映射到目標面空間r(u,v) 形成照度分布E(u,v) .在連續漸變介質中,Γ由光跡方程決定,而在分區均勻介質中,Γ通常表現為反射、折射或直線傳播,可以展開表示成:

這里,ni為第i個介質的折射率,Si是第i個光學面,S1和SN-1分別靠近光源和目標面.
在一般照明問題中,整個光學系統沉浸在空氣中,僅需1 個反射器(1 個光學面)或1 個透鏡(兩個光學面)即可實現多數配光任務.在反射情形下,只有單一空氣介質,(2)式可簡化成

式中,S是反射面.在光學曲面S上自然標架場中反射算子為

具有反對稱性.在全局坐標系中,反射算子Γ可以由Γ′具體表示為

式中,A是全局坐標到S上自然標架的坐標變換,A—1是A的逆.將(3)式代入方程(1)可得單個反射面情形的配光方程

求解方程(6)是個逆問題,即已知光源和目標光分布求S.如果目標光分布E(u,v) 是任意分布,不帶任何對稱性,這個逆問題的解析求解是非常困難的,且S會是個自由曲面.
在實際應用中常會碰到光源的位置和朝向均保持不變,自由曲面中心位置也不變,并保持光斑形態不變,僅要求光斑位置發生移動的情況.如果按傳統方法就得從頭重新設計,形成重復性工作,降低了設計效率.為了討論方便,設目標面為平面,并引進群概念來描述配光方程中光學算子集合.
在目標平面里,光分布E(u,v) 簡化為笛卡爾坐標下的E(x,y) .通常E(x,y) 具有某種特定的照度分布模式,如均勻方斑.當光源參數不變而光斑E(x,y) 在目標面上作平移 Δ=(δx,δy) 后成為新光斑EΔ(x,y)=E(x-δx,y-δy),此時反射面S也同步形變成SΔ以遵守配光方程.因光斑平移而引起光學面從S到SΔ的變換用一個配光平移算符表示:Λ=Λ(Δ) .這樣方程(6)就改為平移配光方程:

其中,Γ(SΔ) 是平移后的反射算子,可表示為

這里的 Δ∈R2,也就是光斑可以在目標平面上任意平移,理論上所有的Λ(Δ) 構成了一個群GΛ,稱之為配光平移群.
以一維平移操作為例簡單討論一下GΛ滿足群的4 個條件[17,18]:1)Λ(0) 就是群GΛ的幺元,其物理意義是光斑沒有發生移動;2)Λ(-δx)Λ(δx)=Λ(0),所以Λ(-δx) 就是Λ(δx) 的逆元;3)由 于δx ∈R1,群GΛ的封閉性是顯而易見的;4)可以由方程(7)求解的唯一性保證滿足結合律:(Λ(δx1)Λ(δx2))Λ(δx3)=Λ(δx1)(Λ(δx2)Λ(δx3)) .一般情況下方程(7)的解不是唯一的,但其唯一性可以通過程能映射來實現.
如果配光系統中只有一個待求光學曲面,則程能映射就可以由SQM 良好表達,當然也不限于SQM 一種方法.SQM 是非成像光學中能實現任意目標光分布的配光設計方法之一,而SEM 是一種適用于自由反射面設計的SQM.SEM 的工作原理是將目標光分布離散化成像素陣列T處理,再利用橢球面的雙焦點特性建立像素與光源的映射關系,形成一個由橢球常數(光程常數)陣列決定的支撐橢球面,然后通過調節光程陣列的分布實現各個像素上光通量的改變,最后由迭代優化實現特定的目標光分布E,如圖1 所示.

圖1 SEM 方法示意圖Fig.1.Schematic of SEM.
由于這些橢球面具有光學反射作用,通過拓展流線概念而稱之為‘橢流面’,以區別于純粹幾何學意義的橢球面.當離散像素規模(也就是K的規模)趨于無窮時,目標光斑就由離散光點變成了連續分布的光斑,鱗甲反射面也過渡到光滑表面.在SEM 中,如果設置光程陣列中某一個光程值固定不變,則對應于一個特定目標光分布的光程陣列是唯一的,這點已在數值仿真層面得到驗證.
根據SEM 的工作原理,配光方程(6)可改寫為

式中,Eij是T中第 (i,j) 個像素上的光通量,Ωij是第 (i,j) 個曲面片Mij對光源的立體角子域.另外,根據理想光效要求,(9)式還需滿足能量守恒

其中,考慮了在一般照明問題中光源的最大立體角域為半空間 2π .這里的Mij均為橢球面片.任一橢流面Mij是由對應的橢球常數和兩個焦點位置所確定,因此可表示為

式中,Kij為Mij的橢球常數,O是光源所在位置(一般為坐標原點),Tij為第i行第j列個像素所在的位置.這樣求M的問題就轉變為求K了,所以SEM 就是在已知目標照度E和光源光強分布I(θ,φ)并滿足條件方程(10)下根據方程(9)求M或K.由于(9)式和(10)式都是復雜的積分方程,直接求解存在很大難度,一般采用數值優化算法來解決,如遺傳算法、牛頓最速法和區間收縮法等.
在SEM 中,(8)式就改寫為

這里的K具有雙重含義,既表示構造了光學表面的光程常數陣列,又表示實現光線反射的光學作用.
SEM 為每一個反射子面建立光源到目標點的一一映射關系,通過相鄰K的迭代調整使目標點能量滿足預設條件,但這種迭代效率不高,為此引入DNN 與SEM 結合的DNN-KE 設計方法.DNNKE 方法利用DNN 優秀的非線性表達能力實現KE 映射關系的擬合,即從點陣T上的照度分布E直接預測出相應的K,從而快速生成所需的自由曲面.DNN-KE 方法采用成熟的Python+TensorFlow 方案作為深度學習框架[19],如圖2 所示.

圖2 DNN-KE 方法示意圖Fig.2.Schematic of DNN-KE method.
利用TensorFlow 構建1 個特定超參數的DNN,通過將不同樣本KE 映射關系中成對的 {E,K}作為DNN 的訓練樣本.訓練時,樣本中的E輸入到DNN 的輸入層,經過逐層處理后在輸出層給出預測的K′.此時的K′與樣本中對應的K之間會存在著偏差,可由損失(代價)函數C(K,K′)
來表示:

式中,M和N是二維離散化規模.有了損失函數值,BP(back propagation)算法就可以反向更新DNN各層神經元的權重和偏置等參數,通過反復訓練降低損失函數值至預定的收斂條件,使DNN 很好地擬合了KE 映射關系,并得到構建光學表面所需的K.
DNN-KE 算法原則上可以實現任意光分布的光學表面求解,但需要海量的訓練數據和計算條件做支撐.以M=N=10 和8 級灰度為例,光分布的狀態總數為 2300,這是個天文數字的搜索空間,因此DNN-KE 算法實現任意光分布的配光設計尚存在較大的困難.如果將搜索空間縮小到固定圖案光斑的配光平移群,則DNN-KE 算法是可行的.
光斑平移的光學場景如圖3 所示,水平放置的目標面平行于光源的發光面,朗伯型點光源位于目標面上方400 mm 處,在目標面上投射出尺寸為400 mm×400 mm 的均勻光斑,然后逐漸作向右平移,最大平移范圍為40 mm,整個平移過程中方斑的照度均勻度保持在0.9 以上.

圖3 方斑平移光學場景圖Fig.3.Optical diagram of square spot shift.
為了適當降低計算量,點陣T的規模大小設為10×10 時,通過采用基于負反饋機制的區間收縮法迭代優化出方斑對應的光程常數陣列K,期間保持K5,5=420 mm 不變.圖4 為 δx=0 時的光分布情況:圖(a)是標準均勻光通量分布Es,所有格點光通量為Φ/100,Φ是光源發出的總光通量;圖(b)是由區間收縮法所得K生成光學表面后仿真得到的歸一化光通量分布E′,可以看到E′與Es具有非常好的一致性;圖(c)是對圖(b)中所得的鱗甲光學表面進行光滑化處理后光學仿真所得的均勻光斑.目標面在離散化處理下,由SEM 所得的鱗甲光學表面是不光滑的,實現目標光斑的連續分布有兩條途徑:1)不斷增大離散規模;2)求鱗甲光學面的包絡面.圖4(c)中采用的是后者.
圖4 中的(b)和(c)表明離散光通量分布和連續光通量分布在照度均勻性上具有良好的一致性,因此后面僅討論光斑的離散分布情況,這樣處理可以最大程度規避光學仿真軟件的調用,實現在K空間上討論配光平移群.

圖4 均勻方斑光分布 (a) 目標分布;(b) 仿真分布;(c) 光滑化分布Fig.4.Flux distribution of uniform square spot:(a) Original target;(b) simulation;(c) smooth spot.
在上述光學場景下,通過SEM 算法可以得到相應平移位置上的E和K數據樣本,并作為2.4 節中DNN 訓練集樣本.為了提高神經網絡的收斂性能,TensorFlow 中的樣本數據需要進行線性歸一化預處理:

這里,X代表E或者K,χ是E或K中的元素.
一個完整DNN 網絡模型由參數和超參數共同決定.參數是可以通過優化算法進行學習的,如:權重和偏置等;超參數是用來定義模型結構或優化策略的,如:網絡形狀、網絡層數、隱藏層規模、優化器、激活函數、損失函數和學習率等.經過反復探索,DNN-KE 算法中的DNN 超參設定如下:網絡形態為直筒型,網絡層數為5,層規模為256,激活函數選用ReLU 和TanH,優化器選用ADAM,學習率為0.005,損失函數由(13)式給定.
DNN 的網絡超參確定之后就可以輸入樣本數據進行訓練.樣本數據由標準均勻方斑數據Es和偏移量 Δ 共同構成,樣本集中5 個樣本的y偏移量δy ≡0,x偏移量分別為 δx=id,(i=0,2,4,6,8),其中d=5 mm,并保證所有樣本光學仿真的離散光通量均勻度都高于0.9.網絡訓練的收斂條件為:.DNN 訓練完成后就可進行預測和檢驗.
為了檢驗DNN 的學習能力,簡單生成9 個檢驗樣品,其x平移距 離分別 為 δx=id,(i=0,1,···,8),d=5 mm,其中i為偶數的5 個檢驗樣本屬于訓練樣本集,剩余4 個則不在訓練集之中.將9 個檢驗樣品輸入訓練好的DNN 中輸出9 個預測的Ki,再對Ki作逆歸一化處理,然后由這些Ki生成相應的光學表面導入光學軟件中,仿真結果如圖5 所示,各個子圖的標號就是序數(i).可以看到各個子圖中點陣清晰規整,大小一致,亮度均勻,且偏移準確.初步表明DNN 實現了目標偏移范圍內配光平移群的功能.

圖5 DNN 生成的平移光斑:Δ=[i d,0],i 為子圖號Fig.5.The shift spot generated by DNN:Δ=[i d,0],i is the number of subfigure.
為進一步考察DNN 預測功能的準確度,生成了21 個檢驗樣品,其 δy ≡0,x平移距離分別為 δx=id,(i=0,1,···,20),d=2 mm,其 中i被5 整除的檢驗樣本屬于訓練樣本集,剩余16 個則是插值樣本.方法同前,仿真結果如圖6 所示.這里的誤差計算采用(13)式定義的MSE 函數:Err=MSE(Es,E′),其中E′是仿真光分布,可以是DNN產生的EΔi,也可以是訓練集中的E,兩者分別用ErrDNN和 E rrtrain表示.此二者之間的MSE 偏差計算則需要先對 E rrtrain曲線插值處理以適配ErrDNN規模.
由圖6 可見,DNN 生成的光學表面產生離散光分布EΔi與標準光分布Es之間的誤差很小,均在10—3量級內.尤其在訓練集樣本所在位置上ErrDNN和 E rrtrain幾乎重合,在其他插值位置上 ErrDNN和 E rrtrain之間的MSE 偏差也在10—5量級內,這說明DNN-KE 方法較好地表達了配光平移群.

圖6 平移光斑的誤差Fig.6.Error of the shift spots.
另外還可看到,隨著偏移量的增加,誤差逐漸增大,這是由光斑偏移導致K的搜索區間增大產生的,可以通過增加訓練集樣本和提高訓練過程中的收斂精度等方法加以抑制.
由基礎配光方程出發推導了空氣中單一反射面的配光方程,又針對光斑平移情況導出了平移配光方程,引入配光平移群來描述所有配光平移算符,接著討論了平移配光方程解程能映射下的唯一性問題,進一步推導出K空間里的配光平移群.通過DNN 來擬合KE 映射和平移操作,完成平移配光方程的求解.然后以均勻方斑為例,利用SEM生成樣本數據,完成對DNN 進行多維度調參和訓練,實現平移均勻方斑的配光設計.光學仿真結果表明DNN-KE 算法對配光平移群表達具有誤差小,速度快的優勢,說明DNN-KE 方法成功實現了配光平移群的構建,對智能化非成像光學設計具有指導意義.