蔣 毅,耿宇鵬,張俊華,王嘉慶,宋穎超
1(云南大學(xué) 信息學(xué)院,昆明 650500)
2(云南大學(xué) 生態(tài)學(xué)與環(huán)境學(xué)院,昆明 650091)
紫莖澤蘭作為一種世界性惡性雜草,在20世紀(jì)40年代從中緬邊境傳入中國(guó)[1],大約以每年10-30 公里的速度向北和東擴(kuò)散.紫莖澤蘭的入侵性和生態(tài)適應(yīng)性極其強(qiáng)大,能通過化感物質(zhì)的釋放抑制周圍其它植物的生長(zhǎng),快速發(fā)展成為單優(yōu)群落[2].排斥群落里其它植物生長(zhǎng)與演替,破壞生物多樣性,影響林業(yè)景觀,危害畜牧業(yè)發(fā)展,造成巨大的經(jīng)濟(jì)損失[3].紫莖澤蘭入侵牧地3年便能夠使牧草喪失放牧能力,家畜誤食容易導(dǎo)致其中毒死亡[4].紫莖澤蘭在我國(guó)的入侵形式十分嚴(yán)峻,需采取有效的防治措施來(lái)減緩甚至消除紫莖澤蘭的入侵.現(xiàn)在常用的防治方法有人工防除、化學(xué)防除和生物防除,紫莖澤蘭檢測(cè)作為這些防治方法的重要階段,而紫莖澤蘭檢測(cè)作為防治效果反饋的重要階段,紫莖澤蘭檢測(cè)的有效性顯得至關(guān)重要.
復(fù)雜背景下的紫莖澤蘭檢測(cè)屬于目標(biāo)檢測(cè)問題,傳統(tǒng)目標(biāo)檢測(cè)方法的滑動(dòng)窗口區(qū)域選擇策略沒有針對(duì)性,時(shí)間復(fù)雜度高,魯棒性差,精度低.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法能夠自動(dòng)提取特征從而有效解決特征提取模板針對(duì)性不強(qiáng)的問題[5],已經(jīng)獲得越來(lái)越多學(xué)者的青睞.第一個(gè)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法R-CNN[6]被Girshick 等提出,在VOC07 數(shù)據(jù)集上平均精度的均值(mean Average Precision,mAP)由原來(lái)的34.3%提升到66%.Girshick 和Ren 等分別提出了Fast R-CNN[7]和Faster R-CNN[8]算法,mAP 值提高大約6%,檢測(cè)系統(tǒng)的運(yùn)行速度高達(dá)5 fps,相較于R-CNN 提高了10 倍之多.隨后,Liu 等提出了SSD[9]檢測(cè)算法,Redmon 等提出了YOLO 的一系列算法:YOLOv1[10]、YOLOv2[11]、YOLOv3[12].其中,YOLOv3 檢測(cè)效果更好,在COCO數(shù)據(jù)集上mAP 為57.9%,時(shí)間為51 ms,相較于其它目標(biāo)檢測(cè)算法,在保證精度的同時(shí)具有更快的速度.
YOLOv3 的高效性,得到越來(lái)越多學(xué)者的喜愛,并將其應(yīng)用到各個(gè)領(lǐng)域.如李睿等[13]將其用于手腕骨骨齡評(píng)價(jià);李斌等[14]將其用于無(wú)人機(jī)檢測(cè);林俊等[15]將其用于安全帽檢測(cè)等,由此可見YOLOv3 算法的受關(guān)注程度.
遷移學(xué)習(xí)是一種運(yùn)用已有知識(shí)對(duì)不同但相似的領(lǐng)域問題進(jìn)行求解的機(jī)器學(xué)習(xí)方法[16],與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,遷移學(xué)習(xí)能解決訓(xùn)練樣本不足問題、滿足數(shù)據(jù)集測(cè)試集服從不同分布情況、將訓(xùn)練得到的模型在不同的任務(wù)之間進(jìn)行遷移和共享[17].遷移學(xué)習(xí)與深度學(xué)習(xí)的結(jié)合,保證了深度學(xué)習(xí)模型精度,同時(shí)還發(fā)揮了遷移學(xué)習(xí)快速分類的優(yōu)勢(shì),且降低了訓(xùn)練樣本和硬件設(shè)備的要求.近年來(lái)深度遷移學(xué)習(xí)方法已經(jīng)應(yīng)用到自然語(yǔ)言和圖像處理等方面,并取得了不錯(cuò)的成果.
本文采用基于YOLOv3 的遷移學(xué)習(xí)方法將深度學(xué)習(xí)模型YOLOv3 遷移到紫莖澤蘭數(shù)據(jù)上,對(duì)遷移的YOLOv3 模型微調(diào),并更新?lián)p失函數(shù)中各類損失的權(quán)重.實(shí)驗(yàn)結(jié)果表明,在紫莖澤蘭檢測(cè)任務(wù)中,測(cè)試的平均精度(Average precision,AP)相較于YOLOv3 提高了17%,能夠滿足復(fù)雜條件下的紫莖澤蘭檢測(cè)任務(wù).
YOLOv3 使用的網(wǎng)絡(luò)結(jié)構(gòu)為Darknet53,一共有53 個(gè)卷積層.YOLOv3 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)圖
Darknet53 網(wǎng)絡(luò)中包含大量3×3 和1×1 的卷積層,這些卷積層通過取代原來(lái)的池化層的方式來(lái)避免特征信息的丟失.除此外,YOLOv3 根據(jù)殘差學(xué)習(xí)的思想,在網(wǎng)絡(luò)中加入了大量的殘差塊,避免網(wǎng)絡(luò)層數(shù)加深帶來(lái)的在訓(xùn)練過程中產(chǎn)生的梯度爆炸現(xiàn)象.YOLOv3 網(wǎng)絡(luò)最后一層采用多個(gè)獨(dú)立的邏輯斯諦回歸分類器進(jìn)行分類,實(shí)現(xiàn)多目標(biāo)分類問題.
在卷積神經(jīng)網(wǎng)絡(luò)中,淺層的特征具有豐富的細(xì)節(jié)和定位信息,如紋理、顏色、形狀等,深層的特征具有豐富的語(yǔ)義信息.對(duì)于位置預(yù)測(cè)需要淺層特征信息,而類別預(yù)測(cè)需要深層特征信息,YOLOv3 采用多個(gè)尺度特征融合的思想來(lái)進(jìn)行預(yù)測(cè),對(duì)特征圖進(jìn)行降采樣和上采樣操作,實(shí)現(xiàn)多尺度特征圖的位置和類別預(yù)測(cè),提高目標(biāo)檢測(cè)準(zhǔn)確率.多尺度特征預(yù)測(cè)過程為:輸入一張圖片,經(jīng)過一系列卷積操作,卷積網(wǎng)絡(luò)在79 層后,經(jīng)過卷積操作得到一種尺度的預(yù)測(cè)結(jié)果,用于檢測(cè)相對(duì)輸入圖像32 倍下采樣的特征圖.為了實(shí)現(xiàn)細(xì)粒度的預(yù)測(cè),第79 層的特征圖通過卷積作上采樣,然后與61 層特征圖融合,得到第91 層較細(xì)粒度的特征圖,同樣經(jīng)過幾次卷積操作后得到相對(duì)輸入圖像16 倍下采樣的特征圖.最后,第91 層特征圖通過卷積作上采樣,并與第36 層特征圖融合,得到相對(duì)輸入圖像8 倍下采樣的特征圖.這3 種融合得到的特征圖進(jìn)行卷積操作后用于位置和類別的預(yù)測(cè).
YOLOv3 算法通過K 均值聚類方法對(duì)數(shù)據(jù)集中的目標(biāo)框進(jìn)行聚類,得到9 種不同大小的錨點(diǎn)框,然后將他們均分到3 種尺度的特征圖上,用于不同尺度的特征圖的提取.
YOLOv3 的網(wǎng)絡(luò)結(jié)構(gòu)、聚類方法以及多尺度特征預(yù)測(cè)使其在檢測(cè)準(zhǔn)確度和檢測(cè)速度上取得較好的效果,且相較于其他的目標(biāo)檢測(cè)方法效果更佳,在COCO 數(shù)據(jù)集下與其他網(wǎng)絡(luò)的性能對(duì)比如表1所示.
表1 YOLOv3 與其他網(wǎng)絡(luò)性能對(duì)比
遷移學(xué)習(xí)方法能夠?qū)崿F(xiàn)相似或相關(guān)領(lǐng)域間的復(fù)用和遷移,使傳統(tǒng)的零基礎(chǔ)學(xué)習(xí)變成有積累學(xué)習(xí),能夠降低模型訓(xùn)練開銷,提高深度學(xué)習(xí)效果.本文提出的基于YOLOv3 的遷移學(xué)習(xí)方法屬于基于網(wǎng)絡(luò)的深度遷移學(xué)習(xí)方法,將深度學(xué)習(xí)模型YOLOv3 遷移到紫莖澤蘭數(shù)據(jù)集上,對(duì)遷移學(xué)習(xí)訓(xùn)練模型微調(diào),采用K 均值聚類算法進(jìn)行維度聚類,確定目標(biāo)框參數(shù).通過維度聚類獲得的9 組先驗(yàn)框維度分別為(100,108),(144,141),(162,209),(212,164),(242,237),(260,335),(338,271),(373,378),(399,413).將這9 組先驗(yàn)框維度分別均分到3 種尺度的特征圖上,分配上,13×13 特征圖上有最大的感受野,應(yīng)用較大的先驗(yàn)框,中等特征圖應(yīng)用中等先驗(yàn)框,較大的52×52 特征圖上應(yīng)用較小的先驗(yàn)框,此分配能夠獲取更多的目標(biāo)邊緣信息.
損失函數(shù)是模型預(yù)測(cè)值與真實(shí)值之間的誤差,是決定網(wǎng)絡(luò)效果的重要參數(shù)之一.YOLOv3 的損失函數(shù)包括邊界框損失、置信度損失和分類損失,損失值越小說明模型的魯棒性越好,損失函數(shù)如式(1)~式(3).
(1)目標(biāo)框損失
(2)置信度損失
(3)分類損失
式中,s為圖像的劃分系數(shù),n為每個(gè)網(wǎng)絡(luò)中所預(yù)測(cè)的邊界框個(gè)數(shù),C為總分類數(shù),p為類別概率,c=0,1,···,C為類別序號(hào),xi、yi分別為第i個(gè)格中的邊界框中心點(diǎn)橫、縱坐標(biāo),wi、hi分別為第i個(gè)格中的邊界框的寬度和高度.
YOLOv3 損失函數(shù)中的3 類損失每一類損失對(duì)網(wǎng)絡(luò)的影響均不同,為尋求最優(yōu)的損失函數(shù)來(lái)增強(qiáng)YOLOv3 遷移學(xué)習(xí)方法在紫莖澤蘭數(shù)據(jù)集上的適應(yīng)性,在訓(xùn)練過程中需要不斷改變損失函數(shù)中各類損失的權(quán)重,并通過測(cè)試的AP 值來(lái)驗(yàn)證邊界框損失、置信度損失和分類損失對(duì)紫莖澤蘭數(shù)據(jù)集的影響,從而找到最佳的損失函數(shù).
實(shí)驗(yàn)數(shù)據(jù)采集地在云南,圖片因拍攝角度、時(shí)間、地點(diǎn)不同而具有不同的角度、不同的曝光率和背景,屬于一類復(fù)雜背景的圖像數(shù)據(jù)集,這樣的數(shù)據(jù)集用來(lái)訓(xùn)練模型更具有代表性,魯棒性更強(qiáng).為避免錯(cuò)誤、重復(fù)和模糊圖片,對(duì)數(shù)據(jù)集進(jìn)行篩選,根據(jù)VOC 和COCO 數(shù)據(jù)集的圖像標(biāo)注方法使用Lableimg 工具對(duì)圖像進(jìn)行人工標(biāo)注,產(chǎn)生訓(xùn)練所需要的XML 文件.本實(shí)驗(yàn)訓(xùn)練集有11 931 張,按照9:1 的比例分成訓(xùn)練集和驗(yàn)證集;測(cè)試集有670 張,為了驗(yàn)證方法的有效性,測(cè)試集里邊除了復(fù)雜背景的紫莖澤蘭圖片外,還有一些其它的植物圖片.部分訓(xùn)練集和測(cè)試集圖片如圖2、圖3.
圖2 部分訓(xùn)練集樣本
圖3 部分測(cè)試集樣本
圖2中4 幅子圖均為紫莖澤蘭圖像,圖3(b)、圖3(c)為紫莖澤蘭圖像,圖3(a)和圖3(d)為其它種類的植物葉片圖像.
紫莖澤蘭的檢測(cè)精度越高,誤檢和漏檢的可能性越小,且檢測(cè)精度能夠直觀地看出網(wǎng)絡(luò)檢測(cè)結(jié)果的有效性,紫莖澤蘭屬于單目標(biāo)檢測(cè),AP 作為單類目標(biāo)檢測(cè)算法的標(biāo)準(zhǔn)評(píng)價(jià)指標(biāo),能夠驗(yàn)證改進(jìn)的YOLOv3 模型的有效性和可靠性.AP 的定義為:以紫莖澤蘭的召回率為橫坐標(biāo),準(zhǔn)確率為縱坐標(biāo),繪制出一條P-R 曲線,曲線下的面積即為AP.準(zhǔn)確率和召回率的定義如下:
準(zhǔn)確率:
召回率:
在式(4)和式(5)中,TP代表識(shí)別出紫莖澤蘭的數(shù)量,FP代表將其它植物識(shí)別成紫莖澤蘭的數(shù)量,FN則代表沒有識(shí)別出紫莖澤蘭的數(shù)量.
損失函數(shù)作為網(wǎng)絡(luò)模型的重要組成部分,對(duì)網(wǎng)絡(luò)的性能具有巨大的影響,本文為了增強(qiáng)基于YOLOv3的遷移模型的適應(yīng)性,對(duì)YOLOv3 網(wǎng)絡(luò)的損失函數(shù)做出調(diào)整,主要對(duì)損失函數(shù)的各類損失權(quán)重進(jìn)行更新,更新各類損失權(quán)重得到的測(cè)試精度如圖4所示.
圖4 更新權(quán)重后的測(cè)試精度
圖4中,圖中橫坐標(biāo)中的5 個(gè)值分別代表分類損失的權(quán)重,縱坐標(biāo)表示AP.橫坐標(biāo)數(shù)字1 所在的第一個(gè)縱列表示固定置信度損失權(quán)重和分類損失權(quán)重,不斷增大坐標(biāo)框損失權(quán)重,從中可以看出,增大坐標(biāo)框損失權(quán)重對(duì)測(cè)試精度的影響較小,最高增長(zhǎng)量不到5%;從整體上看,當(dāng)逐漸增大置信度損失權(quán)重和分類損失權(quán)重時(shí),測(cè)試精度呈現(xiàn)出上升趨勢(shì),當(dāng)置信度損失權(quán)重和分類損失權(quán)重均為均為4 時(shí)測(cè)試精度達(dá)到了最大值67.22%,當(dāng)兩者權(quán)重繼續(xù)增大時(shí)測(cè)試精度開始呈現(xiàn)出下降趨勢(shì).通過對(duì)比分析可得坐標(biāo)框損失、置信度損失、分類損失的權(quán)重分別為1、4、4 倍.
以誤檢率(FP)和識(shí)別出的紫莖澤蘭個(gè)數(shù)(TP)作為評(píng)價(jià)指標(biāo),實(shí)驗(yàn)結(jié)果如表2所示.
紫莖澤蘭測(cè)試集圖片標(biāo)注目標(biāo)一共有2033 個(gè),由表2可以看出,本文所提出的基于YOLOv3 的遷移學(xué)習(xí)方法相較于Faster R-CNN,無(wú)論是誤檢個(gè)數(shù)還是正確識(shí)別個(gè)數(shù)都要比Faster R-CNN 算法好得多,更新?lián)p失權(quán)重后的誤檢個(gè)數(shù)雖然略有提高,但是正確識(shí)別出的個(gè)數(shù)大大增加,說明了基于YOLOv3 的遷移學(xué)習(xí)算法以及權(quán)重更新在紫莖澤蘭數(shù)據(jù)集檢測(cè)上的有效性.
表2 TP、FP對(duì)比
以AP 和檢測(cè)一張圖片的時(shí)間作為檢測(cè)效果評(píng)價(jià)指標(biāo),結(jié)果如表3所示.
表3 檢測(cè)精度對(duì)比
從實(shí)驗(yàn)結(jié)果可以看出,YOLOv3 目標(biāo)檢測(cè)算法的魯棒性更好,使用范圍更廣.改進(jìn)的YOLOv3 算法的AP 值最高,且檢測(cè)速度比Faster R-CNN 算法快約90 倍.張帥等[18]使用分層卷積深度學(xué)習(xí)系統(tǒng)對(duì)植物葉片進(jìn)行識(shí)別,其單一背景下的圖片識(shí)別率高達(dá)91.11%,但復(fù)雜背景下的圖片識(shí)別率為34.38%.由此可見,在紫莖澤蘭這一類復(fù)雜背景下的數(shù)據(jù)集下,基于YOLOv3的遷移模型能夠同時(shí)兼顧檢測(cè)準(zhǔn)確率和檢測(cè)速度,能夠較好的完成紫莖澤蘭的檢測(cè)任務(wù).
紫莖澤蘭入侵已嚴(yán)重影響我國(guó)生態(tài)環(huán)境的多樣性以及農(nóng)林業(yè)畜牧業(yè)的發(fā)展,現(xiàn)已采取了很多防治措施,紫莖澤蘭檢測(cè)作為防治措施的關(guān)鍵步驟,實(shí)現(xiàn)紫莖澤蘭的有效檢測(cè)至關(guān)重要.而本文提出的基于YOLOv3模型的遷移學(xué)習(xí)方法的紫莖澤蘭檢測(cè),是目標(biāo)檢測(cè)算法的一種拓展應(yīng)用,在復(fù)雜背景下AP 值相比原YOLOv3模型提高了17%,已基本能夠滿足紫莖澤蘭檢測(cè)任務(wù).