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