王楚+王亞剛
摘 要:針對傳統(tǒng)的邊緣檢測算法精度不高,提出了基于不同核函數(shù)的最小二乘擬合的亞像素邊緣檢測算法。采用Canny算子對圖像邊緣進行粗定位,再以基于梯度幅值擬合的高斯函數(shù)與基于灰度值擬合的反正切函數(shù)和雙曲正切函數(shù)作為擬合核函數(shù),對一幅拍有標準量塊圖像的邊緣進行檢測,結果表明該算法能夠有效的進行亞像素邊緣檢測。
關鍵詞:亞像素邊緣檢測;Canny算子;最小二乘擬合;核函數(shù)
DOIDOI:10.11907/rjdk.172671
中圖分類號:TP312
文獻標識碼:A 文章編號:1672-7800(2018)002-0060-03
0 引言
目前圖像邊緣提取技術按照精度級別可分為兩類:一類是整像素級別;另一類是亞像素級別。整像素級別的檢測算法主要有 Sobel 算子、 Roberts 算子、LOG算子和Canny 算子等[1-3],其中Canny算子效果最佳,但是此類算法定位精度差,易受噪聲干擾產(chǎn)生偽邊緣。20世紀70年代提出了亞像素級別的檢測算法,它主要有插值算法[4]、矩方法[5]和擬合算法[6]。插值算法復雜度高運算速度慢,矩方法運算精度僅低于擬合算法,但其穩(wěn)定性不高。擬合算法首先用Canny算子進行邊緣粗定位,然后找出邊緣的法線,在法線方向上,灰度值近似符合反正切函數(shù)和雙曲正切函數(shù)分布,梯度幅值近似符合高斯函數(shù)分布。
1 亞像素邊緣檢測原理
圖像處理理論表明,圖像實際邊緣的像素灰度在梯度方向上近似符合如圖1(a)所示的分布。1,2,3,4,5,6,7,8點的灰度值擬合分布圖像近似可以通過反正切函數(shù)或雙曲正切函數(shù)的平移和伸縮等基本變換得到。邊緣的準確位置即亞像素邊緣位置位于整像素點4與5之間,即灰度值變化率最大的位置。因此需要對有限離散點的灰度值進行擬合,然后找出擬合后曲線的一階導數(shù)等于零的位置,這個位置就是所要定位的亞像素邊緣位置。也可利用差分計算像素點位置的梯度幅值如圖1(b)所示,其分布圖像近似符合高斯函數(shù)圖像。對1,2,3,4,5,6,7點的梯度幅值進行最小二乘擬合,高斯函數(shù)的均值位置就是待定的亞像素邊緣位置。
2 亞像素邊緣擬合算法
2.1 高斯函數(shù)擬合算法
首先利用Canny算子進行邊緣粗提取,在給定的像素領域內(nèi)按線性擬合,找出邊緣的切線方向,然后在邊緣切線的法線方向附近提取a,b,c,d,e,f,g,h,I,j,k等若干像素點的梯度幅值。如圖2所示,將這些像素點向法線投影得到的點作為待擬合點,以左下角的第一個像素點的投影點作為坐標原點,其它像素投影點到這個投影點的距離作為橫坐標x,梯度幅值作為縱坐標y,進行高斯曲線擬合[8-10]。
一維高斯函數(shù)表達式為:
其中,u為高斯曲線的均值,即對稱軸位置,σ為標準差。
對像素點4法線方向插值得到的離散梯度幅值進行高斯曲線擬合,得到的均值位置就是所要定位的亞像素邊緣位置??疾旄咚购瘮?shù)會發(fā)現(xiàn),直接對其擬合計算量較大,可以直接在其兩端取常用對數(shù)得到:
高斯曲線的極值點,即灰度值變換率最大的位置,即梯度幅值最大值位置為μ對應的位置。
2.2 反正切函數(shù)擬合算法
反正切函數(shù)[11]為:
圖像實際邊緣的灰度分布近似符合反正切函數(shù),通過基本的圖像平移和伸縮變換就可以得到灰度分布函數(shù),設變換后的函數(shù)為:
其中ω,A為伸縮因子,φ,m為平移因子。如圖2所示,a像素點的位置為坐標原點,邊緣切線方向為y軸,法線方向為x軸,將這些像素點向法線投影,以左下角的第一個像素點即a的投影點作為坐標原點,其它像素投影點到a點投影點的距離作為橫坐標x,像素點的灰度值作為縱坐標y,以式(9)作為擬合核函數(shù),通過最小二乘擬合算法,求得A,ω,φ,m。
通過上述中的理論得知,亞像素邊緣位于灰度值變化率最大的位置,對其求一階和二階導數(shù)得到:
從式(10)可知,灰度值變化率最大位置和拐點位置重合,位于反正切函數(shù)x=-φω位置,此位置即是亞像素邊緣位置。
2.3 雙曲正切函數(shù)擬合算法
雙曲正切函數(shù)[12]為:
圖像實際邊緣的灰度分布近似符合雙曲正切函數(shù),通過圖像基本的平移和伸縮變換就可以得到近似的灰度分布函數(shù),設變換后的函數(shù)為:
其中,ω,A 為伸縮因子,φ,m為平移因子。如圖2所示,a像素點的位置為坐標原點,邊緣切線方向為y軸,法線方向為x軸,將這些像素點向法線投影,以左下角的第一個像素點的投影點作為坐標原點,其它像素投影點到這個投影點的距離作為橫坐標x,像素點的灰度值作為縱坐標y,以(12)式作為擬合核函數(shù),通過最小二乘擬合算法,可以求出A,ω,φ,m。通過上述中的理論得知,亞像素邊緣位于灰度值變化最大的地方,對其求一階和二階導數(shù)得到:
從式(13)可知,灰度值變換率最大位置和拐點位置重合,位于雙曲正切函數(shù)x=-φω位置,此位置即是亞像素邊緣位置。
3 評價試驗
3.1 評價方法
用一幅拍有標準量塊的圖片(192×210)對上述算法進行評價,如圖3所示,檢測如圖所示的矩形框標記的亞像素邊緣位置,利用matlab2014a 實現(xiàn)上述三種算法。
先利用標準差為0.5的5×5的高斯濾波模板對量塊圖進行濾波,然后采用Canny算子進行邊緣粗提取,邊緣定位在29列像素點附近位置。對29列像素點在法線方向的12個像素點的梯度幅值進行擬合,然后對29列像素點在法線方向的13個像素點的灰度值進行擬合,如圖4(a)、(b)、(c)所示。
3.2 實驗數(shù)據(jù)和評定結果
如表1(a)、(b)、(c)所示,R-Square項為確定系數(shù)[13],其表征擬合效果的好壞,其數(shù)值越大擬合效果越好;Value項為擬合參數(shù),Standard Error項為參數(shù)標準差,標準差越小擬合效果越好。xc為高斯函數(shù)的均值位置,b,c代表上文中的ω,φ。對于基于梯度幅值的高斯函數(shù)擬合,亞像素邊緣位置位于高斯函數(shù)均值位置。由表1知該位置即是xc。對于基于灰度值的反正切擬合和雙曲正切擬合,亞像素邊緣位置位于x=-cb。高斯函數(shù),反正切函數(shù)和雙曲正切函數(shù)擬合定位的亞像素邊緣位置分別位于7.126,7.356和7.042個像素點位置。根據(jù)確定系數(shù),參數(shù)標準差和定位位置綜合判斷得出結論,此三種擬合方法均能達到亞像素邊緣檢測的目的,高斯函數(shù)擬合效果較好,反正切函數(shù)效果好,雙曲正切函數(shù)擬合效果一般,三種算法的評定結果如表2所示。endprint
4 結語
根據(jù)邊緣灰度值和邊緣梯度幅值的分布特性,對一幅灰度圖像首先利用 Canny算子進行邊緣粗定位,然后以高斯函數(shù),反正切函數(shù)和雙曲正切函數(shù)三種函數(shù)作為擬合核函數(shù),定位亞像素邊緣位置,該擬合算法能夠達到亞像素邊緣檢測的目的,具有精度高、抗噪聲等優(yōu)點,在立體視覺定位[14]和工業(yè)影像測量[15]中具有重要作用。
參考文獻:
[1] JOHN CANNY. A computation approach to edge detection[J].IEEE Trans Patten Analysis and Machine Intelligence,1986,8(11):679-697.
[2] 賀強,晏立.基于LOG和Canny算子的邊緣檢測算法[J].計算機工程,2011,37(3):210-212.
[3] 雷斯,伍茲,埃丁斯,等.數(shù)字圖像處理:MATLAB版[M].北京:電子工業(yè)出版社,2005.
[4] 孫秋成,周亞洲,寧闖,等.基于三次樣條插值的亞像素邊緣檢測方法[J].控制工程,2014,21(2):290-293.
[5] 付鵬,高曉蓉.基于矩的亞像素邊緣檢測算法的對比研究[J].微計算機信息,2007,23(6-3):264-279.
[6] 賀忠海,王寶光.利用曲線擬合方法的亞像素提取算法[J].儀器儀表學報,2003,24(2):195-197.
[7] 屈玉福,浦昭邦.視覺測量系統(tǒng)中的亞像素邊緣檢測技術的對比研究[J].儀器儀表學報,2003,24(4): 460-462.
[8] 尚雅層,陳靜,田軍委.高斯擬合亞像素邊緣檢測算法[J].計算機應用,2011,31(1):179-181.
[9] 李云,夏若安.基于曲線擬合的亞像素邊緣檢測[J].重慶科技學院學報,2008,10(6): 82-84.
[10] 巨志勇,王超男.基于二次曲面擬合的子像素邊緣檢測算法[J].電子科技,2016,29(6):8-14.
[11] 陳軍,張長江.基于小波域反正切變換的紅外圖像增強算法[J].計算機工程2013,39(1):248-251.
[12] 門紹雄,譚冠榮.圖像的雙曲正切函數(shù)變換[J].儀器儀表學報,1984,5(3):326-330.
[13] 費業(yè)泰.誤差理論與數(shù)值處理[M].北京:機械工業(yè)出版社,1983.
[14] 高純玲.基于雙目立體視覺的手術器械跟蹤定位研究[D].武漢:華中科技大學,2008.
[15] 李帥.影像測量中的亞像素邊緣檢測算法[D].合肥:合肥工業(yè)大學,2011.endprint