代強(qiáng) ,喬焰 ,程曦 ,朱誠(chéng)
(1.安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,合肥 230036;2.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院)
農(nóng)作物病害圖像的識(shí)別[1-6]是圖像處理領(lǐng)域中的一個(gè)重要話題,而農(nóng)作物病害圖像的分辨率高低最能影響農(nóng)作物病害圖像識(shí)別的成功率。中國(guó)作為世界上最重要的幾個(gè)農(nóng)業(yè)國(guó)家之一,對(duì)于農(nóng)作物病害的防治是一項(xiàng)重大問(wèn)題。對(duì)農(nóng)作物病害快速且準(zhǔn)確的識(shí)別是防治的第一步,同時(shí)也是最重要的一步。在過(guò)去,普通的農(nóng)民普遍缺乏農(nóng)作物病害識(shí)別知識(shí),專家也很難根據(jù)農(nóng)作物病害葉片快速且準(zhǔn)確判斷出是什么病害。僅靠農(nóng)民自己很難找到正確的處理方法,因此造成了很大損失。此外,由于技術(shù)和設(shè)備較差,農(nóng)民所拍出的農(nóng)作物病害葉片的圖像通常都是較低分辨率且圖像質(zhì)量也較低,不利于農(nóng)作物病害圖像的識(shí)別。所以,對(duì)農(nóng)作物病害葉片圖像進(jìn)行圖像超分辨率重建具有重要意義。隨著圖像超分辨率技術(shù)的發(fā)展,出現(xiàn)了Bicubic(雙三次插值)和ScSR(基于稀疏編碼的超分辨率方法)、A+和IA以及SelfExSR等傳統(tǒng)方法。
到目前來(lái)看,傳統(tǒng)的圖像超分辨率重建方法已經(jīng)取得了不少進(jìn)展。但傳統(tǒng)的圖像超分辨率重建方法仍然具有很多缺陷,如圖像的預(yù)處理復(fù)雜,圖像處理效率低下,PSNR(Peak Signal to Noise Ratio峰值信噪比)和 SSIM(Structural Similarity結(jié)構(gòu)相似性)[7]提高較少等。隨著深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)[8-9]的發(fā)展,已經(jīng)出現(xiàn)了許多基于深度學(xué)習(xí)的超分辨率方法,且很好解決了以上傳統(tǒng)超分辨率方法所出現(xiàn)的問(wèn)題。
2014年,香港中文大學(xué)Dong等[10]率先將卷積神經(jīng)網(wǎng)絡(luò)引入到圖像超分辨率復(fù)原的問(wèn)題中,設(shè)計(jì)了基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率復(fù)原方法(SRCNN)。之后Dong等[11]又提出的FSRCNN是對(duì)之前的SRCNN的改進(jìn)。2016年,WenZhe Shi等[12]又提出了ESPCN網(wǎng)絡(luò)模型。受到何愷明等[13]在2015年時(shí)提出的殘差網(wǎng)絡(luò)ResNet的啟發(fā),Jiwon Kim等[14]在2016年提出了VDSR模型,之后Jiwon Kim等[15]又提出 DRCN。在 ResNet、VDSR和 DRCN的啟發(fā)下,Ying Tai等[16]在2017年提出的DRRN采用了更深的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)獲取性能的提升。之后的LapSRN[17]和EDSR[18],以及 DSRNLP[19]、SERS[20]等網(wǎng)絡(luò)模型在圖像的超分辨率重建的應(yīng)用上同樣取得了很好的成績(jī)。實(shí)驗(yàn)選取了LapSRN、DSRNLP、SERS等三種基于深度學(xué)習(xí)的網(wǎng)絡(luò)模型用來(lái)處理本次的實(shí)驗(yàn)樣本。PSNR/SSIM值都提高了很多,且有效的克服了傳統(tǒng)方法所存在的缺陷,使得農(nóng)作物病害葉片的圖像超分辨率重建變得更加高效。
LapSRN:
圖1所示的是LapSRN網(wǎng)絡(luò)架構(gòu),該網(wǎng)絡(luò)架構(gòu)可以看成由多級(jí)組成的分級(jí)網(wǎng)絡(luò),每一級(jí)完成一次2倍的上采樣操作,要實(shí)現(xiàn)8倍的上采樣就需要有三級(jí)。在每一級(jí)中,先通過(guò)一些級(jí)聯(lián)的卷積層提取特征,接著通過(guò)一個(gè)反卷積層將提取出的特征的尺寸上采樣2倍。反卷積層后連有兩個(gè)卷積層,一個(gè)卷積層的作用是繼續(xù)提取特征,另外一個(gè)卷積層的作用是預(yù)測(cè)出這一級(jí)的殘差。輸入圖像在每一級(jí)也經(jīng)過(guò)一個(gè)反卷積層使原尺寸上采樣2倍,再與對(duì)應(yīng)級(jí)的殘差相加,就能重構(gòu)出這一級(jí)的上采樣結(jié)果。
LapSRN通過(guò)逐步上采樣,以及一級(jí)一級(jí)預(yù)測(cè)殘差的方式,在做高倍上采樣時(shí),也能得到中間低倍上采樣結(jié)果的輸出。由于尺寸是逐步放大,不是所有的操作都在大尺寸特征上進(jìn)行,因此速度上有了較高的提升。
圖1 LapSRN結(jié)構(gòu)圖Fig.1 LapSRN structure diagram
DSRNLP:
圖2所示是DSRNLP模型架構(gòu),該模型采用局部殘差學(xué)習(xí)和全局殘差學(xué)習(xí)相結(jié)合的方法。在每一模塊中,DSRNLP按照殘余模塊的設(shè)計(jì),疊加兩個(gè)卷積層和一個(gè)激發(fā)層,另外增加了跳躍連接,形成局部殘差學(xué)習(xí)。全局殘差學(xué)習(xí)主要用于圖像重構(gòu)。DSRNLP建立了一個(gè)具有緊密連接結(jié)構(gòu)的模型。低水平卷積特征傳遞到上層并與之連接,疊加信道,充當(dāng)信號(hào)增益。在實(shí)驗(yàn)中,DSRNLP還使用了一個(gè)1×1卷積層來(lái)構(gòu)造過(guò)渡層,該過(guò)渡層將附加的多通道特征映射返回指定的通道數(shù),然后輸出到反卷積模塊進(jìn)行上采樣。實(shí)驗(yàn)中使用的模型包含8個(gè)單元,每個(gè)單元含有2個(gè)遞歸模塊。網(wǎng)絡(luò)結(jié)構(gòu)中的激活函數(shù)使用LeakyReLU。與傳統(tǒng)的Sigmoid算法相比,該算法能有效地防止梯度傳輸中的梯度消失現(xiàn)象,有利于深層疊加卷積網(wǎng)絡(luò)的訓(xùn)練。
圖2 DSRNLP結(jié)構(gòu)圖Fig.2 DSRNLP structure diagram
圖3 SERS結(jié)構(gòu)圖Fig.3 SERS structure diagram
在早期的研究中,超分辨率尺度通常是固定的,如果需要多次放大,則需要對(duì)多個(gè)模型進(jìn)行訓(xùn)練。為了使同一個(gè)網(wǎng)絡(luò)能夠同時(shí)訓(xùn)練,包括多次訓(xùn)練,DSRNLP使用了拉普拉斯金字塔結(jié)構(gòu)(Laplacian Pyramid),如圖 4 所示。
圖4 拉普拉斯金字塔結(jié)構(gòu)Fig.4 Laplacian pyramid structure
此外,DSRNLP不需要雙三次插值輸入,而是直接輸入低分辨率圖像。DSRNLP采用反卷積方法對(duì)圖像進(jìn)行放大,然后從特征提取支路中計(jì)算殘差。然后將殘差和反卷積放大結(jié)果疊加形成高分辨率圖像,再對(duì)y通道圖像重新編碼形成最終圖像。
DSRNLP采用了沙博尼耶損失(Charbonnier loss)作為損失函數(shù)(見公式2),其中Lu是每個(gè)單元的損失,N是每批圖像的數(shù)量,L表示超分辨率分支的數(shù)量。y?s和ys分別是生成的高分辨率圖像和真實(shí)的高分辨率圖像。ε是超參數(shù),被設(shè)置為0.001,類似于LapSRN中使用的值,x是由每個(gè)單元外部的上采樣反卷積層生成的低質(zhì)量圖像是一個(gè)分支。
然后計(jì)算每個(gè)單位的平均損失,以得到一個(gè)U單位的分支總損失,如公式3所示
SERS:
圖3所示是SERS網(wǎng)絡(luò)模型架構(gòu)。SERS使用遞歸結(jié)構(gòu)構(gòu)建模型,使SESR能夠在不帶更多參數(shù)的情況下增加遞歸深度。在SESR模型中,低分辨率圖像直接饋入網(wǎng)絡(luò)并通過(guò)卷積層進(jìn)入遞歸單元。當(dāng)從擠壓和激勵(lì)輸出增強(qiáng)殘余塊(SE-ResBlock)時(shí),特征重新輸入到遞歸單元。最后,輸出進(jìn)入重建網(wǎng)絡(luò)以獲得高分辨率圖像。與DRCN不同,SERS采用漸進(jìn)重建方法,只在不同尺度超分辨率分支的每一端進(jìn)行監(jiān)督,而不是在每次遞歸時(shí)監(jiān)督,這顯著減少了計(jì)算量。SERS采用局部殘差學(xué)習(xí)和全局殘差學(xué)習(xí),該模型中的跳躍連接使其易于收斂。一個(gè)分支中的總層數(shù)為27,但是獲得了比那些更深層次模型更高的性能。
受SENet[21]的啟發(fā),SESR引入了SE模塊,使超分辨率模型更有效。通過(guò)強(qiáng)調(diào)重要特征并抑制通道之間的無(wú)用功能,擠壓和激勵(lì)將使網(wǎng)絡(luò)更加強(qiáng)大。為了壓縮每個(gè)通道的全局空間信息,SESR模仿SENet,在該模型中使用了全局平均池化。SESR中的擠壓函數(shù)如下所示:
其中xc是擠壓通道的第c個(gè)元素,S()是擠壓函數(shù)。uc是輸入的第c個(gè)通道。H和W表示輸入的高度和寬度。
激勵(lì)函數(shù)如下式所示:
其中E()是激勵(lì)函數(shù),x是輸入來(lái)自前一層的壓縮信號(hào)。σ表示Sigmoid函數(shù)。Wu和Wd表示1×1卷積層Conv Up和Conv Down,如圖5所示。
由于Lim等人發(fā)現(xiàn)刪除batch normalization(BN)層將改善超分辨率網(wǎng)絡(luò)的性能。因此,SERS刪除了所有BN層。然后SERS將擠壓和激勵(lì)模塊添加到模塊中。SESR中使用的SE-ResBlock如圖5所示。SERS首先通過(guò)堆疊與Leaky ReLU交錯(cuò)的卷積層來(lái)構(gòu)建模塊。然后SERS將SE模塊放入模塊中。與原始SENet相比,SERS在SE模塊中使用了1x1卷積層而不是全連接層。每個(gè)SE殘差塊中前兩個(gè)卷積層中的信道數(shù)是64,而第三個(gè)卷積層中的信道數(shù)增加了4倍,接著是SE模塊。在SE模塊中,擠壓是通過(guò)全局平均池化來(lái)完成的。
圖5 SE-ResBlockFig.5 SE-ResBlock
實(shí)驗(yàn)中同樣采用了沙博尼耶損失(Charbonnier loss)作為損失函數(shù)(見下面公式),其中Lu是每個(gè)單元的損失,N是每批圖像的數(shù)量,L表示超分辨率分支的數(shù)量。y?s和ys分別是生成的高分辨率圖像和真實(shí)的高分辨率圖像,ε設(shè)置為0.001。
實(shí)驗(yàn)采用pytorch作為深度學(xué)習(xí)框架,使用GPU對(duì)處理過(guò)程加速,實(shí)驗(yàn)所用到的軟硬件環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境表Table 1 Experimental environment table
在農(nóng)作物發(fā)生的病害中,草莓葉枯病、番茄瘡痂病、番茄黃化曲葉病毒病、番茄花葉病毒病、番茄晚疫病菌、番茄葉霉病、辣椒瘡痂病、蘋果黑星病、葡萄黑腐病、葡萄黑腐病、玉米花葉病毒病等病害較為高發(fā),且很難根據(jù)普通葉片快速且準(zhǔn)確地判斷出其病害程度,因此,選取這10種農(nóng)作物病害葉片圖像作為實(shí)驗(yàn)的研究對(duì)象,其病害的葉片的一般圖像如圖6所示。實(shí)驗(yàn)測(cè)試圖片集為以上10種病害葉片的圖像,圖片均來(lái)源于網(wǎng)絡(luò),且經(jīng)過(guò)篩選和處理,由于實(shí)驗(yàn)所用的網(wǎng)絡(luò)已經(jīng)訓(xùn)練好,所以只需要選取100張測(cè)試圖片集。
實(shí)驗(yàn)在利用深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行超分辨率重建前,只需要用到python中的skimage對(duì)測(cè)試集的scale進(jìn)行切邊緣預(yù)處理。
如圖 1、2、3 所示,分別是 LapSRN、DSRNLP、SERS的網(wǎng)絡(luò)架構(gòu)。相比較而言,SERS具有更加合理的架構(gòu),而且參數(shù)也少于其他兩個(gè)網(wǎng)絡(luò)模型。
實(shí)驗(yàn)在LapSRN、DSRNLP、SERS的基礎(chǔ)上分別進(jìn)fine-tuning來(lái)適應(yīng)實(shí)驗(yàn)的圖片集,因此可以在初始化時(shí)保留大部分原有模型中的權(quán)重,這樣可以比從頭重新訓(xùn)練節(jié)約大量時(shí)間,提高效率。
實(shí)驗(yàn)我們使用PSNR(Peak Signal to Noise Ratio峰值信噪比)和SSIM(Structural Similarity結(jié)構(gòu)相似性)來(lái)評(píng)價(jià)實(shí)驗(yàn)結(jié)果的優(yōu)劣。峰值信噪比可以用以下公式計(jì)算,直接表示圖像像素尺寸上的差異。
其中MSE可以作為公式計(jì)算:
PSNR是最普遍和使用最為廣泛的一種圖像客觀評(píng)價(jià)指標(biāo),然而它是基于對(duì)應(yīng)像素點(diǎn)間的誤差,即基于誤差敏感的圖像質(zhì)量評(píng)價(jià)。由于并未考慮到人眼的視覺特性(人眼對(duì)空間頻率較低的對(duì)比差異敏感度較高,人眼對(duì)亮度對(duì)比差異的敏感度較色度高,人眼對(duì)一個(gè)區(qū)域的感知結(jié)果會(huì)受到其周圍鄰近區(qū)域的影響等),因而經(jīng)常出現(xiàn)評(píng)價(jià)結(jié)果與人的主觀感覺不一致的情況。因此,實(shí)驗(yàn)也引入了另一個(gè)評(píng)價(jià)指標(biāo)SSIM(一種全參考的圖像質(zhì)量評(píng)價(jià)指標(biāo),它分別從亮度、對(duì)比度、結(jié)構(gòu)三方面度量圖像相似性。SSIM取值范圍[0,1],值越大,表示圖像失真越小),來(lái)評(píng)價(jià)實(shí)驗(yàn)結(jié)果。
圖6 樣本病害葉片圖Fig.6 Sample disease leaf diagram
實(shí)驗(yàn)使用自建的農(nóng)作物病害葉片的數(shù)據(jù)集分別在LapSRN、DSRNLP、SERS等三種網(wǎng)絡(luò)模型上進(jìn)行實(shí)驗(yàn),同時(shí)還用到了Bicubic和ScSR等傳統(tǒng)方法處理自建的農(nóng)作物病害葉片的數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果如表2所示。
表2 五種方法的PSNR/SSIM值Table 2 PSNR/SSIM values of the five methods
圖7所示的是實(shí)驗(yàn)的可視化結(jié)果,我們從每個(gè)重建的圖像中的相同位置裁剪出子圖像,以顯示每種方法的質(zhì)量細(xì)節(jié)。
圖7 實(shí)驗(yàn)圖像細(xì)節(jié)圖Fig.7 Experimental image detail map
實(shí)驗(yàn)使用了深度學(xué)習(xí)下的圖像超分辨率網(wǎng)絡(luò)模型LapSRN、DSRNLP、SERS對(duì)草莓葉枯病、番茄瘡痂病、番茄黃化曲葉病毒病、番茄花葉病毒病、番茄晚疫病菌、番茄葉霉病、辣椒瘡痂病、蘋果黑星病、葡萄黑腐病、葡萄黑腐病、玉米花葉病毒病等10種病害圖像進(jìn)行超分辨率重建。
同時(shí),實(shí)驗(yàn)用到了Bicubic和ScSR兩種傳統(tǒng)方法作為對(duì)比,所得的PSNR值均分別為13.910和13.957,均未超過(guò)15,且SSIM值分別為0.346和0.530均未超過(guò)0.6。而實(shí)驗(yàn)所選取的基于深度學(xué)習(xí)的超分辨率網(wǎng)絡(luò)模型LapSRN、DSRNLP、SERS所得出的PSNR值都接近30,且SSIM值都超過(guò)了0.6。此外與LapSRN、DSRNLP相比,SERS具有更加合理的架構(gòu),所得的結(jié)果也優(yōu)于LapSRN和DSRNLP。
從實(shí)驗(yàn)結(jié)果可以看出,深度學(xué)習(xí)下的圖像超分辨率網(wǎng)絡(luò)模型的PSNR和SSIM值較傳統(tǒng)的圖像超分辨率方法的PSNR和SSIM值提高了很多,且輸出實(shí)驗(yàn)圖片的質(zhì)量也明顯優(yōu)于傳統(tǒng)的圖像超分辨率方法。這也證明了基于深度學(xué)習(xí)的超分辨率方法的優(yōu)越性。
同時(shí),與傳統(tǒng)的方法相比,基于深度學(xué)習(xí)的超分辨率方法不僅在性能上要優(yōu)于它們,在圖像預(yù)處理方面的工作也減少了很多,這使得基于深度學(xué)習(xí)的超分辨率方法也具有更強(qiáng)的實(shí)用性。
深度學(xué)習(xí)在圖像超分辨率重建技術(shù)中具有非常廣泛的應(yīng)用前景,并已經(jīng)成為目前的研究熱點(diǎn)。很多相關(guān)的工作都為這類超分辨方法在深度網(wǎng)絡(luò)類型和結(jié)構(gòu)的建立、發(fā)展以及訓(xùn)練方式上都做出了很多的貢獻(xiàn)。展望往后的發(fā)展方向,仍然存在著很多挑戰(zhàn)和機(jī)遇。
深層神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間過(guò)長(zhǎng),易于過(guò)擬合,使得模型建立及推廣能力較差,如何改造深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法,使其能夠快速被訓(xùn)練好,從而大幅度減少訓(xùn)練時(shí)間而且保證模型推廣性能良好,是一個(gè)需要解決的重要問(wèn)題。同時(shí),訓(xùn)練一個(gè)深層次的網(wǎng)絡(luò)模型需要耗費(fèi)大量的GPU,因此如何改造深層模型,使其能夠有效地結(jié)合GPU以及分布式計(jì)算等并行加速技術(shù)也是值得我們?nèi)タ紤]的問(wèn)題。
針對(duì)低質(zhì)量得人臉、車牌、醫(yī)學(xué)影像等特定應(yīng)用領(lǐng)域,設(shè)計(jì)專用的深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行超高質(zhì)量的重建。如何將特定領(lǐng)域的先驗(yàn)信息與深度網(wǎng)絡(luò)結(jié)構(gòu)、代價(jià)函數(shù)以及訓(xùn)練方式結(jié)合同樣是值得研究的方向[22]。
現(xiàn)實(shí)中很多媒體應(yīng)用中獲得的低質(zhì)量圖像往往是由于多種因素并存所導(dǎo)致的結(jié)果。比如監(jiān)控視頻中獲取的人臉圖像,它同時(shí)存在低分辨率、失焦模糊、運(yùn)動(dòng)模糊、壓縮失真和噪聲等降質(zhì)問(wèn)題。傳統(tǒng)的超分辨率方法在處理這些問(wèn)題時(shí),結(jié)果往往都不是太好。所以,如果能夠借助深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力,開展多種降質(zhì)因素協(xié)同處理方法的研究,將具有很高的價(jià)值[22]。
總之,基于深度學(xué)習(xí)的圖像超分辨率重建技術(shù)已經(jīng)顯示出其巨大的潛力和很高的實(shí)用價(jià)值,人類也會(huì)從這項(xiàng)技術(shù)中不斷受益,但是仍然有許多工作需要去做,希望未來(lái)會(huì)出現(xiàn)越來(lái)越多研究者去開展更多具有創(chuàng)造性的工作。