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

?

基于機(jī)器視覺的多類型工件測(cè)量系統(tǒng)研究

2022-09-21 11:14劉志毅楊桂華唐衛(wèi)衛(wèi)
機(jī)床與液壓 2022年4期
關(guān)鍵詞:輪廓工件邊緣

劉志毅,楊桂華,唐衛(wèi)衛(wèi)

(桂林理工大學(xué)機(jī)械與控制工程學(xué)院,廣西桂林 541004)

0 前言

工件廣泛應(yīng)用于工業(yè)機(jī)器人、汽車和數(shù)控機(jī)床等產(chǎn)品的零部件連接、固定和保護(hù)中,其加工精度包括尺寸精度、形狀精度和位置精度。對(duì)于機(jī)械加工業(yè)來說,不斷提高零件的精度,不但有助于延長(zhǎng)零件的使用壽命,更為后續(xù)使用提供安全保障。當(dāng)前大多數(shù)工廠利用千分尺、X射線和三坐標(biāo)測(cè)量機(jī)等對(duì)工件進(jìn)行尺寸精度測(cè)量。由于人的視力和測(cè)量方法不同,千分尺測(cè)量精度會(huì)受到影響;而X射線和三坐標(biāo)測(cè)量機(jī)的測(cè)量誤差很小,但價(jià)格高昂。在“中國(guó)制造2025”發(fā)展戰(zhàn)略下,研發(fā)一套測(cè)量精度高、成本低的識(shí)別系統(tǒng)具有一定的現(xiàn)實(shí)意義。

本文作者采用德國(guó)MVtec公司研發(fā)的Halcon機(jī)器視覺算法庫來完成工件測(cè)量中的圖像處理。Halcon代碼簡(jiǎn)練,運(yùn)行速度快,大大降低了視覺項(xiàng)目開發(fā)周期和難度,用戶可以靈活地開發(fā)機(jī)器視覺系統(tǒng),在缺陷檢測(cè)、目標(biāo)識(shí)別、測(cè)量等領(lǐng)域都有著很大的用武之地。潘樂昊等為確定微波爐食材的加熱時(shí)間,提出了基于Sobel邊緣檢測(cè)算法的微波爐內(nèi)食材體積測(cè)量方法,把體積作為食材加熱時(shí)間的一個(gè)重要參考值。劉杰、李智超利用機(jī)器視覺技術(shù),基于Canny算法和輔助直線測(cè)量物體定位和輪廓尺寸,以及孔徑尺寸,取得一定成效。然而當(dāng)檢測(cè)目標(biāo)形狀和紋理特征較復(fù)雜情況下,僅僅采用Sobel算法和Canny算法進(jìn)行邊緣檢測(cè),效果受到很大影響,并且最小二乘法擬合邊緣時(shí)受噪聲干擾較大,測(cè)量精度也受到影響。相比于文獻(xiàn)[3-5],本文作者采用8個(gè)方向模板的改進(jìn)多項(xiàng)式插值算法提取工件的亞像素輪廓,并采用Hough變換完成工件的二維尺寸測(cè)量,效果顯著。

1 系統(tǒng)總體設(shè)計(jì)及硬件選型

1.1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,硬件設(shè)備如圖2所示。采用Eye-to-Hand結(jié)構(gòu),將相機(jī)固定在最佳角度位置,系統(tǒng)包括傳送模塊、視覺識(shí)別模塊、信號(hào)處理模塊和運(yùn)動(dòng)控制模塊。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

圖2 系統(tǒng)設(shè)備示意

傳送模塊包括傳送帶、電機(jī)、伺服驅(qū)動(dòng)器和紅外傳感器。伺服驅(qū)動(dòng)器通過輸出開關(guān)量控制電機(jī)啟動(dòng)和停止,通過輸出不同頻率來控制電機(jī)轉(zhuǎn)速。紅外傳感器若檢測(cè)到工件,則觸發(fā)工業(yè)相機(jī)拍取工件圖像。

