許玉蕊,劉銀華,2,高 鑫
(1.青島大學(xué) 自動(dòng)化學(xué)院,青島266071;2.青島大學(xué) 未來(lái)研究院,青島266071)
隨著我國(guó)經(jīng)濟(jì)快速增長(zhǎng),人們?nèi)粘I町a(chǎn)生越來(lái)越多的垃圾所帶來(lái)的環(huán)境問(wèn)題日益嚴(yán)峻?,F(xiàn)階段我國(guó)對(duì)生活垃圾的處理主要采用焚燒、填埋和堆肥等方式,既占用了寶貴的土地資源,也增加了環(huán)境污染和資源浪費(fèi)。實(shí)行垃圾分類(lèi),關(guān)系廣大人民群眾生活環(huán)境,關(guān)系節(jié)約使用資源,也是社會(huì)文明水平的一個(gè)重要體現(xiàn)[1]。
近年來(lái),隨著計(jì)算機(jī)軟硬件的巨大發(fā)展,神經(jīng)網(wǎng)絡(luò)的研究與應(yīng)用得到了飛速的發(fā)展,尤其在圖像識(shí)別領(lǐng)域,算法精度有了巨大的提升。所以將神經(jīng)網(wǎng)絡(luò)應(yīng)用到垃圾處理中不僅可以快速而準(zhǔn)確地進(jìn)行垃圾分類(lèi)處理,還能夠大大減少因垃圾分類(lèi)處理所需的人工成本。傳統(tǒng)的圖像分類(lèi)方法普遍使用紋理或顏色等特征,常用的算法有SVM[2]、HOG[3]、ELM[4]等。神經(jīng)網(wǎng)絡(luò)相對(duì)于傳統(tǒng)算法減少了人工對(duì)數(shù)據(jù)特征的提取,縮減了到達(dá)目標(biāo)效果所需的時(shí)間,提高了魯棒性。為加強(qiáng)特征擬合和加快特征提取能力,基于卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的多種算法被廣泛提出與應(yīng)用。1998年LeCun 等人提出了LeNet 模型,最初是為了解決手寫(xiě)數(shù)字識(shí)別的問(wèn)題,同時(shí)也標(biāo)志著卷積神經(jīng)網(wǎng)絡(luò)發(fā)展的開(kāi)始。隨后,多種優(yōu)秀的神經(jīng)網(wǎng)絡(luò)模型接連被提出,例如AlexNet、VGGNet、ResNet、Inecption 等。這些模型已被成功地應(yīng)用于日常生活及工業(yè)生產(chǎn)場(chǎng)景當(dāng)中,如人臉識(shí)別[5]、圖像分類(lèi)[6]、缺陷檢測(cè)[7]等不同的領(lǐng)域。為解決垃圾分類(lèi)問(wèn)題,文獻(xiàn)[8]采用了改進(jìn)的Faster R-CNN 的方法將識(shí)別率達(dá)到了81.77%;文獻(xiàn)[9]采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)塑料垃圾進(jìn)行分類(lèi);文獻(xiàn)[10]通過(guò)引入注意力機(jī)制來(lái)提高網(wǎng)絡(luò)的準(zhǔn)確率。雖然已有研究人員將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用于垃圾分類(lèi),但其準(zhǔn)確率和識(shí)別速度都有待提升,實(shí)用性也需考量。
本次研究通過(guò)對(duì)Inception 模塊和殘差模塊進(jìn)行特征融合,可以對(duì)兩種模塊進(jìn)行優(yōu)勢(shì)互補(bǔ)。這不僅能通過(guò)不同尺寸的卷積核來(lái)提取更為豐富有利的信息,也能防止梯度爆炸。同時(shí)在Inception 模塊后加一層Batch Normalization 組成Inception-Residual 模塊進(jìn)一步提高網(wǎng)絡(luò)的準(zhǔn)確率和分類(lèi)速度,最終模型的準(zhǔn)確率為97.67%,從而達(dá)到應(yīng)用標(biāo)準(zhǔn)。本文首先探索了本次研究所使用的網(wǎng)絡(luò)模型,并對(duì)其進(jìn)行分析;其次通過(guò)對(duì)數(shù)據(jù)集和網(wǎng)絡(luò)參數(shù)的選擇對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行比較分析,從而驗(yàn)證本次研究的可靠性。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是模擬人的大腦來(lái)分析圖像和數(shù)據(jù)信息,常用于解決目標(biāo)檢測(cè)和分類(lèi)問(wèn)題,其核心“成員”是卷積層和池化層。CNN 能自動(dòng)提取每類(lèi)圖片中的特征進(jìn)行自主學(xué)習(xí),模型結(jié)構(gòu)如圖1所示。其主要是通過(guò)增加卷積層的通道數(shù)或改變卷積核的大小來(lái)提高特征提取能力。但伴隨著卷積層的層數(shù)和每層輸出通道數(shù)的增加會(huì)帶來(lái)計(jì)算量增大、卷積核大小的選擇多樣化和容易出現(xiàn)過(guò)擬合等問(wèn)題。
圖1 CNN 模型結(jié)構(gòu)Fig.1 CNN model structure
1.1.1 Inception 模塊
為保證多種卷積核可以同時(shí)對(duì)同一層數(shù)據(jù)進(jìn)行多種特征提取,Inception 模塊由此誕生。Inception 模塊采用了多分支結(jié)構(gòu)和1×1 卷積核。多分支結(jié)構(gòu)構(gòu)造了一種較高的稀疏結(jié)構(gòu),保證了最優(yōu)的卷積結(jié)果和較高的特征復(fù)用率,有效地避免了因卷積核大小選取的差異而導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)效果較差。在彌補(bǔ)了現(xiàn)有方法在特征提取上不足的同時(shí),提高了網(wǎng)絡(luò)的分類(lèi)性能和泛化能力[11]。1×1 卷積可以跨通道組織信息,優(yōu)化了網(wǎng)絡(luò)的表達(dá)能力,并且能夠達(dá)到升維或降維的作用。
Inception 模塊不僅在寬度上有所改善,還對(duì)卷積核結(jié)構(gòu)進(jìn)行了改進(jìn)。Inception 模塊采用2 個(gè)3×3的卷積核來(lái)替代1 個(gè)5×5 的卷積核,其結(jié)構(gòu)如圖2(a)所示。除此之外,Inception 模塊還采用了拆分卷積核的方法,即將1 個(gè)二維卷積核拆成2 個(gè)一維卷積核。如圖2(b)、2(c)所示,將7×7 的卷積核拆分成1×7 和7×1 的2 個(gè)卷積核;將3×3 的卷積核分解成1×3 和3×1 的2 個(gè)卷積核。這種處理方式具有增加特征多樣性、簡(jiǎn)化空間結(jié)構(gòu)、加快運(yùn)算速度和增加非線性表達(dá)能力等優(yōu)勢(shì)。
圖2 Inception 模塊Fig.2 Inception model
1.1.2 殘差模塊
在深層網(wǎng)絡(luò)模型中,隨著模型層數(shù)的不斷加深,網(wǎng)絡(luò)會(huì)出現(xiàn)梯度爆炸和權(quán)重衰減現(xiàn)象。殘差網(wǎng)絡(luò)(ResNet)的提出解決了這一問(wèn)題。同時(shí)解決了因計(jì)算量的提高和運(yùn)行時(shí)間的增加,而導(dǎo)致準(zhǔn)確率出現(xiàn)飽和甚至下降的現(xiàn)象。該網(wǎng)絡(luò)通過(guò)采用跳躍連接(Shortcut Connections)的方式擬合前一層的殘差映射,在不增加模型的參數(shù)和復(fù)雜度的前提下,極大地保證了特征提取的準(zhǔn)確性和多樣性[12]。殘差模塊(Residual Module)如圖3所示,在傳統(tǒng)的卷積模型上加入了一個(gè)恒等映射層y=x,圖中F(x)表示的是殘差,F(xiàn)(x)+x 是最終的映射輸出。
圖3 殘差模塊Fig.3 Residual module
殘差模塊最后輸出的公式為
式中:F(x,{wi})=W2σ(W1x),Wi為偏置,σ 表示ReLU激活函數(shù)。殘差模塊可以有效地防止因梯度爆炸而導(dǎo)致的輸入信息丟失和準(zhǔn)確率瞬間下降的問(wèn)題,同時(shí)能夠幫助神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)不同層之間的差異性信息。
本次研究采用了基于特征融合卷積神經(jīng)網(wǎng)絡(luò)的垃圾分類(lèi)方法,保留了傳統(tǒng)InceptionV3 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。該模型是將原InceptionV3 中的Inception 模塊替換成Inception-Residual 模塊。模型的輸入是經(jīng)過(guò)預(yù)處理后的垃圾圖片,輸出的是要估計(jì)的垃圾分類(lèi)。
Inception-Residual 模塊是由Inception 模塊、殘差模塊和Batch Normalization(簡(jiǎn)稱(chēng)BN)層組成,改進(jìn)后的模塊保留了原有模塊的優(yōu)點(diǎn),進(jìn)一步提高了深度神經(jīng)網(wǎng)絡(luò)的特征提取能力,有利于網(wǎng)絡(luò)對(duì)原始數(shù)據(jù)的全面學(xué)習(xí)和防止過(guò)度學(xué)習(xí)。Inception 模塊和殘差模塊各有其優(yōu)缺點(diǎn)。Inception 模塊通過(guò)增加網(wǎng)絡(luò)寬度來(lái)提升網(wǎng)絡(luò)的準(zhǔn)確率和訓(xùn)練速度,但也會(huì)因其對(duì)網(wǎng)絡(luò)性能的提升作用有限、寬度與深度失衡和變種復(fù)雜等問(wèn)題而導(dǎo)致出現(xiàn)過(guò)擬合和參數(shù)運(yùn)算效率低的現(xiàn)象。殘差模塊雖然加深了網(wǎng)絡(luò)的深度,但同時(shí)也增加了參數(shù)量和運(yùn)算速度,并且特征提取效果略遜于Inception 模塊。因此,將Inception 模塊和殘差模塊相融合可以起到特征互補(bǔ)和優(yōu)化網(wǎng)絡(luò)模型的作用,但相對(duì)于單獨(dú)的Inception 模塊增加了訓(xùn)練參數(shù)量,并且跳躍連接在復(fù)雜的模塊中會(huì)容易導(dǎo)致訓(xùn)練中斷的現(xiàn)象。
Inception-Residual 模塊如圖4所示。該模塊既保留了Inception 的輕量化的特點(diǎn),減少了網(wǎng)絡(luò)整體的訓(xùn)練參數(shù),提高識(shí)別速度,還可以防止因梯度爆炸而導(dǎo)致的準(zhǔn)確率下降和因模型復(fù)雜而帶來(lái)的訓(xùn)練中斷的問(wèn)題。同時(shí),在Inception 模塊后面加入一層BN 層可進(jìn)一步對(duì)拼接后的數(shù)據(jù)進(jìn)行歸類(lèi)、優(yōu)化數(shù)據(jù)分布,可以防止訓(xùn)練中斷、提高訓(xùn)練速度和減少達(dá)到最優(yōu)訓(xùn)練結(jié)果的迭代次數(shù)等[13],BN 層表示如下。
圖4 Inception-Residual 模塊Fig.4 Inception-Residual module
式(2)是對(duì)每個(gè)Batch 求取平均值;式(3)是求每個(gè)Batch 的方差;式(4)是對(duì)輸入的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)差歸一化操作,使得數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,有助于加快梯度下降;式(5)的作用是恢復(fù)出原始某一層所學(xué)到的特征分布。
該模型的整體結(jié)構(gòu)如圖5所示。首先對(duì)輸入的圖片采用3×3 卷積和最大池化,進(jìn)行簡(jiǎn)單的處理和特征提取。然后將輸出的結(jié)果依次傳入Inception-Residual-A、Inception-B、Inception-Residual-C、Inception-D、Inception-Residual-E,通過(guò)更多不同尺寸的卷積,獲取更加豐富的特征。最后對(duì)輸出結(jié)果進(jìn)行全局平均池化和全連接,從而獲得最終的分類(lèi)結(jié)果。
圖5 Inception-Residual 網(wǎng)絡(luò)模型Fig.5 Inception-Residual network model
其中Inception-Residual-A、Inception-Residual-C、Inception-Residual-E 3 個(gè)模塊是在Inception-A、Inception-C、Inception-E 的基礎(chǔ)上對(duì)其進(jìn)行如圖4所示的改進(jìn),在原有模塊的拼接輸出后添加一層BN 層,然后擬合上一層的殘差映射。Inception-B 和Inception-D 均是由3 個(gè)分支組成的Inception 模塊,具有改變輸出通道和圖片大小的作用。Inception-B 與Inception-A 相似,只是減少了單獨(dú)的1×1 分支,并且將平均池化層(Avg poolling)改為最大池化(Max poolling)。Inception-D 相比于Inception-C 保留了1×7 和7×1 分支,并在其后增加了1 層3×3 卷積,同時(shí)添加了3×3 和最大池化2 個(gè)分支。因此,本實(shí)驗(yàn)所提出的方法實(shí)現(xiàn)了整個(gè)網(wǎng)絡(luò)端到端的訓(xùn)練,并且在增加層數(shù)的同時(shí)避免了梯度爆炸、提高了訓(xùn)練速度和減少信息丟失等問(wèn)題的出現(xiàn)。
2.1.1 數(shù)據(jù)采集
本次研究采用的數(shù)據(jù)集大多數(shù)來(lái)自華為垃圾分類(lèi)挑戰(zhàn)杯的數(shù)據(jù)集,其余數(shù)據(jù)集是采用網(wǎng)絡(luò)爬蟲(chóng)的方式收集到的,并進(jìn)行手工標(biāo)注,總共包含2.5 萬(wàn)張圖片。數(shù)據(jù)集包含日常生活中較為常見(jiàn)的4 種垃圾類(lèi)別:其他垃圾、廚余垃圾、可回收垃圾和有害垃圾。輸入卷積神經(jīng)網(wǎng)絡(luò)中的圖片大小均為299×299×3 的三通道RGB 彩色JPG 圖片。將數(shù)據(jù)集中所有圖片打亂后按照6∶2∶2 的比例劃分成訓(xùn)練集、驗(yàn)證集和測(cè)試集。
2.1.2 數(shù)據(jù)預(yù)處理
為確保模型結(jié)果的可靠性、提高訓(xùn)練精度,故在數(shù)據(jù)處理階段對(duì)數(shù)據(jù)進(jìn)行了信息歸一化和標(biāo)準(zhǔn)化操作。同時(shí)對(duì)數(shù)據(jù)進(jìn)行了隨機(jī)裁剪、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)等不同的數(shù)據(jù)增強(qiáng)技術(shù),從而降低了對(duì)圖像的成像要求。在訓(xùn)練過(guò)程中,處理后的圖片隨機(jī)組合后進(jìn)入網(wǎng)絡(luò)模型中,有利于提升模型的魯棒性和泛化能力。
2.2.1 參數(shù)設(shè)置
在模型訓(xùn)練過(guò)程中,學(xué)習(xí)率(lr)設(shè)置為0.001,批尺寸(Batch_Size)設(shè)置為16,進(jìn)行600 次迭代(Epoch)運(yùn)算。為增強(qiáng)神經(jīng)網(wǎng)絡(luò)各層之間的非線性關(guān)系訓(xùn)練采用ReLU 作為卷積層之后的激活函數(shù)。ReLU是一個(gè)分段函數(shù),當(dāng)輸入為負(fù)時(shí),輸出為0;否則,輸出等于輸入[14]。使用Softmax 分類(lèi)器輸出最后的識(shí)別結(jié)果,并且采用隨機(jī)梯度下降(SGD)的方法進(jìn)行參數(shù)學(xué)習(xí),其中動(dòng)量(Momentum)設(shè)置為0.9。
2.2.2 實(shí)驗(yàn)評(píng)估指標(biāo)
在進(jìn)行多目標(biāo)檢測(cè)和分類(lèi)中,準(zhǔn)確率(Accuracy)作為目前最主要的評(píng)判指標(biāo),即模型預(yù)測(cè)正確數(shù)量占總數(shù)量的百分比。本文主要通過(guò)對(duì)各模型的準(zhǔn)確率對(duì)比作為本次模型評(píng)判標(biāo)準(zhǔn)。除準(zhǔn)確率以外,對(duì)模型評(píng)估的標(biāo)準(zhǔn)還有精確率(Precision)、召回率(Recall)、綜合評(píng)價(jià)指標(biāo)(F1-score)。精確率是在被識(shí)別為正類(lèi)樣本中實(shí)際為正類(lèi)的比例;召回率為在所有正類(lèi)樣本中,被正確識(shí)別為正類(lèi)的比例;綜合評(píng)價(jià)指標(biāo)是一種統(tǒng)計(jì)量,是精確量與召回率的加權(quán)調(diào)和平均,其綜合了精確率與召回率的結(jié)果,常被用來(lái)評(píng)價(jià)模型好壞[15]。本文應(yīng)用精確率、召回率和F1 值來(lái)分析改進(jìn)后的Inception-Residual 模型對(duì)4類(lèi)垃圾的識(shí)別效果。各評(píng)估指標(biāo)的計(jì)算公式如式(6)~式(9)所示。
TP(True Positive,真正例)是指將正類(lèi)正確預(yù)測(cè)為正類(lèi)的個(gè)數(shù)。TN(True Negative,真反例)是指將負(fù)類(lèi)正確預(yù)測(cè)為負(fù)類(lèi)的個(gè)數(shù)。FP(False Positive,假正例)是指將負(fù)類(lèi)錯(cuò)誤預(yù)測(cè)為正類(lèi)的個(gè)數(shù)。FN(False Negative,假反例)是指將正類(lèi)錯(cuò)誤預(yù)測(cè)為負(fù)類(lèi)的個(gè)數(shù)。
針對(duì)本次研究所提出的Inception-Residual 模型,通過(guò)進(jìn)行對(duì)比實(shí)驗(yàn)來(lái)驗(yàn)證其性能。本文記錄了相同數(shù)據(jù)集、相同訓(xùn)練環(huán)境下使用3 種不同模型所訓(xùn)練的準(zhǔn)確率,如表1所示分別羅列了InceptionV3、ResNet101 和Inception-Residual 3 種不同圖像識(shí)別模型應(yīng)用于本次研究的準(zhǔn)確率、測(cè)試集所消耗的時(shí)間和總的訓(xùn)練參數(shù)。其中本次研究所提出的方法最終訓(xùn)練準(zhǔn)確率為97.67%,驗(yàn)證準(zhǔn)確率為93.98%,測(cè)試準(zhǔn)確率為94.19%,訓(xùn)練準(zhǔn)確率分別高于其它圖像識(shí)別算法2.08%、3.31%;測(cè)試集所消耗的時(shí)間也略低于其它網(wǎng)絡(luò);總訓(xùn)練參數(shù)也比Resnet101 減少了152.2 M。綜合評(píng)價(jià),改進(jìn)后的Inception-Residual 網(wǎng)絡(luò)通過(guò)犧牲較少的訓(xùn)練參數(shù)從而提高準(zhǔn)確率這是值得的。
表1 各種圖像識(shí)別算法的性能比較Tab.1 Performance comparison of various image recognition algorithms
本次研究所采用的Inception-Residual 模型對(duì)4種類(lèi)別垃圾識(shí)別的精確率、召回率和F1 值如表2所示。除有害垃圾的召回率外,其余數(shù)值均在90%以上,相較于其它模型均有所提升。由實(shí)驗(yàn)結(jié)果可知,該模型對(duì)4 類(lèi)垃圾有較好地識(shí)別效果,并且該模型可以對(duì)垃圾圖片進(jìn)行快速穩(wěn)定的識(shí)別,這也證明了本此研究所設(shè)計(jì)的垃圾分類(lèi)模型完全符合預(yù)期目標(biāo)。
表2 Inception-Residual 模型對(duì)不同垃圾種類(lèi)的評(píng)估結(jié)果Tab.2 Inception-Residual model assessment of different types of garbage
由于本次實(shí)驗(yàn)所采用的數(shù)據(jù)集圖片背景雜亂、數(shù)據(jù)分布不均,導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)對(duì)垃圾圖片的分類(lèi)帶來(lái)了極大的挑戰(zhàn)。圖6顯示了該模型在測(cè)試集上所得出來(lái)的混淆矩陣,從圖中可以看出,被誤分類(lèi)的數(shù)據(jù)較多,下一階段將重點(diǎn)解決這一問(wèn)題。
圖6 測(cè)試模型混淆矩陣Fig.6 Test the model confusion matrix
本次研究主要針對(duì)人工分揀垃圾工作環(huán)境差、效率低和垃圾處理不當(dāng)而造成的環(huán)境污染等問(wèn)題,通過(guò)對(duì)現(xiàn)有的Inception 模塊和殘差模塊進(jìn)行融合和改進(jìn),構(gòu)建了一種更加快速和準(zhǔn)確的Inception-Residual 模型,并對(duì)其進(jìn)行分析和實(shí)驗(yàn)驗(yàn)證,最終準(zhǔn)確率可達(dá)到97.67%,滿(mǎn)足實(shí)際應(yīng)用的需求,充分證明了該模型對(duì)垃圾圖片有較高的準(zhǔn)確率。下一步將在本次研究的基礎(chǔ)上進(jìn)一步改善模型,提高模型的整體性能;擴(kuò)大數(shù)據(jù)集并對(duì)四大類(lèi)垃圾進(jìn)行細(xì)分,從而實(shí)現(xiàn)更加精準(zhǔn)地識(shí)別各種垃圾,提高識(shí)別精度。