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

基于CUDA的Scharr算子并行化研究

2024-11-05 00:00:00張晗李芳
現代信息科技 2024年16期

摘 要:傳統邊緣檢測算子采用逐行求梯度的方法順序進行,遇到圖像尺寸大或計算速度高效時,較難勝任這類計算密集度高的需求。文章從并行化角度對Scharr算子進行設計,采用CUDA語言對二維數據并行計算上進行算法優化,提出了多線程塊偏移計算的設計思路,同時采取流處理的方式縮短傳輸開銷。實驗結果表明,與傳統Scharr算子相比,在7 000×7 000尺寸圖像識別上呈現了高效的識別速度,加速比提高了300倍左右,有較高的應用價值。

關鍵詞:邊緣檢測;Scharr算子;并行計算

中圖分類號:TP391.4 文獻標識碼:A 文章編號:2096-4706(2024)16-0044-05

Research on Parallelization of Scharr Operators Based on CUDA

Abstract: Traditional edge detection operators use the method of seeking gradients row by row in order, which makes it difficult to meet the high computational density requirements of large image sizes or high computational speed. This paper designs the Scharr operator from the perspective of parallelization, optimizes the algorithm on two-dimensional data parallel computing using CUDA language, proposes a design idea for multithreaded block offset calculation, and adopts stream processing to reduce transmission overhead. Experiment results show that compared with the traditional Scharr operator, it exhibits efficient recognition speed in image recognition of sizes on 7 000×7 000, with an acceleration ratio increased by about 300 times, and has high application value.

Keywords: edge detection; Scharr operator; parallel computing

0 引 言

目前,人工智能的普及應用和發展成為技術領域的研究熱點,基于Opencv庫的使用和機器視覺技術的運用使得圖像識別領域有廣闊的研究空間。其中針對卷積層的卷積核來說,邊緣檢測算子就是其中對圖像起到濾波信息提取作用,而圖像特征提取是否充分影響后續識別精度,因此對邊緣檢測卷積算子的研究有利于提高對圖像邊緣信息特征的識別。

傳統針對圖像邊緣檢測算子有Canny[1-3]、Sobel[4-6]等一階邊緣算子,二階邊緣算子如拉普拉斯算子[7]、高斯拉普拉斯算子和高斯差分算子等。李浩誼等人基于改進的Scharr算法的海上艦船圖像邊緣檢測[8],在傳統Scharr的基礎上對算子在方向進行改進,增加了0°、45°、90°和135°四個方向,提高了算子檢測的完整程度。李浩誼等學者采用多方向Scharr的齒輪邊緣檢測與中心定位方法[9],增加到8個方向,用5×5算子模板進行檢測,最終減小了噪聲的影響。蔣潔琦等學者對表面弱邊緣瑕疵檢測算法及應用[10],結合力形態學開閉濾波,達到增強弱邊緣的效果。林麗等學者提出了一種具有抗噪聲能力的圖像清晰度評價函數[11],增加到4個方向進行梯度檢測,減小算法計算量同時提高了精度,獲得理想的效果。

隨著顯卡的普遍應用,計算能力得到飛速提高大部分得益于顯卡加速,在復雜計算中,針對算法中可并行的重復計算子過程考慮采用CUDA語言或Opencl等語言對CPU代碼進行重新程序設計。以實現在高密集度計算上得到提升。如趙志建等學者提出了基于CUDA并行優化的矩陣相乘算法研究[12],有效提升了吞吐量,利用了共享內存的資源。采用共享內存可以降低延遲。本文采用CUDA框架優化Scharr算子從而提升性能。

1 Scharr算子介紹

該算子是在Sobel算子的基礎上做了改進,實現了差異性的增強,因此二者的濾波原理是一樣的。采用3×3卷積核對圖像每個像素點進行運算,通過算子上權值來實現凸顯像素之間的差異化。下面介紹x方向上的一階Scharr模板。

y方向上一階算子模板如下:

圖像任意區域矩陣表示如下:

求梯度過程如下:

計算總梯度:

求閾值,總體上求出全像素圖像上平均閾值作為判定像素是否為邊界點:

其中?x、?y分別為水平和垂直兩個方向灰度值的落差,e為圖像全局范圍內的最大落差。

2 Scharr算子計算流程

Scharr算子計算過程如:

1)對算子賦初值。

2)對原始的灰度圖像外圍添加一圈0,作為padding的填充,主要是考慮到作為3×3的卷紙算子來說,大部分處理集中在算子中心區域,對于圖像邊緣一圈的計算相對少,故而添加一圈padding填充,增大了卷積核的感受視野。