視覺識(shí)別模塊包括相機(jī)、鏡頭、光源和圖像采集卡。鏡頭將工件光像呈現(xiàn)在相機(jī)的圖像傳感器上。光源作為照明設(shè)備,根據(jù)不同的光源以及打光方式,使得采集到的圖像更容易處理。采集卡從相機(jī)中獲取數(shù)據(jù)并轉(zhuǎn)化為PC機(jī)能處理的信息。

信號(hào)處理模塊為PC機(jī)。PC機(jī)中需要安裝Microsoft Visual Studio 2015軟件開發(fā)平臺(tái)和Halcon機(jī)器視覺算法庫,PC機(jī)對(duì)拍取的圖像信息進(jìn)行處理,完成圖像去噪和圖像增強(qiáng),并對(duì)工件進(jìn)行測(cè)量。此后,求出質(zhì)量不合格的工件中心世界坐標(biāo),并將該坐標(biāo)通過TCP/IP通信發(fā)送給STM32主控制器。

運(yùn)動(dòng)控制模塊包括STM32主控制器、機(jī)械臂、吸盤和氣動(dòng)裝置。吸盤安裝于機(jī)械臂執(zhí)行器末端,STM32控制器控制機(jī)械臂移動(dòng)到工件中心位置,此時(shí)氣動(dòng)裝置電磁閥打開,吸盤吸取工件,STM32控制器控制機(jī)械臂移動(dòng)至工件放置位置,氣動(dòng)裝置電磁閥關(guān)閉,放置工件,從而完成不符合要求工件的分揀。

1.2 硬件選型

1.2.1 功能需求分析

選用3種常見類型工件作為目標(biāo),分別為四方平墊、長(zhǎng)形自攻釘和長(zhǎng)形鐵片,對(duì)其進(jìn)行直線和圓的亞像素精度測(cè)量。此外,系統(tǒng)還能測(cè)量其他多種類型工件,能夠靈活配置,且適用性強(qiáng)。每個(gè)工件的尺寸測(cè)量精度需小于0.25 mm。為了能夠盡可能多地分類識(shí)別出目標(biāo)工件,視野大小為30 cm×30 cm。為了能夠讓機(jī)械臂安全吸取工件,工作距離設(shè)為40 cm。每一個(gè)工件測(cè)量時(shí)間需控制在1 s以內(nèi)。

1.2.2 相機(jī)選型

根據(jù)需求對(duì)相機(jī)進(jìn)行選型,相機(jī)分辨率公式為

(1)

式(1)中:為相機(jī)分辨率;為方向相機(jī)所能看到的最大長(zhǎng)度;為方向相機(jī)所能看到的最大長(zhǎng)度;為系統(tǒng)精度。因144萬×3=432萬,為保證系統(tǒng)圖像采集像素,故選擇市面上已有的500萬像素的相機(jī)Basler。通過查詢Balser相機(jī)手冊(cè)和官方資料,得到相機(jī)靶面尺寸5.70 mm×4.28 mm,C接口。

1.2.3 鏡頭選型

得到相機(jī)的像素和靶面尺寸后,對(duì)鏡頭進(jìn)行選型,放大倍數(shù)計(jì)算公式為

(2)

式(2)中:表示放大倍數(shù);表示芯片大小;表示視野大小。焦距計(jì)算公式為

(3)

式(3)中:表示焦距;表示工作距離。通過公式計(jì)算可得,文中選擇焦距為8 mm、分辨率大于500萬的遠(yuǎn)心鏡頭。

1.2.4 光源選型

系統(tǒng)采用背光源,背光源安裝于目標(biāo)物體的下方。當(dāng)光線照射時(shí),經(jīng)過工件的遮擋,相機(jī)可以獲得工件其他區(qū)域信息,從而可以得到產(chǎn)品的清晰輪廓,非常適用于產(chǎn)品的輪廓測(cè)量。拍攝效果如圖3所示。

