劉 慧 姜建濱 沈 躍 賈衛(wèi)東 曾 瀟 莊珍珍
(1.江蘇大學(xué)電氣信息工程學(xué)院,鎮(zhèn)江 212013;2.江蘇大學(xué)農(nóng)業(yè)工程學(xué)院,鎮(zhèn)江 212013)
我國(guó)是果業(yè)大國(guó),露天果園環(huán)境的病蟲(chóng)害防治主要途徑是農(nóng)藥噴灑。隨著我國(guó)農(nóng)業(yè)機(jī)械化水平的提高和現(xiàn)代化果園的規(guī)模化種植,果園噴霧機(jī)器人成為林果園植保機(jī)械的重要研究?jī)?nèi)容和發(fā)展方向[1-2]。果園噴霧機(jī)器人的噴霧決策離不開(kāi)果園環(huán)境感知,尤其是靶標(biāo)識(shí)別,目前常用的果園噴霧靶標(biāo)探測(cè)技術(shù)包括超聲波探測(cè)、紅外線(xiàn)探測(cè)、激光雷達(dá)探測(cè)等[3-4]。紅外傳感器易受光照強(qiáng)度影響且只能探測(cè)靶標(biāo)的有無(wú),無(wú)法探測(cè)靶標(biāo)的形態(tài)特征;超聲波探測(cè)精度低,范圍小,需多傳感器配合;激光雷達(dá)成本較高[5]。果園場(chǎng)景的實(shí)時(shí)感知和多目標(biāo)分割,能夠?yàn)閲婌F機(jī)器人的變量施藥和安全作業(yè)提供有效決策,是果園噴霧機(jī)器人精準(zhǔn)作業(yè)的重要前提和保障[3]。近些年來(lái),計(jì)算機(jī)視覺(jué)、圖像處理技術(shù)在農(nóng)業(yè)生產(chǎn)中得到了廣泛的應(yīng)用[6-9]?;谏疃葘W(xué)習(xí)的語(yǔ)義分割[10-13]和目標(biāo)檢測(cè)[14-15]已成為大量學(xué)者的研究方向,果園噴霧機(jī)器人使用計(jì)算機(jī)視覺(jué)技術(shù)對(duì)周?chē)鷪?chǎng)景實(shí)時(shí)檢測(cè),對(duì)靶標(biāo)精準(zhǔn)識(shí)別,可以提高農(nóng)藥利用率,從而減少農(nóng)藥污染。
近些年來(lái),學(xué)者們提出了一系列基于深度學(xué)習(xí)的圖像語(yǔ)義分割方法[16],其中DeepLab V3+在PASCAL VOC 2012和Cityscapes數(shù)據(jù)集上分別達(dá)到89.0%和82.1%的測(cè)試集性能[17],其精度可以滿(mǎn)足在果園環(huán)境下分割達(dá)到較高準(zhǔn)確率的要求。但其主干網(wǎng)絡(luò)Xception[18]計(jì)算量大,消耗大量顯存,且模型占用計(jì)算機(jī)內(nèi)存大,尚未滿(mǎn)足在機(jī)器人移動(dòng)設(shè)備上部署的要求。
為了保證果園噴霧機(jī)器人精準(zhǔn)作業(yè),本文旨在實(shí)現(xiàn)精準(zhǔn)識(shí)別靶標(biāo),基于DeepLab V3+算法進(jìn)行改進(jìn)和優(yōu)化,采用MobileNet V2作為主干網(wǎng)絡(luò),并對(duì)卷積進(jìn)行改進(jìn),同時(shí)減少網(wǎng)絡(luò)計(jì)算量,設(shè)計(jì)更為輕量化的網(wǎng)絡(luò)結(jié)構(gòu),提高網(wǎng)絡(luò)的運(yùn)行速度和分割精度,以滿(mǎn)足在移動(dòng)端部署的要求,從而達(dá)到在復(fù)雜果園環(huán)境中,噴霧機(jī)器人進(jìn)行精準(zhǔn)噴霧和安全作業(yè)的目的。
DeepLab V3+是在DeepLab V3的基礎(chǔ)上進(jìn)行了改進(jìn),它是一種新的編碼器-解碼器結(jié)構(gòu)。DeepLab V3作為其編碼器部分,添加了一個(gè)簡(jiǎn)單有效的解碼器模塊,DeepLab V3+總體原理如圖1所示。
圖1 DeepLab V3+總體原理圖
編碼器使用空洞空間金字塔池化,以Xception網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),并引入深度可分離卷積進(jìn)行改進(jìn)應(yīng)用到ASPP中,采用多網(wǎng)格法,3個(gè)卷積采用不同的擴(kuò)張率,將得到的圖像級(jí)特征輸入256個(gè)濾波器的1×1卷積并進(jìn)行批量歸一化處理。
Xception由具有殘差連接的深度可分離卷積線(xiàn)性堆疊,分為Entry flow、重復(fù)16次的Middle flow以及Exit flow。在經(jīng)過(guò)批量歸一化處理后進(jìn)行1×1卷積,對(duì)通道降維以得到編碼器部分的輸出。
解碼器部分旨在連接低層次特征與高層次特征,解碼器部分同樣應(yīng)用深度可分離卷積,將編碼器部分輸出(高層次特征,output_stride為16)經(jīng)過(guò)4倍雙線(xiàn)性上采樣得到的特征層與編碼器中對(duì)應(yīng)著相同分辨率的特征層(低層次特征,output_stride為4)進(jìn)行1×1卷積降維后融合,再經(jīng)過(guò)一個(gè)3×3卷積細(xì)化,最終再經(jīng)過(guò)4倍雙線(xiàn)性上采樣得到原圖分辨率的預(yù)測(cè)結(jié)果。
1.2.1改進(jìn)DeepLab V3+主干網(wǎng)絡(luò)的輕量化設(shè)計(jì)
DeepLab V3+在語(yǔ)義分割方面已經(jīng)能達(dá)到較高精度,但其主干網(wǎng)絡(luò)Xception參數(shù)量龐大,消耗大量的顯存,在Xception組成部分中,雖然網(wǎng)絡(luò)層數(shù)最多的是Middle flow,但顯存消耗最大的卻是Entry flow,這是由于在Entry flow里的特征還未被充分下采樣,分辨率相當(dāng)高,同時(shí)Entry flow里的通道數(shù)很多,這也是導(dǎo)致Xception計(jì)算量大的一個(gè)重要原因,因而需要耗費(fèi)較長(zhǎng)的時(shí)間。
農(nóng)業(yè)機(jī)器人需快速獲取周?chē)h(huán)境信息,形成決策并控制執(zhí)行器做出反應(yīng)。為了在果園噴霧機(jī)器人上部署,引入輕量化網(wǎng)絡(luò)MobileNet V2[19],MobileNet系列網(wǎng)絡(luò)以深度可分離卷積[20](Depthwise separable convolution)來(lái)減少運(yùn)算量及參數(shù)量,適合在移動(dòng)設(shè)備上部署。將MobileNet V2作為基礎(chǔ)網(wǎng)絡(luò),為了滿(mǎn)足精度與速度之間的平衡,且對(duì)于一般情況下的果園噴霧機(jī)器人而言,達(dá)到較為精準(zhǔn)和快速的作業(yè)即可,故而在MobileNet V2的基礎(chǔ)上,將ASPP中的ReLU[21]激活函數(shù)替換成ClippedReLU[22]激活函數(shù),ClippedReLU激活函數(shù)是ReLU激活函數(shù)的變形,在ReLU的基礎(chǔ)上增加了上限z,即
f(x)=min(relu(x),z)=min(max(0,x),z)
(1)
式中f(x)——ClippedReLU激活函數(shù)的輸出
x——輸入特征值
z——ClippedReLU激活函數(shù)上限
令z=6,則得到ReLU6激活函數(shù),對(duì)于果園噴霧機(jī)器人移動(dòng)設(shè)備部署,主要是對(duì)果樹(shù)進(jìn)行識(shí)別,在果園噴霧存在誤差的低精度場(chǎng)景下,ReLU6較ReLU具有更好的魯棒性[14]。
1.2.2混合擴(kuò)張卷積
自DeepLab V2起,空洞(擴(kuò)張)卷積被運(yùn)用在ASPP中,空洞卷積是在標(biāo)準(zhǔn)的卷積圖注入空洞,以此增加感受野,與標(biāo)準(zhǔn)的卷積相比,空洞卷積多了一個(gè)超參:擴(kuò)張率,即卷積圖上卷積核之間的間隔數(shù)。在語(yǔ)義分割領(lǐng)域,將原始圖像輸入到卷積網(wǎng)絡(luò)中,傳統(tǒng)的方法會(huì)對(duì)圖像卷積后再做池化處理,降低圖像尺寸的同時(shí)增大感受野,但語(yǔ)義分割是像素級(jí)的預(yù)測(cè),在最后會(huì)進(jìn)行上采樣以得到與原圖圖像尺寸一樣的預(yù)測(cè)結(jié)果,但在先減小后增大尺寸的過(guò)程中,伴隨著信息的損失,而空洞卷積的引入一定程度上可解決這一問(wèn)題,因空洞卷積在非池化操作卷積的情況下,增大了感受野。但空洞卷積存在網(wǎng)格效應(yīng)問(wèn)題,網(wǎng)格效應(yīng)指多次疊加多個(gè)具有相同擴(kuò)張率的卷積核會(huì)造成網(wǎng)格中有一些像素自始至終都沒(méi)有參與運(yùn)算。當(dāng)空洞卷積在高層使用的擴(kuò)張率變大時(shí),對(duì)輸入的采樣會(huì)變得很稀疏,不利于學(xué)習(xí),因?yàn)橐恍┚植啃畔⑼耆珌G失,而長(zhǎng)距離上的一些信息可能并不相關(guān);并且網(wǎng)格效應(yīng)可能會(huì)打斷局部信息之間的連續(xù)性,雖然ASPP疊加擴(kuò)張率不同的卷積,但這些擴(kuò)張率并不互質(zhì),仍然會(huì)存在網(wǎng)格效應(yīng)。
語(yǔ)義分割不同于目標(biāo)檢測(cè),不僅僅識(shí)別目標(biāo),還需了解像素分布,尤其是針對(duì)果園噴霧機(jī)器人,果樹(shù)形態(tài)分布對(duì)噴霧的控制決策十分重要,即果樹(shù)的特征信息很重要,而DeepLab V3+的ASPP采用的空洞卷積存在信息丟失問(wèn)題。故本文針對(duì)空洞卷積網(wǎng)格效應(yīng)的問(wèn)題,引入混合擴(kuò)張卷積[23],混合擴(kuò)張卷積將卷積的擴(kuò)張率設(shè)置為鋸齒狀,如[r1,r2,…,ri,…,rn],…,[r1,r2,…,ri,…,rn]的循環(huán)結(jié)構(gòu),并滿(mǎn)足
Mi=max(Mi+1-2ri,Mi+1-2(Mi+1-ri),ri)
(2)
其中
Mn=rn
式中Mi——第i層卷積最大擴(kuò)張率
ri——第i層卷積的擴(kuò)張率
式(2)應(yīng)滿(mǎn)足M2≤K(卷積核大小為K×K),以此來(lái)保證至少能夠以擴(kuò)張率1來(lái)彌補(bǔ)所有空洞,即至少以標(biāo)準(zhǔn)卷積計(jì)算。
在此基礎(chǔ)之上,將ASPP中的卷積擴(kuò)張率設(shè)置為1、2、5、9,以此實(shí)現(xiàn)對(duì)不同像素占比大小目標(biāo)的特征捕獲,大的擴(kuò)張率對(duì)應(yīng)像素占比大的目標(biāo),小擴(kuò)張率對(duì)應(yīng)像素占比小的目標(biāo)。HDC的優(yōu)點(diǎn)是使用任意滿(mǎn)足式(2)的擴(kuò)張率,可以在不增加額外模塊的情況下擴(kuò)大網(wǎng)絡(luò)的感受野。
改進(jìn)后的ASPP模塊如圖2所示,圖中DW表示深度卷積(Depthwise convolution),PW表示逐點(diǎn)卷積(Pointwise convolution),DW+PW則組成深度可分離卷積,BN表示批量歸一化(Batch normalization),Dilated表示該卷積為空洞(擴(kuò)張)卷積。
圖2 改進(jìn)后的ASPP模塊
1.2.3改進(jìn)后的DeepLab V3+網(wǎng)絡(luò)結(jié)構(gòu)
將Mobilenet V2替代DeepLab V3+的Xception主干網(wǎng)絡(luò),將HDC的思想應(yīng)用到DeepLab V3+的ASPP模塊中,把ASPP模塊中的卷積擴(kuò)張率設(shè)置成鋸齒狀結(jié)構(gòu),這些擴(kuò)張率互質(zhì),改進(jìn)后的網(wǎng)絡(luò)簡(jiǎn)圖如圖3所示。
圖3 改進(jìn)后的DeepLab V3+網(wǎng)絡(luò)
深度學(xué)習(xí)硬件平臺(tái)為一臺(tái)配有Intel(R)Core(TM)i9-10900K CPU 64 GB內(nèi)存、NVIDIA Quadro RTX 4000 GPU的計(jì)算機(jī),安裝有CUDA10.0版本的并行計(jì)算框架和CUDNN7.0版本的深度神經(jīng)網(wǎng)絡(luò)加速庫(kù)。在Linux操作平臺(tái)基于Pytorch框架實(shí)現(xiàn)本文的DeepLab V3+語(yǔ)義分割模型并完成對(duì)模型的訓(xùn)練、驗(yàn)證及測(cè)試。
由于目前還有很多未包含多類(lèi)別的果園場(chǎng)景公開(kāi)數(shù)據(jù)集,所以本試驗(yàn)中使用的是實(shí)景拍攝并制作的數(shù)據(jù)集。用車(chē)載Realsense D435型相機(jī)(圖4,相機(jī)距離地面1.34 m)在果園內(nèi)共拍攝了360幅RGB圖像,圖像分辨率為960像素×720像素。包含8類(lèi)果園常見(jiàn)場(chǎng)景目標(biāo):天空、樹(shù)、人、路、車(chē)(農(nóng)用車(chē))、建筑、地面及標(biāo)志物(灌溉管、支撐桿和標(biāo)志牌等)。
圖4 噴霧機(jī)器人試驗(yàn)平臺(tái)
采用GamVid數(shù)據(jù)集格式[24],使用其官方標(biāo)注工具InteractLabeler對(duì)每幅圖像進(jìn)行像素級(jí)數(shù)據(jù)標(biāo)注,得到真實(shí)框(Ground truth)用于訓(xùn)練,將標(biāo)注圖像保存為PNG格式,如圖5所示。除8類(lèi)常見(jiàn)果園場(chǎng)景目標(biāo)外,在對(duì)采集圖像進(jìn)行標(biāo)注時(shí),像素占比小的目標(biāo)標(biāo)注較為困難且存在誤差,將其新增為一類(lèi):其他類(lèi),即未標(biāo)注類(lèi)。將數(shù)據(jù)集按照比例4∶1分為訓(xùn)練集和測(cè)試集。
圖5 數(shù)據(jù)集圖像示意圖
為防止訓(xùn)練過(guò)擬合、提高網(wǎng)絡(luò)準(zhǔn)確率、減少圖像中光照影響,同時(shí)擴(kuò)增圖像的數(shù)量,首先采用直方圖均衡化增強(qiáng)圖像的對(duì)比度,再通過(guò)隨機(jī)翻轉(zhuǎn)、隨機(jī)平移、隨機(jī)裁剪、隨機(jī)反射進(jìn)行數(shù)據(jù)增強(qiáng),圖像數(shù)量擴(kuò)充為1 440幅,圖像分辨率為960像素×720像素,在訓(xùn)練前將DeepLab V3+在GamVid數(shù)據(jù)集上的公開(kāi)預(yù)訓(xùn)練模型的參數(shù)值除分類(lèi)層之外都賦給本文模型的初始化參數(shù),分類(lèi)層采用均值為0、標(biāo)準(zhǔn)差為0.01的高斯分布隨機(jī)初始化。用于訓(xùn)練的優(yōu)化算法是動(dòng)量隨機(jī)梯度下降算法。損失函數(shù)L為交叉熵?fù)p失函數(shù);訓(xùn)練迭代次數(shù)設(shè)為30 000,沖量設(shè)為0.9,學(xué)習(xí)率設(shè)為0.01,采用Poly策略,批量大小設(shè)為8,每100次迭代驗(yàn)證一次并保存為最新訓(xùn)練模型,最終選取保存精度最高的模型。計(jì)算式為
(3)
式中N——當(dāng)前batch樣本量
M——類(lèi)別
yic——指示變量,如果i類(lèi)別和樣本c類(lèi)別相同則為1,否則是0
pic——觀測(cè)樣本i屬于類(lèi)別c的預(yù)測(cè)概率
分割評(píng)價(jià)的指標(biāo)包括像素精度(Pixel accuray, PA)、平均像素精度(Mean pixel accuray, MPA)、交并比(Intersection over union, IoU)、平均交并比(Mean intersection over union, MIoU)。
分別對(duì)改進(jìn)前后的模型進(jìn)行測(cè)試,8類(lèi)主要場(chǎng)景目標(biāo)分割結(jié)果對(duì)比如表1所示。
表1 改進(jìn)前后DeepLab V3+模型的8類(lèi)果園場(chǎng)景目標(biāo)分割結(jié)果對(duì)比
由表1可知,除車(chē)外,改進(jìn)后模型各類(lèi)別的分割精度和交并比均比改進(jìn)前有不同程度的提高。由于在果園中,車(chē)出現(xiàn)的頻率較小,且在行間行走時(shí),一般不會(huì)同時(shí)有多輛噴霧機(jī)器人同時(shí)作業(yè),所以對(duì)車(chē)類(lèi)的識(shí)別不會(huì)影響噴霧機(jī)器人作業(yè)安全和效率。除了車(chē)以外,標(biāo)志物也是出現(xiàn)頻率很低的目標(biāo),所以這兩者精度和平均交并比都較低,但對(duì)于果園噴霧機(jī)器人而言,果樹(shù)是主要的識(shí)別目標(biāo),改進(jìn)后的模型對(duì)樹(shù)的PA比改進(jìn)前提高1.31個(gè)百分點(diǎn),IoU提高2.48個(gè)百分點(diǎn),這說(shuō)明改進(jìn)后的模型更利于果園噴霧機(jī)器人的靶標(biāo)識(shí)別,對(duì)精準(zhǔn)噴霧具有指導(dǎo)決策的作用。
針對(duì)不同主干網(wǎng)絡(luò),基于Pytorch分割結(jié)果如圖6所示。圖6c~6f分別為4種模型的分割結(jié)果,其中圖6e為改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+分割結(jié)果,圖6f為本文DeepLab V3+分割結(jié)果。本文方法以MobileNet V2為主干網(wǎng)絡(luò)的DeepLab V3+模型總體優(yōu)于主干網(wǎng)絡(luò)為Xception、ResNet50以及ResNet101的模型,對(duì)像素占比大的目標(biāo),分割效果更為明顯;改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型識(shí)別錯(cuò)誤率相對(duì)較高(尤其是對(duì)天空出現(xiàn)大片的錯(cuò)誤識(shí)別),本文改進(jìn)的DeepLab V3+未出現(xiàn)大片的誤識(shí)別,說(shuō)明改進(jìn)的DeepLab V3+模型其分割準(zhǔn)確率有了一定的提升。除天空外,4種模型對(duì)像素占比大的目標(biāo)識(shí)別相差不大,但對(duì)距離較遠(yuǎn),像素占比小的目標(biāo)識(shí)別卻有差別,如改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型對(duì)遠(yuǎn)處像素占比小的建筑并不敏感,并未識(shí)別出遠(yuǎn)處像素占比小的建筑;對(duì)于灌溉管的識(shí)別,改進(jìn)后的模型表現(xiàn)明顯優(yōu)于其他3種;對(duì)人的識(shí)別,改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型表現(xiàn)也不如其他3種,改進(jìn)后模型對(duì)人的識(shí)別,輪廓的分割更為清晰,更與標(biāo)注貼近;改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型對(duì)支撐桿并不敏感,雖然與樹(shù)干的顏色相近,但其他3種對(duì)支撐桿都有一定的識(shí)別。
圖6 不同模型的分割結(jié)果
使用不同主干網(wǎng)絡(luò),不同模型的分割效果及模型參數(shù)量對(duì)比如表2所示。由表2可知,本文改進(jìn)后的DeepLab V3+模型的像素精度達(dá)到91.84%,比改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型提高2.75個(gè)百分點(diǎn),高出以ResNet50為主干網(wǎng)絡(luò)的DeepLab V3+模型0.7個(gè)百分點(diǎn),比以ResNet101為主干網(wǎng)絡(luò)的DeepLab V3+低0.26個(gè)百分點(diǎn)。本文改進(jìn)后DeepLab V3+模型的MPA和MIoU分別達(dá)到62.81%和56.64%,比改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+分別提升5.52個(gè)百分點(diǎn)和8.75個(gè)百分點(diǎn),且單幅圖像分割時(shí)間也縮短0.09 s。MPA和MIoU略低于DeepLab V3+(ResNet50)和DeepLab V3+(ResNet101),但其分割速度快于DeepLab V3+(ResNet50)和DeepLab V3+(ResNet101),尤其是參數(shù)量較以ResNet50、ResNet101和Xception為主干網(wǎng)絡(luò)的模型分別壓縮83.73%、93.30%和88.67%。試驗(yàn)結(jié)果表明改進(jìn)后模型表現(xiàn)較好,且速度有一定的提升,更利于語(yǔ)義分割模型在果園農(nóng)業(yè)設(shè)備上的部署和應(yīng)用。
表2 DeepLab V3+不同主干網(wǎng)絡(luò)的分割結(jié)果對(duì)比
(1)提出了改進(jìn)的DeepLab V3+語(yǔ)義分割模型,并將其用于果園場(chǎng)景多類(lèi)別的分割。引入MobileNet V2,替代原有Xception主干網(wǎng)絡(luò),并在ASPP模塊中用ReLU6激活函數(shù)替代原有ReLU激活函數(shù),將HDC思想應(yīng)用到DeepLab V3+的ASPP中,把ASPP中的卷積擴(kuò)張率設(shè)置成鋸齒狀結(jié)構(gòu),且擴(kuò)張率互質(zhì)。
(2)根據(jù)果園中常見(jiàn)的場(chǎng)景目標(biāo)制作了數(shù)據(jù)集,包含果樹(shù)、行人、天空等8類(lèi)常見(jiàn)場(chǎng)景目標(biāo),分別用于改進(jìn)前后DeepLab V3+語(yǔ)義分割模型的訓(xùn)練和測(cè)試。結(jié)果表明,改進(jìn)后的Deeplab V3+模型具有較高的準(zhǔn)確性和實(shí)時(shí)性,平均像素精度、平均交并比分別達(dá)到62.81%和56.64%,比改進(jìn)前以Xception為主干網(wǎng)絡(luò)的DeepLab V3+模型分別提高5.52、8.75個(gè)百分點(diǎn);尤其是對(duì)樹(shù)的識(shí)別在平均像素精度、平均交并比分別達(dá)到95.61%和89.61%,比改進(jìn)前提高1.31、2.48個(gè)百分點(diǎn);改進(jìn)后模型參數(shù)量壓縮88.67%,單幅圖像分割時(shí)間為0.08 s。但改進(jìn)前后模型共同存在的問(wèn)題是對(duì)遠(yuǎn)處像素占比小的目標(biāo),其識(shí)別分割效果一般,但對(duì)于果園內(nèi)行駛的噴霧機(jī)器人只需對(duì)近處的物體進(jìn)行快速、準(zhǔn)確識(shí)別和分割即可,從而實(shí)施精準(zhǔn)噴霧作業(yè)。