沈先耿,楊 勇,劉曉陽,王 鑫
(1.武警警官學(xué)院信息通信系,成都 610213;2.武警警官學(xué)院教研保障中心,成都 610213)
無人機(jī)作為一種新型的作戰(zhàn)力量,已經(jīng)成為現(xiàn)代預(yù)警監(jiān)視裝備體系中的一個重要組成部分,在協(xié)同作戰(zhàn)、體系作戰(zhàn)、聯(lián)合作戰(zhàn)任務(wù)中發(fā)揮著重要的作用。其中,偵察無人機(jī)作為其中一個重要分支,在隱蔽偵察、預(yù)警探測等領(lǐng)域發(fā)揮著重要的作用。無人機(jī)在偵察過程中可能會受到各種惡劣天氣的影響,比如霧、雪、雨等。這些惡劣天氣在給無人機(jī)提供隱蔽的同時,也嚴(yán)重影響偵察無人機(jī)的視覺圖像系統(tǒng),導(dǎo)致偵察圖像視覺效果明顯降低,對戰(zhàn)時決策與指揮產(chǎn)生不利影響。以下雨天為例,由于雨滴下落速度較快,且在空間上是隨機(jī)分布的,因此,在攝像頭的成像過程中,雨滴主要以雨線的形式在圖像中呈現(xiàn)。雨線會使偵察圖像的噪聲明顯增大,極大影響了偵察圖像的視覺效果,進(jìn)而影響目標(biāo)匹配、目標(biāo)識別和目標(biāo)追蹤的效果。
文獻(xiàn)[1]提出了一種基于形狀特征的去雨算法,該算法通過雨線的物理和亮度特性來去除雨線,但在大雨條件下,該算法無法檢測到雨線,導(dǎo)致算法失效。文獻(xiàn)[2]提出了一種基于雨滴亮度特征的去雨算法,該算法通過判斷圖像中的像素值是否超過閾值,來進(jìn)行雨線判斷。但當(dāng)雨線與背景顏色差異較大時,容易造成漏檢。文獻(xiàn)[3]提出了一種基于相位一致性和光流估計(jì)的雨線檢測方法,該方法效果較好,但過程較為繁瑣,實(shí)時性不強(qiáng)。文獻(xiàn)[4-6]提出了一種基于形態(tài)成分分析(MCA)的圖像去雨算法,該算法雖能夠有效去除雨線影響,但會造成部分圖像細(xì)節(jié)丟失,從而導(dǎo)致出現(xiàn)圖像模糊的問題?;谝陨蠁栴},本文根據(jù)無人機(jī)偵察圖像的特點(diǎn),提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的無人機(jī)偵察圖像去雨算法,該算法通過提取偵察圖像中相對平滑的純雨區(qū)域作為訓(xùn)練樣本輸入卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,能夠有效提取圖像特征,得到訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)圖像去雨。
無人機(jī)在偵察過程中主要以低空航拍為主,因此,本文主要針對雨天無人機(jī)的航拍圖像進(jìn)行處理。文獻(xiàn)[7-9]指出,在視覺成像系統(tǒng)極短的曝光時間內(nèi),雨滴在圖像上會表現(xiàn)為靜態(tài)的白點(diǎn),且白點(diǎn)的亮度與背景無關(guān)。對曝光時間相對較長的無人機(jī)偵察圖像來說,雨滴在向下降落的過程中,會表現(xiàn)成為一條較亮的雨線,且呈現(xiàn)為白色,如圖1 所示。
文獻(xiàn)[10]指出,一幅有雨圖像可以看成雨線層圖像和背景圖像的線性疊加,偵察圖像去雨的本質(zhì)就是從含有雨線的圖像中分離出雨線,提高背景圖像的能見度?,F(xiàn)有的去雨方法依據(jù)以下模型[11]:
圖1 雨天無人機(jī)偵察圖像
其中,I 為有雨的偵察圖像,B 為背景層圖像,R 為雨線層圖像。本文采用雙邊濾波和引導(dǎo)濾波相結(jié)合的方法對圖像進(jìn)行濾波,將原始的偵察圖像分解為低頻子圖ILF(背景層)和含有雨線的高頻子圖IHF(雨線層)。由于濾波后的高頻子圖IHF亮度較低,不適宜觀察,本文對其進(jìn)行亮度增強(qiáng),結(jié)果如圖2 所示。
圖2 低頻與高頻子圖
從圖2 可以看出,低頻子圖中不包含雨線等紋理信息,而高頻子圖中既包含雨線信息,也包含樹木、建筑物等紋理信息。圖像去雨是將高頻子圖中的雨線信息去除后與低頻子圖融合得到無雨圖像。
由于無人機(jī)偵察圖像中一般存在著較為復(fù)雜的紋理信息和相對平滑的天空、地面等區(qū)域,通過提取含有雨線的相對平滑區(qū)域,能夠更好地訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),提升去雨效果。由于在一幅照片中,雨線的下落傾斜角度基本一致,因此,本文利用雨線邊緣像素點(diǎn)的梯度方向θ(x,y)和梯度幅值Mag(x,y)來進(jìn)行統(tǒng)計(jì)分析,檢測高頻子圖中的純雨區(qū)域,則圖像中像素點(diǎn)的梯度方向和梯度幅值定義如下:
其中,x 表示圖像的橫坐標(biāo),y 表示圖像的縱坐標(biāo),g(x,y)表示圖像在(x,y)點(diǎn)的灰度值,圖3(a)為高頻子圖對應(yīng)的梯度幅值圖,可以看出,圖像的邊緣紋理和雨線邊緣的梯度幅值相對較大,而其他相對平滑的天空、地面等區(qū)域梯度幅值皆趨近于0。圖3(b)為雨線的梯度方向,雨線具有一定的寬度,對于雨線兩邊的像素點(diǎn)來說,兩邊像素的梯度方向處在同一條直線上,但兩邊的梯度方向正好相反。因此,相差180°的梯度方向可以歸為相同的類別,需重新定義雨線的梯度方向:
為了能夠有效提取純雨區(qū)域的雨線特征,本文采用深度卷積神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)雨線的檢測與去除,該卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[12-13]可以表示為:
其中,h(p)為卷積神經(jīng)網(wǎng)絡(luò),P 為卷積神經(jīng)網(wǎng)絡(luò)參數(shù),為有雨高頻子圖像塊,Ji為對應(yīng)的無雨高頻子圖像塊。通過不斷訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),使得有雨高頻子圖像塊和無雨高頻子圖像塊Ji間的差值D(P)達(dá)到最小,則認(rèn)為該卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)訓(xùn)練到最優(yōu),此時的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)P' 為最優(yōu)網(wǎng)絡(luò)參數(shù),卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如下頁圖4 所示。
由于在卷積神經(jīng)網(wǎng)絡(luò)不斷的訓(xùn)練過程中,需要大量有雨和無雨的無人機(jī)偵察圖像對,在現(xiàn)實(shí)中很難尋找到這些圖像對,因此,采用Photoshop 軟件對200 張無人機(jī)無雨偵察圖像進(jìn)行加雨操作。對每張無雨偵察圖像增加不同粗細(xì)和不同方向的雨線,制作成10 張,總計(jì)2 000 張的有雨偵察圖像集。將有雨和無雨訓(xùn)練集進(jìn)行濾波和純雨區(qū)域提取后,將高頻子圖像塊輸入卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,以獲取最優(yōu)網(wǎng)絡(luò)參數(shù)。部分訓(xùn)練集樣本如圖5 所示。
文獻(xiàn)[14]指出,在卷積神經(jīng)網(wǎng)絡(luò)中,不同尺度的感受野能夠得到的特征信息是不同的。為了能夠提取更為豐富的圖像信息,提高訓(xùn)練過程中對非線性映射關(guān)系估計(jì)的準(zhǔn)確性,提升網(wǎng)絡(luò)的去雨能力。本文采用3 個不同尺度的感受野來聚合圖像上分散的信息,以學(xué)習(xí)雨線特征。膨脹卷積能夠使得感受野的大小以指數(shù)形式不斷增長,同時也不會遺漏其覆蓋的區(qū)域,則膨脹卷積定義為:
其中,X0,X1,…,Xn-1為一系列圖像,k0,k1,…,kn-1為一系列大小為3×3 的濾波器,*2j為膨脹卷積。對于Xj+1中的某個元素p 來說,其感受野定義為得到Xj+1(p)這個結(jié)果所需的X0里的全部元素。在這里,將3 個通道中兩個卷積層的膨脹因子分別設(shè)為(1,1)、(1,2)和(2,2),則得到的3 個特征圖像的感受野分別為:5×5、7×7 和9×9。然后在每次遞歸過程中,采用多維向量對3 個通道的高頻子圖像塊進(jìn)行特征表示,而后將3 個通道的特征向量進(jìn)行組合,得到樣本的高頻子圖像塊特征集合A。3 個通道之間的關(guān)系為:
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖5 部分訓(xùn)練集樣本圖像
其中,Wm1,Wm2為3 個通道中6 個不同卷積層的權(quán)重值,Bm1,Bm2為偏置項(xiàng)。3 個不同尺度感受野得到的特征集合A 總共包含n1張?zhí)卣鲌D像,而后利用該特征集合進(jìn)行無雨高頻子圖像塊的非線性映射估計(jì)。
采用大小為1×1 的卷積核與特征集合A 進(jìn)行卷積,得到有雨高頻子圖像塊特征與無雨高頻子圖像塊特征間的映射關(guān)系:
其中,W2為卷積權(quán)重,B2為偏置項(xiàng),為無雨高頻子圖像塊特征。
將得到的無雨高頻子圖像塊特征進(jìn)行均值化,得到無雨的高頻子圖像塊:
圖6 無雨圖像
為驗(yàn)證算法的有效性,將分別對小雨圖像和大雨圖像進(jìn)行試驗(yàn)。由于目前沒有無人機(jī)偵察圖像數(shù)據(jù)集,因此,本文選取rain100H 和rain100L 數(shù)據(jù)集進(jìn)行測試,兩數(shù)據(jù)集均為合成雨線數(shù)據(jù)集,且每張圖像大小均不同。rain100H 為大雨圖像數(shù)據(jù)集,rain100L 為小雨圖像數(shù)據(jù)集。兩數(shù)據(jù)集中的部分圖像均含有類似于天空、地面等紋理相對平滑的區(qū)域。本文從兩數(shù)據(jù)集中分別選取50 張,總計(jì)100 張樣本圖像進(jìn)行測試,部分測試圖像如下頁圖7 所示。
圖7 部分測試圖像
圖8 3 種算法的實(shí)驗(yàn)結(jié)果
分別采用MCA(Morphological Component Analysis)算法、DSC(Discriminative Sparse Coding)算法與本文算法進(jìn)行5 輪對比實(shí)驗(yàn),每輪選取10 張大雨圖像和10 張小雨圖像進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)的硬件平臺為Intel Core i5,2.3 GHz CPU,NVIDIA GeForce GTX 1050 Ti GPU,16 GB 內(nèi)存,軟件平臺為MATLAB 2016a,實(shí)驗(yàn)結(jié)果如圖8 和表1 所示。
從圖8 中可以看出,在大雨情況下,MCA 算法和DSC 算法的圖像去雨效果相對較差,均存在部分雨線。本文算法能夠充分利用純雨區(qū)域的雨線特征,去除圖像中的雨線,去雨效果較好。在小雨的情況下,3 種算法雖均能夠去除雨線影響,但MCA 算法和DSC 算法的細(xì)節(jié)紋理保持相對較差,圖像存在小部分失真。這是由于MCA 算法和DSC 算法只對樣本圖像中低水平特征信息進(jìn)行了應(yīng)用,導(dǎo)致了當(dāng)樣本圖像中存在與雨線同方向或者近似方向的紋理時,會使得兩種算法對非雨線紋理信息進(jìn)行錯誤處理,造成圖像細(xì)節(jié)模糊。而本文算法通過對純雨區(qū)域進(jìn)行訓(xùn)練,能夠充分提取出雨線特征,并通過利用高層次的圖像特征信息,對雨線信息和非雨線信息進(jìn)行準(zhǔn)確區(qū)分,保留了原始圖像的特征信息。
表1 3 種算法的運(yùn)行時間
表1 為3 種不同算法在每輪實(shí)驗(yàn)中每張圖像上的平均運(yùn)行時間。從表1 中可以看出,本文算法的運(yùn)行時間遠(yuǎn)小于另外兩種算法,這主要是因?yàn)楸疚乃惴ㄊ窃贑affe 的MATLAB 接口上實(shí)現(xiàn)的,主要是在GPU 上運(yùn)行,而另外兩種算法是在CPU 上運(yùn)行,因此,本文算法的運(yùn)行效率更高。
為了進(jìn)一步證明所提算法對真實(shí)的雨天無人機(jī)偵察圖像去雨的有效性,本文利用3 種算法對真實(shí)的有雨圖像進(jìn)行測試,結(jié)果如圖9 所示。
圖9 真實(shí)有雨圖像實(shí)驗(yàn)結(jié)果
從圖9 中可以看出,本文算法在真實(shí)的有雨圖像中也能夠有效地去除雨線,增強(qiáng)圖像質(zhì)量。
峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)是兩種使用較為廣泛的圖像評價(jià)參數(shù),能夠有效反映出人對圖像的主觀感受。利用PSNR 和SSIM兩種參數(shù)對3 種算法的去雨圖像進(jìn)行分析比較,得到3 種算法的峰值信噪比和結(jié)構(gòu)相似性參數(shù),如表2 所示。
表2 3 種算法的峰值信噪比和結(jié)構(gòu)相似性
從表2 中可以看出,本文算法在PSNR 和SSIM兩個參數(shù)上均高于MCA 算法和DSC 算法,說明本文算法在有效去除雨線的同時,能夠較好地保留原始圖像信息,進(jìn)一步證明了本文算法的有效性。
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的無人機(jī)偵察圖像去雨算法,該算法主要有以下兩個方面的優(yōu)點(diǎn):一是能夠根據(jù)雨天無人機(jī)偵察圖像的特點(diǎn),提取紋理相對平滑的純雨區(qū)域進(jìn)行訓(xùn)練,解決了偵察圖像中其他細(xì)節(jié)紋理的干擾;二是通過卷積神經(jīng)網(wǎng)絡(luò)對純雨區(qū)域進(jìn)行訓(xùn)練,能夠有效提取圖像的深層特征,提升去雨效果。對比實(shí)驗(yàn)表明,本文算法無論是在合成有雨圖像訓(xùn)練集還是真實(shí)有雨圖像中,均能夠有效去除雨線的影響,具有良好的去雨效果。