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

?

一種齒輪瑕疵圖像檢測(cè)方法研究

2020-08-31 01:38葉潤(rùn)東姚佳岷魏宇昕林雪晴陳志偉張偉榮
軟件工程 2020年8期
關(guān)鍵詞:機(jī)器視覺(jué)圖像處理

葉潤(rùn)東 姚佳岷 魏宇昕 林雪晴 陳志偉 張偉榮

摘 ?要:運(yùn)用基于OpenCV的機(jī)器視覺(jué),研究檢測(cè)齒輪瑕疵生產(chǎn)流水線,采用CCD工業(yè)相機(jī)獲取實(shí)時(shí)圖像,通過(guò)基于OpenCV研發(fā)的算法,對(duì)齒輪進(jìn)行灰度化、濾波、二值化、形態(tài)學(xué)運(yùn)算等預(yù)處理后,剔除背景圖像的影響,獲得清晰的齒輪輪廓圖,然后對(duì)齒輪輪廓圖進(jìn)行篩選,檢測(cè)齒輪的瑕疵,并且把有瑕疵齒輪位置傳送給SCARA機(jī)械臂,機(jī)械臂夾取瑕疵品。機(jī)器視覺(jué)算法與機(jī)械臂相結(jié)合,實(shí)現(xiàn)齒輪的自動(dòng)檢測(cè)。

關(guān)鍵詞:OpenCV;機(jī)器視覺(jué);齒輪瑕疵檢測(cè);圖像處理;流水線生產(chǎn)

中圖分類號(hào):TP391.4 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

Abstract: This research studies the production line of detecting gear defects by using machine vision based on OpenCV. The real-time images are obtained by CCD (Charge-Coupled Device) industrial camera. After preprocessing the gear with grayscale, filtering, binarization and morphological operation based on OpenCV, the influence of background image is eliminated, and the clear gear profile is obtained. Then, the gear profile is screened to detect the teeth, and the positions of the defective gears are transmitted to the SCARA (Selective Compliance Assembly Robot Arm) manipulator, which picks up the defective products. In this way, the automatic detection of gears is realized through combining machine vision algorithm and the manipulator.

Keywords: OpenCV; machine vision; gear defect detection; image processing; assembly line production

1 ? 引言(Introduction)

隨著我國(guó)制造業(yè)的高速發(fā)展和市場(chǎng)需求的加劇,中國(guó)成為繼美國(guó)、日本和歐洲之后的全球第四大制造業(yè)市場(chǎng)。制造業(yè)發(fā)展的歷程證明,導(dǎo)致制造業(yè)技術(shù)和創(chuàng)造產(chǎn)業(yè)的重大進(jìn)步的是關(guān)鍵技術(shù)的突破。然后,基于機(jī)器視覺(jué)的高速智能檢測(cè)技術(shù)一直是制約著中國(guó)制造業(yè)的發(fā)展的瓶頸,是制造業(yè)發(fā)展繼續(xù)突破的關(guān)鍵技術(shù)[1]。

機(jī)器視覺(jué)采用CCD工業(yè)攝像機(jī)的實(shí)時(shí)抓拍生產(chǎn)線上的零件圖像[2],通過(guò)圖像處理分析后,獲取零件的外形及位置等信息,反饋到子環(huán)節(jié)的機(jī)械臂,告知機(jī)械臂進(jìn)行下一步操作[3]。機(jī)器視覺(jué)應(yīng)用廣泛,于工件識(shí)別檢測(cè)等領(lǐng)域有著極其重要的地位,能高效彌補(bǔ)人工檢測(cè)勞動(dòng)強(qiáng)度大且效率低的傳統(tǒng)人工檢測(cè)弊端。

產(chǎn)品檢驗(yàn)和定位技術(shù)是工業(yè)上產(chǎn)中的重要環(huán)節(jié),所有制造業(yè)行業(yè)都需要對(duì)產(chǎn)品進(jìn)行識(shí)別和分類,尤其在多樣的生產(chǎn)環(huán)境的企業(yè)中,車間的自動(dòng)化水平和智能程度直接決定該企業(yè)的生產(chǎn)效率。OpenCV被廣泛運(yùn)用于工業(yè)生產(chǎn)的機(jī)器視覺(jué)研究中,具有實(shí)現(xiàn)簡(jiǎn)單、效率高、通用性好的特點(diǎn)[4]。