圖3 背光源拍攝效果

2 多類型工件尺寸測(cè)量算法設(shè)計(jì)

如圖4所示,二維測(cè)量包括提取工件的邊緣、提取亞像素輪廓、選擇感興趣輪廓、將感興趣輪廓分割為直線或圓、將分割后的輪廓進(jìn)行直線或圓擬合五個(gè)部分。

圖4 工件測(cè)量算法流程

2.1 Canny邊緣提取算法

Canny邊緣提取算法包括4個(gè)步驟,步驟如下:

(1)采用高斯濾波器對(duì)圖像進(jìn)行平滑濾波,高斯函數(shù)的公式為:

(4)

再將高斯濾波器與原圖像進(jìn)行卷積,公式為

(,)=(,)?(,)

(5)

式(5)中:(,)為原圖像;(,)為卷積后圖像。

(2)一階微分表示變化率,可以用一階差分代替一階微分來表示圖像灰度值的變化情況。采用一階差分卷積模板,模板為

(6)

將模板與高斯平滑后的圖像進(jìn)行卷積,公式為

(7)

最后,計(jì)算梯度的幅值,公式為

(8)

方向?yàn)?/p>

(9)

以左上角為起點(diǎn),邊緣部分保持灰度值不變,求解梯度的過程如圖5所示。

圖5 計(jì)算梯度的過程

(3)求得圖像的梯度之后,在生成的梯度矩陣上進(jìn)行非極大值抑制。即以梯度矩陣中的某一點(diǎn)為中心點(diǎn)(,),將梯度方向近似為4種梯度方向的組合,如圖6所示,標(biāo)號(hào)0~3分別對(duì)應(yīng)0°、45°、90°、135°四個(gè)方向;當(dāng)梯度方向在0°與45°之間時(shí),梯度方向近似為0°方向,比較中心點(diǎn)(,)與沿著梯度方向的兩個(gè)相鄰像素的梯度值,若中心點(diǎn)(,)梯度值最大,則保留,否則置0。但是在實(shí)際的圖像中,像素點(diǎn)是離散的,中心位置(,)的梯度方向兩側(cè)的點(diǎn)不一定存在,而且邊緣梯度方向不一定沿著0°、45°、90°、135°四個(gè)方向,所以必須通過插值法來得到中心位置沿梯度方向兩側(cè)的值。

圖6 梯度方向

①如果|(,)|>|(,)|,則該中心點(diǎn)的梯度方向更接近于軸。圖7中,、、、表示該位置的幅值,以左上角為原點(diǎn),圖7(a)表示(,)與(,)的方向相同,圖7(b)表示(,)與(,)的方向不同。

圖7 梯度方向接近于y軸

該情況下的插值公式為

(10)

=+(1-)

(11)

=+(1-)

(12)

式中:為權(quán)重;、為插值得到的結(jié)果。

②同理,當(dāng)|(,)|<|(,)|時(shí),梯度方向接近于軸,如圖8所示。

圖8 梯度方向接近于x軸

該情況下的插值公式為

(13)

=+(1-)

(14)

=+(1-)

(15)

最后,若(,)處的梯度幅值分別大于、,則該點(diǎn)處的幅值保留,否則置0。

(4)采用雙閾值算法提取邊緣和平滑邊緣,設(shè)定兩個(gè)閾值和對(duì)非極大值抑制后的圖像進(jìn)行處理。高閾值分割得到強(qiáng)邊緣圖像,含有較少的假邊緣,但邊緣可能不連續(xù)或不夠平滑,此時(shí),通過低閾值得到弱邊緣圖像來連接邊緣,當(dāng)強(qiáng)邊緣的8鄰域內(nèi)包含弱邊緣點(diǎn),則將弱邊緣點(diǎn)與強(qiáng)邊緣點(diǎn)連接,達(dá)到平滑邊緣的目的,因此,閾值越小,提取的邊緣信息越多。

