吳碧程,鄧祥恩,張子憧,唐小煜
(華南師范大學(xué) 物理與電信工程學(xué)院,廣東 廣州 510006)
垃圾分類是垃圾處理流程中的基礎(chǔ)環(huán)節(jié),一直以來是各級政府倡導(dǎo)與推行的重要工作. 但是由于配套設(shè)施的不完善與人們的垃圾分類意識與能力不足,該項(xiàng)工作進(jìn)展成效并不理想,收集到的“分類垃圾”往往仍是混合垃圾,嚴(yán)重制約了垃圾處理后級流程的運(yùn)行效率. 倘若能設(shè)計(jì)出可自動完成垃圾分類的智能垃圾桶,降低人們進(jìn)行垃圾分類的成本,無疑有效降低后期分類壓力,提高垃圾處理效率. 傳統(tǒng)思路下的智能分類垃圾桶往往依賴各類傳感器進(jìn)行復(fù)雜的操作完成識別分類,準(zhǔn)確率一般且識別種類較為單一. 于是研究項(xiàng)目組創(chuàng)新性地將當(dāng)前熱門的卷積神經(jīng)網(wǎng)絡(luò)與垃圾分類問題結(jié)合,探究卷積神經(jīng)網(wǎng)絡(luò)能否在當(dāng)前以性能有限的嵌入式設(shè)備上實(shí)現(xiàn)對垃圾多種類的準(zhǔn)確識別,并設(shè)計(jì)出小體積的機(jī)械結(jié)構(gòu),進(jìn)而結(jié)合兩者獲得智能垃圾分類系統(tǒng),為將普通垃圾桶通過低成本改造為自動分類智能垃圾桶提供可行的解決方案.
智能垃圾分類系統(tǒng)主要由可識別垃圾種類的嵌入式主控與實(shí)現(xiàn)自動分類控制的機(jī)械結(jié)構(gòu)構(gòu)成. 基于對成本與體積的考慮,系統(tǒng)選用了常用的嵌入式設(shè)備樹莓派作為實(shí)驗(yàn)設(shè)備,具體型號為樹莓派3B+;而基于對常用垃圾桶的改造,設(shè)計(jì)了垂直結(jié)構(gòu)的分類機(jī)械結(jié)構(gòu),便于充分利用普通垃圾桶空間. 具體的垃圾識別分類流程如圖1所示.
當(dāng)垃圾投入本系統(tǒng)后,樹莓派啟動攝像頭獲取垃圾圖像,接著運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)獲取垃圾類別信息,最后根據(jù)垃圾的種類所屬的分類,控制機(jī)械結(jié)構(gòu)使得垃圾掉落至對應(yīng)的分桶之中.
圖1 系統(tǒng)總體設(shè)計(jì)圖
從上述總體設(shè)計(jì)框圖不難看出,智能分類的前提是對垃圾的準(zhǔn)確識別,因此本系統(tǒng)的核心是卷積神經(jīng)網(wǎng)絡(luò)算法. 為實(shí)現(xiàn)在低性能的嵌入式設(shè)備中穩(wěn)定高效地運(yùn)行卷積神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)了如下的實(shí)現(xiàn)方案:由于嵌入式設(shè)備性能受限,且卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練將需要消耗運(yùn)行機(jī)大量的內(nèi)存和資源,因此將卷積神經(jīng)網(wǎng)絡(luò)搭建與訓(xùn)練通過PC實(shí)現(xiàn),并在PC上測試所得神經(jīng)網(wǎng)絡(luò)模型;在達(dá)到一定識別準(zhǔn)確率后,將神經(jīng)網(wǎng)絡(luò)移植到嵌入式設(shè)備即樹莓派上;最后在樹莓派上進(jìn)行調(diào)參優(yōu)化與測試.
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋型神經(jīng)網(wǎng)絡(luò),如圖2所示,包括了輸入層、卷積層、池化層、全連接層以及Softmax輸出層,各層的神經(jīng)元都只與上一層相連. 系統(tǒng)使用Inception V3網(wǎng)絡(luò)作為特征提取器,在保持其原有權(quán)值的基礎(chǔ)上,搭建神經(jīng)網(wǎng)絡(luò)和進(jìn)行重新訓(xùn)練.
圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
Inception V3網(wǎng)絡(luò)共有47層,卷積層設(shè)計(jì)了33和11,步長均為1的2種不同卷積核. 通過對上一層圖像上每一小塊像素區(qū)域進(jìn)行加權(quán),提取出像素區(qū)的特征信息,其中的小塊像素區(qū)域叫做局部感受野,區(qū)域的權(quán)值就是卷積核. 圖像經(jīng)卷積運(yùn)算后加偏置值,組成特征圖,其變換過程為
(1)
池化層主要設(shè)計(jì)了33和88尺寸,采用最大池化的方法,每次只保留最大的像素值,達(dá)到特征降維和壓縮數(shù)據(jù)的效果,其過程為
(2)
此網(wǎng)絡(luò)的巧妙之處還在于設(shè)計(jì)了多個Inception Module模塊組,模塊組通過使用多個1×1卷積核和多分支的卷積聚合,極大減少了網(wǎng)絡(luò)的參數(shù)和層數(shù),降低了卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)算量. 系統(tǒng)采用自定義的數(shù)據(jù)集作為網(wǎng)絡(luò)的輸入層,沿用Inception V3網(wǎng)絡(luò)的共享權(quán)值,對其輸出進(jìn)行fine-tuning,并重新定義全連接層. 通過全連接層變換公式,即
(3)
成功整合為一維向量. 選用tf.nn.softmax函數(shù)作為輸出的分類器,
(4)
式中i即某一物品類別,從而輸出概率分布,實(shí)現(xiàn)多分類.
系統(tǒng)實(shí)驗(yàn)識別對象選取了生活中常見的6種垃圾:易拉罐、塑料瓶、牛奶盒、紙杯、紙團(tuán)以及電池. 為得到用于訓(xùn)練與驗(yàn)證測試卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集,項(xiàng)目組通過2個途徑獲?。阂环矫?,使用樹莓派廣角攝像頭對垃圾物品進(jìn)行拍攝,從不同背景和角度拍攝了1 535張圖片;另一方面,從網(wǎng)絡(luò)上收集到符合要求的圖像1 479張. 所以,原始數(shù)據(jù)集共3 014張圖像,其中包括:電池497張、塑料瓶579張、 紙杯496張、易拉罐554張、牛奶盒411張、紙團(tuán)477張. 之后通過人工方式對數(shù)據(jù)集標(biāo)簽進(jìn)行相應(yīng)分類,并將不同種類的圖像存放在不同的標(biāo)簽文件夾中. 最后再把該數(shù)據(jù)集按4∶1的比例分為訓(xùn)練集和測試集用于神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.
2.2.1 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
訓(xùn)練次數(shù)根據(jù)訓(xùn)練集規(guī)模進(jìn)行設(shè)計(jì),以每訓(xùn)練500次為1個階段,每一訓(xùn)練階段輸出1次結(jié)果,即通過上述測試集測試輸出1次識別平均準(zhǔn)確率,繪制平均準(zhǔn)確率隨訓(xùn)練次數(shù)變化如圖3所示. 由圖3可以發(fā)現(xiàn)隨著訓(xùn)練次數(shù)的增多,識別準(zhǔn)確率會逐漸遞增并最后收斂于某數(shù)值,再增加訓(xùn)練次數(shù)對準(zhǔn)確率也無明顯影響,此時神經(jīng)網(wǎng)絡(luò)已訓(xùn)練完成.
圖3 訓(xùn)練次數(shù)與準(zhǔn)確率收斂的關(guān)系
2.2.2 卷積神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率測試
對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行驗(yàn)證測試,本輪實(shí)驗(yàn)通過網(wǎng)絡(luò)再次收集數(shù)據(jù)集,收集到的圖片信息為易拉罐103張、塑料瓶102張、牛奶盒104張、紙杯100張、紙團(tuán)101張以及電池100張,此處獲得的數(shù)據(jù)集也將作為下文各輪實(shí)驗(yàn)的測試集重復(fù)使用,以達(dá)到控制變量的目的. 卷積神經(jīng)網(wǎng)絡(luò)在PC上識別結(jié)果如圖4所示,準(zhǔn)確率如表1所示.
(a)易拉罐識別圖
(b)牛奶盒識別圖 圖4 卷積神經(jīng)網(wǎng)絡(luò)的識別結(jié)果
測試類型測試圖片數(shù)量/張平均識別準(zhǔn)確率易拉罐10387.38%塑料瓶10298.04%牛奶盒10492.31%紙杯10087.00%紙團(tuán)10195.05%電池10094.00%總體61092.30%
從實(shí)驗(yàn)結(jié)果可知,所搭建的卷積神經(jīng)網(wǎng)絡(luò)對此測試集的平均識別準(zhǔn)確率超過90%,而各類別的識別概率也均達(dá)到85%以上,識別垃圾類別基本準(zhǔn)確. 此神經(jīng)網(wǎng)絡(luò)具有初步的可靠性,可以進(jìn)行移植.
通過上述步驟,獲得了在PC上具有良好識別性能的卷積神經(jīng)網(wǎng)絡(luò)以及合適的圖像分辨率. 之后需要將該神經(jīng)網(wǎng)絡(luò)模型移植到嵌入式設(shè)備樹莓派上,為了獲得良好移植效果,需要保證樹莓派內(nèi)軟件環(huán)境與PC一致,才能保證無差錯地運(yùn)行神經(jīng)網(wǎng)絡(luò),并獲得較好的移植效果. 因此項(xiàng)目組在樹莓派上搭建了Linux系統(tǒng)環(huán)境與TensorFlow軟件環(huán)境.
在將訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型移植入樹莓派后,項(xiàng)目組對移植效果進(jìn)行了測試. 使用上文測試集進(jìn)行識別測試,獲得識別準(zhǔn)確率如表2所示 . 由表2可以看出,移植后的卷積神經(jīng)網(wǎng)絡(luò)識別準(zhǔn)確率與在PC上運(yùn)行時準(zhǔn)確率一致,移植效果較好.
表2 卷積神經(jīng)網(wǎng)絡(luò)在樹莓派運(yùn)行的識別準(zhǔn)確率數(shù)據(jù)表
相較于PC端,嵌入式設(shè)備樹莓派的內(nèi)存資源稀缺,運(yùn)算能力較弱,因此需要對樹莓派上運(yùn)行的神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)調(diào)整及優(yōu)化,從而提升垃圾種類識別的準(zhǔn)確率和處理速度.
2.4.1 圖像分辨率的選擇
以上訓(xùn)練集與測試集由不同分辨率的圖像構(gòu)成,而在卷積神經(jīng)網(wǎng)絡(luò)移植入樹莓派后,樹莓派在實(shí)際應(yīng)用場景下的圖像均通過攝像頭獲取,具有固定的圖像分辨率. 而對于不同的神經(jīng)網(wǎng)絡(luò)規(guī)模,最佳的分辨率大小又有所差異. 因此為選擇合適于所用網(wǎng)絡(luò)的圖像分辨率,特選取識別準(zhǔn)確率與識別時間作為因變量,探究不同圖像分辨率對所用網(wǎng)絡(luò)的影響. 本輪實(shí)驗(yàn)所用的多個測試集均由上文所用測試集修改為統(tǒng)一分辨率獲得,具體實(shí)驗(yàn)結(jié)果如表3所示.
表3 圖像分辨率與處理時間和準(zhǔn)確率數(shù)據(jù)表
由實(shí)驗(yàn)結(jié)果可知,圖像分辨率大于640×480之后,處理時間明顯變長,而識別準(zhǔn)確率卻上升變緩,故選用640×480作為圖像預(yù)處理的分辨率,此時處理時間和準(zhǔn)確率都較為理想.
2.4.2 參數(shù)調(diào)優(yōu)
分類器輸出的是輸入層類別的概率分布,即每個類別都會有一定的識別概率值,所以當(dāng)遇到在形狀、顏色很相近、很難區(qū)分的輸入時,概率分布會相對接近. 所以為了嚴(yán)格區(qū)分出識別的種類,減少識別的錯誤率,需要設(shè)置判別閾值,即當(dāng)輸入物品的識別概率超過閾值時,才可判斷為相應(yīng)物品,從而提高準(zhǔn)確率. 不難看出,當(dāng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練程度不夠時,閾值過低容易導(dǎo)致誤判;而閾值過高,神經(jīng)網(wǎng)絡(luò)的識別概率較難達(dá)到閾值,將無法得出識別結(jié)果. 因此合適的閾值對神經(jīng)網(wǎng)絡(luò)顯得尤為重要. 故通過多次改變閾值,使用上述測試集進(jìn)行測試,獲得6類垃圾的平均識別準(zhǔn)確率隨閾值變化曲線如圖5所示.
圖5 判別閾值與識別準(zhǔn)確率關(guān)系
由實(shí)驗(yàn)結(jié)果可知,當(dāng)判別閾值設(shè)置為0.830時,分類準(zhǔn)確率最高,此時分類精度最大.
為適應(yīng)對普通垃圾桶的改造,在不改變垃圾桶大小的情況下充分利用垃圾桶空間,本文設(shè)計(jì)便于移入垃圾桶的垂直機(jī)械結(jié)構(gòu).
停駐層結(jié)構(gòu)如圖6所示,垃圾投放后掉入停駐管道,樹莓派控制舵機(jī)使停駐擋板阻擋垃圾下落,進(jìn)而可以通過攝像頭獲取圖像,運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)識別垃圾類別. 識別結(jié)束后,樹莓派控制舵機(jī)旋轉(zhuǎn)停駐擋板,使垃圾下落進(jìn)入下一層結(jié)構(gòu).
圖6 停駐層設(shè)計(jì)圖
分撥管道如圖7所示,樹莓派完成對垃圾種類識別后,在旋轉(zhuǎn)上層結(jié)構(gòu)的停駐擋板前會先根據(jù)垃圾類別,控制此層舵機(jī)旋轉(zhuǎn)分撥管道,分撥管道的下落口在不同的旋轉(zhuǎn)角度時會對應(yīng)不同分桶,因此垃圾下落后會在分撥管道的引導(dǎo)下掉入對應(yīng)分桶.
圖7 分撥管道設(shè)計(jì)圖
分類桶即是通過在原垃圾桶中加入分隔板,將垃圾桶空間分割成若干分桶(圖8),達(dá)到接收由分撥管道引導(dǎo)掉落的不同類別垃圾的目的.
圖8 分類桶設(shè)計(jì)圖
本系統(tǒng)為垃圾自動分類系統(tǒng),除了賦予普通垃圾桶智能屬性外,還根據(jù)實(shí)際應(yīng)用場景加入了人機(jī)交互和智能控制功能,使得改造后智能垃圾桶能更好地投入使用.
通過加裝LCD屏,樹莓派可將垃圾分類識別結(jié)果以圖片的形式在液晶屏上顯示. 一方面使垃圾桶更富科技感,更好融入實(shí)際應(yīng)用環(huán)境;另一方面也普及垃圾正確分類的知識,起到科普的作用.
為便于垃圾桶的日常清潔與管理,本系統(tǒng)設(shè)計(jì)桶滿檢測與處理功能. 通過在每個分類桶正上方加裝超聲波模塊,定時檢測桶內(nèi)垃圾與模塊的距離L1,并與模塊到分類桶底距離L2做差即可得到當(dāng)前分類桶內(nèi)垃圾高度H,即
H=L2-L1.
(5)
設(shè)H超過分類桶高度的90%時,標(biāo)志為該分類桶桶滿,進(jìn)入桶滿處理. 一方面通過液晶屏顯示桶滿圖片符號,提示相關(guān)人員盡快清理桶內(nèi)垃圾;另一方面,為避免增加負(fù)擔(dān),樹莓派應(yīng)禁用識別功能,即在桶滿狀態(tài)未解除前擱置處理,對丟入的垃圾不再運(yùn)行神經(jīng)網(wǎng)絡(luò)進(jìn)行識別,直到桶滿狀態(tài)解除.
為了驗(yàn)證本系統(tǒng)在實(shí)際使用中的識別準(zhǔn)確率與控制穩(wěn)定性,對普通垃圾桶進(jìn)行改造,移入此智能垃圾分類系統(tǒng),完成了簡單的智能分類垃圾桶實(shí)驗(yàn)?zāi)P?,?shí)驗(yàn)?zāi)P徒Y(jié)構(gòu)如圖9所示.
圖9 實(shí)驗(yàn)?zāi)P蛯?shí)物圖
本次驗(yàn)證實(shí)驗(yàn)通過對上述常用6種垃圾,每種垃圾選用10個存在明顯外觀差異的代表,以不同角度、不同大小及不同損壞程度各進(jìn)行了100次投擲,通過液晶顯示屏獲取系統(tǒng)識別數(shù)據(jù),以及通過打開分類桶,記錄機(jī)械結(jié)構(gòu)分類結(jié)果數(shù)據(jù),具體數(shù)據(jù)記錄如表4所示.
表4 系統(tǒng)識別與分類功能測試數(shù)據(jù)表
從表4可以看出本系統(tǒng)在實(shí)際使用中對常見6種垃圾具有90%以上的識別準(zhǔn)確率與分類成功率,且從本實(shí)驗(yàn)?zāi)P屯庥^可以看出由本系統(tǒng)改造后的垃圾桶體積較小,達(dá)到預(yù)期設(shè)計(jì)要求,后期更可以通過拓展訓(xùn)練集可以增加垃圾識別種類.
將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于垃圾分類,設(shè)計(jì)方案實(shí)現(xiàn)簡單,探究結(jié)果達(dá)到切實(shí)可行的效果. 目前,市場上在垃圾集中收集過程中完成分類的垃圾桶數(shù)量極少,該實(shí)現(xiàn)方案的創(chuàng)新之處在于結(jié)合卷積神經(jīng)網(wǎng)絡(luò)新技術(shù),能通過低成本嵌入式設(shè)備將普通的垃圾桶改造為智能垃圾桶,以實(shí)現(xiàn)識別和自動分類垃圾的功能.