徐勝軍,李康平,韓九強,2,孟月波,劉光輝
(1.西安建筑科技大學 信息與控制工程學院,西安 710055; 2.西安交通大學 電信學部,西安 710061)
隨著國家工業(yè)的發(fā)展,僅依靠傳統(tǒng)人力對工件進行分揀已無法滿足當今工業(yè)的生產(chǎn)需求,以工業(yè)機器人代替人力完成工件分揀任務(wù)逐漸成為研究的熱點。利用工業(yè)機器人的自動識別抓取工件是提高自動化生產(chǎn)線效率的關(guān)鍵環(huán)節(jié)之一。在空調(diào)驅(qū)動電機的生產(chǎn)過程中,需要將大量電機轉(zhuǎn)軸從容器中分揀出來放置于工業(yè)流水線上,由車床、銑床進行精加工。然而由于隨機擺放的大量電機轉(zhuǎn)軸存在復雜的堆疊遮擋問題,因此這種非結(jié)構(gòu)化場景的堆疊遮擋工件的個體識別難題給基于機器人的自動識別抓取工作帶來了很大挑戰(zhàn)性。
當前,基于視覺機器人的工件識別分揀方法受到了重點關(guān)注。這些研究方法主要分為基于傳統(tǒng)視覺方法和基于深度學習方法?;趥鹘y(tǒng)視覺方法主要包括邊緣檢測方法、特征匹配方法和圖像分割方法。伍錫如等[1]基于Otsu閾值分割、形態(tài)學處理、與邊界像素檢測等方法實現(xiàn)了對象棋棋子的識別。高贏等[2-3]通過VisonPro視覺工具中的PatMax特征匹配方法識別發(fā)動機瓦蓋,實現(xiàn)了發(fā)動機瓦蓋上料機器人系統(tǒng)。宋海濤等[4]采用SIFT特征匹配算法研發(fā)了移動機器人物體抓取系統(tǒng)。熊俊濤等[5]利用K-means聚類分割和Hough圓檢測實現(xiàn)了柑橘的識別分割。由于傳統(tǒng)機器視覺算法對外界環(huán)境變化較為敏感,且算法各階段所采用的閾值參數(shù)均是根據(jù)人為經(jīng)驗設(shè)定,因此難以準確提取待識別物體的特征,在實際工件分揀機器人系統(tǒng)中不能準確定位抓取非結(jié)構(gòu)化場景的堆疊遮擋工件的個體。
面向圖像處理的深度學習網(wǎng)絡(luò)已被證明在感知問題上具有強泛化能力,因此基于深度學習的機器視覺技術(shù)受到了廣泛關(guān)注?;谏疃葘W習的目標檢測算法[6,8-10]是機器人自動識別與抓取物件的常用算法。武星等[11]提出了一種基于輕量化YOLOv3網(wǎng)絡(luò)的蘋果檢測算法。楊長輝等[12]基于改進YOLOv3網(wǎng)絡(luò)設(shè)計了一種柑橘采摘機器人系統(tǒng),可實現(xiàn)柑橘自動采摘,并對多類障礙物進行識別、避障。朱江等[13]基于Faster R-CNN模型實現(xiàn)了曲軸瓦蓋上料機器人系統(tǒng),提升了發(fā)動機裝配生產(chǎn)線的工作效率。王欣等[14]基于快速SSD深度學習算法開發(fā)了一種水果識別分揀機器人。杜學丹等[15]利用Faster R-CNN目標檢測網(wǎng)絡(luò)得到目標物體的類別與位置,再根據(jù)對目標物體分類檢測的結(jié)果使用基于深度學習的方法學習抓取位置以達到對物體的自動抓取。薛騰等[16]根據(jù)抓取過程中物體抵抗外界擾動的能力,提出一種基于觸覺信息的抓取質(zhì)量評估方法,應(yīng)用此方法搭建了機器人抓取系統(tǒng)實現(xiàn)了對10種目標物體的抓取。雖然基于深度學習的目標檢測算法對抓取物體與背景有明顯差異情況下的簡單場景物體識別效果較好,但是由于空調(diào)驅(qū)動電機的生產(chǎn)過程中大量電機轉(zhuǎn)軸堆疊在工業(yè)流水線上,利用目標檢測算法在使用樣本學習時會學習到過多冗余特征,因此這種算法難以有效識別這種復雜堆疊場景下的電機轉(zhuǎn)軸。
電機轉(zhuǎn)軸抓取屬于復雜背景下的堆疊工件抓取問題。實例分割是目標檢測與語義分割任務(wù)的結(jié)合,可以同時得到圖片中感興趣物體的位置、所屬類別、與掩碼信息。因此像素級的實例分割算法更適用于三維堆疊工件的圖像處理。Li等[17]基于實例感知全卷積網(wǎng)絡(luò)中位置感知特征圖的概念提出FCIS實例分割方法。He等[19]基于Faster-RCNN[18]邊界框識別分支的基礎(chǔ)上增加了一個mask預(yù)測分支,同時使用ROI Align[19]解決了在候選區(qū)域與特征圖像進行映射時由于ROI pooling[18]造成的匹配誤差問題,在檢測目標對象的同時為每個實例生成掩碼。楊攀等[20]使用Mask-RCNN算法對不同尺寸的木材端面圖像進行了分割,實現(xiàn)了復雜背景下不同尺寸木材的檢測、計數(shù)功能。趙庶旭[21]基于改進Mask-RCNN算法實現(xiàn)了牙齒的識別與分割。王濤[22]基于平衡金字塔思想對Mask-RCNN的特征提取網(wǎng)絡(luò)進行改進,實現(xiàn)了零件回收抓取系統(tǒng)。但由于Mask-RCNN屬于兩階段實例分割算法,需要RPN網(wǎng)絡(luò)產(chǎn)生建議區(qū)域再將建議區(qū)域映射至特征圖像,根據(jù)建議區(qū)域與其特征預(yù)測實例掩碼。建議區(qū)域的產(chǎn)生過程與分割操作的不并行會導致模型處理圖像速度較慢,無法滿足工業(yè)生產(chǎn)中的實時性要求。
針對非結(jié)構(gòu)化場景中存在的多個物體堆疊遮擋等問題,提出了基于多尺度特征注意Yolact網(wǎng)絡(luò)的堆疊工件識別定位算法。首先,針對堆疊工件圖像分割結(jié)果邊緣模糊及邊界框定位不準問題,提出了多尺度特征注意Yolact網(wǎng)絡(luò);其次,針對工件位置難以確定問題,利用目標掩碼進行最小外接矩形生成,結(jié)合目標邊界框與目標掩碼的最小外接矩形確定了工件的位置信息。最終基于所提算法設(shè)計了一種工件分揀機器人系統(tǒng),并應(yīng)用于實際空調(diào)電機轉(zhuǎn)軸分揀作業(yè)場景,通過實驗證明了該系統(tǒng)的有效性。
Yolact[23]一種基于單階段目標檢測網(wǎng)絡(luò)的實例分割網(wǎng)絡(luò),該網(wǎng)絡(luò)在單階段目標檢測網(wǎng)絡(luò)[24-25]上增加了一個掩碼模板生成分支,此分支與目標檢測分支并行,同時在目標檢測分支中增加掩碼系數(shù)預(yù)測分支,最終利用掩碼系數(shù)與掩碼模板產(chǎn)生實例掩碼。由于該網(wǎng)絡(luò)無需等待RPN[18]生成建議區(qū)域后再進行特征映射產(chǎn)生實例掩碼,因此Yolact的速度遠遠高于雙階段的實例分割網(wǎng)絡(luò),適用于工業(yè)場景下的實時檢測任務(wù)。
Yolact網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖1所示。該網(wǎng)絡(luò)主要由骨干網(wǎng)絡(luò)(Backbone)、掩碼模板生成分支(Protonet)、預(yù)測模塊(Prediction module)、聚合分支(assembly)和剪裁模塊5個部分組成。
圖1 Yolact實例分割網(wǎng)絡(luò)
骨干網(wǎng)絡(luò)由Resnet101[26]與特征金字塔網(wǎng)絡(luò)(FPN)構(gòu)成,基于FPN得到特征圖像P5、P4、P3,并對特征圖像P5進行卷積操作得到特征圖像P6、P7。隨后將實例分割分為兩個并行的子任務(wù),一個子任務(wù)將特征圖像P3輸入Protonet生成一系列掩碼模板(prototype masks),不同的掩碼模板對不同實例的敏感程度不同。另一個子任務(wù)在目標檢測分支中增加了掩碼系數(shù)預(yù)測分支,在預(yù)測目標物體邊界框位置與類別的同時,產(chǎn)生掩碼模板中表示實例掩碼的掩碼系數(shù)(mask coefficients)。最終,將掩碼系數(shù)與掩碼模板進行線性組合得到實例掩碼,再根據(jù)預(yù)測所得的邊界框?qū)D像進行剪裁實現(xiàn)實例分割。
由于Yolact網(wǎng)絡(luò)采用掩碼模板與掩碼系數(shù)線性組合的方式獲得目標物體的分割結(jié)果,因此掩碼模板的質(zhì)量好壞對目標物體的分割結(jié)果有很大的影響。由于本文需要對堆疊工件進行單體識別并進行抓取,在這種堆疊工件識別抓取場景中,最頂層無遮擋的工件與疊加工件的形狀、顏色、紋理特征極為相似,故需要深度學習網(wǎng)絡(luò)提取高級抽象語義特征并識別出最上方可分揀的工件。然而堆疊工件的分割任務(wù)不同于常規(guī)物體檢測,這種任務(wù)既需要識別網(wǎng)絡(luò)能捕獲長距離范圍內(nèi)像素點之間的語義關(guān)系,同時也需要準確提取工件的空間細節(jié)特征。由于標準Yolact網(wǎng)絡(luò)的Protonet分支利用CNN進行特征提取時僅簡單利用卷積層增大其感受野,忽略了不同尺度特征圖像之間的特征差異與不同特征對于目標分割精度的重要性。與此同時,由于工件的數(shù)量與堆疊程度不同,工件在圖像中的尺度大小會發(fā)生變化,而Yolact算法的預(yù)測模塊使用特征圖像的感受野豐富度較低。因此會造成目標工件邊緣分割結(jié)果精度低、工件邊界定位不準確等問題。為解決此問題,提出了多尺度特征注意Yolact實例分割網(wǎng)絡(luò),該網(wǎng)絡(luò)由骨干網(wǎng)絡(luò)、多尺度特征注意掩碼模板生成分支、膨脹編碼預(yù)測模塊、聚合分支與剪裁模塊組成。所提網(wǎng)絡(luò)如圖2所示。首先利用由Resnet101與特征金字塔網(wǎng)絡(luò)構(gòu)成的骨干網(wǎng)絡(luò)對工件圖像的特征進行提取。隨后將提取到的特征圖像P3輸入多尺度特征注意掩碼模板生成分支獲取掩碼模板。多尺度特征注意掩碼模板生成分支在標準Yolact網(wǎng)絡(luò)的Protonet分支中嵌入多尺度融合與注意力機制,可以在聚合多尺度工件圖像特征的同時,引導網(wǎng)絡(luò)學習與目標工件相關(guān)特征生成一系列高質(zhì)量的掩碼模板。同時將由骨干網(wǎng)絡(luò)獲得的特征圖像P3至P7輸送至膨脹編碼預(yù)測模塊預(yù)測工件圖像中實例的類別、邊界框位置、掩碼系數(shù)。膨脹編碼預(yù)測模塊在標準Yolact網(wǎng)絡(luò)的預(yù)測模塊中引入膨脹編碼機制增強網(wǎng)絡(luò)對于不同尺度大小目標的適應(yīng)能力。聚合分支將實例的掩碼系數(shù)與掩碼模板進行線性組合得到實例掩碼。剪裁模塊根據(jù)膨脹編碼預(yù)測模塊預(yù)測的邊界框?qū)D像進行剪裁完成實例分割。
圖2 多尺度特征注意Yolact實例分割網(wǎng)絡(luò)
圖3 多尺度特征注意掩碼模板生成分支
為了增強所提網(wǎng)絡(luò)對感興趣區(qū)域細節(jié)特征的學習能力,基于注意力機制構(gòu)成空間金字塔注意力模塊即在其后加入通道注意力分支、空間注意力分支兩個并行的網(wǎng)絡(luò)分支。通道注意力分支由全局池化層與兩組卷積核尺寸大小為1×1的卷積層構(gòu)成。該分支的輸入為特征圖像P={p1,p2,…,pc},其中pi∈RH*W表示第i個通道,H,W分別表示特征圖像的高和寬。該分支使用全局平均池化對特征圖像P進行壓縮操作,即將每個特征通道都壓縮成一個實數(shù),從而將感受野擴展到全局范圍。特征圖像P經(jīng)過全局平均池化后得到一個向量Z,且Z∈R1*1*C,則每個位置的值zc為:
(1)
式中,c為特征圖像的通道數(shù),H,W分別為特征圖像P的高和寬。
將每個特征通道pi壓縮后得到的向量Z使用一個卷積層降維,然后通過整流線性單元ReLU激活,再經(jīng)過一個卷積層升維,最后利用sigmoid激活函數(shù)生成長度為32的特征注意權(quán)重向量Z1,整個過程表示如下:
Z1=δ[w2(σ(w1Z))]
(2)
式中,w1,w2分別為兩個卷積層的權(quán)重,σ(·)表示整流線性單元ReLU,δ(·)表示sigmoid激活函數(shù)。
(3)
式中,z1i為第i個通道的權(quán)重,衡量了第i個特征通道pi的特征重要程度。
空間注意力分支由尺寸大小為1×1、卷積核數(shù)量為1的卷積層構(gòu)成。此分支的輸入圖像為P={p1,1,p1,2,……,pi,j,……,pH,W},H,W為特征圖像的尺寸,i,j為特征圖像的空間位置。首先使用卷積層w3∈R1*1*c*1對特征圖像P進行空間壓縮操作,得到一個特征注意權(quán)重張量Zs:
Zs=w3(P)
(4)
式中,特征張量Zs中的權(quán)重表示圖像上不同位置對于圖像分割任務(wù)的貢獻度。
(5)
式中,δ(·) 為sigmoid激活函數(shù),δ(Zs(i,j))代表特征圖P中位置(i,j)處的特征重要度。
(6)
Yolact網(wǎng)絡(luò)把FPN網(wǎng)絡(luò)輸出的5層特征圖像P3~P7輸入預(yù)測網(wǎng)絡(luò)實現(xiàn)邊界框的預(yù)測,利用邊界框?qū)裳诖a進行剪裁并生成實例掩碼。如果邊界框定位準確,那么網(wǎng)絡(luò)會生成高質(zhì)量的實例掩碼;反之生成的實例掩碼包含大量“噪聲”,對分割結(jié)果帶來很大干擾。由于特征圖像感受野的豐富程度對邊界框的定位精度至關(guān)重要,為使檢測網(wǎng)絡(luò)對不同尺度的物體均實現(xiàn)準確檢測,本文選擇感受野較大的特征圖像檢測大尺度目標,感受野較小的特征圖像檢測小尺度目標。所提網(wǎng)絡(luò)在預(yù)測模塊的Convb卷積層后加入膨脹編碼模塊,膨脹編碼模塊首先使用1×1的卷積將特征圖像的通道數(shù)縮小為原來的四分之一,之后使用3×3的卷積對特征圖像的上下文語義信息進行整合,并連續(xù)疊加4個相同結(jié)構(gòu)的殘差塊,殘差塊的結(jié)構(gòu)如圖4所示。
圖4 膨脹編碼模塊
每個殘差塊均由3個卷積層構(gòu)成,卷積核的尺寸大小分別為1×1、3×3、1×1,其中3×3的卷積層使用了空洞卷積,4個殘差塊中尺寸大小為3×3的卷積層的空洞率分別設(shè)置為2、4、6、8。通過4個殘差塊的疊加將不同感受野大小的特征圖像以逐像素點相加的方式進行融合,得到上下文信息足夠去檢測不同尺度目標的特征圖像Q。由于特征圖像Q中蘊含的上下文信息較原始網(wǎng)絡(luò)Q′更加豐富,涵蓋了在實際分揀作業(yè)場景中可能遇到的各種不同大小尺度工件的特征。因此基于此特征圖像進行目標邊界框回歸,可以提升網(wǎng)絡(luò)對于不同尺度目標的適應(yīng)調(diào)節(jié)能力進而提高邊界框的預(yù)測精度。
本文所使用的損失函數(shù)由類別損失、邊界框位置損失與掩碼預(yù)測損失三部分組成??倱p失函數(shù)L=?1Lclass+?2Lbbox+?3Lmask如下式所示:
L=?1Lclass+?2Lbbox+?3Lmask
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
Lmask掩碼預(yù)測損失定義為:
(15)
式中i表示圖片中的像素點序號,N為像素點總數(shù)。xi代表第i個像素點所屬類別的預(yù)測值,yi代表第i個像素點所屬類別的真實值。
堆疊工件分揀機器人以廣州數(shù)控RB06-900六軸工業(yè)機器人為主體,在其機械臂上安裝了英特爾D435i深度相機與SRT公司生產(chǎn)的SFG-FMA4-M5072柔性夾爪末端執(zhí)行機構(gòu)。由深度相機獲取容器內(nèi)雜亂堆放的工件圖像,控制器對獲取的容器內(nèi)堆疊工件圖像進行分析處理,根據(jù)工件識別定位結(jié)果引導工業(yè)機器人進行工件夾取、搬運等分揀操作。研發(fā)的堆疊工件分揀機器人作業(yè)系統(tǒng)如圖5所示。
圖5 堆疊工件分揀機器人系統(tǒng)
基于構(gòu)建的多尺度特征注意Yolact網(wǎng)絡(luò)可實現(xiàn)對堆疊工件中可分揀工件的識別,但要實現(xiàn)對工件的抓取,需要計算工件抓取點在世界坐標系下的坐標與旋轉(zhuǎn)角度,進而確定機器人的抓取位姿。令機器人的抓取位姿G={xw,yw,zw,a,b,c},其中xw,yw,zw為工件抓取點在世界坐標系下的坐標值,a,b,c為機器人末端柔性夾爪中心點繞世界坐標系的x,y,z軸的旋轉(zhuǎn)角度。坐標轉(zhuǎn)換示意圖如圖6所示,圖中u-o1-v為像素坐標系,x-o2-y為物理坐標系,xc-o3-yc-zc為相機坐標系,xw-o4-yw-zw為世界坐標系。
圖6 坐標轉(zhuǎn)換示意圖
獲取工件抓取點像素坐標與旋轉(zhuǎn)角度方法的具體步驟如下。
步驟1:令機器人的抓取位姿G={xw,yw,zw,a,b,c},其中xw,yw,zw為工件抓取點在世界坐標系下的坐標值,a,b,c為機器人末端柔性夾爪中心點繞世界坐標系的x,y,z軸的旋轉(zhuǎn)角度。工件抓取點坐標xw,yw,zw定義如下:
(16)
式中,R、T為世界坐標系相對于相機坐標系的旋轉(zhuǎn)、平移矩陣。u0、v0為圖像中心點的像素坐標,cx、cy為工件抓取點在像素坐標系下的像素坐標,f為相機焦距,d為由深度相機獲取的工件抓取點與攝像頭光心之間的距離,dx,dy為圖像中u,v方向上一個像素點對應(yīng)的真實距離。
(17)
式中,fk表示預(yù)測出的第k個目標工件,Ω為采集到的工件圖像;K表示網(wǎng)絡(luò)預(yù)測出的目標總數(shù),F(xiàn)表示實例分割網(wǎng)絡(luò)的推理過程,conf(fk)表示第k個待抓取工件的置信度。
(18)
步驟8:若a2與a1的符號相同,則取a2為工件的旋轉(zhuǎn)角度。若a3與a1的符號相同,則取a3為工件的旋轉(zhuǎn)角度。即機器人抓取工件旋轉(zhuǎn)角度φ定義為:
(19)
步驟9:根據(jù)步驟5得到的抓取點像素坐標{cx,cy}和步驟8得到的機器人抓取工件旋轉(zhuǎn)角度φ,輸出機器人抓取位姿參數(shù)G={xw,yw,zw,a,b+φ,c},機器人執(zhí)行抓取工件操作。
深度學習平臺的配置為Ubuntu18.04系統(tǒng),兩塊顯存為11G的GeForce_RTX_2080_TiGPU,python版本為3.6.5,pytorch版本為1.2.0,Cuda版本為10.1。
訓練參數(shù)配置中批大小Batchsize設(shè)置為8,學習率設(shè)置為0.002,訓練回合數(shù)為2 000,采用隨機梯度下降法(SGD)對網(wǎng)絡(luò)各層權(quán)重進行優(yōu)化。
工件數(shù)據(jù)集使用自建的堆疊空調(diào)電機轉(zhuǎn)軸數(shù)據(jù)集,利用深度相機對圖像進行采集,設(shè)計了隨機擺放的不同堆疊程度、不同數(shù)量的工件場景,涵蓋了在實際工業(yè)分揀場景中工件可能出現(xiàn)的所有場景。數(shù)據(jù)集共采集800張圖片,部分示例圖像場景如圖7所示。為了提高網(wǎng)絡(luò)泛化能力,本文采用隨機鏡像、隨機翻轉(zhuǎn)、隨機旋轉(zhuǎn)、光度扭曲等數(shù)據(jù)增強方法對實驗數(shù)據(jù)集進行增強,增強后的數(shù)據(jù)集共3 00張圖片,其中復雜堆疊場景下的圖片1 148張,輕微堆疊場景下的圖片1 184張,無堆疊場景下的圖片868張。將全部標注圖片轉(zhuǎn)化為coco數(shù)據(jù)集格式,并按照8∶2的比例劃分為訓練集與驗證集。利用labelme軟件對工件數(shù)據(jù)集進行標注,標注信息可提供深度學習網(wǎng)絡(luò)訓練所需要的工件掩碼特征。
圖7 數(shù)據(jù)集部分圖像
本實驗采用實例分割模型通用評價指標MAP(平均精度均值)來評判算法模型的好壞,MAP的計算方法如下:
首先根據(jù)樣本的真實值與預(yù)測值將樣本劃分為4種類型:
表1 樣本類型劃分
然后計算精確度(Precision)與召回率(Recall),P指精確度(Precision)計算方式如式所示:
(20)
R指召回率(Recall)計算方式如式所示:
(21)
以P為縱軸,R為橫軸繪制P-R曲線,該曲線與坐標軸圍成的面積即為單類別的AP。MAP即為所有類別AP的平均值。
為了驗證本文提出的多尺度特征注意Yolact網(wǎng)絡(luò)的有效性,分別與Yolact、改進掩碼模板生成分支的Yolact、引入膨脹編碼的Yolact、Mask-RCNN (Resnet50)[19]、Mask-RCNN(Resnet101)[19]、改進Mask-RCNN[21]、FCIS[17]共7個網(wǎng)絡(luò)進行對比實驗。
定性分析。為驗證所提出網(wǎng)絡(luò)對工件掩碼的提取效果,堆疊工件掩碼提取效果對比結(jié)果如圖8所示。圖8(a)為標準Yolact網(wǎng)絡(luò)對堆疊工件掩碼提取結(jié)果,圖8(b)為本文提出的多尺度特征注意Yolact網(wǎng)絡(luò)對堆疊工件掩碼提取結(jié)果。由圖8第一行工件圖像掩碼提取結(jié)果可看出標準Yolact網(wǎng)絡(luò)在對工件圖片掩碼進行預(yù)測時存在掩碼不完整的情況。而本文構(gòu)建的多尺度特征注意Yolact網(wǎng)絡(luò)可以完整的將掩碼預(yù)測出來。由圖8第二行工件圖像掩碼提取結(jié)果可以看出由標準Yolact網(wǎng)絡(luò)得到的工件掩碼的邊緣比較模糊,而由本文提出網(wǎng)絡(luò)得到的工件掩碼的邊緣細節(jié)效果較好,掩碼更加貼近工件邊緣。由圖8第三行工件圖像掩碼提取結(jié)果可以看出,由標準Yolact網(wǎng)絡(luò)提取的工件掩碼存在誤判情況,而由本文提出網(wǎng)絡(luò)提取的工件掩碼較為準確,可以更好地區(qū)分出上下方工件。
圖8 堆疊工件識別結(jié)果對比圖
為驗證所提算法在實際分揀作業(yè)中采集的不同場景下堆疊工件圖像進行識別的效果,分別與Yolact、Mask-RCNN(Resnet50)、Mask-RCNN (Resnet101)、改進Mask-RCNN等4個網(wǎng)絡(luò)進行實驗對比,對比結(jié)果如圖9所示。圖中,第一列為不同對比場景中相機采集的實際工件場景圖,從左向右分別為Mask-RCNN(Resnet50)、Mask-RCNN (Resnet101)、改進Mask-RCNN、Yolact等算法識別結(jié)果圖。圖9(a)為無堆疊場景下識別對比結(jié)果,圖9(b)為輕微堆疊場景下識別對比結(jié)果,圖9(c)為復雜堆疊場景下識別對比結(jié)果。由圖9(a)識別結(jié)果可以看出,雖然所有對比算法均識別出了簡單無堆疊場景下的工件圖像,但是Mask-RCNN (Resnet50)、Mask-RCNN(Resnet101)、改進Mask- RCNN等對比算法識別結(jié)果不完整,均出現(xiàn)了識別結(jié)果部分缺失的問題,Yolact算法雖然較完整的識別出了工件圖像,但是存在識別結(jié)果邊界不能完全貼合實際工件的圖像,由此導致機器人在抓取過程中出現(xiàn)定位不準確問題。由圖9(b)識別結(jié)果可以看出,在輕微堆疊場景下,Mask-RCNN(Resnet50)、Mask-RCNN(Resnet101)、改進Mask-RCNN等對比算法識別結(jié)果仍然存在識別結(jié)果不完整情況,并出現(xiàn)了漏檢問題;而Yolact算法和本文所提算法均完整識別出了所有可分揀工件圖像,但是本文所提算法識別結(jié)果邊緣更貼合實際工件圖像。由圖9(c)識別結(jié)果可以看出,對于復雜堆疊場景下工件圖像,Mask-RCNN(Resnet50)、Mask-RCNN(Resnet101)、改進Mask-RCNN等的識別結(jié)果出現(xiàn)了較多的漏檢問題,甚至Mask-RCNN(Resnet101)、改進Mask- RCNN的識別結(jié)果出現(xiàn)了誤檢問題,導致下方疊壓工件被錯誤識別;Yolact算法在復雜堆疊場景下也出現(xiàn)了誤識別問題,導致不易抓取工件的誤識別。本文所提算法均完整識別出了所有可分揀工件圖像,并且識別結(jié)果邊緣更貼合實際工件圖像。因此,由大量實驗結(jié)果可以看出,在非結(jié)構(gòu)化場景下,本文提出算法較對比算法對工件圖像中可分揀工件的識別更為準確,并且在掩碼預(yù)測的完整度與邊緣細節(jié)效果上均強于對比算法,不會出現(xiàn)對比算法造成的掩碼缺失與邊界不貼合工件等問題。
圖9 對比網(wǎng)絡(luò)識別結(jié)果對比圖
定量分析。為進一步定量分析所提算法性能,分別與Yolact、改進掩碼模板生成分支的Yolact、引入膨脹編碼的Yolact、Mask-RCNN(Resnet50)、Mask-RCNN(Resnet101)、改進Mask-RCNN、FCIS等7個網(wǎng)絡(luò)進行實驗對比,對比結(jié)果如表2所示。由表2可知,改進掩碼模板生成分支的Yolact網(wǎng)絡(luò)與標準的Yolact網(wǎng)絡(luò)相比其Mask_MAP提升了1.22個百分點,證明本文提出的多尺度融合與特征注意機制可以提高網(wǎng)絡(luò)對目標物體的分割精度。引入膨脹編碼的Yolact網(wǎng)絡(luò)對比標準的Yolact網(wǎng)絡(luò)其B_box_MAP提升了1.74個百分點,Mask_MAP提升了1.5個百分點,證明以感受野更加豐富的特征圖像進行預(yù)測會提高網(wǎng)絡(luò)完成目標檢測和語義分割兩大任務(wù)的效果。多尺度特征注意Yolact網(wǎng)絡(luò)在B_box_MAP與Mask_MAP上均達到最大值,證明本文提出的網(wǎng)絡(luò)相對于標準的Yolact網(wǎng)絡(luò)在邊界框回歸與掩碼預(yù)測兩個方面均有所提升,可以更好地引導視覺機器人系統(tǒng)進行工件分揀任務(wù)。
表2 平均精度均值對比
模型大小與處理單張圖片所用時間對比如表3所示。由表3可以得知本文提出的多尺度特征注意Yolact算法模型較標準Yolact算法模型在模型大小上增加了2.1 M,處理單張圖片所需時間增加了0.14 s。此時長在滿足實際工件分揀作業(yè)需求的可接受范圍之內(nèi)。本文所提出的算法網(wǎng)絡(luò)在與標準Yolact算法處理單張圖片所用時間相差無幾的情況下有效提升了工件識別的準確率。
表3 實時性對比
為進一步驗證所提網(wǎng)絡(luò)的有效性,將所提網(wǎng)絡(luò)部署在工業(yè)機器人系統(tǒng)中,并研發(fā)了一種堆疊工件分揀機器人。按照空調(diào)電機轉(zhuǎn)軸實際生成場景構(gòu)建測試環(huán)境,每次將15個空調(diào)電機轉(zhuǎn)軸隨機擺放在待抓取區(qū)域,由機器人連續(xù)抓取直至將所有空調(diào)電機轉(zhuǎn)軸全部取出,并利用工件分揀機器人的作業(yè)情況分別進行了900次抓取對比測試實驗。對比實驗分別采用基于所提網(wǎng)絡(luò)、標準Yolact算法的視覺工件分揀機器人作業(yè)情況進行對比,機器人根據(jù)對比算法得到的工件位置信息對工件進行抓取并放置于目標位置。本文以空調(diào)電機轉(zhuǎn)軸分揀成功率作為性能評價指標,定義如下:
(22)
設(shè)計的實驗分為A組與B組兩組,在A組實驗中使用標準的Yolact算法對工件進行識別,B組實驗使用所提的多尺度特征注意Yolact算法進行工件識別。兩組實驗中工件的位置信息與機器人的抓取位姿均由對應(yīng)算法獲得。實驗對比結(jié)果如表4所示,基于本文所提網(wǎng)絡(luò)的視覺機器人工件分揀系統(tǒng)完成堆疊工件分揀作業(yè)的成功率為97.5%。與標準Yolact算法的視覺機器人工件分揀系統(tǒng)95.8%的成功率相比提高了1.7%。識別并輸出每個電機轉(zhuǎn)軸的機器人抓取位姿并由機器人進行抓取及放置的平均時間為4.62 s。因此基于所提算法的視覺機器人工件分揀系統(tǒng)滿足實際應(yīng)用場景需求,能有效提高空調(diào)電機轉(zhuǎn)軸自動化生產(chǎn)的智能化水平。
表4 空調(diào)電機轉(zhuǎn)軸抓取成功率對比
針對非結(jié)構(gòu)化場景中存在的多工件堆疊遮擋等問題,提出了基于多尺度特征注意Yolact網(wǎng)絡(luò)的堆疊工件圖像分割網(wǎng)絡(luò)。所提網(wǎng)絡(luò)基于多尺度特征融合器與注意力機制,有效提高了網(wǎng)絡(luò)對于堆疊工件圖像特征的學習能力;基于膨脹編碼增強算法對于不同尺度大小目標的適應(yīng)能力,提升了網(wǎng)絡(luò)對堆疊工件定位回歸的精度,最終研發(fā)了一種機器人工件分揀系統(tǒng),并將該系統(tǒng)應(yīng)用于實際空調(diào)電機轉(zhuǎn)軸分揀任務(wù)中,實驗結(jié)果證明了機器人工件分揀系統(tǒng)具有良好的性能。