国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺(jué)的并聯(lián)機(jī)器人工件識(shí)別定位*

2021-12-18 13:38趙鵬宇王宗彥丁培燎臧春田
制造技術(shù)與機(jī)床 2021年12期
關(guān)鍵詞:輪廓算子灰度

趙鵬宇 王宗彥 丁培燎 吳 璞 臧春田

(①中北大學(xué)機(jī)械工程學(xué)院,山西 太原 030051;②山西省起重機(jī)數(shù)字化設(shè)計(jì)工程技術(shù)研究中心,山西 太原 030051)

目前并聯(lián)機(jī)器人因其可以大大提高工件分揀速度,已被應(yīng)用到自動(dòng)化工件分揀線中,而且機(jī)器人技術(shù)的應(yīng)用也是衡量一個(gè)國(guó)家工業(yè)水平的重要指標(biāo),因此已被列為“中國(guó)制造2025”規(guī)劃中的重點(diǎn)突破項(xiàng)目[1]。但是我國(guó)的大部分并聯(lián)機(jī)器人分揀系統(tǒng)采用的是傳統(tǒng)的示教方法,預(yù)先規(guī)劃好路徑與工件信息,無(wú)法對(duì)工件進(jìn)行識(shí)別,一旦工件種類、位置和位姿發(fā)生變化就無(wú)法完成指定工作。為了提高機(jī)器人的柔性自動(dòng)化水平,發(fā)揮并聯(lián)機(jī)器人高速的優(yōu)勢(shì)。必須使其可以實(shí)時(shí)掌握工件的種類、位置等信息,這就引入了機(jī)器視覺(jué)技術(shù)。機(jī)器視覺(jué)不僅識(shí)別速度快準(zhǔn)確率高,而且成本較低,因此已被應(yīng)用在工業(yè)生產(chǎn)線、探傷檢測(cè)和非接觸測(cè)量等工業(yè)場(chǎng)景[2-4]。機(jī)器視覺(jué)技術(shù)實(shí)現(xiàn)過(guò)程為:首先通過(guò)相機(jī)采集圖像,然后對(duì)圖像進(jìn)行處理并獲取有效信息,使機(jī)器人可以對(duì)工件進(jìn)行識(shí)別并確定工件的位置,最終提高生產(chǎn)線的分揀效率,而且減少了人力資源的浪費(fèi)。

機(jī)器人工作時(shí)首先要進(jìn)行工件識(shí)別,識(shí)別的準(zhǔn)確性決定了機(jī)器人的整體性能。目標(biāo)識(shí)別方法中最常用的是圖像匹配法,其主要包括基于灰度值的匹配算法和基于特征的匹配算法[5]。兩種方法中,由于特征提取匹配方法具有運(yùn)算速度快,魯棒性好,抗干擾等優(yōu)點(diǎn)[6],因此受到很多研究者的關(guān)注,催生了很多成熟的理論和特征提取方法,如SIFT、SURF[7]、ORB[8]和不變矩特征等方法[9],都可以提取出穩(wěn)定不變的特征,得到了越來(lái)越多的應(yīng)用。

本文通過(guò)將工業(yè)相機(jī)安裝到并聯(lián)機(jī)器人分揀線上來(lái)采集圖像,利用OpenCV視覺(jué)庫(kù)進(jìn)行圖像處理。在分析了現(xiàn)有的圖像預(yù)處理,特征提取等方法后,提出了一種工件識(shí)別與定位的圖像處理算法:提取目標(biāo)圖像中的工件輪廓,提取其不變特征,將其與模板輪廓的不變特征進(jìn)行匹配,以達(dá)到識(shí)別工件的目的,針對(duì)擺放位姿隨機(jī)的工件再確定其質(zhì)心信息與旋轉(zhuǎn)角度。

1 機(jī)器視覺(jué)硬件系統(tǒng)

