王 芬,馬 濤,馬 旭
(寧夏師范學院 數學與計算機科學學院,寧夏 固原 756000)
基于SVM分類的圖像邊緣檢測研究
王 芬,馬 濤,馬 旭
(寧夏師范學院 數學與計算機科學學院,寧夏 固原 756000)
針對經典邊緣檢測算子檢測含噪聲圖像邊緣結果不理想的問題,提出采用基于統計學習理論的支持向量機(Support Vector Machine,SVM)方法建立分類模型,并對圖像進行邊緣檢測.實驗基于 MATLAB平臺,運用OSU_SVM3.0和LS_SVM工具箱建立模型,實驗表明:該方法不僅可以有效地檢測圖像邊緣,還在一定程度上克服了噪聲干擾,并可以將被測圖像中的特定圖形檢測出來.
邊緣檢測;機器學習;SVM
邊緣是圖像中像素灰度有階躍變化或屋頂狀變化的像素集合,它存在于目標與背景、目標與目標、區域與區域以及基元與基元之間[1],屬于圖像的最基本特征.邊緣包含了豐實的信息,如方向、階躍性質和形狀等,是在圖像識別過程中需要抽取的重要屬性[2],在邊界檢測、圖像分割、模式識別和機器視覺中具有重要作用.邊緣檢測是圖像處理與識別中最基本的內容之一[3],圖像的邊緣檢測是圖像分割、目標區域識別以及區域形狀提取等圖像分析領域非常重要的基礎,圖像理解和分析首先要做到邊緣檢測,目前它已成為機器視覺研究領域最活躍的課題之一,在工程應用中占有非常重要的地位.對于邊緣檢測,有很多經典算子,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子和Canny算子等[4].Roberts算子對含有陡峭低噪聲的圖像處理效果較好,但提取的邊緣較粗,定位不準;Sobel算子對灰度漸變和噪聲較多的圖像處理效果較好,且定位準確;Prewitt算子對灰度漸變的圖像處理效果較好;Laplacian算子對圖像中的階躍性邊緣定位準確,但對噪聲非常敏感;Canny算子不易受噪聲干擾,能檢測出真正的弱邊緣,但這些算子由于其模板相對固定,在檢測被噪聲污染的復雜圖像的邊緣時效果欠佳.針對具體的應用場景,邊緣提取算法的各種改進層出不窮,但大部分改進都表現在邊緣算子模板的不同構造方法上[5-7].近年來,出現了如基于小波與分形理論、基于模糊理論和基于形態學等多種檢測手段,但它們都存在自身的缺陷,有的抗噪性能較差,有的檢測精度不夠[1].因此,找到一種算法簡單,既能較好的檢測邊緣又能抑制噪聲的邊緣檢測算法是圖像處理的目標.
投稿日期:2011-06-21
統計學習理論的支持向量機方法在模式識別中對解決小樣本、非線性及高維問題具有顯著優勢,它從數據(樣本)出發尋找規律,并利用這些規律對未來數據或無法觀測的數據進行分類、預測和插值,已在諸如生物信息學、文本和手寫識別等許多領域取得了成功的應用.本研究將支持向量機方法應用于圖像邊緣檢測,發揮其在模式識別中解決小樣本、非線性及高維問題的優勢,以期在抑制噪聲的同時可以有效地檢測出圖像邊緣.
支持向量機(SVM)是統計學習理論的一種具體實現,SVM分類器應用結構風險最小化原則,不僅要求最優分類面無錯誤的分開各類,而且要使類間間隔最大,以保證真實風險最小[8-10].
設{x i,yi},i=1,2,…l為包含l個樣本的訓練集,其中x i∈Rm為輸入向量,y i∈(+1,-1)為類別標識,l為樣本數,m為輸入維數.對于邊緣檢測問題,+1代表邊緣點,-1代表非邊緣點.
當樣本數據線性可分時,判別函數的一般形式為g(x)=wx+b,即有一個超平面使兩類樣本完全分開.將函數歸一化,使兩類樣本滿足 |g(x)|≥1,離分類面最近的樣本的 |g(x)|≥1,其分類間隔等于1/(2‖w‖),故要使間隔最大等價于使‖w‖最小,并要求沒有錯誤分類的樣本,滿足上述條件且使‖w‖2最小的分類面就是最優分類面.過兩類樣本中離分類面最近的點且平行于最優分類面的超平面H1和H2上的訓練樣本就是支持向量(Support Vector,SV).
當樣本數據非線性可分時,SVM分類通過一個非線性函數Φ(x)將訓練集數據x i映射到一個高維線性特征空間[11],在這個維數可能為無窮大的線性空間中構造最優分類超平面:

式(2)中,‖w‖2是描述復雜度的結構化項,ξi為松弛項,C為懲罰因子.利用拉格朗日乘子法求解此二次規劃問題的對偶形式,即最優化下式

經典算子在理想場景的效果很好,但在處理復雜場景時,很難在提取邊緣的同時有效抑制圖像噪聲,也基本不能選擇提取圖像中具有特定形狀的邊緣,只能應用于有限的較理想場合.故經典算子失效時,基于機器學習的邊緣提取方法就顯現出其優勢來.為了實現邊緣檢測,本研究將圖像的邊緣點看作一類,其他像素點看作另一類,利用分類算法建模后,對圖像中全部像素進行處理,提取相應邊緣.
邊緣檢測算法的流程如圖1所示.

