王益艷 于 貴
(1.四川文理學院智能制造學院 達州 635000)(2.達州智能制造產業技術研究院 達州 635000)
邊緣是圖像的最基本特征,邊緣檢測時圖像分析和模式識別的主要特征提取手段,直接決定著后續處理的精度與結果[1]。傳統的圖像邊緣檢測是基于掩模的方法,包括基于一階導數和基于二階導數兩類,一階邊緣檢測算子有Roberts、Sobel、Prewitt、Krisch等[2],二階邊緣檢測算子包括Log、Canny等[3]。這些基于導數的檢測算子對噪聲比較敏感,常常會在檢測邊緣的同時加強噪聲。小波變換具有良好的局域化特性,它是檢測邊緣很好的工具,可實現多尺度邊緣特征提?。?~5]。但是,在受噪聲感染的狀況下,該方法對邊緣檢測效果不理想。近年來,基于數學形態學的方法被廣泛應用于圖像邊緣檢測[6],該方法比傳統方法具有更好的連續性和方向性[7]。然而,傳統數學形態學檢測算法主要根據形態學梯度信息提取邊緣,由于沒有考慮邊緣的方向,導致圖像出現邊緣多像素寬。為此,人們提出了各種改進的多尺度形態學邊緣檢測算法[8~9],在一定程度上提高了邊緣檢測效果,但該類方法中結構元素的選取對最終檢測結果影響較大。為有效提高邊緣檢測的精度,本文提出了一種聯合K-means和形態學算子的圖像邊緣檢測。首先通過K-means算法[10]對圖像進行分割,再對分割后的圖像求反,然后利用形態學作腐蝕操作,挖去圖像內部像素點,最后利用分割圖像減去形態學腐蝕后的圖像獲得圖像邊緣。仿真結果表明,該方法具有較好的邊緣提取性能,比傳統Sobel算子、Canny算子、小波變換等方法具有更高的檢測精度。
K-means算法是一種聚類算法[11],它是將各個聚類子集內的所有數據樣本的均值作為該聚類的代表點,算法的主要思想是通過迭代過程把數據集劃分為不同的類別,使得評價聚類性能的準則函數達到最優,從而使生成的每個聚類內緊湊、類間獨立。
1)選定某種距離作為數據樣本間的相似性度量
K-means聚類算法在計算數據樣本之間的距離時,可以根據實際需要選擇歐式距離、曼哈頓距離或者馬氏距離中的一種來作為算法的相似性度量[12],其中最常用的是歐式距離。其實現過程如下。
2)選擇評價聚類性能的準則函數
K-means聚類算法使用誤差平方和準則函數來評價聚類性能。給定數據集X,其中只包含描述屬性,不包含類別屬性。假設X包含K個聚類子集 X1,X2,...,XK;各個聚類子集中的樣本數量分別為 n1,n2,...,nK;各個聚類子集的均值代表點(也稱聚類中心)分別為 m1,m2,...,mK。則誤差平方和準則函數公式為
3)相似度的計算根據一個簇中對象的平均值來進行。
(1)將所有對象隨機分配到k個非空的簇中。
(2)計算每個簇的平均值,并用該平均值代表相應的簇。
根據參考文獻,患者留置尿管拔除前干擾膀胱收縮導致拔管后排尿困難的影響因素復雜,需要確認患者拔管后膀胱功能恢復情況,臨床多通過間歇夾閉導管訓練膀胱功能判斷膀胱功能是否恢復良好,但目前尚無明確的醫學循證。
(3)根據每個對象與各個簇中心的距離,分配給最近的簇。
(4)然后轉(2),重新計算每個簇的平均值。這個過程不斷重復直到滿足某個準則函數才停止。
整個K-means算法流程如圖1所示。
圖1 K-means算法流程圖
本文提出了一種基于K-means算法的形態學邊緣檢測方法。其實現步驟如下:
1)首先通過上一小節介紹的K-means算法對原始圖像I進行分割,得到分割圖像J。
2)再對分割后的圖像J求反,得到K。求反公式如下:
令 K(x,y)表示輸入圖像,B(i,j)表示結構元(函數),則形態學腐蝕[7]可定義為
W=(KΘB)(x,y)=
式中,DK和DB分別是函數K和B的定義域,位移參數(x+i,y+j)必須包含在函數K的定義域內?;叶葓D像的腐蝕可以得到兩種結果:如果所有的結構元素都為正,則輸出圖像將趨于比輸入圖像暗;在比結構元素還小的區域中的明亮經腐蝕處理后其效果將減弱,減弱的程度取決于環繞亮度區域的灰度值以及結構元素本身的形狀和幅值。
腐蝕運算是一個點一個點地進行的,某點的運算結果是它在一個局部范圍內的點與結構元素中與之對應的點的灰度值之差,選取其中的最小值??梢?,經腐蝕運算后,邊緣部位灰度值相對大的點的灰度值會降低,從而邊緣會向灰度值高于相鄰區域的區域內收縮。
4)最后利用分割圖像J減去形態學腐蝕后的圖像W獲得圖像邊緣S。
為對本文算法進行有效驗證,本文采用標準的“woman”和“Logo”圖像作為測試對象,以 Matlab R2015b為測試平臺,計算機配置為Windows7系統、AMDA8處理器、主頻1.60GHz、4G內存,分別進行了兩組試驗。
實驗一:利用K-means算法對測試圖像進行分割,實驗結果如圖2所示。
圖2 K-means算法分割結果
實驗二:將本文方法與傳統Sobel算子[2]、Canny算子[3]、小波變換[6]等方法進行對比實驗。圖3~4給出了邊緣檢測視覺效果。
圖2結果顯示,K-means算法能有效實現對圖像的分割,為本文后面的邊緣檢測奠定了良好的基礎。圖3和圖4實驗結果顯示,傳統Sobel算子檢測精度較差,部分邊緣細節沒有檢測到,而Canny算子和小波方法存在明顯的偽邊緣和邊緣斷裂現象,而本文方法檢測的邊緣檢測精度高,邊緣連接完整,視覺效果更好。
圖3 woman圖像邊緣檢測結果
圖4 Logo圖像邊緣檢測結果
本文結合K-means算法和形態學腐蝕運算,提出了一種新的邊緣檢測方法。該方法能有效獲得精確而完整的圖像邊緣,比傳統其他幾種方法具有更優的視覺效果,為后續的圖像識別奠定了基礎。