機(jī)器視覺(jué)硬件可以分為圖像采集和圖像處理兩部分。圖像采集部分采用的是工業(yè)相機(jī),型號(hào)為??礛V-CA013-20面陣相機(jī),分辨率為1 280×1 024,通訊口為Gige接口,鏡頭為畫面清晰度高、對(duì)比度好的MVL-HF1628M-6MP,并采用LED條形光源進(jìn)行補(bǔ)光以使工件圖像更加清晰。將相機(jī)垂直安裝在并聯(lián)機(jī)器人分揀傳送帶上方,用于采集工件圖像,如圖1所示。

以PC作為上位機(jī),通過(guò)Gige網(wǎng)口接收工業(yè)相機(jī)發(fā)送過(guò)來(lái)的圖像信息,CPU為I5-3470s主頻為2.9 GHz,內(nèi)存為4 G,系統(tǒng)為WINDOWS 10,每秒最多可接收90幀圖像。具體的實(shí)驗(yàn)平臺(tái)如圖2所示。以C++作為開發(fā)語(yǔ)言,通過(guò)Microsoft Visual 2017軟件作為開發(fā)環(huán)境,完成圖像處理任務(wù)。

2 圖像預(yù)處理分析

工件識(shí)別算法的核心是對(duì)采集到的工件圖像進(jìn)行圖像處理,步驟一般包括圖像預(yù)處理與圖像匹配。預(yù)處理的步驟一般為灰度轉(zhuǎn)換、濾波、閾值分割和邊緣檢測(cè)。圖像匹配的步驟包括特征提取與模板匹配。

機(jī)器人依據(jù)工件形狀對(duì)工件進(jìn)行識(shí)別,所以只需要灰度圖像就可以完成識(shí)別工作,灰度轉(zhuǎn)化可以將采集到的RGB圖像轉(zhuǎn)換為灰度圖像。灰度轉(zhuǎn)換后的圖像不僅可以加快識(shí)別速度,而且可以提高準(zhǔn)確性。OpenCV中通過(guò)cvtColor函數(shù)可以實(shí)現(xiàn)灰度轉(zhuǎn)換,需要將參數(shù)設(shè)置為COLOR_RGB2GRAY。具體效果如圖3所示,圖3a為原始圖像,圖3b為灰度轉(zhuǎn)換后的圖像。

2.1 圖像濾波

圖像濾波又稱為圖像平滑,由于相機(jī)在工作和傳輸過(guò)程中不可避免地會(huì)受到來(lái)自粉塵、噪聲等因素的干擾,圖像濾波就是盡可能地消除這些因素的影響,同時(shí)突出圖像中識(shí)別對(duì)象的特征,提升圖像的質(zhì)量,也要保存其中的邊緣輪廓等信息。圖像濾波的方法主要有均值濾波、高斯濾波、中值濾波及雙邊濾波等。前兩者無(wú)法抑制孤立的噪聲點(diǎn)并且對(duì)圖像細(xì)節(jié)有所破壞,使邊緣不能很好地保存。后兩種濾波效果中,中值濾波效果如圖4a所示,雙邊濾波效果如如圖4b所示。

中值濾波是通過(guò)計(jì)算像素點(diǎn)鄰域灰度值的中值來(lái)消除噪聲,對(duì)椒鹽噪聲和脈沖噪聲有很好的效果,同時(shí)對(duì)圖像的邊緣信息也可以很好地保存。而雙邊濾波還是存在高頻噪聲,對(duì)比之后選擇中值濾波。

2.2 圖像閾值分割

圖像閾值分割是圖像處理的關(guān)鍵步驟之一,其目的是將背景與識(shí)別目標(biāo)分離,去除大量的無(wú)用信息,突出人們感興趣的區(qū)域,方便后續(xù)的識(shí)別操作。圖像分割的方法有很多其中閾值分割法因其簡(jiǎn)單快速而受到廣泛地應(yīng)用。

