張科航,宋鴻飛,譚文,曹文曉,郭飛
(長春理工大學(xué) 光電工程學(xué)院,長春 130022)
紅外焦平面陣列作為紅外熱成像的主要發(fā)展方向,因其靈敏度高、探測能力強、對惡劣氣候條件適應(yīng)性強[1]等特點,已廣泛應(yīng)用于軍事、航天、民用等領(lǐng)域。新冠疫情以來,紅外熱成像系統(tǒng)再次凸顯其重要作用,許多場所設(shè)置了免接觸自動測溫,迅速有效地檢測出體溫異常,從而快速地阻斷疫情的傳播,為疫情的防控做出了很大的貢獻。
然而,由于非均勻性技術(shù)水平的限制,不同的焦平面陣列像元具有不同的響應(yīng)速率,從而產(chǎn)生定模噪聲,嚴(yán)重影響紅外系統(tǒng)的成像質(zhì)量。特別是焦平面陣列的列像素使用相同的積分讀出電路,導(dǎo)致成像時產(chǎn)生列條紋噪聲。此外,由于固定噪聲會隨著溫度和時間的變化而變化,因此無法對非均勻性進行精確的校準(zhǔn)[2]。
目前,非均勻校正算法分為兩個方向:一種是基于標(biāo)定的非均勻校正(calibration-based),典型的方法有兩點校正法、多點校正法和擋板校正法。這種方法的優(yōu)點是計算簡單,校正效果明顯。缺點是需要周期性地通過輻射源[3]或擋板提供均勻的場景作為校正源,在實際應(yīng)用中,這種方法會周期性地造成目標(biāo)的損失。
另一種方法是基于場景的非均勻校正(scene-based),典型的方法有:Scribner 提出的神經(jīng)網(wǎng)絡(luò)方法[4];Narendra 等人[5]提出的常數(shù)統(tǒng)計方法;Yang 等人[6]將人工神經(jīng)網(wǎng)絡(luò)移植入FP6A;牟新剛等人[7]提出了殘差編解碼網(wǎng)絡(luò);Yan 等人[8]提出了基于圖像配準(zhǔn)的方法;Qian 等人[9]提出的空間低通和時間高通算法。這種方法根據(jù)圖像本身的統(tǒng)計特性自適應(yīng)估計增益和偏差系數(shù),容易受到場景的影響從而產(chǎn)生鬼影等問題。
圖1 為非均勻校正前后對比圖,傳統(tǒng)的紅外非均勻校正算法在穩(wěn)定性與校正的質(zhì)量上還存在不足,影響紅外探測器的成像質(zhì)量,后期的檢測識別與跟蹤算法的精度受到影響[10]。
圖1 非均勻校正前后對比
本文提出了一種基于場景的非均勻校正算法來去除非均勻性列條紋噪聲和隨機噪聲。非均勻性一般是一種固定的模式噪聲,嚴(yán)重影響紅外成像系統(tǒng)的圖像質(zhì)量,并在原有非均勻性的基礎(chǔ)上隨時間和溫度的變化而變化。傳統(tǒng)的殘差計算忽略了非均勻性的特點,場景細(xì)節(jié)的變化會被誤認(rèn)為非均勻性而被過濾掉。該方法假定單列包含足夠的成像信息,列元素之間的固定噪聲相互獨立,相互影響可以忽略,目標(biāo)列元素與相鄰列元素之間對場景成像存在正態(tài)分布影響,目標(biāo)列元素的成像可以用相鄰列元素表示。該方法利用非線性濾波濾除單列的非均勻性和隨機噪聲,得到單幀NUC 圖像,并計算與原始圖像的實際殘差。然后利用前一幀的預(yù)測殘差和實際殘差得到當(dāng)前殘差。最后,根據(jù)全局運動參數(shù)控制算法自適應(yīng)計算增益系數(shù)和偏置系數(shù),以減小偽影。與其他自適應(yīng)校正方法相比,該方法能在一定程度上保護圖像邊緣,收斂速度更快。
紅外圖像相鄰列具有相似的灰度分布[11-13]。假設(shè)單列包含足夠的成像信息,列元素之間的固定噪聲相互獨立,相互影響可以忽略,目標(biāo)列元素與相鄰列元素之間對場景成像存在正態(tài)分布影響,目標(biāo)列元素的成像可以用相鄰列元素表示。假設(shè)圖像有M行N列(j∈[0,N- 1 ],i∈[0,M- 1])。首先,算法需要對圖像的每一列進行排序,以獲得序列Seqj[i],并保持原始索引為Indexj[i]。然后用高斯核濾波,計算每列序列為Seqgauss[i],通過高斯核濾波得到第j列變換序列,如公式(1)所示:
其中,d= 3σ;k是相鄰列與第j列之間的距離;Gauss(k)是高斯濾波器核。計算如下:
其中,σ為高斯標(biāo)準(zhǔn)差,可以根據(jù)經(jīng)驗選擇最優(yōu)的標(biāo)準(zhǔn)差。不同的標(biāo)準(zhǔn)差對同一幅圖像的校正效果不同,算法的收斂時間也不同。影響僅存在于相鄰列中,因此σ不宜太大,因為太大容易造成圖像失真,而太小則濾波效果不明顯。圖2為同一非均勻圖像在不同σ下的預(yù)測圖像。
圖2 不同高斯標(biāo)準(zhǔn)差σ 下的預(yù)測圖像
最后,根據(jù)變換序列和原始索引恢復(fù)各列像素:
其中,F(xiàn)j[Indexj[i]]為第Indexj[i]行第j列的灰度值。每列像素變換的轉(zhuǎn)換公式如下:
其中,°是將Seqj轉(zhuǎn)換為Seqgaussj,并根據(jù)映射恢復(fù)像素值的運算符;F(i,j)為反向映射后的像素值;u(i,j)為坐標(biāo)(i,j)處的原始灰度值。通過非線性濾波操作濾除了大量的條紋非均勻性,畫面紋理得到了改善,但存在部分隨機噪聲與隨機非均勻性,需要通過采樣操作減少隨機非均勻性。
經(jīng)過非線性濾波后,大部分條紋非均勻噪聲被去除。然而,隨機非均勻噪聲仍然需要采樣。交叉采樣的目的是在保護原始像素細(xì)節(jié)的情況下對隨機噪聲進行濾波,從而得到當(dāng)前幀的最終預(yù)測圖像。交叉抽樣的規(guī)則是:
其中,Di,j[n]是交叉采樣后坐標(biāo)(i,j)處的像素值;Fi,j[n]是采樣前坐標(biāo)(i,j)處的像素值;μ是采樣參數(shù)。采樣操作是為了提高算法收斂的條件,提升算法收斂的圖像均勻度,對圖像進行一次預(yù)濾波操作,交叉采樣后得到紅外圖像的預(yù)測幀,將預(yù)測幀作為算法的期望幀,接下來需要自適應(yīng)地通過更新每一像素點的增益與偏置系數(shù)來不斷迭代,達(dá)到每一像素點的收斂,從而達(dá)到非均勻性的抑制效果。
為了實現(xiàn)對模型的響應(yīng)函數(shù)進行實時校正。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方法使用四個鄰域的均值作為預(yù)測圖像,對于條紋噪聲,算法效果不理想,而且傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方法圖像信息丟失嚴(yán)重,忽略了非均勻性的特點,無法保護圖像邊緣[12-14]。本文兼顧溫度與時間對非均勻性的影響,通過當(dāng)前幀預(yù)測殘差與當(dāng)前實際殘差得出當(dāng)前殘差,通過梯度下降進行增益與偏置的校正,最后通過偽影抑制參數(shù)進行場景優(yōu)化。線性校正模型輸出函數(shù)表示為:
其中,Xi,j為焦平面探測器的響應(yīng)值;Yi,j為非均勻校正后的輸出值;Gi,j為增益系數(shù);Oi,j為偏移系數(shù)[15];?為隨機擾動誤差,是由于不確定因素產(chǎn)生的細(xì)微誤差,算法實際應(yīng)用時為了簡化算法的復(fù)雜度可忽略不計。
對于線性響應(yīng)校正模型,為了實現(xiàn)動態(tài)校正,算法需要對增益和偏置系數(shù)分別進行動態(tài)校正和更新,本文假設(shè)經(jīng)過非線性濾波處理和交叉采樣的第n幀圖像的像素值為Di,j(n) ,經(jīng)過非均勻性校正的原始圖像的輸出值為Yi,j(n) :
誤差函數(shù)Ei,j(n)可以簡化表示為:
殘差估計項可由上式得到:
當(dāng)輸入幀數(shù)為第一幀時,殘差估計項退化為平方差損失函數(shù),當(dāng)輸入幀數(shù)大于等于2 時,當(dāng)前殘差項為根據(jù)上一幀殘差得出的當(dāng)前幀預(yù)測殘差與當(dāng)前實際殘差的加權(quán)平均,其中Ei,jn-1是前一幀的殘差,Ei,jn是當(dāng)前殘差,Wn是實際殘差的置信權(quán)值,Wn-1是預(yù)測殘差的置信權(quán)值,Wn和Wn-1遵循如下規(guī)則:
R(n)為殘差估計項,可由下式表示:
其中,β是溫度噪聲增長參數(shù),與溫度變化成正比;Tmax是最高可探測溫度;Tmin是最低可探測溫度,tn是焦平面陣列(FPA)溫度,γ是時域噪聲增長參數(shù),隨時間或幀數(shù)逐漸增加。γ是原始幀間差值:
為了使誤差函數(shù)最小,本文使用隨機梯度下降法更新每個像素點的增益系數(shù)和偏差系數(shù)。根據(jù)誤差函數(shù),可以得到增益系數(shù)和偏置系數(shù)的變化為:
根據(jù)隨機梯度下降法進行每一像素點的迭代:
其中,λ為隨機梯度下降法的步長。系數(shù)的變化對灰度值影響較大,迭代步長不宜過大。和為第n幀計算出的增益與偏置也是第n+ 1 幀輸出的增益和偏移量,更新后的下一幀輸出為:
在算法的實際應(yīng)用中,為了減少場景的快速突變對算法造成的負(fù)面影響,本文使用了場景變化閾值Mt。當(dāng)閾值Mt為1 時,算法只對圖像進行濾波,學(xué)習(xí)率為0。當(dāng)閾值Mt不為1 時,對圖像的增益和偏差進行校正。
首先,計算相鄰幀的差分圖像df:
其中,df是時域上相鄰兩幀的差分圖像;X是原始圖像。接著為了更好地進行計算需要對差分圖像進行二值化,可表示為:
其中,Bs為二值圖像[0,1],Ts為單位像素變化閾值,用于檢測當(dāng)前像素點。計算當(dāng)前幀的運動參數(shù):
其中,Mo為全局運動參數(shù)。將全局運動參數(shù)Mo二值化后如下:
其中,Tg為場景移動閾值。最后,下一幀輸出通過偽影濾除后的修正公式可以表示為:
其中,Mt(n)為運動判斷參數(shù),通過運動幀估計可以判斷當(dāng)前幀是否在運動。當(dāng)幀運動判斷參數(shù)為1 時場景運動,增益與偏置參數(shù)停止更新;當(dāng)運動判斷參數(shù)為其他則算法更新增益與偏置,這樣可以大大減少場景變化可能出現(xiàn)的偽影,提升圖像的成像質(zhì)量。
本實驗采用IRay 光電Xcore_LT 系列測溫非制冷紅外運動元件采集原始視頻流。圖像大小為640×512,儀器溫度為29.3°,距離為0.4 m,機芯組件如圖3 所示。
圖3 IRAY光電Xcore_LT系列測溫型非制冷紅外機芯組件
本實驗采用OpenCV4.4 開源庫中的數(shù)據(jù)結(jié)構(gòu)進行數(shù)據(jù)的存儲與計算,采用rtsp 協(xié)議進行紅外圖像的讀取,基于神經(jīng)網(wǎng)絡(luò)的非線性濾波殘差估計算法中高斯濾波核標(biāo)準(zhǔn)差取σ= 1.25,采樣參數(shù)μ= 1,增益參數(shù)Gi,j初始化為640 列512 行的全1 矩陣,偏置參數(shù)初始化為640 列512 行的全0 矩陣,為了更好地針對固定模式的非均勻噪聲,減少算法復(fù)雜度,隨機擾動誤差?忽略不計。經(jīng)過多次實踐經(jīng)驗得出Wn取0.35,Wn-1取0.65,溫度噪聲增長參數(shù)β取2.4,變化閾值Ts= 15,場景移動閾值Tg= 10 922。針對不同的紅外圖像需調(diào)整部分參數(shù)。本文算法的編程環(huán)境為VS2015,使用C++語言編寫,在16 G 內(nèi)存i7-6700HQ CPU @2.60 GHz 處理器下運行。
算法評價指標(biāo)主要分為主觀評價指標(biāo)和客觀評價指標(biāo)兩種[14]。
從主觀視覺效果上對各算法的校正效果進行分析和評價,主要判斷依據(jù)為:
(1)與校正前的圖像相比,校正后圖像中的條紋非均勻性是否有效抑制,并且在圖像中沒有產(chǎn)生“偽影”等降低圖像質(zhì)量的因素。
(2)在條紋非均勻性去除效果相似的情況下,校正圖像的邊緣越明顯,則認(rèn)為該算法的校正效果越好。校正前后圖像的差異,即估計噪聲中包含圖像邊緣信息越少,視覺效果越自然,越接近真實的邊緣噪聲,認(rèn)為該算法的校正效果較好。
(3)經(jīng)過算法的非均勻性校正,圖像中的條紋非均勻性得到了一定程度的去除。從圖像視覺效果來看,預(yù)處理后的圖像中不存在明顯的垂直條紋噪聲。但是,在實際情況下,在條紋非均勻性校正前后的差值圖像的每一列中,也會出現(xiàn)不同深淺的微弱條紋噪聲。
從客觀層面,本文使用粗糙度(roughness)作為評價指標(biāo),粗糙度(ρ)的定義為:
其中,ρ為圖像的粗糙度;I為圖像原始矩陣;h為列差分卷積項;hT為行差分卷積項;‖I‖L1表示矩陣I的L1范數(shù)。ρ值越小表示圖像的列差分和行差分越小,圖像的噪聲越小。粗糙度與國家標(biāo)準(zhǔn)非均勻性定義相比,具有更多的應(yīng)用場景,在多項研究中作為非均勻性的檢測指標(biāo)。
本文使用不同幀數(shù)下的粗糙度(roughness),通過校正后的圖像與原始圖像之間的誤差圖像共同判斷校正效果。對于相同的紅外焦平面陣列,在高非均勻性環(huán)境下采集原始非均勻圖像視頻,本文使用共現(xiàn)濾波神經(jīng)網(wǎng)絡(luò)方法(CoFNN)、常數(shù)統(tǒng)計方法(CS)和本文提出的算法(Our method)選取200 幀原始圖像進行處理,并將處理后的結(jié)果進行對比分析。
圖4 為本文所提方法校正結(jié)果的三維圖像。為了更清楚地顯示圖像的不均勻性,本實驗放大了圖像。原始圖像中的不均勻性嚴(yán)重影響了圖像質(zhì)量,而修正后的圖像質(zhì)量得到了顯著提高。從圖中可以看出,所提方法濾除了大部分非均勻噪聲,結(jié)果表明所提方法能有效降低非均勻性。
圖4 非均勻校正前后去除的非均勻性
圖5~7 為各算法對不同幀高非均勻性圖像的校正結(jié)果。從圖中標(biāo)注可以看出,本文算法去除的非均勻性最直觀,算法有效地降低了條紋的非均勻性,同時抑制了白噪聲;對比同一時間的校正圖像,在校正效果上,CoFNN 算法收斂程度較低,隨機非均勻性校正效果明顯但條紋非均勻性依然清晰可見;CS 算法并未達(dá)到完全收斂,結(jié)果還存在一些偽影變換。本文提出算法在收斂程度上表現(xiàn)最佳,本文提出的算法在非均勻性濾除的同時提升了圖像的質(zhì)量,相比之下傳統(tǒng)算法只去除了部分非均勻性對條紋的非均勻性沒有明顯的影響。
圖5 第10 幀時各算法的校正結(jié)果
圖6 第100 幀時各算法的校正結(jié)果
圖7 第200 幀時各算法的校正結(jié)果
圖8~10 為各算法校正結(jié)果與原圖像之間的誤差圖像(灰度圖像)。從主觀上來講,圖中像素點亮度越高則表示差值越高,代表濾除的非均勻性效果的強弱,從上圖可以看出本文算法濾除的非均勻性顯著,相比于其他基于場景的非均勻校正算法存在明顯的優(yōu)勢。從空間上看,與COFNN 算法和CS 算法相比,結(jié)果表明,所提算法無論在第10 幀還是第200 幀都具有明顯的優(yōu)勢,對噪聲的濾波效果更為明顯。從時間上看,在收斂程度相同的情況下,收斂幀數(shù)要小于其他兩種算法。
圖8 第10 幀時各算法校正結(jié)果差分圖像
圖9 第100 幀時各算法校正結(jié)果差分圖像
圖10 第200 幀時各算法校正結(jié)果差分圖像
圖11顯示了在聚焦?fàn)顟B(tài)穩(wěn)定下一段時間后移動杯子的每個算法的輸出。在圖11(a)中,CoFNN 方法沒有及時更新參數(shù)進行場景的快速變換,使用了在杯子和瓶子之間移動之前的校正參數(shù),導(dǎo)致輸出錯誤,即出現(xiàn)鬼影。圖11(b)中的CS 方法需要多幀收斂,快速移動杯子后會產(chǎn)生明顯的鬼影。從圖11(c)可以看出,本文提出的方法不產(chǎn)生鬼影,證明本文提出的方法可以有效地抑制鬼影。
圖11 不同算法在場景變化下的校正結(jié)果
如表1 所示,在第10 幀,本文算法的粗糙度數(shù)據(jù)顯示出優(yōu)勢,第100 幀和第200 幀的粗糙度修正數(shù)據(jù)高于CoFNN 算法和CS 算法,從客觀的角度證明了算法相比于傳統(tǒng)的基于場景的非均勻校正算法,具有更好的非均勻性濾除效果。CoFNN 算法在10 幀時,將非均勻性降低了47.6%,CS 算法在第10 幀時將非均勻性降低了21.4%,本文提出的算法在第10 幀時將非均勻性降低了52.3%,而在第200 幀結(jié)束時,CoFNN 算法濾除了55.5%的非均勻性,CS 算法濾除了24.6%的非均勻性,本文提出的算法濾除了61.3%的非均勻性,非均勻濾除效果明顯;針對PSNR 來講,如圖12 所示,本文采集40 ℃的面源均勻黑體熱輻射場進行實驗。實驗得出原始圖像相比于理想圖像的PSNR 為35.97,CoFNN 算法校正后的PSNR 為38.3,相比原始圖像提高了6.7%,CS 算法校正后的結(jié)果為36.5,相比原始圖像提高了1.9%,本文提出的圖像PSNR 為40.7,相比于原始圖像提高了13.4%,從PSNR 來看,本文提出的算法校正后的結(jié)果最接近理想圖像。
表1 每個算法結(jié)果的粗糙度(ρ ) 與噪聲等效溫差(PSNR)
圖12 均勻黑體輻射源測試
圖13是每種方法校正后的200 幀圖像的粗糙度曲線。從圖中可以看出,原始圖像的粗糙度在0.2 左右波動,而校正后的圖像在經(jīng)過一些幀后趨于收斂,從圖中曲線可以看出,本文算法的收斂效果優(yōu)于CS 和CoFNN,證明本文方法在非均勻性校正程度上具有理想的效果。
圖13 不同算法粗糙度變化曲線
綜上所述,本文提出的方法兼顧了噪聲的去除和圖像細(xì)節(jié)的保護,對非均勻性和隨機噪聲具有較好的抑制效果,同時也具有較好的抑制鬼影的能力,從主客觀兩方面都證明了本文提出的算法在實際應(yīng)用中具有較理想的校正效果。
為了解決紅外焦平面陣列紅外圖像的非均勻性問題,本文提出了一種基于場景的非均勻校正方法。該方法假定單列包含足夠的成像信息,列元素之間的固定噪聲相互獨立,相互影響可以忽略,目標(biāo)列元素與相鄰列元素之間對場景成像存在正態(tài)分布影響,目標(biāo)列元素的成像可以用相鄰列元素表示。該方法采用非線性濾波方法濾除單柱圖像的非均勻性和隨機噪聲,并與原始圖像計算實際殘差。然后利用前一幀的預(yù)測殘差和實際殘差得到當(dāng)前殘差。最后,根據(jù)全局運動參數(shù)控制算法自適應(yīng)計算增益系數(shù)和偏置系數(shù),以減少偽影。結(jié)果表明,與其他校正方法相比,該方法能有效抑制鬼影,在收斂性、圖像質(zhì)量、校正效果和細(xì)節(jié)保護等方面具有優(yōu)勢,對條紋非均勻性和隨機噪聲也有明顯的限制作用。