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控制仿真研究
機器人在輪輞焊縫打磨工藝中的應用
主站蜘蛛池模板: 一级毛片免费不卡在线 | 欧美日本激情| 97色伦色在线综合视频| 日韩A∨精品日韩精品无码| 亚洲无码视频喷水| 国产日本视频91| 3344在线观看无码| 久久天天躁狠狠躁夜夜2020一| 精品人妻无码中字系列| 亚洲一区二区三区香蕉| 欧美亚洲激情| 久久国产精品77777| 成年免费在线观看| 国产精品午夜福利麻豆| 日本www在线视频| 国模粉嫩小泬视频在线观看| 免费国产高清视频| 国产小视频免费| 97在线国产视频| 色婷婷色丁香| 亚洲色精品国产一区二区三区| 2020亚洲精品无码| 日韩第八页| 99免费在线观看视频| 国产91丝袜在线观看| 日韩无码黄色| 92午夜福利影院一区二区三区| 国产午夜精品鲁丝片| 一区二区三区高清视频国产女人| 国产精品视频导航| 一级成人a毛片免费播放| 国产精品熟女亚洲AV麻豆| 欧美中文字幕在线播放| 国产成人AV大片大片在线播放 | 日韩麻豆小视频| 亚洲bt欧美bt精品| 免费一极毛片| 91精品在线视频观看| 国产成人亚洲无码淙合青草| 在线国产综合一区二区三区| 日本精品中文字幕在线不卡| a免费毛片在线播放| 国产国模一区二区三区四区| 久久99国产综合精品1| 亚洲免费黄色网| 成人国产精品网站在线看| 岛国精品一区免费视频在线观看| 国产精品大尺度尺度视频| 黄色网址免费在线| 无码视频国产精品一区二区| 成人伊人色一区二区三区| 夜夜高潮夜夜爽国产伦精品| 国产中文一区a级毛片视频 | av在线手机播放| 欧美va亚洲va香蕉在线| 亚洲色精品国产一区二区三区| 99久久精品视香蕉蕉| 999国产精品永久免费视频精品久久 | 91色在线观看| 99人妻碰碰碰久久久久禁片| 国产自无码视频在线观看| 欧美午夜视频在线| 一级爱做片免费观看久久| 日韩在线视频网站| 四虎国产精品永久一区| 中国美女**毛片录像在线 | 伊人久久精品亚洲午夜| 久久毛片基地| 亚洲人成网7777777国产| 小说 亚洲 无码 精品| 亚洲欧美精品日韩欧美| 国产在线观看成人91| 日本尹人综合香蕉在线观看| 九九久久99精品| 国产人在线成免费视频| 91精品日韩人妻无码久久| 思思热在线视频精品| 亚洲第一成网站| 最新国产高清在线| 亚洲第一黄色网址| 欧美日韩激情在线| 九九热视频精品在线|