案例-FRED紅外熱成像

案例-FRED紅外熱成像的圖1


使用FRED的圖形用戶界面和它的內置腳本語言,我們可以輕松地實現熱輻射和成像。盡管強力的光線追跡同樣是可能的,FRED使用了應用標準光學工程算法的高效運算器來實現熱成像和輻射計算。使用源自輻射度量學的技術,用FRED追跡必要數量光線的可能需要的時間,我們可以高效并精確地完成熱成像、冷反射、雜散光、熱照明均勻性和熱自發輻射的計算。

 

1. 熱輻射和熱成像是什么?
 

熱成像定義為產生一個場景的可視化二維圖像的過程,該圖像依賴于從場景到達成像儀器孔徑的熱輻射或紅外輻射的差異。熱成像系統通常會減去背景來增強在紅外場景中變化的對比度。當背景不均勻時,由于冷反射的存在,可能產生雜散信號。對于國防和安全問題尤為重要,在其中我們可以發現具有不同熱溫度或輻射率的物體,此時可以從圖像場景的剩余部分區分出它們。對于這個問題的主要應用是:探測、分類和追跡隱藏在個人身上、包裹中、車輛上或船運集裝箱中的武器、人員、車輛、物品和材料。圖1是一個非常好的案例,當在FRED中進行仿真時,一個日常用品:茶壺,通過一個具有熱探測儀的攝像頭成像。

 

熱輻射是從一個光學儀器周圍的環境或結構中發出的能量,它會引起雜散光問題。冷反射是一個熱輻射問題,由于反射到探測器上的輻射,在一個紅外系統中的熱輻射表現為在一個顯示圖像中的黑色圓形區域。

 

通常,這些系統通過探測疊加在大的背景上的小信號工作。在室溫下,黑體輻射曲線的峰值大致在10μm處。因此世界在這個波長處“發光”,發光的微小變化表明了溫度或輻射率的變化。特別的,當一個冷卻的探測器圖像反映了自身,那么就會產生一個局部背景的缺失。這通常表現為在圖像中央的黑點。有人可能稱之為“雜散黑”,而不是雜散光。

 

在測量絕對輻射而不是相對信號的紅外輻射儀中,任何背景輻射是不可接受的。在這樣一個儀器中,冷卻整個儀器到低溫度來消除由于自輻射導致的雜散光是必須的。

 

案例-FRED紅外熱成像的圖2
 

圖1 此圖演示了一個在茶壺表面具有不同輻射系數和溫度分布的暖茶壺的簡單問題。然后茶壺通過單透鏡成像,探測器放置在單透鏡后面。這種機械結構輻射到了探測器上類型的問題,可以在許多引起熱問題的紅外系統中找到。

 

最近,已經開始致力于紅外遙感應用中,包括溫度的測量和繪圖、森林火勢的感知和控制、監督和多光譜地表成像等。

 

這些應用種有許多是經過長距離完成的,透過大氣,在大氣中IR能量的吸收是這些系統性能的一個影響因素。軍事的和基于空間的應用一般來說可以通過探測器處理,探測器的工作波長落在8.0-15微米之間,在這個波段內大氣的吸收是最小的。其他的應用的波帶較寬,為0.9-300微米。

 

2. FRED如何進行光線追跡和顯現熱輻射和成像?
 

在FRED中追跡熱輻射有幾個方法。第一種方法是創建一個光源,然后在光學系統中對它進行強力光線追跡。第二種方法是通過光學系統從探測器后端進行光線追跡,這需要較少的光線。在兩種方法中,能夠顯現二維和三維圖的熱成像是非常重要的。

 

事實上這里有兩個問題:計算時間和精度。在一個復雜系統中,如果分析者嘗試去了解設計中遞增量的影響,并且想要實時這樣做,光線追跡時間可能會特別長。反向光線追跡能夠使計算變得幾乎是交互式的。另外,由于冪指數收斂比均勻性快,即使每個微分區域只有幾束光線到達熱源,分析者幾乎可以肯定保證精確的結果。

 

