汪陳躍,雷旭峰,李澤民,楊紹明,何 燕
(昆明物理研究所,云南 昆明 650223)
空間變化離焦模糊是紅外系統(tǒng)普遍存在的一個問題,產(chǎn)生這一問題的根本原因是受紅外光學原理限制,視場中物距差別大的物體無法同時清晰成像??臻g離焦模糊紅外圖像復原算法的目的就是通過圖像處理來減弱離焦導致的圖像模糊,提升圖像質(zhì)量。
理論研究認為模糊圖像是由清晰圖像與一個點擴散函數(shù)(point spread function,PSF)卷積并疊加上噪聲的結(jié)果。對于實際模糊圖像復原問題,模糊圖像已知,但模糊圖像的點擴散函數(shù)是未知的,且點擴散函數(shù)在空間分布上是不一致的,這種模糊稱為空間變化離焦模糊。為了復原模糊圖像,需估計圖像的點擴散函數(shù),為了簡化估計點擴散函數(shù)問題,可采用理論模型來近似實際點擴散函數(shù),離焦模糊的點擴散函數(shù)的數(shù)學模型一般可以采用圓盤模型或高斯模型[1],使用近似模型能夠?qū)Ⅻc擴散函數(shù)估計簡化為估計一個參數(shù)(圓盤半徑或高斯方差),高斯模型更接近實際圖像中的點擴散函數(shù),所以本文研究中選用高斯模型。
空間變化離焦模糊的點擴散函數(shù)在空間域上不一致,無法直接使用某一個點擴散函數(shù)來復原圖像,因而目前空間變化離焦模糊圖像復原算法主要有兩種方法,第一種是將圖像按模糊程度進行分割,對分割后每個區(qū)域的點擴散函數(shù)進行精確估計,然后使用估計的點擴散函數(shù)對對應區(qū)域的圖像進行復原處理,最后將復原后的區(qū)域圖像組合為完整的復原圖像[2-4];第二種是對圖像的每一個像素的點擴散函數(shù)進行估計,并根據(jù)估計的點擴散函數(shù)對每個像素進行復原并組合為最終的復原圖像[5]。
由于點擴散函數(shù)估計要達到較高的精度需要的計算量大,難以實現(xiàn)快速算法。為了實現(xiàn)空間變化離焦模糊快速算法且滿足實時性要求,本文提出使用固定的點擴散函數(shù)組對圖像進行復原,然后對復原后的圖像組進行像素級圖像質(zhì)量評價,利用評價參數(shù)將多幅復原圖像中的最佳像素組合為最終復原圖像。模糊圖像復原算法選用截斷約束最小二乘法(truncated constrained least-squares,TCLS)復原算法,復原圖像的圖像質(zhì)量評價采用基于復原圖像空間二階導(拉普拉斯算子)的特點提出新的評價方法。
模糊圖像的數(shù)學模型可用g=f?k+n表示。式中:g是模糊圖像;f是清晰圖像;k是點擴散函數(shù);n是噪聲;?是卷積符號。離焦模糊點擴散函數(shù)的數(shù)學模型一般采用圓盤分布或高斯分布[1]。
圓盤分布來源于幾何光學中的模型,根據(jù)高斯成像公式和幾何相似性,可以推導出點光源成像為一個圓盤,其圓盤直徑由焦距、物距等共同決定[1]。
圓盤離焦模型的點擴散函數(shù)可以表示為[1]:
式中:R是模糊半徑。
高斯模型來源于算法的實際實踐,暫未有明確的光學理論原理解釋,它的點擴散函數(shù)數(shù)學表達如下[1]:
式中:σ是模糊參數(shù),即高斯模糊標準差。
高斯模型更接近實際圖像中的點擴散函數(shù),所以研究中使用高斯模型。
本文提出的算法需使用多個不同的點擴散函數(shù)分別復原紅外圖像,因此需選擇能夠快速實現(xiàn)的復原算法以減少計算量,由于一般的復原算法都需轉(zhuǎn)換到變換域進行復原(如維納濾波復原算法)或需要通過多次迭代(如Lucy-Richardson 圖像復原算法)來實現(xiàn),不利于算法的硬件實現(xiàn),本文選擇TCLS算法作為復原算法,TCLS算法的復原過程為空間域卷積計算,便于硬件實現(xiàn)快速處理。
TCLS算法由Kim 提出,TCLS算法將約束最小二乘法(constrained least-squares,CLS)在變換域的操作轉(zhuǎn)化到空間域,該算法執(zhí)行速度快[6]。
CLS的復原公式為[6]:
式中:H(u,v)是點擴散函數(shù)h(x,y)的傅里葉變換;R(u,v)是空間域復原濾波器r(x,y)的傅里葉變換;P(u,v)是的傅里葉變換;λ是與圖像噪聲相關(guān)的系數(shù),簡稱噪聲系數(shù),取值范圍(0,1),圖像噪聲越小,噪聲系數(shù)取值越小。
CLS復原濾波器是頻域操作,使用傅里葉逆變換可以將它轉(zhuǎn)換到空間域,如下式[6]:
式中:F-1是傅里葉逆變換;r(x,y)是空間域復原濾波器。由于一個超大尺寸的濾波器計算是不現(xiàn)實的,我們需要對它進行截斷,Kim 提出使用升余弦函數(shù)進行截斷,相比高斯函數(shù),它能更好地保留高頻細節(jié)。最終的復原操作可以表達為[6]:
式中:rT(x,y)是截斷后的CLS復原濾波器;g(x,y)是輸入的模糊圖像;fT(x,y)是初步復原的圖像。
TCLS 將復原操作轉(zhuǎn)化為卷積計算,減少了傅里葉變換過程,在實時成像系統(tǒng)中可以實現(xiàn)快速處理。
針對TCLS算法復原圖像存在的振鈴和噪聲問題,Kim 采用了空間自適應噪聲平滑(spatially adaptive noise smoothing,SANS)算法進行處理,它利用輸入模糊圖像的局部方差將輸入模糊圖像和復原后的圖像進行融合,融合方程和依據(jù)局部方差計算的比例參數(shù)見下式[6]:
TCLS算法的優(yōu)點是復原過程為空間域的卷積計算,不需要對輸入圖像進行傅里葉變換或小波變換,硬件上可以采用有限脈沖響應濾波器實現(xiàn),所以TCLS復原算法的硬件實現(xiàn)難度較小。TCLS算法的缺點是隨著需要復原的模糊的標準差增大,空間域復原濾波器的尺寸也增大,濾波器尺寸過大會導致計算量少的優(yōu)勢消失,所以TCLS算法適合于模糊程度較小時,有一定的局限性。
圖1是TCLS 處理的效果,其中(a)是調(diào)焦清晰圖,(b)是同場景調(diào)焦模糊圖,(c)是(b)經(jīng)過TCLS復原后的圖像(復原濾波器對應標準差為1.8,噪聲系數(shù)0.0001),復原圖像細節(jié)得到增強,但噪聲和振鈴明顯,(d)是(c)經(jīng)SANS 處理后的圖像,SANS 實現(xiàn)了降噪和去振鈴,去振鈴后的圖像能夠使用簡單的圖像質(zhì)量評價方法進行評價。
圖1 TCLS算法復原效果對比Fig.1 Comparison of image of blurred and restored by TCLS
Cheong 利用模糊圖像的局部梯度對每個像素的點擴散函數(shù)進行估計,然后根據(jù)估計的點擴散函數(shù)參數(shù)從預設的多個TCLS 濾波器中選擇并計算最終使用的TCLS 濾波器,實現(xiàn)了不需迭代的快速復原[5]。Cheong的算法的局限性是該算法的點擴散函數(shù)估計推導是基于孤立邊的,當圖像復雜時,點擴散函數(shù)的估計精度下降明顯[5]。為了去掉點擴散函數(shù)估計的流程,本文提出針對不同參數(shù)TCLS復原的圖像進行區(qū)域圖像質(zhì)量評價的方法,將不同參數(shù)復原圖像中的最佳像素組合為最終的輸出圖像。
本文提出的方法的流程圖見圖2。首先使用m個不同標準差σi的點擴散函數(shù)對應的TCLS復原算法復原模糊圖像并使用SANS算法去振鈴,其中標準差σi(i=1~m)為遞增序列,而輸入圖像可以認為是標準差為0的TCLS+SANS復原算法復原的圖像,將這m+1個圖像按標準差遞增的關(guān)系編號,編號分別為1到m+1,然后對每幅復原圖像按像素進行區(qū)域圖像質(zhì)量評價獲得m+1幅圖像質(zhì)量圖,將每個像素位置的圖像質(zhì)量評價指標最大的圖像編號輸出,生成最佳像素的復原圖像編號圖,由于圖像質(zhì)量評價僅使用了區(qū)域信息,會存在錯誤,使用中值濾波處理圖像編號圖,去除錯誤值,最后使用處理后的圖像編號圖將復原圖像組合為復原圖像。本文提出的方法無需對點擴散函數(shù)進行估計,而且利用了TCLS算法可以并行實現(xiàn)的特點,可以實現(xiàn)空間變化離焦模糊圖像的快速復原。
模糊圖像與清晰圖像的區(qū)別主要集中在邊附近,模糊圖像中邊的寬度大,邊不夠清晰,而復原圖像中邊較為清晰。為了分析圖像邊的情況,使用拉普拉斯算子與圖像卷積獲得拉普拉斯處理的圖像,拉普拉斯算子強調(diào)的是圖像中灰度的突變,而灰度突變一般對應于圖像中清晰邊。拉普拉斯濾波圖像中的“零交叉”位置是圖像的邊,一個像素為“零交叉”像素時,在其四鄰域內(nèi)同時存在正負像素。隨著復原濾波器的標準差不斷增大,復原圖像中的邊逐漸變清晰,邊的邊緣出現(xiàn)明顯的“零交叉”,如果繼續(xù)增大,圖像中出現(xiàn)超出表達范圍的結(jié)果(壓減到能表達的最大值),圖像反而質(zhì)量下降。式(8)為拉普拉斯算子與圖像卷積計算:
式中:fi(x,y)是按照復原濾波器的標準差由小到大對復原后圖像按1~m+1 進行編號得到復原圖像組;Li(x,y)為對應的拉普拉斯濾波后的圖像。
檢測圖像中的“零交叉”可以使用統(tǒng)計的方法,計算一個像素的四鄰域的像素灰度值的絕對值之和與四鄰域的像素灰度值和的絕對值的差值,當該像素為“零交叉”時,差值大于0。
Ldi(x,y)為計算的表征邊強度的指標,會受圖像區(qū)域像素分布影響,為了能夠比較不同標準差的復原濾波器的復原結(jié)果,用Ldi(x,y)除以Li(x,y)的絕對值來去除像素周邊分布的影響,計算過程為式(10),其中ε是為了避免除零運算而設的大于零的值,ε的取值較小即可。
圖2 提出的算法流程Fig.2 The proposed algorithm flow
Ldi(x,y)最大的像素認為是圖像質(zhì)量最好的像素,使用對應的圖像編號i作為該像素位置的最優(yōu)像素所在的圖像編號,生成最優(yōu)像素圖像編號圖Id(x,y)。
由于Id(x,y)的計算僅使用了像素周邊區(qū)域的圖像信息,當周邊區(qū)域為平滑區(qū)域,沒有邊的信息時,計算結(jié)果會出現(xiàn)錯誤,而相鄰像素的離焦程度具有相關(guān)性,在很小的區(qū)域內(nèi),最優(yōu)像素圖像編號不應出現(xiàn)劇烈變化,所以對編號圖Id(x,y)按一定大小的區(qū)域(如7×7)取中值作為區(qū)域中心像素的編號。對于有邊的區(qū)域,計算結(jié)果正確的像素占多數(shù),取中值處理能剔除錯誤值;對于大的平滑區(qū)域,由于不同參數(shù)的復原圖像基本無變化,取中值并不會導致復原圖像出現(xiàn)錯誤像素。
對Id(x,y)的每個像素按區(qū)域取中值獲得最終的最優(yōu)像素圖像編號圖Idf(x,y),將Idf(x,y)中每個像素Idf(i,j)對應的復原圖像中(i,j)位置的像素值作為最終復原圖像(i,j)位置的像素值,生成最終復原圖像。
圖3是使用提出的復原方法復原的圖像和過程圖像,使用提出的圖像質(zhì)量評價方法能獲得較好的效果。
為了測試本文提出的算法,使用本文算法、Zhang的算法[4]和Cheong的算法[5]分別對兩幅空間變化離焦模糊圖像進行復原。Zhang的算法是根據(jù)輸入圖像估計出點擴散函數(shù)分布圖,然后根據(jù)估計的點擴散函數(shù)分割圖像,對每個區(qū)域分別使用估計的點擴散函數(shù)進行復原,然后組合為復原圖像,復原圖像經(jīng)降噪和去振鈴處理后輸出。Cheong的算法則是根據(jù)圖像的梯度估計點擴散函數(shù),然后依據(jù)每個像素估計的點擴散函數(shù)使用TCLS算法復原像素,然后組合輸出最終圖像。
圖4是對圖像1 使用不同算法復原的圖像,圖5是對圖像2 使用不同算法復原的圖像,本文提出的算法復原的圖像最好,圖像的細節(jié)豐富且對比度大,Cheong的算法復原的圖像細節(jié)丟失多,而Zhang的算法復原的圖像效果不顯著。Cheong和Zhang的算法的復原效果差是因為點擴散函數(shù)估計出現(xiàn)了較大誤差,高精度的點擴散函數(shù)估計是很難實現(xiàn)的。
圖3 復原圖像和部分過程圖像Fig.3 Restored image and partial process images
表1為使用信息熵和標準差進行量化分析復原圖像的結(jié)果,Zhang的算法的指標與輸入圖像最接近,與Zhang的算法復原的圖像無顯著變化一致,Cheong的算法的指標提升大,但實際圖像細節(jié)丟失嚴重,本文提出的算法兩個指標均有提升。
圖4 圖像1 復原圖像對比Fig.4 Comparison of the restored image of image 1
圖5 圖像2 復原圖像對比Fig.5 Comparison of restored images of image 2
為了比較算法運行速度,在同一仿真平臺和軟件上進行算法仿真并統(tǒng)計算法運行時間。仿真平臺,CPU:I5-8400,內(nèi)存:16 GB,仿真軟件為Matlab 2017b。3個算法對測試圖像的復原運行的時間見表2,其中Zhang的算法的復原運行時間最長,而本文提出的算法運行時間最短。
表1 復原圖像質(zhì)量評價對比Table1 Comparison of image quality assessment of restoration algorithms
表2 復原算法運行時間對比Table2 Comparison of running time of restoration algorithms s
對于M×N的輸入圖像,若算法預設的復原濾波器對應的離焦模糊標準差的最大值為σ(σ≤3),則最大的復原濾波器尺寸為n×n(n=6×σ+1),可計算得本文提出的算法的時間復雜度為O(M×N×n2)。
本文提出的算法復原過程為多個預設的復原濾波器分別進行卷積計算,卷積計算在硬件上可以使用有限脈沖響應濾波器實現(xiàn),且多個預設的復原濾波器可以進行并行計算;復原濾波器的尺寸限定在n×n,卷積計算硬件優(yōu)化后能夠在3n行之內(nèi)完成,后續(xù)的SANS和圖像質(zhì)量評價都使用的是簡單算法,不會產(chǎn)生大的延遲,所以本文提出的算法能夠滿足實時性要求,但由于存在n×n的卷積計算,算法的計算量大,對硬件資源要求高,后續(xù)研究中可進一步優(yōu)化復原的卷積過程來降低計算量。硬件實現(xiàn)時還需考慮算法對存儲和傳輸帶寬的要求;本文提出的算法中使用的復原濾波器是預設好的,在硬件實現(xiàn)中可以直接寫入程序,無需進行大量讀寫操作,對傳輸帶寬要求低;本文提出的算法無需存儲整幅圖像,對存儲要求低。綜上所述,本文提出的算法能夠進行硬件實現(xiàn),并能達到實時性要求,但計算量大,對硬件資源要求高。
空間變化離焦模糊圖像復原是提升紅外圖像的一個重要途徑,本文提出的基于圖像質(zhì)量評價的方法能夠快速較好地復原模糊圖像,算法達到很好的復原效果,與基于估計點擴散函數(shù)的方法對比,該算法能大大降低計算量,同時不需要迭代的過程,便于硬件實現(xiàn)。本文復原后圖像仍然存在一定的振鈴,部分原因是采用的高斯模型與實際點擴散函數(shù)有誤差,后續(xù)研究可針對實際的光學系統(tǒng)離焦模糊進行標定,獲得更精準的模糊模型,進而提升復原圖像的效果。