鄭譽(yù)煌, 戴冰燕, 熊澤琿, 陳釗
(1. 廣東第二師范學(xué)院 教務(wù)處, 廣東 廣州 510303;2. 廣東第二師范學(xué)院 物理與信息工程系, 廣東 廣州 510303)
據(jù)世界銀行2018年發(fā)布的《垃圾何其多2.0》報(bào)告顯示,全球垃圾2016年大約為20億噸,到2050年將增至34億噸,而現(xiàn)在1/3的固體垃圾被公開(kāi)傾倒或焚燒,垃圾回收處理有著巨大的生態(tài)收益. 生活垃圾包括人們?cè)谌粘I罨驗(yàn)樯钐峁┓?wù)的活動(dòng)中產(chǎn)生的固體廢物. 生活垃圾中的可回收垃圾包括金屬、紙類(lèi)、塑料、玻璃等,占城市生活垃圾40%,是可回收垃圾的主要部分.
可回收垃圾的循環(huán)利用對(duì)我國(guó)經(jīng)濟(jì)的可持續(xù)發(fā)展有著重要意義. 當(dāng)前的垃圾回收需要人們手動(dòng)分類(lèi)垃圾,找到一種自動(dòng)分類(lèi)垃圾的方法,提高垃圾回收的效率,不僅會(huì)產(chǎn)生顯著的社會(huì)效益,而且有巨大的經(jīng)濟(jì)效益. 為了提高可回收生活垃圾識(shí)別的準(zhǔn)確率,研究人員嘗試?yán)脠D像處理、機(jī)器學(xué)習(xí)等方法自動(dòng)識(shí)別玻璃瓶、廢紙、紙盒、易拉罐等常見(jiàn)生活廢品. 利用圖像處理技術(shù)獲取垃圾圖像的特征后,再利用深度學(xué)習(xí)網(wǎng)絡(luò)[1]、支持向量機(jī)、K 近鄰分類(lèi)器[2]、主成分分析(PCA )方法[3]等方法對(duì)垃圾圖像特征向量進(jìn)行分類(lèi).
現(xiàn)有基于機(jī)器學(xué)習(xí)的可回收生活垃圾識(shí)別,核心是采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)引入局部連接、權(quán)值共享、池化操作、非線(xiàn)性激活等方法,允許網(wǎng)絡(luò)從數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征,比傳統(tǒng)機(jī)器學(xué)習(xí)方法具有更強(qiáng)大的特征學(xué)習(xí)和特征表達(dá)能力. 如YOLO[1]、MobileNet[4]、AlexNet[5]、VGG19[6]、ResNet50[7]等,在相應(yīng)的數(shù)據(jù)集領(lǐng)域有較好的效果. 但在可回收生活垃圾圖像數(shù)據(jù)集上,這些深度卷積神經(jīng)網(wǎng)絡(luò)模型存在訓(xùn)練耗時(shí)長(zhǎng)、準(zhǔn)確率不高等問(wèn)題. 為此本文利用遷移學(xué)習(xí)方法,將ResNet18預(yù)訓(xùn)練模型在ImageNet大型圖像數(shù)據(jù)集上學(xué)習(xí)得到的圖像分類(lèi)共性知識(shí),遷移到可回收生活垃圾圖像識(shí)別模型中,通過(guò)組合試驗(yàn)與對(duì)比,分析優(yōu)選模型的參數(shù),以期提高新分類(lèi)模型的訓(xùn)練效率與識(shí)別準(zhǔn)確率,為進(jìn)一步開(kāi)發(fā)智能垃圾分類(lèi)系統(tǒng)等機(jī)器提供分類(lèi)模型支持.
本研究的圖像數(shù)據(jù)集以Gary Thung和Mindy Yang[5]創(chuàng)建的垃圾圖像數(shù)據(jù)集為基礎(chǔ),該數(shù)據(jù)集由1 989張圖片組成,分為玻璃、紙張、塑料、金屬、紙皮5個(gè)類(lèi)別,所有圖片的大小調(diào)整到512×84. 由于數(shù)據(jù)集的圖像數(shù)量較少,從Kaggle網(wǎng)站中的waste_pictures數(shù)據(jù)集中抽取2 485張相同類(lèi)型的圖像,最終形成4 474張圖片的實(shí)驗(yàn)數(shù)據(jù)集. 每個(gè)類(lèi)別的樣圖如圖1所示. 這些圖像能較好表達(dá)生活垃圾被回收時(shí)的狀態(tài),例如變形的瓶子、皺褶的紙張等. 每類(lèi)大約有500~900張圖像,每張照片的燈光和姿勢(shì)都不一樣,每個(gè)圖像都執(zhí)行了圖像增強(qiáng)技術(shù). 這些技術(shù)包括圖像的隨機(jī)旋轉(zhuǎn)、隨機(jī)亮度控制、隨機(jī)平移、隨機(jī)縮放和隨機(jī)剪切. 選擇變換的圖像是為了考慮回收材料的不同方向,并最大化數(shù)據(jù)集的規(guī)模.
a.紙皮b.玻璃c.廢紙d.易拉罐e.塑料瓶
圖1 數(shù)據(jù)集中拉圾類(lèi)別的樣圖
遷移學(xué)習(xí)(Transfer Learning)的概念[8]自1995年在NIPS5專(zhuān)題討論會(huì)上被提出后,受到學(xué)術(shù)界的廣泛關(guān)注. 考慮到大部分?jǐn)?shù)據(jù)或任務(wù)存在相關(guān)性,通過(guò)遷移學(xué)習(xí),可以將訓(xùn)練好的模型參數(shù)通過(guò)某種方式分享給新模型,從而提高并優(yōu)化模型的學(xué)習(xí)效率. 本研究基于ResNet18模型進(jìn)行遷移學(xué)習(xí),ResNet18模型在大型圖像數(shù)據(jù)集ImageNet 上獲得了充分訓(xùn)練,學(xué)習(xí)了圖像分類(lèi)識(shí)別所需的大量特征,可用于可回收生活垃圾分類(lèi)識(shí)別問(wèn)題. 采用基于ImageNet數(shù)據(jù)集的ResNet18預(yù)訓(xùn)練模型,就不用重新訓(xùn)練可回收生活垃圾分類(lèi)的實(shí)驗(yàn)數(shù)據(jù)集,只要把ResNet18預(yù)訓(xùn)練模型遷移到實(shí)驗(yàn)數(shù)據(jù)集,即可獲取相同的效果,保證識(shí)別的精度,提高訓(xùn)練速度.
圖2 ResNet18模型結(jié)構(gòu)
圖3 遷移學(xué)習(xí)模型
模型訓(xùn)練與測(cè)試均是在Matlab 2019a的深度學(xué)習(xí)框架下完成的. 硬件環(huán)境:Intel i7-8750H @2.20GHz CPU,32GB內(nèi)存;Nvidia RTX2070 GPU,8GB 顯存. 軟件環(huán)境:CUDA Toolkit 9.0,CUDNN V7.0;Matlab Deep Learning Toolbox;Windows 10 64bit 操作系統(tǒng). 模型訓(xùn)練與測(cè)試均通過(guò)GPU 加速. 對(duì)于遷移學(xué)習(xí)模型訓(xùn)練,主要有Epoch、Batch Size和Learning Rate參數(shù).
1)Epoch:一個(gè)Epoch指代所有的數(shù)據(jù)送入網(wǎng)絡(luò)中完成一次前向計(jì)算及反向傳播的過(guò)程,隨著Epoch數(shù)量的增加,神經(jīng)網(wǎng)絡(luò)中權(quán)重更新迭代的次數(shù)增多.
2)Batch Size:Batch是每次送入網(wǎng)絡(luò)中訓(xùn)練的一部分?jǐn)?shù)據(jù),而B(niǎo)atch Size就是每個(gè)Batch中訓(xùn)練圖片樣本的數(shù)量. 為了在內(nèi)存效率和內(nèi)存容量之間尋求最佳平衡,Batch Size應(yīng)該進(jìn)行精心設(shè)置,優(yōu)化網(wǎng)絡(luò)模型的性能及速度.
3)Learning Rate:是深度學(xué)習(xí)中重要的參數(shù),其決定著訓(xùn)練樣本的識(shí)別精度,合適的Learning Rate能夠使訓(xùn)練樣本的識(shí)別精度在合適的時(shí)間內(nèi)達(dá)到一個(gè)理想值.
隨機(jī)把可回收生活垃圾數(shù)據(jù)集中每一類(lèi)別圖片的70%分為訓(xùn)練集、另外30%作為測(cè)試集. 上述3個(gè)參數(shù)分別取3個(gè)不同值時(shí),共完成27次實(shí)驗(yàn),每次實(shí)驗(yàn)中訓(xùn)練模型的耗時(shí)和模型的測(cè)試精度如表1所示. 為了綜合評(píng)價(jià)每種參數(shù)組合的效果,對(duì)精度和耗時(shí)做歸一化處理,作為精度和耗時(shí)的得分,將精度得分和耗時(shí)得分分別按0.6和0.4加權(quán)平均,可得綜合得分. 根據(jù)綜合得分,可見(jiàn)Epoch、Batch Size和Learning Rate參數(shù)組合分別取(5,32,10-3)和(10,32,10-3)時(shí),遷移學(xué)習(xí)效果最好.
考慮到訓(xùn)練過(guò)程中可能存在的隨機(jī)誤差,對(duì)(5,32,10-3)和(10,32,10-3)這兩個(gè)組合,再重復(fù)進(jìn)行4次實(shí)驗(yàn),可得表2的實(shí)驗(yàn)數(shù)據(jù). 可見(jiàn)這兩個(gè)參數(shù)組合所得的遷移模型精度比較接近,但(5,32,10-3)組合的訓(xùn)練耗時(shí)比(10,32,10-3)組合少得多. 圖4和圖5是兩個(gè)組合訓(xùn)練時(shí)的過(guò)程曲線(xiàn). 可見(jiàn),在Batch Size和Learning Rate取得合適的值時(shí),Epoch的增加可以提高一定的精度,但是訓(xùn)練耗時(shí)會(huì)增加很多. 圖中迭代次數(shù)是由訓(xùn)練集數(shù)量和Batch Size相除取整而得.
由于(10,32,10-3) 組合精度較高,而且比較穩(wěn)定,訓(xùn)練耗時(shí)適中,因該對(duì)此組合的模型分類(lèi)結(jié)果作進(jìn)一步分析,形成如表3所示的混淆矩陣.
由表3 的混淆矩陣可知,模型的平均分類(lèi)準(zhǔn)確率為93.76%,預(yù)測(cè)準(zhǔn)確率從高到低依次是紙皮、廢紙、塑料瓶、玻璃、易拉罐. 由混淆矩陣可以看出,分類(lèi)錯(cuò)誤主要為玻璃、易拉罐和塑料瓶之間的誤判. 由于玻璃外觀(guān)和塑料比較接近,易拉罐表面有金屬反光,在特定的視角有可能被誤判. 紙皮和廢紙的識(shí)別準(zhǔn)確率較高,出現(xiàn)錯(cuò)誤也主要是對(duì)兩者直接的相互誤判.
針對(duì)文獻(xiàn)[5]的數(shù)據(jù)集,文獻(xiàn)[5]和[7]所提出分類(lèi)方法識(shí)別準(zhǔn)確率分別是63%和87%;采用本文基于文獻(xiàn)[5]擴(kuò)展數(shù)據(jù)集,文獻(xiàn)[5]和[7]的分類(lèi)方法識(shí)別準(zhǔn)確率分別是85.9%和92.12%,都小于本文所提出的分類(lèi)模型精度(93.37%).
表1 實(shí)驗(yàn)數(shù)據(jù)
精度/%100806040200100150200250300350400450500050Epoch1迭代次數(shù)Epoch2Epoch3Epoch4Epoch5每次迭代的訓(xùn)練精度每次迭代的驗(yàn)證精度Final
圖4 (5,32,10-3)組合訓(xùn)練過(guò)程
圖5 (5,32,10-3)組合訓(xùn)練過(guò)程
表3 混淆矩陣
針對(duì)現(xiàn)有的可回收垃圾分類(lèi)識(shí)別方法存在的識(shí)別精度不高的問(wèn)題,本文利用遷移學(xué)習(xí)方法調(diào)整了ResNet18預(yù)訓(xùn)練模型的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),并對(duì)可回收垃圾圖像識(shí)別進(jìn)行了分類(lèi)實(shí)驗(yàn),對(duì)Epoch、Batch Size和Learning Rate參數(shù)對(duì)模型性能的影響進(jìn)行了對(duì)比分析,得到如下結(jié)論:
1)被遷移學(xué)習(xí)調(diào)整后的ResNet18預(yù)訓(xùn)練模型,可以較好地自動(dòng)提取可回收垃圾圖像特征,具有較高的分類(lèi)性能,平均識(shí)別準(zhǔn)確率達(dá)到93.37%.
2)遷移學(xué)習(xí)可以充分利用在大型ImageNet數(shù)據(jù)集上學(xué)習(xí)已得到的分類(lèi)知識(shí),在保證不少于90%的識(shí)別準(zhǔn)確率的條件下,訓(xùn)練時(shí)間小于10 min.
3)Epoch、Batch Size和Learning Rate參數(shù)取(5,32,10-3)和(10,32,10-3)組合時(shí),可取得比較好的訓(xùn)練效果.
目前的模型局限于背景簡(jiǎn)單的可回收垃圾圖像,實(shí)際應(yīng)用可能是多種垃圾混合在一起. 今后應(yīng)進(jìn)一步豐富可回收垃圾圖像數(shù)據(jù)集,建立混合垃圾圖像的分類(lèi)與識(shí)別模型,以進(jìn)一步提升可回收垃圾圖像模型的識(shí)別準(zhǔn)確率.