楊堯, 馬萬超, 王哲, 張凱, 苗錫奎
(1.西北工業大學 航天學院, 陜西 西安 710072; 2.上海航天技術研究院, 上海 210009;3.光電對抗測試評估技術重點實驗室, 河南 洛陽 471003)
紅外場景仿真是紅外武器裝備性能測試評估等研究的重要手段[1]。紅外反射模型是紅外場景仿真中的關鍵模型之一,反映了場景要素間的輻射耦合關系,顯著影響場景逼真度[2]。在輻射建模中一般采用BRDF(雙向反射分布函數bidirectional reflectance distribution function)表達輻射反射模型[3],針對不同的應用背景[4],BRDF模型可分為3類[5]:經驗模型[6-9]、測量模型[10-11]、物理模型[12-14],相比較經驗模型和測量模型,物理模型準確度和計算速度適中,各種場景仿真中應用廣泛,主要模型包括Torrance Sparrow模型、Cook Torrance模型、Schlick模型等。其中Schlick在Cook Torrance模型基礎上進一步改進,利用有理分式近似法獲得微平面理論公式中法向量分布項、菲涅爾反射項、幾何遮擋項的近似值,該方法能夠在保證真實感的同時進一步提升計算速度,常用于具有高擬真度需求的紅外場景實時仿真,Huang等[15]將Schlick BRDF模型應用在建筑物和飛機尾焰紅外場景中,提升了仿真精度。
然而本文仿真和BRDF測量實驗結果表明,Schlick模型在絕大多數情況下與實際光照現象吻合,但是隨著出射天頂角增大到一定角度,函數曲線不再符合實際光照變化趨勢,模型失真度增加,為此本文提出改進的Schlick模型。仿真結果表明,改進后的Schlick模型能夠更好地與實驗結果吻合,且能夠獲得更逼真的渲染效果。
Schlick雙向反射分布函數模型是一種兼顧理論與計算速度的模型,模型簡單,能夠反映純漫反射到鏡面反射的連續變化的效果,逼真度較高。
Schlick模型的幾何示意圖如圖1所示:

圖1 Schlick模型中各個角度與向量的定義

那么,Schlick模型的函數值可以使用(1)式計算得到:
(1)
式中,Rλ(t,u,v,v′,w)為波長λ處的BRDF函數值;Lλ為反射產生的波長λ在探測器方向的輻射亮度增量;Eλ為光源或熱源在波長λ處的反射物表面產生的輻射照度;Sλ(u)為光譜參數,表示入射光波長λ時,反射方向上光譜輻射強度占入射光譜輻射強度的比例,可以通過下式計算:
Sλ(u)=Cλ+(1-Cλ)(1-u)5
(2)
式中,Cλ表示波長λ的入射光在0°入射角時的反射系數,取值范圍為[0,1],可通過查詢反射物表面材質反射系數得到。
D(t,v,v′,w)為方向函數,表示Schlick模型的方向特性,由漫反射和鏡面反射構成,考慮反射物表面平整度問題,當反射光線照射到其表面時會形成二次反射和散射可通過下式計算得到:
(3)

(4)
式中,A(w)表示方位角的函數,Z(t)表示天頂角的函數,可通過下式計算得到:
(5)
式中,r為粗糙度因子,表示物體的光滑程度,取值范圍為[0,1]。當r取值為0時表示理想的鏡面反射情況,r取值為1時表示理想的漫反射情況;p稱為各向同性因子,取值范圍也是[0,1],當p取值為0時表示理想的各向異性情況,當p取值為1時表示理想的各向同性情況。
得到輻射源相對于反射物的方位角和入射天頂角以及探測器相對于反射物的方位角和出射天頂角,可以通過(6)式得到反射物反射的輻射源的輻射亮度:
Lλ=Rλ(λ,t,u,v,v′,w)·Eλ
(6)
任意波段λ1~λ2內,將光譜BRDF對輻射源在對應光譜的照度加權平均,通過積分可以得到輻射源在蒙皮上的BRDF值:
(7)

入射方位角為0°,反射系數為0.7,粗糙度因子為0.05,各向同性因子為1,入射天頂角分別為10°,20°,30°,40°時的BRDF仿真曲線如下所示:

圖2 入射天頂角對Schlick模型仿真曲線的影響
從圖2可以看出入射光線角度不變的情況下,起初函數值會隨著光線出射角度的增大而增大,當入射角度等于出射角度時,函數值達到最大值,隨后,函數值會隨著出射角度的增大而逐漸減小,但是在70°左右函數值會增大,直到90°時達到最大。
進一步分析反射系數對BRDF曲線的影響,計算入射方位角0°,粗糙度因子0.05,各向同性因子1,入射天頂角度為10°,反射系數分別為0.2,0.4,0.6,0.8時的仿真BRDF曲線如下所示:

