楊逸峰,井麗紅,楊世坤,姜麗輝,左 樂
(上海航天控制技術(shù)研究所·上海·201109)
近些年,我國的空間探測能力發(fā)展得較快。作為一種空間探測的重要手段,可見光相機可利用空間目標(biāo)的太陽反射光進行成像,其受光照條件的影響較大。但是,由于可見光相機具有成像分辨率高、探測距離遠、測量精度高等優(yōu)點,被廣泛地應(yīng)用于空間目標(biāo)監(jiān)視成像領(lǐng)域。由于可見光相機面陣大、面元多、分辨率高、數(shù)據(jù)量大,在算法處理上,本文選用了快速、有效、相對簡單的方法處理數(shù)據(jù),還原了三基色圖像,平衡了色差,使圖像的視頻效果更加清晰。
顏色插值算法是相機根據(jù)采集到的原始數(shù)據(jù)恢復(fù)出全彩色數(shù)據(jù)的核心算法[1-3],雖然相關(guān)算法已被提出了很多年,并在國內(nèi)外得到了廣泛的應(yīng)用,但是追求高性能、高速度的時代,對算法的性能和復(fù)雜度有了更高的要求,而目前已提出的一些算法無法很好地平衡算法對高性能、低復(fù)雜度的要求。就現(xiàn)狀而言,如何在保證算法插值質(zhì)量的前提下,降低算法的復(fù)雜性,已成為現(xiàn)實的核心問題。本文將顏色插值法和白平衡法[4-5]兩種功能算法進行了結(jié)合,對可保持高性能同時又可保持較低復(fù)雜度的插值算法和白平衡方法進行了研究,提高了算法的實用性。
可見光圖像的成像過程為:光束經(jīng)光學(xué)系統(tǒng)聚焦到探測器后,互補金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semi-Conductor,CMOS)探測器對可見光積分進行光電轉(zhuǎn)換[6],接著將電信號傳至信息處理電路做成像處理,信息處理電路采用的是由信號處理器(Digital Signal Processing,DSP)和現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)這兩個主要器件構(gòu)成的硬件平臺架構(gòu)。經(jīng)信息處理電路處理后的圖像數(shù)據(jù)通過低電壓差分信號(Low-Voltage Differential Signaling,LVDS)高速輸出,用于顯示圖像[7],相機的結(jié)構(gòu)如圖1所示。成像過程的數(shù)據(jù)流為FPGA控制模數(shù)轉(zhuǎn)換器(Analog to Digital Converter,A/D)采集探測器輸出的原始數(shù)據(jù),隨后通過外部存儲器接口(External Memory Interface,EMIF)將采集的數(shù)據(jù)輸送到DSP進行算法處理,處理后再將圖像數(shù)據(jù)通過EMIF傳送給FPGA,最后由LVDS輸出圖像。
圖1 相機的結(jié)構(gòu)Fig.1 The makeup part of camera
作為空間目標(biāo)的監(jiān)視設(shè)備,由于外太空的電磁環(huán)境復(fù)雜,可見光相機應(yīng)選用可靠性高、穩(wěn)定性好及實時性高的成像算法來實現(xiàn)對圖像信息的處理。在探測器采集到原始數(shù)據(jù)后,由FPGA對數(shù)據(jù)做出自動曝光控制和去噪等預(yù)處理,接著由DSP對數(shù)據(jù)做出成像處理,算法主要包括顏色插值、白平衡、圖像格式壓縮等。本文重點介紹還原目標(biāo)的三基色和平衡色調(diào)的方法。
相機選用cmv4000探測器,圖像面陣大小為2048×2048,探測器采集的原始信號為10位有效數(shù)據(jù)。由FPGA完成自動曝光控制、去噪和數(shù)據(jù)有效位提取等預(yù)處理,再由DSP完成顏色插值、白平衡、jpeg壓縮等算法處理,整個算法的流程圖如圖2所示。經(jīng)FPGA處理后傳送至DSP的是8位Bayer格式的灰度數(shù)據(jù)。隨后,由DSP進行插值處理,將Bayer格式數(shù)據(jù)還原為真彩色RGB數(shù)據(jù),最后用白平衡方法來調(diào)節(jié)因光線明暗不同而導(dǎo)致的目標(biāo)圖像的變化。
圖2 整個算法的流程圖Fig.2 The flow chart of algorithm
探測器采集的數(shù)據(jù)為Bayer格式的數(shù)據(jù),該數(shù)據(jù)的特征為每2×2的像素矩陣由2個綠色分量、1個紅色分量、1個藍色分量的像素單元構(gòu)成[8],其結(jié)構(gòu)如圖3所示。由于探測器表面覆蓋顏色濾波陣列,可見光三原色分量經(jīng)過濾鏡后,探測器上的每個像素點僅得到一種顏色分量值。為了獲得全彩色圖像,首先需要對Bayer格式數(shù)據(jù)進行顏色插值恢復(fù)。目前,顏色插值算法較多,可分為雙線性插值算法、鄰域插值法、色比恒定法、基于梯度的方法及自適應(yīng)插值法等多種方法[9-10]。本文先后對雙線性插值算法、鄰域插值法及基于梯度的插值方法進行了算法實現(xiàn)及測試,最后以插值效果和實時性為準(zhǔn)則,選取有效的方法在可見光相機的硬件平臺上對Bayer數(shù)據(jù)進行了處理。
圖3 Bayer數(shù)據(jù)格式Fig.3 The datasheet on Bayer
上述提及的顏色插值方法均是利用鄰域像素值來計算當(dāng)前像素缺少的顏色分量。雙線性插值算法是還原RGB三基色較為經(jīng)典的方法[11-12],是所有RGB插值方法的基礎(chǔ)。其實現(xiàn)方式為針對某個像素的某一個色彩通道,采用周邊像素通道的平均值作為當(dāng)前顏色的分量值。鄰域插值方法采用相鄰像素的顏色分量值來填補當(dāng)前的顏色分量。從圖4的數(shù)據(jù)格式來看,與藍色、紅色顏色分量相比,綠色分量占的比重較大,反映了更多的細節(jié)信息。梯度插值算法根據(jù)綠色分量的梯度信息進行色彩分量的插值處理。圖3所示為一塊6×6的Bayer數(shù)據(jù)結(jié)構(gòu)單元。R、G、B分別代表當(dāng)前像素分量顏色為紅色、綠色和藍色。對于某一像素而言,缺少的另外兩種顏色分量需用插值算法估計像素值。
鄰域插值算法的實現(xiàn)過程為:以R23位置處的像素為例,其B23、G23分量的插值公式如下
G23=G13或G22或G24或G33
B23=B12或B14或B32或B34
(1)
以G22位置處的像素為例,其R22、B22分量的插值公式如下
R22=R21或R23
B22=B12或B32
(2)
以B32位置處的像素為例,其G32、R32分量的插值公式如下
G32=G22或G31或G33或G42
R32=R21或R23或R41或R43
(3)
梯度插值算法更符合人的視覺系統(tǒng)對邊界信息及色彩變化的敏感性。一般情況下,在Bayer轉(zhuǎn)RGB的算法中,鄰域插值算法因計算簡單、運算量小且滿足一般的彩色變化需求而在工程項目中被廣泛應(yīng)用。一些特定的目標(biāo)(如柵格圖像),由于邊界信息較多,采用梯度法能得到滿意的效果。梯度插值算法是沿著邊界方向進行插值的,綠色分量占據(jù)了總像素的一半,細節(jié)信息較多。在插值時,應(yīng)優(yōu)先考慮對G分量的恢復(fù)。首先,計算梯度來檢測邊界的方向。設(shè)水平方向的梯度為ΔH,垂直方向的梯度為ΔV。以B34位置處的像素為例,用一階微分來確定邊界方向,梯度插值算法的實現(xiàn)為
ΔH=|G35-G33|
ΔV=|G24-G44|
(4)
(5)
以G22位置處的像素為例,其B22、R22分量插值的公式如下
(6)
插值后的圖像常常會有偏色及明暗變化,可選用白平衡方法來調(diào)節(jié)。白平衡的算法較多,由于太空目標(biāo)色彩較少,宜選用基于灰度世界法的白平衡算法[13-15]。白平衡的主旨是使整幀圖像亮度適中,解決因插值及光線變化導(dǎo)致的圖像偏色及明暗變化的問題。其方法步驟如下
(1)計算R、G、B 三種顏色分量的平均值,設(shè)為Ra、Ga、Ba;
(2)計算R、G、B 三個通道的增益系數(shù),設(shè)為Kr、Kg、Kb;
(3)對R、G、B 三個顏色分量進行校正,R′、G′、B′為校正后的值;
R′=R·Kr,G′=G·Kg,B′=B·Kb
用C語言編寫代碼實現(xiàn)上述論述的方法,將程序下載到可見光相機上驗證該方法的實際效果。為了證明顏色插值算法的有效性,用可見光相機對彩色板進行拍圖,通過拍出的實際圖像效果來 判斷相應(yīng)的插值方法的效果是否可行。圖5所示為未經(jīng)顏色插值算法處理的灰度圖像。圖6(a)、圖6(b)、圖6(c)所示為用雙線性插值法、鄰域插值法及梯度插值法所得的彩色圖像。圖6(d)、圖6(e)、圖6(f)為用灰度世界法對圖6(a)、圖6(b)、圖6(c)進行的色彩校正。從圖6可以看出鄰域插值法、雙線性插值法、梯度插值法均可有效地對Bayer數(shù)據(jù)進行插值處理,生成彩色圖像。同時,對3種插值方式進行了理論研究分析。對于一般目標(biāo)而言,目標(biāo)的棱角等邊角信息較多,鄰域插值、雙線性插值對于邊角信息的顏色的恢復(fù)效果不理想,而梯度法對于邊界信息顏色的插值處理更符合實際。最典型的目標(biāo)是柵格圖像,圖8所示為使用梯度法插值恢復(fù)RGB數(shù)據(jù),隨后用灰度世界法對彩色圖像數(shù)據(jù)進行了白平衡處理。
圖5 彩色板的灰度圖像Fig.5 The gray image of color ban
(a)鄰域插值法原圖
(b)雙線性插值法原圖
(c)梯度插值法原圖
(d)鄰域插值法校正圖
(e)雙線性插值法校正圖
(f)梯度法插值校正圖
經(jīng)過驗證可知,梯度插值法不但能還原目標(biāo)真實的色彩信息,且對于邊界信息的處理更符合工程需求。選用梯度法及灰度世界法應(yīng)用于該監(jiān)視相機的算法軟件上,隨后用該監(jiān)視相機對外景和模擬太空環(huán)境下的目標(biāo)進行拍圖,拍出的結(jié)果如圖7所示。
(a)外景圖像
(b)模擬太空環(huán)境目標(biāo)圖圖7 相機拍攝的圖像Fig.7 Image taken by camera
圖8所示為可見光相機對室內(nèi)黑白柵格圖像進行的測試。從輸出圖的視覺效果可以看出,柵格圖像邊界規(guī)則,真實地還原了黑白條形圖。
圖8 黑白柵格圖像Fig.8 Black and white grid image
本文研究了基于Bayer格式的彩色圖像數(shù)據(jù)恢復(fù)方法,通過雙線性插值、鄰域插值等多種方法進行了對比分析,選用基于梯度的插值方法對有棱角信息的原始數(shù)據(jù)進行色彩數(shù)據(jù)插值處理的效果較好。隨后,用灰度世界法修正了偏色現(xiàn)象,還原了空間目標(biāo)的色彩信息。試驗圖像表明,產(chǎn)品用該種結(jié)合方法對多組場景目標(biāo)進行成像,圖像清晰,像素分辨率高,拍攝的場景圖像視覺效果好。結(jié)果表明該方法有效,可用于拍攝空間飛行器的交會對接過程。