吳夢添, 王慶康
(上海交通大學薄膜與微細技術教育部重點實驗室,上海200240)
光譜儀是一種用于測量寬范圍電磁波譜中光波長的設備,利用色散光學元件(棱鏡或光柵)可以獲取測試光的光譜數據,從而分析出光源、樣品的光學特性和物質的成分信息,廣泛應用在工業檢測、食品安全、環境監控等領域[1-4]。雖然光譜儀的功能很多,但商業光譜儀的價格昂貴,難以普及被普通群眾使用。為了通過簡單的條件和設備就能模擬出光源的可見光光譜分布,王軍等[5]提出了用智能手機拍攝透射光柵分光后的光譜圖,并用灰度公式模擬光譜分布,同時設計的簡易光譜儀可以應用到教學實驗當中。本文在此基礎上,改進了簡易光譜儀的結構,同時通過標定相機的亮度響應曲線改進了實現光譜分布的算法,從而使最終模擬出的光譜分布更加準確。最后,用設計出的光譜儀測試了各種顏色LED產品,得到LED光源的光譜分布,從而可以根據藍光分量峰值判斷LED產品對人眼有無危害。
消費級相機光譜儀原理圖如圖1所示,根據透射光柵分光原理實現。透射光柵的分光公式[6]如下:

入射光以角度θi入射到周期為a的透射光柵上,從光柵透射出的m級衍射光出射角度為θm。根據式(1),存在0級和1級衍射光(2級及以上強度很弱可以忽略)。實驗需要的是1級衍射光,因為不同波長的1級衍射光會有不同的出射角,如380 nm的1級衍射紫光的出射角大于780 nm的1級衍射紅光,所以1級衍射光的光譜被RGB相機記錄后,可以提取出測試光源可見光范圍的光譜圖,其中測試光源的可見光光譜信息就包含在記錄的光譜圖的像素信息中。

圖1 消費級相機光譜儀原理圖
本文設計的消費級相機光譜儀結構如圖2所示。消費級相機光譜儀整體為一暗盒,內壁顏色涂成黑色,一端為圓孔擋板,另一端斜面上是周期為2 μm的透射光柵。根據式(1),以可見光中間波長580 nm為參考位置,當斜面傾斜角為73°時,也即入射角度θi為17°,計算得到出射角 θλ=580nm=0.13°,幾乎與二維光柵垂直。這樣,0級衍射光直接沿入射角方向出射而1級衍射光垂直于透射光柵出射,從而減少0級衍射對1級衍射的影響,并且1級衍射光垂直入射到相機可以提高采集光譜信息的準確度。

圖2 消費級相機光譜儀結構
因此,本文設計的消費級相機光譜儀整體的運作過程為:被測光源透過圓孔擋板照射到透射光柵上,分光后相機鏡頭采集光譜數據,配合圖像處理算法,反演出光源可見光光譜分布圖。
自然界中亮度級別可以達到10 000級[7],而相機只能記錄256個強度級別,因此,相機電路會壓縮較高和較低級別光照強度對應的存儲空間,從而保留更多的中間級別亮度存儲空間,這也是符合人眼對光亮度響應是非線性的特征(Weber-Fechner Law)[8]。由于消費級RGB相機(以CMOS為主)記錄的像素值和現實生活的光輻射強度值不成線性關系,因此得到消費級相機的亮度響應曲線,是將采集的像素信息反演為原光源的相對輻射強度的關鍵。
本文參考Debevec等[9]提出的關于實際像素值的相機亮度曲線標定方法,根據同場景下不同曝光時間拍攝得到的像素值間的關系,擬合出相機像素值和場景相對輻射強度之間的非線性關系。推導原理依據相機將光信號轉化為數字信號的原理,原理圖如圖3所示。

圖3 相機將入射到鏡頭前光信號轉化為像素值原理圖
實際光信號在曝光、顯影、掃描、數字化和重映射之后成為數碼相機的像素值。圖中:L表示單個光信號實際亮度;E表示光照度;X表示曝光量;Z表示映射出的像素值。由相機的倒易律可知,曝光量Xij等于光照度Ei乘以曝光時間Δtj,于是可得出實際光照度值與像素值的映射關系:

對上式兩邊取反函數再取對數可得:

為了簡化表達式,令lnf-1(Zij)=g(Zij),得到的新的等式:

此時Zij和Δtj已知,那么求出Ei和對應關系g即可。由于Zij取值是離散的并且有限的(0~255),因此求g只需要找出g在域里的對應關系g(Z)即可。令Z的極限值為Zmin和Zmax,那么此問題可以歸結為尋找(Zmax-Zmin+1)個g(Z)的值,使之滿足如下最小化條件:

上式第1項為等式(2)的偏差平方和,N為像素點個數,P為曝光次數;第2項是關于g的二階導數平方和的平滑項,以確保函數g是平滑的,λ是平滑項的加權值。由于g光滑且離散,故有:

于是求解g和Ei問題變成了一個求解線性最小平方根問題[10]。但是在靠近極限像素值的曝光度非常不穩定,會產生嚴重的噪聲,在最亮和最暗的點得到的像素點往往是不可靠的值。于是目標函數中加一個權值來約束,使目標函數更穩定和平滑:

代入公式:

將最后得到的公式通過最小二乘法求解得到(Zmax-Zmin+1)個g(Z)值,就是相機的亮度響應離散化曲線。然后把求出的g(Z)代入式(2),反求出光照度值:

而光源輻射強度IE與光照度Ei的關系為:

其中:d為光源到相機的距離,由于同一個光譜是相機距離光源相同距離d拍攝的,故數值上等于相對輻射強度值。
由上面的推導公式,需要不同曝光時間Δtj拍攝下的圖片中的像素值Zij。在進行靜態場景多曝光拍照前,固定相機位置以及基本參數,如感光度、對焦值、白平衡值等,拍攝圖片如圖4所示。之后選擇曝光時間序列中間位置的曝光圖片作為源圖片,在這張源圖片中分別隨機地選擇三通道中像素值從0~255的值的像素坐標,將不同曝光時間圖片中相同坐標位置的像素值代入式(2),用最小二乘法求解就可以分別得到三通道的相機亮度響應函數,本文相機的亮度響應曲線如圖5(a)所示。得到的亮度響應曲線g(Z)代入式(3)中,得到像素與相對輻射強度的對應關系如圖5(b)所示。

圖4 曝光時間分別對同靜態場景曝光的一組照片

圖5 相機三通道像素值與場景亮度之間的非線性關系
由于在暗盒中拍攝,相機噪聲影響會很顯著,所以應用矢量中值濾波算法[11]消除圖片中的噪聲。矢量中值濾波通過比較m×m大小的窗口W={Ci}中所有像素矢量Ci=[Ri,Gi,Bi]間的距離和di,然后選擇di最小的所對應的向量值[Ri,Gi,Bi]作為這個窗口的像素值。
圖像噪聲處理后,由于截取的圖片中光譜的不同波段寬度不均勻,故對縱軸像素值再使用矢量中值排序,選擇中間位置的像素值代表這一縱列的像素值,然后對得到的一維橫軸每相鄰的3個坐標位置的3通道分別通過權重均值濾波處理,選擇的權重比為1∶2∶1,公式如下:

其中,x為橫軸坐標。
將最后校正得到的像素值代入式(3)中,求出橫軸上三通道的相對輻射強度分布。
得到了三通道的相對輻射強度分布后,通過三通道直接相加得到光源的光譜分布。由于三原色原理的缺陷[12],光源可見光波長上的單色光并不能完全由三原色合成。但在本實驗中,三通道中輻射強度最大的單通道相對輻射強度對光譜分布貢獻最大,并且在光譜分布峰值區域的這種貢獻更加明顯,所以三原色缺陷對模擬的整個光譜分布峰值區域影響不大。但對較大的相對輻射強度的兩個單通道在波長軸上交點附近誤差較大。
得到光譜分布后需要對光譜分布波長定位。根據透射光柵式(1),假設進入暗盒中的光線是平行光,那不同測試光源中相同波長的一級衍射光的散射角度是不會發生改變的,也即每次保持相機拍攝位置不變,可以利用已知波長分布的測試光作為標準分布來定位其他測試光的未知波長分布。而保持相機拍照位置不變的有效等價方法是在斜面上設置靜態參考點,每次拍照前將相機預覽界面設定的固定點(如中心點)對準靜態參考點,然后對光譜拍照,之后就可以根據參考點定位拍照的已知波長分布的光譜對模擬的未知波長分布定位。
最后對波長定位后的相對輻射強度分布歸一化處理,反演出測試光源最后的光譜分布。
現實生活中,LED照明產品由于節能環保且壽命長的優點,在照明領域得到迅速發展,也逐漸開始步入室內照明[13]。大部分白光LED照明產品是通過藍黃基色或者紅綠藍三原色合成而來的[14],所以藍光是白光LED中不可或缺的組成部分。但藍光在其高能量狀態下可以穿透人眼的晶狀體到達視網膜,而對視網膜造成光化學損害[15]。然而部分生產廠商為了提高LED的顯色指數,會提高藍光所占比重,從而生產出高色溫白光LED,這種LED發出的光會對人體造成光生物輻射的潛在危險[16]。但是人眼正常情況下是分辨不出白光LED的藍光成分,所以即便廠家生產的LED藍光指數超出規定指標,消費者也是無法輕易察覺出來的。但相對于用光譜儀高成本地做光譜定標,消費者用本文設計的低成本、便利、操作簡單的消費級相機光譜儀就能清楚直觀地顯示LED產品的藍光分量。
本文用消費級相機光譜儀測試了各種顏色LED燈的光譜分布,并且和標準光譜儀測試后的光譜分布圖作比較,模擬結果如圖6(a)、(c)、(e)所示。
圖6(a)是冷白LED的模擬光譜分布圖,從分布圖可以看出,兩個波峰是很明顯的,其中藍色波段峰值很高,所以長時間人眼暴露在這種LED光照下,是對人眼是有害的。同理,圖6(e)中紫紅LED的藍光成分也很高,不能作為室內照明。而圖6(c)暖白LED占主要成分為紅波段和綠波段,是可以作為室內照明的。同時從整體上看,模擬的光譜分布圖整體上接近準確的光譜分布圖,所以用這種消費級相機光譜儀是可以作為LED光源可見光光譜檢測的。

圖 種 可見光光譜模擬測試對比圖
本文利用光柵衍射原理結合消費級相機的采集圖像,算法數據處理設計出了一種簡易光譜儀,可測量光源的可見光光譜分布,在此基礎上實現了各種顏色LED燈的光譜分布,并因其易制、可視化效果好、成本低等特點,可用來模擬光源的可見光光譜分布。