檢測(cè)到的邊緣結(jié)果如圖9所示,可見:Canny算法通過高斯濾波能夠很好地去除噪聲,并且通過非極大值抑制和雙閾值算法可以很好地去除假邊緣,解決了Sobel算法存在較多假邊緣的問題。

圖9 Canny算法邊緣檢測(cè)結(jié)果

2.2 提取亞像素輪廓

亞像素輪廓使得圖像的分辨率得到提高,更加精確地測(cè)量出工件的尺寸。利用Canny算法得到工件的邊緣后,改進(jìn)的多項(xiàng)式插值算法采用8個(gè)方向模板與Canny算法得到的邊緣圖像做卷積運(yùn)算,求出亞像素坐標(biāo)。方向模板如圖10所示。

圖10 8個(gè)方向模板

邊緣圖像經(jīng)過卷積運(yùn)算并求取梯度幅值和方向,設(shè)Canny算法得到的像素級(jí)邊緣點(diǎn)坐標(biāo)為(,),該邊緣點(diǎn)相對(duì)應(yīng)的梯度幅值為,根據(jù)二次多項(xiàng)式公式得到亞像素坐標(biāo)為

(16)

(17)

提取到的亞像素輪廓如圖11所示。

圖11 亞像素輪廓

2.3 分割輪廓

得到的亞像素輪廓通常由各種形狀(直線、圓弧、橢圓弧和矩形等)組成,為了便于測(cè)量,將亞像素輪廓分割為直線和圓弧形狀,通過求得直線的長(zhǎng)度和圓弧的圓心和半徑完成多類型工件的二維測(cè)量。算法步驟如下:

步驟1,設(shè)定一個(gè)最大直線距離。

步驟2,用直線段遞進(jìn)逼近輪廓,得到輪廓上離垂直距離最遠(yuǎn)的點(diǎn),并將該距離設(shè)為。

步驟3,比較與的大小,若小于,則用直線段近似代替輪廓,該段輪廓處理完畢。

步驟4,若大于,則將輪廓分割為和,重復(fù)步驟2、3。

步驟5,當(dāng)所有的曲線遞進(jìn)逼近結(jié)束后,用近似圓去擬合相近的輪廓段,若圓到輪廓段的最大偏差比兩個(gè)輪廓段相對(duì)應(yīng)的值還要小,則用近似圓取代相對(duì)應(yīng),經(jīng)過多次迭代直到?jīng)]有對(duì)象。

將亞像素輪廓分割為直線和圓弧的結(jié)果如圖12所示。

圖12 分割輪廓

2.4 選擇輪廓

由于分割得到的亞像素輪廓不一定都是感興趣輪廓,可以通過以下特征從輸入輪廓中選擇感興趣輪廓。

(1)輪廓長(zhǎng)度。設(shè)定兩個(gè)閾值和,選擇長(zhǎng)度大于小于的所有輪廓,對(duì)于其他長(zhǎng)度的輪廓都不被返回。

(3)關(guān)閉。設(shè)定一個(gè)閾值,只選擇輪廓起點(diǎn)和終點(diǎn)之間的距離小于或等于的輪廓。

(4)打開。設(shè)定一個(gè)閾值,只選擇其起點(diǎn)和終點(diǎn)之間的距離大于的輪廓。

感興趣輪廓如圖13所示。

圖13 感興趣輪廓

2.5 測(cè)量參數(shù)獲取

由于噪聲和光照的影響,獲得的感興趣工件亞像素輪廓點(diǎn)通常是離散的。因此,為了能夠?qū)ぜM(jìn)行二維測(cè)量(測(cè)量出直線的長(zhǎng)度和圓形的圓心半徑),需要通過擬合來獲得連續(xù)的輪廓。常用的直線和圓擬合方法為Hough變換檢測(cè)方法。

Hough變換適用于檢測(cè)、定位和解析像直線、圓和橢圓這種規(guī)則的形狀。下面分別介紹直線檢測(cè)和圓檢測(cè)。