案例-FRED紅外熱成像的圖3
 

圖2 兩個輻照度計算的比較:一個是使用前向光線追跡,另一個是使用后向光線追跡。后者需要比前者少1/53倍的光線達到同樣的準確度。

 

熱自發輻射可以簡單描述:每個光學和機械結構像朗伯輻射體一樣輻射能量,輻射出的能量是自身溫度和輻射系數的函數。通過追跡光線來模擬發射出的能量;在傳播過程中發生透射和反射時,它們遵循幾何光學的規律。這些光線(它們表示熱能)累積到了FPA上。

 

根據這個計算,大多數軟件會讓用戶設置物體的溫度和輻射系數。從統計學的角度來看,這樣做完全是錯誤的!在大多數“真實”的系統中,相對于光學和機械元件,FPA朝向一個非常小的固體角,因此當大量光線被追跡時,如果有的話,到達FPA的光線很少(圖3)。結果是熱自發輻射的錯誤的估計。

 

有一種更加高效但是非最佳的方法。直接或者間接,大多數軟件允許用戶指定一個優先的輻射方向;這在文獻中被稱為“重點采樣”。使用該方法,用戶為每一個光學和機械元件指定了一個重點采樣。在光線追跡的過程中,光線散射到了這些優先的方向,這在引導光線到達FPA方面十分高效(圖4)。這極大的改善了統計結果,并且產生了熱自發輻射的一個準確評估。然而,在一個具有許多結構性元件的復雜、“真實生活”的系統,這樣做單調乏味且耗時,特別是如果分析者需要設定溫度和輻射系數。

 

 

案例-FRED紅外熱成像的圖4

圖3 熱發射主機筒的強力光線追跡。在這個例子中,入射光線沒有到達FPA。

 

案例-FRED紅外熱成像的圖5

圖4 發射朝向一個重要方向,計算更加高效,但是設置麻煩。

 

處理這個計算最好的方法是采用熱輻射度量學的數學方法。計算熱自發輻射(TSE)基本上是該形式的總和

 

案例-FRED紅外熱成像的圖6

因為熱輻射是朗伯的,我們可以用由熱出射度推導出的等值表達式替換L

 

案例-FRED紅外熱成像的圖7

其中ε是輻射系數,f是黑體積分,σ是斯特藩-玻爾茲曼常數,T是溫度(K)。問題是如何高效的計算Aobject和Ωdetector。

 

反轉光源和收集器的作用(使用方程3),我們可以寫成
 

案例-FRED紅外熱成像的圖8

 

注意到探測器的面積Adetector是一個定量,為了高效的計算每個發射物體的立體角,我們在輻射方程中引用了對稱性概念。

 

案例-FRED紅外熱成像的圖9

從方程4中,我們注意到如果我們從探測器(L=1/πAdetector)發射光線,入射到物體上的功率數值上將等于它的投影立體角(回想投影立體角等于Ω/π)。發射的探測器功率因此等于

 

案例-FRED紅外熱成像的圖10

(事實上只有探測器輻射到了一個圓錐體中,這個公式才是正確的。如果我們希望輻射到一個矩形體中,正確的探測器功率是4/π因子)

 

知道如何高效的計算投影立體角是該方法的核心;這是第二個“高超的技巧”。由于立體角是常數,它們只需要計算一次。

 

案例-FRED紅外熱成像的圖11
 

圖5 從FPA反向光線追跡來獲得精確的投影立體角。在大多數例子中,杜爾窗口是相對于探測器最靠近的通光孔徑,因此我們一般將光線發射到它的立體角內。熱自發輻射的計算由方程6獲得,這很容易的應用到一個表格中(圖6)。出于完整性,熱自發輻射的方程由下式給出:

 

案例-FRED紅外熱成像的圖12

其中表達式(Ω/π)是由光線追跡計算出的投影立體角。

案例-FRED紅外熱成像的圖13

圖6 計算熱自發輻射使用的表格,如Exceltm。列“Incident Power”實際上是投射立體角,列“Contribution”實現了用方程6實現。

 

