楊宇輝 劉昌華
摘要:大田油菜花航拍圖像由于光照因素、氣候影響、硬件條件成本限制等原因,所拍出的圖片往往較為模糊,效果不佳。為了解決這一問題,提出一種基于快速卷積神經(jīng)網(wǎng)絡的大田油菜花圖像超分辨率重建算法(AFSRCNN),通過基于深度學習的方法,在卷積神經(jīng)網(wǎng)絡圖像超分辨率(SRCNN)上進行網(wǎng)絡的加深和優(yōu)化,增加了反卷積層和小感受野卷積核。與傳統(tǒng)的雙三次插值法和卷積神經(jīng)網(wǎng)絡超分辨率(SRCNN)重建的圖像結(jié)果相比較,該算法計算所得的圖像的平均峰值信噪比(PSNR)分別高1.590 dB和0.335 dB。實驗結(jié)果表明,將此算法應用到大田油菜圖像超分辨率重建問題中,可以得到更豐富的油菜輪廓信息,重建出更加優(yōu)質(zhì)的高分辨率圖像。
關(guān)鍵詞:航拍圖像;快速卷積神經(jīng)網(wǎng)絡;反卷積層;峰值信噪比;高分辨率圖像
中圖分類號:TP301.6文獻標志碼:A文章編號:1008-4657(2020)03-0012-07
0?引言
我國作為人口大國和農(nóng)業(yè)大國,對于糧油的需求量一直很大。居民日常食用的菜籽油營養(yǎng)豐富,油菜餅粕作為優(yōu)質(zhì)的蛋白質(zhì)飼料和肥料也被廣泛的應用于種植業(yè)和畜牧業(yè),為農(nóng)民帶來了可觀的收益[1]。我國油菜花田的種植面積和總產(chǎn)量均占世界的1/3[2],油菜充當著我國最為重要的油料作物和優(yōu)質(zhì)的蛋白質(zhì)作物,因此如何種植出更為優(yōu)質(zhì)的油菜是我們目前所面臨的問題。
隨著現(xiàn)代智慧農(nóng)業(yè)的推廣和數(shù)字圖像處理技術(shù)的不斷發(fā)展,無人機作為精準農(nóng)業(yè)航空[3]的重要傳感設備,以其全自動飛行、厘米級定位、自主航線規(guī)劃等得天獨厚的優(yōu)勢,在大田油菜花圖像采集中發(fā)揮著至關(guān)重要的作用。為保證油菜品質(zhì),需要利用無人機航拍對其生長狀況以及花期識別做到實時監(jiān)測和圖像采集,但由于航拍時受限于光照強度、氣候影響和無人機攝像頭硬件成本等因素,采集的油菜田圖像集中存在小部分圖片較為模糊、田埂之間紋理以及油菜花分布細節(jié)不清晰等問題,為解決這方面的問題,就需要修復重建,提高其圖像質(zhì)量。
圖像超分辨率重建技術(shù)旨在將一幅退化過后的低分辨率圖像還原成一張高分辨圖像,該技術(shù)可以有效地克服因傳感器成像過程中出現(xiàn)的噪音干擾、模糊等一系列退化因素的影響,在圖像處理、計算機視覺和數(shù)學應用等領(lǐng)域發(fā)揮著重要的作用[4],同時在醫(yī)療、航天、工業(yè)控制等領(lǐng)域有著廣闊的應用前景。由Keys[5]提出的基于雙三次插值的超分辨率方法利用像素點的值對周圍的像素點進行擴充以得到高分辨率圖像。在基于重建的方法中由Irani等[6]提出的迭代反向投影算法,通過迭代更新投影的初始估計得到的低分辨率圖像與原圖像的計算誤差來進行反向投影以輸出高分辨率圖像。雖然這兩種方法簡單高效,但是所得的圖像會產(chǎn)生更為平滑的邊,細節(jié)上還有很多不足,模糊問題無法得到解決。隨后由Yang等[7]提出的稀疏表示的方法拉開了基于學習的超分辨率重建技術(shù)的序幕,而由Dong等[8]提出的SRCNN(Super Resolution Convolutional Neural Net-work),更是將深度學習與其中經(jīng)典的卷積神經(jīng)網(wǎng)絡應用到了圖像超分辨重建領(lǐng)域,在重建出的高分辨率圖像方面取得了傲人的成績。
為了更加充分地突出大田油菜圖像的細節(jié)信息,本文仍采用深度學習的方法,基于SRCNN中整體網(wǎng)絡計算復雜度過大,利用FSRCNN[9]的網(wǎng)絡模型框架,提出了一種快速卷積神經(jīng)網(wǎng)絡的大田油菜花圖像超分辨率重建算法(AFSRCNN)。將縮小后的原始圖像運用不同大小的卷積核層層提取圖像特征;為避免SRCNN網(wǎng)絡中的計算量過大而影響整體的網(wǎng)絡訓練速度,通過在普通的6層3 × 3的卷積核兩側(cè)分別加入兩個1 × 1的不同維度的卷積核來實現(xiàn)網(wǎng)絡訓練速度的提升;并在最后利用反卷積層進行采樣與圖像特征的最終提取,從而達到了對大田油菜花圖像的細節(jié)還原。
1?SRCNN算法原理
SRCNN算法屬于監(jiān)督式學習,對于由無人機航拍的大田油菜的自然圖片,利用深度學習理論,搭建一個基于卷積神經(jīng)網(wǎng)絡超分辨率模型3層特征提取,完成由低分辨率圖像到高分辨率圖像之間的映射。該算法首先利用原始圖像,通過雙三次插值法并設置升級因子放大到與要還原的高分辨率圖像尺寸一樣的大小,再通過一層特征提取層提取特征圖像,并在下一層完成非線性的特征映射,最后經(jīng)過一層重建層還原出高分辨率的大田油菜圖片,該網(wǎng)絡結(jié)構(gòu)如圖1所示。
網(wǎng)絡通過ReLU[10]作為激活函數(shù)以增強網(wǎng)絡的非線性表達能力,其公式如下
SRCNN網(wǎng)絡整體結(jié)構(gòu)較為精簡,能夠通過卷積神經(jīng)網(wǎng)絡應用于圖像處理的問題,重建出高分辨率的圖像。但該算法的缺陷在于在圖像預處理上,因為使用了雙插值算法增加了運算的復雜度;另外由于網(wǎng)絡層數(shù)的精簡致使重建質(zhì)量無法達到更佳。
2?本文算法
相較于SRCNN而言,在圖像的預處理方面,由原來將原始圖像X按照尺度因子大小進行采樣,通過雙三次插值法以同等比例的升級因子放大上采樣,改為僅僅將圖像進行采樣,得到低分辨率圖像Y,相當于直接將原始圖像尺寸縮小作為網(wǎng)絡模型的輸入,從而減少了運算的復雜度。
針對顏色通道的處理方面,我們首先將原始的RGB圖像轉(zhuǎn)換成YCbCr的顏色空間。由于人眼僅對亮度通道敏感,所以為了降低網(wǎng)絡模型的計算量,我們僅輸入Y通道進行重建。剩下的Cb、Cr通道在Y通道完成網(wǎng)絡映射之后,再進行通道合并,重建出一幅高分辨率彩色大田油菜圖像。
2.1?網(wǎng)絡模型
網(wǎng)絡模型如圖2所示,可分為五個部分,分別為特征提取層、收縮層、特征映射層、擴張層和反卷積層,整個網(wǎng)絡結(jié)構(gòu)共有十層,形狀呈“沙漏”狀。前四個部分都是不同核大小普通卷積層,最后一個部分為反卷積層。
首先第一層為特征提取層,運用56個核大小為5、通道為1的卷積核(后續(xù)所有卷積核通道數(shù)均為1)對輸入的原始油菜田圖像的基本紋理細節(jié)進行粗略的特征信息提取,由低分辨率圖像Y到高分辨率圖像F(Y)之間的映射關(guān)系為F,該過程可以表示為F1(Y),第一層輸入Z1為
其中W1為卷積核大小,可表示為56 × 5 × 5 × 1,Y為下采樣后的原始低分辨率圖像,B1為該卷積層的偏置項。而對于前四個部分所用到的激活函數(shù),我們在這里采用PReLU代替原SRCNN中的ReLU,PReLU的函數(shù)形式為
其中xi是激活函數(shù)f(xi)在第i個通道上的輸入信號,這里默認為1,ai則是負數(shù)部分的系數(shù)。相比較ReLU而言,它們負數(shù)部分的系數(shù)是不同的。傳統(tǒng)的ReLU負數(shù)部分為0,而且經(jīng)常容易在零梯度時產(chǎn)生“壞死特征”,但對于PReLU來說這樣設置參數(shù)是可學習的,并且激活性能更加穩(wěn)定。通過激活函數(shù)得到第一層輸出F1(Y)。
2.1.1?收縮層與擴張層
當?shù)玫降谝粚虞敵龊?,粗略提取的特征信息進入收縮層。收縮層與擴張層實際上都是由核大小為1 × 1但維度不同的卷積核所組成,之所以在收縮層中利用12個1 × 1這種“小感受視野”的卷積核是因為它起到特征降維,節(jié)省計算量作用,另外還可以增加模型非線性表達能力。該層輸入Z2和通過激活函數(shù)輸出的F2(Y)表達式過程分別為
其中,W2為卷積核大小,可表示為12 × 1 × 1 × 1,B2為收縮層卷積層的偏置項。
非線性映射層則是影響超分辨率性能的最重要部分,影響最大的因素是卷積核數(shù)量和維度。為構(gòu)建一個更高效的映射層,我們使用核大小為33的卷積核,這樣,在性能和網(wǎng)絡規(guī)模之間進行權(quán)衡,通過借鑒SRCNN的實驗發(fā)現(xiàn),網(wǎng)絡模型中使用的卷積核大小種類越多,性能就越好,為了保持與SRCNN相同的良好性能,在映射部分使用6層每層12個3 × 3卷積核來代替單個寬層,于是W3=W4=W5=W6=W7=W8=12 × 3 × 3 × 1。
接下來在第8層(擴張層)中,該層與收縮層的作用正好相反,是來進行維度擴張的。加這一層的主要目的是為了彌補在非線性映射中重建的高分辨率圖像所產(chǎn)生的效果不理想的問題,以此來擴展特征圖像的維度,為保證與收縮層卷積核大小的一致性,同樣使用1 × 1的卷積核,而維度則為56。前面八層輸出可表示為F8(Y)這里第九層輸入Z9和輸出F9(Y)表達式過程分別為
2.1.2?反卷積層
最后一個部分是反卷積deconv層,使用一組反卷積的卷積核對前面的特征進行采樣和聚集。對于反卷積,可以看作是一種卷積的逆過程、逆運算。在卷積層設置步長stride時若設置為n,則輸出圖像尺寸是輸入圖像尺寸的1n倍。相反,在反卷積中若設置卷積步長為n,則輸出圖像尺寸是輸入的n倍。將圖像預處理中通過升級因子縮小的原始圖像,模型在經(jīng)過了9層卷積的過程中通過反卷積層,按升級因子放大到原始圖像的尺寸,其過程如下
其中,反卷積核W10為1 × 9 × 9 × 1,stride= 3,B10為該層偏置項,步長與升級因子相同,最后一層沒有用激活函數(shù),最終重建出與原始圖像尺寸相同的高分辨率圖像。
2.2?損失函數(shù)
為重建圖像與原圖像更加接近,在損失函數(shù)上仍選取MSE均方誤差函數(shù)作為預測值和真實值之間的平方和的平均數(shù)[11],也就是重建的高分辨率圖像與原始圖像像素之間的插值(歐氏距離),這個差值越小,表示重建的結(jié)果越好。損失函數(shù)形式如下
其中θ表示各層網(wǎng)絡中的參量的集合向量θ={W1,W2,…,B1,B2,…},Xi表示原始圖像,Yi為重建的高分辨率圖像,n是訓練的樣本個數(shù)。在網(wǎng)絡不斷迭代學習的過程中,利用反向傳播算法[12]各層的網(wǎng)絡參數(shù)按照損失函數(shù)的像素差值使得和也在不斷更新,以達到更好的重建效果。
3?實驗與分析
3.1?圖像質(zhì)量評價標準
除了通過肉眼的觀測來主觀的評價一張圖像重建質(zhì)量的好壞之外,另外我們還需要選取一種更為精準的評價圖像質(zhì)量的標準,在此模型中,平均峰值信噪比(PSNR)[13]作為目前廣泛應用于評測圖像質(zhì)量的指標之一無疑是最好的選擇。而計算PSNR要先知道MSE的差值,公式如下
其中MSE為前文的均方誤差值,按照其評價標準,PSNR的值越高(其值的單位為dB),所重建的高分辨率圖像質(zhì)量就越好。
3.2?實驗參數(shù)設置
本文所采集的航拍油菜田圖片數(shù)據(jù),均由中國農(nóng)業(yè)科學院油料作物研究所種質(zhì)資源研究室采用無人機設備在規(guī)?;N植的油菜田中航拍所得。與Set5[14]和Set14[15]中的Image_91和General_100數(shù)據(jù)集相比,本文訓練集圖像內(nèi)存較大,為減小單張圖像的內(nèi)存和尺寸大小,于是將訓練集中的十幾張高分辨率圖像裁剪出50張圖片,通過鏡像垂直翻轉(zhuǎn)的操作把這50張圖片擴充一倍,得到100幅圖像,再對這100幅圖像分別進行逆時針旋轉(zhuǎn)0°、90°、180°、270°,所以此次總共的訓練的圖片集數(shù)據(jù)共有400張。進行實驗之前首先對訓練的樣本數(shù)據(jù)做預處理,先預設升級因子為3,將圖片尺度按Bicubic[16](雙三次插值法)下采樣縮小3倍,將圖片由RGB轉(zhuǎn)為YCbCr的顏色通道,并只對Y通道進行訓練。
整個網(wǎng)絡是在caffe網(wǎng)絡框架上搭建的,在網(wǎng)絡訓練過程中有如下的全局參數(shù)設置:網(wǎng)絡總體的基礎(chǔ)學習率固定為0.001,momentum為0.9,網(wǎng)絡共10層,前9層卷積層中的pad為0,stride為1,最后的反卷積層stride為3,pad為4,與升級因子3相同,以保證原始圖像與重建圖像尺寸大小一致。整個實驗過程在win10系統(tǒng)下通過matlab進行仿真實現(xiàn),實驗完整硬件配置如下:處理器AMD Ryzen 5 3600X 6-Core六核;內(nèi)存16 GB DDR4 3200 MHz;GPU為Nvidia GeForce RTX 2060 SUPER(8 GB/Nvidia)。軟件部分配置如下:Windows10專業(yè)版64位(DirectX 12);caffe;matlab2018a;CUDA10.0;CUDNN10.1。
3.3?實驗結(jié)果與分析
整個網(wǎng)絡模型全程通過GPU加速訓練十萬次,為了對比SRCNN算法與雙三次插值算法,利用本文自建的數(shù)據(jù)集,同樣對SRCNN模型訓練十萬次。首先要體現(xiàn)本文算法在訓練速度上的優(yōu)勢。在訓練過程中,分別記錄了兩種模型訓練10 000次、50 000次和100 000次的總耗時進行對比,如表1所示。由于兩種算法模型的復雜度不同,所以在迭代訓練時有一定的時間差距。
從表1數(shù)據(jù)來看,本文算法在訓練模型的速度上優(yōu)于SRCNN模型。
本次實驗的測試集為保證隨機性,從未經(jīng)過訓練的航拍高分辨率油菜田圖像中任意選取了七張作為測試集,實驗結(jié)果分別由主觀評價和客觀評價指標來驗證。下面從測試集中選取了三張圖像編號分別為1、2、3的大田油菜圖通過主觀評價來對比幾種算法的結(jié)果,如圖3~6所示。
為了更加直觀的通過肉眼感知,圖3~6都是通過矩形框選取圖中的感興趣區(qū)域進行局部放大以便觀察。從人眼主觀評價分析,圖4的Bicubic插值算法所重建的圖像無論是在土壤紋理的細節(jié)上,還是油菜花從的邊緣方面,都有比較嚴重的振鈴現(xiàn)象和偽影,較為模糊,重建質(zhì)量有所欠缺??梢酝ㄟ^肉眼發(fā)現(xiàn),圖5、圖6和圖4相比較,有了較為明顯的改善,說明SRCNN與本文算法所重建的圖像都能高度還原出原始圖像的細節(jié)信息。
三種算法對大田油菜圖像重建后的PSNR值如表2所示。
由表2可知,基于深度學習的重建算法SRCNN所重建的圖像要比傳統(tǒng)的Bicubic插值算法的平均PSNR值要高1.255 dB,而本文算法又要比SRCNN的平均PSNR值要高0.335 dB,比Bicubic插值算法高1.590 dB,由此可得,本文算法的峰值信噪在三種算法中最高。
為驗證本文訓練數(shù)據(jù)集要優(yōu)于傳統(tǒng)的Image_91和General_100訓練集,在實驗中,另外又利用本文模型分別對三個訓練集進行100 000萬次訓練,使用相同測試集進行測試結(jié)果比較,所計算的平均PSNR值如表3所示。
由表3可知,本文訓練集所重建的油菜圖像的平均PSNR值最高。雖然Image_91和General_100訓練集選取的圖像已充分捕獲到自然圖像的變化性,但就大田油菜圖像的針對性而言,卻不如本文只從航拍油菜圖像中選取的訓練集效果好。
4?結(jié)束語
本文提出了一種基于快速卷積神經(jīng)網(wǎng)絡的圖像超分辨率算法,鑒于SRCNN模型只有3層卷積層,無法更細致還原出高分辨率圖像,在網(wǎng)絡模型上采用卷積和反卷積相結(jié)合的方式,利用6層映射層,完成了圖像從粗略的特征提取到細致的圖像映射過程。再通過反卷積層解決圖像的尺度和特征提取問題,當使用大田油菜圖像作為訓練數(shù)據(jù)集時,不需要大量的數(shù)據(jù)圖片集就能夠有效的重建出高分辨率圖像。
使用本文算法(AFSRCNN)利用深度學習理論的圖像超分辨率重建圖像,質(zhì)量高于傳統(tǒng)的雙三次插值算法和SRCNN算法。在航拍圖像所受限于傳感器帶來的成本問題以及天氣原因的情況下,通過AFSRCNN可以較為有效的解決大田油菜圖像模糊、油菜輪廓不清晰的問題,能重建出更高質(zhì)量的高分辨率圖像。
不足的是,本文算法在模型深度上雖有較大幅度的增加,但是在訓練過程中,仍然需要花費較長時間。所以后續(xù)的工作中對于模型訓練中,使用隨機梯度下降的方法還有待改進。
參考文獻:
[1] 陳兆波,余健.我國油菜生產(chǎn)形勢分析及科研對策研究[J].中國油料作物學報,2010,32(2):303-308.
[2] ?劉榮家,葉兵.“花田”在中國發(fā)展的可行性分析——以油菜花田和菊花田為例[J].現(xiàn)代園藝,2017(15):48-50.
[3] ?蘭玉彬,鄧小玲,曾國亮.無人機農(nóng)業(yè)遙感在農(nóng)作物病蟲草害診斷應用研究進展[J].智慧農(nóng)業(yè),2019,1(2):1-19.
[4] ?龍超.圖像超分辨率重建算法綜述[J].科技視界,2015(13):88-89.
[5] ?Keys R G.Cubic Convolution Interpolation for Digital Image Processing[J].IEEE Transactions on Acoustics Speech & Signal Processing,1982,29(6):1 153-1 160.
[6] ?Irani M,Peleg S.Improving Resolution by Image Registration[J].CVGIP:Graphical Models and Image Processing,1991,53(3):231-239.
[7] ?Yang Jianchao,Wright J,Huang T S,et al.Image Super-resolution Via Sparse Representation[J].IEEE Transactions on Image Processing:A Publication of the IEEE Signal Processing Society,2010,19(11):2 861-2 873.
[8] ?Dong C,Loy C C,He K,et al.Learning a Deep Convolutional Network for Image Super-resolution[C]//European Conference on Computer Vision.Springer:Cham,2014.
[9] ?Dong Chao,Loy Chen Change,He Kaiming,et al.Image Super-resolution Using Deep Convolutional Networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2016,38(2):295-307.
[10] ?Krizhevsky A,Sutskever I,Hinton G E.Imagenet Classification with Deep Convolutional Neural Networks[J].Communications of the ACM,2017,60(6):84-90.
[11] ?倪申龍,曾接賢,周世健.整體車牌圖像超分辨率重建研究[J].計算機技術(shù)與發(fā)展,2019,29(4):195-199.
[12] ?雷為民,王玉楠,李錦環(huán).基于FSRCNN的圖像超分辨率重建算法優(yōu)化研究[J].傳感器與微系統(tǒng),2020,39(2):54-57.
[13] ?陳文靜,唐軼.基于深度學習的圖像超分辨率重建方法綜述[J].云南民族大學學報(自然科學版),2019,28(6):597-605.
[14] ?曾接賢,倪申龍.改進的卷積神經(jīng)網(wǎng)絡單幅圖像超分辨率重建[J].計算機工程與應用,2019,55(13):1-7.
[15] ?孫旭,李曉光,李嘉鋒,等.基于深度學習的圖像超分辨率復原研究進展[J].自動化學報,2017,43(5):697-709.
[16] ?劉超,張曉暉,胡清平.圖像超分辨率卷積神經(jīng)網(wǎng)絡加速算法[J].國防科技大學學報,2019,41(2):91-97.
[責任編輯:許立群]