?

視覺機器人的零件識別與抓取方法研究

2024-02-29 09:24李榮煥吳瑞明
機械設計與制造 2024年2期
關鍵詞:畸變物體像素

袁 斌,王 輝,李榮煥,吳瑞明

(1.浙江科技學院機械與能源工程學院,浙江 杭州 310023;2.杭州東城電子有限公司,浙江 杭州 310016)

1 引言

目前在物流包裝運輸、工業生產制造、餐飲等領域,均出現了視覺機器人的應用,機器人作為智能制造中的重要工具,因此被廣泛關注[1]。零件分揀搬運是生產制造中的重要環節,為了提高視覺機器人抓取零件的成功率,提出一種視覺機器人的零件識別與抓取方法。

目標識別與定位是機器人抓取物體的前提,近年來,在視覺機器人抓取物體方面有許多解決方案被提出。文獻[2]提出采用卷積神經網絡識別物體和單目視覺定位物體位置的方案,并且取得較理想效果,但單目視覺定位物體需要提前知道物體的深度信息[3]。文獻[4]基于雙目視覺技術,采用圖像特征點對目標物體進行立體匹配,獲得深度信息,但識別物體時易受光線干擾。文獻[5]提出一種具有自動識別與抓取物體的機械手,但檢測目標時以矩形框的形式框出物體,對于L形狀的物體,很難真實反映出物體真實的中心位置。

隨著計算機計算能力的提高,基于深度學習的算法已經普遍應用在各個領域,根據上述物體識別與定位方法存在的不足,提出一種解決方法,首先利用YOLOv4-tiny算法識別物體,然后初步提取出ROI,并送入PSPnet[6]網絡中進一步提取ROI,最后將ROI區域中的像素進行模板匹配,并引入二次項擬合求出亞像素視差。只將感興趣的區域進行模板匹配,可以降低匹配的誤匹配率,提高匹配的效率和精度。在計算中心坐標時,將分割后的圖像做最大內接圓,圓心為物體中心,這樣能夠真實找出物體的最佳抓取點,提高抓取的成功率。

2 設備與方法

實驗設備分為硬件、軟件,硬件主要包括:筆記本電腦(i5-9300H處理器;12 G,2 667 MHz內存,NVIDIA GTX1650顯卡);雙目攝像頭(型號為H-3040;分辨率3 040*1 520;幀率30幀/s;鏡頭焦距2.6mm);標定板GP200-5;一臺視覺機器人。軟件主要包括:Pytorch深度學習框架;Opencv庫。

2.1 算法流程與模型

識別與定位方法的算法流程,如圖1所示。主要由目標檢測算法、圖像分割算法、模板匹配組成。

圖1 識別與定位方法的算法流程Fig.1 Algorithm Flow of Identification and Location Method

流程步驟如下:

(1)將待識別零件放入工作區,并矯正雙目相機的圖像畸變和采集零件圖像信息。

(2)將左圖像送入YOLOv4-tiny網絡中,初步提取出物體所在的矩形ROI。

(3)將左圖像的ROI送入圖像分割網絡中進一步提取ROI,并將ROI區域和右圖像轉為灰度圖。

(4)左圖像的灰度ROI區域與右圖像進行初步模板匹配,并截取右圖像中ROI所對應的區域。

(5)將右圖像中被截取的區域送入PSPnet網絡中進一步提取ROI。

(6)將右圖像的ROI 進行灰度化、二值化、與運算生成新的ROI。

(7)把左圖像的ROI與右圖像新的ROI進行模板匹配,并計算亞像素視差。

(8)根據雙目測距原理計算出物體深度信息。

(9)在左圖像的ROI區域計算最大內接圓,圓心為目標物體的像素中心。

(10)根據三角形相似原理計算出目標所在位置的空間坐標。

2.2 零件目標檢測

為了提高零件識別的魯棒性,采用了深度學習方式的目標檢測算法,并對檢測精度、實時性、場合等因素加以考慮,最后選用YOLOv4-tiny 輕量級網絡。YOLOv4-tiny 屬于有監督型的深度學習算法,它是通過神經網絡對物體圖像進行特征提取,并按照特征對物體進行分類。監督型的網絡需要采集數據集進行訓練,在訓練過程中會自調節到最佳的檢測精度,并得出網絡權重。檢測網絡訓練完成后,當輸入已訓練物體的圖像時,檢測網絡便可根據權重識別該物體,因此在實際應用過程中,只需對想要識別的物體進行打標簽并訓練即可。YOLOv4-tiny目標檢測算法的網絡主要由三部分組成:主干特征網絡(CSPDarknet53-Tiny)、加強特征提取網絡(FPN)、Yolo head。主干特征網絡由卷積塊、殘差結構(Resblock_body)構成。卷積塊由卷積層(Conv)、歸一化函數(Batch Norm)、激活函數(Leaky ReLU)。加強特征提取網絡由卷積塊、上采樣(Upsample)、堆疊塊(Concat)構成。YOLOv4-tiny網絡結構,如圖2所示。

圖2 YOLOv4-tiny網絡結構Fig.2 Yolov4-tiny Network Structure