圖1 邊緣檢測算法流程圖Figure 1 Edge detection algorithm flow chart
邊緣檢測算法流程的具體描述為:
(1)構建訓練樣本.通過提供不同的訓練數據改變檢測模型的性能,不同目的的訓練數據經學習后得到的模型具有不同的分類目的.本研究分別對理想圖像(圖2(a))、含噪聲圖像(圖2(b))和含有特定圖形的圖像(圖2(c))進行邊緣檢測,所選訓練樣本的圖像既有目標圖像,又有背景的Lena圖像和人工繪制的含有特殊圖形的圖像,如圖2所示.

圖2 訓練樣本圖像實例Figure 2 Image examples of training samples
在對理想圖像(圖2(a))進行邊緣檢測時,由于canny算子在無噪聲污染時邊緣提取效果較好,故認為由canny算子得到的圖像邊緣是圖像中像素灰度有階躍變化或屋頂狀變化的像素集合,因此將這些像素點作為正樣本點,如圖3所示;其他像素點作為負樣本點.對含噪聲圖像(圖2(b))進行檢測時,同樣選取圖3所示的邊緣點作為正樣本,其他非邊緣像素點和噪聲點作為負樣本.對于提取含有特定圖形的圖像(圖2(c)),則選取預提取的特定圖形的邊緣像素點作為正樣本點,其他像素點為負樣本點,本研究要提取圖2(c)中的圓形,則用圖2(c)中圓形的邊緣點作為正樣本,如圖4所示,其他邊緣點作為負樣本.

圖3 正樣本Figure 3 Positive samples

圖4 提取圖像中圓形的正樣本Figure 4 Circular image of the extracter samples
(2)訓練分類器.實驗選用 OSU-SVM3.0工具箱,利用徑向基核函數訓練SVM分類器,通過k重交叉驗證的驗證方法確定懲罰參數C和RBF核參數r的值,然后分別建立樣本圖像的8鄰域和24鄰域分類模型.
(3)測試環節.利用訓練環節得到的8鄰域和24鄰域檢測模型分別對被測圖像逐像素進行分類,得到測試圖像的邊緣像素.
SVM分類模型的建立需要通過學習訓練.在應用中,如果訓練樣本已經確定,則該過程是對懲罰因子C和核函數參數的選擇過程.實驗采用k重交叉驗證的驗證方法,即訓練時將N個樣本分為k(1≤k≤N)個子集,其中的(k-1)個子集構成訓練集,剩余的1個子集作為測試集;驗證步驟重復進行k次,使所有樣本子集都參加過測試,實驗中選取k=2.
實驗通過對不同的8鄰域和24鄰域邊緣檢測模型進行訓練得到如表1所示的參數集.表1中,懲罰參數C和RBF核參數r都在2重交叉驗證下對應于最高分類識別率參數集.

表1 邊緣檢測模型參數?Table 1 Edge detection model parameters
模型對人物圖像的檢測結果以及與傳統算子的比較如圖5所示.由圖5可以看出,利用Canny算子對圖像進行檢測的效果較好,但存在偽邊緣,如人物的肩上;而8鄰域模型的檢測結果并沒出現偽邊緣,這說明即使在訓練集中含有干擾樣本,利用本研究提出的基于機器學習的邊緣檢測模型也可以較好地提取邊緣;檢測模型對24鄰域模型的檢測效果優于對8鄰域模型的檢測效果.

圖5 無噪聲圖像的邊緣檢測結果與傳統算子的檢測結果對比Figure 5 Compare of the edge detection results of noise-freeimage with the traditional operator
模型對含噪聲人物圖像的檢查結果以及與傳統算子的比較如圖6所示.由圖6可以看出,在canny算子對噪聲圖像的檢測結果中,人物的臉部被噪聲污染嚴重;而8鄰域模型的檢測結果則表明即使在訓練集中含有一些干擾樣本,本研究提出的邊緣檢測模型不僅可以有效地提取邊緣,而且可以抑制噪聲,這得益于SVM基于結構風險最小化的噪聲抑制的推廣性能;同時,比較24鄰域模型與8鄰域模型的檢測結果,二者均能有效提取邊緣,24鄰域模型抑制噪聲的效果要優于8鄰域模型.

圖6 有噪聲圖像的邊緣檢測結果與傳統算子的檢測結果對比Figure 6 Compare of the edge detection results of noise image with the traditional operator
圖7(a)所示圖像為特定圖形邊緣檢測的測試圖像,圖7(b)和圖7(c)分別為8鄰域模型和24鄰域模型檢測訓練圖形中特定圖形即圓形的訓練圖形;圖7(d)和圖7(e)分別為8鄰域模型和24鄰域模型檢測測試圖形中特定圖形即圓形的檢測結果.結果表明:利用機器學習算法通過訓練學習,建立分類模型,可以有效地提取特定圖形,并且24鄰域模型提取效果均優于8鄰域模型.

