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

基于梯度方向的Canny SLIC圖像分割算法

2021-11-17 12:38:26郭昕剛屈諾希
計算機仿真 2021年9期
關鍵詞:檢測

郭昕剛,王 佳,屈諾希,程 超

(長春工業大學計算機科學與工程學院,吉林長春130000)

1 引言

圖像分割是一種將圖像分成各具特性互不重疊的技術過程,它是人工智能和計算機視覺中最基礎的預處理手段,圖像分割的好壞會直接決定圖像融合和圖像識別的精度[1]。在文獻[2]中,Ren等人首次提出了超像素的概念,其目的是為了將具有相似顏色和輪廓等低級語義信息的像素歸為一類,以便于將點集問題轉成區域集問題[3],來降低計算量,改善后續工作的處理效率。現階段,很多人將超像素方法和邊緣檢測算法結合在一起,構成具有較好邊界粘附性的超像素分割圖[4]。文獻[11]中所提出的Canny SLIC算法就是利用Canny算子檢測出來的邊緣信息,來進行SLIC超像素分割的,從中可以看出Canny算子檢測出來的邊緣信息能夠決定超像素與圖像邊界之間的粘附性。而邊緣檢測,也是圖像處理中最重要的過程之一。許多傳統的邊緣檢測算法在科研中也會被經常使用,像Sobel、Prewitt、Canny等。其中最常使用的是Canny邊緣檢測算法[5],此算法與其它傳統的邊緣檢測算法相比,其性能各方面都是最好的,并且許多領域的研究專家都在Canny算子的基礎上提出了各種改進的邊緣檢測算法。如Er-sen li對圖像梯度幅值的計算和OTSU邊緣自動閾值選取的方法做出了改進,在一定程度上取得了良好的成果[6]。而對于傳統的Canny SLIC算法,使用的傳統的Canny邊緣檢測算子抗噪能力較差,易將弱邊緣信息識別成噪聲,從而導致Canny SLIC算法產生的分割圖中部分邊緣的粘附性變差。

為此,本文提出了一種基于梯度方向的Canny SLIC圖像分割算法。它是把利用邊緣和噪聲在梯度方向上的差異而改進的Canny算子和SLIC算法相結合,來保護圖像的弱邊緣信息并提取出完整的輪廓,最后再使用六邊形來描繪超像素,從而生成令人滿意的超像素分割圖。

2 相關算法介紹

2.1 傳統的Canny算法

1986年,Canny提出了Canny邊緣檢測算法和最佳邊緣檢測的三個評估指標:低出錯率、最優定位和最小響應[7]。傳統的Canny邊緣檢測算法分為四步:

第一步是圖像去噪。由于Canny算法對噪聲十分敏感,所以為了防止噪聲引起錯誤檢測,要先使用二維高斯函數來消除噪聲。

(1)

在(1)式中:σ為高斯濾波器的參量,它是用來控制濾波器模糊圖像的程度。σ越小,濾波器定位性越好、信噪比越低。反之,濾波器定位性越差,信噪比越高。因此,要結合實際情況,合理選擇σ。

第二步是計算梯度特性。在圖像中,邊緣可以指向各個方向,因此傳統的Canny邊緣檢測算法采用邊緣差分算子來計算2×2鄰域內各像素點的水平和垂直方向的梯度,從而獲取梯度的幅值圖像G和方向圖像θ。其中,點(m,n)處的水平偏導數Gx(m,n)和垂直偏導數Gy(m,n)采用Solbel算子來計算,公式如下

Gx(m,n)

(2)

Gy(m,n)

(3)

故此時點(m,n)處梯度的幅值和方向可由下式得出

(4)

(5)

其中θ∈{0°,45°,90°,135°},分別代表水平、垂直和兩個對角線等四個方向。由于邊緣灰度值變化明顯,所以通過計算圖像中所有像素點的梯度特性,可以得出可能的邊緣點。

第三步是非最大約束。它是一種只保留局部最大值的細化邊緣的方法。通常通過第二步得出來的梯度邊緣不止有一個像素寬,而是有多個像素寬,所以為了精確定位目標邊緣并保證每條邊的寬度為1像素,便采用非最大約束(NMS)來細化邊緣。在梯度幅值G中,為了計算更加準確,Canny算法會沿著種子點周圍八個梯度方向進行線性插值。

如果G(m,n)的強度大于梯度方向上的兩個插值結果,那就將點(m,n)標記為邊緣候選點。反之,就標記為非邊緣點。最終,通過NMS就能得到一個候選邊緣圖p。