熱自發輻射的計算使用反向光線追跡的好處有很多,包括

1. 立體角的精度由從探測器追跡的光線數目決定

2. 為了“切合實際”,溫度和輻射系數在表格中可以很容易的改變。

3. 這里沒有冗長的設置時間,設置時間不再是模型復雜性的函數。

4. 通過把探測器劃分為微分區域,光線追跡并將每個區域求和,我們可以獲得在探測器上熱自發輻射的圖像。

 

現代光學軟件十分強大且適應性廣,通過點擊工具條上的按鈕,為有經驗和沒有經驗的用戶提供了來完成許多復雜的任務的方法。然而,有許多地方用戶需要以軟件預定義的方式執行計算。應用“高超的技巧”常常是唯一的辦法,在合理的期限內執行這些運算并到達所需要的精確度水平。

 

3. FRED對于熱分析如何創建幾何結構?
 

我們可以在FRED中使用圖形用戶界面直接創建系統幾何結構,或者從IGES或STEP CAD格式和光學設計程序導入。程序有很多選項來創建表面,包括標準的平面、圓錐面、圓柱面、橢球面、雙曲面、圓環面、多項式表面、Zernike、Nurb、Meshed、旋轉曲面、擠壓面、復合曲線、樣條曲線和用戶定義的表面。

 

由于FRED具有多文件用戶界面,可以在文件之間剪切、復制和粘貼元件。實體可根據邏輯關系安排到對應于系統物理布局的裝配體、組件和元件等的分類中。任何表面可能會被隱式表面或者下面定義的孔徑集曲線裁剪。

 

任何表面可以根據溫度和輻射系數定義。另外,把每個表面定義為熱輻射源來傳播熱能和并創建熱成像圖。

 

4. FRED如何記錄熱輻射路徑?
 

FRED具有進行高級光線追跡的能力,并且記錄所有在系統中追跡光線的所有路徑,圖7表示的是一個茶壺熱成像的光線路徑的列表,這是使用從探測器通過透鏡然后到圖1中所示茶壺的后向光線追跡形成的。

 

該光線歷史是每個路徑功率、沿著該路徑的光線數、它們如何到達最后一個實體和它們通過了多少表面(事件計數)的一個完整報告。使用任何光線追跡路徑并把它們復制到用戶定義的路徑列表中(選擇該路徑,點擊鼠標右鍵,選擇復制該路徑到用戶定義路徑列表的選項)是可能的。該路徑現在將會作為在高級光線追跡的可選路徑和可使用的光線方法之一出現。然后在僅有的路徑上,繪制點列圖或輻照度分布函數是可行的。

通過使用該方法,可以查看相對于信號路徑,每個鬼像、直射、單個或多個散射路徑貢獻了多少功率。
 

 

案例-FRED紅外熱成像的圖14
 

圖7 如圖1所示的茶壺案例的光線路徑。注意到有三條路徑到達了茶壺主體(.teapot7.Body.B-Spline Surface 4),它們是該系統中的路徑1,2和8,顯示為在第2行到最后一行。路徑數2是從探測器通過透鏡然后傳播到茶壺本體的直線路徑。注意一下這兩個路徑每個的功率差異,第1條路徑的0.25448和第2條路徑的0.000227487。第2條路徑是該路徑的散射部分;第1條路徑是直接熱貢獻。還可以查看該路徑的定義;示于圖9.

 

案例-FRED紅外熱成像的圖15

圖8 通過透鏡追跡的第二條路徑

 

案例-FRED紅外熱成像的圖16

圖9 示于圖8中路徑的光線路徑信息
 

5. FRED如何顯示輻照度或熱輻射圖?
 

默認條件下,FRED使用3圖顏色面板顯示輻照度或熱成像圖。左上圖是一個等距的偽彩色圖,顯示了在選擇的分析面上單位面積的功率。右邊有一個比例尺顯示了圖中的功率等級。右上角和右下角的面板是左上角面板的橫截面。點擊左上圖的任何部位會在水平和垂直方向創建三維圖的一個橫截面;該位置處的位置和輻照度信息顯示在左上角面板的左下角處。茶壺系統的輻照度圖如圖10所示。

 