圖7 特定圖形邊緣提取的測試圖像和2種模型的檢測結果Figure 7 Test image of extracting Specific graphicand the detection of results of two models
上述實驗中建立的模型(簡稱為9點模型)只考慮了每個像素點的灰度和它8鄰域像素的灰度,造成模型對目的圖形的提取結果存在缺失,因此考慮加入像素點的位置信息,構建包含8鄰域和像素點位置信息的模型(簡稱為11點模型),結果如圖8所示.

圖8 11點模型提取的目的圖像Figure 8 Purpose image of the model 11
由圖8可以看出,11點模型的提取質量很好.但是構建的11點模型只能用來檢測原訓練圖像,檢測出的圓形位置與訓練時的樣本位置相關,但如果用該模型來檢測任意圖像,則可能檢測不出任何圖像,這說明11點模型表現出一種排他性.鑒于2種模型各自的優點,本實驗在檢測圖形時,將上述2種方法貫穿使用,9點模型作為一種粗略檢測方法,可以檢測任何圖像中的相應圖形,但圖形可能不完整,本實驗將9點模型檢測到的不完整邊緣結果作為11點模型的訓練樣本,再次構建檢測模型,這樣就將9點模型丟失的邊緣提取出來,結果如圖9所示.

圖9 9點+11點模型的檢查結果Figure 9 Purpose image of the model 9 and 11
改進方法用11點模型插補9點模型缺失邊緣的過程就像人類視覺中的掃視和注視過程,掃視可以檢測和定位特定圖形,但不精確,注視對掃視定位后的特定圖形進行進一步的檢測,考慮像素位置信息,視覺感知因此變得更為準確.
本研究提出用SVM分類方法對圖像進行邊界檢測,介紹了算法在圖像邊緣檢測時對不同模型的構建方法,說明了算法的訓練策略.從實驗仿真結果可以看出:本研究提出的算法使得模型在檢測邊緣的同時,可以一定程度地克服噪聲干擾,并利用SVM分類器將被測圖像中的特定圖形有效地檢測出來.
[1] 張小琳.圖像邊緣檢測技術綜述[J].高能量密度物理,2007,22(1):37-40.
[2] 吳炯,張秀彬,張峰,等.數字圖像中邊緣算法的實驗研究[J].微計算機信息,2004,120(5):106-107.
[3] 甘玲,李濤,趙輝,等.CP神經網絡在圖像邊緣檢測中的應用[J].四川大學學報:工程科學版,2003,35(3):93-96.
[4] 肖峰.基于BP神經網絡的數字圖像邊緣檢測算法的研究[J].西安科技大學學報,2005,25(3):372-375.
[5] 薛麗霞,李濤,王佐成.一種自適應的canny邊緣檢測算法[J].計算機應用研究,2010,27(9):3588-3590.
[6] 陳志強,郭永亮,陳詩哲.基于小波變換與改進的Roberts算子融合的圖像邊緣檢測[J].傳感器世界,2011,24(4):15-17.
[7] 王鯤鵬.基于Otsu算法和Sobel算子的連接件圖像邊緣檢測[J].現代計算機,2011,19(7):17-19.
[8] Vapnik V N.統計學習理論[M].許建華,張學工,譯.北京:電子工業出版社,2004:21-24.
[9] Jeng J T.Hybrid approach of selecting hyper-parameters of support vector machine for regression[J].Systems,Man,and Cybernetics,Part B:Cybernetics,2006,36(3):699-709.
[10] Jin B,Tang Y C,Zhang Y Q.Support vector machines with genetic fuzzy feature transformation for biomedical data classification[J].Information Sciences,2007,177:476-489.
[11] 邊肇祺,張學工.模式識別[M].北京:清華大學出版社,1999:105-110.
[12] 陳其松.智能優化支持向量機預測算法及應用研究[D].貴陽:貴州大學,2009:23-25.
[13] Vapnik V N.Statistical Learning Theory[M].New York:Wiley-Interscience,1998:198-203.
[14] 吳濤.核函數的性質、方法及其在障礙檢測中的應用[D].北京:國防科學技術大學,2003:27-32.
Study on image edge detection based on classification using SVM
WANGFen,MATao,MAXu
(Institute of Mathematics and Computer Science,Ningxia Normal University,Guyuan 756000,Ningxia Province,China)
According to the problem of bad edge of the image with noise detected using the classical edge detectors,a method based on support vector machine(SVM)of statistical learning theory is proposed to create classification model and detect the image edge.The experiment is based on MATLAB and OSU_SVM3.0 and LS_SVM toolbox are used to create the model.The experiment shows that the method can detect edges of the image very well,and overcomes the noise disturbance in some degree.The specific graphic image can be detected using the method.
edge detection;machine learning;SVM
TP391
A
1671-1114(2011)04-0050-05
寧夏自然科學基金資助項目(NZ11257);寧夏高等學校科學研究基金資助項目(NGNS201003);寧夏師范學院資助項目(ZD2010002,YB2010013)
王 芬(1979—),女,講師,主要從事圖像處理與分析方面的研究.
(責任編校 紀翠榮)