第四步是滯后閾值。Canny邊緣檢測算法中最關鍵的環節是用滯后閾值檢測和連接邊緣,而使用滯后閾值要先選取高低兩個臨界值。在Canny算法進行完第三步非最大約束后,會產生候選邊緣圖p。在圖p中,如果像素點的梯度幅值超過高臨界值,則將此點標記為邊緣點;而如果像素點的梯度幅值低于低臨界值,則將此點標記為非邊緣點;而對于梯度幅值處于高低臨界值之間的像素點,就標記為邊緣候選點。最后,再根據邊緣之間的連通性,判斷此像素點的相鄰像素點中是否有邊緣點,若有,就把此點記為邊緣點。反之,記為非邊緣點。

2.2 SLIC和Canny SLIC

2.2.1 SLIC

在2010年,Achanta和Shaji提出了SLIC超像素算法[8][9]。它復雜度低,實現簡單,速度快,被廣泛應用于圖像分割中。其實質是一種局部的Kmeans聚類方法[10]。但它與kmeans聚類算法有所不同:SLIC算法只在每個聚類中心周圍2S×2S的區域內搜索相似的像素點,而kmeans算法是在全局內搜索相似的像素點。圖1、2展示了上述兩算法在搜索區域上的差別。

圖1 SLIC算法 圖2 kmeans算法

其次,SLIC算法將像素分組到一個五維的特征空間中,并將其分解成一個五維特征向量[l,a,b,x,y]。其中[l,a,b]是CIELAB顏色空間的分量,[x,y]是像素點的空間坐標。而在SLIC中,兩個像素之間的相似度是由它們之間的向量距離D來衡量的(D與相似度成反比)。其計算公式如下

(6)

(7)

(8)

2.2.2 傳統的Canny SLIC

傳統的Canny SLIC算法能夠將內容敏感的輪廓信息給標注出來[11],產生保持較好邊界的超像素。首先它通過Canny算法檢測出圖像中的邊緣信息,然后在歐式距離中增加一個函數G(pi,cj)用來判斷某一像素是否為邊緣像素。若cj到pi的路徑中存在任何邊緣像素,則G(pi,cj)就等于邊緣像素對應的梯度值gl之和;反之,G(pi,cj)等于[]。相應數學公式定義如下:

(9)

(10)

在(9)式中r是歸一化常數,能決定Canny邊緣檢測在D(pi,cj)中的相對貢獻量。其余變量皆為上文所述。在(10)式中,l(pi,cj)表示像素pi到cj的路徑中所有像素構成的集合。G(l)則表示:如果l是邊緣像素,G(l)等于l點的梯度值;反之,G(l)等于0。

與傳統SLIC算法的步驟相比,Canny SLIC要先使用Canny邊緣檢測做初始化處理,計算出所有像素點的梯度值,然后隨機選取j個聚類中心,并以固定長度S來初始化每個聚類的中心cj。其次,為了不讓中心點選在較大邊緣或噪聲點處,選取中心點8鄰域范圍內梯度值最小的點來作為新的中心點。緊接著設置兩個數組d(pi)和l(pi)分別用來存放像素點到聚類中心的最小距離和最小距離對應的中心類別標簽,并分別將其初始化為0和∞。最后在每個中心點cj周圍2S×2S區域內為每個像素點pi分類,如果D(pi,cj)小于d(pi),就把D(pi,cj)賦值給d(pi),并將此聚類中心的標簽j存放到l(pi)中,重復迭代此過程,直至所有像素點pi被正確分類。

3 基于梯度方向的Canny SLIC

傳統的Canny SLIC算法是在傳統的Canny邊緣檢測算子的基礎上實現的,但傳統的Canny邊緣檢測算法存在很多缺陷。比如滯后雙閾值的選取,若通過人工來選取,很容易將雙閾值定高或定低,從而導致部分幅值低的弱邊緣被忽略。所以本文采用一種基于梯度方向的Canny邊緣檢測算法來改進Canny SLIC算法[12],從而使其對弱邊緣的分割精度更加完善。

3.1 基于梯度方向的Canny算法

在Canny邊緣檢測算法中,描述一個像素點的特性除了梯度的幅值之外,還有一個重要的信息量——梯度的方向。邊緣像素的梯度方向,通常是指向邊緣的法線方向,而干擾噪聲是沒有固定的方向。所以基于梯度方向的Canny算法能夠更好地識別弱邊緣區域,進而讓Canny SLIC算法能夠更好地分割出弱邊緣區域。

圖3 兩種算法的比較(矩形框出了兩種算法的部分區別)

3.1.1 算法原理

基于梯度方向的Canny算法它是在中心點的8鄰域范圍內,來進行邊緣檢測的(如圖4)。首先,在此算法中定義兩個參量Sm和Am。Sm是每個中心點0與其8鄰域內各個像素點的連線,其數學表示為:Sm={(0,m)/m=1,….,8}。結合圖4,可以輕松理解:當中心點0與其鄰域內某一點都處于同一類的邊緣上時,其連接Sm也處于此類的邊緣上。而Am表示中心點0與其鄰域內某一點m的連線Sm的法線方向與此兩點的梯度均值方向的夾角的絕對值,此參量能夠辨識邊緣點和噪聲點的方向。當中心點0與其鄰域內某一點都處在同一邊緣上時,Am的幅度值就會小于一個較小的值T;反之,對于敏感的噪聲點,其方向不固定,故Am的值就會很大。