分割閾值的數(shù)值是該方法的重要參數(shù),需要遍歷圖像以尋找最優(yōu)閾值。目前成熟的閾值分割法有很多包括固定值法、最大類間方差法[10]和最大熵分割方法等[11]。根據(jù)中值濾波后的灰度直方圖(如圖5所示),灰度直方圖有明顯的分布趨勢(shì),所以不必采用搜索閾值的方法,而是采用固定值法。

固定值法可以有效減少算法的運(yùn)算量,提升圖像處理的速度。只要選取合適的閾值進(jìn)行分割就可以將工件有效分別出來(lái)。但是考慮到金屬工件表面的反光問(wèn)題,不可避免地會(huì)造成局部過(guò)度曝光的現(xiàn)象,所以應(yīng)采用雙閾值的分割方法。公式如下:

(1)

式中:f(x,y)表示圖像在(x,y)像素處的灰度值,g(x,y)表示閾值化后的灰度值,max為最大灰度值這里取255,0為最小灰度值,low、high分別表示低分割閾值與高分割閾值。

通過(guò)OpenCV固定閾值分割函數(shù)threshold,對(duì)圖像進(jìn)行兩次固定閾值分割并通過(guò)bitwise_and函數(shù)進(jìn)行與操作,即對(duì)圖像每個(gè)像素值進(jìn)行二進(jìn)制與操作,1&1=1,1&0=0,0&0=0,以完成雙閾值分割的操作得到所需圖像。效果如圖6所示。

2.3 圖像邊緣檢測(cè)

圖像邊緣就是圖像中灰度值明顯變化的像素區(qū)域,邊緣檢測(cè)就是將這些突變的像素連接起來(lái)形成連續(xù)的邊緣。經(jīng)典的邊緣檢測(cè)算法有Canny算子、Sobel算子、Laplacian算子和Roberts算子等[12]。Sobel算子只能提取一些明顯的輪廓,Laplacian算子會(huì)造成圖像模糊降低匹配精度,Roberts對(duì)噪聲敏感不適用于嘈雜的工業(yè)場(chǎng)景。Canny算子的效果要優(yōu)于上述幾種算子所以是目前應(yīng)用最廣的邊緣檢測(cè)算子。這一算子基于Canny提出的邊緣檢測(cè)要求,即邊緣檢測(cè)應(yīng)該符合3個(gè)條件:首先輸出的信噪比最大化也就是錯(cuò)撿漏撿的概率要低;其次提取出的邊緣要靠近真正的邊緣;最后邊緣檢測(cè)算法應(yīng)該對(duì)每個(gè)邊緣返回唯一的一個(gè)邊緣,避免多重響應(yīng)。

Canny算子具有運(yùn)算快和算法簡(jiǎn)單的優(yōu)點(diǎn),其步驟可以總結(jié)為4步:

(1)高斯平滑圖像。

(2)計(jì)算圖像梯度幅度和方向,梯度公式如式(2)所示,方向公式如式(3)所示,其中fs(x,y)為高斯平滑后的圖像。

(2)

(3)

(3)對(duì)梯度圖像進(jìn)行非極大值抑制,假設(shè)4個(gè)基本方向d1~d4,前兩者表示水平和豎直方向,后兩者表示+45°和-45°方向。尋找最接近α(x,y)的方向dk,若?fs(x,y)的值小于dk方向上的一或兩個(gè)鄰點(diǎn)值則抑制否則保留這個(gè)值,對(duì)所有(x,y)重復(fù)這一過(guò)程,就可得到非極大抑制圖像。

(4)對(duì)非極大抑制圖像進(jìn)行雙閾值處理和連通性來(lái)檢測(cè)與連接邊緣,以減少孤立或假的邊緣點(diǎn)。Canny算子檢測(cè)的邊緣較齊全,對(duì)于細(xì)微的邊緣也有較好的檢測(cè)效果且檢測(cè)速度快,方法成熟。但是檢測(cè)出來(lái)的邊緣寬度不一,還會(huì)出現(xiàn)微小、斷續(xù)的邊緣。所以還需對(duì)Canny檢測(cè)出來(lái)的邊緣進(jìn)行連接與細(xì)。檢測(cè)完成后結(jié)合OpenCV中的findContours函數(shù)查找Canny返回的邊緣并結(jié)合drawContours繪制固定邊緣使工件邊緣更加突出,以得到易于進(jìn)行圖像匹配的工件輪廓。

