周 曉,焦 晨,朱開瑄
(武漢理工大學 機電工程學院,湖北 武漢 430070)
隨著人們消費水平的提高,塑料瓶使用量急劇增加,而塑料瓶的回收處理手段大部分是填埋和焚燒,造成了資源浪費以及環(huán)境的極大污染[1],因此有效分揀各類塑料瓶,提高其回收利用率,對環(huán)境保護和資源重復利用具有重要意義。
目前我國塑料瓶的回收分類產業(yè)在自動化程度上有了一定進步,但分揀工作仍主要依靠人工操作完成[2],工人工作環(huán)境惡劣,檢測效率低下,不合適長時間工作。與人工分揀相比,利用機器視覺技術進行分揀具有可長時間連續(xù)工作、準確率高、穩(wěn)定性強,能作業(yè)于惡劣工況條件等優(yōu)點。因此,有學者提出了基于機器視覺的塑料瓶分類方法,通過提取塑料瓶圖像包含的典型特征來達到對不同顏色的塑料瓶進行分類的目的。
王洪[3]提出了一種基于計算機視覺的塑料瓶分類方法,首先對采集的圖像進行灰度和邊緣檢測等一系列的處理,然后在二值化的圖像上就塑料瓶的面積和周長進行了形狀特征的提取,再根據(jù)這些形狀獲得塑料瓶所在區(qū)域的像素點的R(red)、G(green)、B(blue)值,以此作為顏色特征來對塑料瓶顏色進行分類識別。賀向宇[4]針對塑料瓶瓶身重疊和表面不平整對顏色分選造成干擾的問題,設計了基于形狀匹配的瓶身重疊識別方法和基于K-means聚類的顏色分選方法,從而有效提高了塑料瓶回收的顏色分類準確率。劉政林等[5]設計了一種基于計算機視覺的塑料瓶顏色識別與分揀系統(tǒng),在圖像處理部分利用邊緣檢測算法提取塑料瓶的輪廓。在確定瓶子坐標后,取出每個瓶子所在區(qū)域的RGB值,將RGB通道的均值與提前設置好的閾值進行比較來判斷塑料瓶的顏色。Tachwali等[6]從塑料瓶的化學成分和顏色兩方面進行分類識別。以近紅外反射率的測量方法來識別瓶子的化學成分。顏色分類方面,使用基于灰度直方圖的閾值分割對圖像進行分割,在HSI(hue、saturation、intensity)顏色空間分別獲取瓶身上10個感興趣區(qū)域的H和S分量像素的均值和標準差,作為對塑料瓶分類的依據(jù)。
上述方法都是基于手工設計的低層視覺特征,其缺點在于:塑料瓶分類方法依賴于研究者的經(jīng)驗知識,針對不同的識別問題進行特定設計;提取到的特征不具有或具有較弱的語義信息;特征表達能力弱,難以描述塑料瓶的復雜變化,因此它們都有其局限性。而基于數(shù)據(jù)驅動的方法,如卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)以其強大的特征提取能力,能對物體的復雜變化模式有效建模[7]。筆者將卷積神經(jīng)網(wǎng)絡用于不同顏色的塑料瓶的分類中,構建具有殘差連接的卷積網(wǎng)絡并加以訓練。為增強模型的泛化能力和避免過擬合,訓練過程中采取一系列正則化措施:使用數(shù)據(jù)增廣[8]技術增強訓練集數(shù)據(jù)多樣性;在全連接層引入具有自歸一化性質的SeLU函數(shù)[9];對真實標簽進行平滑處理[10],從而對塑料瓶分類網(wǎng)絡進行有效訓練,實現(xiàn)4種顏色塑料瓶的分類識別。
基于計算機視覺的PET(polyethylene terephthalate)廢舊塑料瓶顏色分揀系統(tǒng)由工業(yè)相機、背光板和工控機組成,再配合機械傳送和氣選裝置,能夠完成廢舊塑料瓶成像、識別和分類全流程。廢舊塑料瓶智能顏色分揀系統(tǒng)的實物圖和各部件相對位置關系圖分別如圖1和圖2所示。
圖1 塑料瓶顏色分揀系統(tǒng)實物圖
圖2 塑料瓶顏色分揀系統(tǒng)各部件位置關系圖
當傳送帶將不同顏色的PET廢舊塑料瓶運輸至工業(yè)相機的視野范圍時,相機對其成像并將圖像傳輸至工控機中,工控機上運行的圖像處理算法對塑料瓶圖像進行實時處理識別,進一步根據(jù)識別結果來控制氣選裝置,從而達到對不同顏色塑料瓶分揀的目的。
根據(jù)回收的廢舊塑料瓶數(shù)量統(tǒng)計情況,對采集到的圖像選取最主要的4大類進行人工標注,這些塑料瓶包含了4種不同的顏色,如圖 3所示,包括PET_Blue、PET_Brown、PET_Green和PET_Transparent瓶子。利用標注信息,將塑料瓶所在區(qū)域裁剪下來分類存儲,每種類別的塑料圖像數(shù)量如表1所示。
表1 4類塑料瓶圖像數(shù)量
圖3 PET塑料瓶的4種類別
塑料瓶的顏色分類往往存在各種干擾信息,如圖4所示。這些干擾信息有來自塑料瓶本身的干擾,如在脫標簽階段瓶身上未能撕扯下來的不同顏色的標簽,以及各式各樣的瓶蓋部分,如圖4(a)所示;有的則來自周圍環(huán)境的干擾,如瓶子周圍區(qū)域存在其他種類的塑料瓶,并且這些干擾相互混雜,如圖4(b)所示。在實際分揀環(huán)境中這些干擾因素難以避免,這就對分類方法提出了較高的魯棒性要求。
圖4 塑料瓶識別時存在的干擾因素示意圖
利用卷積神經(jīng)網(wǎng)絡強大的特征提取能力,可以對具有復雜變化的各種顏色的PET塑料瓶圖像進行建模。針對現(xiàn)有研究中普遍存在塑料瓶種類較為單一、圖像數(shù)量少、塑料瓶分類魯棒性不強、依賴于經(jīng)驗設計的特征提取和分類效果一般等問題,筆者設計了一種基于卷積神經(jīng)網(wǎng)絡的準確率高、魯棒性強的塑料瓶顏色分類方法,其流程如圖 5所示。首先通過采集圖像及人工標注制作了塑料瓶圖像分類樣本并對數(shù)據(jù)進行預處理,然后設計具有殘差連接的卷積神經(jīng)網(wǎng)絡并加以訓練。塑料瓶分類網(wǎng)絡以塑料瓶圖像為輸入,其輸出為每個塑料瓶對應顏色類別的概率。
圖5 基于CNN的塑料瓶分類方法流程圖
筆者提出的塑料瓶分類網(wǎng)絡的殘差連接主要基于Pre-activation Bottleneck[11]進行設計,其基本結構如圖6所示。采用具有殘差連接的卷積模塊是因為殘差網(wǎng)絡能夠解決網(wǎng)絡退化和梯度消失的問題。普通卷積神經(jīng)網(wǎng)絡可以看作是學習一個從輸入x到輸出y的映射,即y=H(x),函數(shù)H(x)即堆疊的隱藏層,代表網(wǎng)絡從輸入x學習到的特征。而采用殘差網(wǎng)絡模型,輸出y=F(x)+x,即H(x)=F(x)+x,F(xiàn)(x)代表網(wǎng)絡學習的殘差映射,而x則代表從輸入到輸出的恒等映射。大量實驗證明學習殘差映射要比直接學習從輸入到輸出的映射容易得多,而且即使網(wǎng)絡層數(shù)較多也能進行有效的訓練。一般Bottleneck層由三層核尺寸分別為(1×1)-(3×3)-(1×1)的卷積層堆疊而成,隨著網(wǎng)絡的加深,每個Bottleneck層的卷積核通道數(shù)以2的倍數(shù)遞增,特征圖尺寸以2的倍數(shù)遞減,網(wǎng)絡總體結構如表2所示。
表2 塑料瓶分類網(wǎng)絡總體結構表
圖6 Pre-activations殘差模塊
網(wǎng)絡輸入為256×256×3的塑料瓶圖像,在第一層隱藏層輸入圖像采用尺寸較大的卷積核進行運算是因為一方面可以盡可能多地將原始圖像映射到高維空間中,另一方面是因為如果一開始就使用過多的小尺寸卷積核,會使之后的隱藏層卷積核數(shù)劇增,導致網(wǎng)絡訓練困難。在堆疊多層Bottleneck之后,在卷積層的頂端使用尺寸為(8×8)的全局池化層,再接入3層全連接最終得到網(wǎng)絡的輸出,即4種顏色的概率得分。為了避免在全連接層中使用ReLU激活函數(shù)可能造成某些神經(jīng)元節(jié)點的激活值總是小于0,進而梯度總是為0,網(wǎng)絡無法進行有效訓練的問題,筆者使用具有自歸一化性質的SeLU作為全連接層的激活函數(shù)SeLU,如式(1)所示。在輸入樣本通過前向傳播到達該激勵函數(shù)時能夠使樣本分布滿足0均值和單位方差,既解決了梯度消失,又保留了負值特征,使得網(wǎng)絡可以更好地收斂。其中α和λ為常數(shù),分別取1.673 26和1.050 72。
(1)
塑料瓶從圖像上截取下來后,其大小、形態(tài)、位置都不是固定的,而網(wǎng)絡要求輸入維度是統(tǒng)一大小的,為了維持原圖像中塑料瓶的縱橫比,不讓其特征信息丟失,對縱橫比過大的塑料瓶圖像進行邊緣0值填充。首先計算該圖像的縱橫比,若縱橫比大于1.3,則對長與寬中較大的值調整至256個像素,較小的值則隨圖像原有的縱橫比自行調整,然后沿著較小值的邊進行0值填充,其效果圖如圖 7所示。
圖7 塑料瓶圖像0值填充效果圖
為了避免模型過擬合,同時增強模型在測試數(shù)據(jù)上的泛化能力,需要在模型訓練期間,動態(tài)地對輸入圖像進行一系列的圖形變換,每次訓練時隨機的變化組合并不會改變圖像原本的屬性類別,反而增加了訓練數(shù)據(jù)的豐富性,起到數(shù)據(jù)增廣的作用。這些變換包括隨機位置裁剪,隨機角度旋轉,隨機水平翻轉,大小變換等操作。以任意一張藍色塑料瓶圖像為例,它的原圖如圖 8(a)所示,數(shù)據(jù)擴充的結果如圖8(b)所示。
圖8 數(shù)據(jù)增廣效果圖
在塑料瓶顏色分類任務中,圖像經(jīng)過網(wǎng)絡前向傳播到達輸出層,通過Softmax函數(shù)將其映射到所屬類別的概率分布,用以計算損失的真實標簽往往是One-hot稀疏編碼。但是采用這種編碼方式的真實標簽,存在兩個問題:①使用0和1的標簽編碼方式會增大模型對不同類別的輸出分數(shù)的差別,對某些類別的置信度分數(shù)過高,容易導致過擬合,降低模型的泛化能力。②在實際中,總會有一些對模型來說模糊不清的困難樣本,如瓶身帶有綠色包裝的透明塑料瓶、帶有紅色包裝的透明塑料瓶以及本身就是綠色的塑料瓶。
基于上述描述,采用標簽平滑處理來解決以上兩個問題。標簽平滑處理(label smoothing)作為正則化的一種手段,其核心思想是降低模型對標簽的信任,可以將某些類別的概率從0提高到0.1,將某些類別的概率從1.0降低到0.9,進而將使用這些平滑后的標簽參與Softmax損失函數(shù)的計算。利用式(2)進行標簽平滑處理。
(2)
式中:qi為第i類的概率;ε為小于1的常數(shù);y為真實標簽;K為分類類別總數(shù)。
如果使用One-hot編碼表示PET_Transparent塑料瓶類別,其真實標簽為[0.0,0.0,0.0,1.0],除了最后一個維度是1.0之外,其他維度都是0,對其做平滑處理后其標簽為[0.02,0.02,0.02,0.94]。
通過實驗對基于CNN的塑料瓶分類方法與基于HSV-SVM(hue,saturation,value-support vector machine)的分類方法的實驗結果進行對比。
作為對比,筆者設計了基于HSV-SVM方法的塑料瓶顏色分類算法。考慮到不同塑料瓶在明暗、顏色等方面具有一定的差異,這些差異可以作為區(qū)分不同種類塑料的依據(jù)。HSV顏色空間以人類感知顏色的方式對色彩加以描述,如顏色的種類、顏色的深淺、顏色的明暗。通過將RGB模型轉換至HSV模型,計算得出每張圖像的HSV通道數(shù)值,然后求取每個通道的均值,組成3維向量。總共1 087張?zhí)幚韴D像,其特征矩陣的維度是(1 087,3),以4:1的比例對其劃分訓練集和測試集。分別將各個通道及它們的組合作為特征值,使用SVM作為分類器進行了一系列實驗,實驗結果如表3所示。
表3 基于HSV-SVM方法的實驗結果
從表3可知,H通道相比其他通道對顏色有更好的區(qū)分度,僅使用H通道特征向量的分類準確率為85.6%,遠高于S通道的65.3%和V通道的53.2%。但是,如果將特征向量擴展到更高維度的空間,特征向量包含的信息更豐富,用分類器訓練后其判別力也更突出。同樣是SVM分類模型,當綜合評估三通道的特征向量時,其顏色分類準確率相比之前的結果大大提高,達到了89.7%。雖然使用多個通道的特征值能使分類效果有所提升,但是其分類效果的好壞程度依然取決于前期特征工程設計的好壞,這也證明了基于手工設計特征的方法有其天然的局限性。
實驗中使用的數(shù)據(jù)集同樣包含1 087張圖像,以4∶1的比例對其劃分訓練集和測試集。采用批量隨機梯度下降算法進行優(yōu)化,學習速率為0.001,塑料瓶分類模型在訓練集上迭代40次。
模型在訓練過程中的損失值曲線和準確率曲線如圖9所示。從圖9可知,在訓練至第15輪之前,無論是損失值曲線還是準確率曲線,塑料瓶分類模型在訓練集上的表現(xiàn)都要優(yōu)于測試集,即訓練集的損失值更低,準確率更高。隨著訓練進一步推進,由于采用了數(shù)據(jù)增廣技術,增添了訓練圖像的多樣性,以及采取了一系列正則化措施,雖然在一定程度上以犧牲模型在訓練集上的效果為代價,但是卻提高了模型的泛化能力。如圖9所示,在第20輪后,模型在測試集上的表現(xiàn)超出了訓練集,出現(xiàn)這種現(xiàn)象的原因,一方面是由于所采取的正則化措施僅針對訓練集的圖像進行處理,如訓練時人為地在真實標簽中加入噪聲,讓模型不對某一類別的塑料瓶圖像有過高的置信度;另一方面是由于在訓練過程中使用了數(shù)據(jù)增廣技術,模型已經(jīng)學習到了比原有圖像更加復雜的變換。
圖9 網(wǎng)絡訓練過程
在結束訓練時,網(wǎng)絡在測試集的準確率為99.2%,兩種分類算法的比較結果如表4所示。從表4可知,與基于手工特征設計的HSV-SVM分類方法相比,筆者提出的基于卷積神經(jīng)網(wǎng)絡的塑料瓶顏色分類方法的分類效果更佳,準確率更高。
表4 兩種分類算法比較結果
此外,筆者還對所提出的算法的速度性能進行了分析,從而證明了筆者設計的算法能夠滿足廢舊塑料瓶顏色分揀系統(tǒng)的實際需求。長度為15~30 cm的塑料瓶在傳送帶上以2.5 m/s的速度運動,當塑料瓶經(jīng)過工業(yè)相機(采集速率100~120 FPS)視野區(qū)域時,瓶身位于相機視野的時間為160~220 ms,然后相機采集圖像并將其傳輸至工控機,塑料瓶顏色分類模型以99%的準確率處理單張圖像需24 ms左右(通過計算模型在測試集圖像上推斷的總時間對測試集的圖像數(shù)量取均值求得),因此滿足實時性需求,從而能夠實現(xiàn)4種不同顏色的廢舊PET塑料瓶的精準快速分揀。
筆者圍繞廢舊塑料瓶的顏色分類問題,設計了具有殘差連接的卷積神經(jīng)網(wǎng)絡并加以訓練,為了增強模型的泛化能力,在訓練過程中采取了一系列正則化措施,利用數(shù)據(jù)增廣技術增加訓練集數(shù)據(jù)的多樣性,在全連接層中引入具有自歸一化性質的SeLU激勵函數(shù),在真實標簽中添加噪聲對其平滑處理,從而使網(wǎng)絡得以有效的訓練。實驗結果表明,與基于HSV-SVM的塑料瓶分類方法相比,筆者提出的基于卷積神經(jīng)網(wǎng)絡的塑料瓶顏色分類方法對包含復雜變化的塑料瓶建模能力更強,識別準確率更高,魯棒性更強,且能滿足實時性要求。