王銘杰



摘? ?要:目前垃圾分類主要依靠人工來(lái)進(jìn)行,存在效率低、對(duì)人體健康有害的問(wèn)題,文章提出了基于YOLO V3的垃圾自動(dòng)定位及分類方法。首先,采集公共場(chǎng)所的廢棄物圖像并進(jìn)行標(biāo)注;其次,通過(guò)K-mean++確定先驗(yàn)框大小;最后,加載ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的權(quán)重進(jìn)行遷移訓(xùn)練。結(jié)果顯示:該方法能夠有效完成垃圾的定位及分類,mAP可達(dá)82.87%。
關(guān)鍵詞:YOLO V3;K-mean++;數(shù)據(jù)增強(qiáng);垃圾分類
隨著我國(guó)經(jīng)濟(jì)的發(fā)展和城鎮(zhèn)化道路的實(shí)施,城市中產(chǎn)生的垃圾數(shù)量也在與日俱增,垃圾處理問(wèn)題受到人們?cè)絹?lái)越多的關(guān)注。2019年4月26日,我國(guó)住房和城鄉(xiāng)建設(shè)部等部門發(fā)布了《關(guān)于在全國(guó)地級(jí)及以上城市全面開展生活垃圾分類工作的通知》,決定從2019年開始按要求啟動(dòng)生活垃圾分類工作,所列的重點(diǎn)城市兩年后需具備垃圾分類處理系統(tǒng)。對(duì)垃圾分類處理首先需要進(jìn)行分類,而人工分類效率低,尤其在面對(duì)大量垃圾時(shí),會(huì)由于分類環(huán)境惡劣、任務(wù)繁重對(duì)人的健康產(chǎn)生不利影響。如果垃圾數(shù)量過(guò)多,則可能無(wú)法完成對(duì)其的分類,而將剩余部分視為其他垃圾處理掉,對(duì)環(huán)境造成污染的同時(shí),也浪費(fèi)了可回收的資源。如今,伴隨著人工智能,尤其是卷積神經(jīng)網(wǎng)絡(luò)在圖像處理方面跨越式的發(fā)展,智能機(jī)器通過(guò)攝像頭自動(dòng)識(shí)別和定位不同種類的垃圾成為可能,進(jìn)而可以實(shí)現(xiàn)對(duì)垃圾的自動(dòng)分類投放,在減輕人工勞動(dòng)量、提高分類效率的同時(shí)能夠降低對(duì)環(huán)境的污染,減少對(duì)資源的浪費(fèi)。
目標(biāo)檢測(cè)的方法有兩種:(1)基于區(qū)域建議的兩階段法,主流的算法包括Fast R-CNN[1]和Faster R-CNN[2]。(2)無(wú)區(qū)域建議的一階段法,主流的算法包括SSD[3]和YOLO V3。其中,YOLO V3不僅有較高的檢測(cè)精度,而且檢測(cè)速度也較快。本文選用YOLO V3對(duì)垃圾進(jìn)行分類和定位,并根據(jù)公共場(chǎng)所垃圾圖像的特點(diǎn),重新選定了先驗(yàn)框大小及其他超參數(shù)。
1? ? 試驗(yàn)數(shù)據(jù)
1.1? 圖像數(shù)據(jù)采集
本次試驗(yàn)的垃圾圖像數(shù)據(jù)于2019年6—7月采集自太谷城區(qū)的公共場(chǎng)所。采集時(shí)從平視、俯視、斜視3個(gè)角度對(duì)垃圾進(jìn)行圖像采集,用手機(jī)作為采集設(shè)備,型號(hào)為紅米note7,圖像分辨率為4 000×3 000像素。圖像數(shù)據(jù)中既有只含一種垃圾的圖片,也有含兩種或兩種以上垃圾的圖片。
1.2? 數(shù)據(jù)集建立
本次試驗(yàn)共采集各類垃圾圖像6 107張。其中僅含一類垃圾的圖像有可回收物887張、濕垃圾873張、有害垃圾829張和干垃圾867張,含兩類及兩類以上垃圾的圖像有2 651張。考慮到模型訓(xùn)練的速度及計(jì)算機(jī)內(nèi)存和顯存的占用情況,這里將所有圖像在保證原始圖像長(zhǎng)寬比的前提下,壓縮為416×416像素,空白部分用灰色(128,128,128)填充。從采集的各類垃圾圖像6 107張中隨機(jī)抽取1 220張作為測(cè)試集,剩余的作為訓(xùn)練集和驗(yàn)證集。使用LabelImg工具對(duì)圖像進(jìn)行目標(biāo)位置及類別標(biāo)注,生成XML文件,隨后將其轉(zhuǎn)為TXT文件,內(nèi)含垃圾所屬類別、中心坐標(biāo)以及最小外接矩形框的長(zhǎng)和寬。
為使最終的訓(xùn)練結(jié)果有較好的泛化性能,對(duì)訓(xùn)練集進(jìn)行了數(shù)據(jù)增強(qiáng),主要包括:水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)180°、隨機(jī)縮放寬高比例、隨機(jī)剪切、亮度變化和飽和度變化。以一張垃圾圖像為例,其圖像數(shù)據(jù)增強(qiáng)結(jié)果如圖1所示。經(jīng)數(shù)據(jù)增強(qiáng)后,作為訓(xùn)練集和驗(yàn)證集的圖像數(shù)量變?yōu)?9 096張,后續(xù)訓(xùn)練時(shí)采用10折交叉驗(yàn)證。
2? ? 檢測(cè)方法
2.1? YOLO? V3模型
YOLO V3模型是對(duì)YOLO V1和YOLO V2的改進(jìn)。YOLO V3以Darknet-53為骨干網(wǎng)絡(luò),相對(duì)于YOLO V2中的Darknet-19去掉了池化層,改為用步長(zhǎng)為2的卷積層,實(shí)現(xiàn)特征圖的尺寸變換。除最后一個(gè)卷積層外,其余卷積層和Leaky ReLU之間都有一個(gè)BN層。Darknet-53網(wǎng)絡(luò)通過(guò)對(duì)Resnet網(wǎng)絡(luò)的借鑒使之擁有更深的網(wǎng)絡(luò)深度,更好的分類效果。
YOLO V3采用多尺度檢測(cè),本文中圖片大小為416× 416像素,所以多尺度對(duì)應(yīng)的特征圖大小分別為13×13像素,26×26像素和52×52像素。其中,13×13像素用于檢測(cè)較大的物體,26×26像素用于檢測(cè)中等大小的物體,52×52像素用于檢測(cè)較小的物體,每種尺度對(duì)應(yīng)3種先驗(yàn)框,共9種先驗(yàn)框。在對(duì)較小的物體進(jìn)行檢測(cè)時(shí),將原圖分為52×52個(gè)格子,當(dāng)小物體的中心處于某個(gè)格子時(shí),該格子對(duì)該物體進(jìn)行檢測(cè)。該格子輸出的信息中包括物體預(yù)測(cè)框中心坐標(biāo)(x,y)、預(yù)測(cè)框的寬與高(w,h)、物體而非背景的置信度C以及物體屬于各類的可能性。對(duì)于像素為416×416的圖片,YOLO V3可產(chǎn)生10 647個(gè)預(yù)測(cè)框,后期通過(guò)判斷是否超過(guò)閾值和采用非極大值抑制來(lái)篩選預(yù)測(cè)框。
2.2? 先驗(yàn)框計(jì)算
先驗(yàn)框參數(shù)不僅對(duì)YOLO V3在訓(xùn)練時(shí)的收斂速度有影響,而且對(duì)檢測(cè)精度也會(huì)有一定程度的影響。為使YOLO V3對(duì)垃圾檢測(cè)擁有較高的檢測(cè)精度,本文對(duì)垃圾目標(biāo)框采用聚類的方法來(lái)確定先驗(yàn)框參數(shù)。
K-means是一種常用的聚類方法,但K-means的聚類中心在初始時(shí)是隨機(jī)選擇的,這會(huì)導(dǎo)致最終的聚類結(jié)果存在較大的隨機(jī)性。為盡量減小聚類結(jié)果的隨機(jī)性,本文采用改進(jìn)后的K-means++來(lái)確定先驗(yàn)框參數(shù),并使用1-IOU代替歐氏距離作為聚類指標(biāo),其中IOU為垃圾目標(biāo)框與先驗(yàn)框之間的交并比。經(jīng)K-means++聚類確定的k=9時(shí)的先驗(yàn)框參數(shù)為(15,9)、(17,20)、(24,35)、(37,50)、(49,63)、(64,90)、(109,87)、(172,101)和(381,355)。
3? ? 實(shí)驗(yàn)
3.1? 評(píng)價(jià)指標(biāo)
為評(píng)價(jià)本方法對(duì)垃圾進(jìn)行定位及分類的性能優(yōu)劣,本文使用平均精度均值(mean Average Precision,mAP)作為評(píng)價(jià)指標(biāo)。平均精度均值可以通過(guò)計(jì)算精確度(Precision)和查全率(Recall)得到,具體計(jì)算公式為:
其中,TP為將某類垃圾正確預(yù)測(cè)為某類垃圾的個(gè)數(shù),F(xiàn)P為將非某類垃圾錯(cuò)誤預(yù)測(cè)為某類垃圾的個(gè)數(shù),F(xiàn)N為將某類垃圾錯(cuò)誤預(yù)測(cè)為不是某類垃圾的個(gè)數(shù),AP為某類垃圾的平均精度。mAP是4類垃圾各自計(jì)算的AP的平均值。
3.2? 訓(xùn)練設(shè)置
本文依靠遷移學(xué)習(xí)用經(jīng)ImageNet數(shù)據(jù)集訓(xùn)練的Darknet-53參數(shù)進(jìn)行初始化,訓(xùn)練時(shí)設(shè)置批次大小為16,最大訓(xùn)練次數(shù)為120 000,激活函數(shù)選用Leaky ReLU,優(yōu)化器采用隨機(jī)梯度下降算法(Stochastic Gradient Descent,SGD),初始學(xué)習(xí)率為0.001,動(dòng)量為0.9,權(quán)重衰減正則系數(shù)為0.000 5,迭代至63 000次時(shí),將學(xué)習(xí)率改為0.000 1,迭代至99 000次時(shí),將學(xué)習(xí)率再改為0.000 01,迭代至120 000次或損失收斂時(shí)停止訓(xùn)練。在訓(xùn)練過(guò)程中通過(guò)比較損失大小,保存損失最小的模型參數(shù)。
3.3? 識(shí)別結(jié)果
使用訓(xùn)練好的模型對(duì)測(cè)試集中4類共1 220張垃圾圖片進(jìn)行檢測(cè),其mAP可達(dá)82.87%,對(duì)測(cè)試集檢測(cè)的部分結(jié)果如圖2所示,其中,rec_w為可回收垃圾(recyclable waste),resi_w為干垃圾(residual waste),hou_f_w為濕垃圾(household food waste),haz_w為有害垃圾(hazardous waste),從圖2可以看出本方法能對(duì)垃圾進(jìn)行有效的分類和定位。
4? ? 結(jié)語(yǔ)
基于對(duì)垃圾分類的要求,本文提出了一種基于YOLO V3的檢測(cè)方法。該方法采用K-means++算法對(duì)先驗(yàn)框的大小進(jìn)行了優(yōu)化,利用YOLO V3完成了對(duì)垃圾的定位及分類,其最終的mAP可達(dá)82.87%,另外,得益于YOLO V3在目標(biāo)檢測(cè)速度上的優(yōu)勢(shì),本文所提方法能夠滿足垃圾分類任務(wù)的要求,在城市垃圾分類方面有廣闊的應(yīng)用前景。
[參考文獻(xiàn)]
[1]GIRSHICK R.Fast R-CNN[C].Washington:IEEE Conference on Computer Vision and Pattern Recognition,2015.
[2]REN S,HE K,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2017(6):1137-1149.
[3]LIU W,ANGUELOV D,ERHAN D,et al.SSD:single shot multiBox detector[J].European Conference on Computer Vision,2016(6):21-37.