3 圖像匹配

本文用到的圖像匹配方法為圖像特征匹配,圖像特征包括全局特征和其他特征,全局特征如工件表面的顏色、紋理等。而其他特征比較特殊可以表征全局也可以表征局部,如形狀特征或者空間關(guān)系特征前者既可以用工件的整個(gè)形狀輪廓來(lái)表示,也可以用外輪廓來(lái)表示。后者則需要利用圖像中多個(gè)工件的相對(duì)位置來(lái)表示,也可以用在整幅圖像中的絕對(duì)位置來(lái)表示。圖像的不變特征就是在圖像經(jīng)過(guò)平移、旋轉(zhuǎn)及縮放等操作后仍然保持不變的特征量,其中圖像矩特征是用來(lái)描述像素的分布,反映了圖像形狀的全局特征。

在常用的特征提取算子中,SIFT計(jì)算相對(duì)復(fù)雜、速度慢,不能滿足快速識(shí)別的要求。ORB算法不具有尺度不變性,在不能保證工業(yè)相機(jī)垂直采集圖像時(shí),準(zhǔn)確率較低。所以本次實(shí)驗(yàn)利用不變矩特征,通過(guò)提取出圖像中待識(shí)別工件的輪廓,計(jì)算出它的Hu不變矩,再將其與模板工件的Hu不變矩做匹配度對(duì)比,以進(jìn)行工件識(shí)別。

3.1 Hu不變矩

由于采集到的圖像在轉(zhuǎn)換成數(shù)字信號(hào)后不再是連續(xù)信號(hào),所以對(duì)于離散的二維圖像f(x,y),其(p+q)階幾何矩和中心距定義為:

(4)

(5)

其中,x0=m10/m00,y0=m01/m00,它們分別表示圖像水平和垂直方向的重心。用中心距只能保證圖像特征的平移不變,為了確??s放時(shí)特征不變,還需對(duì)中心距做歸一化操作如式(6)所示:

(6)

其中:γ=(p+q+2)/2,p+q=2,3…。但是上述操作只保證了圖像特征在平移和縮放時(shí)的不變性,所以Hu通過(guò)分析利用歸一化的二階中心矩η20、η02、η11和三階中心距η30、η21、η03、η12推導(dǎo)出了7個(gè)平移、旋轉(zhuǎn)和縮放時(shí)的不變矩特征量,即Hu不變矩:

(7)

但是這7個(gè)特征量變化較大,會(huì)造成很大誤差,不利于進(jìn)行數(shù)據(jù)處理。所以為了減小誤差,在實(shí)驗(yàn)中將這7個(gè)數(shù)據(jù)進(jìn)行取對(duì)數(shù)操作,以壓縮數(shù)據(jù)量。具體公式如式(8)所示。

φi=sign(φi)log|φi|

(8)

3.2 工件匹配

工件匹配的原理是將工件的模板圖像與工業(yè)相機(jī)采集圖像中各個(gè)工件圖像進(jìn)行對(duì)比,并建立相應(yīng)的度量公式與檢索閾值,不超過(guò)閾值則認(rèn)為是相同工件,以達(dá)到識(shí)別的目的。在實(shí)驗(yàn)中只需要工件的外輪廓就可以進(jìn)行匹配,這樣可以增加計(jì)算速度,減少計(jì)算量。方法為利用Canny算子提取采集到圖像中所有的輪廓,如圖7a所示,采用findContours函數(shù)將其檢索類型設(shè)置為RETR_EXTERNAL就可以只檢測(cè)最外層輪廓,如圖7b所示。

