999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Canny算子檢測焊縫的GPU并行加速研究

2018-10-31 02:05:34白東陽劉健王曉曼景文博
關鍵詞:焊縫檢測

白東陽,劉健,王曉曼,景文博

(1.長春理工大學 電子信息工程學院,長春 130022;2.長春理工大學 光電工程學院,長春 130022)

隨著科技的發展,焊接技術已在我國國民經濟中占據著越來越重要的地位[1]。如今計算機機器視覺的飛速發展,使得該技術越來越多的應用到焊縫檢測領域,通過圖像處理對工業中的焊縫實體進行數字化的分析計算,利用視覺傳感器獲取圖像數據,運用圖像處理算法快速準確的提取焊縫的特征,得到焊縫的間距等信息。

在工業焊接中,獲取焊縫間距是進行后續焊接操作的重要參考,而準確快速地檢測出焊縫邊緣又對計算焊縫間距至關重要,所以如何檢測出焊縫的邊緣信息顯得尤為重要[2]。而焊縫圖像往往存在大量的噪聲信號,并且焊件的表面材質復雜、光照不均勻等因素都會對圖像處理結果造成較大的影響,經過大量的圖像處理工程經驗的Canny算子可以有效的應用于焊縫的邊緣檢測中,其精度高、靈活性大的優點作為本算法的首選[3]。但是Canny算子也具有明顯的缺點,由于采用高斯濾波、非極大值抑制、邊緣連接的計算流程,存在算法復雜度高、運算速度緩慢,與實際工程中快速準確的應用原則相悖,極大的制約了算法的工程實用性。同時,單一的CPU處理和OpenCV處理執行效率也不高,不能用于快速場景檢測以及工程項目開發中。

為了提高Canny算子的計算速度,利用GPU并行化處理是一種很好的選擇[4]。GPU擁有多個線程,可以對低耦合、高并行的大型數據進行快速計算;同時,近年來GPU的并行計算日臻成熟,其友好的編程操作、親民的價格也為使用GPU并行處理Canny算子檢測焊縫提供了可能。要想使用GPU并行處理Canny算子檢測焊縫必須對Canny算子的處理過程優化和并行化改造,以此契合GPU的并行化處理要求。通過對Canny算子的優化改造,運行GPU+CPU的處理模式使得一幅1280×960的圖像邊緣檢測時間縮短到10ms以內,大大提高了算法執行效率,為實際工業使用奠定了基礎。

1 Canny算子流程和耗時分析

1.1 高斯濾波

在對焊縫的采像過程中,由電子器件產生的高斯噪聲是主要的噪聲因素,在對焊縫圖像的處理中,經常采用3×3或5×5的卷積模板進行高斯濾波,以便消除高斯噪聲。濾除高斯噪聲是準確獲得焊縫邊緣檢測結果的基礎。

通過公式(1)對焊縫圖像每個像素進行卷積運算。經過高斯濾波處理,焊縫圖像較之原圖像會顯得模糊,但是焊縫圖像中的高斯噪聲得到了有效抑制。

公式(2)為Canny算子x方向和y方向所采用的卷積算子:

Canny算子的梯度幅值和梯度方向的計算為:

1.2 非極大值抑制

非極大值抑制(NMS)主要是為了更精確的定位焊縫邊緣特征,用梯度變化表征邊緣時,梯度變化較大的區域通常比較寬,所以利用x和y方向的梯度確定一個法向arctan(y/x),然后在法向上判斷當前梯度測量是否是一個峰值(或局部極大值),如果是就保留,不是極大值就抑制,如圖1所示。

圖1 非極大值抑制示意圖

在Canny算子檢測焊縫中進行非極大值抑制步驟必不可少,目的就是通過梯度變化確定出圖像中的局部最大值,同時將非極大值的像素值置為0,通過這種處理可以將大量的偽邊緣點剔除,使得邊緣檢測準確可靠。

1.3 雙閾值邊緣假設

Canny算法不使用單一閾值濾波,而是使用一種雙閾值法的連通分量分析技術[5]。此步驟使用兩個閾值,T1和T2,其中T1>T2,將像素劃分為邊緣和非邊緣像素。梯度值高于T1的像素被歸類為邊緣像素,像素值處于T1和T2之間的被歸類為潛在的邊緣像素,T2下的像素被歸類為非邊緣像素,所有靠近確定邊緣的潛在邊緣像素也會被標記為確定邊緣像素。通過判斷較強的邊緣像素和相對較弱的邊緣像素,可以把焊縫圖像中的邊緣輪廓完整提取出來,在輪廓末端會在當前像素鄰域內進行判斷,找出大于T1值的像素,并確定為邊緣像素,使得檢測出圖像邊緣并完全閉合。