2 ? 環(huán)境準(zhǔn)備(Environmental preparation)

為減小外界無(wú)關(guān)環(huán)境影響導(dǎo)致算法計(jì)算量的繁雜度,通過(guò)搭建檢測(cè)黑箱,側(cè)向打光補(bǔ)充黑箱內(nèi)光線環(huán)境,運(yùn)用CCD工業(yè)攝像機(jī)抓拍圖像。環(huán)境模型圖參照?qǐng)D1檢測(cè)黑箱。

3 ? 圖像預(yù)處理(Image preprocessing)

圖像采集過(guò)程中,由于傳送帶上的污漬劃痕,以及齒輪上的刮痕等因數(shù)會(huì)產(chǎn)生不利于檢測(cè)結(jié)果的噪點(diǎn)。因此,對(duì)實(shí)時(shí)抓拍的原始圖像進(jìn)行灰度化、濾波、二值化、形態(tài)學(xué)處理去除背景[5],流程圖參照?qǐng)D2圖像處理過(guò)程。

3.1 ? 灰度化

抓拍原始圖像,然后采用加權(quán)平均法對(duì)原始圖像進(jìn)行灰度化處理[6],得到處理后圖像,灰度化效果參照?qǐng)D3灰度化處理,所敘述灰度化處理計(jì)算公式為:

其中,為像素點(diǎn)為坐標(biāo)為的灰度結(jié)果,R為紅色通道數(shù)據(jù),G為綠色通道數(shù)據(jù),B為藍(lán)色通道數(shù)據(jù)。

3.2 ? 高斯濾波除噪

抓拍的圖像包含各種各樣的噪聲,為減少后續(xù)圖像處理和輪廓計(jì)算復(fù)雜度,需要對(duì)圖像進(jìn)行濾波除噪。圖像濾波指在盡量保留圖像細(xì)節(jié)特征的條件下對(duì)目標(biāo)圖像的噪聲進(jìn)行抑制。根據(jù)圖像的能量大部分集中在低頻和中頻的幅度譜中,而較高頻段的信息則會(huì)被大量的噪聲淹沒(méi),為簡(jiǎn)約后續(xù)圖像處理,消除抓拍時(shí)混入的噪聲。

主要濾波有線性濾波和非線性濾波,其中線性濾波有方框?yàn)V波、均值濾波、高斯濾波,非線性濾波有中值濾波和雙邊濾波。根據(jù)頻率,還分低通濾波器和高通濾波器,之外還有在特定頻率通過(guò)的帶通濾波器,特定頻率阻止通過(guò)的帶阻濾波器,以及允許所有頻率的全通濾波器。

高斯濾波指以高斯函數(shù)作為濾波函數(shù)進(jìn)行濾波操作,高斯低通是模糊,高斯高通是銳化。高斯濾波對(duì)整幅圖像進(jìn)行加權(quán)平均計(jì)算,每個(gè)像素值都由其本身和領(lǐng)域內(nèi)其他的像素經(jīng)過(guò)加權(quán)平均得到結(jié)果。在灰度化后對(duì)圖像進(jìn)行高斯濾波,其計(jì)算公式為:

其中,σ表示方差。高斯濾波處理后圖像參照?qǐng)D4高斯濾波處理。

3.3 ? 二值化

在濾波之后根據(jù)圖像與背景占據(jù)不同灰度等級(jí)范圍,設(shè)定閾值進(jìn)行二值化處理,對(duì)齒輪與背景進(jìn)行分割。通過(guò)適當(dāng)閾值處理圖像,使處理后圖像的集合性質(zhì)只有與像素值為0或255的點(diǎn)的位置信息相關(guān),不在涉及像素的多級(jí)值。

圖像信息計(jì)算信號(hào)值原理圖參照?qǐng)D5二值化計(jì)算。

圖5中Src為輸入源信號(hào)值,Dst為計(jì)算后信號(hào)值。二值化處理后圖像參照?qǐng)D6二值化處理。

3.4 ? 形態(tài)學(xué)運(yùn)算

經(jīng)過(guò)二值化處理后,提取的目標(biāo)中會(huì)存在偽目標(biāo)圖像的問(wèn)題,或者進(jìn)行多個(gè)目標(biāo)同時(shí)處理時(shí),多個(gè)目標(biāo)物中間存在粘連或是斷裂現(xiàn)象的問(wèn)題。為區(qū)分所提取的目標(biāo)物,對(duì)不同目標(biāo)特征進(jìn)行描述與計(jì)算,再次運(yùn)用形態(tài)學(xué)運(yùn)算進(jìn)行計(jì)算。

