• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      改進(jìn)Canny算法在碼垛機(jī)器人視覺圖像處理中的應(yīng)用研究

      2018-10-09 07:06:00王國虎薛進(jìn)學(xué)
      機(jī)電工程 2018年9期
      關(guān)鍵詞:碼垛梯度幅值

      王國虎,薛進(jìn)學(xué)

      (1.鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 機(jī)電工程學(xué)院,河南 新鄭 451152;2.河南科技大學(xué) 機(jī)電工程學(xué)院,河南 洛陽 471003)

      0 引 言

      近年來,為適應(yīng)自動(dòng)化水平和勞動(dòng)力成本的不斷提高這一趨勢(shì),各類碼垛機(jī)器人得到廣泛應(yīng)用。碼垛機(jī)器人的使用提高了工業(yè)生產(chǎn)的自動(dòng)化、智能化、標(biāo)準(zhǔn)化程度[1]。其中,機(jī)器人視覺作為碼垛機(jī)器人應(yīng)用的一項(xiàng)關(guān)鍵技術(shù)變得越來越重要。機(jī)器人視覺系統(tǒng)要求碼垛機(jī)器人能夠?qū)Σ煌螤罟ぜ诖a垛時(shí)進(jìn)行判斷與識(shí)別。首先機(jī)器人視覺系統(tǒng)對(duì)工件進(jìn)行圖像獲取、識(shí)別和定位,然后經(jīng)控制部分作出判斷,控制碼垛機(jī)器人抓取工件將其置于指定的位置。

      在一幅數(shù)字圖像中,邊緣信息雖然只占有有限的像素,但包含了大量的圖像特征信息。因此,邊緣檢測(cè)技術(shù)是機(jī)器人視覺、數(shù)字圖像處理和圖像分析領(lǐng)域研究的重點(diǎn)和難點(diǎn)[2]。傳統(tǒng)的邊緣檢測(cè)算法,如Sobel算法、Roberts算法、Prewitt算法、Log算法、Krich算法等處理效果不理想。1986年John Canny首次提出了Canny邊緣檢測(cè)算法,該算法能有效彌補(bǔ)其他傳統(tǒng)邊緣檢測(cè)算法的不足,因此Canny算法被認(rèn)定為邊緣檢測(cè)方法中較好的算法[3]。

      但是,由于科技的進(jìn)步,要求邊緣檢時(shí)對(duì)外部復(fù)雜的影響因素處理能力提升。由于對(duì)噪聲比較敏感,傳統(tǒng)Canny算法在檢測(cè)過程中會(huì)有偽邊緣和孤立邊緣點(diǎn)產(chǎn)生,影響了圖像的處理效果[4]。又因?yàn)樵诓捎秒p閾值方法定位邊緣時(shí),選擇下限閾值會(huì)對(duì)圖像處理結(jié)果產(chǎn)生很大影響,下限閾值過大時(shí)容易丟失邊緣細(xì)節(jié),無法形成完整邊緣曲線,造成邊緣曲線出現(xiàn)間斷;而下限閾值過小時(shí)又會(huì)出現(xiàn)大量的偽邊緣[5]。并且傳統(tǒng)Canny算法獲取的邊緣不能達(dá)到單像素級(jí),在一個(gè)邊緣點(diǎn)會(huì)出現(xiàn)多個(gè)響應(yīng)的現(xiàn)象。這些問題制約了傳統(tǒng)Canny算法在實(shí)際生產(chǎn)中的應(yīng)用。為此,國內(nèi)外很多專家學(xué)者對(duì)圖像邊緣檢測(cè)技術(shù)進(jìn)行了深入研究,提出了多種改進(jìn)方法,取得了較好的應(yīng)用效果。

      本文根據(jù)碼垛機(jī)器人工作的實(shí)際情況,提出一種優(yōu)化改進(jìn)方法。

      1 碼垛機(jī)器人視覺系統(tǒng)及圖像處理

      碼垛機(jī)器人視覺系統(tǒng)是通過碼垛機(jī)器人視覺傳感器抓取圖像,然后將圖像傳送至處理單元,通過數(shù)字化處理,根據(jù)像素分布和亮度、顏色等信息,進(jìn)行尺寸、形狀、顏色等的判別,進(jìn)而根據(jù)判別結(jié)果控制現(xiàn)場(chǎng)設(shè)備動(dòng)作的系統(tǒng)[6]。

      機(jī)器人視覺系統(tǒng)一般由光源、光學(xué)系統(tǒng),CCD/CMOS攝像機(jī)、圖像采集卡、圖像處理軟件、監(jiān)視器、計(jì)算機(jī)、通信(輸入/輸出)單元等組成。組成關(guān)系如圖1所示。

      常用的圖像處理方法有圖像增強(qiáng)、圖像平滑、邊緣銳化、圖像分割和圖像識(shí)別等[7]。

      圖1 碼垛機(jī)器人視覺系統(tǒng)的組成

      由于通過碼垛機(jī)器人視覺系統(tǒng)獲取的初始圖像質(zhì)量較低,不利于后續(xù)處理,首先要通過圖像處理軟件對(duì)其進(jìn)行圖像處理,輸出改善質(zhì)量后的圖像,以便于計(jì)算機(jī)對(duì)圖像分析、處理和識(shí)別,然后通過設(shè)計(jì)合理的高通濾波器對(duì)圖像進(jìn)行梯度濾波,得到邊緣信息[8]。

      邊緣檢測(cè)法以物體的邊界對(duì)圖像進(jìn)行分割,通過檢測(cè)圖像中的局部不連續(xù)性得到圖像的邊緣(通常將畫面上灰度突變部分當(dāng)作邊緣),通過一些策略把局部邊緣分割成局部區(qū)域的方法確定物體邊緣。

      常用的邊緣檢測(cè)的梯度算法有Robert、Sobel、Prewitt和Canny等,在實(shí)際應(yīng)用中這些算法檢測(cè)效果各有特點(diǎn)。其中Canny算法由于具有較高的信噪比和檢測(cè)精度,在圖像處理領(lǐng)域有著廣泛的應(yīng)用。

      2 傳統(tǒng)Canny算法優(yōu)缺點(diǎn)

      傳統(tǒng)Canny算法通過高斯濾波器對(duì)圖像進(jìn)行平滑處理之后再對(duì)梯度幅值進(jìn)行非極大值抑制,最后設(shè)置全局高低閾值th1和th2,選取邊緣點(diǎn)[9]。其邊緣檢測(cè)有以下優(yōu)點(diǎn):(1)信噪比好;(2)定位精度高;(3)單邊緣響應(yīng)性好。根據(jù)以上準(zhǔn)則,Canny推導(dǎo)出最優(yōu)邊緣檢測(cè)算法的一個(gè)近似實(shí)現(xiàn),即邊界點(diǎn)位于圖像被高斯函數(shù)平滑后的梯度幅值的極大點(diǎn)。

      由于自動(dòng)化生產(chǎn)要求機(jī)器視覺對(duì)外界復(fù)雜的條件,如光照不足、噪聲干擾等有更好的適應(yīng)性,Canny算法的不足主要有:(1)噪聲影響圖像平滑,抑制噪聲過強(qiáng)會(huì)使圖像邊緣位置產(chǎn)生偏移;(2)邊緣檢測(cè)的高低閾值th1和th2需要實(shí)驗(yàn)測(cè)試并通過人為設(shè)定,無法滿足自動(dòng)化檢測(cè)的要求。

      3 改進(jìn)的Canny邊緣提取算法

      為彌補(bǔ)Canny算法的不足,本文通過改進(jìn)的Canny算法,在采用在像素3×3鄰域內(nèi)通過計(jì)算x,y,45°,135°這4個(gè)方向一階偏導(dǎo)數(shù)有限差分來確定像素梯度幅值的方法,通過構(gòu)造梯度直方圖以及構(gòu)造高、低閾值的方法自動(dòng)確定最佳閾值。

      3.1 改進(jìn)的梯度幅值計(jì)算方法

      傳統(tǒng)的Canny算法采用2×2鄰域一階偏導(dǎo)的有限差分來計(jì)算平滑后的圖像梯度幅值和方向,x方向和y方向偏微分Px、Py為:

      (1)

      (2)

      梯度幅值M(i,j)為:

      (3)

      梯度方向θ(i,j)為:

      (4)

      式中:M(i,j)—反映了圖像像素點(diǎn)(i,j)處的邊緣強(qiáng)度;θ(i,j)—垂直于邊緣的方向。

      傳統(tǒng)Canny算法通過濾波抑制噪聲會(huì)造成圖像過度光滑,進(jìn)而造成邊緣丟失及虛假邊緣的產(chǎn)生。本文采用在像素3×3鄰域內(nèi)通過計(jì)算x,y,45°,135°這4個(gè)方向一階偏導(dǎo)數(shù)有限差分來確定像素梯度幅值的方法,算法如下:

      x方向偏導(dǎo)數(shù)Px為:

      Px=I[i+1,j]-I[i-1,j]

      (5)

      y方向偏導(dǎo)數(shù)Py為:

      Py=I[i,j+1]-I[i,j-1]

      (6)

      45°方向偏導(dǎo)數(shù)P45°為:

      P45°=I[i-1,j+1]-I[i+1,j-1]

      (7)

      135°方向偏導(dǎo)數(shù)P135°為:

      P135°=I[i+1,j+1]-I[i-1,j-1]

      (8)

      像素梯度幅值M(i,j)為:

      (9)

      梯度方向θ(i,j)為:

      (10)

      改進(jìn)算法采用3×3鄰域內(nèi)包含8方向的鄰域?qū)μ荻确店嚵蠱(i,j)中的所有像素沿梯度方向進(jìn)行梯度幅值的插值,檢測(cè)幅度的極大值點(diǎn),進(jìn)而得到邊緣點(diǎn),滿足處理過程中抑制噪聲的要求[10]。

      3.2 自適應(yīng)閾值的確定

      Canny算法不能根據(jù)圖像的特征自適應(yīng)地確定高、低閾值參數(shù),需要進(jìn)行多次試驗(yàn)和數(shù)據(jù)統(tǒng)計(jì),并人為設(shè)定。鑒于此,本文使用自適應(yīng)動(dòng)態(tài)閾值的確定方法。

      (1)構(gòu)建梯度直方圖

      筆者統(tǒng)計(jì)經(jīng)過非極大值抑制后圖像N[i,j]中標(biāo)志位不為0的像素的梯度幅值,構(gòu)建出梯度直方圖。

      (2)構(gòu)建高、低閾值

      為了不產(chǎn)生虛假邊緣,必須在梯度直方圖的非邊緣區(qū)域以外的范圍選取高閾值τh。根據(jù)均值和方差的計(jì)算方法,本研究利用μ0(t)和σ0或者μ1(t)和σ1計(jì)算出非邊緣區(qū)域的范圍。研究發(fā)現(xiàn):利用μ0(t)和σ0確定非邊緣區(qū)域,進(jìn)而在處理過程中自適應(yīng)地確定高、低閾值的方法效果良好。當(dāng)高閾值τh大于μ0(t)與σ0之和時(shí)可以認(rèn)為τh在非邊緣區(qū)域以外,較好地防止虛假邊緣在輪廓圖中出現(xiàn)。

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

      為驗(yàn)證改進(jìn)Canny邊緣檢測(cè)算法的應(yīng)用效果,筆者對(duì)圖像進(jìn)行閾值選取實(shí)驗(yàn),選取最高、低閾值系數(shù)為0.1、0.3對(duì)碼垛機(jī)器人攝像機(jī)視覺圖像進(jìn)行邊緣檢測(cè),圖像處理結(jié)果如圖(2,3)所示。

      圖2 傳統(tǒng)Canny算法(τl=0.1,τh=0.3)

      圖3 傳統(tǒng)Canny算法(τl=0.2,τh=0.4)

      本研究選取最高、低閾值系數(shù)為0.2、0.4,對(duì)碼垛機(jī)器人攝像機(jī)視覺圖像進(jìn)行邊緣檢測(cè),圖像處理結(jié)果如圖4所示。

      圖4 改進(jìn)的Canny算法

      由圖2、圖4可知:在未找到最適宜最高閾值和最低閾值的情況下,圖像處理結(jié)果會(huì)丟失大量的圖片邊緣信息,導(dǎo)致邊緣檢測(cè)結(jié)果不連貫。

      為對(duì)比改進(jìn)的自適應(yīng)Canny算法和其他幾種算法的檢測(cè)效果,筆者分別取傳統(tǒng)Canny算法、Prewitt算法和Robert算法對(duì)碼垛機(jī)器人攝像機(jī)視覺圖像進(jìn)行邊緣檢測(cè)。傳統(tǒng)Canny算法邊緣檢測(cè)出現(xiàn)斷邊及邊緣信息缺失情況,如圖5所示。

      圖5 傳統(tǒng)Canny算法

      Prewitt算法邊緣檢測(cè)結(jié)果如圖6所示。

      圖6 Prewitt算法

      Robert算法邊緣檢測(cè)結(jié)果如圖7所示。

      圖7 Roberts算法

      由圖7可知:均有斷邊及關(guān)鍵點(diǎn)邊緣信息丟失情況產(chǎn)生。而如圖4所示改進(jìn)的Canny算法邊緣檢測(cè)結(jié)果可以抑制虛假邊緣,并能有效保留原始圖像邊緣信息,其邊緣檢測(cè)比傳統(tǒng)Canny算法、Prewitt算法和Robert算法的效果好。

      5 結(jié)束語

      本文介紹了碼垛機(jī)器人視覺系統(tǒng)的組成,研究了視覺檢測(cè)的原理和方法,針對(duì)實(shí)際應(yīng)用中Canny算法在圖像邊緣處理過程中對(duì)噪聲敏感和無法自動(dòng)適應(yīng)閾值的缺點(diǎn),通過改變梯度幅值計(jì)算方法和自適應(yīng)設(shè)定閾值的方法對(duì)其進(jìn)行了改進(jìn)。

      實(shí)驗(yàn)結(jié)果表明:改進(jìn)后的Canny算法能有效避免斷邊及虛假邊緣的產(chǎn)生,并能自適應(yīng)地設(shè)定高低閾值取得良好的邊緣處理效果,在圖像邊緣處理效果上要優(yōu)于傳統(tǒng)的Canny算法、Prewitt算法和Robert算法,但改進(jìn)方法在應(yīng)用過程中存在運(yùn)算速度較慢的問題,有待進(jìn)一步研究解決。

      猜你喜歡
      碼垛梯度幅值
      一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
      可控機(jī)構(gòu)式碼垛機(jī)器人的運(yùn)動(dòng)學(xué)誤差分析
      移動(dòng)式碼垛機(jī)器人移動(dòng)臂的優(yōu)化設(shè)計(jì)
      一種自適應(yīng)Dai-Liao共軛梯度法
      GSK工業(yè)機(jī)器人碼垛程序編寫技巧
      電子制作(2019年20期)2019-12-04 03:51:36
      一類扭積形式的梯度近Ricci孤立子
      基于S變換的交流電網(wǎng)幅值檢測(cè)系統(tǒng)計(jì)算機(jī)仿真研究
      電子制作(2017年7期)2017-06-05 09:36:13
      正序電壓幅值檢測(cè)及諧波抑制的改進(jìn)
      低壓電力線信道脈沖噪聲的幅值與寬度特征
      基于零序電壓幅值增量的消弧線圈調(diào)諧新方法
      金平| 兰坪| 鸡西市| 原阳县| 北安市| 苏州市| 淄博市| 绩溪县| 屏边| 资源县| 新丰县| 江口县| 西林县| 旅游| 淅川县| 阳城县| 潮州市| 永清县| 甘洛县| 怀宁县| 韶山市| 萍乡市| 阿合奇县| 昔阳县| 武威市| 且末县| 宁陕县| 卢龙县| 静宁县| 莱阳市| 普兰店市| 肥东县| 正镶白旗| 临洮县| 吐鲁番市| 涪陵区| 抚松县| 大余县| 招远市| 右玉县| 丰县|