匹配過(guò)程,首先要建立模板A,提取其外輪廓,并計(jì)算出模板外輪廓的特征值,本文需要計(jì)算特征值是取對(duì)數(shù)操作后的Hu矩。對(duì)于待識(shí)別圖像,首先提取圖像中所有工件外層輪廓,分別計(jì)算這些輪廓的Hu矩,通過(guò)計(jì)算其與模板特征值的匹配度來(lái)確定需要識(shí)別的工件。具體的匹配度公式如式(9)所示:

(9)

3.3 工件定位

工件識(shí)別完成后為了進(jìn)行后續(xù)的分揀等操作還需對(duì)工件中心進(jìn)行定位,找出其在圖像中的確切位置。定位方法采用最小外接矩形法:首先獲取到目標(biāo)的初始位置,運(yùn)用重心原理計(jì)算每一列的重心點(diǎn)并擬合作為水平主軸,將其上下平移得到目標(biāo)工件的上下邊界,計(jì)算每一行的重心點(diǎn)并擬合作為垂直主軸,左右平移得到目標(biāo)工件的左右邊界,這樣就得到一個(gè)外接矩形;然后以這兩條軸的交點(diǎn)作為旋轉(zhuǎn)中心點(diǎn),設(shè)定旋轉(zhuǎn)角度逆時(shí)針旋轉(zhuǎn)外接矩形,通過(guò)對(duì)比外接矩形的面積就可以找到工件的最小外接矩形。外接局矩形沿水平主軸旋轉(zhuǎn)過(guò)的角度θ就是水平軸與延逆時(shí)針?lè)较蚪佑|的矩形第一條邊的夾角,以確定工件位姿還需確定其是長(zhǎng)邊還是短邊。為了方便機(jī)器人抓取一般選用長(zhǎng)邊作為基準(zhǔn)邊,所以如果是長(zhǎng)邊則取角度θ如圖8a所示,否則為γ=90°+θ,如圖8b所示。獲取最小外接矩形后就可以利用矩形的4個(gè)頂點(diǎn)R0、R1、R2、R3,進(jìn)而求得工件的質(zhì)心坐標(biāo)C(x,y)。如式(10)所示,式中Ri(x)表示第i個(gè)頂點(diǎn)x軸的值,Ri(y)表示第i個(gè)頂點(diǎn)y軸的值。

(10)

4 試驗(yàn)及分析

本文使用OpenCV3.4.6視覺(jué)庫(kù)結(jié)合C++語(yǔ)言,在VS2017集成開發(fā)環(huán)境下進(jìn)行開發(fā)和試驗(yàn)驗(yàn)證。試驗(yàn)對(duì)象選擇常見的圓矩形法蘭軸承與圓形法蘭底座工件,并設(shè)置模板圖像,圓矩形法蘭軸承模板如圖9a所示,圓形法蘭底座模板如圖9b所示。

采集待識(shí)別圖像時(shí),先采集單個(gè)圓矩形法蘭軸承與圓形法蘭底座的圖像進(jìn)行算法驗(yàn)證,設(shè)置匹配度閾值為0.08,即返回的匹配度在0.08以內(nèi)時(shí)就認(rèn)為是同一工件。單個(gè)工件識(shí)別如圖10所示。識(shí)別到的工件采取外輪廓包圍,并用十字標(biāo)出中心點(diǎn)以突出工件。

為了驗(yàn)證算法的有效性,還需采集兩者共存的圖像進(jìn)行探究。通過(guò)提取它們的外輪廓與法蘭軸承模板和法蘭底座模板做圖像匹配,圖11為采集的兩幅待識(shí)別工件圖像,為了便于區(qū)分將工件排序,序號(hào)如圖所示。

以上兩幅圖像用于展示本次識(shí)別定位試驗(yàn)的效果,圖11a中有一個(gè)底座兩個(gè)軸承,圖11b中有兩個(gè)底座和兩個(gè)軸承。利用這兩張圖中分別進(jìn)行軸承識(shí)別與底座識(shí)別。并對(duì)識(shí)別到的工件進(jìn)行定位,根據(jù)本文方法計(jì)算出軸承的位姿角度和確切的質(zhì)心坐標(biāo),而對(duì)于圓形底座只需要求出質(zhì)心坐標(biāo)即可。

