王術(shù)彬,楊嘉駿,王曉波,付 聰,李慧霞
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇省輸配電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 常州 213022)
在圖像處理中,圓的檢測(cè)與圓心定位有著舉足輕重的作用,在當(dāng)今諸多行業(yè)領(lǐng)域的研發(fā)設(shè)計(jì)里,圓心定位傳感器的地位也日顯重要。例如在各種灌裝設(shè)備中依靠視覺定位儀器進(jìn)行定位操作,大多是對(duì)目標(biāo)物體的圓形加注口進(jìn)行檢測(cè)定位。圓心定位的效果直接決定了系統(tǒng)性能的好壞。
在圓的檢測(cè)定位方面,目前已經(jīng)有許多較為成熟的設(shè)計(jì)方法。其中最為常用的Hough變換[1]圓檢測(cè)(HTCD)的方法,由于受噪聲和曲線間斷的影響較小,能有效的得到圓的特征信息,因而在智能檢測(cè)中得到廣泛應(yīng)用[2]。但是該方法也存在明顯的缺陷,海量的數(shù)據(jù)導(dǎo)致占用內(nèi)存很大,該方法的計(jì)算量也非常大,難以滿足實(shí)時(shí)性要求較高的圓檢測(cè)。David.G.Lowe[3]在總結(jié)了現(xiàn)有的不變量特征檢測(cè)方法基礎(chǔ)上提出了SIFT(scale invariant feature transform)算法,它是一種基于尺度空間的對(duì)圖像縮放 、旋轉(zhuǎn)甚至仿射變換均保持不變性的局部特征點(diǎn)匹配算法。在圖像識(shí)別、目標(biāo)跟蹤定位中[4]得到了廣泛的應(yīng)用。但SIFT算法本身運(yùn)算復(fù)雜,提取的特征點(diǎn)有很多冗,而這些冗余在進(jìn)行圓心定位時(shí)是沒有必要的,因此吳慧蘭[5]等人在此基礎(chǔ)上做了改進(jìn)研究,取得了良好的效果。曹建海等人[6]在利用投影變換進(jìn)行特征提取的基礎(chǔ)上,提出了基于矢量和的全局最優(yōu)的圓心定位方法,并利用卷乘和頻域方法實(shí)現(xiàn)定位的快速算法 。還有一種較為常用的方法就是先通過Canny[7]邊緣提取得到圖像的所有邊緣信息,再對(duì)圖像剩余像素點(diǎn)進(jìn)行定位操作,如張虎等人[8]提出的改進(jìn)亞像素圓心定位法等。
文中通過對(duì)簡(jiǎn)易圖像的仿真驗(yàn)證,得出了基于幾何特征的圓心定位方法,并將其應(yīng)用到實(shí)際過程中,以工業(yè)生產(chǎn)中的偏心灌裝桶為例,實(shí)際采樣圖像進(jìn)行仿真驗(yàn)證,實(shí)現(xiàn)了偏心桶加注口的準(zhǔn)確定位
首先針對(duì)一幅理想的圓心定位圖像(一幅圖像中除了圓周像素點(diǎn)含有有效信息外,不存在其他噪聲點(diǎn),并且圓周像素點(diǎn)保持完整,如圖1所示)進(jìn)行圓心定位。由于此類圖像特征突出,二值化以后所得到的圖像所有的像素值被置為0和1,在圖像中分別展示為黑色和白色。圓周部分像素點(diǎn)為黑色,這樣以來整幅圖像中所有的信息點(diǎn)都是可以利用的點(diǎn),所以可以根據(jù)圓的幾何特性來找出圖像中圓的圓心。文中采用了3種比較常見的計(jì)算方法進(jìn)行了仿真研究,主要包括:直角三角形法、中垂線法、等距法。
圖1 標(biāo)準(zhǔn)圓及其殘缺圓Fig.1 Standard circle image and it’s fragmentary form
所謂直角三角形法就是構(gòu)造一個(gè)圓的內(nèi)接直角三角形,其原理是根據(jù)過圓上一點(diǎn)的一條非切線的直線與圓相交有且僅有兩個(gè)交點(diǎn),據(jù)此來對(duì)圖像中的點(diǎn)沿著某一直線掃描,得到直角三角形的頂點(diǎn),從而構(gòu)造出直角三角形,然后求得直角三角形斜邊的中點(diǎn)坐標(biāo)即為圓的圓心坐標(biāo),圓的半徑就是直角三角形斜邊長(zhǎng)度的一半。該方法的具體實(shí)現(xiàn)步驟如下:
Step1:掃描圖像,提取整幅圖像中所有像素值為0的點(diǎn),并將這些點(diǎn)的橫縱坐標(biāo)值保存在兩個(gè)一維數(shù)組P[n]和Q[n]中。
Step2:取點(diǎn),隨機(jī)選取一個(gè)點(diǎn)的作為直角三角形的第一個(gè)點(diǎn)B(x1,y1),該點(diǎn)一般選擇step1所建立數(shù)組中的三分之一處的第整數(shù)i個(gè)點(diǎn),可以通過高斯函數(shù)求得該點(diǎn)位置,如公式(2)、(3)所示,以免選擇的點(diǎn)為垂直或水平方向上的唯一有效點(diǎn),而不能找到第二個(gè)點(diǎn)。
Step3:縱向掃描,從B點(diǎn)沿Y軸方向垂直掃描圖像,找到在該方向上異于B點(diǎn)的另一個(gè)像素值為0的點(diǎn),即為A(x2,y2)點(diǎn)。如果沒有找到相應(yīng)的點(diǎn)返回step1重新選取B點(diǎn)。
Step4:橫向掃描,從A點(diǎn)沿X軸方向水平掃描圖像,找到該方向上異于A點(diǎn)的另外一個(gè)像素值為0的點(diǎn),即為C(x3,y3)點(diǎn)。如果沒有找到相應(yīng)的點(diǎn)返回step1重新選取B點(diǎn)。
Step5:輸出,根據(jù)公式(4),(5)計(jì)算圓周的圓心坐標(biāo) R(X0,Y0)和半徑 R0:
該方法主要依靠逐次掃描圖像中的像素點(diǎn)得到所需要的像素點(diǎn),然后計(jì)算圓的參數(shù),計(jì)算量少,實(shí)現(xiàn)方便,對(duì)于像素較低的圖像比較方便,定位效果如圖2所示。如果圖像的像素矩陣較大,遍歷圖像中的像素點(diǎn)比較多的情況下該方法的實(shí)時(shí)性就會(huì)下降,另外如果對(duì)于圖像中的圓周是不完整的如圖3所示,這種情況下難以尋找內(nèi)接直角三角形的各個(gè)頂點(diǎn),因此該方法不能實(shí)現(xiàn)圓心的定位工作。
中垂線法是隨機(jī)選取圓周上的任意3個(gè)點(diǎn)構(gòu)造出兩條弦,進(jìn)而得到兩條弦的垂直平分線方程,圓的兩條弦的中垂線所構(gòu)成的交點(diǎn)即為圓心位置所在。具體實(shí)現(xiàn)步驟如下所示:
圖2 直角三角形法仿真結(jié)果Fig.2 Simulation result after using the method of right triangle
Step1:同 1.1 節(jié)中 step1。
Step2:取點(diǎn):以任意方式隨機(jī)選取數(shù)組 P[n],Q[n]中的 3個(gè)點(diǎn)的坐標(biāo)。 例如:A(p1,q1),B(pi,qi)(其中 i=[n/3]),C(pn,qn)。(大論文中可以考慮分開公式形式標(biāo)出)
Step3:構(gòu)造中垂線方程:以AB和BC兩條弦分別建立中垂線方程
step4:通過計(jì)算中垂線矩陣方程得出交點(diǎn)坐標(biāo),即為圓心坐標(biāo)。
中垂線法主要根據(jù)圓中弦的中垂線性質(zhì)建立數(shù)學(xué)模型,最終求得圓心坐標(biāo)值,達(dá)到圓心定位的目的,該方法中計(jì)算量相對(duì)直角三角形法而言要大很多,但是該方法的性能穩(wěn)定,當(dāng)采集的圖像樣本像素值較大時(shí)也不會(huì)對(duì)實(shí)時(shí)性造成太大影響。并且當(dāng)圓心定位圖像出現(xiàn)如圖2的情況時(shí)本方法依然有效,增強(qiáng)了算法的健壯性和魯棒性。其定位仿真圖像如圖 4、5所示。
圖3 中垂線法仿真結(jié)果Fig.3 Simulation result after using the method of perpendicular bisector
等距離法的主要理論依據(jù)是圓心到圓周上的每個(gè)點(diǎn)的距離相等,而圓周上隨機(jī)選取3個(gè)像素點(diǎn)即可確定出唯一一個(gè)到3個(gè)點(diǎn)距離相等的點(diǎn),這個(gè)點(diǎn)就是圓心所在位置。該方法的基本實(shí)現(xiàn)過程如下:
Step1:同 1.1 節(jié)中 Step1。
step2:同 1.2節(jié)中 Step2。
Step3:分別求出圓心 R(X0,Y0)到 A(p1,q1),B(pi,qi)(其中 i=[n/3]),C(pn,qn)3 點(diǎn)的距離,利用簡(jiǎn)歷兩個(gè)相等關(guān)系式可以得到該方法的數(shù)學(xué)模型:
等距離法在效果上與中垂線法相差不多,但是計(jì)算量上略顯復(fù)雜,在定位時(shí)間上也略長(zhǎng)于中垂線法,但是在定位精度和算法的魯棒性上都是比較出色的。該方法的定位仿真效果如圖4所示。
圖4 等距離法仿真結(jié)果Fig.4 Simulation result after using the method of equidistance
上述章節(jié)中是針對(duì)人為設(shè)計(jì)的標(biāo)準(zhǔn)圓形圖像和標(biāo)準(zhǔn)圓形圖像的殘缺圖,利用3種方法分別對(duì)其進(jìn)行仿真分析,驗(yàn)證方法的有效性,為將這些方法有效的應(yīng)用到實(shí)際生產(chǎn)過程中提供良好的理論依據(jù)。針對(duì)標(biāo)準(zhǔn)圓及其殘缺圓的仿真定位結(jié)果和消耗時(shí)間如表1所示。
表1 標(biāo)準(zhǔn)圓及其殘缺圓定位結(jié)果Tab.1 Test result of standard circle image and it’s fragmentary form
從表1可以看出,直角三角形法的定位結(jié)果最為精確,所需時(shí)間也是3種方法中最少的,可見其在標(biāo)準(zhǔn)圓定位中的高效性,但是它無法完成對(duì)殘缺圓的定位,使得該方法的魯棒性不高,相對(duì)而言中垂線法和等距離法雖然定位的精度稍微有些偏差,所耗時(shí)間也比較長(zhǎng),但是他們都能完成對(duì)殘缺圓的定位工作,使得算法的魯棒性較高。同時(shí)可以看出中垂線法對(duì)殘缺圓的定位結(jié)果偏差較大,而等距離法表現(xiàn)的會(huì)更加出色。
由于在實(shí)際生產(chǎn)的視覺控制過程中進(jìn)行圖像采集時(shí)會(huì)受到各種不同因素(例如:光照因素,濕度因素,傳輸信道噪聲因素,環(huán)境中其它不可預(yù)測(cè)因素等)的影響,增加了圖像的復(fù)雜程度,這就加大了圓心定位工作的難度,采用基于幾何參數(shù)的圓心定位方法對(duì)圖像的處理速度快,實(shí)現(xiàn)也比較容易,但是它對(duì)所要定位的圖像也提出了較高的要求,要求將圖像中的噪聲等不利于定位的因素的影響降到最低,這就對(duì)圖像的預(yù)處理過程提出了較高的要求,本文選擇偏心桶加注口的圓心定位作為處理對(duì)象通過大量實(shí)驗(yàn)得出了一個(gè)合理的解決方案,該方案的流程圖如圖所示。
圖5 采樣圖像定位流程圖Fig.5 Flow chart of the location for sampling image
對(duì)計(jì)算機(jī)進(jìn)行初始化之后,讀入采集的樣本圖像,接收到圖像數(shù)據(jù)后先對(duì)圖像進(jìn)行一系列的預(yù)處理操作,以便排除周圍環(huán)境(光照強(qiáng)度等)因素的影響,并得到比較理想的定位圖像。預(yù)處理過程中首先將讀入的彩色圖像(24位圖)進(jìn)行灰度化處理得到數(shù)據(jù)量較小的灰度圖像(8位圖),再對(duì)灰度圖像利用中值濾波進(jìn)行去噪處理,將圖像的無關(guān)因素影響降到最低,接下來根據(jù)圖像的灰度直方圖判斷圖像的二值化閾值并對(duì)灰度圖像進(jìn)行二值化得到二值圖像(像素值只含0、1的2位圖像)。這樣便達(dá)到了對(duì)圖像進(jìn)行分割的目的,可以將偏心桶的加注口圖像分割出來。此時(shí)得到的是一個(gè)圓形的實(shí)心區(qū)域,再利用canny算子進(jìn)行邊緣提取操作,得到一個(gè)離散的圓周圖像,此時(shí)便可以在次圖像的基礎(chǔ)上進(jìn)行圓心定位。采用中垂線法或者等距離法進(jìn)行圓心的定位。
在該過程中為了保證圓心定位的準(zhǔn)確,采用了誤差判斷的方法,即第一次選擇點(diǎn)定位后的結(jié)果存放在一個(gè)變量A中,第二次重新選擇一組點(diǎn)進(jìn)行定位運(yùn)算,結(jié)果保存在變量B中,對(duì)A和B中的結(jié)果進(jìn)行誤差判斷,如果二者之差的絕對(duì)值能夠小于事先設(shè)定的閾值則A、B中的值都可以作為最終定位結(jié)果,否則需要選取另外的點(diǎn)進(jìn)行定位計(jì)算,直到誤差符合要求為止。
圖6是對(duì)現(xiàn)場(chǎng)采集的偏心桶圖像進(jìn)行加注口圓心定位的結(jié)果圖。其中(a)圖是原始采樣圖像,(b)圖是經(jīng)過算法處理后的定位圖像,(c)圖是采用等距離法進(jìn)行圓心定位的結(jié)果,其中紅十字標(biāo)注的位置即為加注口的圓心。
圖6 采樣圖像定位仿真結(jié)果Fig.6 Simulation result of the location for sampling image
本文通過對(duì)數(shù)字圖像中圓周信息點(diǎn)分布的規(guī)律和圓周幾何特性的分析研究,總結(jié)出三種基于幾何特性的圓心定位方法,這些方法各有利弊,可適用于不同的場(chǎng)合,在上述章節(jié)中也借助簡(jiǎn)單的圓周曲線做了詳細(xì)的描述和對(duì)比。最后將所研究的方法應(yīng)用到具體實(shí)踐中,取得了良好的效果?;趲缀翁匦缘膱A心定位方法具有運(yùn)算簡(jiǎn)單,實(shí)現(xiàn)方便的特性,這對(duì)方法的普及會(huì)有很大的幫助。
[1]HOUGH PVC.Method and means for recognizing complex patterns 3069654[P].1962.
[2]YING X H,ZHA H B.An efficient method for the detection ofprojected concentric circle [C]//IEEE International Conference on Information Processing,San Antonio,2007(5):560-563.
[3]David G.Lowe.Distinctive image features from scale-invariant key-points[J].Int Journal of Computer Vision,2004,60(2):91-110.
[4]Mikolajczyk K,Cordela S A.Performance evaluation of local descriptors[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(10):1615-1630.
[5]吳慧蘭,劉國(guó)棟,劉炳國(guó),等.基于SIFT算法的圓心快速精確定位技術(shù)研究[J].光電子·激光,2008,19(11):1512-1515.WU Hui-lan,LIU Guo-dong,LIU Bing-guo,et al.Study on the circle center fast accurate-locating technique based on the SIFT[J].Journal of Optoelectronics·Lase,2008,19(11):1512-1515.
[6]曹建海,路長(zhǎng)厚.基于灰度圖像和矢量的圓心定位[J].光電子·激光,2004,15(6):714-718.CAO Jian-hai,LU Chang-hou.Locating a center-point of the circular projection based on a Gray—scale image and vector sum[J].Journal of Optoelectronics·Lase,2004,15(6):714-718.
[7]Canny J.A computational approach to edge detection[J],IEEE Trans.Pattern Anal.Mach.Intell,1986,8 (6):679-698.
[8]張虎,達(dá)飛鵬,邢德奎.一種改進(jìn)的亞像素圓心定位算法[C]//2008年全國(guó)模式識(shí)別學(xué)術(shù)會(huì)議:79-84.