圖4 基于梯度方向的Canny算法的原理圖

基于梯度方向的Canny算法工作流程如下:

1) 先搜索通過非最大約束得到的邊緣候選圖p,然后判斷p中任意一點p(m,n)的8鄰域內有無其它邊緣候選點,若無,轉到第6步,否則:

3) 繼續在點p(m,n)的3×3鄰域內,搜尋沒有被記為邊緣點的邊緣候選點,并求其對應的Amt值。如果存在Amt

4) 將通過上述幾步獲取的鄰域中心p(m,n)及滿足Amt

5) 如果mt的3×3鄰域范圍內有邊緣候選點,但是此點沒有被記為邊緣點,那就把該點記為邊緣點,然后再以該點為新的中心繼續連接,直到全部的中心點的3×3鄰域范圍內沒有被標記的邊緣候選點,執行第2步;

6) 繼續搜尋圖p,直到找到新的邊緣候選點,如果該點沒有被記為邊緣點,執行第2步,否則再繼續搜尋其它點,直到不再有新的未被標記為邊緣點的邊緣候選點出現為止,算法結束。

3.2 基于梯度方向的Canny SLIC的算法實現

基于梯度方向的Canny邊緣檢測算法,可以充分的將圖像中的弱邊緣區域識別出來,并有效的區分出弱邊緣點與噪聲點。將此算法與SLIC算法結合,能夠使SLIC具有更好的邊界約束力,進而分割出更加完整地超像素分割圖,且分割精度得到進一步提高。此外,本文將傳統的Canny SLIC算法中的參數r定義成某一聚類所對應的所有像素點的梯度值之和,公式如下

(11)

其中n為聚類中心cj的類別j,G(pi,cj)為式(10)所述。

基于梯度方向的Canny SLIC算法實現步驟如下:

1) 先在原始圖片上使用基于梯度方向的Canny 算法,計算出所有像素的梯度值和邊緣點;然后使用復數運算將檢測到的邊緣點從二維降至一維,來提高判斷某一像素點是否為邊緣點的速度;

3) 初始化兩個列表,分別用來存放像素點到聚類中心的最小距離和最小距離對應的中心類別標簽:

對每個像素設置類別數組l(pi)=-1;

對每個像素設置距離數組d(pi)=∞;

重復

4) 分組步驟:

for每一個聚類中心cjdo

for每一個像素點pi在中心點cj周圍2s×2s區域內do

計算cj和pi之間的距離;

if D(pi,cj)

d(pi)=D(pi,cj)

l(pi)=j

end

end

end

迭代

計算并修正聚類中心cj;

計算并修正新聚類中心位置與先前聚類中心位置之間的殘差誤差E;

Until E<=設定閾值。

4 實驗結果分析

實驗結果是在win7系統和matlab平臺上實現的,實驗所采用的數據集為公開數據集BSDS500,本節將從超像素分割圖和評價指標來分析本文算法。

4.1 實驗結果圖分析

圖5展示了本文算法在不同的超像素數量k和顏色權重m下的分割結果。圖像結果表明,本文算法與其它超像素算法一樣,m越大,超像素之間就越規整,m越小,超像素之間就越緊湊,對圖像邊界的依附性就越好。

圖5 基于梯度方向的Canny SLIC算法分割結果

圖5中,超像素數量k=[200,800,1000],顏色權重m=[8,10]。按列來:(a) k=200的分割結果;(b) k=800的分割結果;(c) k=1000的分割結果。

將基于梯度方向的Canny SLIC算法與傳統的Canny SLIC算法和SLIC算法,在BSDS500數據集的500幅圖像進行了分割比較。圖6是本文算法與傳統的Canny SLIC算法和SLIC算法的部分比較圖,舍棄傳統的正方形采用六邊形來描繪圖像,其可以使超像素更加貼合邊緣。從圖中可以看出傳統的Canny SLIC算法由于傳統的Canny邊緣檢測將弱邊緣點識別成噪聲,所以導致部分弱邊緣欠分割;而改進的Canny SLIC算法能將圖像中的弱邊緣點與噪聲點較準確地分割出來,使分割精度更加貼合真值(groundTruth)。

圖6 三種算法的超像素分割結果圖(K=600,m=10)

圖6中,(a)為本文算法分割結果;(b)為本文算法分割圖的部分放大圖;(c)為傳統的Canny SLIC算法分割結果;(d)為SLIC算法分割結果。

