本發(fā)明屬于計(jì)算機(jī)視覺(jué),模式識(shí)別,圖像處理技術(shù)領(lǐng)域,涉及一種高精度、高魯棒性和快速的橢圓檢測(cè)技術(shù),具體涉及一種基于弧支持線段的橢圓檢測(cè)方法。
背景技術(shù):
首先,橢圓檢測(cè)方法是計(jì)算機(jī)視覺(jué)和圖像處理領(lǐng)域中的基石,具有非常重要的研究意義和極大的應(yīng)用價(jià)值。在形狀識(shí)別,物體識(shí)別和定位,邊緣輪廓建模和圖像分割中都有起著重要的作用。
在橢圓檢測(cè)領(lǐng)域,比較突出的檢測(cè)方法主要是基于霍夫變換(ht),和基于邊界跟蹤的橢圓檢測(cè)方法。對(duì)于標(biāo)準(zhǔn)的ht橢圓檢測(cè)方法,有三個(gè)方面的缺點(diǎn)導(dǎo)致在實(shí)際中難以進(jìn)行應(yīng)用。第一,ht方法需要存儲(chǔ)五維的累加器,耗費(fèi)大量的存儲(chǔ)空間;第二ht方法在五維空間中搜索峰值,需要耗費(fèi)大量的時(shí)間;第三嚴(yán)重依賴參數(shù)。因此隨機(jī)霍夫變換(sht)針對(duì)以上前兩個(gè)缺點(diǎn)進(jìn)行改進(jìn),隨機(jī)的選取5個(gè)點(diǎn)并映射到橢圓參數(shù)空間中,并且采用了一維的數(shù)組而非累加器。還有的方法,例如mclaughlin等,對(duì)ht的五維參數(shù)空間進(jìn)行降維,采取先求橢圓中心,再求剩余參數(shù)的策略。但是ht方法及其變體,都無(wú)法在橢圓檢測(cè)上表現(xiàn)出良好的性能。
另一個(gè),便是基于邊界跟蹤的橢圓檢測(cè)方法。該類方法通過(guò)提取邊界圖中的線段,然后依據(jù)線段連接邊緣像素形成弧片段,根據(jù)邊緣的連續(xù)性和凸性,將弧片段進(jìn)行連接,并運(yùn)用不同的技巧對(duì)弧片段進(jìn)行分組,最后對(duì)分組進(jìn)行擬合得到橢圓。該類方法主要問(wèn)題在于一下幾點(diǎn),第一,弧片段的連接僅依賴于距離,容易連接錯(cuò)誤。第二,進(jìn)行分組時(shí),需要明確的是極其難通過(guò)搜索或者優(yōu)化方法將屬于同一個(gè)橢圓的弧片段都分為同一組,因此最后會(huì)導(dǎo)致誤識(shí)別。第三,該類方法未充分利用橢圓的幾何性質(zhì),以及梯度信息,耗時(shí)長(zhǎng),魯棒性不高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于弧支持線段的橢圓檢測(cè)方法,其具有高魯棒性,精確,低誤識(shí),高效的性能,能夠應(yīng)對(duì)復(fù)雜環(huán)境干擾(光照明暗,橢圓缺失,斷續(xù),模糊,復(fù)雜背景,大量噪聲等)。
為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明采取具體的技術(shù)方案為,一種基于弧支持線段的橢圓檢測(cè)方法,包括如下步驟:
步驟一、運(yùn)用線段檢測(cè)方法從原始灰度圖像中提取弧支持線段的集合,弧支持線段為去除直線段的曲線邊緣得到的線段;
步驟二、基于弧支持線段的連續(xù)性與凸性,對(duì)屬于同一曲線邊緣的弧支持線段進(jìn)行魯棒性連接,實(shí)現(xiàn)對(duì)弧支持線段進(jìn)行分組;
步驟三、采用兩種方式分別從弧支持線段的分組中提取初始橢圓,方式一:對(duì)于分組內(nèi)連接的弧支持線段所跨弧度角度大于tsa的分組直接進(jìn)行橢圓擬合,tsa為90°,從而得到若干個(gè)初始橢圓;方式二:將步驟二得到的分組按兩個(gè)一對(duì)進(jìn)行任意組對(duì),對(duì)組對(duì)進(jìn)行極性分析、區(qū)域限制算法和自適應(yīng)內(nèi)點(diǎn)準(zhǔn)則驗(yàn)證得出有效組對(duì),擬合有效組對(duì)得到若干個(gè)初始橢圓;其中,極性分析是要求組對(duì)的兩個(gè)分組極性一致,區(qū)域限制算法要求兩個(gè)分組要在彼此的弧支持方向指向的區(qū)域內(nèi),自適應(yīng)內(nèi)點(diǎn)準(zhǔn)則要求由兩個(gè)分組內(nèi)每一條弧支持線段的支持內(nèi)點(diǎn)數(shù)量要大于自身線段長(zhǎng)度對(duì)應(yīng)的像素點(diǎn)的數(shù)量;支持內(nèi)點(diǎn)指的是距離初始橢圓的邊界距離小于ε的邊緣點(diǎn),ε為2個(gè)像素,其梯度方向與初始橢圓的法線方向差值不超過(guò)α,α為22.5°;方式一與方式二得到的初始橢圓均采用
步驟四、運(yùn)用橢圓類聚合算法對(duì)初始橢圓集合進(jìn)行聚類分析,產(chǎn)生候選橢圓;
步驟五、應(yīng)用橢圓的幾何性質(zhì),對(duì)候選橢圓進(jìn)行驗(yàn)證,檢測(cè)出橢圓。
作為本發(fā)明改進(jìn)的技術(shù)方案,弧支持線段的提取方法如下:
步驟一、對(duì)原始灰度圖像進(jìn)行sobel算子得到梯度圖;
步驟二、在梯度圖中,剔除梯度幅度小于最大梯度幅度10%的點(diǎn),并依據(jù)幅度大小進(jìn)行偽排序;
步驟三依偽排序在梯度圖中選擇種子點(diǎn)進(jìn)行區(qū)域增長(zhǎng)算法,得到候選區(qū)域rl,rl中整體梯度表現(xiàn)的方向?yàn)槭揭唬?/p>
式中,pj屬于rl中的像素點(diǎn),gradangle(pj)為pj的梯度,gradangle(rl)為rl中整體梯度表現(xiàn)方向;
步驟四、計(jì)算線段候選區(qū)域rl的幾何中心c,依據(jù)通過(guò)c且垂直angle(l)的直線將rl劃分為兩個(gè)子區(qū)域rl1、rl2,再次運(yùn)用式一即能估計(jì)出子區(qū)域rl1、rl2梯度方向,其中,l為候選區(qū)域的線段近似,angle(l)為l的方向;這里線段近似指的是用一個(gè)矩形將該候選區(qū)域包圍,然后矩形的兩個(gè)端點(diǎn)連接成一條線段;
步驟五、若候選區(qū)域rl是弧支持線段的候選區(qū)域,則
步驟六、通過(guò)對(duì)比模型對(duì)候選區(qū)域rl進(jìn)行驗(yàn)證,即能提取到弧支持線段。
作為本發(fā)明改進(jìn)的技術(shù)方案,步驟二中對(duì)弧支持線段進(jìn)行分組,具體包括,選取弧支持線段的集合中任意一條弧支持線段作為種子線段ls,根據(jù)種子線段ls的極性確定曲線邊緣的凸性,進(jìn)而確定種子線段ls頭部的局部鄰域和尾部的局部鄰域,統(tǒng)計(jì)局部鄰域弧支持線段所對(duì)應(yīng)候選區(qū)域的像素點(diǎn)數(shù)量,且像素點(diǎn)數(shù)量要求大于等于局部鄰域像素點(diǎn)總數(shù)的
作為本發(fā)明改進(jìn)的技術(shù)方案,步驟三中對(duì)單個(gè)分組或者組隊(duì)進(jìn)行橢圓擬合,得到初始橢圓,具體包括如下步驟:在直接最小二乘橢圓擬合算法中,假設(shè)待擬合樣本點(diǎn)γ={p1,p2,p3,…pn},pi={xi,yi},則散布矩陣s=dtd,其中設(shè)計(jì)矩陣d為:
通過(guò)求解特征系統(tǒng)eigensystem=s-1c中特征值,特征值為正數(shù)時(shí)所對(duì)應(yīng)的廣義特征向量即為擬合的橢圓,其中c是約束矩陣
作為本發(fā)明改進(jìn)的技術(shù)方案,步驟三中初始橢圓的邊界是運(yùn)用canny算子得到邊緣圖后得出的。
作為本發(fā)明改進(jìn)的技術(shù)方案,步驟四中橢圓類聚合算法對(duì)初始橢圓集合進(jìn)行聚類分析包括如下步驟:步驟a、令初始橢圓集合為einit,其中,
步驟b、運(yùn)用均值漂移算法對(duì)einit的橢圓中心進(jìn)行聚類,可得到ncenter個(gè)橢圓中心的聚類中心;ncenter個(gè)橢圓對(duì)稱中心的聚類中心分別為
步驟c、對(duì)einit按照ncenter聚類中心的距離進(jìn)行劃分,也就是第k(k=1~ncenter)個(gè)橢圓聚類中心對(duì)應(yīng)的初始橢圓子集為
步驟d、對(duì)每一個(gè)ωk按照橢圓傾角方向進(jìn)行聚類,得到
步驟e、對(duì)ωk,s按照橢圓長(zhǎng)短半軸進(jìn)行均值漂移聚類,得到
作為本發(fā)明改進(jìn)的技術(shù)方案,所述步驟五具體包括如下步驟,先對(duì)候選橢圓集合ecandidate進(jìn)行橢圓質(zhì)量評(píng)價(jià),然后按照評(píng)價(jià)高低進(jìn)行偽排序;依次地對(duì)每個(gè)候選橢圓,由于橢圓周長(zhǎng)能用其邊緣上的支持內(nèi)點(diǎn)進(jìn)行近似,因此測(cè)量其邊緣支持內(nèi)點(diǎn)的數(shù)量與橢圓近似周長(zhǎng)像素點(diǎn)的比例不小于tni、邊緣連通量的角度總共跨度大于或等于tac,tni為0.65,tac為165°。
有益效果
本發(fā)明的技術(shù)方案能從原始灰度圖中進(jìn)行弧支持線段的提取,使得弧支持線段具備豐富的幾何性質(zhì),例如整體梯度方向,可能出現(xiàn)橢圓方向,極性性質(zhì)。
本發(fā)明提出一種在像素點(diǎn)統(tǒng)計(jì)水平上的線段連接方法,以及提出有效的區(qū)域限制的組(組內(nèi)包含屬于同一曲線邊緣的線段)配對(duì)方法、提出高效的分層橢圓聚類算法以及運(yùn)用高級(jí)的橢圓驗(yàn)證技術(shù)。
綜上,本申請(qǐng)的橢圓檢測(cè)算法達(dá)到能夠高魯棒性,精確,低誤識(shí),高效的性能,能夠應(yīng)對(duì)復(fù)雜環(huán)境干擾(光照明暗,橢圓缺失,斷續(xù),模糊,復(fù)雜背景,大量噪聲等)。
附圖說(shuō)明
圖1實(shí)施例中涉及的原始灰度圖像;
圖2實(shí)施例中便是提取的弧支持線段圖;
圖3實(shí)施例中檢測(cè)到的橢圓示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的和技術(shù)方案更加清楚,下面將結(jié)合本發(fā)明實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于所描述的本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在無(wú)需創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
一種基于弧支持線段的橢圓檢測(cè)方法,包括以下步驟:
步驟s1,運(yùn)用改進(jìn)的線性復(fù)雜度的線段檢測(cè)方法提取弧支持線段,并基于曲線的連續(xù)性和凸性進(jìn)行線段分組;
步驟s2,運(yùn)用兩種方式產(chǎn)生初始橢圓集合。第一種方式是對(duì)具有較高顯著性的分組直接進(jìn)行橢圓擬合(對(duì)于分組內(nèi)連接的弧支持線段所跨弧度角度大于tsa的分組直接進(jìn)行橢圓擬合,tsa為90°),從而得到初始橢圓(這里的橢圓擬合是指對(duì)組內(nèi)的線段的端點(diǎn)構(gòu)成的點(diǎn)集直接進(jìn)行橢圓擬合)。第二種方式是對(duì)每?jī)蓚€(gè)組構(gòu)成的組對(duì),進(jìn)行相應(yīng)的極性分析,區(qū)域限制和自適應(yīng)內(nèi)點(diǎn)準(zhǔn)則驗(yàn)證。通過(guò)三個(gè)限制條件的組對(duì)構(gòu)成有效組對(duì),擬合有效組對(duì)得到初始橢圓。三個(gè)限制條件分別為:極性分析、是要求兩個(gè)分組能夠配對(duì)的前提是極性一致;區(qū)域限制算法、要求兩個(gè)分組要在彼此的弧支持方向指向的區(qū)域內(nèi)才能可能構(gòu)成橢圓;自適應(yīng)內(nèi)點(diǎn)準(zhǔn)則、要求由兩個(gè)分組內(nèi)每一條弧支持線段的支持內(nèi)點(diǎn)數(shù)量要大于自身線段長(zhǎng)度對(duì)應(yīng)的像素點(diǎn)的數(shù)量;其中支持內(nèi)點(diǎn)指的是距離初始橢圓(這里是用組隊(duì)擬合得出的)的邊界距離小于ε的邊緣點(diǎn),ε為2個(gè)像素,支持內(nèi)點(diǎn)的梯度方向與初始橢圓的法線方向差值需要滿足不超過(guò)α,該值為22.5°;這里,初始橢圓的邊界是運(yùn)用canny算子得到邊緣圖后得出的;邊緣圖的作用一方面是為了尋找支持內(nèi)點(diǎn),另一方面可以通過(guò)這些支持內(nèi)點(diǎn)進(jìn)行橢圓的再次擬合和驗(yàn)證。
步驟s3,運(yùn)用橢圓聚類算法對(duì)初始橢圓集合進(jìn)行高效聚類,產(chǎn)生候選橢圓。
步驟s4,應(yīng)用橢圓的幾何性質(zhì),對(duì)候選橢圓進(jìn)行驗(yàn)證,從而得到候選橢圓。
其中,步驟s1中的弧支持線段的提取方法如下:對(duì)原始灰度圖像(如圖1)進(jìn)行sobel算子得到梯度圖。
在梯度圖中,剔除梯度幅度小于最大梯度幅度10%的點(diǎn),并依據(jù)幅度大小進(jìn)行偽排序,依序在梯度圖中選擇種子點(diǎn)進(jìn)行區(qū)域增長(zhǎng)算法,得到候選區(qū)域rl,
rl中整體梯度表現(xiàn)的方向?yàn)?/p>
其中pj屬于rl中的像素點(diǎn),gradangle(pj)為pj的梯度;
計(jì)算線段候選區(qū)域rl的幾何中心c,依據(jù)通過(guò)c且垂直angle(l)的直線將rl劃分為兩個(gè)子區(qū)域rl1,rl2;其中,l為候選區(qū)域的線段近似,angle(l)為l的方向;這里線段近似指的是用一個(gè)矩形將該候選區(qū)域包圍,然后矩形的兩個(gè)端點(diǎn)連接成一條線段;
再次運(yùn)用公式(1)即可估計(jì)出子區(qū)域rl1,rl2梯度方向;若候選區(qū)域rl是弧支持線段的候選區(qū)域,則
注意,由于
其中,所述步驟s1中的線段分組算法為:首先選取弧支持線段集合中任意一條線段作為種子線段ls,根據(jù)種子線段ls的極性確定曲線邊緣的凸性,進(jìn)而確定頭部和尾部的局部鄰域,本實(shí)施例中該局部領(lǐng)域?yàn)?x5像素區(qū)域,統(tǒng)計(jì)局部鄰域它弧支持線段的對(duì)應(yīng)的候選區(qū)域的像素點(diǎn)數(shù)量,且數(shù)量要求大于等于局部領(lǐng)域所對(duì)應(yīng)像素點(diǎn)總數(shù)的
其中,所述步驟s2中的直接橢圓擬合方法的疊加原理如下:在直接最小二乘橢圓擬合算法中,假設(shè)待擬合樣本點(diǎn)γ={p1,p2,p3,…pn},pi={xi,yi},則散布矩陣s=dtd,其中設(shè)計(jì)矩陣d為
于是通過(guò)求解特征系統(tǒng)eigensystem=s-1c中特征值為正數(shù)對(duì)應(yīng)的廣義特征向量即為擬合的橢圓,其中c是約束矩陣
假設(shè)線段li兩個(gè)端點(diǎn)對(duì)應(yīng)的設(shè)計(jì)矩陣是d(li),散布矩陣是s(li),如果一個(gè)分組中有n條線段,則由這2n個(gè)端點(diǎn)構(gòu)成的設(shè)計(jì)矩陣df,散布矩陣sf分別為
因此,本發(fā)明只需要計(jì)算一次所有弧支持線段的散布矩陣即可高效進(jìn)行橢圓擬合計(jì)算。
其中,所述步驟s3中的初始橢圓集合的聚類算法如下:整個(gè)聚類算法分三步進(jìn)行。令初始橢圓集合為einit,其中
其中,步驟s4中,先對(duì)所述的候選橢圓集合ecandidate進(jìn)行橢圓質(zhì)量評(píng)價(jià),然后按照評(píng)價(jià)高低進(jìn)行偽排序。依次地對(duì)每個(gè)候選橢圓,測(cè)量其邊緣支持內(nèi)點(diǎn)的數(shù)量與橢圓近似周長(zhǎng)像素點(diǎn)的比例并要不小于tni,該值為0.6,以及邊緣連通量的角度總共跨度,且應(yīng)大于或等于tac,該值為165°。通過(guò)驗(yàn)證的候選橢圓,將會(huì)進(jìn)行再次擬合,從而提高橢圓的精度。如圖3所示,便是檢測(cè)到的橢圓示意圖。
以上僅為本發(fā)明的實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些均屬于本發(fā)明的保護(hù)范圍。