案例-FRED紅外熱成像的圖17

圖10 茶壺系統的輻照度圖

 

只考慮一個面板,在那個面板上雙擊鼠標左鍵可以放大該圖。上面板正處于透視圖模式,為了創建一個二維圖,點擊鼠標右鍵彈出繪圖選項,選擇perspective view來創建一個如圖11所示的二維圖。

 

案例-FRED紅外熱成像的圖18

圖11茶壺的熱影像二維圖模式

 

6. FRED在熱應用中如何定義散射表面?
 

散射體文件夾包含了默認的和可選擇的用戶輸入的散射模型,可以應用到FRED中的任何表面。每個模型計算出合適的基于光入射角和局部表面法向方向的三維的雙向散射分布函數(BSDF)。BSDF可替換的定義是雙向反射分布(BRDF)和雙向透射分布函數(BTDF)。

 

FRED具有三個默認散射模型:黑朗伯(4%反射率漫射黑色),白朗伯(96%反射率漫射白色)和Harvey-Shack(拋光表面)。此外,參數化散射模型在FRED中同樣是可用的:黑色涂料(TIS),ABg,表面顆粒(Mie)和Phong。不止一個散射模型類型可以應用到一個表面。圖12是創建一個自定義散射定義的對話框菜單,注意到FRED最新的散射定義是一個腳本化的BSDF函數,在這里用戶定義了一個散射方程。FRED允許或禁止每個當前應用到該表面的光線追跡控制的反射和透射的散射元件。每個散射表面必須具有至少一個散射方向,這可以使用菜單欄選項Tools: Determine Scatter Importance Sampling進行自動設置,或者從表面對話框的散射標簽手動設置。每個散射方向應用到分配到該表面的每個散射模型。設置一個表面的重點采樣的對話框如圖13所示。通過在一個特定的或反射的方向、朝向一個特定的實體、閉合曲線、空間中的一點或一個橢圓體上定義目標,我們可以定義多個重點采樣目標。

 

案例-FRED紅外熱成像的圖19

圖12散射對話框顯示了多種方法定義散射

 

案例-FRED紅外熱成像的圖20
 

圖13重要性采樣的菜單選項應用到一個特定表面。如圖所示,多個散射屬性可以應用于多個重要性采樣目標。注意到在該圖中指定了一個米散射散射體屬性和一個Harvey Shack拋光表面散射體,另外定義了兩個重要性采樣目標,一個是指定了一個方向,另一個朝向一個表面-焦平面。

 

7. FRED如何記錄熱散射路徑
 

在高級光線追跡完成后,當選擇保持光線歷史選項,FRED就具有了一個可得到的雜散光報告。然后我們就可以從工具菜單請求一個詳述鬼像和散射路徑如何到達任何表面的雜散光報告。圖14顯示了具有創建/使用光線歷史文件選項和確定選擇的光線路徑選項的高級光線追跡對話框。圖15顯示了一個簡單Cassegrain望遠鏡的雜散光報告,該報告詳述了從一個光源以離軸5度角進入望遠鏡的雜散光。從報告中我們可以看到,在離軸5度角處的最大的雜散光光源是偏離第二個支架的側面,因為該路徑的功率的73%到達了探測器。總功率如第4列所示,表明只有0.00197290w從該路徑到達了探測器。

 

案例-FRED紅外熱成像的圖21

圖14 具有創建/使用光線歷史文件選項和確定選擇的光線路徑選項的高級光線追跡對話框

 

案例-FRED紅外熱成像的圖22

圖15 顯示了雜散光報告電子表格,可以用于追跡任何級次的散射和鬼像路徑。所示的報告部分顯示了詳述每個報告路徑的路徑數、光線數、功率百分比和總功率。

 

8. FRED如何在探測器上穿過多個像素點迭代來創建熱圖?
 

