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