(1)直線檢測(cè)

在圖像的-坐標(biāo)系中,經(jīng)過點(diǎn)(,)直線的表達(dá)式為

=+

(18)

式中:為直線的斜率;為截距。假如將看做自變量,看做因變量,則表達(dá)式變?yōu)?/p>

=-+

(19)

這樣,便將-坐標(biāo)空間轉(zhuǎn)化到-坐標(biāo)空間,如圖14所示。假設(shè)原圖像中一點(diǎn)(,)與點(diǎn)(,)共線,則在-坐標(biāo)空間中,點(diǎn)(,)相對(duì)應(yīng)的直線與點(diǎn)(,)相對(duì)應(yīng)的直線相較于一點(diǎn)(,),通過判斷圖像-坐標(biāo)系上的點(diǎn)相對(duì)應(yīng)-坐標(biāo)空間中的直線是否相交于一點(diǎn),若相交于一點(diǎn),則證明這些點(diǎn)在圖像-坐標(biāo)系上共線。設(shè)定一個(gè)二維累加數(shù)組(,)=0,將-坐標(biāo)空間的每一個(gè)自變量值代入表達(dá)式(19)來計(jì)算出因變量,每計(jì)算出一個(gè)值,在相對(duì)應(yīng)的數(shù)組(,)中加1,表達(dá)式為(,)=(,)+1,所有點(diǎn)計(jì)算完畢后,找出最大數(shù)組(,),該數(shù)組所對(duì)應(yīng)的、便為圖像-坐標(biāo)系中共線離散點(diǎn)最多的直線方程的參數(shù)。根據(jù)這個(gè)特點(diǎn),給定圖像-坐標(biāo)系中的離散邊緣點(diǎn),通過Hough變換便能夠確定連接這些離散邊緣點(diǎn)的直線方程。

圖14 直角坐標(biāo)的Hough變換

(2)圓檢測(cè)

同樣,Hough變換也能夠?qū)A進(jìn)行檢測(cè),通過將離散輪廓點(diǎn)從圖像空間轉(zhuǎn)化到參數(shù)空間來確定圓的參數(shù)。在圖像-坐標(biāo)系中,已知圓的表達(dá)式為

(-)+(-)=

(20)

式中:、分別表示圓心坐標(biāo)值;為半徑。將圖像-坐標(biāo)系轉(zhuǎn)換到三維立體空間中,(,)和為未知數(shù),表達(dá)式為

(-)+(-)=

(21)

這樣:便將圖像-坐標(biāo)空間轉(zhuǎn)換為--坐標(biāo)空間,原圖像中的每一個(gè)離散點(diǎn)(,)對(duì)應(yīng)--坐標(biāo)空間的一個(gè)圓錐體,如圖15所示,在圖像-坐標(biāo)系中同一個(gè)圓上的離散點(diǎn)在--坐標(biāo)空間所對(duì)應(yīng)的圓錐體必定相交于同一點(diǎn)。

圖15 參數(shù)空間

設(shè)定一個(gè)三維累加數(shù)組(,,)=0,將--坐標(biāo)空間的每一個(gè)自變量、值代入表達(dá)式(21)來計(jì)算出因變量,每計(jì)算出一個(gè)值,在相對(duì)應(yīng)的數(shù)組(,,)中加1,表達(dá)式為(,,)=(,,)+1,所有點(diǎn)計(jì)算完畢后,找出最大數(shù)組(,,),該數(shù)組所對(duì)應(yīng)的、、便為圖像-坐標(biāo)系中共圓離散點(diǎn)最多的圓形方程的參數(shù)。根據(jù)這個(gè)特點(diǎn),給定圖像-坐標(biāo)系中的離散邊緣點(diǎn),通過Hough變換便能夠確定連接這些離散邊緣點(diǎn)的圓形方程。Hough變換方法擬合直線和圓的結(jié)果如圖16所示。