表1表示圖11a的識(shí)別與定位結(jié)果,識(shí)別示意圖如圖12所示,圖12a為底座識(shí)別圖,圖12b為軸承識(shí)別圖。表2表示圖11b的試驗(yàn)結(jié)果,識(shí)別示意圖如圖13所示。

表1 圖11a識(shí)別結(jié)果

表2 圖11b識(shí)別結(jié)果

本次試驗(yàn)共采集了100幅圖像進(jìn)行匹配試驗(yàn),其中底座工件的匹配度范圍在0.002 01~0.003 79,軸承工件的匹配度范圍在0.001 27~0.028 72,對(duì)底座和軸承都可以準(zhǔn)確進(jìn)行識(shí)別,無(wú)論物體的旋轉(zhuǎn)角度是多少識(shí)別率都在99%以上,識(shí)別速度平均在110 ms左右,可以滿足實(shí)時(shí)識(shí)別的需求。

試驗(yàn)證明本文算法可以準(zhǔn)確識(shí)別圖像中需要識(shí)別的工件,同時(shí)確定工件的質(zhì)心坐標(biāo)與旋轉(zhuǎn)角度,這些信息可以使機(jī)器人調(diào)整末端執(zhí)行器的位姿,高效地進(jìn)行選擇抓取工件的操作。對(duì)比軸承和底座的試驗(yàn)匹配度數(shù)據(jù),可以發(fā)現(xiàn)軸承由于表面反光較強(qiáng),受光照的影響很大,這就造成了匹配度波動(dòng)較大,而底座反光能力弱,所以匹配相對(duì)穩(wěn)定。

5 結(jié)語(yǔ)

本文運(yùn)用并聯(lián)機(jī)器人分揀平臺(tái),通過(guò)分析機(jī)器視覺(jué)技術(shù)的理論和方法,提出了一種基于Hu矩和外接矩形的工件識(shí)別和定位的方法。首先對(duì)圖像進(jìn)行預(yù)處理,利用固定雙閾值對(duì)圖像進(jìn)行分割,再獲取圖像的外輪廓并利用OpenCV函數(shù)重塑邊緣,計(jì)算Hu矩,并與模板Hu矩進(jìn)行匹配達(dá)到工件識(shí)別的目的,再利用尋找外接矩形的辦法對(duì)工件進(jìn)行定位并確定位姿。由于光照會(huì)影響圖像邊緣輪廓造成軸承工件匹配度波動(dòng)較大,在正式工業(yè)場(chǎng)景應(yīng)加以注意。試驗(yàn)表明本文的算法識(shí)別率高,可以進(jìn)行工件識(shí)別與定位,具有很高的實(shí)用和參考價(jià)值。

猜你喜歡
輪廓算子灰度
與由分?jǐn)?shù)階Laplace算子生成的熱半群相關(guān)的微分變換算子的有界性
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
擬微分算子在Hp(ω)上的有界性
OPENCV輪廓識(shí)別研究與實(shí)踐
各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應(yīng)用
基于實(shí)時(shí)輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
一類Markov模算子半群與相應(yīng)的算子值Dirichlet型刻畫
高速公路主動(dòng)發(fā)光輪廓標(biāo)應(yīng)用方案設(shè)計(jì)探討
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
绵竹市| 山阴县| 汕头市| 九龙县| 凤山县| 双峰县| 泰州市| 教育| 德江县| 颍上县| 丹巴县| 赞皇县| 山东省| 凤庆县| 稷山县| 曲阜市| 济阳县| 镇原县| 定襄县| 徐州市| 连江县| 高淳县| 丰县| 洪洞县| 伊宁市| 天柱县| 蚌埠市| 阜南县| 青龙| 连平县| 广灵县| 黄石市| 东乌| 如东县| 铜梁县| 阿巴嘎旗| 岫岩| 南涧| 合作市| 河东区| 武功县|