金守峰,林強強,馬秋瑞
(1.西安工程大學(xué) 機電工程學(xué)院,陜西 西安 710600; 2.西安工程大學(xué) 服裝與藝術(shù)設(shè)計學(xué)院,陜西 西安 710600)
筒子紗作為紡紗工藝的一個終端產(chǎn)品,應(yīng)用非常廣泛,筒子紗在轉(zhuǎn)運、上下紗架及包裝時均需要大量人工來完成,勞動強度大、效率低。隨著人力成本的提高,以勞動密集型為特點的紡織行業(yè)受到了巨大的沖擊,勞動力短缺愈加嚴(yán)重,機器人等自動化設(shè)備開始應(yīng)用于紡織領(lǐng)域[1]。紡織領(lǐng)域的產(chǎn)業(yè)技術(shù)與生產(chǎn)設(shè)備進行升級,是提升企業(yè)競爭力、降低成本的有效舉措,將紡織業(yè)從勞動密集型產(chǎn)業(yè)轉(zhuǎn)型為以技術(shù)為支撐的高科技產(chǎn)業(yè)成為必然趨勢[2]。
機器人抓取作業(yè)目標(biāo)已經(jīng)廣泛應(yīng)用于各個領(lǐng)域,如在農(nóng)業(yè)采摘方面,周俊等[3]應(yīng)用壓敏電阻采集機器人抓取時手爪的壓力變化信號,將信號通過短時傅里葉變換和離散小波變換分析滑覺信號并完成作業(yè)目標(biāo)抓?。患サ萚4]基于廣義比例積分方法控制機器人以減小采摘過程中機器人對果蔬表面的損傷。在以零件為作業(yè)目標(biāo)的抓取任務(wù)中,范荻等[5]結(jié)合SURF算法、快速視網(wǎng)膜特征點、漢明距離以及仿射變換等相關(guān)技術(shù)解決了背景復(fù)雜、零件形狀多樣性導(dǎo)致識別和定位精度低的問題。隨著計算機技術(shù)的發(fā)展,基于深度學(xué)習(xí)的機器人作業(yè)目標(biāo)抓取研究逐漸增多,郭毓等[6]應(yīng)用深度學(xué)習(xí)方法構(gòu)建了機器人作業(yè)目標(biāo)檢測及空間定位系統(tǒng),基于雙目視覺系統(tǒng)和Faster R-CNN(更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò))的方法,在光照變化和復(fù)雜的作業(yè)場景中可以滿足配電線路維護機器人的測量和定位要求。在筒子紗抓取和上紗過程中,目前主要應(yīng)用固定的程序和位置完成抓取和上紗,在抓取之前需要人工將筒子紗放在傳送帶上,這種方法自動化和柔性程度低。
為提高筒子紗上紗過程中的自動化和柔性化程度,基于單目視覺系統(tǒng)構(gòu)建筒子紗上紗平臺,在完成標(biāo)定的單目視覺系統(tǒng)中,采集筒子紗的數(shù)據(jù)集,應(yīng)用GAN(生成式對抗神經(jīng)網(wǎng)絡(luò))擴充數(shù)據(jù)集,得到單個筒子紗不同形態(tài)的數(shù)據(jù)集,將筒子紗的位置標(biāo)記后加載到構(gòu)建完成的Faster R-CNN神經(jīng)網(wǎng)絡(luò)模型中,達到對筒子紗的識別和定位。由于在下層的筒子紗被上層筒子紗遮擋,部分特征不夠明顯,而輸入到Faster R-CNN神經(jīng)網(wǎng)絡(luò)模型中的筒子紗是完整的,圖像特征明顯,被遮擋的筒子紗得分值較低,因此在機器人抓取過程中,首先應(yīng)抓取得分值最高的筒子紗目標(biāo),而后由上到下完成上紗任務(wù)。
掛紗是整經(jīng)或者筒子紗染色過程中極其重要的環(huán)節(jié)。掛紗主要是將筒子紗從料斗里經(jīng)過步進輸送組件運送到掛紗機器人旁邊,經(jīng)過掛紗機器人掛到紗架上的過程。掛紗過程如圖1所示。
圖1 掛紗過程
現(xiàn)有掛紗系統(tǒng)由于在料斗里的筒子紗都處于隨機擺放的狀態(tài),需要借助人工將筒子紗擺放在步進傳送帶上,然后再由機器人掛到紗架上,不僅耗費人力而且增加了一個工位,且占用廠房面積。本文構(gòu)建的新掛紗系統(tǒng),該系統(tǒng)應(yīng)用Faster R-CNN神經(jīng)網(wǎng)絡(luò)構(gòu)建筒子紗識別與定位系統(tǒng),可以直接在料斗里抓取筒子紗而省去了人工擺正以及傳送帶的輸送環(huán)節(jié),節(jié)省人力和廠房空間。新掛紗系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。
該系統(tǒng)主要由工業(yè)相機、六自由度HIWIN上紗機器人、計算機系統(tǒng)和待抓取筒子紗構(gòu)成。采用大恒圖像水星系列MER-502-79U3M工業(yè)相機,獲取圖像為灰度圖像,最大幀率為79 fps。HIWIN上紗機器人可以通過六軸聯(lián)動將末端手爪移動到空間范圍的任意一個位置,最大限度的縮小機械手臂移動的距離,較大幅度的提升工作效率,機械手臂每個關(guān)節(jié)都有準(zhǔn)確的位置記憶,工作時不需要每次都返回原點,節(jié)省時間。六自由度HIWIN機器人的驅(qū)動方式為伺服電動機與步進電動機混合驅(qū)動,末端執(zhí)行機構(gòu)為氣動手爪。
圖2 新掛紗系統(tǒng)結(jié)構(gòu)示意圖
本文使用單目視覺系統(tǒng)如圖3所示。
圖3 單目視覺系統(tǒng)
相機安裝的位置與工作平面垂直,且位置固定不變,因此內(nèi)外參數(shù)也固定不變,其中相機內(nèi)參數(shù)是由相機本身的參數(shù)決定的,例如焦距、像素大小等,外參數(shù)則是相機在實際坐標(biāo)系下的參數(shù),例如旋轉(zhuǎn)方向和位置等。圖3(a)中,在相機的光軸中心建立坐標(biāo)系,Zc軸的方向平行于相機光軸,規(guī)定相機到筒子紗的方向為正方向,Xc軸方向為圖像坐標(biāo)沿水平增加的方向[7]。筒子紗作業(yè)目標(biāo)的坐標(biāo)系原點Ow可選擇相機光軸中心線與作業(yè)平面的交點,Zw軸與Zc軸同方向,Xw軸與Xc軸同方向。在保證攝像機位置和內(nèi)外參數(shù)不變的情況下,設(shè)工業(yè)相機光軸與圖像平面交點為(u0,v0),X、Y軸為圖像坐標(biāo)系,(u,v)為像面坐標(biāo)系,二者關(guān)系見圖3(b)。
在工作平面上,筒子紗坐標(biāo)可表示為(xw,yw,0)。則可以獲得筒子紗在相機坐標(biāo)系下對應(yīng)坐標(biāo)為[8]:
式中d為光軸中心Oc到零件平面的距離。
假定采用四參數(shù)攝像機模型,且在忽略攝像頭發(fā)生畸形變化情況下,任意選取工作平面上的2個點P1=(xw1,yw1,0)和P2=(xw2,yw2,0),則可以得到:
式中:(u1,v1)是P1點的圖像坐標(biāo);(u2,v2)是P2點的圖像坐標(biāo);kxd、kyd是標(biāo)定出的攝像機參數(shù)。
在沒有畸變的情況下,可以采用工作平面上2個已知的坐標(biāo)點標(biāo)定單目二維視覺測量中的攝像機參數(shù)。在抓取筒子紗時,可以任意選擇一個已知平面坐標(biāo)和圖像坐標(biāo)的點作為測量的參考點,通過任意點的圖像坐標(biāo)可以計算出這個點相對于參考點的位置[9]。
傳統(tǒng)的樣本擴充方式主要是采用圖像的鏡像、旋轉(zhuǎn)、拼接、隨機裁剪、仿射變換等方法[10],這些方法多用于圖像的擴充,且對于織物圖像的細節(jié)特征擴充不理想,影響數(shù)據(jù)集的真實性以及神經(jīng)網(wǎng)絡(luò)的訓(xùn)練正確率。
GAN(Generative Adversarial Nets)是由Goodfellow等[11]在2014年提出的一種生成式模型,其核心思想是二人零和博弈,即博弈雙方的利益之和是一個常數(shù)。該模型主要有2個模塊:生成器模型G(Generator)和判別器模型D(Discriminator),在GAN網(wǎng)絡(luò)訓(xùn)練的過程中,由生成器模型G接收一個隨機噪聲z從而生成織物的上邊緣坐標(biāo)G(z);判別器D的輸入為真實的織物上邊緣數(shù)據(jù)x,整個模型的目標(biāo)是使判別器模型D(x)無論對于真實數(shù)據(jù)集坐標(biāo)還是生成的數(shù)據(jù)集坐標(biāo),輸出的概率均為0.5,無法判別數(shù)據(jù)集的真假,即達到納什均衡[12],優(yōu)化目標(biāo)如式(5)所示:
A=Ex~pdata(x)[logD(x)]
B=Ez~pz(z)[log(1-D(G(z))]
(5)
式中:A為判別器D的熵;x為真實數(shù)據(jù);pdata(x)為真實數(shù)據(jù)的概率分布;B為隨機數(shù)經(jīng)過生成器G的熵;z為來自概率分布p(z)的隨機數(shù);V(D,G) 是判別器的目標(biāo)的最大化函數(shù),生成器是令其最小化。
應(yīng)用GAN生成筒子紗數(shù)據(jù)集模型,如圖4所示。
由于GAN對抗神經(jīng)網(wǎng)絡(luò)生成的筒子紗數(shù)據(jù)集含有高斯噪聲,因此對生成的筒子紗數(shù)據(jù)集應(yīng)用5×5模板高斯濾波,得到完整的筒子紗數(shù)據(jù)。而后應(yīng)用Faster R-CNN神經(jīng)網(wǎng)絡(luò)對筒子紗識別定位。
Faster R-CNN神經(jīng)網(wǎng)絡(luò)是在Fast R-CNN(快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò))的基礎(chǔ)上引入?yún)^(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN),使用RPN網(wǎng)絡(luò)取代了Fast R-CNN 網(wǎng)絡(luò)中的Selective Search(選擇性搜索),即采用RPN網(wǎng)絡(luò)代替Selective Search進行候選區(qū)域的生成,然后將這2個部分整合為一個網(wǎng)絡(luò)結(jié)構(gòu)模型,因此在保證精度的同時又提高了檢測速度[13-14]。與Fast R-CNN相比,由于RPN網(wǎng)絡(luò)的引入,并且RPN網(wǎng)絡(luò)與Faster R-CNN 網(wǎng)絡(luò)共享卷積層,因此Faster R-CNN比Fast R-CNN在圖像檢測過程中訓(xùn)練速度提高了近10倍。Faster R-CNN神經(jīng)網(wǎng)絡(luò)主要包括: 數(shù)據(jù)集、特征提取器、RPN(區(qū)域建議網(wǎng)絡(luò)) 和Fast R-CNN 網(wǎng)絡(luò)等四大部分,F(xiàn)aster R-CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示[15-16]。
圖4 筒子紗數(shù)據(jù)集模型
圖5 Faster R-CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
將筒子紗圖像輸入VGG(Visual Gemetry Group)網(wǎng)絡(luò),經(jīng)過VGG網(wǎng)絡(luò)的卷積層將織物特征表征在最后一個卷積層上,并且通過RPN網(wǎng)絡(luò)提取缺陷區(qū)域候選框,在池化層(ROI pooling)中將每個候選框尺寸重置為固定大小,然后經(jīng)過全連接層,得到固定大小的特征向量,最后分別在各自的全連接層上進行筒子紗區(qū)域的回歸和定位。
應(yīng)用Matlab2018a環(huán)境和圖2平臺進行實驗,使用單目相機分別獲取單個筒子紗的不同位置作為初始數(shù)據(jù)集,并應(yīng)用GAN對抗生成神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)集多樣性擴充,共獲取數(shù)據(jù)集500張,部分不同形態(tài)筒子紗如圖6所示。對各個形態(tài)的筒子紗位置標(biāo)記后輸入Faster R-CNN神經(jīng)網(wǎng)絡(luò)完成訓(xùn)練。
在實際抓取過程中,筒子紗的形態(tài)各異,無規(guī)則的擺放在料斗里,并且部分筒子紗被遮擋,在抓取時需要先抓取上面的筒子紗,而后逐層完成抓取任務(wù)。應(yīng)用訓(xùn)練好的Faster R-CNN神經(jīng)網(wǎng)絡(luò)模型識別和定位單個不同形態(tài)的筒子紗形態(tài),如圖7所示。
由圖7可知,對于單個筒子紗的識別及定位過程準(zhǔn)確度高,可以引導(dǎo)機器人完成抓取上紗任務(wù)。這4種筒子紗擺放的位置經(jīng)過識別定位后所對應(yīng)的位置以及得分值如表1所示。
圖6 不同形態(tài)筒子紗
圖7 單個不同形態(tài)的筒子紗識別定位
表1 單目標(biāo)識別定位結(jié)果
在實際的作業(yè)環(huán)境中,料斗里有很多待抓取的筒子紗,因此必須在獲得抓取順序的前提下才能對筒子紗進行識別定位。在單個筒子紗的基礎(chǔ)上,對訓(xùn)練的網(wǎng)絡(luò)采取多個筒子紗完成識別定位,多個筒子紗抓取結(jié)果如圖8所示。
圖8 多個目標(biāo)識別定位
多個筒子紗識別和得分以及位置如表2所示。根據(jù)Faster R-CNN神經(jīng)網(wǎng)絡(luò)模型識別定位以及得分值的判斷,可以完成筒子紗的抓取上紗任務(wù)。在每次抓取時,抓取得分值最高的目標(biāo),而后依次完成抓取。圖8中,經(jīng)過第4次抓取后筒子紗分散開,相當(dāng)于單個筒子紗的抓取。綜合以上實驗結(jié)果可得,應(yīng)用Faster R-CNN神經(jīng)網(wǎng)絡(luò)模型可以識別和定位筒子紗,引導(dǎo)機器人完成上紗任務(wù)。
表2 多目標(biāo)識別定位結(jié)果
本文基于單目視覺系統(tǒng)構(gòu)建了機器人抓取筒子紗上紗系統(tǒng),與傳統(tǒng)的上紗過程相比,本文構(gòu)建的系統(tǒng)自動化和柔性化程度高,省去了人工將筒子紗擺放在步進傳送帶的過程,而直接在單目視覺系統(tǒng)的引導(dǎo)下抓取料斗里的筒子紗,與此同時可節(jié)約安裝空間。得出結(jié)論:
①應(yīng)用單目視覺系統(tǒng)構(gòu)建筒子紗抓取上紗系統(tǒng),提高了抓取系統(tǒng)的柔性化和自動化程度。
②將獲得的單個筒子紗數(shù)據(jù)集應(yīng)用GAN對抗神經(jīng)網(wǎng)絡(luò)擴充,提高數(shù)據(jù)集的多樣性,以獲得更多的筒子紗數(shù)據(jù)集。
③應(yīng)用獲得的單個筒子紗數(shù)據(jù)集訓(xùn)練Faster R-CNN神經(jīng)網(wǎng)絡(luò),引導(dǎo)機器人抓取筒子紗完成上紗任務(wù)。由于下層筒子紗被遮擋特征不明顯從而得分值較低,因此在抓取時優(yōu)先抓取得分值最高的筒子紗,而后由上而下完成抓取任務(wù)。