林柏宏 楊建紅
(華僑大學(xué),福建 廈門 361021)
為了實(shí)現(xiàn)對(duì)可回收垃圾的進(jìn)一步分選,Chung等[1]基于物聯(lián)網(wǎng)方法,將LoRaWAN通信網(wǎng)絡(luò)與垃圾分選設(shè)備相結(jié)合,設(shè)計(jì)了提供垃圾桶操作、環(huán)境監(jiān)測與人機(jī)交互界面為一體的垃圾分選系統(tǒng)。系統(tǒng)采用靜電電容式接近傳感器,通過測量不同垃圾的介電常數(shù),對(duì)可回收材料(金屬、鋁箔和紙張等)做進(jìn)一步的篩分。基于物聯(lián)網(wǎng)方法構(gòu)建的垃圾分選系統(tǒng)具有較高的自動(dòng)化、精細(xì)化程度與精度,但系統(tǒng)成本高、結(jié)構(gòu)復(fù)雜,安裝與維護(hù)困難[2-3]。人工智能分選方法利用采集的圖像數(shù)據(jù)集所訓(xùn)練的預(yù)測模型,可以準(zhǔn)確、高效地識(shí)別圖像中的特征,并對(duì)圖像進(jìn)行分類[4-7]。此類算法只能對(duì)圖像中的單個(gè)目標(biāo)物體進(jìn)行分類,為了實(shí)現(xiàn)圖像中多目標(biāo)分類任務(wù),Nie等[8]利用目標(biāo)檢測算法Faster R-CNN完成對(duì)圖像的特征提取、分類,并對(duì)每個(gè)目標(biāo)物體進(jìn)行定位,在垃圾檢測分類任務(wù)中取得89.68%的準(zhǔn)確率。由于Faster R-CNN為雙階段網(wǎng)絡(luò),需要先進(jìn)行候選區(qū)域提取,然后細(xì)化分類,此類算法可以獲得較高的識(shí)別準(zhǔn)確率,但檢測效率較低。
為了提高目標(biāo)檢測算法識(shí)別效率,滿足實(shí)時(shí)檢測的要求,單階段目標(biāo)檢測網(wǎng)絡(luò)被更多地應(yīng)用于垃圾識(shí)別檢測領(lǐng)域。YOLO(You Only Look Once)[9]算法相較于雙階段算法,省去了窮舉候選框這一步驟,檢測速度有效提升,YOLO系列的V4版本在檢測精度和檢測速度方面均優(yōu)于其他單階段目標(biāo)檢測算法[10]。Chen等[11]在YOLO V4骨干網(wǎng)絡(luò)中增加空間注意模塊和通道注意模塊,在Neck網(wǎng)絡(luò)中使用Rescurive-FPN替換PANNet,減少骨干網(wǎng)絡(luò)中的參數(shù)和浮點(diǎn)數(shù)運(yùn)算量,同時(shí)可以保留圖像上的特征信息。此項(xiàng)研究對(duì)15種垃圾類別做識(shí)別分類,準(zhǔn)確率為64%,F(xiàn)PS為92 f/s。李德鑫等[12]針對(duì)垃圾檢測無人機(jī)影像中小目標(biāo)檢測精度低的問題,對(duì)YOLO V5數(shù)據(jù)增強(qiáng)預(yù)處理進(jìn)行優(yōu)化,并改進(jìn)了SPP模塊以及損失函數(shù)。研究在3種河道漂浮垃圾分類任務(wù)中,取得67.36%的mAP(mean Average Precision)。上述研究表明基于機(jī)器學(xué)習(xí)的人工智能分選方法可以快速地完成垃圾種類識(shí)別,并得到較高的識(shí)別準(zhǔn)確率。但垃圾分類系統(tǒng)所用模型均在理想工況下進(jìn)行測試,背景和垃圾表面較為干凈,未對(duì)模型在實(shí)際垃圾分揀工況作相應(yīng)的驗(yàn)證。采用的目標(biāo)檢測算法只能獲取垃圾最小矩形包圍框,在一些需要垃圾外輪廓分揀場景上無法得到有效應(yīng)用。
基于生活垃圾回收廠實(shí)際人工分揀工況,考慮垃圾外輪廓信息的獲取,將實(shí)例分割網(wǎng)絡(luò)應(yīng)用于垃圾精細(xì)化分類。考慮到時(shí)空變換后的生活垃圾工況發(fā)生較大改變,導(dǎo)致模型對(duì)生活垃圾的回收率與純度進(jìn)一步下降等問題,引入語義分割網(wǎng)絡(luò)作為輔助,篩選出實(shí)例分割網(wǎng)絡(luò)模型識(shí)別任務(wù)中的難例樣本,將難例樣本用于更新實(shí)例分割模型。增強(qiáng)模型對(duì)不同工況物料識(shí)別效果,提高模型的泛化能力。
試驗(yàn)數(shù)據(jù)為生活垃圾分類回收處理廠中,人工分揀工位上由線陣相機(jī)采集、拼接所得到分辨率為1 200像素×1 200像素的圖片。為了驗(yàn)證模型在不同時(shí)空變換下的泛化能力,試驗(yàn)分兩次進(jìn)行樣本采集,兩次樣本采集時(shí)間間隔為3個(gè)月,與第一批數(shù)據(jù)相比,第二批樣本光源反光材料存在部分氧化,導(dǎo)致整體色彩有較大變化,每個(gè)季度產(chǎn)生垃圾種類、數(shù)量等也存在差異。第一次共采集樣本3 000張,使用labelme軟件標(biāo)注每張圖像中每個(gè)物體的類別,以8 : 2比例劃分為訓(xùn)練集和測試集1[13]。第二次采集樣本7 100張,其中600張標(biāo)注為測試集2,剩余6 500張樣本作為挑選集樣本不做標(biāo)注。不同數(shù)據(jù)集中包含類別以及類別的數(shù)量,其余類為無回收價(jià)值垃圾,其余類在數(shù)量上多于其他類樣本,其他九類根據(jù)可回收物的材料、顏色進(jìn)行劃分,每個(gè)數(shù)據(jù)集中的類別比例相對(duì)較穩(wěn)定。垃圾分類回收方面不同類別回收價(jià)值不同,導(dǎo)致模型精確率(p)與召回率(r)側(cè)重要求不同,采用工程上垃圾分類回收指標(biāo),回收率Y(每個(gè)類別精確率的平均值)、純度P(每個(gè)類別召回率的平均值)評(píng)價(jià)模型性能。在神經(jīng)網(wǎng)絡(luò)多分類問題中,分類結(jié)果一般有4種情況,假設(shè)C類為正樣本,其余類別為負(fù)樣本,則情況1屬于C類的樣本被正確分類到C類,這類樣本數(shù)記為TP;情況2不屬于C類的樣本(可能為A也可能是B)被錯(cuò)誤分類到C類,這一類樣本數(shù)記為FP。情況3屬于C類的樣本被錯(cuò)誤分類到其他非C類,記該類樣本數(shù)為FN;情況4不屬于C類的樣本(如類A)被正確分類到非C類(類A),記該類樣本數(shù)為TN。
每個(gè)類別的精確率與召回率:
回收率、純度定義如下:
式中:N——可回收物類別數(shù)。
不同數(shù)據(jù)集中每個(gè)類別樣本數(shù)量如表1所示。
表1 不同數(shù)據(jù)集中每個(gè)類別樣本數(shù)量 單位:個(gè)
基于Facebook AI Research的Detectron2[14]平臺(tái)以及可實(shí)現(xiàn)多種實(shí)例級(jí)檢測與識(shí)別任務(wù)的開源工具箱AdelaiDet[15],完成不同基本實(shí)例分割網(wǎng)絡(luò)的快速配置,以驗(yàn)證訓(xùn)練策略在不同網(wǎng)絡(luò)上的泛化性。試驗(yàn)主機(jī)配置為:Intel(R) Core(TM) i9-10980XE CPU 3.00GHz,NVIDIA GeForce RTX 3090。訓(xùn)練策略泛化性能驗(yàn)證的實(shí)例分割網(wǎng)絡(luò)包括BlendMask[16]、MEInst[17]、CondInst[18]、Mask R-CNN[19]、Cascade R-CNN[20],語義分割輔助網(wǎng)絡(luò)為PSPNet[21]。
難例樣本挑選實(shí)例過程如圖1所示。
圖1 難例樣本挑選實(shí)例過程
使用預(yù)訓(xùn)練模型可以為初代模型提供更好的初始化參數(shù),在目標(biāo)任務(wù)上具備更好的泛化性能與收斂速度。將初代模型定義為各實(shí)例分割網(wǎng)絡(luò)在訓(xùn)練集1訓(xùn)練所得模型,各實(shí)例分割網(wǎng)絡(luò)初代模型的預(yù)訓(xùn)練權(quán)重源于Detectron2 和AdelaiDet 平臺(tái)Model Zoo,由COCO數(shù)據(jù)集訓(xùn)練所得到的模型,主干網(wǎng)絡(luò)為ResNet-50。訓(xùn)練周期為24個(gè)周期。由于在單GPU上以原圖大小輸入,在預(yù)訓(xùn)練權(quán)重上繼續(xù)訓(xùn)練,更改Batch Size為4,學(xué)習(xí)率為0.001,其余為Model Zoo配置文件默認(rèn)設(shè)置?;谂渲脜?shù),構(gòu)建實(shí)例分割以及語義分割初代模型。提出利用語義分割網(wǎng)絡(luò)作為輔助網(wǎng)絡(luò),挑選出實(shí)例分割網(wǎng)絡(luò)中的難例樣本。利用初代模型對(duì)挑選集中無標(biāo)注樣本進(jìn)行難例樣本篩選,將難例樣本作為模型更新的訓(xùn)練樣本,即訓(xùn)練集2,神經(jīng)網(wǎng)絡(luò)模型更新策略流程如圖2所示。基于所選難例樣本,提出神經(jīng)網(wǎng)絡(luò)模型更新方法,包括基于初代模型訓(xùn)練,以各初代模型為預(yù)訓(xùn)練權(quán)重,難例樣本為訓(xùn)練集2;基于COCO模型訓(xùn)練,以COCO數(shù)據(jù)集模型為預(yù)訓(xùn)練權(quán)重,難例樣本加入訓(xùn)練集1中共同作為訓(xùn)練集2。
圖2 神經(jīng)網(wǎng)絡(luò)模型更新策略流程
由于神經(jīng)網(wǎng)絡(luò)模型對(duì)部分物體有兩個(gè)或兩個(gè)以上識(shí)別結(jié)果,將導(dǎo)致回收率與純度計(jì)算偏差,因此對(duì)識(shí)別結(jié)果進(jìn)行兩類處理,包括基于得分取值,取目標(biāo)物體多個(gè)預(yù)測框中得分最高的一個(gè)作為該物體預(yù)測結(jié)果;基于FP樣本取值,若目標(biāo)物體有多個(gè)識(shí)別結(jié)果,則去掉重復(fù)框,并將目標(biāo)物體視為如第2節(jié)中所述的第二類樣本。
為了判別物體是否存在重復(fù)識(shí)別,對(duì)圖像中所有預(yù)測框兩兩之間設(shè)置IOU閾值判斷:
式中:Pb1和Pb2——分別為預(yù)測框1和預(yù)測框2;Area(Pb1∩Pb2)和Area(Pb1∪Pb2)——分別為兩個(gè)預(yù)測框的交集和并集。
如果IOU>0.5,則預(yù)測框1和預(yù)測框2為同一目標(biāo)物體的重復(fù)識(shí)別結(jié)果。
各初代模型在測試集1中分別以兩種后處理方式測試所得回收率與純度。對(duì)包含重復(fù)預(yù)測框的物體而言,以基于得分取值方式處理在回收率指標(biāo)上有明顯提升,但在純度指標(biāo)上均有一定程度降低。結(jié)果表明,對(duì)于帶多個(gè)預(yù)測框的物體,得分較高且預(yù)測結(jié)果為真實(shí)標(biāo)簽的預(yù)測框占多數(shù),但也存在一部分得分高但識(shí)別錯(cuò)誤的預(yù)測框。初代模型在測試集1上回收率與純度如表2所示。
表2 初代模型在測試集1上回收率與純度 單位:%
隨著時(shí)空變換,光源色度、強(qiáng)度總會(huì)與初始狀態(tài)有部分差異,生活垃圾的種類、環(huán)境等因素的變化也會(huì)增大兩批測試集樣本的差異。使得初代模型對(duì)測試集2中的樣本所處場景認(rèn)知能力較弱,樣本預(yù)測難度增加,導(dǎo)致回收率與純度降低,初代模型在測試集2上回收率與純度如表3所示。
表3 初代模型在測試集2上回收率與純度 單位:%
針對(duì)模型在不同時(shí)空、不同場景回收率與純度大幅下降問題,為了增加初代模型泛化能力,減少回收率與純度下降幅度,需要制作新工況下的樣本,更新原模型以提高在新工況下的識(shí)別準(zhǔn)確性。根據(jù)語義分割模型作標(biāo)簽相對(duì)較完整的特點(diǎn),實(shí)例分割模型中對(duì)低于置信度閾值的個(gè)體樣本作篩選,所選樣本即為實(shí)例分割模型中的難例樣本。基于所選難例樣本提出基于初代模型與基于COCO模型更新方法。將選出的難例樣本作為實(shí)例分割模型更新的訓(xùn)練樣本,實(shí)現(xiàn)以較小的標(biāo)注代價(jià)完成較好的模型更新效果。
各基本模型從挑選集中篩選出難例樣本數(shù),為保證各基本模型更新使用的訓(xùn)練集樣本數(shù)相同,以Cascade R-CNN挑選出難例樣本數(shù)287為上限?;灸P驮谔暨x集上選出難例樣本數(shù)如表4所示
表4 基本模型在挑選集上選出難例樣本數(shù) 單位:張
在Cascade R-CNN網(wǎng)絡(luò)上應(yīng)用兩種模型更新方法訓(xùn)練,為了進(jìn)一步探究訓(xùn)練集樣本數(shù)量對(duì)模型更新效果的影響,分別取100張難例樣本與287張難例樣本作為訓(xùn)練集2?;诔醮P陀?xùn)練的方法因訓(xùn)練時(shí)訓(xùn)練集數(shù)量較少,對(duì)每隔30周期所得模型進(jìn)行保存,并在測試集2中進(jìn)行回收率與純度測試,基于初代模型訓(xùn)練方法在測試集2上回收率與純度如表5所示。與初代模型在測試集1中的結(jié)果相比,100張與287張訓(xùn)練集樣本,在回收率方面均得到較大提升,純度明顯下降,說明基于初代模型在學(xué)習(xí)新樣本特征時(shí),對(duì)預(yù)訓(xùn)練模型中的權(quán)重系數(shù)進(jìn)行了局部調(diào)整,這種調(diào)整是以犧牲純度為代價(jià)取得回收率的提升。對(duì)30~240個(gè)訓(xùn)練周期所得模型測試結(jié)果進(jìn)行分析,因?yàn)橛?xùn)練樣本數(shù)較少,所得模型穩(wěn)定性不高,回收率與純度仍有一定波動(dòng)。
表5 基于初代模型訓(xùn)練方法在測試集2上回收率與純度 單位:%
基于COCO模型訓(xùn)練配置與2.1中初代模型訓(xùn)練配置相同,該方法將難例樣本加入初代模型所用訓(xùn)練集1中共同訓(xùn)練,訓(xùn)練集樣本相對(duì)較多,訓(xùn)練周期設(shè)為24,所得模型記為二代模型,在測試集2中進(jìn)行測試。與初代模型相比,二代模型在測試集2中的測試結(jié)果,回收率與純度均得到較大提升,基于COCO 模型在測試集2 上回收率與純度如表6所示。
表6 基于COCO模型在測試集2上回收率與純度 單位:%
與基于初代模型訓(xùn)練的方法在測試集2上所得結(jié)果相比,基于COCO模型訓(xùn)練在測試集2中測試所得回收率與純度指標(biāo)相對(duì)較好。說明難例樣本加入訓(xùn)練集1對(duì)模型進(jìn)行更新,有助于神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)更多樣的特征分布,有效提升了整體特征識(shí)別能力。兩種更新方法使用更少的難例樣本數(shù)均獲得了更好的模型效果,難例樣本數(shù)量級(jí)適宜偏小,加入過多的難例樣本會(huì)使得模型對(duì)該樣本特征過于“重視”,對(duì)整體特征學(xué)習(xí)將產(chǎn)生不利影響。
對(duì)多種不同實(shí)例分割網(wǎng)絡(luò)加入100張各自所挑選難例樣本,使用基于COCO模型作為模型更新方式,在測試集2中測試以驗(yàn)證該模型更新方法的泛化性?;贑OCO模型網(wǎng)絡(luò)模型在測試集2上回收率與純度如表7所示,在MEInst網(wǎng)絡(luò)模型方面,回收率有較大提升,犧牲了相應(yīng)幅度的純度指標(biāo),該網(wǎng)絡(luò)更適合應(yīng)用于側(cè)重回收率指標(biāo)的場景。其余網(wǎng)絡(luò)模型更新后回收率與純度均得到較大提升,基于COCO模型的模型更新方法泛用性較好。對(duì)模型識(shí)別結(jié)果使用兩種后處理方式,可以進(jìn)一步提升單項(xiàng)指標(biāo),能夠針對(duì)不同需求進(jìn)行選擇。
表7 基于COCO模型網(wǎng)絡(luò)模型在測試集2上回收率與純度 單位:%
使用難例樣本對(duì)神經(jīng)網(wǎng)絡(luò)模型更新時(shí),基于初代模型更新方法,僅對(duì)新工況下的難例樣本進(jìn)行更新模型,容易使模型陷入某些局部特征的收斂狀態(tài),導(dǎo)致某個(gè)指標(biāo)上升而犧牲了其他指標(biāo)?;贑OCO模型更新方法,將少部分難例樣本加入初始訓(xùn)練集中,重新訓(xùn)練模型,可以有效提升模型對(duì)整體特征的學(xué)習(xí)程度以及對(duì)新場景分布的適應(yīng)性,能夠有效提高對(duì)新工況的識(shí)別泛化能力。
文章試驗(yàn)了最先進(jìn)的實(shí)例分割網(wǎng)絡(luò)模型,驗(yàn)證了模型更新方法在垃圾檢測分類任務(wù)中的適用性,基于神經(jīng)網(wǎng)絡(luò)識(shí)別的難例樣本以及對(duì)模型在不同工況下的分類任務(wù),提出了模型更新方法提高模型的泛化性。結(jié)果表明:基于Detectron2和AdelaiDet平臺(tái),測試不同實(shí)例分割模型在垃圾分類任務(wù)中的回收率與純度后,表明實(shí)例分割網(wǎng)絡(luò)進(jìn)行垃圾分類具有可行性;針對(duì)預(yù)測框存在對(duì)同一目標(biāo)物體重復(fù)識(shí)別的情況,根據(jù)工程上對(duì)回收率與純度側(cè)重要求,提出兩種后處理方法,結(jié)果顯示基于得分取值方法回收率較高,基于FP樣本取值方法純度提升明顯;通過語義分割網(wǎng)絡(luò)對(duì)實(shí)例分割網(wǎng)絡(luò)中的難例樣本進(jìn)行挑選,基于所選難例樣本,采用不同模型更新方法對(duì)實(shí)例分割網(wǎng)絡(luò)模型進(jìn)行更新,測試新模型在垃圾分類任務(wù)的表現(xiàn)。基于COCO模型更新方法,以COCO數(shù)據(jù)集模型作為預(yù)訓(xùn)練權(quán)重,將難例樣本加入初代模型的訓(xùn)練集,訓(xùn)練的模型對(duì)新工況下特征識(shí)別能力較強(qiáng)、泛化性能更佳。對(duì)多種實(shí)例分割網(wǎng)絡(luò)模型更新后,MEInst網(wǎng)絡(luò)使用兩種后處理所得純度分別下降4.03%和4.73%,回收率上升3.87%和3.48%。MEInst網(wǎng)絡(luò)適用于注重回收率指標(biāo)的場景;基于得分取值后處理方法,Mask R-CNN、Cascade R-CNN、BlendMask、CondInst 回收率分別提升1.86%、4.02%、3.48%、2.45%,純度分別提升1.99%、2.23%、1.69%、2.37%;基于FP樣本取值后處理方法,Mask R-CNN、Cascade R-CNN、BlendMask、CondInst 回收率分別提升2.55%、4.06%、3.23%、1.47%,純度分別提升0.60%、2.37%、2.39%、2.41%。