1.4 CPU執行Canny算子耗時分析

表1是對不同尺寸的圖像完成整個Canny算子邊緣檢測的執行時間;圖2是在CPU執行Canny算子的整個過程中各個步驟的所耗時間比例,Canny算子在高斯濾波和邊緣搜索環節最為耗時,高斯濾波通過卷積操作對圖像的每個像素進行運算,如果不進行加速,此步驟耗時嚴重,不過該操作很容易進行GPU并行化加速改造;同時邊緣搜索是對已經被標記的8鄰域點進行搜索,如果是有效點,則標記處理,該單一線程搜索模式速度緩慢,利用GPU優化也相當合適。

表1 CPU實現不同圖像尺寸Canny算法的執行時間

圖2 Canny算法各步驟執行時間比例圖

2 Canny算法優化與GPU加速

2.1 優化高斯濾波和差分

高斯濾波通過公式(4)對焊縫圖像進行濾波操作:

其中,I(i,j)為濾波后的像素值,A(i,j+t)為原像素值。由公式(1)和公式(2)可知高斯卷積核呈中心對稱分布,可以將高斯濾波分為x方向和y方向兩次濾波,各個方向均為一維高斯濾波[6]。

其中,公式(5)和公式(6)分別是是焊縫圖像在x方向上和y方向上的一維高斯濾波。之前對焊縫圖像像素采用二維高斯濾波改造為兩次相垂直方向的兩次濾波,具有兩個明顯的好處:首先,運算復雜度降低,對于分辨率為M×N大小的焊縫圖像,原有的復雜度O((2a+1)×(2a+1)×M×N)降為O((2a+1)×M×N×2);還符合GPU并行處理模式,將單一線程操作擴展為多線程并行操作,利用GPU的多線程并行處理優勢極大縮短了焊縫圖像的高斯濾波時間,GPU加速原理如圖3所示。

圖3 GPU加速原理圖

2.2 GPU加速非極大值抑制和雙閾值圖像分割

非極大值抑制在Canny算子整個算法流程中所用時間最少,該步驟和雙閾值圖像分割過程一樣均屬于大數據量簡單計算操作,根據尋找搜索方向和梯度大小,判斷所尋找到的像素點是否為局部最大值,決定該處灰度值是否置為0。利用圖3所示的GPU并行加速方法,只要得到搜索方向和梯度大小就可以進行快速的迭代比較,完成非極大值抑制和雙閾值圖像分割[7-9]。

2.3 優化邊緣搜索

GPU線程通信有線程同步、共享存儲器和原子操作三種方式,對于同一個Block中的線程才可以直接實現通信,而不同Block中的線程不能通過共享內存、同步的方式進行通信,所以即使在GPU上完成邊緣連接的操作,還需要將GPU顯存中的數據傳回內存以完成各個線程的同步,這個數據傳輸過程是極其耗時的,甚至大于邊緣連接的時間;如果采用原子或主機介入的方式,會出現邊緣像素位置不連續的問題,同時數據也會出現明顯的延遲,非常不利于速度的提升[10-12]。

因此,考慮使用先進先出(FIFO)來完成強邊緣圖像S(i,j)中所有像素邊緣的連接[13]。在強邊緣圖像S(i,j)中,第一像素P被推入隊列中,并且同時以P點作為起點,弱邊緣圖像W(i,j)搜索P點的八鄰域,如果弱邊緣像素存在,它們被添加到強邊緣圖像S(i,j)中,同時也被壓入到隊列的尾部,從隊列的頭部提取已被分類為強邊緣Q點,再以Q點為起點,繼續搜索弱邊緣圖像W(i,j)中Q點的8鄰域像素,如果周圍沒有弱邊緣像素,則直接從隊列中刪除,并對其他像素重復上述過程,直到隊列為空。然后將S(i,j)中的第二個像素壓入隊列,重復上述過程,直到S(i,j)的每個像素都被搜索到為止。圖4顯示了起點P(3 ,2)的邊緣連接。

圖4 邊緣連接示意圖

3 實驗結果和討論

實驗環境如表2所示,對于1280×960像素大小的圖片,不同方式的邊緣檢測結果如圖5所示,圖5(b)為CPU邊緣檢測效果圖,圖5(c)為OpenCV處理效果圖,圖5(d)為GPU+CPU的效果圖與上述兩種處理方式結果基本一致。

表2 實驗環境

圖5 不同處理方法的效果對比圖

