家建奎 ,齊 敏 ,李 珂
(1.西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129;2.西北工業(yè)大學(xué) 自動化學(xué)院,陜西 西安 710129)
隨著近年來電子信息產(chǎn)業(yè)的迅速發(fā)展,表面貼裝技術(shù)(Surface Mount Technology,SMT)產(chǎn)業(yè)由于其高密度、焊點(diǎn)缺陷率低、生產(chǎn)流程易實(shí)現(xiàn)自動化等優(yōu)點(diǎn)得到了快速的增長。在SMT生產(chǎn)中,通常會在印刷電路板(Printed Circuit Board,PCB)的對角位置設(shè)置兩個定位標(biāo)志符,作為后續(xù)的定位標(biāo)準(zhǔn)[1]。因此,標(biāo)志符的精確識別將直接影響到整個設(shè)備定位的準(zhǔn)確性。通常標(biāo)志符有許多形狀,比如圓形和直線型的正方形、三角形、十字形等,其中直線型的標(biāo)識符研究較少。為了精確地檢測識別標(biāo)志符,需要對標(biāo)志符進(jìn)行邊緣擬合,實(shí)際中由于多種因素的影響,直線型標(biāo)識符被高像素的相機(jī)拍攝出來的圖像邊緣并不很直,拐角處的直角也帶有一定的弧度,這會影響到后續(xù)的標(biāo)志符高精度定位,因此,有必要對PCB中的標(biāo)志符做進(jìn)一步的邊緣擬合,使得其成為標(biāo)準(zhǔn)的正方形、十字形。
常見的直線邊緣擬合方法有Hough變換[2-3]、最小二乘擬合[4]、矩形模板[5]等。Hough變換檢測直線應(yīng)用十分廣泛,具有抗噪聲能力強(qiáng),連接共線短直線的優(yōu)點(diǎn),但是檢測出來的直線段數(shù)目眾多,分布密集,很容易將屬于不同直線的點(diǎn)誤認(rèn)為屬于同一直線,結(jié)果很不理想。最小二乘擬合直線的方法是最常用的直線擬合,該方法將邊緣像素提取出來并組成列表,然后對該列表進(jìn)行直線段擬合,其中tolerance為偏離直線的最大距離,當(dāng)超過該距離后,直線段就會一分為二。這種方法通常存在著兩個問題:1)結(jié)果受閾值選取的影響較大,對閾值的依賴性較強(qiáng)。2)當(dāng)對不同的標(biāo)志符進(jìn)行處理時,由于不同形狀的目標(biāo)對擬合的tolerance要求不同,導(dǎo)致所得結(jié)果不理想。矩形模板的方法只針對矩形目標(biāo)有效,具有很強(qiáng)的局限性。當(dāng)目標(biāo)為十字形,或者由兩個矩形塊拼接而成時,矩形模板都無法得到準(zhǔn)確的結(jié)果。
因此,針對PCB板中形狀為正方形、十字形和正方形拼接的標(biāo)志符,本文首先利用閾值分割、邊緣檢測等方法提取出PCB圖像中標(biāo)志符的二值圖像,接著利用Hough變換檢測出目標(biāo)形狀的主軸,最后利用塊處理方法對提取出的標(biāo)志符區(qū)域進(jìn)行直線化處理,該方法在有效避免閾值選取的同時,保證了最終提取出的標(biāo)志符輪廓具有邊緣直線性和直角特性。
針對標(biāo)準(zhǔn)Hough變換[6]中計(jì)算量大,占用內(nèi)存多等缺點(diǎn),Galamhos等[7]提出了一種改進(jìn)的概率霍夫變換,這種方法將圖像數(shù)據(jù)映射到參數(shù)空間中具有較大概率的單元塊,而非所有的單元塊,因此大大減少了投票數(shù),提高了編程效率。具體的概率霍夫變換算法如下:
1)檢查輸入圖像,如果是空的就退出程序。
2)從輸入圖像中隨機(jī)選取一個像素,更新累加器。
3)將選取的像素從輸入圖像中移除。
4)檢查累加器中的峰值是否因?yàn)樾孪袼囟^了閾值l,如果沒有就返回步驟1)。
5)根據(jù)累加器中的峰值確定直線方向,并找到該方向上的最長直線段,這里的直線段
包括了連續(xù)的和間隔不超過給定閾值的不連續(xù)直線。
6)將上一步中得到的直線段像素從輸入圖像中移除。
7)將步驟5)中得到的直線段像素對應(yīng)的累加器全部置零。
8)如果直線段長度大于允許的最小長度,則將其加入輸出列表中。
9)返回到步驟 1)。
在本文中,利用改進(jìn)的概率霍夫變換檢測出PCB板上的標(biāo)志符的主軸,即利用霍夫變換檢測出的最長直線段。如圖1所示,直線段l表示檢測出的正方形標(biāo)志符主軸。
圖1 主軸l與x軸夾角thetaFig.1 The angle theta between domain line l and x axis
對于十字形、正方形和由正方形拼接的標(biāo)志符而言,它們的邊緣都是直線,角度都是直角,根據(jù)這樣的特點(diǎn),本文提出了塊處理的方法,將標(biāo)志符區(qū)域劃分為許多小塊的區(qū)域,根據(jù)小塊中標(biāo)志符區(qū)域所占的比重,確定小塊是否屬于標(biāo)志符區(qū)域。
在圖1中,設(shè)theta角為標(biāo)志符區(qū)域主軸l與圖像坐標(biāo)系中x軸正方向的夾角,單位為度。以主軸一端為定點(diǎn),將目標(biāo)區(qū)域輪廓旋轉(zhuǎn)至主軸與圖像坐標(biāo)系的坐標(biāo)軸平行,當(dāng)時,將標(biāo)志符區(qū)域輪廓旋轉(zhuǎn)至主軸與圖像坐標(biāo)系的x軸平行;當(dāng)時,將標(biāo)志符區(qū)域輪廓旋轉(zhuǎn)至主軸與圖像坐標(biāo)系的y軸平行。具體的坐標(biāo)變換公式如下:
經(jīng)過上述步驟之后,我們得到了標(biāo)志符區(qū)域的正視圖,即標(biāo)志符邊緣處于平行或垂直的方向。如圖2所示。
圖2 標(biāo)志符區(qū)域被分割為許多unit單元塊。Fig.2 The mark region divided by unit
將上一步中得到的標(biāo)志符區(qū)域以x,y軸為邊等間隔分塊,如圖2所示,間隔為7*7個像素(具體大小值根據(jù)拍攝圖像而定)。每一個分塊定義為一個單元塊unit,期間要保證區(qū)域的4個邊界都與建筑物區(qū)域的輪廓相切,避免最后的圖像尺寸發(fā)生改變。
在圖2中,由上到下,至左而右逐行掃描各單元塊,計(jì)算各單元塊中標(biāo)志符區(qū)域的面積與單元塊面積的比值:
其中,Amark是單元塊中標(biāo)志符區(qū)域的面積,Aunit為單元塊的面積,面積單位均為像素個數(shù)。
當(dāng)Percentage大于等于0.45時,填充該單元塊為標(biāo)志符區(qū)域。否則填充該單元塊為背景顏色。掃描結(jié)束后,最后保留的所有單元塊組成了完整的標(biāo)志符區(qū)域,跟蹤區(qū)域的邊緣就可以得到直線化的標(biāo)志符輪廓。
處理完成之后,將得到的直線化輪廓圖以主軸的定點(diǎn)為圓心,旋轉(zhuǎn)-theta角度調(diào)整回原始位置,就可以得到待識別[8]的標(biāo)志符區(qū)域的直線化輪廓圖。該方法不僅對正方形的標(biāo)志符有效,對十字形和多正方形拼接的標(biāo)志符也同樣起作用。
圖3 正方形標(biāo)志符原始圖及其識別檢測結(jié)果Fig.3 Square mark original picture and its detection result
圖4 拼接正方形標(biāo)志符原始圖及其識別檢測結(jié)果Fig.4 Splicing rectangle mark original picture and its detection result
本文針對PCB板上的正方形、十字形標(biāo)志符進(jìn)行了輪廓提取試驗(yàn),并與利用最小二乘法擬合后的標(biāo)志符做了對比。圖3~圖5分別是正方形、拼接正方形、十字形標(biāo)志符的原始圖像與對應(yīng)的輪廓提取結(jié)果圖。從中可以看出,本方法提取出的正方形標(biāo)志符區(qū)域在邊緣區(qū)域具有直線的特性,并且在容易失真的角度區(qū)域具有直角的特性,完全符合實(shí)際的正方形標(biāo)志符。相反,利用最小二乘擬合對標(biāo)志符輪廓提取的結(jié)果顯示邊緣由多個線段連接組成,更重要的是在標(biāo)志符輪廓的角度區(qū)域并非是直角,而是由多條線段組成的鈍角,這些與實(shí)際的標(biāo)志符有很大的失真,因此,本文提出的方法具有更高的精確度。
本文針對現(xiàn)有識別檢測正方形、拼接正方形、十字形標(biāo)志符的方法的不足,提出了一種新的直線化的標(biāo)志符輪廓精確提取算法。該方法首先將PCB板上的標(biāo)志符標(biāo)記圖像由灰度圖轉(zhuǎn)化為二值圖,然后利用改進(jìn)的概率霍夫變換檢測出標(biāo)志符區(qū)域的主軸,最后使用塊處理的方法對標(biāo)志符區(qū)域進(jìn)行了直線化輪廓提取。本方法有效的避免了傳統(tǒng)最小二值擬合方法中的閾值選取問題,同時也解決了邊緣夾角區(qū)域的直角化和輪廓邊緣的直線化的問題,有利于標(biāo)志符的高精度定位。本方法不僅針對正方形的標(biāo)志符有效,對其他的具有直角特性的多邊形PCB標(biāo)志符同樣有效。
[1]熊光潔,馬樹元,劉瑞禎.PCB檢測中圓Mark的快速精確定位[J].計(jì)算機(jī)工程,2012,11(21):211-213.XIONG Guang-jie,MA Shu-yuan,LIU Rui-zhen.Fast precise positioning of circular mark in PCB inspection[J].Computer Engineering,2012,11(21):211-213.
[2]張廣斌,束洪春,于繼來.基于Hough變換直線檢測的行波波頭標(biāo)定[J].中國電機(jī)工程學(xué)報(bào),2013,19(6):165-173.ZHANG An-bin,SHU Hong-chun,YU Ji-lai.Surge identification for travelling wave based on straight lines detection via hough transform[J].Proceedings of the CSEE,2013,19(6):165-173.
[3]張江鑫,沈小蘭,王輝,等.快速隨機(jī)Hough變換多直線檢測算法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013(3):346-350.ZHANG Jiang-xin,SHEN Xiao-lan,WANG Hui,et al.Fast multi-line detection algorithm using randomized hough transform [J].Journal of Zhejiang University of Technology(Social Science),2013(3):346-350.
[4]范文博,王文龍,陳岳龍,等.最小二乘直線擬合方法及其在同位素地質(zhì)年代學(xué)中的應(yīng)用研究 [J].地質(zhì)論評,2013(5):801-815.FAN Wen-bo,WANG Wen-long,CHEN Yue-long,et al.Methods for least squares fitting of a straight line and their application in geochronology[J].Geological Review,2013(5):801-815.
[5]崔世勇.高分辨率遙感影像建筑物半自動提取方法研究[D].北京:中國測繪科學(xué)研究院,2009.
[6]HOUGH P C.Machine analysis of bubble chamber pictures[C]//Proc.Int.Conf.High Energy Accelerators and Inst,1959(55):554-558.
[7]GALAMHOS C,MATAS J,KITTLER J.Progressive probabilistic Hough transform for line detection[C]//Computer Vision and Pattern Recognition,1999.Los Alamitos:IEEE Computer Society,1999:554-560.
[8]張蒙正,馬杰.冪律型流體射流破碎建模和實(shí)驗(yàn)問題探討[J].火箭推進(jìn),2011(4):1-6,41.Zhang Meng-zheng,Ma Jie.Discussion about modeling and experiment problem of power-law fluids[J].Journal of Rocket Propulsion,2011(4):1-6,41.
圖5 十字形標(biāo)志符原始圖及其識別檢測結(jié)果Fig.5 Cross mark original picture and its detection result