Leaky ReLU 激活函數是將ReLU 激活函數的負值區域賦予一個非零斜率,表示如下:

式中:ai—在(1,+∞)區間內的固定值。

檢測的都是小零件,因此將先驗框進行修改,第一個Yolo head將圖片劃分為(26×26)的網格用來檢測小物體,預先設定好的先驗框為(23,27),(37,58),(50,50);第二個Yolo head將圖片劃分為(13×13)的網格用來檢測稍大物體,預先設定的先驗框為(50,50),(81,82),(135,169)。

2.3 雙目視覺定位

兩個相機捕捉同一物體時,物體在兩相機的像素平面上呈現的位置會存在差異,這種差異稱為視差。雙目立體視覺技術就是利用視差來計算物體的深度信息。在理想情況下,根據空間幾何關系物體的深度信息可以表示為如下式子:

式中:z—目標物體深度信息;

f—焦距;

b—兩相機的距離;

d—視差值。

在實際情況中相機安裝、鏡頭畸變等因素都會產生誤差,因此,在模板匹配之前需要將相機進行標定?;冎饕菑较蚧兒颓邢蚧??;兡P涂捎扇缦率阶颖硎荆?]:

式中:(x0,y0)—線性模型計算得出的圖像點坐標;

(x,y)—真實點坐標;

δx、δy—非線性畸變函數。

根據實際情況,建立單相機的世界坐標系與像素平面坐標系之間的轉換關系,表示如下:

式中:s—比例因子;(u,v)—目標物體在像素平面上的投影坐標;dX、dY—像元尺寸;(u0,v0)—主點坐標;f—相機焦距;R—旋轉矩陣;t—平移矩陣;(Xw,Yw,Zw)—目標物體的世界坐標。將式子(4)簡化可得:

式中:K—相機內參矩陣。

根據式子(5),建立左右相機的數學模型,可以解出物體空間坐標,其中K、R、t通過標定可以獲得。

為了獲得相機內、外參數和消除畸變帶來的誤差,采用張定友棋盤格標定法對相機進行標定。拍攝15張(5×5)mm間距的棋盤格,并導入MATLAB工具箱中進行標定。標定結果如下式子:

式中:Al—左相機內參矩陣;Ar—右相機內參矩陣;Bl—左相機畸變矩陣;Br—右相機畸變矩陣;R—旋轉矩陣;T—平移矩陣。

經標定后,相機采集的圖像具有極限約束的特點[8],即左相機上的目標物體與右相機上的目標物體在同一水平線上,極限約束可以大大減少模板匹配的計算量,極限約束結果,如圖3所示。

圖3 左右相機標定后的圖像Fig.3 Images After Calibration of Left and Right Cameras

匹配算法基于區域一般可分為:全局匹配、半全局匹配、局部匹配[9]。全局匹配效果比較好,但運行速度較慢,半全局和局部匹配雖然速度較快,但容易受光線、弱紋理等因素干擾,出現誤匹配的概率較大。這里的匹配方法是將目標檢測后的截取框作為匹配對象,先進行粗匹配。由于目標檢測算法截取框都是以矩形的形式,截取時會引入干擾像素參與匹配,從而影響匹配精度。為了更加精準找出屬于目標物體本身的像素,需要將圖像進行分割后再進行匹配。在圖像分割領域中,傳統的分割算法容易受到環境的影響,如分水嶺算法。為了增加算法的魯棒性,這里采用基于深度學習方式的圖像分割算法。PSPnet算法采用MobilenetV2作為主干網絡提取特征,采用金字塔池化結構進行加強特征提取。金字塔池化結構是將特征層劃分為(6×6),(3×3),(2×2),(1×1)大小,然后對各自區域進行平均池化,金字塔池化結構可以很好解決全局信息丟失的問題。PSPnet語義分割網絡,如圖4所示。

圖4 PSPnet語義分割網絡示意圖Fig.4 Schematic Diagram of PSPnet Semantic Segmentation Network

相機經過矯正后具有極限約束的特性,因此匹配時只需將ROI在同一水平線上做搜索。粗匹配是將目標檢測后的截取框送入PSPnet網絡中分割所得到的新ROI與右圖像進行匹配,移動步長為1像素;精匹配是將新ROI與右圖像分割后的目標框進行匹配,移動步長為1像素。匹配過程中采用差值的絕對值(Sum of Ab‐solute Differences,SAD)進行相似度評估,SAD函數[10]表示如下:

式中:CSAD(p,d)—兩圖像像素值的絕對差;Il(p)—左圖像中的待匹配區域;Ir(p-d)—右圖像中視差為d的待匹配區域。

經過模板匹配得到的視差與相似度曲線,如圖5所示。匹配步長為1像素,因此匹配結果為像素級單位。受文獻[11]啟發,為了得到亞像素級結果,首先取出相似度最高的三個坐標點,并做二次項擬合,最后將擬合出來的二次項進行最值求解,最高點坐標為(57.21,0.93),如圖5(b)所示。

圖5 視差與相似度曲線Fig.5 Disparity and Similarity Curve

