李銅哨,孫文邦,黃心禹,章正宜,白新偉
(1.空軍航空大學, 長春 130022; 2. 94691部隊, 福建 龍巖 366200;3. 93307部隊, 沈陽 110000; 4.陸軍特種作戰學院, 廣州 510630)
無人機成像是一種低空遙感技術,具有成本低、靈活性高和數據采集快等優點,已經成為遙感信息獲取的重要手段[1-2]。隨著無人機平臺逐漸小型化發展,對高性能、小體積相機的需求增加[3]。其中,濾光片陣列多光譜相機因具有結構簡單、體積小、穩定性高、對平臺要求較低等特點被廣泛應用于無人機多光譜遙感[4]。
濾光片陣列多光譜相機同一時刻獲得的圖像數據為多波段圖像,需要通過圖像裁剪與拼接才能得到大區域單波段圖像。其中,圖像裁剪是濾光片陣列多光譜圖像數據處理的前提,直接關系到條帶圖像重疊率與拼接圖像質量。由于不同相機成像時濾光片陣列安裝位置差異與條帶邊緣光譜混疊現象,無法使用同一條帶有效區域對濾光片陣列多光譜圖像進行裁剪,一定程度上影響了多光譜圖像數據的后期處理。
目前,多光譜圖像處理技術研究相對較為成熟,如條帶圖像灰度差異校正[5-6]、圖像拼接[7-8]和單波段圖像配準[9-10]等處理技術,但從圖像處理角度確定條帶有效區域范圍的研究較少。相對于航空無人機成像技術,低空無人機飛行速度慢,相鄰時刻成像得到的濾光片陣列多光譜圖像重疊率較高、光譜混疊范圍相對較小,可直接從目視角度確定條帶有效區域范圍。此外,曹叢峰等[11]通過實驗室內光學測試得到濾光片陣列多光譜圖像各條帶有效區域位置,該方法雖然較為精確,但實驗要求較高且實時性較差。
因此,提出了一種基于圖像行/列像素灰度的航空濾光片陣列多光譜圖像條帶預處理算法,用于確定各波段條帶有效區域范圍,裁剪后的單波段圖像不存在光譜混疊,且能最大程度保持條帶圖像間重疊率。
濾光片陣列多光譜相機主要由鏡頭、濾光片陣列和面陣CCD探測器構成,其中,濾光片陣列是多光譜相機核心元件,一定程度上決定了成像質量。濾光片陣列放置在CCD探測器前面,通過濾光片上鍍制的帶通濾光膜將CCD探測器劃分為若干個光譜帶,每次曝光獲得目標區域的多波段圖像,如圖1所示(圖中顯示為8個濾光片)。

圖1 濾光片陣列多光譜相機成像原理Fig.1 Imaging principle of filter array multispectral camera
由于多光譜相機的多波段圖像均是在同一陣面上成像,需要進行圖像拼接才能夠形成一幅單波段圖像,條帶圖像裁切拼接過程如圖2所示。

圖2 濾光片陣列多光譜數據面陣處理Fig.2 Area array processing of filter array multispectral dataset
濾光片陣列中每個帶通濾光膜只能通過一個譜段的圖像,條帶之間設有隔離帶,確保不會相互干擾。但由于成像光束具有一定口徑,相機成像時相鄰條帶濾光片存在部分光束交疊,導致CCD探測器對應區域是2個單色光混合而成,即波段混疊區域[12],如圖3所示。

圖3 CCD靶面混疊區域示意圖Fig.3 Schematic diagram of CCD target surface mixing area
而波段混疊是采取濾光片陣列成像不可避免的現象,混疊區域與CCD探測器與濾光片陣列間的距離有關[13],一般在200個像元內,即每一條帶上下100個像元為光譜混疊區域,如圖4所示。