圖3 反射系數對Schlick模型仿真曲線的影響
從圖3a)到圖3d)可以看出反射系數的增大僅導致函數值增大,對于函數值隨出射角度的變化趨勢并沒有影響。
同樣分析粗糙度因子對BRDF曲線的影響,計算入射方位角0°和入射天頂角度為10°,反射系數為0.7,各向同性因子1,粗糙度因子分別為0.1,0.2,0.3,0.4時的仿真BRDF曲線如下所示:

圖4 粗糙度因子對Schlick模型仿真曲線的影響
從圖4a)到圖3d)可以看出粗糙度因子的增大僅導致函數值減小,對于函數值在大出射角度變大的趨勢同樣沒有影響,出射角度為90°時函數值最大。而實際情況是當出射角度為90°角度時,反射光應最弱,因此這與實際情況并不相符,我們將通過實驗給出驗證。
BRDF測量實驗測試原理如圖5所示。圖中,光源固定,目標物體可進行旋轉,熱像儀可在二維平面進行移動,即固定黑體,轉動反射物體,每改變一次黑體到反射物體的角度θ,使熱像儀與法線的夾角θ′依次從20°轉動到80°,記錄反射光線到熱像儀上面的亮度。

圖5 BRDF測量實驗原理圖

圖6 BRDF測量實驗測試實物圖
測試實物如圖6所示。實驗測試時,圖6中左邊為黑體,右邊為反射物體,黑體到熱像儀的距離為22 cm,黑體的發光口直徑為12.7 mm,熱像儀到反射物體的距離為180 cm,熱像儀測量反射物體在3~5 μm波段的輻亮度,黑體溫度為773 K,本次實驗測量了6組數據,熱像儀到反射物體的角度分別是30°,40°,45°,50°,60°和70°,為了測試方便,入射方位角取0°,出射方位角取180°,保持熱像儀、黑體和反射物在一個平面上,記錄測量熱像儀反射的輻射能量,圖7為部分測試實驗圖。

圖7 測試實拍圖
將以上6組測量數據歸一化成BRDF函數值,得到下面6個曲線圖,如圖8所示。

圖8 實測BRDF函數曲線圖
根據朗伯反射原理函數夾角服從余弦函數分布,Schlick雙向分布函數在入射光線的天頂角θm和出射光線的天頂角相等時函數達到最大值,在θm的兩邊由于漫反射增加,鏡面反射逐漸減少,函數值應減少,但是減少到一定角度后,函數值卻呈現單調遞增趨勢直至90°,為了滿足函數平滑性,本文從出射角度等于θm到90°引入余弦補償函數,保證了θm到90°的單調遞減性,補償函數如下:
(8)
則Schlick雙向分布函數改進為:
fbrdf(θ,φ,θ′,φ′)=
(9)
選取反射物的粗糙因子為0.05,反射系數為0.5,各向同性因子為1,入射天頂角分別取30°,40°,45°,50°,60°和70°,則出射天頂角度從0°到80°的仿真結果如圖9所示。

圖9 Schlick模型的仿真曲線圖
比較實驗測試結果曲線圖和改進Schlick雙向反射分布函數仿真曲線圖可知,6組黑體測試的仿真曲線圖和實驗測量曲線圖的變化趨勢一致,且函數峰值誤差較小,故改進的Schlick雙向反射分布函數與實驗測量數據相符合,且更接近實際。
最后利用Schlick模型,基于OpenGL 實現紅外波段的仿真渲染,圖10是2種飛機的Schlick模型和改進Schlick模型的渲染結果對比圖。

圖10 飛機模型渲染圖對比圖
圖10a)和圖10c)中,機翼較亮,缺乏光照變化,而圖10b)和圖10d)中,機翼明暗變化清晰,具備光照變化效果。結果表明,采用改進后的Schlick模型進行仿真得到的光照反射效果更為逼真。
文中采用經典Schlick模型仿真得出,在出射光線的天頂角和入射光線的天頂角相等時,函數達到最大值,后隨著出射光線的天頂角的增加繼續減小,但是達到一定角度后函數值反而會增大,直到90°最大,而理論上當出射角度為90°時,反射光應最弱,仿真結果與理論并不相符,并且通過黑體反射測量實驗給出了實驗驗證,本文在經典Schlick模型的基礎上提出一種新的Schlick改進模型,仿真效果表明,該模型與實際情況基本吻合,仿真效果較好,且采用該模型渲染生成的飛機光照圖更為逼真。