3)求取閾值T,從兩個方向進行,如從x方向和y方向進行求取,求取過程以x方向為例:沿著水平方向逐行對相鄰兩個像素灰度值進比較,經過一輪比較即可比較出max差值和min差值,同時需要注意到雖然圖像是二維呈現的,在循環便利中需要進行跨越一行偏移。

4)進行算子求梯度運算,由于數據是二維呈現的,在進行跨行偏移時,在局部范圍內增設小循環窗口,如i,j窗口步長為3,即可獲取到(x,y)當前位置的鄰域范圍內的3×3區域。

CPU偽代碼如下:

3 使用CUDA設計

對CPU程序的并行設計流程如圖1所示。

從流程,體現了CUDA并行程序設計的總體思路,考慮到充分利用數據的總線傳送時間,采用常用的CUDA流技術,充分利用了傳送數據時間,在傳輸數據的同時,開始了共享內存中計算任務。

主要尋求計算過程中,批量簡單的操作進行改進,同時還要結合CPU-GPU數據傳輸開銷綜合設計,避免過多邏輯判斷的原則。這都基于GPU硬件體系結構而決定,如圖2所示

在CUDA體系結構中,一個Grid計算單元含有多個計算塊block,每個計算塊block。如示例中有6個block塊,每個塊含有4個thread線程。

訪問如下:

下面從內存布局角度分析如圖3所示。

由于共享內存的容量空間是有限的,需要對共享內存的數據做初始化,初始化之后可以讓更多的線程同步__syncthreads()。

4 算法并行化設計

近年來顯卡普遍運用到人工智能的各個領域中,與GPU有著并行計算單元,更適合處理計算邏輯少,大量并行計算任務,而CPU更適合于多任務進程計算,邏輯控制單元豐富,對于復雜的邏輯控制,更擅長。CUDA編程中CPU-GPU之間送數據也會占用大量的時間,如何處理好傳送數據時間與核函數的計算時間是提升加速性能的關鍵,計算單元內部利用共享內存提高單元性能。

本文對CPU代碼中兩個部分進行流程改寫,進行并行程序設計,偽代碼如下:

5 并行開銷

當圖像較小時,雖然采用流式切片方式傳送數據,但數據尺寸小,浪費在主板上時間會比單純CPU代碼耗時久。例如圖像尺寸在500×500時,傳輸耗時較大,隨著圖像尺寸逐漸增大,計算與傳輸耗時相比,優勢明顯,獲得速度提升。如表1所示。

從表1可以看出,小尺寸上計算耗時很小,大部分時間浪費在主板數據傳輸上,在大尺寸上,傳輸耗時也很大,主要在對原圖進行水平切片,按切片進行傳送子圖,但計算耗時不大。示意圖如圖4所示。

6 實驗分析

CP78ffb23fa79fe510a5e7dc295d40e7aef00989c877145c18fdc4c0f2eac7382fU配置如下:Intel Xeon CPU E5-2620,32 GB RAM。

GPU配置如下:全局內存8 GB,每block最多含1 024個線程,CUDA處理核3 840個。

為了測試不同尺寸的數據,采用OpenCV對原圖進行尺寸放大,最大到7 000×7 000,測試加速比如表2所示。

從表2可見在小尺寸上加速不明顯,由于傳送耗時和資源加載開銷,導致總體加速比并不理想,在大尺寸上表現較好,充分利用了流與計算單元荷載。

7 實驗效果

如圖5所示,Scharr過濾結果能夠清晰分辨出紋理走向,相比Sobel體現出來了檢測點附近的權重值較大,從而中心點鄰域點對最終處理起到了增強的效果。Scharr過濾算子對于邊緣模糊的情況很適合使用。

8 結 論

本文采用CUDA對傳統的CPU程序進行設計優化,提出了基于CUDA的Scharr檢測研究。研究從分析Scharr程序開始著手,通過切片法,將整個圖切成不同的子圖流式發給GPU,對于小尺寸來講加速比并不理想,主要是時間耗費在資源初始化開銷方面上。對于大尺寸圖像來說,由于采取了分片流式并行計算,充分利用了流在同一時間傳輸和計算同時進行的優勢,充分利用了GPU線程資源,同時也還原了Scharr算法。今后考慮在融合多方向模板去進一步優化Scharr算子本身,在算法精度提高方面進一步研究。

參考文獻:

[1] 李平陽,孫志毅.一種提升Canny算子的自適應邊緣檢測方法 [J].太原科技大學學報,2013(3):171-174.