形態(tài)學(xué)運(yùn)算指先進(jìn)行膨脹運(yùn)算,對(duì)二值化圖像中存在的細(xì)小斷裂點(diǎn)進(jìn)行連接,再進(jìn)行腐蝕運(yùn)算,消除圖像邊界,去除圖像中細(xì)小連接點(diǎn)[7]。

腐蝕是一種消除連通域的邊界點(diǎn),使邊界向內(nèi)收縮的處理。腐蝕運(yùn)算的計(jì)算公式為:,處理原理示意圖參照?qǐng)D7腐蝕運(yùn)算。

膨脹是將與目標(biāo)圖像區(qū)域的背景點(diǎn)整合到改目標(biāo)圖像中,使目標(biāo)圖像邊界向外擴(kuò)張的處理。膨脹運(yùn)算的計(jì)算公式為:,處理示意圖參照?qǐng)D8膨脹運(yùn)算。

其中,結(jié)構(gòu)B是用來(lái)膨脹A,S是用來(lái)腐蝕X,結(jié)構(gòu)B和S為矩陣結(jié)構(gòu)。

4 ? 齒輪輪廓處理(Gear profile treatment)

4.1 ? 計(jì)算齒輪輪廓

計(jì)算圖像邊緣的算法算子有Rebert算子、Prewitt算子、Sobel算子、Laplacian算子和Canny算子。其中,Canny邊緣檢測(cè)算子是一個(gè)非常普遍且高效的算子。Canny算子先對(duì)灰度化后的圖像使用高斯濾波器進(jìn)行平滑,計(jì)算圖像平滑后每個(gè)像素點(diǎn)的梯度幅值和梯度方向。梯度方向用于細(xì)化邊緣,當(dāng)梯度幅值不高于梯度方向的兩個(gè)鄰點(diǎn)的梯度幅值,則抑制該像素響應(yīng),達(dá)到邊緣細(xì)化的目的。

Canny算子使用兩個(gè)幅值閾值,高閾值和低閾值。高閾值用來(lái)檢測(cè)梯度幅值大的強(qiáng)邊緣,低閾值用來(lái)檢測(cè)梯度幅值小的弱邊緣。邊緣細(xì)化后,跟蹤具有高幅值的輪廓,從滿足高閾值的邊緣像素開始,順序跟蹤連續(xù)的輪廓段,把與強(qiáng)邊緣相連的弱邊緣連接起來(lái),可得到目標(biāo)圖像的邊緣輪廓。Canny邊緣檢測(cè)算法的基本過(guò)程參照?qǐng)D9Canny邊緣檢測(cè)。

Canny算子具有參數(shù)較少、計(jì)算效率高、得到的邊緣連續(xù)完整、Gauss濾波的尺度的選擇和雙閾值的選擇等優(yōu)點(diǎn)。

4.2 ? 提取齒輪輪廓

根據(jù)Canny算子運(yùn)算后,采用Findcontours方法進(jìn)行輪廓獲取[8],輪廓經(jīng)檢測(cè)后,邊緣計(jì)算由計(jì)算出極大值點(diǎn),根據(jù)過(guò)零點(diǎn)信息和圖像梯度計(jì)算出上下極限位置,構(gòu)成frame等信息,根據(jù)這些信息把輪廓檢測(cè)后得到的數(shù)據(jù)進(jìn)行篩選,去除零散不符合要求的輪廓后,把計(jì)算后的輪廓保存在構(gòu)建的多維數(shù)組中稍待后面進(jìn)行計(jì)算處理。

設(shè)定特定雙閾值,篩選輪廓信息,把低于低閾值的輪廓信息組刪去,低于閾值的輪廓信息為生產(chǎn)線上刮痕等痕跡的輪廓信息;把高于高閾值的輪廓信息組刪去,高于高閾值的輪廓信息為生產(chǎn)線的流水線邊緣。檢測(cè)到的輪廓圖像參照?qǐng)D10齒輪輪廓。

5 ?篩選齒輪并計(jì)算反饋位置(Select gear and calculate feedback position)

獲得齒輪輪廓后根據(jù)輪廓信息篩選齒輪,齒輪可能存在的瑕疵有尺寸不達(dá)標(biāo)、缺齒、多齒、齒距不達(dá)標(biāo)和齒深不達(dá)標(biāo)。