FRED具有一個內置的可編譯的Basic腳本語言。從Visual Basic腳本語言里,幾乎所有用戶圖形界面(GUI)命令是可用這里的。FRED同樣具有自動的客戶端和服務器能力,它可以被調用和并調用其他可啟動程序,如Excel。因此可以在探測器像素點上定義多個離軸光源,及在FRED Basic腳本語言里的For Next loops語句沿著探測器像素點向上和向下掃描來反向追跡光線。注意到在圖16中寫了功率信息到數據文件中,這樣可以使用三維圖表查看器調用和查看數據。

 

圖16 FRED Basic腳本語言創建茶壺的熱成像

'script for calculating thermal image map

'edited rnp 4 november 2005

'declarations

Dim op As T_OPERATION

Dim trm As T_TRIMVOLUME

Dim irrad(22,22) As Double 'make consistent with sampling

Dim temp As Double

Dim emiss As Double

'setup

nx = 21

ny = 21

numRays = 1000

minWave = 7 'microns

maxWave = 11 'microns

sigma = 5.67e-14 'watts/mm^2/deg k^4

Print ""

Print "THERMAL IMAGE CALCULATION"

detnode = FindFullName( "Geometry.detector.Surf 1" )

Print "found detector array at node " & detnode

srcnode = FindFullName( "Optical Sources.DiffDetArea" )

Print "found differential detector area at node " & srcnode

GetTrimVolume detnode, trm

detx = trm.xSemiApe

dety = trm.ySemiApe

area = 4 * detx * dety

Print "detector array semiaperture dimensions are " & detx & " by " & dety

Print "sampling is " & nx & " by " & ny

'reset differential detector area dimensions to be consistent with sampling

pixelx = 2 * detx / nx

pixely = 2 * dety / ny

SetSourcePosGridRandom srcnode, pixelx / 2, pixely / 2, numRays, False

Print "resetting source dimensions to " & pixelx / 2 & " by " & pixely / 2

'zero out irradiance array

For i = 0 To ny - 1

For j = 0 To nx - 1

irrad(i,j) = 0.0

Next j

Next i

'main loop

EnableTextPrinting( False )

ypos = dety + pixely / 2

For i = 0 To ny - 1

xpos = -detx - pixelx / 2

ypos = ypos - pixely

EnableTextPrinting( True )

Print i

EnableTextPrinting( False )

For j = 0 To nx - 1

xpos = xpos + pixelx

'shift source

LockOperationUpdates srcnode, true

GetOperation srcnode, 1, op

op.val1 = xpos

op.val2 = ypos

SetOperation srcnode, 1, op

LockOperationUpdates srcnode, false

'ray trace

CreateSource srcnode

TraceExisting 'draw

'radiometry

For k = 0 To GetEntityCount()-1

If IsSurface( k ) Then

temp = AuxDataGetData( k, "temperature" )

emiss = AuxDataGetData( k, "emissivity" )

If ( temp <> 0 And emiss <> 0 ) Then

ProjSolidAngleByPi = GetSurfIncidentPower( k )

frac = BlackBodyFractionalEnergy ( minWave, maxWave, temp )

irrad(i,j) = irrad(i,j) + frac * emiss * sigma * temp^4 *

ProjSolidAngleByPi

End If

End If

Next k

Next j

Next i

EnableTextPrinting( True )

'write out file

Open "C:\Documents and Settings\teapotimage.dat" For Output As #1

Print #1, "GRID " & nx & " " & ny

Print #1, "1e+308"

Print #1, pixelx & " " & pixely

Print #1, -detx+pixelx/2 & " " & -dety+pixely/2

maxRow = nx - 1

maxCol = ny - 1

For rowNum = 0 To maxRow ' begin loop over rows (constant X)

row = ""

For colNum = maxCol To 0 Step -1 ' begin loop over columns (constant Y)

row = row & irrad(colNum,rowNum) & " " ' append column data to row string

Next colNum ' end loop over columns

Print #1, row

Next rowNum ' end loop over rows

Close #1

Print "all done!!"

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1