張澤宏, 吉衛(wèi)喜,2, 徐 杰, 陸家輝
(1.江南大學(xué) 機(jī)械工程學(xué)院,江蘇 無錫 214122; 2.江蘇省食品制造裝備重點(diǎn)實(shí)驗(yàn)室,蘇州 無錫 214122)
近些年,機(jī)器視覺技術(shù)得到了飛速的發(fā)展,應(yīng)用視覺技術(shù)可以大幅提升運(yùn)動機(jī)器人的性能和可靠性。離線自動上下料機(jī)器人的運(yùn)動路徑是預(yù)設(shè)的,相對比較固定,因此在機(jī)器人安裝調(diào)試后,仍需要考慮機(jī)器人與周圍環(huán)境、尤其是被抓取工件與機(jī)床進(jìn)出料門窗的碰撞干涉問題,在研究此問題過程中,視覺技術(shù)能夠更加直接地對目標(biāo)位置的機(jī)器人、物件、機(jī)床之間是否會產(chǎn)生碰撞干涉進(jìn)行監(jiān)測,是更有效的預(yù)判方法。本文先使用距離傳感器核定預(yù)判位置,通過視覺技術(shù)對記錄工件和門框狀態(tài)的圖像進(jìn)行語義分割,從而判斷整體是否即將產(chǎn)生碰撞干涉。
本文應(yīng)用像素分類型的圖像分割方法,按照處理特點(diǎn)細(xì)分為若干種不同的子方法,比如基于全卷積網(wǎng)絡(luò)(fully convolutional networks,FCN)的方法、基于編碼器—解碼器的方法、基于概率圖模型的方法、基于特征融合的方法、基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)的方法等[1]。其中,Long J等人[2]對卷積神經(jīng)網(wǎng)絡(luò)( convolutional neural networks,CNN)進(jìn)行改進(jìn),提出了FCN的圖像分割算法,實(shí)現(xiàn)了精準(zhǔn)的圖像分割。
其在光線因素、隨機(jī)噪點(diǎn)等問題上做了算法優(yōu)化,在圖像分割領(lǐng)域是一個重要突破。但由于FCN模型存在部分像素的空間位置信息丟失,且未有效地考慮圖像上下文(image context)信息,導(dǎo)致圖像分割結(jié)果存在區(qū)域模糊和分割邊界不完整、不連續(xù)的問題。針對此類問題,Ronneberger O等人[3]利用編碼器—解碼器結(jié)構(gòu)提出了一種對生物醫(yī)學(xué)圖像的分割模型U-Net網(wǎng)絡(luò)。與FCN相比,U-Net能較好地還原圖像的空間維度和像素的位置信息,但是網(wǎng)絡(luò)訓(xùn)練參數(shù)過多,不能滿足實(shí)時處理。Lin G S等人[4]綜合利用CNN與條件隨機(jī)場(conditional random field,CRF)的優(yōu)勢來探索圖像中復(fù)雜的上下文信息,提出一種深度結(jié)構(gòu)化模型(deep structured model,DSM)進(jìn)行圖像分割,提高了分割準(zhǔn)確率。
在基于視覺與傳感器的檢測方法中,提出將機(jī)器人抓取工件與機(jī)床門窗之間的三維位置關(guān)系拆分為二維平面交叉位置關(guān)系和一維進(jìn)深位置關(guān)系。依靠距離傳感器保證進(jìn)深方向安全,再利用視覺技術(shù)對圖像進(jìn)行語義分割,通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)分割對象在二維平面位置關(guān)系是否交叉來預(yù)判碰撞,系統(tǒng)示意圖如圖1,系統(tǒng)流程圖如圖2。
圖1 系統(tǒng)示意
圖2 系統(tǒng)流程圖
VGG—16是一種經(jīng)典的CNN結(jié)構(gòu),由牛津大學(xué)科學(xué)工程系的Simonyan K和Zisserman A提出[5]。最突出的特點(diǎn)就是模型的參數(shù)數(shù)量相對較少,非線性表達(dá)能力強(qiáng),較高的分類準(zhǔn)確率。本文以預(yù)訓(xùn)練的VGG—16網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò),應(yīng)用殘差網(wǎng)絡(luò)(residual network,ResNet)的遠(yuǎn)程殘差連接方法構(gòu)建等效殘差塊改進(jìn)FCN,初步提升分割結(jié)果的精細(xì)程度。
1.2.1 FCN的上采樣層
上采樣層采用的是反卷積(deconvolution)的方式,反卷積相對于卷積在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的正向和反向傳播中做相反的運(yùn)算,起到放大還原圖像特征的作用。運(yùn)算時通過計算轉(zhuǎn)置卷積的方法來還原原有特征向量,過程中會損失精度,下文1.2節(jié)中提出相應(yīng)的彌補(bǔ)措施。反卷積以VGG—16池化后通過卷積層生成的熱圖特征圖為輸入特征,通過32倍、16倍、8倍的轉(zhuǎn)置卷積核實(shí)現(xiàn)上采樣。
1.2.2 FCN的跳躍連接
ResNet是由何愷明等人發(fā)明[6],提出了一種“跳躍連接”的思路,即在神經(jīng)網(wǎng)絡(luò)中提供捷徑,使得淺層網(wǎng)絡(luò)中的輸出可以跳過若干中間層作為深層網(wǎng)絡(luò)的輸入。ResNet發(fā)明的初衷是解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中的梯度消失和梯度爆炸問題。由于原始的FCN的特征圖通常較為粗糙,此時考慮結(jié)合“跳躍連接”的思路,加入更多前層的細(xì)節(jié)信息,通過將淺層的高分辨率的特征圖引入到深層網(wǎng)絡(luò)參與上采樣過程,融合多層的特征,兼顧局部與全局的信息,可以改善分類結(jié)果的粗糙程度。
全卷積網(wǎng)絡(luò)已經(jīng)能夠?qū)崿F(xiàn)像素級的圖像分割,但由于卷積過程的精度損失,不能詳盡表現(xiàn)出圖像中的細(xì)節(jié)特征,分割結(jié)果也缺乏空間的一致性。隨機(jī)場是統(tǒng)計學(xué)的概念,全連接條件隨機(jī)場(full-connected conditional random field,FCCRF)是一種鑒別式機(jī)率模型。已有研究表明[7],使用全卷積網(wǎng)絡(luò)得到像素級分類結(jié)果之后,再使用條件隨機(jī)場綜合圖像的空間信息,能夠得到更加精細(xì)并且具有空間一致性的結(jié)果。因此,本文參考Google的DeepLab v3圖像分割模型后端的處理結(jié)構(gòu)[8],在所設(shè)計的FCN末端,加上全連接條件隨機(jī)場。
假設(shè)目標(biāo)圖像中的隨機(jī)區(qū)域X={X1,X2,…,Xi,…,XN},N表示圖像像素量,Xi是像素i的分類標(biāo)注,所有標(biāo)注組成了標(biāo)注集L={l1,l2,…,li,…,lK},K表示標(biāo)簽類別數(shù);存在另一隨機(jī)區(qū)域I={I1,I2,…,Ii,…,IN},Ii是像素i的顏色特征向量。對于全連接條件隨機(jī)場(I,X)給出概率函數(shù)P(X|I)有
(1)
式中xi,xj均屬于X,Z(I)為歸一化因子,ψμ(xi)為一元勢函數(shù),即FCN分割結(jié)果對應(yīng)的勢能轉(zhuǎn)換函數(shù);ψp(xi,xj)為二元勢函數(shù),描述像素點(diǎn)之間位置關(guān)系,勢函數(shù)之和為能量函數(shù)E(X|I),ψp(xi,xj)的表達(dá)式為
(2)
式中 對像素i和j有,μ(xi,xj)為標(biāo)簽匹配函數(shù),約束了類別標(biāo)簽的傳導(dǎo)方向;ω(m)為權(quán)重向量,fi與fj為i和j的特征向量,p表示位置信息;I表示顏色信息;ω為線性組合權(quán)重;θα,θγ用于控制位置信息的尺度,θβ用于控制顏色相似度的尺度。最后通過求解能量函數(shù)E(X|I)的最小值,可得到模型最優(yōu)解[9]。在2.4節(jié)中將對FCCRF涉及的尺度參數(shù)θα,θβ和θγ進(jìn)行比選。
本文提出一種全卷積網(wǎng)絡(luò)與條件隨機(jī)場組合模型,結(jié)構(gòu)如圖3所示。模型使用VGG16作為基礎(chǔ)網(wǎng)絡(luò),對采集的圖像進(jìn)行預(yù)處理,再在FCN結(jié)構(gòu)下得到初步的每一個像素屬于工件、框體、背景的概率結(jié)果。然后,使用全連接條件隨機(jī)場,對FCN的輸出結(jié)果進(jìn)行像素空間信息和位置信息的優(yōu)化,得到邊緣更細(xì)致、整體上更準(zhǔn)確的工件抓取分割結(jié)果,最后基于全監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)通過判斷分割對象二維平面位置關(guān)系來預(yù)判碰撞。
圖3 FCN-FCCRF模型結(jié)構(gòu)示意圖
實(shí)驗(yàn)選擇均像素精度(mean pixel accuracy,MPA) 和均交并比(mean intersection over union,MIoU)共同作為分割效果的評價指標(biāo)。選擇判準(zhǔn)率(estimation accuracy,EA)作為系統(tǒng)預(yù)判操作效果評價指標(biāo)。
在圖像分割中,像素精度(pixel accuracy,PA)即神經(jīng)網(wǎng)絡(luò)預(yù)測正確的像素數(shù)量占比,能夠反映神經(jīng)網(wǎng)絡(luò)的整體準(zhǔn)確率。在實(shí)際評估時采用全局評價作為指標(biāo),即均值化后的均像素精度MPA。交并比(intersection over union,IOU)即預(yù)測區(qū)域與標(biāo)記區(qū)域的交集和并集的比值,能夠反映神經(jīng)網(wǎng)絡(luò)監(jiān)督學(xué)習(xí)的程度。實(shí)際評估時,采用均值,即均交并比(MIOU)[10]。在訓(xùn)練之前對所有圖像即有標(biāo)注,因此系統(tǒng)判準(zhǔn)率即神經(jīng)網(wǎng)絡(luò)系統(tǒng)的總準(zhǔn)確率(system accuracy,SA),由神經(jīng)網(wǎng)絡(luò)模型輸出。具體計算時,假設(shè)如下:標(biāo)注集L={l1,l2,…,li,…,lK},共有K個標(biāo)簽類別,nij表示本屬于li類,被預(yù)測為lj類的像素數(shù)量,即nii表示真正的數(shù)量,而nij和nji表示假正和假負(fù)的數(shù)量,則上文中的各類評價指標(biāo)計算如下
(3)
(4)
(5)
實(shí)驗(yàn)器材包括:1)六自由度機(jī)器人(華數(shù)HSR-JR620L);2)工業(yè)相機(jī)與鏡頭組件 (相機(jī):Basler,acA4600—7gc,鏡頭:Basler Lens,C125—0418—5M F1.8 f4 mm),相機(jī)分辨率為1 400萬像素,采用短焦鏡頭以獲得更大的視場(尺寸:1.21 m×0.87 m),相機(jī)安裝在機(jī)器人大臂的附件位上,通過POE(Power On Ethernet)線纜連接至計算機(jī),實(shí)現(xiàn)圖像的拍攝、存儲;3)紅外測距傳感器(夏普,GP2Y0A51SK0F 測量距離:20~300 mm);4)光源×2(升軒照明,LED投光燈 DC12V-20 W);5)實(shí)驗(yàn)用工件:階梯圓柱毛胚(Q235鋼),長方體毛胚(Q235鋼),另有其他樣式的注塑件。所有器材均經(jīng)過數(shù)據(jù)核對和精度調(diào)試,以保證實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)確性;材料均為實(shí)驗(yàn)用料,滿足樣品多樣性。
工業(yè)相機(jī)采集的圖像原始尺寸為4 608像素×3 288像素,圖像大小均值為43 MB,由于使用的廣角鏡頭,采集圖像存在一定程度的畸變,因此需要圖像預(yù)處理。
利用OpenCV的圖像處理方法,批量處理3 106幅采集圖像,處理后圖像為JPEG格式,保持原有色彩,分辨率降為1 152像素×822像素,圖像大小均值為950 kB,較原圖下降了97.8 %,去除106幅殘次品圖像,保留3 000幅。
采用基于透鏡方程的直線投影展開方法模型[11],利用MATLAB對樣本池圖像進(jìn)行畸變校正。此方法技術(shù)相對成熟,快速可靠,校正前后的圖像對比示例如圖4所示。
圖4 圖像畸變矯正對比
2.3.1 預(yù)訓(xùn)練與微調(diào)
本文FCN網(wǎng)絡(luò)搭建與訓(xùn)練均基于Keras深度學(xué)習(xí)框架。FCN基礎(chǔ)的編碼器網(wǎng)絡(luò)為VGG—16,是常用的分類網(wǎng)絡(luò),故在稍做微調(diào)即可應(yīng)用于FCN。將 VGG—16初始權(quán)重取到最后一個池化層(圖3中的P5),并重新定義P5輸出的連接個數(shù),匹配本文的類別數(shù)量,重新定義損失函數(shù)為交叉熵?fù)p失函數(shù),選用Adam優(yōu)化器[12]。初始化學(xué)習(xí)率α=10-4;一階矩估計的指數(shù)衰減率為β1=0.9;二階矩估計的指數(shù)衰減率為β2=0.999;常量ε=10-8;學(xué)習(xí)衰減率decay=10-8。
2.3.2 模型訓(xùn)練
軟件環(huán)境為Python3.6,Keras底層調(diào)用TensorFlow,訓(xùn)練集共1 800張圖像,按照2.3.1中的參數(shù)設(shè)定,每次訓(xùn)練60張,訓(xùn)練周期為100,共計迭代30 000次,對圖3所示的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。表1是損失函數(shù)趨于收斂時的損失函數(shù)的損失值和訓(xùn)練耗時。圖5是本文訓(xùn)練過程可視化圖像輸出。
表1 全卷積網(wǎng)絡(luò)訓(xùn)練損失和耗時
圖5 FCN輸出可視化示例
在FCN8s下對節(jié)2.2中所提的尺度參數(shù)θα,θβ和θγ采用網(wǎng)格搜索的方法開展比選實(shí)驗(yàn)。比選數(shù)據(jù)如圖6。
圖6 θ取值比選
首先,固定θβ=80,θγ=20,考慮θα取值的影響,θα的值域?yàn)?~80,采用二分法取值。通過對圖6(a)的分析可以看出,隨著θα取值的不斷減小,均像素精度得到不斷提升,圖6(b)表明θα減小到5之前分割耗時沒有明顯增長。綜合考慮均像素精度和耗時,確定θα=5。然后,固定θα=5,θγ=20,則θβ的值域?yàn)?~80,同樣地,取值方法為二分法,確定θβ=10。最后,固定θα=5,θβ=10,θγ的取值范圍為1~20,依然采用二分法,取值θγ=20。最后取值確定為θα=5,θβ=10,θγ=20。
使用條件隨機(jī)場處理FCN-8s的輸出后,圖像細(xì)節(jié)特征表現(xiàn)明顯,像素空間位置得到了較好的校正。最后處理輸出的可視化圖像與原FCN-8s輸出圖像對比如圖7。
圖7 CRF優(yōu)化的結(jié)果對比
本文模型訓(xùn)練結(jié)束后,利用驗(yàn)證集600幅圖像對本文模型、未使用CRF優(yōu)化的FCN網(wǎng)絡(luò)、預(yù)訓(xùn)練的U-Net和SegNet進(jìn)行了評價指標(biāo)對比,使用耗時代表性能,如表2。本文模型對部分測試樣本的分割結(jié)果如圖8。
表2 全卷積網(wǎng)絡(luò)訓(xùn)練損失和耗時
圖8 部分測試樣本分割結(jié)果
由結(jié)果數(shù)據(jù)對分割結(jié)果分析如下:
1)從本文模型分割結(jié)果縱向?qū)Ρ?條件隨機(jī)場與FCN的結(jié)合有效彌補(bǔ)了原始FCN在分割精度上的不足,使得模型能夠在處理細(xì)微細(xì)節(jié)時能夠真實(shí)反映場景,如圖8中樣本ⅠA,ⅠB,ⅢB,機(jī)器人本體的走線遮擋了部分機(jī)床窗體邊框,使得邊框分割出微小的區(qū)域,以上樣本通過本文模型分割之后都能正確取出微小區(qū)域。
2)在不同模型間的橫向?qū)Ρ戎?從驗(yàn)證集預(yù)測的結(jié)果可分析出,預(yù)訓(xùn)練的U-Net的準(zhǔn)確率和本文模型相差不大,但是U-Net模型體量巨大,U-Net耗時為本文模型的5.92倍,針對本文場景,U-Net顯然效率偏低。SegNet的優(yōu)勢在于能妥善平衡性能消耗與準(zhǔn)確率。但其分割的圖像在細(xì)節(jié)上的處理又不及CRF的處理,缺乏精度。
1)本文應(yīng)用視覺和傳感器的方法,將三維位置關(guān)系分解,并利用視覺和神經(jīng)網(wǎng)絡(luò)技術(shù)解決機(jī)器人碰撞預(yù)判問題,是一種創(chuàng)新。由神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)二維位置關(guān)系辨識,用傳感器保障一維進(jìn)深方向安全距離。與傳統(tǒng)的包圍盒建模方法相比,減少了大量的復(fù)雜的運(yùn)算。
2)本文提出了一種組合改進(jìn)型全卷積網(wǎng)絡(luò)與條件隨機(jī)場的圖像分割算法實(shí)現(xiàn)了被抓取工件的圖像分割,輸出機(jī)器人抓取工件與機(jī)床門窗碰撞的預(yù)判結(jié)果。結(jié)果表明,該模型分割的均像素精度達(dá)到99.17 %,均交并比達(dá)到85.32 %;3 000幅圖像判準(zhǔn)率達(dá)99.96 %,均幅耗時0.86 s,在碰撞預(yù)判過程中,滿足系統(tǒng)整體所需的準(zhǔn)確性和實(shí)效性性能和魯棒性均有較好的表現(xiàn)。
3)經(jīng)過驗(yàn)證集對模型的驗(yàn)證,與U-Net模型和SegNet模型相比,本文模型的均像素精度比這兩種方法分別提高3.62 %和8.34 %。耗時最短,整體而言是最合適的模型。