劉西鋒,胡玉薇
(北京京儀儀器儀表研究總院有限公司 技術(shù)中心,北京 100079)
在電路板質(zhì)量檢測(cè)領(lǐng)域,傳統(tǒng)的人工視覺檢測(cè)逐漸被自動(dòng)光學(xué)檢測(cè)(AOI)[1-2]、自動(dòng)X射線檢測(cè)(AXI)[3-4]等新興檢測(cè)技術(shù)所代替。同時(shí)隨著電路板制造工藝的提高,對(duì)電路板內(nèi)部缺陷的研究也從二維擴(kuò)展到三維,獲得電路板的三維形狀、空間位置、空間尺寸等信息,從而準(zhǔn)確地了解缺陷。尤其是錐束CT的出現(xiàn),更加促進(jìn)了三維缺陷檢測(cè)技術(shù)的發(fā)展。
錐束CT(Cone Beam Computed Tomography)系統(tǒng)采用某種掃描方式獲取目標(biāo)物的投影圖像,然后根據(jù)投影數(shù)據(jù)利用特定的算法得到高分辨率三維圖像,且三個(gè)方向的分辨率一致[5]。與常規(guī)CT相比,錐束CT在檢測(cè)微小缺陷和內(nèi)部缺陷方面具有明顯的優(yōu)勢(shì)。電路板一般是由導(dǎo)線、過孔、焊盤、基板等構(gòu)成,由于目前元器件都采用貼片的形式,因此焊盤在電路板中可以通過二維圖像很好地檢測(cè),導(dǎo)線在電路板均有分布,起到電路連接的作用,如果存在短路、斷路等缺陷會(huì)導(dǎo)致PCB的功能失效,因此對(duì)電路板中導(dǎo)線進(jìn)行提取是三維分析的前提條件。目前直線檢測(cè)的常用方法主要是Hough變換[6],雖然Hough變換能檢測(cè)到直線,但不能確定直線的起始位置和尺寸。
本文在通過錐束CT設(shè)備采集CT圖像的基礎(chǔ)上,對(duì)采集的圖像進(jìn)行層析獲得電路板分層圖像提取導(dǎo)線區(qū)域,最后利用等值面體繪制進(jìn)行導(dǎo)線的三維可視化。
導(dǎo)線區(qū)域的提取是建立在圖像分割的基礎(chǔ)之上,其主要目標(biāo)是將圖像劃分為目標(biāo)區(qū)和非目標(biāo)區(qū),其處理效果的好壞將直接影響圖像分析、缺陷識(shí)別等后續(xù)步驟。當(dāng)一幅圖像背景和目標(biāo)物對(duì)比度不夠時(shí),采用全局閾值并不能較好地分割前景目標(biāo)。如果通過頂帽變換先去除背景,得到較均勻的前景目標(biāo)后再進(jìn)行閾值分割,這樣會(huì)得到較為理想的分割結(jié)果。圖像的白頂帽變換(White Top-Hat,WTH)定義為原始圖像f與其開運(yùn)算圖像r(f)的差,即:
WTH(f)=f-r(f).
(1)
數(shù)學(xué)形態(tài)學(xué)中的開運(yùn)算一般能夠去除圖像中孤立的小點(diǎn)、毛刺和連通兩塊區(qū)域的部分。圖像分割后采用形態(tài)學(xué)開運(yùn)算對(duì)連接區(qū)域進(jìn)行平滑,能夠消除小點(diǎn)、毛刺等部分,圖像分割的結(jié)果如圖1所示。從圖1中可以看出,經(jīng)過對(duì)比度增強(qiáng)和頂帽變換后的圖像背景更加均勻,對(duì)于受到黑色偽影影響的區(qū)域,可以明顯看出偽影對(duì)導(dǎo)線的影響基本消除,分割后的形態(tài)學(xué)處理導(dǎo)線部分更加平滑。
圖1 分層圖像的分割結(jié)果
電路板分層圖像中除了有導(dǎo)線外還有過孔、焊盤等要素,為了很好地對(duì)導(dǎo)線進(jìn)行單獨(dú)分析,需要對(duì)導(dǎo)線區(qū)域進(jìn)行篩選。首先利用區(qū)域標(biāo)識(shí)算法獲取連通區(qū)域的區(qū)域信息[7],然后利用設(shè)定的面積閾值進(jìn)行約束以便刪除較小的非導(dǎo)線區(qū)域。當(dāng)區(qū)域面積大于閾值時(shí)判斷為導(dǎo)線區(qū)域;當(dāng)區(qū)域面積小于閾值時(shí)判斷為非導(dǎo)線區(qū)域并進(jìn)行刪除,從而篩選出導(dǎo)線區(qū)域。
對(duì)導(dǎo)線進(jìn)行提取之前首先需要對(duì)篩選出的導(dǎo)線區(qū)域進(jìn)行細(xì)化以便提取導(dǎo)線的骨架。對(duì)于單像素骨架圖像的提取可以通過形態(tài)學(xué)多次細(xì)化得到。目前常用的二值圖像細(xì)化算法是根據(jù)圖像中每個(gè)區(qū)域的結(jié)構(gòu)特點(diǎn)來判斷是否能夠刪除其中心像素,從而實(shí)現(xiàn)骨架提取。本文采用OPENCV中的cvRectangle()函數(shù)對(duì)每個(gè)像素的八鄰域進(jìn)行標(biāo)記,遍歷圖像中的目標(biāo)像素點(diǎn),直到得到導(dǎo)線的單像素骨架圖像。
導(dǎo)線是有起始端點(diǎn)的一條直線,知道其端點(diǎn)就能完成導(dǎo)線的有效提取。對(duì)于導(dǎo)線的單像素骨架圖像來說,當(dāng)某一像素的八鄰域中只有一個(gè)鄰接點(diǎn)時(shí),判斷該像素點(diǎn)可能是導(dǎo)線的端點(diǎn)。以該像素為中心,提取導(dǎo)線骨架圖像每一像素點(diǎn)的八鄰域,當(dāng)其鄰接點(diǎn)的個(gè)數(shù)大于2個(gè)時(shí),該像素被認(rèn)為是導(dǎo)線的最終端點(diǎn)然后將這些端點(diǎn)腐蝕,以斷開相連的導(dǎo)線。最后設(shè)定導(dǎo)線長(zhǎng)度閾值進(jìn)行導(dǎo)線的判斷,遍歷整幅圖像得到所有導(dǎo)線目標(biāo),如圖2所示。
導(dǎo)線是由線段構(gòu)成的,因此對(duì)每條導(dǎo)線的端點(diǎn)和拐點(diǎn)進(jìn)行分析即可完成導(dǎo)線檢測(cè)。本文采用基于曲線曲率的方法對(duì)拐點(diǎn)進(jìn)行檢測(cè),該方法的關(guān)鍵是求取曲線的曲率,采用十一點(diǎn)法對(duì)曲線進(jìn)行曲率的求解[8],然后通過取曲率鏈表的極大值判斷該位置是否拐點(diǎn),最后遍歷曲率鏈表,如果當(dāng)前曲率點(diǎn)的值在前后各三個(gè)點(diǎn)內(nèi)取得極大值時(shí)則認(rèn)為該點(diǎn)為一個(gè)拐點(diǎn)并記錄,對(duì)每個(gè)導(dǎo)線區(qū)域進(jìn)行以上的拐點(diǎn)分析過程,遍歷整幅圖像完成該層導(dǎo)線檢測(cè)。如圖3所示是經(jīng)過上述步驟的某一層導(dǎo)線提取結(jié)果。
圖2 細(xì)化后提取的導(dǎo)線
圖3 導(dǎo)線檢測(cè)結(jié)果
對(duì)電路板所有的分層圖像用前文所述的方法進(jìn)行導(dǎo)線目標(biāo)提取,最后使用體繪制方法在MATLAB中對(duì)提取導(dǎo)線后的序列CT分層圖像進(jìn)行三維重建[9]。三維體繪制的步驟如下:
(1) 對(duì)提取的電路板24層CT圖像數(shù)據(jù)進(jìn)行三維數(shù)據(jù)集提取,得到一個(gè)三維的矩陣,該矩陣由圖像數(shù)據(jù)的長(zhǎng)和寬以及數(shù)據(jù)集的總數(shù)構(gòu)成。本文中實(shí)驗(yàn)樣品得到的三維數(shù)據(jù)集為512×299×24矩陣。
(2) 通過調(diào)用MATLAB函數(shù)庫(kù)中的reducevolume函數(shù)來減少數(shù)據(jù)量,提高運(yùn)算速度。
(3) 通過調(diào)用MATLAB函數(shù)庫(kù)中的isosurface函數(shù)來計(jì)算數(shù)據(jù)集在顯示平面的累計(jì)投影。
(4) 通過調(diào)用MATLAB函數(shù)庫(kù)中的patch函數(shù)對(duì)碎片進(jìn)行重建。
(5) 自定義顯示效果。
通過上述步驟,運(yùn)用MATLAB程序?qū)崿F(xiàn)了電路板導(dǎo)線的三維重建,如圖4所示。實(shí)驗(yàn)結(jié)果表明:該方法對(duì)印刷電路板中的導(dǎo)線能夠?qū)崿F(xiàn)有效的自動(dòng)檢測(cè)。
圖4 三維導(dǎo)線檢測(cè)結(jié)果
本文針對(duì)印刷電路板中三維線狀目標(biāo),提出了一種基于電路板分層圖像的導(dǎo)線自動(dòng)檢測(cè)方法。首先通過分析圖像中連通區(qū)域的面積對(duì)導(dǎo)線目標(biāo)區(qū)域進(jìn)行粗略定位和提取,然后通過形態(tài)學(xué)細(xì)化對(duì)導(dǎo)線單像素骨架進(jìn)行了提取后分析導(dǎo)線的端點(diǎn)和拐點(diǎn)完成單層圖像的導(dǎo)線提取,最后采用序列圖像完成PCB板中導(dǎo)線的三維體繪制。實(shí)驗(yàn)結(jié)果表明:本文提出的錐束CT電路板序列分層圖像的導(dǎo)線三維自動(dòng)檢測(cè)方法,檢測(cè)效果較好,效率較高,能夠滿足實(shí)際工程中的應(yīng)用要求。
參考文獻(xiàn):
[1]Mar N S S,Yarlagadda P K D V,Fookes C.Design and development of automatic visual inspection system for PCB manufacturing[J].Robotics and Computer-Integrated Manufacturing,2011,27(5):949-962.
[2]Hairulliza M J,Kumaran K,Noraidah S.Visualising automatic product inspection of PCB units[C]//2009 International Conference on Electrical Engineering and Informatics.Selangor,Malaysia:[s.n.],2009:204-207.
[3]Roh Y J,Park W S,Cho H.Correcting image distortion in the X-ray digital tomosynthesis system for PCB solder joint inspection[J].Image & Vision Computing,2003,21(3):1063-1075.
[4]Wang Yu,Wang Mingquan,Zhang Zhijie.Microfocus x-ray printed circuit board inspection system[J].Optik,2014,125 :4929-4931.
[5]Liu T.Cone-beam CT reconstruction for planar object[J].Ndt & E International,2012,45(1):9-15.
[6]Mukhopadhyay P,Chaudhuri B B.A survey of Hough transform[J].Pattern Recognition,2015,48(3):993-1010.
[7]Fu Yili,Han Xianwei,Wang Shuguo.A fast connected components labeling algorithm for binary images[J].Journal of Harbin Institute of Technology(English edition),2012,19(3):81-87.
[8]王英惠,吳維勇,趙汝嘉.平面輪廓的分段與識(shí)別技術(shù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2002,14(12):1142-1145.
[9]曾箏,董芳華,陳曉,等.利用MATLAB實(shí)現(xiàn)CT斷層圖像的三維重建[J].CT理論與應(yīng)用研究,2004,13(2):24-29.