由圖5看出原始Canny算法和優化加速后的算法效果基本一致,焊縫輪廓已經能夠很好地與背景分割開,不影響焊縫圖像后續的霍夫檢測等處理,上述實驗說明本文算法可行。

圖6 不同實現方法速度對比圖

針對不同版本的Canny檢測算法的實驗結果如圖6。圖6是GPU加速實現、OpenCV實現、單一CPU實現的檢測結果。從圖中可以看出,對于不同尺寸的圖像,使用GPU并行計算的執行速度較其他算法有明顯提高。通過表3數據可以看出:由于Canny算子使用了GPU多線程并行處理的方法,相比單一CPU實現和OpenCV實現速度都有明顯的提升,并且對于像素數越大的圖像這種加速效果越明顯。因此,在實際的焊縫圖像檢測中,可以選擇CPU+GPU的計算模式進行更高效率的焊縫檢測。

表3 不同像素尺寸焊縫圖像各種實現方法速度對比

4 結論

本論文對Canny算法流程的各個步驟都進行了GPU并行化改造優化,使得Canny算子對焊縫邊緣檢測的速度大幅度提升,可以將1280×960像素大小的焊縫圖像邊緣檢測時間縮短到10ms以內,既滿足了快速的工程實用性要求,檢測結果也滿足焊縫圖像的后期處理要求。此外,GPU擁有強大的計算能力,適宜大數據量并行化處理,同時價格親民、性價比突出,對Canny算法具有較好的靈活性和較快的計算速度,對焊縫邊緣快速檢測具有重要意義。

猜你喜歡
焊縫檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
基于焊縫余高對超聲波探傷的影響分析
焊縫符號在機械設計圖上的標注
“幾何圖形”檢測題
“角”檢測題
TP347制氫轉油線焊縫裂紋返修
焊縫跟蹤遺傳算法優化PID控制仿真研究
機器人在輪輞焊縫打磨工藝中的應用
主站蜘蛛池模板: 国产性生交xxxxx免费| 一本大道香蕉高清久久| 看你懂的巨臀中文字幕一区二区| 精品欧美一区二区三区久久久| 久久香蕉国产线看观看式| 久久99热66这里只有精品一| 精品欧美一区二区三区久久久| 九九久久精品国产av片囯产区| 一级毛片免费观看不卡视频| 亚洲经典在线中文字幕| 亚洲成人播放| 久久综合色播五月男人的天堂| 亚洲视屏在线观看| 国产福利在线观看精品| 欧美人与牲动交a欧美精品 | 国产剧情无码视频在线观看| 99热最新网址| 99久久精品免费视频| 欧美一级在线看| 精品久久人人爽人人玩人人妻| 久久综合亚洲鲁鲁九月天| 亚洲国产一成久久精品国产成人综合| 男人的天堂久久精品激情| 欧美区一区| 日韩精品免费一线在线观看| 午夜不卡视频| 综合色区亚洲熟妇在线| 国产精品第5页| a级毛片免费播放| 亚洲国产成人自拍| 特级做a爰片毛片免费69| 国产亚洲视频中文字幕视频| 99伊人精品| 成人亚洲天堂| 国产亚洲高清在线精品99| 在线a网站| 中文字幕va| 最近最新中文字幕在线第一页| 日韩av无码精品专区| 国产精品蜜芽在线观看| 日本免费一级视频| 制服丝袜一区二区三区在线| 久久99国产综合精品女同| 无码精油按摩潮喷在线播放| a级毛片免费网站| 国产成人艳妇AA视频在线| 欧美性色综合网| 亚洲丝袜中文字幕| 全部无卡免费的毛片在线看| 亚洲av无码久久无遮挡| 日韩精品毛片人妻AV不卡| 色偷偷一区| 亚洲一区国色天香| 国产一区免费在线观看| 日韩免费毛片| jizz亚洲高清在线观看| 老司国产精品视频91| 久久午夜夜伦鲁鲁片不卡| 亚洲浓毛av| 国产精品区网红主播在线观看| 亚洲成人黄色在线| 欧美一区二区三区不卡免费| 婷婷六月综合| 免费毛片全部不收费的| 日韩精品久久无码中文字幕色欲| 久草国产在线观看| 午夜福利视频一区| 日本免费一级视频| 欧美一级高清片欧美国产欧美| 国产精品美女网站| 日本成人福利视频| 亚洲精品无码抽插日韩| 成年午夜精品久久精品| 51国产偷自视频区视频手机观看| 欧美色图久久| 男人天堂伊人网| 色综合狠狠操| 免费Aⅴ片在线观看蜜芽Tⅴ| 在线网站18禁| 久久精品波多野结衣| 最新国产麻豆aⅴ精品无| 激情在线网|