5.1 ? 尺寸不達(dá)標(biāo)

根據(jù)輪廓信息計(jì)算當(dāng)前齒輪輪廓最外層齒輪的輪齒位置分別為Q1、Q2、Q3、Q4,其中,Q1、Q2點(diǎn)在縱坐標(biāo)上,Q3、Q4點(diǎn)在橫坐標(biāo)上。根據(jù)四個(gè)頂點(diǎn)確定與齒輪相切的正方形的面積S=(Q2-Q1)*(Q4-Q3);當(dāng)結(jié)果S比預(yù)設(shè)值大時(shí),意味著當(dāng)前齒輪尺寸過(guò)大,當(dāng)S比預(yù)設(shè)值小時(shí),則當(dāng)前齒輪尺寸大小。

5.2 ? 齒距不達(dá)標(biāo)以及缺齒和少齒

獲取輪廓信息,對(duì)輪廓進(jìn)行凸包檢測(cè),假設(shè)一個(gè)點(diǎn)集,對(duì)點(diǎn)集中任意兩個(gè)點(diǎn)P和Q,以P和Q為端點(diǎn)的線段被包在這個(gè)子集中,則S是凸包。一個(gè)點(diǎn)集S的凸包是包含S的最小凸集。

運(yùn)用convexHull算法和convexityDefects算法齒輪輪廓進(jìn)行運(yùn)算,獲取凸包數(shù)據(jù)。根據(jù)凸包數(shù)據(jù)進(jìn)行凸包檢測(cè),計(jì)算凸包總數(shù)為n,齒輪標(biāo)準(zhǔn)齒數(shù)為m,當(dāng)m>n時(shí),當(dāng)前齒輪齒數(shù)多于生產(chǎn)標(biāo)準(zhǔn),當(dāng)m

當(dāng)齒輪齒數(shù)達(dá)標(biāo)后,檢測(cè)齒輪的齒距,任意相鄰齒輪齒尖A1(A1.x,A1.y)與A2(A2.x,A2.y)的間距。其中x、y為齒尖對(duì)應(yīng)橫縱坐標(biāo)。標(biāo)準(zhǔn)齒輪齒距為L(zhǎng),當(dāng)L=W時(shí),該齒輪為符合生產(chǎn)標(biāo)準(zhǔn)齒輪,否則不達(dá)標(biāo)。

5.3 ? 齒深不達(dá)標(biāo)

檢測(cè)完齒數(shù)、齒距后進(jìn)行齒深檢測(cè),齒尖A1與A2之間,與A1和A2相連接位于輪廓最內(nèi)層的點(diǎn)Q(Q.x,Q.y),

點(diǎn)A1、A2、Q構(gòu)成三角形,則Q到齒尖的距離為。其中,A為齒尖距離,由勾股定理得,齒深。生產(chǎn)標(biāo)準(zhǔn)齒深為h,當(dāng)H=h時(shí),該齒輪符合生產(chǎn)標(biāo)準(zhǔn),否則,不達(dá)標(biāo)。

5.4 ? 計(jì)算被篩選齒輪位置

當(dāng)檢測(cè)不合格后,根據(jù)輪齒Q1、Q2、Q3、Q4,計(jì)算齒輪中心C(x,y),其中,x=|Q2.x-Q1.x|,y=|Q2.y-Q1.y|。相機(jī)拍攝圖像與實(shí)際拍攝位置面積比例為ε,則當(dāng)前齒輪的實(shí)際位置為P(x*ε,y*ε)。計(jì)算到結(jié)果后把計(jì)算結(jié)果反饋給機(jī)械臂,由機(jī)械臂把不達(dá)標(biāo)齒輪篩選出來(lái)。

6 ? 結(jié)論(Conclusion)

