一種具有廣泛適應(yīng)性的圖像亞像素邊緣提取方法
【專利摘要】本發(fā)明提出了一種具有廣泛適應(yīng)性的圖像亞像素邊緣提取方法,采用自適應(yīng)高低閾值計算方法,在得到梯度圖像后,結(jié)合像素點(diǎn)的梯度方向信息對梯度圖像執(zhí)行局部極大中心值選擇操作,以任意像素位置為原點(diǎn),建立相對坐標(biāo),取該點(diǎn)周圍八鄰域像素為局部極大中心值選擇數(shù)據(jù)樣本,根據(jù)梯度方向得到鄰域的比較結(jié)果,確定當(dāng)前像素位置是否為邊界點(diǎn)候選位置。局部梯度幅值的極值是否為邊緣點(diǎn),需要結(jié)合特定閾值來判斷,大于某給定閾值的標(biāo)記為邊緣點(diǎn),小于某給定閾值判定為噪聲點(diǎn)或背景點(diǎn);采用基于Steger曲面擬合方法的Hessian矩陣法求取邊緣點(diǎn)的亞像素位置;最后將將邊緣點(diǎn)連接成曲線,構(gòu)成一組有向連續(xù)點(diǎn)的集合。本發(fā)明方法具有極好的實時性。
【專利說明】
一種具有廣泛適應(yīng)性的圖像亞像素邊緣提取方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及圖像識別技術(shù)領(lǐng)域,尤其涉及一種圖像亞像素邊緣提取方法。
【背景技術(shù)】
[0002] 在機(jī)器視覺中,為進(jìn)行目標(biāo)定位、測量、檢測或幾何特征提取等都需要對目標(biāo)進(jìn)行 亞像素精度的邊緣提取。例如在目標(biāo)定位中采用幾何特征的模板匹配方法需要對模板和目 標(biāo)進(jìn)行亞像素精度的邊緣提取;在測量應(yīng)用中需要精確檢測到物體的邊緣才能進(jìn)行準(zhǔn)確地 測量;在檢測應(yīng)用中,如光學(xué)字符驗證0CV、邊緣缺陷檢測等都需要穩(wěn)定地檢測到物體的亞 像素邊緣。
[0003] 常用的邊緣提取算法有Roberts算子、Sobel算子、Prewitt算子、拉普拉斯算子及 Canny算子等。亞像素精度的邊緣提取算法有空間矩法、灰度矩法、Zernike矩法及數(shù)字相關(guān) 法等。其它亞像素精度的邊緣提取算法還包括多項式擬合法、橢圓擬合法、高斯曲面擬合 法、Sigmoid曲線擬合法等,李帥等提出了 一種基于高斯曲面擬合的亞像素檢測算法,孫成 秋等在《一種亞像素精度的邊緣檢測方法》中提出采用貝塞爾邊緣模型進(jìn)行亞像素邊緣提 取,張舞杰等提出了一種基于Sigmoid函數(shù)擬合的亞像素邊緣檢測的方法。專利文獻(xiàn)1(中國 專利公開號CN10465002A)公開了一種基于Sobel邊緣提取的橢圓目標(biāo)亞像素邊緣定位方 法,通過像素邊緣計算橢圓幾何參數(shù),通過像素邊緣計算出亞像素邊緣。
[0004] 專利文獻(xiàn)2(中國專利公開號CN102737377A)公開了一種改進(jìn)的亞像素邊緣提取算 法,先進(jìn)行像素精度的粗定位,利用邊緣圖像裁剪目標(biāo)圖像縮小查找范圍,然后在縮小后的 范圍內(nèi)提取亞像素邊緣。專利文獻(xiàn)3(中國專利公開號CN103530878A)公開了一種基于融合 策略的邊緣提取方法,采用三種傳統(tǒng)的邊緣提取算法的結(jié)果獲得反映屬于邊緣可能程度的 投票權(quán)重,然后分析像素點(diǎn)與鄰域的最大亮度差和最小亮度差的差值,獲取描述亮度突變 程度的差值權(quán)重;統(tǒng)計去中心鄰域方差分布,獲取所有像素點(diǎn)的邊緣分布權(quán)重,進(jìn)行邊緣決 策,輸出邊緣圖像。專利文獻(xiàn)4(中國專利公開號CN103886589A)公開了一種面向目標(biāo)的自動 化高精度邊緣提取方法,包括模型訓(xùn)練階段和邊緣提取階段。專利文獻(xiàn)5(中國專利公開號 CN103955911A)公開了一種基于相對變分的邊緣檢測方法,包括圖像預(yù)處理及基于神經(jīng)網(wǎng) 絡(luò)方法的邊緣檢測。專利文獻(xiàn)6(中國專利公開號CN104268857A)公開了一種快速亞像素邊 緣檢測和定位方法,基本思路是首先獲得像素級邊緣位置,然后采用余弦查表法計算亞像 素邊緣點(diǎn)。專利文獻(xiàn)7(中國專利公開號CN104268872A)公開了一種基于一致性的邊緣檢測 方法。專利文獻(xiàn)8(中國專利公開號CN104732536A)公開了一種基于改進(jìn)形態(tài)學(xué)的亞像素邊 緣檢測方法,采用改進(jìn)的形態(tài)學(xué)邊緣檢測算子平滑圖像邊緣信息,在物體邊緣輪廓中利用 Canny算子獲得像素級的邊緣,然后將像素級邊緣擬合為產(chǎn)品的亞像素邊緣。專利文獻(xiàn)9(中 國專利公開號CN105005981A公)開了一種的亞像素精度的激光光條中心提取方法,通過在 平滑后的圖像中定位初始光條中心,然后利用高斯函數(shù)擬合獲得光條寬度,再利用擬合高 斯函數(shù)的方差及高斯卷積核等參數(shù)計算Hessian矩陣,依據(jù)Hessian矩陣計算出激光光條的 亞像素中心位置。在Hessian矩陣方法的使用上與本發(fā)明相同,但在像素精度位置計算方面 存在本質(zhì)的區(qū)別,也導(dǎo)致兩個方法的適用性完全不同。
[0005] 然而在工業(yè)環(huán)境應(yīng)用中,圖像受到各類因素的干擾導(dǎo)致圖像質(zhì)量降低,包括強(qiáng)噪 聲、邊緣模糊等,如何在低質(zhì)量的圖像中穩(wěn)定地檢測出亞像素精度的邊緣特征并沒有很好 地解決。傳統(tǒng)的像素精度的邊緣提取算法在工業(yè)自動化應(yīng)用如3C自動化裝備、電子制造、工 業(yè)機(jī)器人視覺等應(yīng)用中并不能滿足精度要求。空間矩法、灰度矩法、Zernike矩法及數(shù)字相 關(guān)法等亞像素邊緣提取算法在檢測精度、計算速度和抗噪聲能力方面均存在各自的不足, 很難適應(yīng)工業(yè)環(huán)境中嚴(yán)苛的檢測工況。
[0006] 專利文獻(xiàn)1只能提取橢圓目標(biāo)的亞像素位置,通用性不足,且不能處理模糊目標(biāo)的 邊緣提取問題。專利文獻(xiàn)3公開的方法中分布利用了 Sobel、Canny和LoG算子進(jìn)行邊緣檢測, 然后將三種算子檢測的結(jié)果進(jìn)行加權(quán)投票統(tǒng)計,根據(jù)投票的權(quán)重矩陣得到亞像素坐標(biāo),該 方法存在的問題是速度慢、精度依賴于權(quán)重矩陣、不能解決強(qiáng)噪聲、模糊等圖像的邊緣提取 問題。專利文獻(xiàn)4和專利文獻(xiàn)5公開的方法采用Canny和相對變分的結(jié)果,采用機(jī)器學(xué)習(xí)的方 法進(jìn)行邊緣提取,其方法速度較慢、不能在低質(zhì)量圖像中進(jìn)行穩(wěn)定的邊緣提取。專利文獻(xiàn)6 公開的方法在像素坐標(biāo)粗定位的基礎(chǔ)上,在8個梯度方向上進(jìn)行亞像素邊緣檢測,該方法具 有很好的計算速度,但沒有考慮強(qiáng)噪聲和模糊圖像的處理。專利文獻(xiàn)7和專利文獻(xiàn)8也存在 計算效率不高,不能處理強(qiáng)噪聲、模糊圖像的邊緣提取問題。專利文獻(xiàn)9公開的方法采用多 級高斯卷積運(yùn)算,算法復(fù)雜度高,對光照變化等原因形成的不同區(qū)域非線性陰影變化無法 實現(xiàn)魯棒的光條中心線提取,該方法只適用于激光光條中心線提取,無法實現(xiàn)通用的圖像 邊緣特征提取。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于提供一種基于圖像邊緣信息的高速、高精度模板匹配定位方 法,該方法能同時輸出模板圖像在目標(biāo)圖像中亞像素精度的位置、旋轉(zhuǎn)角度和縮放比例因 子,針對目標(biāo)圖像出現(xiàn)位移、旋轉(zhuǎn)、縮放、部分遮擋、光照明暗變化,光照不均勻、雜亂背景等 都能實現(xiàn)快速、穩(wěn)定、高精度的定位和識別。本發(fā)明可以應(yīng)用于需要通過機(jī)器視覺進(jìn)行目標(biāo) 定位和識別的場合:如機(jī)器人引導(dǎo)、半導(dǎo)體封裝、電子制造、自動化裝配、產(chǎn)品視覺檢測、視 覺測量、視頻跟蹤等領(lǐng)域。
[0008] 本發(fā)明公開的方法能夠在低質(zhì)量圖像中穩(wěn)定地檢測出亞像素精度的邊緣特性。
[0009] 為達(dá)上述目的,本發(fā)明通過以下技術(shù)方案實現(xiàn):
[0010] 一種具有廣泛適應(yīng)性的圖像亞像素邊緣提取方法,包括以下步驟:步驟1:采用可 變尺度圖像模糊平滑濾波對圖像預(yù)處理;步驟2:對預(yù)處理后的圖像計算一階導(dǎo)數(shù),首先確 保得到的梯度幅值滿足該點(diǎn)錯誤率小于設(shè)定值a P,圖像一階導(dǎo)數(shù)通過目標(biāo)核卷積圖像空間 得到;圖像的邊緣線在圖像一階導(dǎo)數(shù)的脊線處,其中,脊線是梯度圖像內(nèi)相鄰連續(xù)的局部極 大值的集合;步驟3:在邊緣候選點(diǎn)篩選過程中應(yīng)用到鏈?zhǔn)介撝档倪吘壧崛〖斑x擇原理,實 現(xiàn)像素級邊界位置提取,高低閾值采用兩種方式獲得:外部參數(shù)輸入或者自適應(yīng)閾值計算; 步驟4:在得到梯度圖像后,為方便并快速找到脊線的單像素寬位置,結(jié)合像素點(diǎn)的梯度方 向信息對梯度圖像執(zhí)行局部極大中心值選擇操作;步驟5:局部梯度幅值的極值是否為邊緣 點(diǎn),需要結(jié)合特定閾值來判斷,大于某給定閾值的標(biāo)記為邊緣點(diǎn),小于某給定閾值判定為噪 聲點(diǎn)或背景點(diǎn);步驟6:計算亞像素精度的邊緣位置;步驟7:將邊緣點(diǎn)連接成曲線,構(gòu)成一組 有向連續(xù)點(diǎn)的集合。
[0011]作為本發(fā)明的進(jìn)一步改進(jìn)所述步驟2中,設(shè)圖像I(x,y)被執(zhí)行邊緣提取操作后得 到邊界點(diǎn)錯誤率為<^,圖像大小為n = wXh,則單點(diǎn)檢測錯誤的概率為ap = l-(l-ai)1/n,其中 W范圍在0到1.0間,圖像I(x,y)只有高斯噪聲且噪聲信號方差為s n;利用卷積的分步特性, 有如下等式: 0012 | n, <y) ? (Ha:, I/) * (?(;s, ?/, <y)}/ ? [I ^ G(;i\ s?}| ^ ff)f *
[0013]得到各點(diǎn)的梯度幅值為:::: V/5T^,使得各點(diǎn)梯度幅值的錯誤率低于設(shè) 定值aP,即滿足等式:M(x,y,〇)彡c(〇),其中,
[0015] 上式中的變量為尺度變量〇,其它變量為全局設(shè)定參數(shù)。
[0016] 作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟3中計算高低閾值具體為:首先找到直方圖曲 線的峰值點(diǎn)(i,Hi)、最后一個直方圖中非零累積值坐標(biāo)點(diǎn)為(」,比),0<1<_]_<255且0<出 <Hj < 1.0,將上述兩點(diǎn)連接起來,得到一條直線ax+by+c = 0;在i至lj j間查找直方圖曲線坐 標(biāo)點(diǎn)到直線的最大距離位置dmax,即滿足dmax = arg maxk | ak+bHk+c I,該點(diǎn)坐標(biāo)(k,Hk)的橫坐 標(biāo)即為第一個閾值Ti?=k;接著從該點(diǎn)出發(fā),至直線末端點(diǎn)(j,Hj)再連接成一條直線ax+0y +入=0,在直方圖曲線的區(qū)間k到j(luò)上,查找曲線到直線(a,P,A)的最大距離位置D max,同樣滿 足Dmax = arg maxt | at+冊t+入I,該點(diǎn)坐標(biāo)(t,Ht)的橫坐標(biāo)標(biāo)記為第二個閾值Thigh = t 〇
[0017] 作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟4具體為:任意像素位置的梯度方向為0 = tarfHfy/fx),相切與脊線的走勢方向;以任意像素位置為原點(diǎn),建立一個相對坐標(biāo),取該點(diǎn) 周圍八鄰域像素為局部極大中心值選擇數(shù)據(jù)樣本,根據(jù)梯度方向得到鄰域的比較結(jié)果,確 定當(dāng)前像素位置是否為邊界點(diǎn)候選位置。
[0018]作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟5采用Canny的雙閾值設(shè)定(Ti?,Thigh);當(dāng)局 部極值Go高于Thigh時,點(diǎn)po是邊緣點(diǎn);Go低于閾值Ti?表示當(dāng)前點(diǎn)為非邊界點(diǎn)屬性;當(dāng)Go介于 高低閾值之間時,鏈?zhǔn)叫?yīng)發(fā)生作用,即PQ點(diǎn)的八鄰域中存在邊界點(diǎn),則當(dāng)前位置確認(rèn)為邊 界點(diǎn)。
[0019]作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟6采用基于Steger曲面擬合方法的Hessian矩 陣法求取邊緣點(diǎn)的亞像素位置,在像素級邊緣點(diǎn)的小區(qū)域內(nèi)執(zhí)行曲面擬合的內(nèi)插值算法f (r,c) = k〇+kir+k2C+k3r2+k4rc+k5C2;對曲面方程的各未知數(shù)求取一階及二階導(dǎo)數(shù),組合成 Hessian矩陣;求解Hessian矩陣的特征值及各自的特征向量,其中最大絕對特征值所對應(yīng) 的特征向量即為邊緣點(diǎn)的法線方向(n x,ny);利用法線方向及曲面方程的泰勒展開,計算邊 緣點(diǎn)的亞像素位置。
[0020]作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟7的邊緣連接過程中需要注意的邊界連接要 保持的一個原則是選擇最近且盡可能形成直線或光滑曲線的走勢,同時還要避免形成互相 連接的兩條曲線,對于波浪曲線有且只能存在唯一的一條曲線。
【附圖說明】
[0021 ]圖1是本發(fā)明的方法流程圖;
[0022] 圖2是在一維圖像數(shù)據(jù)及對應(yīng)導(dǎo)數(shù)結(jié)果的示意圖;
[0023] 圖3是固定尺度高斯濾波配合Canny算法邊緣提取結(jié)果的示意圖;
[0024] 圖4是圖像區(qū)域擬合及脊線走勢圖;
[0025]圖5是閾值分割不意圖;
[0026] 圖6(a)是中心點(diǎn)像素及八鄰域表示示意圖;
[0027] 圖6(b)是八鄰域坐標(biāo)表示示意圖;
[0028] 圖7是當(dāng)前點(diǎn)后續(xù)點(diǎn)為搜索方向及次序示意圖;
[0029] 圖8是帶有強(qiáng)噪聲的圖像亞像素邊緣提取實例示意圖;
[0030] 圖9是圖像變尺度模糊圖像檢測結(jié)果示意圖;
[0031] 圖10是本發(fā)明的方法和商業(yè)化軟件得到的檢測結(jié)果對比示意圖。 具體實施方案
[0032] 下面通過【具體實施方式】結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0033] 邊緣檢測是圖像處理中被廣泛使用的算法,機(jī)器視覺技術(shù)中非常多算子都需要基 于良好的邊緣提取結(jié)果,如幾何模板匹配、直線檢測、圓檢測、字符識別、缺陷檢測、尺寸測 量等。本發(fā)明提供了一種能穩(wěn)定檢測強(qiáng)噪聲圖像或模糊尺度變化強(qiáng)烈圖像邊緣的方法,該 方法能給出亞像素精度的邊緣位置、邊緣點(diǎn)的連接關(guān)系、邊緣點(diǎn)的長度信息。邊緣檢測效率 極為高效,非常適于在機(jī)器視覺實時系統(tǒng)中應(yīng)用。本發(fā)明能為機(jī)器視覺中的定位、測量技術(shù) 提供重要基礎(chǔ)。
[0034]本發(fā)明的方法流程圖如附圖1所示,包括以下步驟:步驟1:圖像預(yù)處理,對圖像平 滑濾波;步驟2:尺度狀態(tài)一階離散核卷積圖像;步驟3:自適應(yīng)高低閾值計算;步驟4:近似梯 度方向計算并局部極大中心值選擇;步驟5:像素邊界點(diǎn)判定選擇;步驟6:計算亞像素精度 的邊緣位置;步驟7:相同屬性邊界點(diǎn)次序連接。
[0035]下面對各步驟進(jìn)行具體說明。
[0036] 1 ?圖像預(yù)處理
[0037]在查找邊緣點(diǎn)之前,需建立一個滿足特定條件的邊緣模型。絕大多數(shù)邊緣檢測算 法,如1&1'1'、11;[1(1代1:11、?(^8;[0、0311117等,定義的邊緣位置在圖像灰度突變的位置,即一階導(dǎo) 數(shù)幅值數(shù)據(jù)高于一定閾值的位置或是二階導(dǎo)數(shù)等于零同時不是平坦拐點(diǎn)(flat inflection point),滿足條件g' (x,y)gm(x,y)<0。附圖2中g(shù)(s)為一維灰度分布,圖中g(shù)' (s)為一維灰度分布的一階導(dǎo)數(shù)曲線,g〃(s)為一維灰度分布的二階導(dǎo)數(shù)曲線。一階、二階導(dǎo) 數(shù)都能表示圖像邊緣特征,但一階導(dǎo)數(shù)具有計算速度快、抗噪能力強(qiáng)的優(yōu)點(diǎn),本發(fā)明中采用 一階導(dǎo)數(shù)作為判斷邊緣的依據(jù)。
[0038]附圖2顯示的曲線g(s)表示原始數(shù)據(jù),由該圖可以假定階躍邊緣模型為ku(x)+h, 其中k為未知的梯度幅值,h表示背景圖像的灰度數(shù)值,u(x)是灰度分布曲線方程。在邊緣提 取中使用預(yù)處理的目的是將所有可能的邊緣位置都處理后接近附圖2的邊緣模型g(s),也 是方法流程中步驟①的處理要求。圖像預(yù)處理通過高斯濾波完成,而處理的對象包括:不確 定類型噪聲干擾圖像、不同原因及程度的模糊圖像、非階躍邊緣模型。二維圖像的高斯模糊 核定義如下:
[0040] 其中的未知可變尺度信息是曲線方差〇參數(shù)。為適應(yīng)于不同類型的圖像,保證可以 解決附圖3中遇到的問題,可變尺度圖像模糊平滑濾波被用來做圖像的預(yù)處理手段。需要解 決的即是在滿足部分區(qū)域邊緣點(diǎn)性能時,另外部分邊緣點(diǎn)被檢測出非單像素寬邊界點(diǎn)。
[0041] 2.-階尺度高斯核求導(dǎo)圖像邊緣梯度
[0042]在圖像預(yù)處理操作后,根據(jù)邊緣點(diǎn)存在于圖像灰度值突變處的定義,同時邊緣線 也是在圖像一階導(dǎo)數(shù)的脊線(ridge)處,如附圖4所示。脊線是梯度圖像內(nèi)相鄰連續(xù)的局部 極大值的集合,同時也是邊緣曲線的所在。
[0043] 圖像在生成時,由于各種原因會造成邊界模糊(如鏡頭透鏡對光的不同折射、非平 行光線于邊界處形成陰影、邊緣自身過渡模糊等)或是引入噪聲信號(如高斯噪聲),本發(fā)明 能克服上述問題獲得單像素寬邊緣點(diǎn)。設(shè)定圖像I(x,y)被執(zhí)行邊緣提取操作后得到邊界點(diǎn) 錯誤率為aI,圖像大小為n=w X h,則單點(diǎn)檢測錯誤的概率為ap = 1 -(1 -cn)Vn;其中a:范圍在 0到1.0間。在計算圖像一階導(dǎo)數(shù)時,首先確保得到的梯度幅值滿足該點(diǎn)錯誤率小于設(shè)定值 a P。圖像一階導(dǎo)數(shù)通過目標(biāo)核卷積圖像空間得到,利用卷積的分步特性,有如下等式:
[0044] f ^ :::: ^ ;:::: ^ (1) \ p,(7)- {J if) ^ 0{.£, p, (7}f - (I * 〇(s^, (t)} ^ G(|/s <r/
[0045] 各點(diǎn)的梯度幅值為二.0r|: + r|.
[0046]設(shè)圖像I(x,y)只有高斯噪聲且噪聲信號方差為sn,函數(shù)U表示高斯函數(shù)的正區(qū)間 半函數(shù),其偏導(dǎo)數(shù)表達(dá)式為:
(2)
[0048]其中圖像信號方差和濾波信號方差的關(guān)系為s=| iGlLhcOl |2Sn,函數(shù)f是微分 同胚映射(diffeomorphism),且有V = f (U),貝lj函數(shù)V的偏導(dǎo)數(shù)為:
⑶
[0050] 構(gòu)造函數(shù)f(u)=u2,聯(lián)合(2)式和(3)式,得到如下式子:
(4)
[0052]結(jié)合式(1)中各軸的梯度,并代入函數(shù)(4),有如下表達(dá)式:
(5)
[0054] 求解(5)式,得到_.%_二忐以夂氣斤隊①八保證各點(diǎn)的邊緣位置發(fā)生錯誤 的概率不超過ap,對概率密度函數(shù)(5)式做積分處理得到概率值。設(shè)定關(guān)鍵參數(shù)變量為c,有 如下表達(dá)式:
[0055] ? (Xp (6)
[0056] 高斯函數(shù)一階導(dǎo)數(shù)的L2距離為:丨丨(7化jW)丨b :二結(jié)合上述相關(guān)表達(dá)式, 參數(shù)c的表達(dá)式為: (7)
[0058] 其中式(7)的變量為〇,即是尺度變量,其它變量是全局設(shè)定參數(shù)。由(5)(6)兩式可 得,變尺度算法關(guān)鍵在于使得各點(diǎn)梯度幅值的錯誤率低于設(shè)定值a P,即滿足等式:M(x,y,〇) 知(〇) 〇
[0059] 3.自適應(yīng)高低閾值計算
[0060] 本發(fā)明在邊緣候選點(diǎn)篩選過程中應(yīng)用到鏈?zhǔn)介撝档倪吘壧崛〖斑x擇原理,實現(xiàn)像 素級邊界位置提取,即流程中步驟③。本發(fā)明采用兩種方式設(shè)定高低閾值:外部參數(shù)輸入及 自適應(yīng)閾值計算。圖像梯度信息合成的直方圖曲線存在一個明顯的峰值點(diǎn),并在峰值點(diǎn)之 后直方圖的數(shù)值急劇減少直至降到零值。
[0061] 本發(fā)明公開了一種簡單快速的查找高低閾值方法。首先找到直方圖曲線的峰值點(diǎn) (i,Hi),另外是最后一個直方圖中非零累積值坐標(biāo)點(diǎn)為(j,Hj)(0<i<j<255)且0彡Hj<Hi <1.0),將上述兩點(diǎn)連接起來,得到一條直線ax+by+c = 0。在i到j(luò)間查找直方圖曲線坐標(biāo)點(diǎn) 到直線的最大距離位置,即滿足dmax = arg maxk | ak+bHk+c |。該點(diǎn)坐標(biāo)(k,Hk)的橫坐標(biāo)即為 第一個閾值Ti?=k。接著從該點(diǎn)出發(fā),至直線末端點(diǎn)(j,Hj)再連接成一條直線ax+0y+A = 〇, 在直方圖曲線的區(qū)間k到j(luò)上,查找曲線到直線(a,P,A)的最大距離位置,同樣滿足Dmax = arg maxt | at+ffilt+A |。該點(diǎn)坐標(biāo)(t,Ht)的橫坐標(biāo)標(biāo)記為第二個閾值Thigh = t。計算方式的簡易表 現(xiàn)如附圖5所示。
[0062] 4.近似梯度方向計算及局部極大中心值選擇
[0063]在得到梯度圖像后,為方便并快速找到脊線的單像素寬位置,結(jié)合像素點(diǎn)的梯度 方向信息對梯度圖像執(zhí)行局部極大中心值選擇操作,即為流程圖步驟④。任意像素位置的 梯度方向為htarTHfy/fx),相切與脊線的走勢方向。以任意像素位置為原點(diǎn),建立一個相 對坐標(biāo),取該點(diǎn)周圍八鄰域像素為局部極大中心值選擇數(shù)據(jù)樣本,根據(jù)梯度方向得到鄰域 的比較結(jié)果,確定當(dāng)前像素位置是否為邊界點(diǎn)候選位置。
[0064]在邊緣提取過程中,非極大值抑制是快速選取局部極大值的有效手段。首先是將 梯度方向(0°~180°)以22.5°為步長,分割成若干區(qū)域,如圖6(a)所示。其中A及#兩者角度 互補(bǔ)視為同一組。本發(fā)明提供了一種快速梯度方向估計算法,簡潔方便的判斷出當(dāng)前點(diǎn)梯 度方向在八鄰域方向中的朝向。若當(dāng)前點(diǎn)PQ的梯度方向9為P ,其中變量即為各自 梯度導(dǎo)數(shù)數(shù)值,且角度范圍設(shè)定在0°到90°間,即只考慮參數(shù)為正值的狀態(tài)。當(dāng)0小于22.5° 時,ny<nx tan (22.5°),梯度方向坐落在圖6 (a)的A范圍,則po的八鄰域方向為圖6 (b)中的 Gr;當(dāng)0大于67.5°時,ny>nx tan(67.5°),梯度方向坐落在圖6(a)的C范圍,則po的八鄰域方 向為圖6(13)中的6了;當(dāng)9范圍在22.5°與67.5°間時,%彡1^^11(22.5°)且%彡1^^311(67.5°), 梯度方向坐落在圖6 (a)的D范圍,則po的八鄰域方向為圖6 (b)中的Gtr。若po點(diǎn)的梯度方向Go 落在圖6(a)的A范圍內(nèi),則將八鄰域方向中的Gr與Gl兩個互補(bǔ)方向分別標(biāo)記為G+和G-。局部 極大值的判斷標(biāo)準(zhǔn)為 :Go>G+且Go彡G-或者是Go彡G+且Go>G-,即當(dāng)前點(diǎn)po是一個局部梯度幅 值最大值位置。在比較判斷中,若兩個比較符號都為"〉"號,則在相等梯度幅值處,會出現(xiàn)沒 有極值的情況;若都為"多"號時,則所有幅值相等的位置都會被確認(rèn)為極值。
[0065] 5.像素邊界點(diǎn)判定選擇
[0066]局部梯度幅值的極值是否為邊緣點(diǎn),需要結(jié)合特定閾值來判斷,大于某給定閾值 的標(biāo)記為邊緣點(diǎn),小于某給定閾值判定為噪聲點(diǎn)或背景點(diǎn),即流程圖步驟⑤。Canny的雙閾 值設(shè)定(Ti?,Thigh)在本發(fā)明中被采用。當(dāng)局部極值Go高于Thigh時,點(diǎn)po是邊緣點(diǎn);Go低于閾值 TlOT表示當(dāng)前點(diǎn)為非邊界點(diǎn)屬性;當(dāng)Go介于高低閾值之間時,鏈?zhǔn)叫?yīng)發(fā)生作用,即po點(diǎn)的八 鄰域中存在邊界點(diǎn),則當(dāng)前位置確認(rèn)為邊界點(diǎn)。
[0067] 6.計算亞像素精度的邊緣位置
[0068] -般應(yīng)用中,像素級的邊界點(diǎn)位置精度能滿足需求,但是在某些應(yīng)用中需要更高 的邊緣精度位置,即亞像素邊緣位置,流程圖的步驟⑥。采用基于Steger曲面擬合方法的 He s s i an矩陣法求取邊緣點(diǎn)的亞像素位置,在像素級邊緣點(diǎn)的小區(qū)域內(nèi)執(zhí)行曲面擬合的內(nèi) 插值算法f (r,c) = k〇+kir+k2C+k3r2+k4rc+k5C2;對曲面方程的各未知數(shù)求取一階及二階導(dǎo) 數(shù),組合成Hessian矩陣;求解Hessian矩陣的特征值及各自的特征向量,其中最大絕對特征 值所對應(yīng)的特征向量即為邊緣點(diǎn)的法線方向(n x,ny);利用法線方向及曲面方程的泰勒展 開,計算邊緣點(diǎn)的亞像素位置。曲面方程系數(shù)的矩陣表達(dá)式如下。
[0071] 7.相同屬性邊界點(diǎn)順序連接
[0072] 直至目前為止,檢測到的邊緣信息是離散、無序、孤立點(diǎn),但是很多后期應(yīng)用需要 的是有連續(xù)性的邊界點(diǎn)集合(曲線),流程圖步驟⑦。將邊緣點(diǎn)連接成曲線,構(gòu)成一組有向連 續(xù)點(diǎn)的集合。邊緣連接過程中需要注意的是邊界連接要保持的一個原則是選擇最近且盡可 能形成直線或光滑曲線的走勢。同時還要避免形成互相連接的兩條曲線,對于波浪曲線有 且只能存在唯一的一條曲線。
[0073] 邊緣連接的可用條件為圖像空間的邊緣點(diǎn)位置及該點(diǎn)八鄰域邊界點(diǎn)存在與否。曲 線起始點(diǎn)從左上角開始搜索,檢測到首個邊緣點(diǎn)即定義為開始位置。該點(diǎn)搜索方向的次序 為優(yōu)先查找正方向(即如附圖7的6 1?^也而)上是否有滿足條件的邊界點(diǎn),否則查找偏方 向(附圖7中的其它方向)。同類方向(正方向,偏方向)中,候選點(diǎn)的挑選的按照逆時針的次 序。設(shè)P〇是當(dāng)前點(diǎn),{Pi}i=R,B,T,BR,RT是候選點(diǎn),各點(diǎn)的亞像素坐標(biāo)= (.H.)及梯度方向 巧= (/?、.,/'.)為已知條件。給定一個評價函數(shù)盡+ 戶。-局+|a。-《J:,選擇分值最小 的鄰域點(diǎn)視為下一個相鄰點(diǎn)。循環(huán)更改并替換當(dāng)前點(diǎn),直至遇到非邊緣點(diǎn)或是其它邊緣曲 線上的邊緣點(diǎn)才結(jié)束當(dāng)前曲線的搜索。當(dāng)前方向搜索完成后,再從曲線起點(diǎn)開始反方向查 找,直至終點(diǎn)。
[0074] 為了驗證本發(fā)明公開方法的有效性,分布采用強(qiáng)噪聲(參見附圖8左側(cè)部分)和模 糊圖像(參見附圖9左側(cè)部分)進(jìn)行邊緣提取測試,附圖8和附圖9的中間部分為傳統(tǒng)的邊緣 檢測的結(jié)果,右側(cè)部分為本發(fā)明檢測結(jié)果,可以看出本發(fā)明公開的方法能夠在強(qiáng)噪聲和模 糊圖像中穩(wěn)定地檢測邊緣特征。附圖10為本發(fā)明的方法得到的邊緣檢測結(jié)果與德國商業(yè)化 機(jī)器視覺軟件得到的邊緣檢測結(jié)果的對比效果,圖中"+"為本發(fā)明檢測的邊緣結(jié)果,為 國外商業(yè)軟件檢測結(jié)果,從圖中可以看出本發(fā)明中的方法能夠多地檢測出圖像的邊緣信 息。
[0075] 本發(fā)明提出了一種在惡劣環(huán)境中穩(wěn)定地提取圖像亞像素邊緣特征的方法,采用自 適應(yīng)高低閾值計算方法,在得到梯度圖像后,為方便并快速找到脊線的單像素寬位置,結(jié)合 像素點(diǎn)的梯度方向信息對梯度圖像執(zhí)行局部極大中心值選擇操作,以任意像素位置為原 點(diǎn),建立相對坐標(biāo),取該點(diǎn)周圍八鄰域像素為局部極大中心值選擇數(shù)據(jù)樣本,根據(jù)梯度方向 得到鄰域的比較結(jié)果,確定當(dāng)前像素位置是否為邊界點(diǎn)候選位置。局部梯度幅值的極值是 否為邊緣點(diǎn),需要結(jié)合特定閾值來判斷,大于某給定閾值的標(biāo)記為邊緣點(diǎn),小于某給定閾值 判定為噪聲點(diǎn)或背景點(diǎn)。采用基于Steger曲面擬合方法的Hessian矩陣法求取邊緣點(diǎn)的亞 像素位置。最后將將邊緣點(diǎn)連接成曲線,構(gòu)成一組有向連續(xù)點(diǎn)的集合。實現(xiàn)了在強(qiáng)噪聲和模 糊圖像中提取亞像素精度的有序邊緣特征信息。本發(fā)明方法具有極好的實時性,能夠應(yīng)用 到機(jī)器視覺系統(tǒng)的實時應(yīng)用中。
[0076] 以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定 本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在 不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的 保護(hù)范圍。
【主權(quán)項】
1. 一種具有廣泛適應(yīng)性的圖像亞像素邊緣提取方法,其特征在于:所述方法包括W下 步驟: 步驟1:采用可變尺度圖像模糊平滑濾波對圖像預(yù)處理; 步驟2:對預(yù)處理后的圖像計算一階導(dǎo)數(shù),首先確保得到的梯度幅值滿足該點(diǎn)錯誤率小 于設(shè)定值Op,圖像一階導(dǎo)數(shù)通過目標(biāo)核卷積圖像空間得到;圖像的邊緣線在圖像一階導(dǎo)數(shù) 的脊線處,其中,脊線是梯度圖像內(nèi)相鄰連續(xù)的局部極大值的集合; 步驟3:在邊緣候選點(diǎn)篩選過程中應(yīng)用到鏈?zhǔn)介熤档倪吘壧崛〖斑x擇原理,實現(xiàn)像素級 邊界位置提取,高低闊值采用兩種方式獲得:外部參數(shù)輸入或者自適應(yīng)闊值計算; 步驟4:在得到梯度圖像后,為方便并快速找到脊線的單像素寬位置,結(jié)合像素點(diǎn)的梯 度方向信息對梯度圖像執(zhí)行局部極大中屯、值選擇操作; 步驟5:局部梯度幅值的極值是否為邊緣點(diǎn),需要結(jié)合特定闊值來判斷,大于某給定闊 值的標(biāo)記為邊緣點(diǎn),小于某給定闊值判定為噪聲點(diǎn)或背景點(diǎn); 步驟6:計算亞像素精度的邊緣位置; 步驟7:將邊緣點(diǎn)連接成曲線,構(gòu)成一組有向連續(xù)點(diǎn)的集合。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟2中,設(shè)圖像Kx, y)被執(zhí)行邊緣提 取操作后得到邊界點(diǎn)錯誤率為〇1,圖像大小為n=wXh,則單點(diǎn)檢測錯誤的概率為Op=I-U- ai)i/n,其中ai范圍在0到1.0間,圖像Kx,y)只有高斯噪聲且噪聲信號方差為Sn;利用卷積的 分步特性,有如下等式:得到各點(diǎn)的梯度幅值為i使得各點(diǎn)梯度幅值的錯誤率低于設(shè)定值 曰P,即滿足等式:M(x,y,〇)、。/一甘A上式中的變量為尺度變量0,其它變量為全局設(shè)定參數(shù)。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟3中計算高低闊值具體為:首先找 到直方圖曲線的峰值點(diǎn)。,出)、最后一個直方圖中非零累積值坐標(biāo)點(diǎn)為 255且0《Hj<Hj<1.0,將上述兩點(diǎn)連接起來,得到一條直線ax+by+c = 0;在i到j(luò)間查找直 方圖曲線坐標(biāo)點(diǎn)到直線的最大距離位置dmax,即滿足dmax = argmaxk I ak+地k+c I,該點(diǎn)坐標(biāo)化, 化)的橫坐標(biāo)即為第一個闊值Ti? = k;接著從該點(diǎn)出發(fā),至直線末端點(diǎn)(j,&)再連接成一條 直線ax+的+A = O,在直方圖曲線的區(qū)間k到j(luò)上,查找曲線到直線(a,e,A)的最大距離位置 Dmax,同樣滿足Dmax = argmaxt I at+地t+入I,該點(diǎn)坐標(biāo)(t,出)的橫坐標(biāo)標(biāo)記為第二個闊值Thigh =t。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟4具體為:任意像素位置的梯度方 向為0 = tarTi(fy^x),相切與脊線的走勢方向;W任意像素位置為原點(diǎn),建立一個相對坐 標(biāo),取該點(diǎn)周圍八鄰域像素為局部極大中屯、值選擇數(shù)據(jù)樣本,根據(jù)梯度方向得到鄰域的比 較結(jié)果,確定當(dāng)前像素位置是否為邊界點(diǎn)候選位置。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于:所述步驟5采用化nny的雙闊值設(shè)定(Ti?, 化igh);當(dāng)局部極值G日高于化igh時,點(diǎn)P日是邊緣點(diǎn);G日低于闊值Ti?表示當(dāng)前點(diǎn)為非邊界點(diǎn)屬 性;當(dāng)Go介于高低闊值之間時,鏈?zhǔn)叫?yīng)發(fā)生作用,即PO點(diǎn)的八鄰域中存在邊界點(diǎn),則當(dāng)前位 置確認(rèn)為邊界點(diǎn)。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟6采用基于Steger曲面擬合方法 的化SSian矩陣法求取邊緣點(diǎn)的亞像素位置,在像素級邊緣點(diǎn)的小區(qū)域內(nèi)執(zhí)行曲面擬合的 內(nèi)插值算法f (r,C) = ko化r+k2C+k化2+k4rc+k日C2;對曲面方程的各未知數(shù)求取一階及二階導(dǎo) 數(shù),組合成化SSian矩陣;求解化SSian矩陣的特征值及各自的特征向量,其中最大絕對特征 值所對應(yīng)的特征向量即為邊緣點(diǎn)的法線方向(nx,ny);利用法線方向及曲面方程的泰勒展 開,計算邊緣點(diǎn)的亞像素位置。7. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟7的邊緣連接過程中需要注意的 邊界連接要保持的一個原則是選擇最近且盡可能形成直線或光滑曲線的走勢,同時還要避 免形成互相連接的兩條曲線,對于波浪曲線有且只能存在唯一的一條曲線。
【文檔編號】G06T7/00GK105913415SQ201610209158
【公開日】2016年8月31日
【申請日】2016年4月6日
【發(fā)明人】吳曉軍, 王鑫歡
【申請人】吳曉軍