圖16 Hough變換方法擬合的直線和圓

3 測(cè)量系統(tǒng)軟件設(shè)計(jì)

多線程并行處理器接收到紅外傳感器的電平信號(hào),通過TCP/IP通信觸發(fā)相機(jī)進(jìn)行拍照,將拍取的工件圖像進(jìn)行顯示,實(shí)現(xiàn)工件的二維尺寸測(cè)量;在圖像窗口顯示尺寸大小,最后求出工件的世界坐標(biāo),通過運(yùn)動(dòng)控制器完成不符合質(zhì)量要求的工件吸取。測(cè)量系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)如圖17所示。

圖17 測(cè)量系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)

4 實(shí)驗(yàn)結(jié)果及分析

為了驗(yàn)證系統(tǒng)對(duì)多類型工件測(cè)量的準(zhǔn)確性和穩(wěn)定性,選取不同規(guī)格的四方平墊(0類)、長(zhǎng)形自攻釘(1類)和長(zhǎng)形鐵片(2類)3種類型的工件,通過不斷地更換工件和改變各個(gè)工件位置及角度來拍取圖像,共拍取50張圖片作為測(cè)試集。

系統(tǒng)對(duì)工件采用Hough變換方法來擬合直線和圓得到的測(cè)量值在系統(tǒng)中顯示如圖18所示。各個(gè)類型工件的測(cè)量值與千分尺測(cè)量值進(jìn)行對(duì)比,如表1—3所示。

圖18 工件測(cè)量系統(tǒng)界面

表1 長(zhǎng)形鐵片的Hough變換測(cè)量值與千分尺測(cè)量值的一組數(shù)據(jù)對(duì)比 單位:mm

表2 四方平墊的Hough變換測(cè)量值與千分尺測(cè)量值的一組數(shù)據(jù)對(duì)比 單位:mm

表3 長(zhǎng)形自攻釘?shù)腍ough變換測(cè)量值與千分尺測(cè)量值的一組數(shù)據(jù)對(duì)比 單位:mm

對(duì)50個(gè)測(cè)試集工件測(cè)量完畢后,求得的Hough變換測(cè)量值與千分尺測(cè)量值的平均誤差為0.042 mm,測(cè)量工件平均耗時(shí)32.543 ms,能夠滿足工業(yè)要求。在測(cè)量過程中,測(cè)量誤差是不可避免的,誤差主要來源于光學(xué)鏡頭的誤差、噪聲的干擾、硬件結(jié)構(gòu)的安裝誤差、算法的誤差等。

5 結(jié)語

為了克服傳統(tǒng)檢測(cè)存在的弊端,研究了基于機(jī)器視覺的多類型工件測(cè)量系統(tǒng),對(duì)系統(tǒng)的相機(jī)參數(shù)、照明、圖像處理和工件尺寸測(cè)量進(jìn)行了重點(diǎn)研究,并利用Halcon與C++聯(lián)合編程實(shí)現(xiàn)了多類型工件二維尺寸測(cè)量系統(tǒng),對(duì)這一測(cè)量系統(tǒng)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,獲到了良好的測(cè)量效果,有效地提高了測(cè)量的效率與精度。

猜你喜歡
輪廓工件邊緣
帶服務(wù)器的具有固定序列的平行專用機(jī)排序
帶沖突約束兩臺(tái)平行專用機(jī)排序的一個(gè)改進(jìn)算法
工業(yè)機(jī)器人視覺引導(dǎo)抓取工件的研究
基于RoboDK Python編程的工業(yè)機(jī)器人工作站工件生成及搬運(yùn)仿真
高速公路主動(dòng)發(fā)光輪廓標(biāo)應(yīng)用方案設(shè)計(jì)探討
一張圖看懂邊緣計(jì)算
兒童筒筆畫
創(chuàng)造早秋新輪廓
在邊緣尋找自我
走在邊緣