圖4 波段混疊區域Fig.4 Band mixing area
從圖4中可以看出,確定條帶有效區域范圍時,首先要去除條帶中光譜混疊區域,否則會影響拼接后圖像地物光譜信息的準確性。
此外,由于單波段條帶圖像為窄帶寬圖,條帶重疊率較低,為了提高條帶拼接質量,裁剪單波段條帶圖像時,應最大化保證條帶圖像重疊率。
濾光片陣列多光譜圖像條帶預處理主要包括求取條帶圖像灰度極值點、計算光譜混疊范圍和確定條帶圖像有效區域3個步驟。
構建濾光片陣列多光譜圖像條帶模板首先要確定條帶灰度極值點,即光譜混疊區域的中間位置。由于不同地物在同一波段下的光譜響應值不同,利用圖像中一行/列像素確定條帶灰度極值存在較大誤差。此外,不同時刻獲得的多光譜圖像條帶灰度極值點位置并不相同。
因此,為保證序列多光譜圖像各條帶對應的灰度極值點一致,選擇對多幅濾光片陣列多光譜圖像的行/列像素灰度均值進行求和,然后計算圖像行/列像素灰度平均值,并以一維曲線進行顯示,如圖5所示。

圖5 行/列像素灰度變化曲線Fig.5 Grey scale variation curve of row/column pixel
從圖5中可以明顯看出,相鄰條帶之間的光譜混疊區域像素的灰度變化曲線存在灰度極小值,可以看成光譜混疊區域的中間點。
一般情況下,濾光片陣列中間排列的濾光片等寬,而直接利用行/列像素灰度計算各條帶灰度極值點無法保證條帶有效區域寬度相同。因此,文中首先利用多光譜圖像行/列像素灰度分別計算第1條帶和第n條帶的灰度極值點k1、kn-1,然后對灰度極值點k1、kn-1進行作差并進行均分處理,得到多光譜圖像中間條帶灰度極值點ki,如式(1)所示:

(1)
式中,n為多光譜圖像波段數,i∈(2,n-2)。
對于濾光片陣列多光譜相機而言,條帶有效區域差別主要是濾光片安裝位置變化,即條帶圖像灰度極值點存在偏差。隨著鍍膜技術的快速發展,采用同一種濾光片陣列獲得的多光譜圖像中條帶光譜混疊范圍大致相同。
因此,每種類型濾光片陣列只需確定一次多波段圖像中條帶光譜混疊區域范圍f。其中f的寬度直接關系到條帶圖像的重疊率,對于重疊率較低的條帶圖像,要盡可能保留條帶有效區域。
為了精確計算條帶混疊區域寬度,利用條帶圖像中間區域灰度最小值分別計算條帶圖像左右兩側有效區域截止點,具體過程如下:
首先,設各條帶光譜混疊范圍為q個像素,利用灰度極值點ki計算條帶灰度最小值mi,依次計算條帶灰度極值點ki左側和右側條帶圖像有效區域截止點xi、yi。其中,xi、yi分別為條帶圖像灰度最小值mi與對應條帶灰度變化曲線交點,如圖6所示。

圖6 條帶灰度截止點Fig.6 Strip grey scale cut-off point
圖6中紅色點為條帶中間區域灰度最小值,藍色點為條帶有效區域截止點。分別計算ki與xi、yi的差值fxi、fyi,取最大值作為序列圖像兩側光譜混疊區域寬度f1、f2。
利用條帶圖像光譜混疊區域寬度f1、f2和條帶灰度極值點ki可計算出各條帶有效區域范圍,其中[ki-f1,ki+f2]為光譜混疊區,[ki-1+f2,ki-f1]為條帶有效區域,如圖7所示。

圖7 條帶有效區域Fig.7 Effective area of strip
以8波段濾光片陣列多光譜圖像為例,條帶圖像光譜混疊沿垂直方向分布,設多光譜圖像大小為r行c列,則各波段有效區域頂點坐標如表1所示。

表1 各波段有效區域頂點坐標Table 1 Coordinates of effective area vertices in each band
為便于圖像后期處理,可按照波段條帶有效坐標構建條帶圖像模板,如圖8所示。通過將圖像模板與原始圖像相乘得到不包含光譜混疊的多條帶圖像。

圖8 各條帶有效區域模板Fig.8 Template of the effective area for each strip
為了驗證本文提出的濾光片陣列多光譜圖像條帶預處理算法的可行性,采用某型航拍無人機濾光片陣列多光譜相機拍攝的2組多光譜圖像進行實驗驗證,其中,實驗圖像大小為4 008像素×5 100像素,如圖9所示。

圖9 實驗圖像Fig.9 Experimental images
以數據1為例,條帶局部放大圖如圖10所示,可以看出,相鄰條帶之間存在明顯的波段混疊。

圖10 條帶混疊區域Fig.10 Strip mixing area
對2組實驗圖像分別計算行像素灰度均值,并以一維曲線進行顯示,如圖11所示。

