王付軍 趙桂清



摘 要: 針對電子元件焊接質量自動檢測系統中PCB圖像的定位問題進行研究。為了解決傳統定位算法定位精度低、運算時間長的缺點,改進傳統的定位圓檢測和定位算法,采用改進的快速Hough變換提高檢測精度和縮短檢測時間。通過實際PCB電路板的檢測實驗對比發現,該算法能提高定位圓圓心檢測的精度,可以有效縮短計算時間,對于實際電子元件缺陷的自動檢測算法的改進有一定的參考意義。
關鍵詞: 焊接質量; 霍夫變換; 圖像定位; 自動檢測
中圖分類號: TN081?34 文獻標識碼: A 文章編號: 1004?373X(2017)05?0042?03
Abstract: The PCB image localization problem is studied for the welding quality automatic detection system of the electronic components. In order to improve the low accuracy and long operation time of the traditional localization algorithm, the traditional setting circle detection and localization algorithm was improved, and the improved fast Hough transform was used to improve the detection precision and shorten the testing time. The test experiment of the algorithm was contracted with that of the practical PCB circuit board. It is found that the algorithm can improve the accuracy of the circle center detection of the setting circle and shorten the computation time effectively, and has a certain reference significance for the improvement of the defect automatic detection algorithm of the practical electronic components.
Keywords: welding quality; Hough transform; image location; automatic detection
隨著現代電子技術的發展和功能的增加,電路板的體積越來越小,貼片元件的應用越來越廣泛。為了保證產品的性能,需要在組裝前檢驗電子元件的焊接質量,當前主要的檢測方法是利用自動光學檢測系統(AOI),該系統檢測的基本原理是通過ccd攝像頭獲取被檢測的PCB電路板的圖像,然后和數據庫中的標準圖像對比,從而檢測、發現質量缺陷,在檢測過程中圖像的定位是重要的一步,如果圖像定位不準確,對比出來的缺陷是沒有意義的。
1 圖像定位
基于數字圖像處理的電子元件焊接質量檢測過程中,需要獲得電子元件的精確位置,后續才能檢測電子元件的焊接缺陷。一般在PCB的制造設計階段,在PCB板的邊緣設置基點(定位圓),為后續光學檢測定位提供基準。定位孔一般用于機械定位,如圖1所示。
要將定位圓孔從PCB圖像中識別出來,必須合理提取其圓形特征,常用的檢測算法有:維納濾波法、曲線擬合法、模板匹配法、Hough(霍夫)變換法等。維納濾波是基于最小方差理論,視采集圖像為退化圖像,運算時間較長;曲線擬合法和模板匹配法采集的圖像要求較高,一旦原始圖像存在瑕疵,難以保證結果;Hough變換檢測定位圓孔的精度高,但存在計算量大的缺點,在速度上不能滿足實時檢測的要求,為此必須對Hough算法進行改進。
2 Hough變換圓檢測算法的基本原理及性能分析
2.1 Hough變換圓檢測算法的基本原理
Hough變換主要利用圖像空間和參數空間點線的對偶關系,實現對點、線、圓的檢測。
設Hough變換用的解析函數的基本方程為:
[f(x,a)=0] (1)
式中:[x]和[a]分別表示圖像空間和參數空間的矢量點,目標圓的方程可以表示為:
[(x-a)2+(y-b)2=r2] (2)
該方程在參數空間中表示三維圓錐面,如圖2所示。在檢測過程中,將目標圓上的每一個點都映射到參數空間,對參數空間的每一個[(a,b,r),]對應圖像空間的一個圓,若邊界點[(x,y)]在圓上,則累加器加1,累加器峰值即為圓的半徑和圓心的信息。由于圓變換三維參數空間為三維錐面,所以只是在理論上可行,實時檢測過程中因計算量太大,幾乎不可能實現。
2.2 Hough圓檢測算法的性能分析
為了克服Hough變換圓檢測計算量大、無法實時檢測的缺點,從減少選取點的數目和累加數組的維數出發,提出了幾種圓檢測的改進算法:
(1) 利用邊緣梯度
在進行數據累加時,利用圖像邊緣點的梯度值大大降低獲取圓心的計算量。在實際應用中,因圖像質量的下降,提取的圖像邊緣點會出現偏差,使得最后確定的圓心誤差較大。
(2) 快速 Hough變換
為減少計算量,采用幾何方法對三維參數空間進行降級分解,利用三個不共線點確定一個圓的逆運算,降至二維空間求取圓心,半徑可以在一維空間確定,而且還能避免一對多映射的不確定性。在實際應用中,因圖像噪聲的存在,隨機選取的點有很多是無效的噪聲點,后續的累積也是無用的。
(3) 利用內接直角三角形的性質
根據幾何定理可以知道,圓內接直角三角形的斜邊過圓心,即斜邊為直徑,其中點為圓心,長度的一般為半徑。同樣,由于噪聲和圖像質量下降,提取的三個點有時無法構成直角三角形,進而使確定的圓心和半徑誤差增大。
3 改進的快速Hough變換
3.1 算法改進原理
針對快速Hough的缺陷,為了減少無效點和無效累積,需要對其算法進行改進。改進的思路是:
(1) 對圖像的邊緣增強處理,降低邊緣無效點,減少無效累積;
(2) 改進累加點的判斷算法,減少無效累加的次數。
將圓的方程變換為:
[x2+y2+2ax+2by+c=0] (3)
利用圓周上的任意三點,代入式(3),可以解出[a,b,c]的值,把可能是圓心、半徑的點用兩個累加器統計,如圖3所示。任意三點的選取方法是:在圖像邊緣點集中隨機確定第一個像素點[pa,]其在相對另一側圓弧的點為第二個像素點[pb,]在這兩點連成弦的另一側圓周區域確定第三個點[pc。]
對于上述選擇出的圓周上的三點,可以構成兩條圓的弦,利用“圓內任意兩弦垂直平分線的交點為圓心”的性質,結合[pa(xa,ya),][pb(xb,yb),][pc(xc,yc)]三點坐標可以求出中點坐標和相應的直線方程:
在待測圖像的邊緣像素集中,選取[N]個邊緣點,連接相鄰的點可以得到[N-1]條弦,求出弦的垂直平分線的方程,并求得交點坐標,加以統計,二維存儲器中數量最大的值即為圓心坐標[(x0,y0)],而半徑可以通過圓心到各邊緣點的距離的平均值求得。
為了減小計算量,在選取點的過程中,可以使前一個點和后一個點的一個坐標相同,即1點和2點的縱坐標相同,2點和3點的橫坐標相同,如圖4所示。
具體算法是:首先隨機選取圖像邊緣一點[p1][(x1,y1);]然后搜索邊緣點中縱坐標相同的點為[p2][(x2,y1);]再搜索與橫坐標相同的點為[p3][(x2,y2)],這時圓心坐標的計算公式變為:
[xa=(x1+x2)2, xb=(y1+y2)2] (7)
3.2 算法流程
改進的Hough變換圓檢測的算法如圖5所示,其中圖像的邊緣檢測采用檢測邊緣能力和定位精度都比較好的canny算子,并且采用分段線性變換實現邊緣圖像的增強,這樣提取出的邊緣點精確而且數目少。為進一步利用Hough變換進行圓檢測提供了良好的信息點。
算法流程圖中,[pc]為候選圓的參數集合(含半徑、圓心、累加次數等信息),[T]為閾值。
4 改進的快速Hough算法在PCB檢測中的仿真應用
把上述的檢測算法,應用于實際的PCB電路板定位圓的檢測,基本步驟如下:
(1) 利用攝像機或ccd攝像頭采集PCB板的原始圖像。
(2) 對采集的PCB圖像進行降噪等預處理,利用canny邊緣檢測算子檢測圖像的邊緣,并增強圖像邊緣的對比度,如圖6所示。
對采集到的電子元件焊點圖像分別用傳統Hough變換,快速Hough變換和改進的Hough變換,程序的執行時間和檢測精度如表1所示。
通過表1可以看到,三種檢測方法的精度基本差不多,改進的快速Hough的精度更高;運算時間上,因為減少了無效點的累積,改進的快速Hough變換檢測時間明顯縮短。
5 結 語
在電子元件焊接質量缺陷自動檢測中,電子元件的定位是缺陷檢測的關鍵一步。本文分析了PCB定位圓檢測的方法和原理,并且對快速Hough變換圓檢測進行了改進,改進算法清晰,在保持Hough精度高,抗噪聲能力強的同時,提高了電路板的檢測效率。通過實際電路板的檢測實驗,改進的快速Hough變換圓檢測算法明顯縮短了檢測時間,同時也提高了檢測精度。該方法對于提升電子元件質量自動檢測系統的性能有一定的參考意義。
參考文獻
[1] 趙更寅.PCB的檢測技術綜述[J].科技信息,2007(15):71?72.
[2] 孫增國,韓崇昭.基于Laplacian算子的圖像增強[J].計算機應用研究,2007(1):222?223.
[3] 劉尚軍,程憲平.PCB瑕疵圖象實時視覺檢測方法的研究[J].計算機工程與應用,2002(16):71?74.
[4] 段汝嬌,趙偉,黃松嶺,等.一種基于改進Hough變換的直線快速檢測算法[J].儀器儀表學報,2010,31(12):2774?2780.
[5] 蔡茂蓉.PCB缺陷檢測系統的研究與實現[J].信息系統工程,2009(6):98?100
[6] 周封,楊超,王晨光,等.基于隨機Hough變換的復雜條件下圓檢測與數目辨識[J].儀器儀表學報,2013,34(3):622?628.
[7] 王世允.印刷圖像質量直接檢測:被測圖像定位與網點識別方法的研究[D].西安:西安理工大學,2002.
[8] 劉國峰.基于邊緣檢測和Hough變換的車牌定位系統的研究與實現[D].北京:中國地質大學,2007.
[9] 潘憶江,黃際彥,吳波,等.Hough變換的PCB Mark校準研究[J].現代電子技術,2014,37(10):141?143.
[10] 祁寶英.運用Hough變換提高直線檢測效率[J].計算機系統應用,2012,21(6):228?231.