4.2 評價指標

超像素分割圖是從人的視覺上來反映分割結果的優劣程度,而超像素分割方法的性能指標是從有效性上來反應圖像分割結果的優劣程度[15]。為了檢驗本文算法的分割有效性,采用常用的性能評價指標邊緣召回率BR和欠分割錯誤率UE[16]。BR表示超像素分割邊界在一個小鄰域內檢測到的真值邊界的分數,其數學定義如下

(12)

其中,b(s)表示所用算法產生的超像素邊緣分割結果,b(g)表示手工分割的邊緣真值,函數I(·)是用來判斷算法產生的超像素邊界點是否在b(g)中的像素θ的區域內,A(·)表示每塊超像素分割區域的面積。

而UE是用來衡量算法生成的超像素超出超像素真值范圍的程度,其數學表示為

(13)

其中,A(·)表示每塊超像素區域的面積,gm表示手工分割的邊緣真值,Sn為生成的超像素塊。本文算法的兩種分割性能的評價標準如圖6:通過圖6可以看出基于梯度方向的Canny SLIC算法對測試庫中的數據集分割效果是準確的。

圖7 邊界召回率BR(A)和欠分割錯誤率UE(B)的趨勢圖

圖7中,BR越高,UE越小,分割結果越貼合邊界。

5 總結

本文提出的基于梯度方向的Canny SLIC算法,能夠很好地解決弱邊緣區域的邊界依附性以及超像素形狀規則問題。它通過基于梯度方向的Canny邊緣檢測算法,得到包含弱邊緣信息的清晰邊緣像素點,然后使用復數運算將檢測到的邊緣點從二維降至一維,來提高SLIC判斷某一像素點是否為基于梯度方向的Canny算法檢測出來的邊緣點的速度,最后將邊緣強度加入到歐式距離中,進行聚類。實驗數據表明,本文算法與傳統算法相比有效地提高了圖像弱邊緣信息的分割精度,為圖像分割的進一步發展奠定了基礎。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 亚洲Va中文字幕久久一区| 久久国产成人精品国产成人亚洲 | 久久99久久无码毛片一区二区| 亚洲人在线| 国产噜噜噜视频在线观看 | 欧美视频二区| 亚洲无码视频喷水| 日韩国产黄色网站| 国产精品一线天| 成人伊人色一区二区三区| 小说区 亚洲 自拍 另类| 国产精品污污在线观看网站| 亚洲视频一区在线| 91精品啪在线观看国产| 亚洲无码精彩视频在线观看| 色妞www精品视频一级下载| 国产剧情一区二区| 国产精品亚洲综合久久小说| 婷婷六月在线| 欧美国产日韩一区二区三区精品影视 | 特级aaaaaaaaa毛片免费视频| 中文字幕资源站| 国产成人久视频免费| 欧美不卡视频一区发布| 在线观看国产精品日本不卡网| 亚洲视频在线观看免费视频| 国产综合无码一区二区色蜜蜜| 国产成人a毛片在线| 一级一级一片免费| 日本精品影院| 久久免费看片| 亚洲国产成人精品无码区性色| 久久人午夜亚洲精品无码区| 久久一级电影| 国产91色| a级毛片免费在线观看| 国产成人av一区二区三区| 亚洲福利片无码最新在线播放| 国产精品无码AⅤ在线观看播放| 色综合a怡红院怡红院首页| 国产成人免费手机在线观看视频 | 99久久精品无码专区免费| 26uuu国产精品视频| 久久久久亚洲精品成人网| 久久久久久高潮白浆| 久久国产精品电影| 日韩欧美一区在线观看| 亚洲天堂视频在线免费观看| 国产乱视频网站| 毛片卡一卡二| 91精品国产福利| 国产精品v欧美| V一区无码内射国产| 国产高清在线观看| 2020最新国产精品视频| 国产欧美又粗又猛又爽老| 亚洲高清在线天堂精品| 欧美在线导航| 亚洲男人的天堂在线观看| 99国产精品一区二区| 精品夜恋影院亚洲欧洲| 亚洲一区二区三区中文字幕5566| 久久一色本道亚洲| 亚洲精品午夜无码电影网| a亚洲视频| 欧美色99| 国产69精品久久久久孕妇大杂乱 | 97影院午夜在线观看视频| 亚洲成aⅴ人片在线影院八| 18禁不卡免费网站| 中文字幕亚洲另类天堂| 77777亚洲午夜久久多人| A级毛片无码久久精品免费| 国产青榴视频| 国产精品原创不卡在线| 亚洲系列无码专区偷窥无码| 3344在线观看无码| 丁香五月激情图片| 香蕉eeww99国产在线观看| 国产精品色婷婷在线观看| 亚洲精品在线观看91| 99精品伊人久久久大香线蕉|