李 慶,龔遠(yuǎn)強(qiáng),張 瑋,張 洋,劉 超,李 軍,韓 丹,劉德峰,梅文豪,董 雪
1.上海交通大學(xué) 中英國(guó)際低碳學(xué)院,上海 200240
2.海安上海交通大學(xué)智能裝備研究院,江蘇 海安 226600
3.中國(guó)天楹股份有限公司,江蘇 海安 226600
隨著經(jīng)濟(jì)的不斷發(fā)展和人民生活水平的提高,我國(guó)生活生產(chǎn)垃圾清運(yùn)總量逐年上漲,給市民的生活和生態(tài)環(huán)境保護(hù)都帶來(lái)了一定壓力,因此垃圾處理問(wèn)題迫切需要得到有效的解決。目前垃圾處理主要包括填埋、焚燒發(fā)電、生物處理及資源化利用四種手段,其中垃圾填埋占用大量土地資源,垃圾焚燒則造成嚴(yán)重的空氣污染。因此對(duì)垃圾進(jìn)行資源化利用已成為趨勢(shì),其中智能可回收垃圾分揀系統(tǒng)因能高效地完成分揀任務(wù)、加快資源的回收利用而受到廣泛關(guān)注。
世界上第一個(gè)機(jī)器人垃圾分揀系統(tǒng)由芬蘭的ZenRobotics公司研發(fā),該系統(tǒng)從眾多建筑垃圾中識(shí)別出可回收利用的物料,并通過(guò)機(jī)械臂分揀出需要的建筑垃圾。ZenRobotics垃圾分揀系統(tǒng)中傳感器包括:三維激光掃描儀、金屬探測(cè)器、NIR-近紅外光譜傳感器、可見(jiàn)光譜傳感器、高分辨率RGB攝像頭等。種類(lèi)豐富的傳感器為ZenRobotics提供了完善的感知信息。ZenRobotics分揀系統(tǒng)在24小時(shí)持續(xù)工作的情況下一天能夠處理約1 000噸建筑垃圾,極大地提高了垃圾分揀和回收利用的效率。而針對(duì)建筑垃圾研發(fā)的ZenRobotics分揀系統(tǒng)無(wú)法用于分揀我國(guó)種類(lèi)繁雜的生活可回收垃圾,且ZenRobotics分揀系統(tǒng)豐富的傳感器配置也大大提高了它的成本,限制了它的大規(guī)模應(yīng)用。英國(guó)的威立雅環(huán)境服務(wù)公司研發(fā)了一款名叫magpie的垃圾分揀機(jī)器人,該款垃圾分揀機(jī)器人使用紅外線掃描識(shí)別垃圾種類(lèi),并通過(guò)噴射高壓氣體對(duì)垃圾進(jìn)行分揀回收,這種方法分揀操作簡(jiǎn)單,但其分揀功能單一且分類(lèi)結(jié)果混亂,難以進(jìn)行產(chǎn)業(yè)化的推廣應(yīng)用。
近年來(lái)基于深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)的視覺(jué)目標(biāo)檢測(cè)算法發(fā)展迅猛,在自動(dòng)駕駛、遙感、工業(yè)檢測(cè)等領(lǐng)域均得到了普遍應(yīng)用。主流的視覺(jué)目標(biāo)檢測(cè)算法分為一階段和二階段兩大類(lèi),其中二階段網(wǎng)絡(luò)主要以Faster RCNN及其變種為主,這類(lèi)網(wǎng)絡(luò)通常使用RPN(region proposal network)初步生成目標(biāo)框,以供最終分類(lèi)及定位。相比之下,一階段視覺(jué)目標(biāo)檢測(cè)模型結(jié)構(gòu)簡(jiǎn)潔,在工業(yè)界得到了廣泛的應(yīng)用。比較著名的一階段目標(biāo)檢測(cè)算法有SSD[1]、YOLO[2]、RetinaNet[3],其中,RetinaNet提出的Focal Loss解決了一階段網(wǎng)絡(luò)正負(fù)樣本不均衡的問(wèn)題,提高了一階段網(wǎng)絡(luò)的精度。YOLOv4[4]網(wǎng)絡(luò)從網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、損失函數(shù)及數(shù)據(jù)增強(qiáng)等諸多方面對(duì)YOLO網(wǎng)絡(luò)做出了改進(jìn),極大地提高了原網(wǎng)絡(luò)的精度。
當(dāng)前,學(xué)術(shù)界在垃圾檢測(cè)領(lǐng)域已開(kāi)展了一系列研究,例如Mikami等人[5]使用SSD算法對(duì)垃圾袋進(jìn)行檢測(cè),算法取得的垃圾袋識(shí)別平均精度(average precision,AP)為62%。Awe等人[6]應(yīng)用Faster R-CNN模型對(duì)紙張、可回收垃圾及填埋垃圾進(jìn)行分類(lèi),Awe等人使用的數(shù)據(jù)集為2 500張垃圾圖片,數(shù)據(jù)集中的標(biāo)注信息為垃圾種類(lèi),最終算法取得的平均精度為68%。Yang等人[7]提出了一種基于GoogLeNet的深度學(xué)習(xí)算法來(lái)定位和分類(lèi)城市垃圾,研究表明算法針對(duì)不同類(lèi)別的垃圾有63%到77%的平均精度。Donovan等人[8]提出了一個(gè)使用Tensorflow深度學(xué)習(xí)框架及攝像頭來(lái)自動(dòng)分類(lèi)垃圾進(jìn)行回收的系統(tǒng),遺憾的是,作為一個(gè)概念上的項(xiàng)目,Donovan等人并沒(méi)有給出實(shí)驗(yàn)性的結(jié)果。Zhang等人[9]收集了681張街道的垃圾圖片作為數(shù)據(jù)集,使用Faster-RCNN模型基于該數(shù)據(jù)集進(jìn)行訓(xùn)練,其模型平均精確度為82%。Liang等人[10]建立了一個(gè)含有57 000幀圖片的垃圾目標(biāo)檢測(cè)數(shù)據(jù)集,基于該并數(shù)據(jù)集提出了一個(gè)多任務(wù)學(xué)習(xí)模型,在IoU為0.5閾值下模型平均精確度達(dá)到了81.5%。遺憾的是,Liang等人提出的數(shù)據(jù)集中四個(gè)類(lèi)別分別為有機(jī)垃圾、可回收垃圾、有害垃圾和其他垃圾,數(shù)據(jù)集并未對(duì)可回收垃圾進(jìn)行進(jìn)一步的細(xì)分類(lèi)別。袁建野等人[11]基于ResNet18模型開(kāi)發(fā)了輕量的注意力目標(biāo)檢測(cè)網(wǎng)絡(luò),在2 340張的可回收垃圾數(shù)據(jù)集上進(jìn)行訓(xùn)練及驗(yàn)證,最后模型精度在單類(lèi)別最高達(dá)到了89.73%。Ma等人[12]介紹了一種LSSD算法,以克服SSD[1]算法小目標(biāo)丟失及尺度不一的檢測(cè)框同時(shí)檢測(cè)單一目標(biāo)的缺點(diǎn),建立了一個(gè)在多尺度上檢測(cè)性能更強(qiáng)的特征金字塔,且用Focal Loss函數(shù)解決了單階段目標(biāo)檢測(cè)方法正負(fù)樣本比例嚴(yán)重失衡的問(wèn)題。然而,該工作所用數(shù)據(jù)集缺乏遮擋及多目標(biāo)場(chǎng)景,且網(wǎng)絡(luò)參數(shù)量大,因此離實(shí)際應(yīng)用還有一定距離。Kumar等人[13]建立了一個(gè)含6 317張圖片的數(shù)據(jù)集,基于此數(shù)據(jù)集訓(xùn)練其YoLov4網(wǎng)絡(luò),模型平均精度達(dá)到94.99%。然而此項(xiàng)研究建立的數(shù)據(jù)集同樣存在場(chǎng)景簡(jiǎn)單及單張訓(xùn)練圖片目標(biāo)數(shù)量少的問(wèn)題,模型在遮擋及多目標(biāo)場(chǎng)景下的具體表現(xiàn)還有待考量??偠灾?,基于CNN的目標(biāo)檢測(cè)算法在可回收垃圾檢測(cè)領(lǐng)域的研究尚不夠充分,且存在數(shù)據(jù)集規(guī)模小、數(shù)據(jù)集中類(lèi)別少、算法泛化性能差[5-7,9,11-13]以及對(duì)垃圾的視覺(jué)特征研究不充分[5-10]等缺點(diǎn)。針對(duì)數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)算法,為了提高算法本身的泛化能力及識(shí)別性能,亟需建立一個(gè)大規(guī)模的可回收垃圾目標(biāo)檢測(cè)數(shù)據(jù)集以滿足算法的研究和實(shí)際可回收垃圾識(shí)別的需求。
為了解決可回收垃圾數(shù)據(jù)規(guī)模小、算法泛化性能及垃圾視覺(jué)特征研究不充分的問(wèn)題,本研究建立了一個(gè)大規(guī)模的可回收垃圾目標(biāo)檢測(cè)數(shù)據(jù)集,并基于YOLOv4算法提出了Attn-YoLov4模型,在模型骨干網(wǎng)絡(luò)后加入注意力模塊,對(duì)特征圖從通道及空間上進(jìn)行重新加權(quán),提高了模型的檢測(cè)精度,Attn-YOLOv4模型在速度及參數(shù)量和YOLOv4模型相當(dāng),而其在可回收垃圾數(shù)據(jù)集上的表現(xiàn)則超過(guò)了YOLOv4原網(wǎng)絡(luò)。
然而,基于CNN的目標(biāo)檢測(cè)算法雖然能夠獲得較好的檢測(cè)精度與速度[5-6,14-15],但其也存在檢測(cè)不穩(wěn)定的現(xiàn)象,時(shí)有漏檢和誤檢的出現(xiàn)。而一旦出現(xiàn)漏檢及誤檢,系統(tǒng)的實(shí)際分揀效果將大打折扣。為此,本研究借鑒了計(jì)算機(jī)視覺(jué)中的目標(biāo)跟蹤算法,與傳統(tǒng)單目標(biāo)跟蹤及多目標(biāo)跟蹤算法的應(yīng)用場(chǎng)景不同,垃圾分揀流水線上目標(biāo)稠密且時(shí)刻運(yùn)動(dòng),這給跟蹤算法的設(shè)計(jì)帶來(lái)了很大的困難。SORT[16]和DEEPSORT[17]是當(dāng)前主流的多目標(biāo)跟蹤算法,它們都基于卡爾曼濾波對(duì)物體運(yùn)動(dòng)進(jìn)行預(yù)測(cè),這類(lèi)算法比較依賴(lài)目標(biāo)檢測(cè)的性能,一旦檢測(cè)中出現(xiàn)漏檢,跟蹤算法就很容易出現(xiàn)ID切換,從而導(dǎo)致機(jī)械臂抓取目標(biāo)物體時(shí)候重復(fù)抓取,嚴(yán)重影響抓取效率??紤]到傳送帶上物體運(yùn)動(dòng)簡(jiǎn)單,物體本身形變少,基于視覺(jué)特征的單目標(biāo)跟蹤方法更為適合當(dāng)前應(yīng)用場(chǎng)景。
基于視覺(jué)特征的單目標(biāo)跟蹤算法自身能夠維持對(duì)跟蹤框的預(yù)測(cè)與更新,它只需要目標(biāo)檢測(cè)提供一幀的邊界框信息進(jìn)行初始化,即便目標(biāo)檢測(cè)算法表現(xiàn)不穩(wěn)定,它也能保持一個(gè)較好的跟蹤效果。近年來(lái),MOSSE[18]、KCF[19]及CN[20]等相關(guān)濾波類(lèi)算法表現(xiàn)突出,在速度及精度方面都獲得了很好的表現(xiàn)。其中,KCF算法針對(duì)MOSSE算法中特征通道為單通道的缺點(diǎn),使用HOG特征進(jìn)行跟蹤,并使用循環(huán)矩陣生成樣本訓(xùn)練回歸器,提高了訓(xùn)練樣本量,并利用循環(huán)矩陣傅里葉變換對(duì)角化的性質(zhì)大大降低了計(jì)算量,使跟蹤速度達(dá)到實(shí)時(shí)。然而,學(xué)術(shù)界僅僅提出了單目標(biāo)跟蹤相關(guān)濾波類(lèi)算法,對(duì)跟蹤多個(gè)目標(biāo)、目標(biāo)刪除以及跟蹤失敗如何處理等問(wèn)題并沒(méi)有后續(xù)研究。本研究設(shè)計(jì)了一套基于相關(guān)濾波類(lèi)算法的跟蹤框架,對(duì)多目標(biāo)的跟蹤、預(yù)測(cè)、更新及刪除策略做了細(xì)致的討論,實(shí)現(xiàn)了基于相關(guān)濾波類(lèi)算法的穩(wěn)定跟蹤并評(píng)估了其跟蹤效果。
本文對(duì)垃圾分揀系統(tǒng)的視覺(jué)處理算法做了細(xì)致的討論,并給出了相關(guān)的實(shí)驗(yàn)驗(yàn)證及評(píng)估。最終,本研究建立了一套完整的針對(duì)可回收垃圾的計(jì)算機(jī)視覺(jué)處理方案,通過(guò)整合檢測(cè)、跟蹤、標(biāo)定和定位等多個(gè)模塊,以單目相機(jī)作為信息輸入,實(shí)現(xiàn)了對(duì)物體的精確識(shí)別及視覺(jué)定位以及對(duì)分揀流水線上可回收垃圾的智能化處理,相比人工大大提高了垃圾分揀的效率。
可回收垃圾智能分揀系統(tǒng)由物料傳送裝置、視覺(jué)信息采集、視覺(jué)信息處理、末端執(zhí)行等模塊組成。其中視覺(jué)信息采集模塊使用單目相機(jī)獲取傳送帶上的物料信息,該模塊由相機(jī)硬件及相應(yīng)驅(qū)動(dòng)軟件實(shí)現(xiàn),獲取清晰穩(wěn)定的圖像信息是視覺(jué)信息處理的必需條件。綜合考慮相機(jī)成本、成像質(zhì)量及使用場(chǎng)景需求,本研究選用英特爾RealSense D435相機(jī)實(shí)現(xiàn)整個(gè)系統(tǒng)的視覺(jué)感知。視覺(jué)信息處理模塊功能框架如圖1所示,該模塊由目標(biāo)檢測(cè)、目標(biāo)跟蹤及后處理部分組成,其中目標(biāo)檢測(cè)算法為端到端的深度卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出為邊界框的四個(gè)坐標(biāo),輸出值分別是像素平面中的l x、l y、r x及r y。深度卷積神經(jīng)網(wǎng)絡(luò)通過(guò)學(xué)習(xí)數(shù)據(jù)分布來(lái)獲得數(shù)據(jù)特征的表征,其泛化能力及檢測(cè)性能依賴(lài)于所采用的數(shù)據(jù)集質(zhì)量。因此,想要獲得較強(qiáng)的網(wǎng)絡(luò)泛化能力,不僅需要合理的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),還需要進(jìn)行超參數(shù)優(yōu)化和數(shù)據(jù)增強(qiáng),更重要的是建立豐富且完備的可回收垃圾數(shù)據(jù)集。數(shù)據(jù)集的建立需要考慮實(shí)際生產(chǎn)中會(huì)遇到的困難樣本,對(duì)遮擋、破損、垃圾污漬、低光照等垃圾數(shù)據(jù)進(jìn)行全面的采集。目標(biāo)跟蹤模塊對(duì)多幀目標(biāo)檢測(cè)輸出的邊界框進(jìn)行關(guān)聯(lián),確定相鄰幀間目標(biāo)ID,防止因漏檢和誤檢導(dǎo)致執(zhí)行階段的漏抓和誤抓。視覺(jué)信息后處理對(duì)跟蹤的邊界框進(jìn)行角度計(jì)算,為末端執(zhí)行模塊的夾爪式執(zhí)行器提供位置和角度信息。
圖1 分揀系統(tǒng)框架示意圖Fig.1 Schematic diagram of sorting system
上述視覺(jué)信息處理模塊所做的檢測(cè)及跟蹤均為像素層面的視覺(jué)處理,末端執(zhí)行模塊中機(jī)械臂對(duì)垃圾的分揀操作則需要進(jìn)行姿態(tài)解算以獲取垃圾在世界坐標(biāo)系的定位。像素平面坐標(biāo)系到機(jī)器人基座坐標(biāo)系的坐標(biāo)變換矩陣通過(guò)兩次標(biāo)定獲得,首先需要對(duì)相機(jī)進(jìn)行標(biāo)定以獲取相機(jī)內(nèi)參數(shù),相機(jī)內(nèi)參數(shù)表示了像素坐標(biāo)系和相機(jī)坐標(biāo)系間的坐標(biāo)變換關(guān)系;其次需要對(duì)機(jī)械臂和相機(jī)進(jìn)行手眼標(biāo)定獲得相機(jī)坐標(biāo)系和機(jī)器人基座坐標(biāo)系間的坐標(biāo)變換關(guān)系。最后通過(guò)傳送帶為平面的基本假設(shè)求解PnP(perspective n points)問(wèn)題,以獲得傳送帶到相機(jī)的坐標(biāo)關(guān)系,進(jìn)而通過(guò)垃圾在像素平面中的坐標(biāo)計(jì)算出垃圾在機(jī)器人基座坐標(biāo)系下的實(shí)際坐標(biāo)。本研究通過(guò)ROS(robot operating system)搭建了上述各個(gè)功能模塊,實(shí)現(xiàn)了模塊間的實(shí)時(shí)通信,最終工控機(jī)將垃圾位置通過(guò)網(wǎng)絡(luò)通信發(fā)送給機(jī)械臂,由機(jī)械臂完成對(duì)垃圾的分揀。
為提高基于機(jī)器視覺(jué)的垃圾識(shí)別算法的精度,并增強(qiáng)識(shí)別模型在實(shí)際垃圾分揀場(chǎng)景中的適應(yīng)能力,本研究在中國(guó)多個(gè)垃圾分揀廠的流水線上安放了攝像頭,拍攝并標(biāo)注了分揀流水線上的可回收垃圾實(shí)景圖片36 572幀。為了保證模型的泛化能力,確保檢測(cè)算法識(shí)別精度,本研究采集了不同光照下的可回收垃圾圖片,且涵蓋的垃圾種類(lèi)豐富,包括各種顏色的PET、HDPE、PP、PVC、金屬可回收垃圾、織物、玻璃、紙類(lèi)等。數(shù)據(jù)集中的圖片分辨率為1 920×1 080,白天及夜晚兩種不同光照條件下的數(shù)據(jù)各占50%。數(shù)據(jù)集劃分了訓(xùn)練集和測(cè)試集,訓(xùn)練集和測(cè)試集的圖片數(shù)量比例為4∶1,數(shù)據(jù)集中可回收垃圾類(lèi)別為13類(lèi),分別是Plastic_PET_White、
Plastic_PET_Blue、Plastic_PET_Green、Plastic_HDPE_White、Plastic_HDPE_Blue、Metal_Al_Can、Metal_Fe_Can、Glass_Bottle_White、Plastic_PP_Green、Plastic_PP_White、Plastic_PP_Red、Paper及Textile。數(shù)據(jù)集類(lèi)別分布如圖2。
圖2 可回收垃圾數(shù)據(jù)集構(gòu)成Fig.2 Composition of recyclable garbage dataset
數(shù)據(jù)集中圖片上每個(gè)物體都有對(duì)應(yīng)的精確標(biāo)注信息,標(biāo)注格式同COCO數(shù)據(jù)集格式相同,數(shù)據(jù)集中標(biāo)注圖片樣例見(jiàn)圖3,標(biāo)注信息有垃圾的邊界框及垃圾類(lèi)別。數(shù)據(jù)集中所有垃圾類(lèi)別均為分揀流水線上的采集的生活類(lèi)小型可回收垃圾,不包含大型的金屬及塑料制品如電器、工廠廢鐵等。圖4展示了數(shù)據(jù)集中部分圖片示例。
圖3 數(shù)據(jù)集中部分標(biāo)注樣例Fig.3 Sample annotations in dataset
圖4 數(shù)據(jù)集中圖片示例Fig.4 Samples in dataset
1.3.1 垃圾識(shí)別深度學(xué)習(xí)模型的構(gòu)建及訓(xùn)練
為了提高模型識(shí)別效果,本研究對(duì)一階段模型YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)做出改進(jìn),提出了Attn-YOLOv4,即在YOLOv4網(wǎng)絡(luò)的分支網(wǎng)絡(luò)中添加注意力機(jī)制以進(jìn)行信息整合。本文在算法中加入了兩種注意力模塊并進(jìn)行了實(shí)驗(yàn)驗(yàn)證,其中SENet[21](squeeze-and-excitation networks)注意力網(wǎng)絡(luò)結(jié)構(gòu)如圖5,該網(wǎng)絡(luò)通過(guò)全局平均池化、全連接層及激活函數(shù)獲取每個(gè)特征通道的權(quán)重,從而提高重要特征通道權(quán)重并抑制無(wú)關(guān)特征,由此提高目標(biāo)檢測(cè)網(wǎng)絡(luò)精度。CBAM[22](convolutional block attention module)注意力網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示,該網(wǎng)絡(luò)通過(guò)Sigmoid激活函數(shù)對(duì)不同通道層進(jìn)行相應(yīng)的權(quán)重計(jì)算,對(duì)重要程度不同的單通道特征圖乘以不同的權(quán)重,使模型更注重于一些特定的通道,提高模型提取特征及信息整合的能力。CBAM方法綜合考慮了通道和空間層面的注意力機(jī)制,CBAM的channel attention module對(duì)通道進(jìn)行重新加權(quán),而其spatial attention module則針對(duì)特征圖上每個(gè)像素進(jìn)行了加權(quán),從而使得網(wǎng)絡(luò)特征圖中有物體的區(qū)域權(quán)重提高,進(jìn)而提高了網(wǎng)絡(luò)的檢測(cè)精度。
圖5 SENet模型示意圖Fig.5 Schematic diagram of SENet
圖6 CBAM模型示意圖Fig.6 Schematic diagram of CBAM
圖7說(shuō)明了注意力模塊添加的位置以及最終的網(wǎng)絡(luò)結(jié)構(gòu),本文通過(guò)在YOLOv4骨干網(wǎng)絡(luò)輸出的不同分支添加注意力模塊,使網(wǎng)絡(luò)具備對(duì)不同級(jí)別特征圖進(jìn)行信息整合的能力。并且本文將CBAM模塊放置在CSPDarknet53網(wǎng)絡(luò)后避免了對(duì)主干網(wǎng)絡(luò)結(jié)構(gòu)的修改,通過(guò)遷移學(xué)習(xí)使用預(yù)訓(xùn)練權(quán)重進(jìn)行訓(xùn)練,省去了在ImageNet等數(shù)據(jù)集上進(jìn)行大規(guī)模數(shù)據(jù)預(yù)訓(xùn)練的時(shí)間,大大提高了訓(xùn)練效率,進(jìn)而加快了模型部署的流程。
圖7 Attn-YOLOv4網(wǎng)絡(luò)架構(gòu)Fig.7 Network architecture of Attn-YOLOv4
本文中深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練環(huán)境為CentOS 7.4,使用Pytorch框架進(jìn)行訓(xùn)練;算力為8塊NVIDIA Ge-Force GTX 2080Ti GPU顯卡。網(wǎng)絡(luò)訓(xùn)練使用標(biāo)準(zhǔn)的隨機(jī)梯度(stochastic gradient descent,SGD)訓(xùn)練模型,批量大小(batch size)設(shè)置為64,基礎(chǔ)學(xué)習(xí)率為1.25×10-5,動(dòng)量(momentum)為0.95,重量衰減(weight decay)為0.000 5,訓(xùn)練50個(gè)epoch。為了處理數(shù)據(jù)集中樣本不均衡問(wèn)題,本研究在訓(xùn)練中對(duì)少樣本類(lèi)別做了重采樣處理,此外為了增強(qiáng)模型魯棒性及泛化能力。本文采用多種數(shù)據(jù)增強(qiáng)策略隨機(jī)組合+Mosaic[4]的方式進(jìn)行數(shù)據(jù)擴(kuò)充。針對(duì)流水線上可回收垃圾的污損、變形、運(yùn)動(dòng)模糊、亮度變換等場(chǎng)景,本研究引入了以下數(shù)據(jù)增強(qiáng)策略:水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、裁剪、仿射變換、高斯模糊、中值濾波、自適應(yīng)高斯噪聲、Dropout(隨機(jī)移除一定比例像素)、亮度變換、HSV通道變換等。將上述數(shù)據(jù)增強(qiáng)策略隨機(jī)組合后對(duì)訓(xùn)練樣本進(jìn)行處理。圖8展示了數(shù)據(jù)集中原始樣本圖片及標(biāo)注邊界框的可視化結(jié)果。
圖8 數(shù)據(jù)集中原始圖片及邊界框可視化結(jié)果Fig.8 Original image in dataset and bounding box visualization results
如圖9展示了隨機(jī)組合的數(shù)據(jù)增強(qiáng)策略生成的多個(gè)訓(xùn)練樣本。
圖9 隨機(jī)數(shù)據(jù)增強(qiáng)示意圖Fig.9 Diagrams of random data augumentation
最后本研究引入Mosaic數(shù)據(jù)增強(qiáng),隨機(jī)選取四張經(jīng)上述隨機(jī)數(shù)據(jù)增強(qiáng)策略處理后的圖片進(jìn)行裁剪和拼接,將生成的圖片及標(biāo)簽作為訓(xùn)練集供模型訓(xùn)練。如圖10為馬賽克數(shù)據(jù)增強(qiáng)示意圖[4]。
圖10 Mosaic數(shù)據(jù)增強(qiáng)示意圖Fig.10 Mosaic data augmentation
如圖11為訓(xùn)練過(guò)程中整體的數(shù)據(jù)增強(qiáng)策略,每個(gè)batch的訓(xùn)練數(shù)據(jù)經(jīng)數(shù)據(jù)增強(qiáng)后可以得到4×batch size個(gè)訓(xùn)練樣本,相當(dāng)于原有數(shù)據(jù)集規(guī)模的四倍,極大提高了模型的泛化能力。
圖11 整體數(shù)據(jù)增強(qiáng)策略Fig.11 Overall data augmentation strategy
1.3.2 目標(biāo)跟蹤
對(duì)傳送帶上多個(gè)目標(biāo)物體的跟蹤可由基于多線程的單目標(biāo)跟蹤或者多目標(biāo)跟蹤實(shí)現(xiàn),本研究中末端執(zhí)行模塊對(duì)于目標(biāo)跟蹤的要求為邊界框跟蹤穩(wěn)定、ID切換少。部分多目標(biāo)跟蹤算法如SORT[16]和DEEPSORT[17]使用卡爾曼濾波對(duì)物體運(yùn)動(dòng)進(jìn)行預(yù)測(cè),并對(duì)跟蹤框和目標(biāo)檢測(cè)框進(jìn)行相似度計(jì)算以匹配。SORT和DEEPSORT算法比較依賴(lài)目標(biāo)檢測(cè)算法的性能,目標(biāo)檢測(cè)出現(xiàn)的連續(xù)漏檢及誤檢很容易導(dǎo)致跟蹤算法出現(xiàn)ID切換,從而導(dǎo)致機(jī)械臂抓取目標(biāo)物體時(shí)候重復(fù)抓取,嚴(yán)重影響抓取效率。
基于視覺(jué)特征的單目標(biāo)跟蹤較為簡(jiǎn)單且不依賴(lài)于目標(biāo)檢測(cè)的性能,只要有一幀圖像被檢測(cè)到,跟蹤器便能初始化并隨時(shí)間不斷更新跟蹤框位置。作為單目標(biāo)跟蹤算法的一種,KCF算法跟蹤穩(wěn)定性高,速度快[19],因此本研究采用基于多線程的單目標(biāo)跟蹤算法KCF。本研究使用線程池[23]來(lái)管理線程,保證了線程的可復(fù)用性,減少了系統(tǒng)開(kāi)銷(xiāo)。
基于多線程的KCF跟蹤算法流程如圖12,首先使用檢測(cè)物體和跟蹤物體間的IoU作為度量,通過(guò)匈牙利算法對(duì)跟蹤邊界框和檢測(cè)邊界框進(jìn)行匹配,跟蹤算法更新匹配后的跟蹤框位置并進(jìn)行后續(xù)處理。
圖12 跟蹤流程框圖Fig.12 Object tracking process
本研究使跟蹤器維持一個(gè)表征“跟蹤器壽命”的變量Tracker Age,該變量定義及更新策略如下:變量初始值為0,當(dāng)跟蹤框匹配上了檢測(cè)框,KCF更新跟蹤框位置并將該變量置0。當(dāng)跟蹤框未匹配檢測(cè)框,KCF更新跟蹤框位置并將該變量加1,當(dāng)該變量值大于預(yù)設(shè)定閾值時(shí),則視為跟蹤失敗,從而將該跟蹤器刪除。這種策略可以有效減少目標(biāo)檢測(cè)漏檢導(dǎo)致的ID切換。
1.3.3 角度計(jì)算
在部分應(yīng)用場(chǎng)景下需要使用夾爪對(duì)垃圾進(jìn)行分揀操作,Ku等人[24]使用深度學(xué)習(xí)算法來(lái)搜索可供抓取的物體矩形框,他們對(duì)RCNN和auto-encoder兩種算法的表現(xiàn)進(jìn)行了評(píng)估,結(jié)果表明兩種算法分別獲得了96%及94%的抓取精度。然而Ku等人使用的深度學(xué)習(xí)算法需要人工標(biāo)注大量的抓取矩形框供算法訓(xùn)練,這極大提高了研發(fā)成本,且基于深度學(xué)習(xí)算法的抓取角度計(jì)算勢(shì)必會(huì)帶來(lái)一定程度的時(shí)延,降低系統(tǒng)的分揀效率。
本研究提出了一種高效、快速的可回收垃圾角度計(jì)算方法如圖13,角度計(jì)算步驟如下:(1)對(duì)跟蹤框框出的圖像進(jìn)行裁剪。(2)得到裁剪后的灰度圖,對(duì)灰度圖進(jìn)行中值濾波,消除圖像噪點(diǎn)。(3)隨后對(duì)灰度圖進(jìn)行圖像二值化處理,圖像二值化可以對(duì)垃圾和單色傳送帶背景做出初步區(qū)分。(4)對(duì)圖像做形態(tài)學(xué)處理,先進(jìn)行膨脹操作隨后進(jìn)行腐蝕,用以使被黑色分割開(kāi)的白色感興趣區(qū)域聯(lián)通。(5)一個(gè)裁剪后的灰度圖上可能存在多個(gè)區(qū)域的最小外接矩形。求解不同最小外接矩形和跟蹤框的IoU,選取IoU最大的外接矩形框?yàn)榘鼑可淼淖钚⊥饨泳匦巍#?)求解得出包圍瓶身的最小外接矩形的角度信息后,通過(guò)坐標(biāo)變換可獲得機(jī)器人基座下的角度。
圖13 角度計(jì)算流程Fig.13 Angle calculation process
為了實(shí)現(xiàn)對(duì)可回收垃圾的快速高效分揀,本系統(tǒng)采用了兩個(gè)分揀工位分別使用不同型號(hào)的機(jī)器人與執(zhí)行器進(jìn)行垃圾的分揀工作。其中分揀流水線前端機(jī)械臂為ABB公司的IRB 360機(jī)器人,該款機(jī)器人采用并聯(lián)結(jié)構(gòu),執(zhí)行時(shí)間短。本系統(tǒng)使用ABB公司的IRB 1600六軸機(jī)器人搭配夾爪對(duì)傳送帶上剩余的小部分瓶狀垃圾進(jìn)行補(bǔ)抓。兩款機(jī)器人實(shí)際分揀場(chǎng)景如圖14所示。
圖14 機(jī)器人實(shí)際分揀場(chǎng)景Fig.14 Actual robot sorting scenario
本研究使用ROS搭建了整個(gè)系統(tǒng)的消息通信框架,各節(jié)點(diǎn)間消息傳遞關(guān)系及消息內(nèi)容如圖15所示。目標(biāo)檢測(cè)節(jié)點(diǎn)接受相機(jī)節(jié)點(diǎn)發(fā)布的RGB圖像,圖像通過(guò)Attn-YOLOv4網(wǎng)絡(luò)進(jìn)行前向推理得到目標(biāo)置信度、邊界框的像素坐標(biāo)及物體的類(lèi)別信息。跟蹤節(jié)點(diǎn)通過(guò)1.3.2節(jié)所述跟蹤過(guò)程得到邊界框坐標(biāo)、物體ID及物體類(lèi)別信息,并將它們發(fā)送給后處理節(jié)點(diǎn)。后處理節(jié)點(diǎn)進(jìn)行角度計(jì)算及坐標(biāo)變換,并將相應(yīng)消息發(fā)送給機(jī)器人控制器,最終由機(jī)器人通過(guò)垃圾的角度及位置信息執(zhí)行分揀操作。
圖15 ROS節(jié)點(diǎn)示意圖Fig.15 Diagram about ROS nodes
表1展示了兩種Attn-YOLOv4神經(jīng)網(wǎng)絡(luò)及原始版本的YOLOv4在測(cè)試集上的表現(xiàn),測(cè)試使用的IoU閾值為0.5,不同類(lèi)別的AP在表1中已列出。結(jié)果表明YOLOv4模型的mAP為98.82%,使用SENet模塊的Attn-YOLOv4算法相比YOLOv4算法在多個(gè)類(lèi)別上取得了更好的識(shí)別精度,模型的mAP為98.88%,而使用了CBAM模塊的Attn-YOLOv4算法在絕大多數(shù)類(lèi)別下相比其他算法都取得了更好的表現(xiàn),模型mAP為98.98%。三類(lèi)目標(biāo)檢測(cè)模型的參數(shù)量、浮點(diǎn)計(jì)算量及在RTX 2080Ti工控機(jī)上計(jì)算速度對(duì)比見(jiàn)表2。由表可知,由于注意力模塊參數(shù)量很少,引入的額外計(jì)算量少,使得模型推理速度幾乎不受影響。基于注意力機(jī)制的YOLOv4神經(jīng)網(wǎng)絡(luò)在RTX 2080Ti上的運(yùn)行速度為38 frame/s,滿足了分揀系統(tǒng)的實(shí)時(shí)檢測(cè)需求。
表1 模型評(píng)估結(jié)果Table 1 Module evaluation results %
表2 模型復(fù)雜度量化結(jié)果Table 2 Model complexity measurement results
為了量化基于KCF的目標(biāo)跟蹤效果,本研究使用單目標(biāo)跟蹤領(lǐng)域常用的精確度曲線[19,25-27]來(lái)表征跟蹤的誤差與精度。準(zhǔn)確度曲線顯示了一個(gè)距離閾值范圍內(nèi)正確跟蹤幀的百分比,低閾值下的更高精度意味著跟蹤器更精確,而跟蹤丟失的目標(biāo)將降低它在較大的閾值范圍內(nèi)的精度。為了評(píng)估KCF跟蹤算法在傳送帶上的實(shí)際誤差及精度,本研究將精確度曲線橫軸設(shè)置為經(jīng)過(guò)坐標(biāo)變換后的傳送帶上實(shí)際誤差閾值,單位為毫米。通過(guò)在傳送帶速度為2 m/s的實(shí)際分揀流水線上對(duì)時(shí)長(zhǎng)為30 min的跟蹤誤差進(jìn)行統(tǒng)計(jì),繪制出如圖16的精確度曲線。本研究提出的基于多線程的KCF跟蹤算法平均速度達(dá)到了120 frame/s,滿足了實(shí)時(shí)跟蹤的需求,且在20 mm誤差范圍內(nèi)達(dá)到了0.945的精確度,滿足了分揀系統(tǒng)的分揀精度需求。
圖16 KCF跟蹤精確度曲線Fig.16 KCF tracking accuracy curve
對(duì)于大部分可回收垃圾而言,垃圾分揀系統(tǒng)使用吸盤(pán)分揀Attn-YOLOv4檢測(cè)到的物體,對(duì)于表面易出現(xiàn)凹凸不平的易拉罐等物體,則使用第1.3.1節(jié)所述基于最小外接矩形的角度計(jì)算方法,為夾爪式末端執(zhí)行器提供角度信息。本研究選取兩個(gè)類(lèi)別的物體各10個(gè),每個(gè)物體旋轉(zhuǎn)角度及放置區(qū)域隨機(jī),每次測(cè)量20次,計(jì)算角度誤差并分類(lèi)別計(jì)算平均值。經(jīng)實(shí)驗(yàn)測(cè)量,產(chǎn)線所用夾爪夾取垃圾所需角度誤差應(yīng)小于30°。對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì)后發(fā)現(xiàn)各類(lèi)別的角度誤差平均在10°以內(nèi),完全滿足夾爪夾取的精度需求,結(jié)果見(jiàn)表3。此外,目標(biāo)角度計(jì)算的精度還受標(biāo)定矩陣準(zhǔn)確性影響。
表3 角度誤差統(tǒng)計(jì)結(jié)果Table 3 Results of angle error
最后,本研究在傳送帶上連續(xù)投放高密度垃圾以測(cè)試可回收垃圾分揀系統(tǒng)整體效果,表4給出了可回收垃圾分揀系統(tǒng)實(shí)際運(yùn)行時(shí)的性能表現(xiàn)。IRB 360機(jī)器人執(zhí)行速度快、使用吸盤(pán)進(jìn)行吸附,造成分揀失敗的主要原因?yàn)槲矬w表面凹凸、吸盤(pán)無(wú)法吸附,IRB 1600分揀速度較慢但工作穩(wěn)定,可以實(shí)現(xiàn)對(duì)可回收垃圾的穩(wěn)定夾取。值得指出的是本文的分揀系統(tǒng)前端進(jìn)料處機(jī)械裝置可將垃圾均勻地鋪在傳送帶上,較好地防止了重疊目標(biāo)的出現(xiàn)。因此本文中的跟蹤及抓取結(jié)果不包含重疊目標(biāo)。
表4 機(jī)械臂實(shí)際分揀測(cè)試Table 4 Robot sorting test results
本研究提出的基于計(jì)算機(jī)視覺(jué)的可回收垃圾分揀系統(tǒng)分揀準(zhǔn)確率達(dá)到了90%以上,Delta機(jī)器人的分揀速度可達(dá)5 700次/h,六軸機(jī)器人的分揀速度達(dá)到了1 600次/h,分揀系統(tǒng)具備了在復(fù)雜環(huán)境下高效、穩(wěn)定進(jìn)行可回收垃圾的識(shí)別及檢測(cè)能力。此外,本研究構(gòu)建的可回收垃圾分揀系統(tǒng)對(duì)快遞物流、工廠流水線等生產(chǎn)環(huán)境中的無(wú)人分揀系統(tǒng)也有一定的借鑒意義。
本研究建立了一個(gè)含36 572幀圖片的可回收生活垃圾目標(biāo)檢測(cè)數(shù)據(jù)集,涵蓋了可回收生活垃圾的常見(jiàn)類(lèi)別,包括PET塑料、HDPE塑料、PP塑料、鐵制品可回收垃圾、鋁制品可回收垃圾、紙張類(lèi)可回收垃圾及織物類(lèi)可回收垃圾等?;诖藬?shù)據(jù)集,本文對(duì)一階段深度視覺(jué)檢測(cè)方法進(jìn)行注意力相關(guān)機(jī)制研究,研究結(jié)果表明,Attn-YOLOv4通過(guò)在其骨干網(wǎng)絡(luò)的三個(gè)分支添加注意力模塊,相比YOLOv4模型取得了更好的性能,多個(gè)類(lèi)別的可回收垃圾識(shí)別精度提高幅度在0.2%到0.9%之間,且?guī)?lái)的速度影響很小。最優(yōu)化的模型在各類(lèi)別中的識(shí)別精度在測(cè)試集上的表現(xiàn)接近了100%的AP。此外,本研究還建立了一套針對(duì)動(dòng)態(tài)環(huán)境和稠密目標(biāo)的視覺(jué)識(shí)別和跟蹤系統(tǒng),通過(guò)目標(biāo)檢測(cè)、跟蹤與匹配及相機(jī)標(biāo)定,實(shí)現(xiàn)了對(duì)傳送帶上物體的精確定位及角度計(jì)算,跟蹤的精確度在20 mm的誤差范圍內(nèi)達(dá)到了0.945,角度計(jì)算誤差在10°以內(nèi)。最后,本研究在連續(xù)、高密度進(jìn)料的傳送帶上測(cè)試了整個(gè)可回收垃圾分揀系統(tǒng)的分揀速度及分揀準(zhǔn)確率,結(jié)果表明本文提出的分揀系統(tǒng)的最大分揀速度達(dá)到了5 700次/h,且分揀精度在90%以上,達(dá)到了學(xué)術(shù)界領(lǐng)先水平。