薛金林 李雨晴 曹梓建
(南京農(nóng)業(yè)大學(xué)工學(xué)院, 南京 210031)
在農(nóng)業(yè)機(jī)器人或者無人農(nóng)業(yè)車輛行進(jìn)路線上不可避免地存在大量障礙物,包括樹木、草堆、房屋、電線桿、人、牛、羊和其他農(nóng)機(jī),如果不通過傳感器實(shí)時(shí)感知并及時(shí)避開,會(huì)造成嚴(yán)重的安全問題。因此,農(nóng)業(yè)機(jī)器人或者無人農(nóng)業(yè)車輛應(yīng)該具有檢測和識(shí)別障礙物的能力[1]。
針對農(nóng)田障礙物,傳統(tǒng)檢測方法采用立體視覺技術(shù)[2]、小波多分辨率分解[3]、激光掃描定位[4-5]、HOG特征與支持向量機(jī)[6]等來進(jìn)行。傳統(tǒng)方法存在的缺陷有:只進(jìn)行障礙物定位而不對障礙物進(jìn)行識(shí)別分類,這不利于后續(xù)精準(zhǔn)的路徑規(guī)劃和避障;檢測障礙物的種類和數(shù)量有限;根據(jù)人的經(jīng)驗(yàn)選取特征,如果選取的特征不足以表征目標(biāo)障礙物,則會(huì)影響識(shí)別效果。深度學(xué)習(xí)的興起為農(nóng)田障礙物檢測識(shí)別帶來了新思路。薛金林等[7]針對農(nóng)田作業(yè)場景中的人和其他農(nóng)業(yè)車輛等動(dòng)態(tài)障礙物提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)自主車輛多種類障礙物分類識(shí)別方法。劉慧等[8]針對果園環(huán)境復(fù)雜難以準(zhǔn)確檢測出障礙物信息的問題,提出了一種改進(jìn)SSD方法。楊娟娟[9]提出了一種結(jié)合區(qū)域提名與無需區(qū)域提名的新型智能目標(biāo)檢測算法。農(nóng)田環(huán)境的地形通常是凹凸不平的,視覺傳感器需要在不穩(wěn)定的狀態(tài)中采樣,以上研究均未考慮不穩(wěn)定狀態(tài)采樣造成的模糊圖像的輸入對深度學(xué)習(xí)檢測模型的影響,這勢必造成實(shí)際檢測效果達(dá)不到預(yù)期水平。
在檢測模型的訓(xùn)練階段,所使用的數(shù)據(jù)集通常是在一個(gè)穩(wěn)定的、高質(zhì)量的環(huán)境中采集的。然而,當(dāng)農(nóng)機(jī)在田間作業(yè)時(shí),由于相機(jī)鏡頭缺陷、相機(jī)抖動(dòng)、目標(biāo)運(yùn)動(dòng)等原因,會(huì)獲得一些模糊圖像,它們會(huì)改變圖像中包含的重要信息,導(dǎo)致訓(xùn)練后的模型在推理階段檢測精度較差。因此,本文研究一種基于改進(jìn)Faster R-CNN和SSRN-DeblurNet的兩階段檢測方法,來解決模糊圖像輸入導(dǎo)致的深度學(xué)習(xí)檢測模型檢測精度下降、漏檢和誤檢問題。
兩階段檢測模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,整個(gè)網(wǎng)絡(luò)分為4部分:去模糊網(wǎng)絡(luò)、骨架網(wǎng)絡(luò)、區(qū)域候選網(wǎng)絡(luò)、分類回歸網(wǎng)絡(luò)。去模糊網(wǎng)絡(luò)由不同尺度的全卷積子網(wǎng)絡(luò)構(gòu)成,主要作用是對銳度S低于閾值SThr的圖像去模糊以恢復(fù)圖像質(zhì)量;骨架網(wǎng)絡(luò)由去除全連接層的ResNet50網(wǎng)絡(luò)構(gòu)成,主要作用是對圖像進(jìn)行特征提??;區(qū)域候選網(wǎng)絡(luò)由卷積層、池化層和全連接層構(gòu)成,主要作用是生成優(yōu)化候選區(qū)域;分類回歸網(wǎng)絡(luò)由池化層和全連接層組成,主要作用是進(jìn)行目標(biāo)識(shí)別和精準(zhǔn)定位。
整個(gè)檢測模型的工作流程分為2個(gè)階段。第1個(gè)階段是基于SSRN-DeblurNet去模糊網(wǎng)絡(luò)進(jìn)行去模糊,首先對輸入圖像進(jìn)行銳度評(píng)價(jià),如果輸入圖像的銳度S低于設(shè)定的銳度閾值SThr,則圖像被送入SSRN-DeblurNet網(wǎng)絡(luò)中進(jìn)行去模糊處理,去模糊后的圖像被送入第2階段進(jìn)行檢測;如果輸入圖像的銳度S高于設(shè)定的銳度閾值SThr,則圖像直接被送入第2階段進(jìn)行檢測。第2階段是基于改進(jìn)的Faster R-CNN網(wǎng)絡(luò)檢測圖像中的農(nóng)田障礙物。首先利用骨架網(wǎng)絡(luò)對輸入圖像進(jìn)行特征提取,生成的特征圖用于區(qū)域候選網(wǎng)絡(luò)(Region proposal network,RPN)和分類回歸網(wǎng)絡(luò)。RPN網(wǎng)絡(luò)級(jí)聯(lián)1個(gè)候選區(qū)域優(yōu)化網(wǎng)絡(luò)用于過濾低質(zhì)量的候選區(qū)域,提升檢測的精度。利用RPN網(wǎng)絡(luò)生成的優(yōu)化候選區(qū)域和骨架網(wǎng)絡(luò)最后一層得到的特征圖,得到固定尺寸的候選區(qū)域特征圖。最后利用Softmax函數(shù)進(jìn)行目標(biāo)類別的確定并利用邊界框回歸獲得目標(biāo)的精確位置。
1.1.1銳度閾值
清晰圖像比模糊圖像的邊緣更加銳利清晰,邊緣像素灰度變化大,因而有更大的梯度。因此,可以利用梯度函數(shù)獲取圖像梯度信息,從而評(píng)判圖像的銳度。梯度函數(shù)主要包括Brenner梯度函數(shù)[10]、Tenengrad梯度函數(shù)[11]、Laplacian梯度函數(shù)[12]、SMD函數(shù)[13]、Variance函數(shù)等[14]。
圖像銳度評(píng)價(jià)算法的性能通過人眼主觀評(píng)分和算法預(yù)測評(píng)分的相關(guān)性進(jìn)行評(píng)價(jià)[15]。預(yù)測準(zhǔn)確性和單調(diào)一致性是衡量評(píng)價(jià)算法性能的2個(gè)常用標(biāo)準(zhǔn),通過以下參數(shù)體現(xiàn):皮爾森線性相關(guān)系數(shù)(Pearson linear correlation coefficient,PLCC)、肯德爾秩次相關(guān)系數(shù)(Kendallrank order correlation coefficient,KROCC)、斯皮爾曼等級(jí)相關(guān)系數(shù)(Spearman rank order correlation coefficient,SRCC)、均方根誤差(Root mean square error,RMSE)[16]。如果以上3個(gè)相關(guān)系數(shù)的值越接近于1,RMSE越小,說明銳度評(píng)價(jià)算法越準(zhǔn)確。此外,本文將單幅圖像檢測時(shí)間也納入評(píng)價(jià)參數(shù)范圍,單幅圖像檢測時(shí)間是隨機(jī)選取的500幅圖像的平均檢測時(shí)間?;谝陨?個(gè)參數(shù)進(jìn)行圖像銳度評(píng)價(jià)函數(shù)的選擇。
在ITU-R BT.500 圖像質(zhì)量主觀評(píng)價(jià)方法的五級(jí)損傷量表[17]的基礎(chǔ)上建立圖像銳度的主觀評(píng)分標(biāo)準(zhǔn),本文只需要2個(gè)尺度對需要去模糊和不需要去模糊的圖像進(jìn)行評(píng)價(jià)。因此,主觀評(píng)分標(biāo)準(zhǔn)為:當(dāng)評(píng)價(jià)人認(rèn)為圖像的模糊程度可以察覺但并不討厭時(shí),該圖像的主觀得分為2;當(dāng)評(píng)價(jià)人認(rèn)為圖像的模糊程度討厭時(shí),該圖像的主觀得分為1。
從數(shù)據(jù)集中隨機(jī)抽取500幅圖像,同時(shí)用4種不同的梯度函數(shù)預(yù)測銳度以及進(jìn)行人眼主觀評(píng)分。4種不同的梯度函數(shù)性能如圖2所示。
圖2 4種梯度函數(shù)的性能Fig.2 Performance of four gradient functions
由圖2可以看出,采用Tenengrad梯度函數(shù)作為銳度評(píng)價(jià)函數(shù),檢測速度快、均方根誤差最小、與主觀評(píng)價(jià)方法相關(guān)性較大。Tenengrad梯度函數(shù)采用Sobel算子分別提取水平和垂直方向的梯度[18],基于Tenengrad的圖像銳度定義為
(1)
其中
式中T——給定的邊緣檢測閾值,對應(yīng)圖像最大梯度的0.5倍
Gx——像素點(diǎn)(x,y)處Sobel水平方向邊緣檢測算子的卷積
Gy——像素點(diǎn)(x,y)處Sobel垂直方向邊緣檢測算子的卷積
銳度閾值的選擇是基于測試集上的人眼主觀評(píng)分與算法預(yù)測分?jǐn)?shù)分布,需滿足檢測效率要求和準(zhǔn)確性的要求。對測試集進(jìn)行主觀評(píng)分后,利用Tenengrad梯度函數(shù)對測試集的圖像進(jìn)行銳度預(yù)測,根據(jù)人眼主觀評(píng)價(jià)分與算法預(yù)測分的分布確定銳度閾值。
如圖3所示,當(dāng)閾值為15,有些圖像的算法預(yù)測得分較高,但主觀感覺嚴(yán)重模糊。當(dāng)閾值為20時(shí),圖像的預(yù)測得分與主觀得分基本一致。當(dāng)閾值為25時(shí),對相對清晰的圖像去模糊浪費(fèi)時(shí)間和計(jì)算資源。因此,選擇銳度閾值為20是合理而高效的。
圖3 主觀評(píng)價(jià)分和算法預(yù)測分的分布Fig.3 Distribution of subjective evaluation score and algorithm prediction score
1.1.2SSRN-DeblurNet去模糊網(wǎng)絡(luò)
引入去模糊網(wǎng)絡(luò)(Scale recurrent network,SRN-DeblurNet)[19],進(jìn)行模型精簡后得到SSRN-DeblurNet進(jìn)行圖像的去模糊操作。SRN-DeblurNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 SRN-DeblurNet的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of SRN-DeblurNet
SRN-DeblurNet由3層代表不同尺度輸入且結(jié)構(gòu)相同的全卷積子網(wǎng)組成,3層子網(wǎng)之間參數(shù)共享,減少可訓(xùn)練參數(shù)的數(shù)量。每層子網(wǎng)分為編碼部分和解碼部分,編碼部分包含3個(gè)編碼模塊(EBlock),如圖4b所示,每個(gè)EBlock由1個(gè)卷積層(Conv)和3個(gè)殘差塊(ResBlock)組成。解碼部分與編碼部分結(jié)構(gòu)對稱,對應(yīng)3個(gè)解碼模塊(DBlock),如圖4c所示,每個(gè)DBlock由3個(gè)ResBlock和1個(gè)轉(zhuǎn)置卷積層(DeConv)組成。ResBlock的結(jié)構(gòu)如圖4d所示,通過跳連接實(shí)現(xiàn)不同層的特征信息共享。此外,每1層還有1個(gè)循環(huán)卷積網(wǎng)絡(luò)(ConvLSTM),將不同尺度的圖像特征看作時(shí)序與局部空間均相關(guān)的序列進(jìn)行處理。訓(xùn)練過程中,隨機(jī)裁剪 256像素×256像素圖像塊(X3),然后用最近鄰插值方法得到64像素×64像素分辨率子圖(X1)和128像素×128像素分辨率子圖(X2)。上一層網(wǎng)絡(luò)的輸出作為下一層網(wǎng)絡(luò)的輸入,由粗到精,由小到大復(fù)原出清晰圖像,最后一層網(wǎng)絡(luò)的輸出I3作為最終的復(fù)原結(jié)果。
對于每個(gè)尺度的損失L,計(jì)算式為
(2)
式中Ii——第i個(gè)尺度上的網(wǎng)絡(luò)輸出
ki——每個(gè)尺度的權(quán)重,初始權(quán)重設(shè)置為1
Ni——Ii中需標(biāo)準(zhǔn)化的元素個(gè)數(shù)
SRN-DeblurNet存在參數(shù)過多,在推理階段運(yùn)行速度較慢的問題,在保證模型精度的情況下,希望該模型參數(shù)量少、占用內(nèi)存少、速度快、計(jì)算量低,所以本文對SRN-DeblurNet去模糊模型進(jìn)行了精簡。深度學(xué)習(xí)模型的精簡方式一般有網(wǎng)絡(luò)剪枝、知識(shí)蒸餾、參數(shù)量化等[20]。本文采用參數(shù)量化對SRN-DeblurNet進(jìn)行模型壓縮加速,得到精簡模型SSRN-DeblurNet。
對于參數(shù)量化對象,主要有:權(quán)重、激活函數(shù)輸出、梯度[21]。量化位數(shù)可分為:16位、8位、8位以下。本文采用的8位量化可帶來4倍的模型壓縮、4倍的內(nèi)存帶寬提升以及更高效的緩存利用。此外,計(jì)算速度也通常有2~3倍的提升,且對精度不會(huì)造成較大損失。按量化過程中是否需要進(jìn)行訓(xùn)練可分為以下2類[22]:在模型訓(xùn)練后做量化(Post training quantization,PTQ)、在模型訓(xùn)練時(shí)做量化(Quantization aware training,QAT)。一般情況下,QAT可以得到更高的準(zhǔn)確率,但同時(shí)需要有訓(xùn)練數(shù)據(jù)和訓(xùn)練環(huán)境。
深度學(xué)習(xí)模型壓縮流程如圖5所示?;赥ensorFlow工具箱中的graph_transforms,本文對訓(xùn)練好的SRN-DeblurNet網(wǎng)絡(luò)的權(quán)重進(jìn)行32位轉(zhuǎn)8位的PTQ量化操作,并刪除一些在推理階段不使用的計(jì)算節(jié)點(diǎn),合并一些重復(fù)計(jì)算節(jié)點(diǎn),得到一個(gè)壓縮率與準(zhǔn)確率都滿足實(shí)際需求的精簡模型SSRN-DeblurNet。
圖5 深度學(xué)習(xí)模型壓縮流程圖Fig.5 Compression process of deep learning model
ROSS在R-CNN和Fast R-CNN基礎(chǔ)上提出了Faster R-CNN[23],其主要由骨架網(wǎng)絡(luò)、區(qū)域候選網(wǎng)絡(luò)、分類回歸網(wǎng)絡(luò)組成。區(qū)域候選網(wǎng)絡(luò)為每幅輸入圖像輸出大約300個(gè)候選區(qū)域,其中存在大量與障礙物真值框重疊率較低的低質(zhì)量候選區(qū)域,這給Faster R-CNN網(wǎng)絡(luò)增加了許多無用的計(jì)算。為了減少低質(zhì)量候選區(qū)域,本文在區(qū)域候選網(wǎng)絡(luò)后級(jí)聯(lián)了一個(gè)候選區(qū)域優(yōu)化網(wǎng)絡(luò)。該優(yōu)化網(wǎng)絡(luò)主要由ROI池化層和4個(gè)全連接層組成。候選區(qū)域優(yōu)化網(wǎng)絡(luò)以候選區(qū)域生成網(wǎng)絡(luò)輸出的候選區(qū)域作為輸入;對候選區(qū)域所包含的特征進(jìn)行池化,生成池化特征圖;利用全連接層FC1和FC2對池化特征圖進(jìn)行特征映射;利用全連接層FC3根據(jù)映射后的特征輸出該候選區(qū)域內(nèi)是否包含待測目標(biāo)的分?jǐn)?shù),利用 Softmax函數(shù)對分?jǐn)?shù)進(jìn)行歸一化,從而得到候選區(qū)域內(nèi)是否包含待測目標(biāo)的置信度;全連接層FC4通過邊界框回歸輸出邊界框的坐標(biāo)偏移量,從而修正候選區(qū)域的位置。將候選區(qū)域內(nèi)包含待測目標(biāo)的置信度與設(shè)置的前景過濾閾值(0.8)和背景過濾閾值(0.2)進(jìn)行比較,輸出置信度大于前景閾值的正樣本和置信度小于背景閾值的負(fù)樣本。候選區(qū)域優(yōu)化網(wǎng)絡(luò)的結(jié)構(gòu)如圖6所示。
圖6 候選區(qū)域優(yōu)化網(wǎng)絡(luò)Fig.6 Region proposal optimization network
候選區(qū)域優(yōu)化網(wǎng)絡(luò)的損失函數(shù)為
(3)
式中p——候選區(qū)域內(nèi)包含待測目標(biāo)的置信度
u——候選區(qū)域的標(biāo)簽,正樣本時(shí)為1,否則為0
λ——損失函數(shù)的損失權(quán)重,初始設(shè)置為1
圖像采集設(shè)備為QR-USB500W02M-V60型USB高清數(shù)碼攝像頭,分辨率為640像素×480像素時(shí),幀率為30 f/s,實(shí)際使用時(shí)為20 f/s左右。將攝像頭安裝在茂源MY250型輪式拖拉機(jī)上,攝像頭與地面的垂直距離為1.33 m。攝像頭通過以太網(wǎng)將接收到的圖像傳送到計(jì)算機(jī)上。攝像頭的安裝位置如圖7所示。
圖7 攝像頭安裝位置Fig.7 Installation location of camera
將收集到的2 370幅圖像按比例7∶2∶1分為訓(xùn)練集、驗(yàn)證集、測試集。利用標(biāo)注軟件對圖像中的人、拖拉機(jī)、草堆、電線桿、樹、房子、羊、牛8種農(nóng)田障礙物進(jìn)行標(biāo)注。為最大限度模擬農(nóng)田環(huán)境下圖像采集可能遇到的模糊類型,模糊數(shù)據(jù)集由GOPRO數(shù)據(jù)集與自制模糊數(shù)據(jù)集組成,共5 347個(gè)清晰和模糊圖像對。其中自制模糊數(shù)據(jù)集基于馬爾可夫過程隨機(jī)生成相機(jī)運(yùn)動(dòng)軌跡和模糊內(nèi)核[24],對圖像進(jìn)行處理得到,如圖8所示。
圖8 自制模糊數(shù)據(jù)集Fig.8 Self-made blurring dataset
試驗(yàn)平臺(tái)為臺(tái)式計(jì)算機(jī),處理器為Intel Core i7-8700k,主頻為3.70 GHz,32 GB內(nèi)存,250 GB固態(tài)硬盤,顯卡為GeForce GTX1060。運(yùn)行環(huán)境在Ubuntu 16.04 LTS下,編程語言為Python 3.6,模型訓(xùn)練均在TensorFlow深度學(xué)習(xí)框架下進(jìn)行,并行計(jì)算框架和深度學(xué)習(xí)GPU加速庫分別為CUDA 9.0和cuDNN 7.4.2。
訓(xùn)練去模糊網(wǎng)絡(luò)SRN-DeblurNet時(shí),在每次迭代過程中,隨機(jī)剪裁256像素×256像素的模糊圖像塊作為輸入,模糊圖像塊每個(gè)通道除以255進(jìn)行數(shù)據(jù)歸一化。尺度設(shè)為3,批量大小設(shè)為8,訓(xùn)練輪數(shù)設(shè)為2 000輪,動(dòng)量因子設(shè)置為0.9。采用Adam優(yōu)化器,參數(shù)β1=0.9,β2=0.999,ε=10-4。利用隨機(jī)梯度下降法訓(xùn)練網(wǎng)絡(luò),初始學(xué)習(xí)率設(shè)置為0.001。訓(xùn)練參數(shù)初始化方式采用Xavier方法。
2.3.1去模糊結(jié)果評(píng)價(jià)指標(biāo)
以峰值信噪比(Peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似度(Structural similarity,SSIM)作為去模糊網(wǎng)絡(luò)輸出結(jié)果的評(píng)價(jià)指標(biāo)[25]。
PSNR是一個(gè)表示信號(hào)最大可能功率和噪聲功率比值的工程術(shù)語,單位是dB,一般取值范圍為20~40 dB,數(shù)值越大表示失真越小。SSIM分別從亮度、對比度、結(jié)構(gòu)三方面度量圖像相似性,取值范圍為0~1,其值越大,表示圖像失真越小。
2.3.2去模糊結(jié)果
SSRN-DeblurNet與SRN-DeblurNet的參數(shù)對比如表1所示,包括參數(shù)量、單幅圖像去模糊時(shí)間、PSNR和SSIM。圖9為SSRN-DeblurNet與SRN-DeblurNet的去模糊效果對比。
表1 SSRN-DeblurNet與SRN-DeblurNet的參數(shù)對比Tab.1 Comparison of indicators between SSRN-DeblurNet and SRN-DeblurNet
圖9 SSRN-DeblurNet與SRN-DeblurNet去模糊效果對比Fig.9 Comparison of deblurring between SSRN-DeblurNet and SRN-DeblurNet
從圖9可以看出,相比于原始模糊圖,SSRN-DeblurNet恢復(fù)了部分圖像質(zhì)量。但恢復(fù)效果比SRN-DeblurNet差。如表1所示,SSRN-DeblurNet與SRN-DeblurNet相比,PSNR下降7.59%,SSIM下降9.64%。PSNR和SSIM小幅度下降是因?yàn)镾SRN-DeblurNet的權(quán)值數(shù)值類型是8位而不是32位,權(quán)重值更稀疏必然會(huì)導(dǎo)致量化過程中數(shù)值精度的損失,進(jìn)而影響SSRN-DeblurNet的去模糊效果。雖然去模糊的效果不及SRN-DeblurNet,但SSRN-DeblurNet在推理速度上有顯著提高,不僅參數(shù)量減少到原模型的25.36%,檢測時(shí)間也減少到原模型的31.76%,實(shí)現(xiàn)了精度和推理速度之間的平衡。
在訓(xùn)練階段,F(xiàn)aster R-CNN網(wǎng)絡(luò)與SSRN-DeblurNet網(wǎng)絡(luò)相互獨(dú)立進(jìn)行訓(xùn)練。為了檢驗(yàn)候選區(qū)域優(yōu)化網(wǎng)絡(luò)的效果,將所有損失函數(shù)的權(quán)值設(shè)為1。使用ImageNet預(yù)訓(xùn)練模型對改進(jìn)Faster R-CNN的權(quán)重進(jìn)行初始化,訓(xùn)練50 000輪,初始學(xué)習(xí)率為0.002 5,權(quán)重衰減為0.000 1。
2.4.1目標(biāo)檢測結(jié)果評(píng)價(jià)指標(biāo)
本文以平均精度均值(mAP)和平均精度(AP)作為目標(biāo)檢測結(jié)果評(píng)價(jià)指標(biāo)。
當(dāng)拖拉機(jī)在水泥平地處于啟動(dòng)狀態(tài)時(shí),在相機(jī)采集到的連續(xù)7幀圖像中,如圖10a所示,某幀清晰圖像的銳度約為42.73,如圖10b所示,某幀輕微模糊圖像的銳度約為38.96,說明拖拉機(jī)的振動(dòng)對相機(jī)成像質(zhì)量有一定影響。假設(shè)拖拉機(jī)處于以下狀態(tài):在農(nóng)田作業(yè)時(shí)遇到起伏較大的坑洼地帶;鏡頭中的目標(biāo)障礙物快速運(yùn)動(dòng);相機(jī)未能成功對焦時(shí),輕微模糊圖像出現(xiàn)的時(shí)間點(diǎn)將有更大的概率生成銳度低于20的模糊圖像。因此以7幀圖像作為1個(gè)周期計(jì)算單幅圖像的推理時(shí)間,計(jì)算方式為
圖10 拖拉機(jī)振動(dòng)對圖像質(zhì)量的影響Fig.10 Influence of tractor vibration on image quality
(4)
式中ti、ti+1、…、ti+6——第i、i+1、…、i+6幀圖像的推理時(shí)間
2.4.2改進(jìn)Faster R-CNN檢測結(jié)果
對無優(yōu)化網(wǎng)絡(luò)和有優(yōu)化網(wǎng)絡(luò)時(shí)的候選區(qū)域生成結(jié)果進(jìn)行可視化,如圖11所示。
圖11 生成候選區(qū)域比較圖Fig.11 Comparison of proposal regions
圖11a為輸入網(wǎng)絡(luò)前的原圖,圖11b為原圖輸入原始Faster R-CNN網(wǎng)絡(luò)時(shí)RPN網(wǎng)絡(luò)輸出的候選區(qū)域。從圖11b可以看出,RPN網(wǎng)絡(luò)將房屋前的農(nóng)作物、房屋左側(cè)的雜草和樹葉都作為目標(biāo)障礙物生成了候選區(qū)域。但圖像中只有房屋和電線桿是目標(biāo)障礙物,因此無優(yōu)化網(wǎng)絡(luò)的RPN網(wǎng)絡(luò)生成的這些候選區(qū)域是低質(zhì)量的,這些低質(zhì)量的候選區(qū)域?qū)榉诸惢貧w網(wǎng)絡(luò)增加大量無用計(jì)算,降低整體網(wǎng)絡(luò)的收斂速度。圖11c為在RPN網(wǎng)絡(luò)后級(jí)聯(lián)了一個(gè)優(yōu)化網(wǎng)絡(luò)后原始圖像輸入網(wǎng)絡(luò)生成的優(yōu)化候選區(qū)域。由于設(shè)置了更高的正樣本過濾閾值0.8,優(yōu)化后的RPN網(wǎng)絡(luò)將房屋周圍的雜草、農(nóng)作物和樹葉等作為目標(biāo)障礙物生成的候選區(qū)域進(jìn)行了濾除,保留的候選區(qū)域邊界框更集中于目標(biāo)障礙物的真值邊界框附近,這有利于網(wǎng)絡(luò)快速收斂和提升網(wǎng)絡(luò)的檢測精度。從表2可以看出,改進(jìn)后的Faster R-CNN網(wǎng)絡(luò)對各種農(nóng)田障礙物的平均精度平均提高了1.93個(gè)百分點(diǎn),這說明候選區(qū)域優(yōu)化網(wǎng)絡(luò)的加入能提升檢測精度。
表2 8種農(nóng)田障礙物的平均精度Tab.2 Average precision of eight kinds of farmland obstacles %
為了驗(yàn)證改進(jìn)檢測模型的性能,在推理階段比較以下5種目標(biāo)檢測方法:原始Faster R-CNN網(wǎng)絡(luò)、改進(jìn)Faster R-CNN網(wǎng)絡(luò)、YOLO v5s網(wǎng)絡(luò)、改進(jìn)Faster R-CNN與SRN-DeblurNet的兩階段檢測模型和改進(jìn)Faster R-CNN與SSRN-DeblurNet的兩階段檢測模型。利用AP、mAP、單幅圖像推理時(shí)間對檢測結(jié)果進(jìn)行綜合評(píng)價(jià)。
IoU閾值為0.5時(shí),不同方法的各類障礙物的平均精度如表3所示。
表3 不同方法的各類障礙物平均精度Tab.3 Average precision of different algorithms for eight kinds of farmland obstacles %
如表3所示,不同方法對人、草堆、電線桿、拖拉機(jī)這4類目標(biāo)障礙物的檢測效果較好,檢測的平均精度在50.00%以上;不同方法對羊、房屋、牛、樹這4類目標(biāo)障礙物的檢測效果較差。主要原因在于數(shù)據(jù)集的樣本分布不均,后4種目標(biāo)障礙物的訓(xùn)練樣本數(shù)量偏少,出現(xiàn)過擬合現(xiàn)象,在推理階段表現(xiàn)為訓(xùn)練樣本偏少的目標(biāo)障礙物的平均檢測精度較低。由于采用的測試集不同,與表2相比, Faster R-CNN與改進(jìn)Faster R-CNN的平均精度均大幅降低,這進(jìn)一步證實(shí)了模糊圖像的輸入會(huì)導(dǎo)致訓(xùn)練好的深度學(xué)習(xí)檢測模型的檢測精度降低。
IoU閾值為0.5時(shí),改進(jìn)Faster R-CNN由于增加了一個(gè)候選區(qū)域優(yōu)化網(wǎng)絡(luò),其mAP較原始Faster R-CNN提升了1.91個(gè)百分點(diǎn)。對于結(jié)合了去模糊網(wǎng)絡(luò)的兩階段檢測模型, mAP都有了很大的提升,其中改進(jìn)Faster R-CNN與SRN-DeblurNet的兩階段檢測模型的mAP最高,為66.84%。兩階段檢測方法由于添加了去模糊網(wǎng)絡(luò),提高了嚴(yán)重模糊圖像的質(zhì)量,因此大大減少了漏檢和誤檢的情況,從而提高了mAP,與原始Faster R-CNN相比,改進(jìn)Faster R-CNN與SSRN-DeblurNet的mAP提高了12.32個(gè)百分點(diǎn)。出于實(shí)時(shí)性因素的考慮,對SRN-DeblurNet網(wǎng)絡(luò)進(jìn)行了量化壓縮,以提升檢測速度,但也因此造成了改進(jìn)Faster R-CNN與SSRN-DeblurNet的兩階段檢測模型的mAP降低了2.76個(gè)百分點(diǎn)。
由于增加了候選區(qū)域優(yōu)化網(wǎng)絡(luò),改進(jìn)Faster R-CNN相比于原始Faster R-CNN的單幅圖像推理時(shí)間增加了0.19 s。不同組合的兩階段檢測模型的單幅圖像推理時(shí)間均較長,主要原因是去模糊操作需要占用大量時(shí)間和計(jì)算資源。為此對去模糊網(wǎng)絡(luò)SRN-DeblurNet進(jìn)行了模型壓縮,降低去模糊操作占用的時(shí)間,從而改進(jìn)Faster R-CNN與SSRN-DeblurNet的單幅圖像推理時(shí)間較改進(jìn)Faster R-CNN與SRN-DeblurNet的時(shí)間降低了0.09 s,單幅圖像平均推理時(shí)間為0.53 s。
拖拉機(jī)根據(jù)其負(fù)載水平可將其作業(yè)工況分為重負(fù)荷作業(yè)、中等負(fù)荷作業(yè)、輕負(fù)荷作業(yè)及道路運(yùn)輸作業(yè)等[26]。其中,拖拉機(jī)處于重負(fù)荷和中等負(fù)荷作業(yè)工況的速度覆蓋2~14 km/h,且拖拉機(jī)大部分時(shí)間都在此速度范圍作業(yè);拖拉機(jī)處于輕負(fù)荷和道路運(yùn)輸作業(yè)工況的速度覆蓋14~30 km/h。因此,改進(jìn)Faster R-CNN與SSRN-DeblurNet的兩階段檢測方法基本滿足拖拉機(jī)低速作業(yè)的實(shí)時(shí)性要求。
當(dāng)輸入銳度低于20的模糊圖像時(shí),原始Faster R-CNN與兩階段檢測方法檢測結(jié)果如圖12所示。
圖12 Faster R-CNN與兩階段檢測方法檢測結(jié)果對比Fig.12 Comparison of results between Faster R-CNN and two-stage detection method
利用原始Faster R-CNN方法對4幅銳度低于20的測試圖像進(jìn)行檢測(圖12a),這4幅圖像的前2幅是人工生成的,后2幅是在農(nóng)田中實(shí)際采集的。在第1幅測試圖像中,草堆的置信度為0.95,草堆左邊的2人均被漏檢;在第2幅測試圖像中,在草堆的位置同時(shí)檢測出牛和草堆這2種目標(biāo)障礙物,其中,牛的置信度為0.63,草堆的置信度為0.61;在第3幅和第4幅實(shí)際采集的測試圖像中,人作為目標(biāo)障礙物均被漏檢。
采用改進(jìn)Faster R-CNN與SSRN-DeblurNet的兩階段檢測方法時(shí)(圖12b),銳度均低于20的圖像被輸入去模糊網(wǎng)絡(luò)中進(jìn)行去模糊后再進(jìn)行檢測。第1幅測試圖像中的2人均被檢出,且置信度均為1;第2幅測試圖像中草堆被正確檢出,置信度為0.99;第3幅和第4幅測試圖像中的人均被檢出,置信度均為0.99。因此,本文提出的兩階段檢測方法可以很好地解決由于模糊圖像的輸入造成的漏檢和誤檢。
(1)為實(shí)現(xiàn)模糊農(nóng)田圖像中的障礙物檢測,提出了一種基于改進(jìn)Faster R-CNN和SSRN-DeblurNet的兩階段農(nóng)田障礙物檢測方法。試驗(yàn)表明,與原始Faster R-CNN相比,兩階段檢測方法的mAP提高了12.32個(gè)百分點(diǎn),在模糊圖像輸入情況下很好地緩解了漏檢和誤檢情況;單幅圖像平均推理時(shí)間為0.53 s,滿足拖拉機(jī)在重負(fù)荷和中等負(fù)荷作業(yè)工況的實(shí)時(shí)性需求。
(2)由于現(xiàn)有的數(shù)據(jù)集樣本不均勻,進(jìn)一步需建立更完整、數(shù)據(jù)量更大的農(nóng)田障礙物數(shù)據(jù)集。為滿足拖拉機(jī)在輕負(fù)荷以及道路運(yùn)輸工況時(shí)的實(shí)時(shí)性需求,進(jìn)一步需將YOLO v5s和SSRN-DeblurNet融合進(jìn)一個(gè)框架,進(jìn)行端到端訓(xùn)練以進(jìn)一步降低模型復(fù)雜度和提升效率。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2022年3期