文生平,陳敬福,馮澤鋒,朱珂郁
(1.華南理工大學(xué) 廣東省高分子先進(jìn)制造技術(shù)及裝備重點實驗室,廣州 510640;2.華南理工大學(xué) 聚合物成型加工工程教育部重點實驗室,廣州 510640;3.福建師范大學(xué) 環(huán)境科學(xué)與工程學(xué)院,福州 350007)
塑料制品在生產(chǎn)與生活的各個領(lǐng)域都有廣泛的應(yīng)用。隨著經(jīng)濟(jì)的發(fā)展和人們需求的多樣化,塑料制品的種類與產(chǎn)量飛速上升,同時也給廢雜塑料的回收帶來巨大的挑戰(zhàn)。廢雜塑料回收利用的第一步是從眾多可回收垃圾中按照形狀、顏色、用途等對整件廢雜塑料制品進(jìn)行分類,以方便后續(xù)壓扁運輸以及破碎精分等回收操作[1]。當(dāng)前我國對廢雜塑料進(jìn)行整件分選的產(chǎn)業(yè)線仍處于人工作業(yè)的低效率模式,惡劣的工作環(huán)境、高昂的人工費用、低效的分選速度以及不穩(wěn)的分選精度嚴(yán)重制約著產(chǎn)業(yè)的發(fā)展,廢雜塑料分揀行業(yè)無疑亟需從人工到自動化的轉(zhuǎn)型[2]。然而,廢雜塑料因分選對象繁多、外形尺寸差異大、存在彼此遮擋、污染破損等因素影響,基于傳統(tǒng)機(jī)器視覺的自動分選方法難以有效應(yīng)對如此復(fù)雜的場景。
人工智能的發(fā)展為機(jī)器視覺領(lǐng)域帶來新思路,已有不少研究人員將深度學(xué)習(xí)應(yīng)用于各種消費與工業(yè)場景。肖體剛等人以Yolov3模型為基礎(chǔ),融合深度可分離卷積結(jié)構(gòu)和多尺度特征檢測,實現(xiàn)對安全帽的智能監(jiān)控檢測[3];李震霄等人提出Yolov3-Mobilenetv2算法,解決多車輛跟蹤場景中的實時性和身份跳變問題[4];董旭彬利用SD-RPN改進(jìn)Mask R-CNN算法,且融合可見光圖像與紅外圖像以解決航空影像目標(biāo)檢測中的性能缺陷問題[5];牛作東引入自注意力機(jī)制改進(jìn)RetinaFace算法,提出了自然場景下人臉口罩佩戴與否的檢測思路[6];文生平等人基于Gaussian-Yolov3算法,實現(xiàn)了對鋁型材表面缺陷的實時檢測[7]。
目前針對廢雜塑料檢測算法的研究仍較少。趙遠(yuǎn)遠(yuǎn)等人提出基于Zernike矩的圖像輪廓特征提取及歐氏距離分類算法,解決重疊塑料瓶對廢舊塑料瓶顏色分選的干擾[8];閻嘉旭等人利用Yolov3模型對綠、藍(lán)、白和透明四色廢舊塑料瓶進(jìn)行檢測[9];張海洲等人同樣對不同顏色的塑料瓶進(jìn)行分選,但對Yolov3模型的主干網(wǎng)絡(luò)進(jìn)行修改,提出了Bottle-Yolov3算法[10]。目前已有研究大多按顏色對廢舊塑料瓶進(jìn)行分選,局限于塑料瓶這一小對象,場景比較理想化,且以顏色進(jìn)行分類難以滿足當(dāng)下生產(chǎn)需求。
然而,采用普通的目標(biāo)檢測模型難以有效應(yīng)對廢雜塑料分揀場景,第一個原因是廢雜塑料分選背景復(fù)雜,實際分選流水線往往由于粗篩不徹底,有其他生活垃圾混入干擾,同時生活中廢雜塑料產(chǎn)品種類繁多,且后期使用中還存在被污染、破損、碾壓,物品外觀已發(fā)生較大變化,因此需要模型具有出色的特征提取能力;第二個原因是不同物品間外形差異較大,比如在尺度大小和寬高比例方面存在較大差距。第三個原因是盡管預(yù)處理過程會盡量將物品振蕩平鋪,但還是無法避免物品間彼此遮擋,模型可能會漏檢被遮擋的物體。為此,本文將針對飲料瓶、洗漱用品瓶、一次性餐具盒3個更大粒度的廢雜塑料對象進(jìn)行檢測,選取FoveaBox[11]作為目標(biāo)檢測的基礎(chǔ)模型。為了提高模型在復(fù)雜分選背景下的特征提取能力,采用更深、更寬的ResNeXt-101[12]作為主干網(wǎng)絡(luò)代替ResNet-50。為了解決廢雜塑料外形差異大的問題,采用帶有縮放系數(shù)的可變形卷積代替普通卷積以提升卷積過程的有效感受野。為了解決物品遮擋的問題,采用帶層級控制因子的軟化加權(quán)錨點機(jī)制,減少被遮擋目標(biāo)的漏檢率。經(jīng)過以上改進(jìn),使得模型更適用于廢雜塑料分選場景,為后續(xù)實驗線的運行提供了算法支持。
圖1 各類分選場景
廢雜塑料檢測需要一種能滿足復(fù)雜場景下多目標(biāo)的實時檢測算法。FoveaBox模型通過主干網(wǎng)絡(luò)進(jìn)行特征提取,再由特征金字塔對不同尺寸的特征圖像進(jìn)行上采樣和特征融合,增強(qiáng)了網(wǎng)絡(luò)對復(fù)雜場景下廢雜塑料的檢測能力。在多次特征融合后,會得到不同大小的檢測頭,實現(xiàn)對大小不一的塑料對象的有效檢測。
不同于Faster-RCNN[13]、TridentNet[14]等二階段(two-stage)檢測器,F(xiàn)oveaBox無需經(jīng)過候選區(qū)域,通過采用一階段(one-stage)路線,利用檢測頭直接求得物體的類別概率和位置坐標(biāo)值;同時不像Yolo、SSD[15]、RetinaNet[16]等基于錨框(anchor-based)的模型,F(xiàn)oveaBox采用無錨框(anchor-free)的思想,摒棄了大量密集的先驗框。而無錨框的檢測模型又可粗略分為兩類——基于錨點(anchor-point)檢測和關(guān)鍵點(key-point)檢測?;阱^點檢測的模型有FSAF[17],F(xiàn)COS[18]和FoveaBox等,其將檢測框編碼成錨點;而基于關(guān)鍵點檢測的模型有CornerNet[19],ExtermeNet[20]和CenterNet[21]等,其將檢測問題重新定義為檢測框的一些關(guān)鍵點定位問題,如角點、中心點或極點。基于關(guān)鍵點檢測模型依賴于單個高分辨率特征圖和重復(fù)的底到頂、頂?shù)降淄评恚虼嘶阱^點檢測的模型往往有更短的訓(xùn)練和推理時間。FoveaBox作為一種基于錨點的一階段無錨框的檢測模型,減少了網(wǎng)絡(luò)模型中的大量參數(shù),保證廢雜塑料檢測的實時性。
FoveaBox與其它基于錨點檢測模型最大區(qū)別在于預(yù)測目標(biāo)的區(qū)域只取目標(biāo)中心區(qū)域(即中心凹,fovea)的錨點,而非目標(biāo)所在區(qū)域的所有錨點,中心凹大小為原區(qū)域的0.4。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其中主干網(wǎng)絡(luò)為ResNet-50,經(jīng)過每層特征金字塔Pl融合后各會輸出一個檢測頭,檢測頭特征圖尺寸為W×H/sl,sl為下采樣率,sl=2l,l的取值為3~7,即一共有5個不同尺寸的檢測頭。每個檢測頭包含分類子網(wǎng)絡(luò)和邊框回歸子網(wǎng)絡(luò),其中分類子網(wǎng)絡(luò)會對每個錨點預(yù)測屬于K個類別的概率,邊框回歸子網(wǎng)絡(luò)則為每個錨點預(yù)測與類別無關(guān)的目標(biāo)位置。
圖2 FoveaBox模型結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)對于未知形狀變換建模的固有缺陷來源于其基礎(chǔ)模塊固有的幾何結(jié)構(gòu),這種模式下卷積過程中每一個像素點的感受野是固定的,無法針對待檢測目標(biāo)的特殊性自適應(yīng)的改變采樣的結(jié)構(gòu)。在廢雜塑料制品的整件視覺分選過程中,待分選目標(biāo)的外形尺寸存在較大差異,有些方正有些狹長,從而降低模型的檢測精度。
為解決這種建模上的局限性,將FoveaBox中的普通卷積替換為可變形卷積[22]。通過添加每個采樣點的偏移量,利用反向傳播算法的迭代優(yōu)化學(xué)習(xí)偏移量,以使卷積的感受野發(fā)生改變,獲取更靈活的采樣區(qū)域。
傳統(tǒng)卷積中,以3×3卷積核為例,對于某一卷積輸出p0,都是從以x(p0)為中心擴(kuò)散的9個像素點區(qū)域R采樣,進(jìn)而與卷積核ω做乘積和得出的結(jié)果。采樣區(qū)域以中心采樣點偏置的表示方式如式(1)所示:
R={(-1,-1),(-1,0),...,(0,1),(1,1)}
(1)
傳統(tǒng)卷積的輸出公式如下所示:
(2)
可變形卷的輸出公式如下所示:
(3)
其中:Δpn為每個采樣位點的偏移量,偏移量是在原有卷積的基礎(chǔ)上增添一條卷積路徑以學(xué)習(xí)其中參數(shù)的。為避免偏移量過大學(xué)習(xí)大量無用的上下文信息,反向干擾特征提取信息的有效性,因此對可變形卷積進(jìn)行優(yōu)化,限制偏移量的幅值。優(yōu)化后的可變形卷積如式(4)~(5)所示:
(4)
(5)
其中:η為縮放系數(shù),α和β為待學(xué)習(xí)超參數(shù),初始化為2。
可變形卷積結(jié)構(gòu)如圖3所示,其中,增添一條卷積路徑,以學(xué)習(xí)縮放系數(shù),縮放系數(shù)的效果是根據(jù)原采樣位置,對變形后的采樣位置進(jìn)行調(diào)整,使得最終的采樣結(jié)果在像素層面上保持連貫性,在語義層面上保持依賴性。
圖3 可變形卷積結(jié)構(gòu)圖
基于錨點的檢測模型FoveaBox面對物體遮擋的復(fù)雜場景,會因為特征不對齊而導(dǎo)致目標(biāo)邊界位置得到不必要的高分,抑制被遮擋物體的評分,從而使得模型將注意力偏向于靠前更完整的物體,忽略了被遮擋物體的檢測,即注意力偏差問題。
圖4為輸入圖像和分類子網(wǎng)絡(luò)輸出的得分熱力圖。圖中存在兩個待檢測物品,靠前完整的一次性包裝盒所在區(qū)域生成一個很大高分區(qū)域,并且傾向于向被遮擋的飲料瓶區(qū)域擴(kuò)展,嚴(yán)重情況下,會造成飲料瓶的漏檢。雖然廢雜塑料分揀流水線會使用振蕩等預(yù)處理方式讓物品平鋪,彼此盡可能分散,但難免會出現(xiàn)塑料目標(biāo)存在緊挨、互相遮擋的情況。為了解決注意力偏差問題,引入軟化加權(quán)錨點機(jī)制[23],根據(jù)錨點到目標(biāo)中心的距離賦予不同的權(quán)重,避免物體邊緣和中心的錨點被同等對待。
圖4 輸入圖像與特征熱力圖
在FoveaBox模型中,錨點pli,j是金字塔特征圖Pl上(i,j)位置的像素點,每個錨點在原圖上對應(yīng)一個圖像空間位置(Xli,j,Yli,j),相應(yīng)計算公式如式(6)~(7)所示:
Xli,j=sl(i+0.5)
(6)
Yli,j=sl(j+0.5)
(7)
當(dāng)錨點在標(biāo)簽框被分配到的特征金字塔Pl層時且(Xlij,Yl ij)在目標(biāo)中央凹內(nèi)時,該錨點才為前景錨點,否則都是背景錨點。
前景錨點為對于原圖上某個目標(biāo)實例的標(biāo)注框在金字塔特征圖上的某一區(qū)域,如果錨點落入當(dāng)前該區(qū)域以內(nèi)則判定為前景錨點,否則為后景錨點。前景錨點的位置編碼標(biāo)簽為 (dl,dt,dr,db),分別對應(yīng)錨點相對于標(biāo)簽框的左、上、右、下。其計算公式如式(8)~(11)所示:
(8)
(9)
(10)
(11)
式中,z為標(biāo)準(zhǔn)化因子,(x,y,w,h)為目標(biāo)實例在原圖上的標(biāo)簽框坐標(biāo)信息。
實現(xiàn)權(quán)重軟化的方案是多樣的,最簡單的為采用錨點到目標(biāo)中心距離單調(diào)遞減的函數(shù),本文則采用廣義中心度函數(shù)[17],公式如下所示:
wli,j=
(12)
其中:η為縮放比率,控制權(quán)重遞減的幅度,(L-l)/L為層級控制因子,控制不同層次的特征金字塔的權(quán)重進(jìn)行差別性衰減,p+和p-分別為前景與后景錨點的集合,權(quán)重wlij的取值范圍為0~1。
軟化加權(quán)錨點機(jī)制如圖5所示,對于同層的前景錨點,錨點越接近預(yù)測框的中心,被賦予更大的權(quán)重,錨點越接近預(yù)測框邊緣,則被賦予較小的權(quán)重以減輕對該錨點的關(guān)注度;對于不同層級的前景錨點,由于深層的特征圖主要檢測大尺寸目標(biāo),可能會跟其他目標(biāo)具有較大面積的重疊情況,因此需要加速其權(quán)重衰減的速率,而淺層的特征圖主要檢測小尺寸目標(biāo),如果設(shè)置過高的衰減比率,則會導(dǎo)致前景錨點數(shù)量不足,使得模型受到較大的正負(fù)樣本不平衡的壓力,因此需要減緩其權(quán)重衰減的速率,層級控制因子則很好地解決了這個問題。
本數(shù)據(jù)集主要分為3個類別,包括飲料瓶、洗漱用品瓶和一次性餐具盒,以實地采集與網(wǎng)絡(luò)爬蟲的形式相結(jié)合,其中通過相關(guān)圖片網(wǎng)站爬取篩選6 000張圖片,同時實地采集3 000張待分選廢雜塑料圖片,部分圖片樣例如圖6所示。針對算法訓(xùn)練的要求,將打亂后的數(shù)據(jù)集以7∶1.5∶1.5的比例隨機(jī)劃分為訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)以及測試數(shù)據(jù),且保證各個數(shù)據(jù)集中各類別的比例相近。為了更好地訓(xùn)練網(wǎng)絡(luò)參數(shù),防止模型過擬合,利用數(shù)據(jù)增強(qiáng)的方式對已有數(shù)據(jù)集進(jìn)行擴(kuò)充,如旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、模糊、添加噪聲等。
實驗主要軟硬件配置如表1所示。
表1 軟硬件配置表
P-R曲線是以召回率為橫坐標(biāo),精確率為縱坐標(biāo)構(gòu)成的曲線圖像,如圖7所示。其是將模型對于分類的閾值從低往高逐次提高過程中P與R的值作為坐標(biāo)點連接而成的曲線,直觀表示了分類器的性能,一般認(rèn)為P-R曲線與坐標(biāo)軸包圍的面積越大,模型性能越佳。其中平衡點表示P=R時的情況。
圖7 P-R曲線示意圖
在本文廢雜塑料檢測任務(wù)中,將使用PASCAL VOC平均精度均值 (mAP,mean average precision) 作為模型算法的檢測性能指標(biāo),mAP衡量的是模型在所有類別上分類性能的總體評價。同時,使用模型對一張廢雜塑料圖像的檢測時間作為算法的檢測效率指標(biāo)。如公式(13)所示:
(13)
式中,Q表示類別數(shù)量,AP為平均精度,表示P-R曲線與x,y軸的封閉區(qū)域面積,表示模型在一個類別上的分類性能。
在經(jīng)典的FoveaBox中,主干網(wǎng)絡(luò)為ResNet-50,其中的殘差模塊能有效抑制梯度消失以及爆炸的現(xiàn)象,在深度學(xué)習(xí)領(lǐng)域具有良好的應(yīng)用范圍。ResNeXt殘差模塊對同一特征圖采用不同大小的卷積核做卷積操作再拼接以融合不同尺度的特征,同時以多個3×3小卷積疊加代替大卷積的方法,使得ResNeXt殘差模塊與ResNet殘差模塊在同等網(wǎng)絡(luò)深度下,具有更寬的通道,但參數(shù)量卻相差不大,因而具有更好的表現(xiàn)。
ResNeXt模型與ResNet模型是以同一拓?fù)浣Y(jié)構(gòu)聚合的方式構(gòu)建卷積模塊,后面的數(shù)字代表不同的卷積層數(shù)。利用同樣的訓(xùn)練與測試圖像數(shù)據(jù),通過對改進(jìn)FoveaBox替換不同的特征網(wǎng)絡(luò)進(jìn)行性能對比,以探索何種方案對本文廢雜塑料目標(biāo)檢測場景更具適應(yīng)性。
從表2的數(shù)據(jù)可以看出,增加網(wǎng)絡(luò)深度能有效提高mAP,但也需花費更長的檢測時間;采用ResNeXt殘差模塊的模型在同等網(wǎng)絡(luò)深度下,只需增加少量檢測時間的代價,模型就有更好的表現(xiàn),證明了增加網(wǎng)絡(luò)的寬度也是提高mAP的有效途徑。從對比實驗也可以看出,ResNeXt-101在增加17 ms的檢測時間情況下,mAP比ResNet-50多了3.51%,在保證檢測實時性的基礎(chǔ)上具有更強(qiáng)的特征提取能力,能更有效應(yīng)對復(fù)雜的廢雜塑料分揀場景。
表2 不同主干網(wǎng)絡(luò)對改進(jìn)FoveaBox算法的效果對比
網(wǎng)絡(luò)爬取的大量相關(guān)圖像并不完全匹配廢雜塑料視覺分選場景,同時,產(chǎn)品種類繁多及使用運輸過程中造成的外觀變化,需要采集更多的圖像以覆蓋各種場景。一般而言,訓(xùn)練的圖像數(shù)據(jù)量越大,模型訓(xùn)練效果越好,因此有必要對圖像集進(jìn)行擴(kuò)充。數(shù)據(jù)增強(qiáng)是視覺領(lǐng)域提升網(wǎng)絡(luò)訓(xùn)練效果最常見且有效的途徑。常用的數(shù)據(jù)增強(qiáng)包括旋轉(zhuǎn)、水平翻轉(zhuǎn)、裁剪、噪聲、模糊等。
本文將設(shè)計多種數(shù)據(jù)增強(qiáng)的方案,通過對已有圖像數(shù)據(jù)的多種變換,擴(kuò)充訓(xùn)練數(shù)據(jù)的規(guī)模,以探索在本文廢雜塑料檢測的中小型數(shù)據(jù)集下,引入人工數(shù)據(jù)增強(qiáng)的方案。下面通過實驗對比對不同的數(shù)據(jù)增強(qiáng)方案加以驗證其實際效果,實驗效果如表3所示。其中,對于每一張圖像,設(shè)置其將有30%的概率分別進(jìn)行10°、15°、20°、25°、30°的旋轉(zhuǎn),40%的概率進(jìn)行水平翻轉(zhuǎn),10%的概率進(jìn)行裁剪,20%的概率添加噪聲,10%的概率進(jìn)行模糊。
表3 數(shù)據(jù)增強(qiáng)實驗對比
為了直觀感受使用可變形卷積的效果變化,對卷積過程中采樣位置進(jìn)行記錄并顯示,從而比較模型在采樣過程中的感受野變化。傳統(tǒng)卷積與可變形卷積的采樣位置如下圖8所示。先在頂層的特征圖選取一個激活點在飲料瓶處,經(jīng)過多次卷積后,傳統(tǒng)卷積的采樣位置僅局限于框定的正方形中,無法較好的適應(yīng)待檢測目標(biāo)的形態(tài)與位姿,而應(yīng)用可變形卷積后,經(jīng)過多層的卷積后,深層特征圖的一個采樣點將擴(kuò)散至飲料瓶的不同區(qū)域,同時由于限制偏移量的幅值,擴(kuò)散范圍也有所限制,從而能針對性的對待檢測目標(biāo)進(jìn)行特征提取。
圖8 傳統(tǒng)卷積與可變形卷積采樣過程
同樣,對使用軟化加權(quán)錨點機(jī)制的特征熱力圖進(jìn)行對比,如圖9所示。與圖4相比,使用軟化加權(quán)錨點機(jī)制后,一次性包裝盒所在的高分區(qū)域明顯變小,邊緣錨點權(quán)重接近于零,兩個目標(biāo)都生成了較為明顯的得分區(qū)域,兩者之間也能有效地進(jìn)行區(qū)分,注意力偏差問題得到較好的解決。
圖9 輸入圖像與軟化加權(quán)錨點后的特征熱力圖
為進(jìn)一步驗證上文提及各改進(jìn)方案對廢雜塑料分選場景的有效性,下面將通過消融實驗加以驗證,以mAP和檢測時間作為評判依據(jù)。
如表4所示,在原始FoveaBox算法中,mAP值僅有80.84%,但檢測效率達(dá)到68.3 ms。兩種改進(jìn)方案均能提高檢測效果,但由于增加了計算量,均不同程度增加了檢測時間。其中,使用軟化加權(quán)錨點機(jī)制對于模型的精度提升最高,但少量增加了檢測時間。
表4 消融實驗
對于融合兩種改進(jìn)方案的FoveaBox模型,可以發(fā)現(xiàn)改進(jìn)方案之間并沒有明顯的效果沖突現(xiàn)象,最后mAP達(dá)到85.79%,平均檢測效率實現(xiàn)71.4 ms檢測一張圖像的效果。相對于其他方案都具有一定的提升,且滿足工業(yè)場景實時作業(yè)的效率要求,驗證了本文提出的改進(jìn)FoveaBox算法的有效性與可行性。
本文針對廢雜塑料的分選場景,提出了一種基于改進(jìn)的FoveaBox目標(biāo)檢測算法。為了解決復(fù)雜背景下目標(biāo)檢測問題,使用ResNeXt-101作為主干網(wǎng)絡(luò)以提高特征提取能力。為了解決廢雜塑料外形差異大的問題,使用帶縮放系數(shù)的可變形卷積來提高卷積過程的有效感受野。為了解決目標(biāo)間彼此遮擋的問題,使用帶層級控制因子的軟化加權(quán)錨點機(jī)制,使模型更有效地區(qū)分緊挨的物品。通過消融實驗,證明改進(jìn)方案的有效性,改進(jìn)模型在滿足實時性的情況,具有更高的檢測精度,基本滿足實際生產(chǎn)需求。隨著采集的樣本數(shù)據(jù)日漸豐富,模型檢測能力將進(jìn)一步增強(qiáng)。