賈惠 伍希志 薛洋 李玉彤
(中南林業(yè)科技大學(xué)材料科學(xué)與工程學(xué)院,湖南 長沙 410000)
柑橘是我國南方種植較多的一類水果,其經(jīng)濟效益較高。隨著農(nóng)林業(yè)機械化的不斷進(jìn)步,柑橘的采摘已經(jīng)逐漸從人工過渡到結(jié)合機器視覺方法。傳統(tǒng)的機器視覺需要對實時采集的圖像進(jìn)行數(shù)據(jù)圖像處理操作,效率很低[1];近些年神經(jīng)網(wǎng)絡(luò)快速發(fā)展,機器視覺結(jié)合深度學(xué)習(xí)方法進(jìn)行檢測成為主流[2-5]。目前采用深度學(xué)習(xí)方法進(jìn)行柑橘缺陷檢測存在一個關(guān)鍵問題:深度學(xué)習(xí)方法需要預(yù)先采集大量訓(xùn)練樣本得到訓(xùn)練模型,而在實際采摘柑橘的場景應(yīng)用中,預(yù)先進(jìn)行大量的缺陷柑橘數(shù)據(jù)獲取和高質(zhì)量標(biāo)注會耗費大量精力。因此,如何使用較少的特征數(shù)據(jù)樣本獲得較好的檢測效果是學(xué)者一直在研究的新方向。
小樣本學(xué)習(xí)最初受啟發(fā)于人類學(xué)習(xí)模式,人類擅長從極少樣本中快速學(xué)習(xí)到新事物的特征,并做出準(zhǔn)確的預(yù)測,這種高效率的學(xué)習(xí)能力正是當(dāng)前機器學(xué)習(xí)模型所需要的。為解決因大量高質(zhì)量標(biāo)注樣本帶來的困難,2003年,Li等[6]首次在論文中提出小樣本學(xué)習(xí)的概念,其使用了一種基于貝葉斯方法的無監(jiān)督一次性學(xué)習(xí)物體類別方法,從僅有少量圖像樣本中學(xué)習(xí)物體類別。此時小樣本主要是進(jìn)行分類任務(wù),隨著研究的不斷深入,學(xué)者開始同時兼顧分類和定位任務(wù)。2018年,Dong等[7]利用大量未標(biāo)注圖像和每個類別只有少數(shù)標(biāo)記的圖像進(jìn)行目標(biāo)檢測,與只使用大量圖像標(biāo)簽的先進(jìn)弱監(jiān)督方法相比,產(chǎn)生了非常有競爭力的結(jié)果。近年來對于基于小樣本的檢測研究越來越多,史燕燕等[8]、李芳琳[9]將小樣本目標(biāo)檢測分為4類,并討論了在公共數(shù)據(jù)集上各方法的效果。楊明欣等[10]將數(shù)據(jù)進(jìn)行增強,使用改進(jìn)的MobileNetV2進(jìn)行訓(xùn)練,最終改進(jìn)模型在對照實驗中具有更優(yōu)秀的效果。李紅光等[11]基于元學(xué)習(xí)方法解決了遙感圖像樣本小且易與背景混肴的問題。杜鵑等[12]基于遷移學(xué)習(xí)對小樣本連接器數(shù)據(jù)集檢測,在YOLOv5的基礎(chǔ)上進(jìn)行權(quán)重遷移和模型調(diào)整,最終該方法檢測精度和收斂速度都有很大提升。唐澤宇等[13]在研究如何提取和識別通信輻射源的目標(biāo)特征時提出了基于遷移學(xué)習(xí)的小樣本識別方法,結(jié)合數(shù)據(jù)增強,最終加快了模型的收斂速度,提高了模型識別率和魯棒性。黃友文等[14]在小樣本數(shù)據(jù)集上使用了融合分類校正和樣本擴增的Faster-R-CNN網(wǎng)絡(luò),在樣本數(shù)量很少的情況下,效果有顯著提升。吳晗等[15]提出了基于樣本擴增的小樣本目標(biāo)檢測算法,采用生成對抗網(wǎng)絡(luò)進(jìn)行樣本數(shù)據(jù)增強,并在YOLOv3的基礎(chǔ)上添加了空間注意力機制模塊,新算法在自己數(shù)據(jù)集上提升了近20%的平均精確率。馬鵬等[16]針對智能變電站設(shè)備的自動化檢測提出了基于遷移學(xué)習(xí)的小樣本檢測方法,在單階段多框檢測器的算法基礎(chǔ)上根據(jù)數(shù)據(jù)集添加特征提取層,改進(jìn)特征預(yù)測框和非極大抑制部分,最終實驗精度達(dá)到91.1%,為小樣本電力設(shè)備智能化檢測奠定了基礎(chǔ)。
綜上所述,目前在小樣本目標(biāo)檢測的研究上已經(jīng)取得了一定的成就,但一些研究多數(shù)是以公共數(shù)據(jù)集進(jìn)行實驗,對于單一種類樣本的數(shù)據(jù)集研究較少。筆者認(rèn)為,單一目標(biāo)的數(shù)據(jù)集樣本之間相似性較高,能夠更快速地學(xué)習(xí)到樣本特征,從而實現(xiàn)目標(biāo)的缺陷檢測。因此,針對收集的柑橘數(shù)據(jù)集,本論文采用基于遷移學(xué)習(xí)和數(shù)據(jù)增強的方法進(jìn)行柑橘小樣本的缺陷檢測,以減少數(shù)據(jù)采集和標(biāo)記的工作量以及算法學(xué)習(xí)的復(fù)雜度。
本實驗收集了13種不同的柑橘缺陷類型圖片,每類有5~30張圖片。這些類別分別是柑橘白癩病、瘡痂、褐腐疫霉病、黑星病、黃龍病、花皮(薊馬危害)、潰瘍、裂果、煤煙病、日灼、砂皮果、炭疽、銹螨。實驗數(shù)據(jù)均是來自互聯(lián)網(wǎng)搜索,并在查閱資料后進(jìn)行缺陷分類,部分樣本如圖1所示。
圖1 柑橘病害缺陷樣本
本文所使用的方法分別需要原始數(shù)據(jù)和增強后的數(shù)據(jù)。原始圖片進(jìn)行篩選和預(yù)處理后得到260張樣本,圖片統(tǒng)一處理為640像素規(guī)格。計算機視覺領(lǐng)域的數(shù)據(jù)增強是指借助圖像處理技術(shù)或深度學(xué)習(xí)技術(shù),使之產(chǎn)生更多有效數(shù)據(jù)。本文將采用圖像處理方法將原始數(shù)據(jù)進(jìn)行旋轉(zhuǎn)、裁剪、高斯模糊,將數(shù)據(jù)總量擴充至1000張圖片以提高樣本多樣性。使用LabelImg軟件將圖片標(biāo)注為VOC標(biāo)簽格式,該標(biāo)簽格式涵蓋了較多的圖像信息,在后續(xù)使用時可以方便轉(zhuǎn)為另外2種標(biāo)簽格式,以避免重復(fù)標(biāo)注。
遷移學(xué)習(xí)的目標(biāo)是將舊任務(wù)中學(xué)習(xí)到的知識和技能應(yīng)用到新任務(wù)中[17],基于遷移學(xué)習(xí)的小樣本目標(biāo)檢測方法是先在含有大量圖像的數(shù)據(jù)集上對模型進(jìn)行預(yù)訓(xùn)練學(xué)習(xí)大量目標(biāo)樣本泛化的特征,進(jìn)行模型參數(shù)的微調(diào),將該模型應(yīng)用到新的小樣本任務(wù)中。本實驗采用基于遷移學(xué)習(xí)的微調(diào)方法,具體使用了3種實驗?zāi)P停河蒠an等[19]提出的FRCN ft-full以及Wang等[18]提出的TFA w/fc和TFA w/cos。如圖2所示,3種模型均是由基礎(chǔ)訓(xùn)練階段和微調(diào)階段組成,在類型豐富的基礎(chǔ)數(shù)據(jù)集上訓(xùn)練整個目標(biāo)檢測器來初始化模型,凍結(jié)主要部分,對包含新穎類別的小型平衡訓(xùn)練集進(jìn)行微調(diào)。
TFA方法的主要思想是在Faster R-CNN模型中添加1個稱為Target Few-Shot Adapter的微調(diào)模塊,如圖2b所示,該模塊添加在模型的最后一層,專門用于處理少量目標(biāo)類別的微調(diào);其中,TFA w/fc使用全連接層作為適配器,而TFAw/cos使用余弦相似度作為適配器。微調(diào)模塊在進(jìn)行新類微調(diào)時,凍結(jié)了模型的主干網(wǎng)絡(luò)、RPN和ROI特征提取3部分,在新類的小樣本集合上,微調(diào)檢測模型最后一層的邊界框分類器和回歸器,以適應(yīng)新的目標(biāo)類別。而FRCN ft-full使用完全微調(diào)的方法,沒有凍結(jié)任何層。
圖2 TFA方法流程
基于數(shù)據(jù)增強的方法主要是對于數(shù)據(jù)進(jìn)行修改,不改變訓(xùn)練模型。小樣本學(xué)習(xí)的根本問題在于目標(biāo)任務(wù)數(shù)據(jù)量少,難以訓(xùn)練出魯棒的識別模型。因此,擴充數(shù)據(jù)可以從根本上解決小樣本問題。本實驗采用最基礎(chǔ)的傳統(tǒng)方法,在原始數(shù)據(jù)上做高斯模糊和旋轉(zhuǎn)等操作,如圖3所示,為部分增強圖像的示例。以增強后的數(shù)據(jù)為目標(biāo)數(shù)據(jù)集,使用主流的目標(biāo)檢測方法進(jìn)行檢測。目前根據(jù)網(wǎng)絡(luò)模型階段來劃分,目標(biāo)檢測算法可以分為2類,一階段算法和兩階段算法。本文使用的是在小目標(biāo)檢測中表現(xiàn)優(yōu)秀的典型算法,分別是一階段算法中的YOLOv8和兩階段算法中的Faster R-CNN。
圖3 部分增強數(shù)據(jù)
2.2.1 Faster R-CNN算法
Faster R-CNN是一種用于目標(biāo)檢測的深度學(xué)習(xí)算法,相較于R-CNN和Fast R-CNN算法,F(xiàn)aster R-CNN引入了RPN(Region Proposal Network)直接生成候選區(qū)域,從而提高了檢測效率。其網(wǎng)絡(luò)模型結(jié)構(gòu)包括特征提取,RPN網(wǎng)絡(luò)生成候選框,最終的目標(biāo)分類與位置回歸[20]。
2.2.2 YOLOv8算法
YOLO系列算法是一種用于目標(biāo)檢測的深度學(xué)習(xí)算法,采用端到端的思路,在速度和準(zhǔn)確性之間取得了平衡。YOLOv8是目前最先進(jìn)的模型,建立在舊YOLO版本的基礎(chǔ)上,引入了新的功能和改進(jìn),以進(jìn)一步提升性能和靈活性。YOLOv8的工作流程如圖4所示,輸入圖像經(jīng)過卷積層提取特征得到3個尺度的特征圖;每個尺度都會輸出1組邊界框和對應(yīng)的置信度;根據(jù)置信度和閾值,篩選出置信度高的邊界框,并采用非極大值抑制(NMS)來去除重疊的邊界框;得到檢測結(jié)果,包括目標(biāo)類別、邊界框位置和置信度。
圖4 YOLOv8工作流程圖
YOLOv8的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示,從圖5可以看出,網(wǎng)絡(luò)分為主干網(wǎng)絡(luò)(Backbone)、特征增強網(wǎng)絡(luò)(Neck)和檢測頭(Head),3個部分。主干網(wǎng)絡(luò)將之前的C3結(jié)構(gòu)換成了梯度流更豐富的C2F結(jié)構(gòu),并對不同尺度的模型調(diào)整了不同的通道數(shù);檢測頭部分換成了解耦頭結(jié)構(gòu),將分類和檢測模塊分離;同時采用了更有效的Anchor-Free檢測方法和更精確的損失函數(shù),大幅提升了模型的性能。
圖5 YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)圖
實驗采用了一臺配備Intel Core i7處理器和NVIDIA GeForce GTX 3060顯卡的臺式計算機,內(nèi)存容量為16GB,實驗運行在Ubuntu 18.04操作系統(tǒng)上,采用Anconda環(huán)境和Python語言,運行軟件為Pycharm。
3.2.1 基于遷移學(xué)習(xí)的方法
基于遷移學(xué)習(xí)的方法引入了一個新概念N-way K-shot,其中N代表類別數(shù)量,K代表樣本數(shù)量,實驗數(shù)據(jù)使用原始樣本,將數(shù)據(jù)進(jìn)行隨機分類,使用prepare_voc_few_shot.py文件將原始數(shù)據(jù)集分成多組隨機種子,每組均為13個類別的樣本,每個類別按照K=1,2,3,5,7,10,20進(jìn)行實例抽樣。在進(jìn)行模型訓(xùn)練時,對于3種算法模型各自進(jìn)行7組訓(xùn)練,每組樣本數(shù)量分別為K的不同取值。實驗采用Faster R-CNN作為訓(xùn)練模型,其他參數(shù)設(shè)置與基于數(shù)據(jù)增強的法中Faster R-CNN模型的設(shè)置一致。
3.2.2 基于數(shù)據(jù)增強的方法
2種算法均使用相同圖片樣本,圖片大小為640像素,采用增強前的260張原始圖片和增強后的1000張圖片做對照組,學(xué)習(xí)率為0.001,batch size為1,采用SGD優(yōu)化器。模型的訓(xùn)練過程中,采用有監(jiān)督的學(xué)習(xí)方式,通過設(shè)計損失函數(shù)的回歸以及優(yōu)化柑橘缺陷檢測準(zhǔn)確率模型,選擇的訓(xùn)練輪次為各類模型損失函數(shù)基本趨于穩(wěn)定時的輪次。
3.3.1 基于遷移學(xué)習(xí)方法的結(jié)果分析
基于遷移學(xué)習(xí)3類算法的結(jié)果如表1、圖6所示。
從表1可以看出,在TFA模型算法中,TFA w/cos在1-shot下的表現(xiàn)優(yōu)于TFA w/fc,然而除1-shot外,TFA w/fc在所有其他實驗條件下的表現(xiàn)均高于TFA w/cos。這表明使用全連接層作為適配器在柑橘的小樣本檢測任務(wù)中的效果略優(yōu)于使用余弦相似度的算法;此外,F(xiàn)RCN ft-full方法在1-shot條件下的mAP值達(dá)到25.134%,已經(jīng)比TFA算法在20-shot條件下的mAP值還高出6.917%;在20-shot下,F(xiàn)RCN ft-full方法的mAP值更是高達(dá)69.823%。這些數(shù)據(jù)充分證明FRCN ft-full方法在該任務(wù)中的性能遠(yuǎn)超TFA模型算法。
從圖6可以看出,在算法的3個評價指標(biāo)中,AP50表現(xiàn)最為出色,這表明在IoU為0.5時,準(zhǔn)確率達(dá)到最佳水平。隨著IoU值的增加,準(zhǔn)確率開始下降,說明模型的檢測框的精準(zhǔn)度較差,存在能識別到物體但是無法準(zhǔn)確定位整個物體的情況。
本研究發(fā)現(xiàn),3類算法的性能均隨著圖像數(shù)量的增加而提高。在數(shù)據(jù)量較少的情況下,增加少量圖片能夠帶來顯著的算法性能提升。然而,在10-shot到20-shot的實驗中,盡管增加的圖片數(shù)量較多,但算法性能的提升程度反而并不顯著。這表明隨著圖像數(shù)量的增加,圖片數(shù)量的影響逐漸降低,即圖片數(shù)量對于算法性能的提升作用呈現(xiàn)出飽和趨勢。
圖6 遷移學(xué)習(xí)方法結(jié)果對比圖
3.3.2 基于數(shù)據(jù)增強方法的結(jié)果分析
2種算法進(jìn)行數(shù)據(jù)增強前后mAP值的對比見圖7。其中,F(xiàn)aster R-CNN算法在增強前的mAP值為48.2%,增強后為84.7%,增加了36.5%;而YOLOv8算法在增強前的mAP值為52%,增強后為85.3%,增加了33.3%。這表明數(shù)據(jù)增強對于提高模型準(zhǔn)確率具有顯著效果。同時。從圖8可以看出,YOLOv8算法在增強前比Faster R-CNN高出3.8%,在增強后,YOLOv8算法仍比Faster R-CNN高出0.6%。這表明,YOLOv8算法在性能上優(yōu)于Faster R-CNN算法。
圖7 數(shù)據(jù)增強前后的mAP值對比
本研究采用了遷移學(xué)習(xí)方法和數(shù)據(jù)增強方法進(jìn)行小樣本柑橘檢測,實驗結(jié)果表明,基于數(shù)據(jù)增強方法在檢測準(zhǔn)確率方面優(yōu)于基于遷移學(xué)習(xí)方法;基于數(shù)據(jù)增強方法學(xué)習(xí)特征單一,容易造成過擬合;基于遷移學(xué)習(xí)方法泛化性強,但檢測框定位稍差。未來的研究需要繼續(xù)優(yōu)化模型的結(jié)構(gòu)和訓(xùn)練方法,以提高小樣本數(shù)據(jù)目標(biāo)檢測的精準(zhǔn)度和魯棒性,進(jìn)一步提高模型的性能。