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