專利名稱:圓擬合方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圓擬合方法,具體涉及一種可以通過編程實現(xiàn)的對圓狀物體 進行圓擬合的方法??捎糜谀J阶R別、三維測量等技術(shù)領(lǐng)域。
技術(shù)背景圓是自然界中的一種基本圖案。圓狀物體在日常生活和工作中也是隨處可 見,如道路兩旁的樹木、電線桿,汽車的車輪,建筑中的梁柱,如工業(yè)生產(chǎn)中 的圓形零器件,又如科研工作中會碰到的激光光斑、衍射圓環(huán),等等。有時, 人們會碰到這樣一類問題,即己知一圓狀物體的全部輪廓上或部分輪廓上的若 干樣點,對該物體的輪廓進行圓擬合(獲取該圓狀物體的圓心或半徑)。這類 圓擬合問題在模式識別、三維測量等領(lǐng)域頗為常見。針對這個問題,人們采取了一些圓擬合辦法。如以輪廓上樣點的重心作為圓 心,以樣點到該重心的距離的平均作為半徑。這種方法較為粗糙,而且只適合 圓狀物體全部輪廓已知的情況。又如利用圓上任兩點的中垂線通過圓心的幾何 性質(zhì)的方法,由任兩相鄰樣點作中垂線,以這些中垂線所有兩兩相交的交點的 重心作為圓心。這種方法雖然能適用于圓狀物體部分輪廓已知的情況,但易受 樣點噪聲(一般情況下是會存在的)的影響,致使求取精度不高。還有其他一 些或基于幾何近似、或基于統(tǒng)計的方法,都難以取得較理想的圓擬合效果。針 對這些不足,快速、準(zhǔn)確且抗噪聲能力強的圓擬合方法亟待提出。 發(fā)明內(nèi)容本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提出一種圓擬合方法,能方便地通 過編程快速、準(zhǔn)確的實現(xiàn)對圓狀物體進行圓擬合。為實現(xiàn)這一目的,本發(fā)明首先定義了一個以待擬合圓的圓心橫坐標(biāo)、圓心縱 坐標(biāo)和待擬合圓的半徑為變量的測度函數(shù)。將已知樣點的橫坐標(biāo)的平均值、縱 坐標(biāo)的平均值分別作為圓心橫坐標(biāo)、圓心縱坐標(biāo)的初始值,將半徑的初始值取為零。然后反復(fù)執(zhí)行更新步長求取,圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑更新這一 系列步驟,直到更新步長小于設(shè)定的閾值為止。從而得到圓心橫坐標(biāo)、圓心縱 坐標(biāo)和半徑的最終結(jié)果,成功實現(xiàn)圓擬合。本發(fā)明所述的圓擬合方法包括以下具體步驟第1步,定義一個以圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑為變量的測度函數(shù),形 式如下其中,G,^分別表示圓心橫坐標(biāo)、圓心縱坐標(biāo),r表示半徑,戶表示冪次,(jq,力),(X2,力),...,(J^,^)表示所有已知樣點的坐標(biāo)。第2步,將已知樣點的橫坐標(biāo)的平均值、縱坐標(biāo)的平均值分別作為圓心橫坐 標(biāo)、圓心縱坐標(biāo)的初始值,將半徑的初始值取為零。第3步,分別求取測度函數(shù)的梯度和Hessian矩陣,然后利用測度函數(shù)的梯 度和Hessian矩陣求取更新步長。第4步,利用更新步長對圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑的取值進行更新。第5步,設(shè)定一個閾值,當(dāng)更新步長大于該閾值時,返回步驟3;當(dāng)更新步 長小于等于該閾值時,則結(jié)束圓擬合過程,最后更新得到的圓心橫坐標(biāo)、圓心 縱坐標(biāo)和半徑的取值即為圓擬合過程的最終結(jié)果。本發(fā)明快速準(zhǔn)確,抗噪聲能力強,無需復(fù)雜的設(shè)備配置,在普通電腦上可以 通過常用的編程語言如C、 Matlab等而方便地編程實現(xiàn),為相關(guān)科技人員提供 了一種對圓狀物體進行圓擬合的行之有效的方法。
圖1全部輪廓已知情況下的圓擬合效果。 圖2部分輪廓己知情況下的圓擬合效果。
具體實施方式
下面結(jié)合附圖和具體實施例進行詳細(xì)說明,以便對本發(fā)明的目的、技術(shù)方案 有更深入的理解。具體實施步驟說明如下第1步,定義一個以圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑為變量的測度函數(shù),形 式如下= J V"'-"2+(少'—C》2 一尸其中,G,cv分別表示圓心橫坐標(biāo)、圓心縱坐標(biāo),r表示半徑,p表示冪次,Od,力),...,(W,yw)表示所有已知樣點的坐標(biāo)。 在本實施例中,取^=2,但值得說明的是,該具體取值方式不作為本發(fā)明的 限制,在此只是作為示例。第2步,將已知樣點的橫坐標(biāo)的平均值、縱坐標(biāo)的平均值分別作為圓心橫坐標(biāo)、圓心縱坐標(biāo)的初始值,將半徑的初始值取為零。即c少== r = 0,w第3步,分別求取測度函數(shù)的梯度和Hessian矩陣,然后利用測度函數(shù)的梯 度和Hessian矩陣求取更新步長。用符號AC;c,ACv,Ar表示更新步長,求取測度函數(shù)的梯度、Hessian矩陣以及求取更新步長的具體過程如下 求取測度函數(shù)/(c,, ^, 0的梯度▽/ :機C.r,C力3/(q,C力S/(CX,C 。& 求取測度函數(shù)/(c,,、力的Hessian矩陣V2/<formula>formula see original document page 5</formula>求取更新步長[Ac乂 Ac少Ar丫--(VVTV/ 第4步,利用更新步長對圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑的取值進行更新,即<formula>formula see original document page 6</formula>第5步,設(shè)定一個閾值,用符號r表示,在本實施例中,閾值取為o.oooi。當(dāng)更新步長大于該閾值時,艮卩IAcJ + IAcg + IAH〉r時,返回步驟3;當(dāng)更 新步長小于等于該閾值時,即lAcJ + IA^I + IAr^r時,則結(jié)束圓擬合過程,最后更新得到的圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑的取值即為圓擬合過程的最終結(jié) 果。按上述具體實施步驟進行圓擬合的兩個實施例的效果示意圖如圖1、圖2所 示。在這兩幅圖中,小圓圈表示己知的樣點,大圓形閉合曲線表示按前述具體 實施步驟得到的擬合圓,"+"形圖案表示擬合圓的圓心。圖1中,已知樣點反 映的是圓狀物體的全部輪廓??梢钥闯觯瑯狱c存在較大的噪聲擾動,但本發(fā)明 仍然能夠根據(jù)這些樣點進行有效的圓擬合。圖2中,已知樣點反映的只是圓狀 物體的部分輪廓,樣點同樣存在較大的噪聲擾動,但本發(fā)明仍能成功進行圓擬 合。此外,按上述具體實施步驟進行的圓擬合過程的耗時不超過l毫秒。因此, 本發(fā)明提供了一種既適合圓狀物體全部輪廓已知又適用于部分輪廓己知、抗噪 聲能力強且快速有效的圓擬合方法。
權(quán)利要求
1. 一種圓擬合方法,其特征在于包括以下步驟1)定義一個以圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑為變量的測度函數(shù),形式如下
全文摘要
本發(fā)明涉及一種圓擬合方法,可方便地編程實現(xiàn)。本發(fā)明首先定義了一個以待擬合圓的圓心橫坐標(biāo)、圓心縱坐標(biāo)和待擬合圓的半徑為變量的測度函數(shù)。將已知樣點的橫坐標(biāo)的平均值、縱坐標(biāo)的平均值分別作為圓心橫坐標(biāo)、圓心縱坐標(biāo)的初始值,將半徑的初始值取為零。然后反復(fù)執(zhí)行更新步長求取,圓心橫坐標(biāo)、圓心縱坐標(biāo)和半徑更新這一系列步驟,直到更新步長小于設(shè)定的閾值為止。本發(fā)明快速準(zhǔn)確,抗噪聲能力強,為相關(guān)科技人員提供了一種對圓狀物體進行圓擬合的行之有效的方法。
文檔編號G06T7/00GK101266687SQ20081003711
公開日2008年9月17日 申請日期2008年5月8日 優(yōu)先權(quán)日2008年5月8日
發(fā)明者劉銘星, 顥 李 申請人:上海交通大學(xué)