為了確定目標物體的空間位置和提高抓取的成功率,首先對分割后的物體圖像進行輪廓檢測,使用OpenCV 中的cv2.find‐Countours()函數,得出輪廓矩陣。然后取出最大的輪廓Qmax,將輪廓內的坐標點與輪廓上的坐標點進行兩點距離計算。當兩點距離最短時,輪廓內的坐標點為最大內接圓圓心點,其式子表示如下:

式中:R—內接圓半徑;

(xi,yi)—最大輪廓Qmax上的像素點;

(xj,yj)—輪廓內的像素點。

最大內接圓圓心點也是最佳抓取點(u,v),如圖6所示。

圖6 零件最佳抓取點Fig.6 The Best Grabbing Point of Parts

最后結合上述的亞像素視差值,可計算出深度信息z,并根據相似性原理計算空間坐標(Xw,Yw,Zw)。

2.4 逆運動學解算與軌跡仿真

這里采用三自由度碼垛機器人,根據基座坐標系與末端位置關系可得到如下變換式:

式中:cosθi—ci;其中θ—關節的旋轉自由度;cos(θi+θj)—ci+j;sinθi—si;sin(θi+θj)—si+j;L2、L3—一級臂長度和二級臂長度;d0—坐標原點到一級臂旋轉中心的距離。

根據式(14)可以得出,末端位置xt、yt、zt與底盤自由度θ1、一級臂自由度θ2、二級臂自由度θ3之間的關系式:

對式(15)進行求解可得到逆運動模型,如下式子表示:

根據逆運動學解算結果,利用Adams 軟件進行三次軌跡仿真,為避免抓取零件時,吸盤與零件出現相對滑動,因此在抓取零件時,吸盤先移動到距離零件5mm處,然后吸盤呈現直線下降的軌跡進行抓取,同理,抬取零件時,吸盤先直線抬取5mm。這樣可以提高抓取的穩定性。軌跡仿真,如圖7所示。

圖7 軌跡仿真結果Fig.7 Trajectory Simulation Results

3 實驗與分析

在機器人前方搭建工作平臺,如圖8所示。首先,結合現有的實驗設備和需求,在平臺上擺放外接矩形為(35×35)mm、(50×50)mm、(60×35)mm的三種異形且有平面的小零件,然后用雙目相機對工作平臺上的零件進行拍攝,拍攝1000張來自于不同時間段、光線、擺放方式等情況的圖片作為數據集。訓練時將代碼上傳到服務器進行訓練,待訓練完成后進行測距和抓取實驗。

圖8 機器人抓取實驗平臺Fig.8 Robot Grasping Experimental Platform

3.1 網絡訓練與結果

使用labelimg和labelme軟件分別對目標檢測數據集和語義分割數據集進行手動標注,訓練時載入預訓練權重,預訓練權重可以加快網絡模型的收斂,并設置學習率為0.001,迭代到一定的次數后再設置學習率為0.000 1。在數據集的劃分中,90%為訓練集,10%為測試集。網絡的目標檢測和圖像分割效果,如圖9所示。

圖9 網絡檢測結果Fig.9 Network Detection Results

3.2 測距精度評估與抓取實驗

零件的深度距離是定位的關鍵所在,因此,使用YOLOv4-tiny+PSPnet算法與Opencv中的SGBM算法、BM算法進行測距對比實驗,并記錄深度距離和計算誤差率。實驗結果,如表1所示。根據表中數據可以看出,這里算法深度誤差基本在5mm內,小于等于吸盤的緩沖距離,通過計算得出平均誤差率大約為0.72%,而SGBM與BM算法的誤差率分別為1.17%、1.66%。

表1 測距試驗結果Tab.1 Ranging Test Results

實驗對三種不同零件進行抓取,首先,在上位機軟件中輸入待抓取零件的名稱和數量,然后上位機軟件與機器人控制端進行socket遠程通信,使得機器人根據設定的需求完成自主抓取,上位機軟件,如圖10所示。

圖10 機器人系統上位機界面Fig.10 Upper Computer Interface of Robot System

根據實驗,記錄并計算每種零件識別的平均精度(average precision,AP)和抓取率。抓取實驗結果,如表2所示。

表2 抓取實驗結果Tab.2 Grasp the Experimental Results

實驗結果表明:設計的識別與抓取方法,零件識別精度最低95.91%,成功抓取率最低為88%。

4 結論

這里的方法是采用深度學習算法識別目標物體,在物體空間定位中,首先建立雙目視覺模型進行物體定位,并引入圖像分割算法提高物體的定位精度,然后對分割后的零件圖像進行最大內接圓的求解,得出最佳抓取點,最后使用D-H法對機器人進行逆運動學求解。通過抓取實驗驗證了,該零件抓取方案的可行性,可以滿足一般工業零件分揀搬運需求。

猜你喜歡
畸變物體像素
趙運哲作品
像素前線之“幻影”2000
深刻理解物體的平衡
“像素”仙人掌
我們是怎樣看到物體的
在Lightroom中校正鏡頭與透視畸變
高像素不是全部
為什么同一物體在世界各地重量不一樣?
輻射誘導染色體畸變的快速FISH方法的建立
《癌變·畸變·突變》2014年第26卷索引
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合