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