圖11 圖像行像素灰度變化曲線Fig.11 Image row pixel grayscale change curve
可以看出,2組實驗圖像的條帶灰度極值點位置并不相同,同一條帶有效區域位置存在差異,且第2波段光譜混疊范圍較小。
為了精確得到條帶有效區域范圍,利用各行像素灰度均值分別計算實驗圖像中條帶灰度極值點k7和k1,并依次得到中間條帶灰度極值點k2、k3、k4、k5、k6。由于第2波段光譜混疊范圍較小且灰度值較低,可不考慮第2波段光譜混疊區域。然后根據條帶圖像最低點計算條帶圖像有效區域截止點,得到各條帶光譜混疊區域范圍。如表2所示。

表2 條帶光譜混疊范圍Table 2 Spectral mixing range of strips
表2中,數據1、2的第一列代表直接計算得到的條帶灰度極值點,第二列代表本文方法所計算的灰度極值點,第三、四列分別代表灰度極值點左右兩側的光譜混疊范圍。從表2中可知,兩組數據灰度極值點存在將近20個像素的偏差,直接計算得到的條帶灰度極值并不是等間隔分布,無法保證裁剪后條帶圖像等寬。
另外,數據1和數據2左右兩側光譜混疊范圍的最大值分別為46、37和44、42,求取平均值后條帶圖像左右混疊寬度為45、40,作為8譜段濾光片陣列多光譜圖像光譜混疊范圍。然后,依次計算圖像中各條帶有效區域頂點坐標,通過構建條帶圖像模板得到條帶有效區域圖像,其灰度變化曲線如圖12所示。

圖12 條帶有效區域灰度Fig.12 Grayscale of the effective area of the strip
其中,圖12(a)、圖12(b)分別對應數據1、數據2。從圖12可知,利用本文方法得到的條帶寬度一致,且條帶有效區域不存在光譜混疊區域,而且最大程度保留了條帶圖像邊緣重疊區域像素。
為了說明本文算法的可行性,對數據1、數據2分別采用表2中對應的條帶灰度極值點確定條帶有效區域,并與本文結果進行對比,條帶有效區域范圍如表3所示。其中,對比1、對比2利用直接計算得到的條帶灰度極值點,光譜混疊寬度分別為45、40和50、50。

表3 各條帶有效區域寬度Table 3 Width of the effective area of each strip
由表3可知,數據1和數據2中對比2方法采用固定的光譜混疊寬度得到的各條帶有效區域寬度最窄,較本文算法條帶有效區域寬度約窄15像素左右;而對比1方法中采用的光譜寬度與本文算法一致,雖然計算的各條帶有效區域寬度與本文算法較為相近,但得到的波段2至波段7條帶有效區域寬度并不相同。
為了進一步說明本文算法的有效性,以數據2中第4波段條帶圖像為例,利用上述方法計算的條帶有效區域范圍分別計算條帶圖像行像素灰度變化曲線,如圖13所示。

圖13 條帶有效區域對比Fig.13 Comparison of effective areas of strips
由圖13和表3可知,雖然對比1計算得到的條帶有效區域寬度與本文算法相近,但條帶邊緣處仍存在部分光譜混疊,如圖13中箭頭所指的區域;對比2在去除光譜混疊區域同時將部分有效區域也裁剪掉,如圖13中虛線圓圈處,故條帶有效區域范圍最少。而本文算法得到的條帶有效區域在條帶中間區域,行像素灰度均在主要集中在0.52附近,且行方向的重疊區域像素較2種對比方法多。
由此可知,本文中基于圖像行像素灰度均值確定條帶圖像有效區域,不僅去除了條帶中光譜混疊區域,且最大程度上保留了條帶圖像邊緣像素,有效解決了濾光片陣列多光譜圖像條帶有效區域無法精準確定問題
針對航空濾光片陣列多光譜圖像條帶裁剪范圍確定問題,提出基于行像素灰度的多光譜圖像條帶預處理算法,通過圖像行像素灰度均值計算條帶灰度極值點與最大光譜混疊范圍,用于確定條帶圖像有效區域的四個頂點坐標。通過實驗對比,表明條帶預處理算法能夠最大限度保留邊緣區域像素、提高條帶重疊率,且有效區域像素灰度不存在光譜混疊,可以滿足條帶圖像的后期處理及應用需求。