本發明涉及圖像處理技術領域,具體涉及一種基于高斯擬合的高密度電路板圓孔亞像素檢測方法。
背景技術:
fpc由于其體積小、重量輕及具備可撓性等優點被廣泛用于航天、軍事、移動終端、數碼相機等多個領域。目前fpc線路板的尺寸越來越小,對工藝的要求也越來越高。與此同時,需要更高精度的方法來檢測fpc的各項特征以確保fpc的性能。其中,圓孔(包括標識孔、組裝孔、定位孔、導通孔和對位孔)是fpc上的一項重要特征,圓孔的位置、大小及圓度等特征都會影響fpc的功能及性能。用光學影像的方法來檢測圓孔是常用的方法。而對高密度的fpc,用一般像素級的檢測方法往往達不到我們的檢測精度。針對這種情況,可以采用亞像素的方法來到達測量精度的要求。近年來,亞像素檢測技術已得到了很大的發展,這些方法大致可以分為三類:基于插值的方法,基于矩的方法和基于擬合的方法。基于插值的方法計算時間短,但是精度低,抗噪性差;基于矩的方法抗噪性能強,但由于涉及到模板的計算,所以計算量很大。
技術實現要素:
為了克服現有技術存在的缺點與不足,本發明提供一種基于高斯擬合的高密度電路板圓孔亞像素檢測方法。
本發明采用如下技術方案:
一種基于高斯擬合的高密度電路板圓孔亞像素檢測方法,包括如下步驟:
s1fpc圖像進行處理得到像素級邊緣,再檢測出圓孔邊緣,得到圓孔邊緣的重心;
s2在圓孔邊緣像素點與圓孔重心連線上選取邊緣像素點及其附近的像素點,構成待擬合曲線;
s3采用高斯擬合方法對待擬合曲線的梯度曲線進行高斯擬合,得到圓孔亞像素邊緣;
s4根據圓孔亞像素邊緣,實現圓心、半徑、圓度和圓缺陷的檢測。
所述s2在圓孔邊緣像素點與圓孔重心連線上選取邊緣像素點及其附近的像素點,構成待擬合曲線,具體為:
設邊緣像素點個數為n,(xi,yi)為第i個像素點的坐標,(xc,yc)為重心坐標;
作一條以重心為端點,經過點(xi,yi)(xc,yc)的射線,然后在線上的(xi,yi)兩邊各取4個點,包括點(xi,yi)得到的9個點作為待擬合的曲線,所述9個點都在射線上。
所述s3采用高斯擬合方法對待擬合曲線的梯度曲線進行高斯擬合,得到圓孔亞像素邊緣,具體為:
s3.1待擬合曲線由9個點構成,用f表示(xi,yi)像素點的灰度值,則待擬合曲線可表示為f(x),x=-4,-3,-2,-1,0,1,2,3,4,依次表示9個點;
則f(x)的梯度曲線:
其中,x=-3,-2,-1,0,1,2,3;
s3.2圖像邊緣沿某一梯度方向灰度的一階導數近似為高斯分布,該高斯分布的均值即為邊緣位置,故只要求得待擬合曲線即梯度曲線g(x)的高斯均值即可得到亞像素邊緣坐標;
高斯曲線的表達式為:
其中,u為均值,σ為標準差,將高斯曲線兩邊取對數可得:
可以看出,上式是一條二次曲線y=ax2+bx+c,故可將待擬合曲線即梯度曲線g(x)取對數來擬合拋物線,求出的拋物線頂點坐標即為亞像素的邊緣坐標,
s3.3擬合拋物線時用最小二乘法來求得曲線參數a,b,c,進而得到拋物線的頂點,即高斯曲線的均值,也即亞像素坐標:
所述s4中根據圓孔亞像素邊緣得到圓心及半徑,具體為:
采用最小二乘法得到圓孔的圓心及半徑
設圓的亞像素邊緣包含n個像素點,其中
公式:
其中,圓心坐標為(a,b),令a=-2a,b=-2b,c=a2+b2-r2即可得到圓曲線的另一個形式:
公式:
根據得到的亞像素邊緣點和最小二乘法可求得參數a,b和c,從而得到圓心的坐標和半徑分別為:
根據圓心的坐標、半徑及圓孔亞像素邊緣得到待檢測圓的圓度:
公式:
所述圓缺陷的檢測具體包括孔偏位、孔徑大小不符、外形殘缺、多孔及少孔。
所述s1fpc圖像進行處理得到像素級邊緣,再檢測出圓孔邊緣,得到圓孔邊緣的重心,具體為:
s1.1采集圖像進行灰度化處理進行高斯去噪,然后采用canny算子進行邊緣檢測,得到該圖像的像素級邊緣;
s1.2根據邊緣連通域的幾何特性剔除干擾邊緣,再檢測圓孔邊緣:
s1.2.1利用邊緣連通域的面積大小來剔除一些噪聲邊緣和可能存在的圖像邊框,設s<ε1或s>ε2,其中s為連通域面積,ε1和ε2分別為連通域面積閾值下界和上界;
s1.2.2利用邊緣連通域的面積與周長關系來剔除一些類似條狀的邊緣,l/s>ε3,其中l為連通域周長,ε3為連通域周長與面積比的閾值下界;
s1.2.3采用hough變換的方法檢測屬于圓形的邊緣,通過如下公式計算圓邊緣的重心:
其中,n為邊緣像素點的個數,(xi,yi)為第i個像素點的坐標,(xc,yc)為重心坐標。
本發明的有益效果:
本發明在圓孔邊緣像素點與重心連線上獲得待擬合曲線的操作簡單,魯棒性好;采用梯度曲線的高斯擬合方法(即邊緣模型為sigmoid模型)比采用階躍模型更加符合實際情況,能夠實現高密度fpc圓孔的檢測。
附圖說明
圖1是本發明的工作流程圖;
圖2是本發明實施例待擬合曲線獲取結果示意圖;
圖3是本發明實施例待擬合曲線的一階導圖;
圖4是本發明實施例中亞像素圓孔檢測效果示意圖。
具體實施方式
下面結合實施例及附圖,對本發明作進一步地詳細說明,但本發明的實施方式不限于此。
實施例
如圖1所示,一種基于高斯擬合的高密度電路板圓孔亞像素檢測方法,包括如下步驟:
s1采用常規圖像處理方法得到fpc圖像的像素級邊緣,再檢測出圓孔邊緣,得到圓孔邊緣的重心,具體為:
s1.1采用常規圖像處理方法得到fpc圖像的像素級邊緣;
待處理的圖像若還有噪聲,將影響邊緣檢測的結果,所以在采集到圖像后,先要灰度化圖像并進行高斯去噪。高斯濾波是一種常用的平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。高斯濾波的具體操作是,用一個模板掃描圖像中的每一個像素,用模板確定的領域內像素的加權平均灰度值去代替模板中心像素點的值。對高斯濾波后的圖像采用canny算子進行邊緣檢測,得到圖像的像素級邊緣。
s1.2根據邊緣連通域的幾何特性剔除干擾邊緣,再檢測圓孔邊緣:
用canny算子得到的邊緣中由很多的非圓孔邊緣,若直接從這些邊緣中檢測圓孔的邊緣將會使計算量過大,因此有必要先通過邊緣連通域的幾何特性來剔除掉一部分非圓孔邊緣;然后可以在剩下的邊緣中用hough變換的方法來檢測出圓孔邊緣。
a、利用邊緣連通域的面積大小來剔除一些噪聲邊緣和可能存在的圖像邊框等,s<ε1或s>ε2,其中s為連通域面積,ε1和ε2分別為連通域面積閾值下界和上界。此步驟將那些面積太小和太大的邊緣剔除掉;本實例中,ε1=10000,ε2=70000。
b、利用邊緣連通域的面積與周長關系來剔除一些類似條狀的邊緣,l/s>ε3,其中l為連通域周長,ε3為連通域周長與面積比的閾值下界。此步驟將明顯不是圓形的類似條狀的邊緣剔除掉;本實例中ε3=0.02。
c、采用hough變換的方法檢測屬于圓形的邊緣,通過如下公式計算圓邊緣的重心:
其中,n為邊緣像素點的個數,(xi,yi)為第i個像素點的坐標,(xc,yc)為重心坐標。
s2在圓孔邊緣像素點與圓孔重心連線上選取一個邊緣像素點及其附近的像素點,構成待擬合曲線;
具體為:
設邊緣像素點個數為n,(xi,yi)為第i個像素點的坐標,(xc,yc)為重心坐標;
作一條以重心為端點,經過點(xi,yi)(xc,yc)的射線,然后在線上的(xi,yi)兩邊各取4個點,包括點(xi,yi)得到的9個點作為待擬合的曲線,所述9個點都在射線上。
s3采用高斯擬合方法對待擬合曲線的梯度曲線進行高斯擬合,得到圓孔亞像素邊緣,具體為:
s3.1待擬合曲線由9個點構成,用f表示(xi,yi)像素點的灰度值,則待擬合曲線可表示為f(x),x=-4,-3,-2,-1,0,1,2,3,4,依次表示9個點;如圖2所示,
則f(x)的梯度曲線:
其中,x=-3,-2,-1,0,1,2,3;如圖3所示。
s3.2圖像邊緣沿某一梯度方向灰度的一階導數近似為高斯分布,該高斯分布的均值即為邊緣位置,故只要求得待擬合曲線即梯度曲線g(x)的高斯均值即可得到亞像素邊緣坐標;
高斯曲線的表達式為:
其中,u為均值,σ為標準差,將高斯曲線兩邊取對數可得:
可以看出,上式是一條二次曲線y=ax2+bx+c,故可將待擬合曲線即梯度曲線g(x)取對數來擬合拋物線,求出的拋物線頂點坐標即為亞像素的邊緣坐標,
s3.3擬合拋物線時用最小二乘法來求得曲線參數a,b,c,進而得到拋物線的頂點,即高斯曲線的均值,也即亞像素坐標,可使計算簡單化:
注意,這里求得的坐標是相對邊緣點坐標的偏移量,故最后圓孔的亞像素邊緣坐標為邊緣點坐標沿其與重心點連線方向加上偏移量u的值。
3.4、重復操作,得到所有邊緣點的坐標位置即可完成圓孔的亞像素檢測,如圖4所示。
s4根據圓孔亞像素邊緣,實現圓心、半徑、圓度和圓缺陷的檢測。
采用最小二乘法得到圓孔的圓心及半徑
設圓的亞像素邊緣包含n個像素點,其中
其中,圓心坐標為(a,b),令a=-2a,b=-2b,c=a2+b2-r2即可得到圓曲線的另一個形式:
根據得到的亞像素邊緣點和最小二乘法可求得參數a,b和c,從而得到圓心的坐標和半徑分別為:
根據圓心的坐標、半徑及圓孔亞像素邊緣得到待檢測圓的圓度:
本示例中,左邊圓的圓心坐標為(745.26,1341.54),半徑為145.60,右邊圓的圓心坐標為(1765.84,1289.65),半徑為144.92,左邊圓的圓度為0.95,右邊圓的圓度為0.91。
通過得到的圓孔參數與標準文件進行比對,可檢測出一些主要的圓孔缺陷:
孔偏位:max(|a-as|,|b-bs|)>ε4,其中(as,bs)是標準文件中圓心的位置,本實例中左邊圓為(750,1340),右邊圓為(1300,1390),ε4是位置偏差的閾值上界,本實例中,ε4=20。因此本實例中的圓不存在孔偏位。
孔徑大小不符:|r-rs|>ε5,其中rs是標準文件中圓的半徑,本實例中rs=145,ε5是圓孔半徑的閾值上界,本實例中,ε5=10。因此本實例中的圓不存在孔徑大小不符。
外形殘缺:ρ<ε6,其中ε6是圓孔圓度的閾值下界,本實例中,ε6=0.75。因此本實例中的圓不存在外形殘缺。
多孔:檢測出圓孔的個數比標準文件中圓孔的個數多,本實例不存在多孔。
少孔:檢測出圓孔的個數比標準文件中圓孔的個數少,本實例不存在少孔。
上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受所述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。