[2] 馬新星,徐健,張健.一種基于自適應Canny算子的艦船紅外圖像邊緣檢測方法 [J].紅外,2013(7):25-30.

[3] 汪宗洋,王煜,朱碩.基于改進Canny算法的邊緣檢測技術應用及發展趨勢 [J].信息通信技術與政策,2023(8):90-96.

[4] RAKESH R,VINAY A. Edge Detection Using Guided Sobel Image Filtering [J].Wireless Personal Communications,2023,132(1):651-677.

[5] 樸思儒,李彬,張赫,等.基于多方向擴展Sobel加權算法的合作目標檢焦方法研究 [J].機電工程術,2023(5):131-134.

[6] 薛文格,鄺天福.基于Sobel算子和灰色關聯分析的圖像邊緣檢測 [J].楚雄師范學院學報,2023(3):135-140.

[7] LUIS J P D,REYES E G. Analysis of a fire Extinguishing Model with a p-Laplacian Operator and with Non-Linear Advection and Reaction [J/OL].Physica Scripta,2023,98(8)[2024-01-09].https://iopscience.iop.org/article/10.1088/1402-4896/ace08c.

[8] 李浩誼,馬春庭.基于改進的Scharr算法的海上艦船圖像邊緣檢測 [J].艦船電子工程,2019(3):103-106.

[9] 李浩誼,馬春庭,唐秀媛.多方向Scharr的齒輪邊緣檢測與中心定位 [J].工具技術,2019(2):130-133.

[10] 蔣潔琦,楊庚,劉沛東,等.表面弱邊緣瑕疵檢測算法及應用 [J].計算機技術與發展,2019(5):142-147.

[11] 林麗,李詩云,陳健.一種具有抗噪聲能力的圖像清晰度評價函數 [J].重慶郵電大學學報:自然科學版,2022(2):223-233.

[12] 趙志建.基于CUDA并行優化的矩陣相乘算法研究 [J].智能計算機與應用,2022(11):192-196.

主站蜘蛛池模板: 亚洲人成在线免费观看| 日韩欧美视频第一区在线观看 | 成年人国产视频| 四虎永久免费地址| 久久久久久尹人网香蕉| 国产男女免费视频| 国产丝袜第一页| 亚洲成综合人影院在院播放| 午夜精品久久久久久久无码软件| 国产精鲁鲁网在线视频| 国禁国产you女视频网站| 国产成人无码AV在线播放动漫| 四虎在线高清无码| 国产丝袜无码精品| 国产va在线| 无码一区18禁| 国产精品成人一区二区| 欧美日韩国产高清一区二区三区| 亚洲一区国色天香| 狼友av永久网站免费观看| 无码高潮喷水专区久久| 天天躁狠狠躁| 四虎国产成人免费观看| P尤物久久99国产综合精品| 特级毛片免费视频| 精品无码国产自产野外拍在线| 久久黄色小视频| 亚洲综合中文字幕国产精品欧美| 国产精品尤物在线| 精品视频一区二区三区在线播| 五月婷婷伊人网| 2021国产在线视频| 91精品视频播放| 亚洲第一色视频| 欧美无遮挡国产欧美另类| 久久这里只有精品免费| 久久久波多野结衣av一区二区| 国产日韩欧美在线播放| 色综合久久88| 丁香综合在线| 国产91高跟丝袜| 波多野结衣一区二区三区四区| 99无码中文字幕视频| www.亚洲一区| 一区二区午夜| 国产精品99久久久| 亚洲 日韩 激情 无码 中出| 亚洲福利片无码最新在线播放| 少妇精品网站| 亚洲欧美精品日韩欧美| 欧美日本激情| 午夜爽爽视频| 国产黄色片在线看| 精品福利国产| 国产在线一区二区视频| 玩两个丰满老熟女久久网| 亚洲一区网站| 精品国产污污免费网站| 国产无码性爱一区二区三区| 三上悠亚精品二区在线观看| 热99精品视频| 亚洲天天更新| 亚洲欧美成人影院| 91外围女在线观看| 欧美久久网| 亚洲91精品视频| 潮喷在线无码白浆| 99精品影院| 99视频国产精品| 亚洲精品无码AⅤ片青青在线观看| 无码专区国产精品一区| 国产91成人| AV不卡无码免费一区二区三区| 免费国产小视频在线观看| 一级成人a做片免费| 直接黄91麻豆网站| 国产精品熟女亚洲AV麻豆| 国产18页| 激情无码视频在线看| 欧美在线天堂| 99国产精品国产高清一区二区| 欧美怡红院视频一区二区三区|