趙宏中,張彥超
(1.武漢理工大學(xué) 經(jīng)濟學(xué)院,湖北 武漢 430070;2.武漢理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,湖北 武漢 430070)
近年來,隨著數(shù)字圖像的大量應(yīng)用以及大容量存儲空間的獲得,人們迫切需要一種存儲、管理與檢索圖像的方法,于是圖像檢索技術(shù)應(yīng)運而生,圖像檢索就是利用圖像的物理屬性或者描述關(guān)鍵詞在圖像數(shù)據(jù)庫中尋找與所查詢圖像相關(guān)或相似的圖像[1]?;趦?nèi)容的圖像檢索方法CBIR(Content-Based Image Retrieval)[2]依賴圖像的色彩、形狀、紋理等物理屬性檢索相似圖像。其中形狀是圖像的顯著特征之一,其概念非常明確,而且由形狀的特征來區(qū)分物體也較為直觀,因此形狀特征廣泛應(yīng)用于CBIR中。而形狀的提取以圖像的邊緣檢測[3-4]為前提,邊緣檢測的效果直接影響檢索結(jié)果。
為了提高基于邊緣檢測的圖像檢索系統(tǒng)性能,Canny提出邊緣檢測算子應(yīng)滿足的最優(yōu)準則[5]:信噪比準則、定位精度準則及單邊緣響應(yīng)準則,并由此推導(dǎo)出了Canny最佳邊緣檢測算法。Canny算法首先應(yīng)用高斯濾波器平滑圖像,再采用窗口計算灰度梯度的幅值和方向,然后對梯度圖像進行非極大值抑制,最后采用雙閾值方法從候選邊緣點中檢測和連接邊緣。然而,實際圖像采集過程易受光源照度、信號傳輸?shù)纫蛩氐挠绊懀豢杀苊獾貢朐肼?。同時,一些重要的邊緣細節(jié)也會由于干擾或?qū)Ρ榷炔蛔愣兊媚:?、微弱。因此,在實際圖像中,部分邊緣細節(jié)可能具有與噪聲類似、甚至更低的梯度幅值。此時,傳統(tǒng)Canny算法基于梯度幅值的雙閾值方法往往難以在抑制噪聲的同時保護低強度邊緣,在一定程度上影響邊緣檢測的效果,進而影響圖像檢索性能。
基于上述問題,本文采用改進的Canny算子,提出一種基于改進Canny邊緣檢測的圖像檢索算法。首先使用改進的Canny算子進行邊緣檢測,然后提取邊緣信息作為形狀特征進行圖像檢索。
Canny用范函求導(dǎo)方法推導(dǎo)出高斯函數(shù)的一階導(dǎo)數(shù)即為最優(yōu)邊緣檢測算子的最佳近似。由于卷積運算可交換,可結(jié)合,Canny方法首先采用二維高斯函數(shù)對圖像進行平滑:
式中,σ為控制平滑程度的高斯濾波器參數(shù)。σ較小的濾波器定位精度高,但信噪比低;σ較大,則反之。
傳統(tǒng)Canny算子利用一階微分算子來計算平滑后圖像I各點處的梯度幅值和梯度方向,從而獲得相應(yīng)的梯度幅值圖像G和梯度方向圖像θ。其中,點(i,j)處2個方向的偏導(dǎo)數(shù)Gx(i,j)和 Gy(i,j)分別為:
則點(i,j)處的梯度幅值和梯度方向分別為:
為了精確定位邊緣,必須細化梯度幅值圖像G中的屋脊帶,而只保留幅值的局部極大值,即非極大值抑制(NMS)。Canny算子在梯度幅值圖像G中以點(i,j)為中心 3×3的鄰域內(nèi)沿梯度方向 θ(i,j)進行插值,如果點(i,j)處的梯度幅值G(i,j)大于 θ(i,j)方向上與其相鄰的 2 個插值,則將點(i,j)標(biāo)記為候選邊緣點,反之則標(biāo)記為非邊緣點。從而得到候選邊緣圖像N。
傳統(tǒng)Canny算子采用雙閾值法從候選邊緣點中檢測和連接得到最終的邊緣,首先選取高閾值Th和低閾值Tl,然后掃描圖像,檢測候選邊緣圖像N中標(biāo)記為候選邊緣點的任一像素點(i,j)。 若點(i,j)梯度幅值 G(i,j)大于高閾值 Th,則該點一定是邊緣點;若點(i,j)梯度幅值 G(i,j)小于低閾值 Tl,則該點一定不是邊緣點。而對于梯度幅值處于2個閾值之間的像素點,則將其看作疑似邊緣點,需進一步依據(jù)邊緣的連通性對其進行判斷,若該像素點的鄰接像素中有邊緣點,則認為該點也為邊緣點,否則,該點為非邊緣點。
由于實際圖像在采集過程易受到光源照度、信號傳輸?shù)纫蛩氐挠绊?,不可避免地會引入噪聲。同時,一些重要的邊緣細節(jié)也會由于干擾或?qū)Ρ榷炔蛔愣兊媚:?、微弱。因此,在實際圖像中,部分邊緣細節(jié)可能具有與噪聲類似,甚至更低的梯度幅值。若僅以梯度幅值大小為標(biāo)準檢測和連接邊緣,則可能由于閾值設(shè)定過高而損失重要的邊緣信息,或由于閾值設(shè)定過低不能有效抑制噪聲,很難獲得滿意的效果。
僅使用梯度幅值信息容易混淆低強度邊緣和噪聲,因此需要尋找新的能夠描述邊緣點與噪聲點之間差異的特征信息。圖像中的像素點除了具有梯度幅值信息外,還具有梯度方向信息,而且邊緣點的梯度方向一般指向邊緣的法線方向,孤立的噪聲點則通常沒有特定的梯度方向。因此,根據(jù)兩者在梯度方向特性上的差異,能有效區(qū)分邊緣點與噪聲點。
改進算子采用基于梯度方向的邊緣點檢測和連接方法,既能有效抑制噪聲,又盡可能地保護邊緣細節(jié),較好地解決了上述問題,提高了Canny邊緣檢測算法的性能。如圖1所示,在以點0為中心的8鄰域內(nèi),定義各點與中心點的連線為 Segt={(0,t)/t=1,…,8},稱為點 t到中心點的連接。 可以看出,當(dāng)中心點0與鄰域內(nèi)任意一點處于同一邊緣時,其連接Segt也處于該邊緣上。定義Angt為中心點0與其鄰域內(nèi)任意點t的平均梯度方向與這兩者的連接 Segt法線方向的夾角的絕對值。由于邊緣上的點的梯度方向應(yīng)指向該點處邊緣的法線方向,則當(dāng)中心點0與鄰域內(nèi)任意點t處于同一邊緣上時,Angt應(yīng)小于一個較小值T。而對于噪聲點,由于其與相鄰點梯度方向不同,使得Angt值通常較大。因此,依據(jù)梯度方向信息能夠有效區(qū)分圖像中的邊緣點和噪聲點,從而在抑制噪聲的同時準確實現(xiàn)邊緣點的檢測和連接。
圖1 8鄰域結(jié)構(gòu)
改進的Canny邊緣檢測算法采用基于梯度方向的邊緣點檢測和連接方法,由于考慮了邊緣點和噪聲點在梯度方向上的差異,從而避免了傳統(tǒng)方法在抑制噪聲的同時損壞低強度邊緣的缺陷,可獲得更好的性能。
此外,在實際應(yīng)用過程中,受到光的衍射等因素的影響,部分圖像中可能含有一些梯度方向特性與邊緣十分類似的暗紋,可能使得檢測出的圖像中存在部分無意義邊緣。這類暗紋的梯度幅度通常很低,因此,可以在程序中引入一個較小的梯度幅度閾值,將梯度幅度低于該閾值的點直接標(biāo)記為非邊緣點,避免對其進行基于梯度方向的檢測和連接,從而避免這類無意義邊緣的出現(xiàn)。
本文的算法是通過改進的Canny算子提取精準的圖像邊緣,再根據(jù)邊緣信息進行圖像檢索,其流程如圖2所示。
圖2 本文算法流程
傅里葉描述子具有與起始點無關(guān),旋轉(zhuǎn)不變性和轉(zhuǎn)置不變性的特點,因此采用傅里葉描述子來描述形狀輪廓向量,以此作為圖像的形狀特征。
圖像的相似性度量是基于內(nèi)容的圖像檢索技術(shù)中又一關(guān)鍵問題。它是由圖像內(nèi)容的相似度得到圖像相似性的一種比較方法。相似性度量研究如何用數(shù)值來有效的表示圖像的相似程度。相似性度量將直接影響檢索效果。在模式識別技術(shù)中,特征的相似度量多采用距離法,即特征的相似程度用特征向量的空間距離來表示,距離越大,圖像之間的差別越大,反之就越相似。由于馬氏(Manhanttan)距離[8]能準確匹配噪聲圖像和遮擋圖像,具有很高的可靠性和穩(wěn)定性,因此本文使用Manhanttan距離來衡量圖像間是否相似。Manhanttan距離的計算公式如下:
基于改進的Canny邊緣檢測算子的圖像檢索算法實現(xiàn)步驟如下:1)對圖像庫中的圖像進行預(yù)處理,去除噪聲及冗余信息;2)選擇查詢示例圖像,使用改進的Canny算子提取圖像邊緣信息;3)使用傅里葉描述子表示查詢示例圖像。同時初始化圖像數(shù)據(jù)庫,對于每一幅圖像用改進的Canny算子提取圖像邊緣信息并且使用傅里葉描述子表示。此時,圖像特征轉(zhuǎn)化為向量;4)根據(jù)向量間的Manhanttan距離在數(shù)據(jù)庫中比對,并按照距離的大小對檢索結(jié)果排序完成整個檢索過程。
由于改進的Canny算子能夠精準的提取圖像邊緣信息,因此本文的圖像檢索算法能在一定程度上提高檢索效率,得到更好的檢索效果。
基于上述思想,本文實現(xiàn)了一個實驗系統(tǒng)。實驗采用的測試圖像數(shù)據(jù)庫共有3 500幅圖像,包含汽車、動物、花卉等共7類,每幅圖像的分辨率為256×385,實驗硬件環(huán)境為Intel Dual-Core1.6 GHz,Windows XP,1 GB 內(nèi)存 PC 機。
在測試圖像數(shù)據(jù)庫中選擇測試圖像,基于傳統(tǒng)Canny算子以及基于改進Canny算子的邊緣檢測結(jié)果如圖3所示。
圖3 邊緣檢測結(jié)果
由圖3可見,與傳統(tǒng)Canny邊緣檢測算法相比,改進的Canny算子在保持傳統(tǒng)算法優(yōu)點的基礎(chǔ)上,檢測到了更多的低強度邊緣,從而更全面地反映了圖像的細節(jié)信息,此外,改進的Canny邊緣檢測算法在保持邊緣清晰連貫的同時,具有更強的噪聲抑制能力。
基于傳統(tǒng)Canny算子邊緣檢測的圖像檢索算法和本文算法的檢索結(jié)果比較如圖4所示。
圖4 兩種算法的檢索結(jié)果比較
本文使用查全率(Recall)和查準率(Precision)[9]評估算法的性能。查全率(召回率)A和查準率(準確度)C分別定義為:A=R/M,C=R/N。其中,R指有關(guān)聯(lián)的正確結(jié)果,M指所有有關(guān)聯(lián)的結(jié)果,N指所有檢索到的結(jié)果。查全率是衡量檢索系統(tǒng)和檢索者檢出相關(guān)信息的能力,查準率是衡量檢索系統(tǒng)和檢索者拒絕非相關(guān)信息的能力。傳統(tǒng)基于Canny邊緣檢測的圖像檢索算法和本文算法的性能比較如表1所示。
表1 兩種算法的檢索結(jié)果比較
從圖4和表1的檢索結(jié)果可以看出,由于改進的Canny算子能夠檢測到低強度的邊緣,而且較好的保持邊緣清晰連貫,所以在此基礎(chǔ)上的圖像檢索算法取得了較好的檢索效果,提高了圖像檢索性能。
本文主要探討在提高邊緣檢測性能的基礎(chǔ)上改善圖像檢索效率,為基于形狀的圖像檢索提出一種檢索思路,提出基于Canny邊緣檢測的圖像檢索算法。該算法使用改進的Canny算子提取圖像邊緣特征,在此基礎(chǔ)上,該特征被應(yīng)用于圖像檢索算法中。由于改進的Canny算子能夠檢測到低強度的邊緣而且能夠較好的保持邊緣清晰連貫,從而提高了算法檢索效率。但是,由于圖像往往被表示為高維空間中的矢量,因此在現(xiàn)有的技術(shù)條件下對其索引和檢索都是較困難的,而且“語義鴻溝”問題同樣影響圖像檢索結(jié)果。如何突破“語義鴻溝”,更加快速準確地檢測出近似圖像,將是今后研究的方向。
[1]Mostafa T, Abbas H M,Wahdan A A.On the use of hierarchical color moments for image indexing and retrieval[C]//Systems,Man and Cybernetics,2002 IEEE International Conference,2002,7(6):6-9.
[2]溫泉徹,彭 宏,黎 瓊.基于內(nèi)容的圖像檢索關(guān)鍵技術(shù)研究[J].微計算機信息,2007,23(3):278-280.
[3]季 虎,孫即祥,邵曉芳.圖像邊緣提取方法及展望[J].計算機工程與應(yīng)用,2004,40(14):70-73.
[4]姚峰林,詹海英,李元宗.機器視覺中的邊緣檢測技術(shù)研究[J].機械工程與自動化,2005(1):108-110.
[5]王 植,賀賽先.一種基于Canny理論的自適應(yīng)邊緣檢測方法[J].中國圖像圖形學(xué)報,2004,9(8):957-961.
[6]張 斌,賀賽先.基于Canny算子的邊緣提取改善方法[J].紅外技術(shù),2006,28(3):165-169.
[7]萬 力,易 昂,傅 明.一種基于Canny算法的邊緣提取改善算法[J].計算機技術(shù)與自動化,2003,22(1):24-26.
[8]宋 艷,劉方愛.基于相似性度量方法的圖像檢索[J].計算機應(yīng)用與軟件,2007,24(10):166-168.
[9]Smeulders A W M,Santini S,Worring M,et al.Content based image retrieval at the end of the early years[J].IEEE Transactions on Pattern Analysisand Machine Intelligence,2000,22(12):1 349-1 380.