本文針對(duì)基于機(jī)器視覺(jué)的高速智能檢測(cè)技術(shù)一直是制約著中國(guó)制造業(yè)的發(fā)展的瓶頸的問(wèn)題,提出基于OpenCV的機(jī)器視覺(jué)應(yīng)用于工業(yè)生產(chǎn)流水線中齒輪瑕疵檢測(cè)和篩選,研究一種應(yīng)用于齒輪瑕疵檢測(cè)的工業(yè)生產(chǎn)流水線,探索解決制約制造業(yè)發(fā)展的途徑。根據(jù)工業(yè)相機(jī)的高幀率快速抓拍,高效率篩選齒輪,可以檢測(cè)齒輪的尺寸、齒數(shù)、齒深、齒距等瑕疵,并把瑕疵齒輪的位置信息反饋給機(jī)械臂。由于相機(jī)是垂直拍攝,檢測(cè)齒輪厚度有一定局限性,會(huì)導(dǎo)致較大的誤差,可在此基礎(chǔ)上研究雙攝像機(jī)聯(lián)拍,在檢測(cè)齒輪正面瑕疵的基礎(chǔ)上增加檢測(cè)側(cè)面,以及齒輪厚度的功能。

參考文獻(xiàn)(References)

[1] 易東蔚,梁玉強(qiáng),陳勁杰.基于OpenCV的齒輪自動(dòng)識(shí)別研究[J].農(nóng)業(yè)裝備與車輛工程,2019,057(007):79-82.

[2] Sun S, Yang X. Method of CCD Camera Calibration Based on OpenCV[J]. fire control & command control, 2014: 34-37.

[3] 劉慶宏,王聲文,白彥慶.基于OpenCV的機(jī)器視覺(jué)功能開發(fā)及在工業(yè)生產(chǎn)中的應(yīng)用[J].制造技術(shù)與機(jī)床,2015(3):40-43.

[4] 范瑞琪,任德均,歐彬,等.基于OpenCV的相機(jī)顯示研究與實(shí)現(xiàn)[J].精密制造與自動(dòng)化,2017(02):28-31.

[5] Kaehler A, Bradski G. Learning OpenCV: Computer Vision in C++ with the OpenCV Library[M]. O'Reilly Media, Inc. 2013.

[6] 余輝,王林,王德勝.OpenCV在產(chǎn)品特征檢測(cè)系統(tǒng)中的應(yīng)用[J].科技視界,2013(05):45;100.

[7] 秦小文,溫志芳,喬維維.基于OpenCV的圖像處理[J].電子測(cè)試,2011(07):39-41.

[8] Adrian Kaehler, Gary Bradski. Learning Opencv 3: Computer Vision in C++ with the Opencv Library[M]. O'Reilly Media, Inc. 2016.

作者簡(jiǎn)介:

葉潤(rùn)東(1996-),男,本科,技術(shù)員.研究領(lǐng)域:軟件開發(fā),機(jī)器視覺(jué).

姚佳岷(1985-),男,碩士,實(shí)驗(yàn)師.研究領(lǐng)域:軟件開發(fā),深度學(xué)習(xí),機(jī)器視覺(jué).

魏宇昕(1996-),男,本科,技術(shù)員.研究領(lǐng)域:軟件開發(fā).

林雪晴(1998-),女,本科,技術(shù)員.研究領(lǐng)域:電子科學(xué).

陳志偉(1998-),男,本科生.研究領(lǐng)域:嵌入式系統(tǒng),自動(dòng)化.

張偉榮(1997-),男,本科,技術(shù)員.研究領(lǐng)域:3D建模.

猜你喜歡
機(jī)器視覺(jué)圖像處理
基于圖像處理的機(jī)器人精確抓取的設(shè)計(jì)與實(shí)現(xiàn)
機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
大場(chǎng)景三維激光掃描儀在研究生實(shí)踐教學(xué)培養(yǎng)中的應(yīng)用
基于機(jī)器視覺(jué)技術(shù)的動(dòng)態(tài)“白帶”常規(guī)檢測(cè)系統(tǒng)的開發(fā)
機(jī)器視覺(jué)技術(shù)在煙支鋼印檢測(cè)中的應(yīng)用
基于圖像處理的定位器坡度計(jì)算
Photo Shop通道在圖像處理中的應(yīng)用
莆田市| 和田县| 玉山县| 沁阳市| 紫云| 泉州市| 会泽县| 临江市| 湾仔区| 娄烦县| 福清市| 威信县| 左贡县| 宜兰市| 遵化市| 陈巴尔虎旗| 丁青县| 黔西县| 恩平市| 陆河县| 宜宾市| 宜丰县| 福海县| 阳山县| 牡丹江市| 襄垣县| 陆丰市| 丰原市| 丹巴县| 三河市| 建阳市| 宁远县| 六枝特区| 军事| 新民市| 福清市| 封丘县| 巩义市| 锦州市| 丹凤县| 长沙县|