摘要:印制電路板(PCB線路板)又稱印刷電路板,是為電子元器件提供電氣連接的重要器件,其主要以版圖設(shè)計為主。電路板的使用提高了各種電子器件生產(chǎn)線上的效率,極大程度地減少了布線與裝配中可能出現(xiàn)的差錯。文章探討了如何利用基于圖像處理技術(shù)的自動光學(xué)檢測技術(shù)對PCB板進行檢測。
關(guān)鍵詞:印制電路板;圖像處理;機器視覺;PCB裸板;自動光學(xué)檢測;缺陷檢測 文獻標(biāo)識碼:A
中圖分類號:TP391 文章編號:1009-2374(2016)09-0010-05 DOI:10.13535/j.cnki.11-4406/n.2016.09.005
我國是全球第一大PCB生產(chǎn)基地,作為電子產(chǎn)品承載體的電路板,其集成度和產(chǎn)量不斷在提高。為了保證電子產(chǎn)品的性能,電路板缺陷檢測技術(shù)已經(jīng)成為電子行業(yè)中非常關(guān)鍵的技術(shù)。建立在圖像處理算法基礎(chǔ)上的機器視覺檢測技術(shù)與傳統(tǒng)的人工檢測技術(shù)相比,提高了缺陷檢測的效率和準(zhǔn)確度。因此,設(shè)計一種高效精準(zhǔn)的機器視覺檢測電路板缺陷的系統(tǒng),具有非常重要的現(xiàn)實意義。評估印刷電路板質(zhì)量的一個重要因素就是表觀檢測,PCB的表觀質(zhì)量對產(chǎn)品性能及成品使用安全有著極大的重要性。而伴隨著近年來在工業(yè)生產(chǎn)領(lǐng)域崛起的計算機視覺,當(dāng)前表觀缺陷檢測和分類識別的研究方向已經(jīng)轉(zhuǎn)向了利用計算機視覺技術(shù)來實現(xiàn)。計算機圖像處理識別技術(shù)這種基于計算機視覺的檢測技術(shù)成功取代了傳統(tǒng)的PCB缺陷檢測方法,在自動光學(xué)檢測系統(tǒng)眾多應(yīng)用中占據(jù)了相對重要的地位,一躍成為PCB生產(chǎn)業(yè)表觀缺陷的主要檢測方法。
圖1 系統(tǒng)框圖
因此本文通過設(shè)計AOI自動光學(xué)檢測系統(tǒng),搭建較為簡單的PCB缺陷自動檢測系統(tǒng)的實驗平臺,對PCB中四類較為關(guān)鍵、常見的缺陷進行檢測、分析、識別、判定,為研究推廣PCB缺陷自動檢測系統(tǒng)開拓應(yīng)用前景,如能實現(xiàn)工業(yè)上的產(chǎn)業(yè)化檢測,將有高額的經(jīng)濟收益。本文側(cè)重對PCB中的四類較為關(guān)鍵、常見的缺陷進行檢測、分析、識別、判定,并且僅搭建了較為簡單的PCB缺陷自動檢測系統(tǒng)的實驗平臺,即通過復(fù)雜算法對采集到的圖像進行處理、配準(zhǔn)、對比,從而得出PCB缺陷類型及對其進行標(biāo)識。如圖1所示。
1 硬件設(shè)計方案
PCB缺陷檢測的總體系統(tǒng)設(shè)計方案主要是基于自動光學(xué)檢測技術(shù)來搭建PCB缺陷檢測系統(tǒng),硬件設(shè)計是使用CNC-T程控光源高精度影像測試系統(tǒng)操作臺,對待測電路板進行圖像采集,再通過VS2010軟件所編寫程序處理,得出待測電路板的缺陷種類。整個系統(tǒng)主要分為運動控制、光源、圖像采集、圖像處理四個模塊,分模塊簡要闡述了實驗過程、所需設(shè)備以及軟件算法,搭建了一個相對完整的系統(tǒng)工作平臺。
圖2 CNC-T程控光源影像操作臺
該設(shè)備具有測量元素種類齊全、手動測量、自動對焦等多種功能,使用該設(shè)備采集圖像進行二維檢測,測量軟體為YR-CNC,將圖像儲存至電腦后便由VS軟件進行圖像處理。實驗組成如圖3所示:
圖3 實驗系統(tǒng)框圖
1.1 運動控制模塊
本系統(tǒng)運動流程為:被檢測的PCB在檢測臺上,通過步進電機XY軸運動到攝像機拍攝區(qū)域,CCD攝像機固定在工作臺上方(Z軸),通過Z軸的運動實現(xiàn)聚焦。如圖4所示:
圖4 平臺運動示意圖
設(shè)備工作臺臺面尺寸為746mm×506mm,承載玻璃面尺寸為452mm×354mm,有效測量行程為400×300×200。本裝置既可通過軟件驅(qū)動自動采集圖像,也可以通過手動控制,移動并聚焦采集待測PCB的圖像。
1.2 光源模塊
輔助光照——采用的是正向和背向光源這兩種輔助光照。其中正光源和攝像頭同側(cè),均位于Z軸上,正光源主要用于檢測待測物體的表面特征。背光源位于檢測臺面下方,與正光源處于同軸反向關(guān)系,背光源能突出待測物體的輪廓特征,常用于檢測物體輪廓尺寸。
圖像采集:分別利用正光源突出PCB表面如走線、過孔和焊盤等主要特征,而下光源主要使PCB的輪廓尺寸和過孔產(chǎn)生強烈的輪廓對比。
光源:使用的是高度集中照明光源中心的LDR系列,由于該光源的傘狀結(jié)構(gòu)緊密排列著LED且采用了CCS獨創(chuàng)的柔性板,使之成為LED照明系統(tǒng)的標(biāo)準(zhǔn)模式。照明系統(tǒng)如圖5所示:
圖5 照明系統(tǒng)
1.3 圖像采集模塊
圖像采集模塊是由圖像采集卡、相機和鏡頭組成的,該模塊是圖像配準(zhǔn)階段的硬件基礎(chǔ)。計算機采集圖像的媒介就是相機,而相機按照不同原理又分為多種,常見的有CCD(Charge Coupled Device)和CMOS(Complementary Metal Oxide Semiconductor)兩類。本系統(tǒng)采用的是CCD 1/2英寸43萬像素彩色攝像頭和高清晰度0.7~4.5X變焦倍率鏡頭,顯示分辨率為0.001mm。
1.4 圖像處理模塊
通常獲得的圖像將受到工業(yè)現(xiàn)場環(huán)境、光照等條件的干擾,計算機所獲得的圖像質(zhì)量多數(shù)參差不齊,圖像的清晰度不一致,大大增加了PCB缺陷檢測的難度,所以在利用復(fù)雜算法檢測、識別PCB缺陷前要先對圖像進行預(yù)處理。
本圖像處理模塊主要通過VS軟件在OpenCV計算機視覺庫的基礎(chǔ)上,通過一系列算法對圖像進行處理對比。
2 系統(tǒng)軟件設(shè)計
2.1 OpenCV
OpenCV(Open Source Computer Vision Library)是一個跨平臺的可以運行在Linux、Windows和Mac OS操作系統(tǒng)上的基于(開源)發(fā)行的計算機視覺庫。它重量輕而高效,開放了多種接口如MATLAB、Ruby和Python等,并且在計算機視覺和圖像處理中大多數(shù)通用的算法都是被允許的。OpenCV可用于開發(fā)實時圖像處理、計算機視覺和模式識別方案,它提供了多種函數(shù),實現(xiàn)了大量的計算機視覺算法,算法涵蓋了從最基礎(chǔ)的濾波至以高級的物體檢測。OpenCV實際上是一堆C和C++語言源代碼文件,許多常見的計算機視覺算法由這些源代碼文件實現(xiàn)。如C接口函數(shù)cvCanny()實現(xiàn)Canny邊緣檢測算法。它可直接加入到我們自己的軟件項目編程中,而無需去編寫自己的Canny算子代碼,就是沒有必要重復(fù)“造輪子”。
根據(jù)OpenCV中源代碼文件巨多的特點,以算法的功能為基準(zhǔn),將這些源文件分到多個模塊中,如core、imgproc、highgui等。將每個模塊中的源文件編譯成一個庫文件(如opencv_core.lib、opencv_imgproc.lib、opencv_highgui.lib等),用戶在使用時,僅需在自己的項目中添加要用的庫文件,與自己的源文件一起連接成可執(zhí)行程序即可。
OpenCV計算機視覺庫的出現(xiàn),是為了使人們利用方便快捷的計算機視覺框架,在計算機視覺領(lǐng)域可以更加輕松地設(shè)計出更為復(fù)雜的應(yīng)用程序。OpenCV涵蓋了多種計算機視覺應(yīng)用區(qū)域,如用戶界面、信息安全、醫(yī)學(xué)影像學(xué)、工廠產(chǎn)品檢驗、立體視覺、機器人和攝像機標(biāo)定等,約有500多個函數(shù)。因為計算機視覺與機器學(xué)習(xí)是相輔相成的,所以O(shè)penCV也開放了MLL(Machine Learning Library)機器學(xué)習(xí)庫。MLL除了在視覺任務(wù)相關(guān)中使用,也可以很容易地應(yīng)用到其他機器學(xué)習(xí)中。
2.2 Microsoft Visual Studio2010
Visual Studio是微軟公司推出的開發(fā)環(huán)境,是同行業(yè)中目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境。Visual Studio 2010發(fā)布于2010年4月12日,其集成開發(fā)環(huán)境(IDE)已被重新設(shè)計和組織,變得更簡單了。
Visual Studio 2010同時帶來了NET Framework 4.0、Microsoft Visual Studio 2010 CTP(Community Technology Preview——CTP),并且支持開發(fā)面向Windows 7的應(yīng)用程序。除了Microsoft SQL Server外,它還支持IBM DB2和Oracle數(shù)據(jù)庫。目前有專業(yè)版、高級版、旗艦版、學(xué)習(xí)版和測試版五個版本。Visual Studio的用處十分廣泛,不僅可被用來基于Windows平臺創(chuàng)建Windows應(yīng)用程序和Web應(yīng)用程序,還可被用來創(chuàng)建智能設(shè)備、Office插件和Web服務(wù)等應(yīng)用程序。微軟的Visual Studio 2010將成為一個版本的經(jīng)典,這是相當(dāng)于6.0版本。該版本可以自定義開始頁,新功能還包括:(1)C# 4.0中的動態(tài)類型和動態(tài)編程;(2)多顯示器支持;(3)使用Visual Studio 2010的特性支持TDD;(4)支持Office;(5)Quick Search特性;(6)C++ 0x新特性;(7)IDE增強;(8)使用Visual C++ 2010創(chuàng)建Ribbon界面;(9)新增基于.NET平臺的語言F#。本課題將基于OpenCV計算機視覺庫使用Microsoft Visual Studio2010開發(fā)環(huán)境,通過編輯算法實現(xiàn)PCB缺陷檢測。
3 圖像預(yù)處理
要使用計算機對圖像進行處理,所得到的連續(xù)圖像就必須被轉(zhuǎn)換為離散的數(shù)據(jù)集,這是因為計算機只能處理離散度數(shù)據(jù),這一過程我們稱之為圖像采集。圖像采集由圖像采集系統(tǒng)實現(xiàn),如圖6所示。圖像采集系統(tǒng)的三個主要模塊是成像系統(tǒng)、采樣系統(tǒng)和量化器。
圖6
將整理出的字符圖像交予識別模塊來識別,被稱為圖像的預(yù)處理。PCB的圖像預(yù)處理包括灰度化、增強、濾波、二值化、配準(zhǔn)等,處理后的PCB輸出的圖像質(zhì)量將得到改善,在很大程度上使得該圖像特征更直觀,方便計算機分析和處理。PCB的圖像預(yù)處理為整個PCB缺陷檢測系統(tǒng)的核心部件,很大程度上決定了檢測的準(zhǔn)確性。圖像預(yù)處理流程如圖7所示:
圖7 圖像預(yù)處理流程圖
4 PCB缺陷檢測
本文針對四種常見缺陷:斷路、短路、毛刺(凸起)、缺損(凹陷)進行檢測研究。在這四種缺陷中,最為嚴重的缺陷類型是斷路和短路,它們將會使整塊板子失去本來的功能;而凸起、凹陷也可能影響到PCB在使用過程中的穩(wěn)定性能。如圖8所示為幾種常見的缺陷:
圖8 常見電路板缺陷
4.1 PCB缺陷的檢測方法
常用的PCB缺陷檢測方法有參考法和非參考法兩種。要是從概念理解和電路難易程度看,參考法明顯更加具有概念直觀、電路簡單的優(yōu)勢;要是從檢測所需要的條件來看,非參考法則在不需要待測PCB與標(biāo)準(zhǔn)PCB進行準(zhǔn)確對準(zhǔn)這一點上優(yōu)于參考法。
本課題采用參考法進行PCB缺陷檢測。
使用參考法對PCB缺陷進行檢測的流程為:(1)確定標(biāo)準(zhǔn)的PCB圖像并放入?yún)⒖紟?;?)通過成像設(shè)備采集待測PCB圖像,進行圖像預(yù)處理之后,再二值化PCB待測圖像,并對其進行連通域提取;(3)然后將處理結(jié)果與標(biāo)準(zhǔn)圖像進行對比,利用圖像相減來判斷PCB可能存在的缺陷;(4)進行分類,確定缺陷類型。
4.2 圖像連通域
像素是圖像中最小的單位,每個像素周圍有8個鄰接像素,常見的鄰接關(guān)系有兩種:4鄰接與8鄰接。4鄰接一共4個點,即上下左右。包括對角線位置的點,8鄰接的點一共有8個,如圖9所示:
圖9 領(lǐng)域示圖
如果像素點A與B鄰接,我們稱A與B連通,即有如下的結(jié)論:
如果A與B連通、B與C連通,則A與C連通。在視覺上看來,點與點相互連通,形成一個區(qū)域,而不是連通的點形成不同的區(qū)域。這種相互立體的所有的點,我們稱為連通區(qū)域。連通區(qū)域標(biāo)記常用的方法有Two-Pass(兩遍掃描法)和Seed Filling(種子填充法)兩種方法,本課題主要介紹第二種。
Seed Filling來源于計算機圖形學(xué),通常應(yīng)用在填充圖形上。思路:以一個前景像素當(dāng)作種子,而后在處于同一像素值且位置相鄰的連通區(qū)域,把和種子相鄰的前景像素融合到同一組像素中,結(jié)果將是獲得一個像素集,即連通區(qū)域。接下來介紹使用種子填充法實現(xiàn)的連通區(qū)域分析法:
第一,重復(fù)掃描圖像,當(dāng)?shù)玫疆?dāng)前像素點B(x,y)=1時停止:(1)賦予B(x,y)一個label,并將像素位置作為種子,接著將所有位于該種子周圍的前景像素都壓入棧中;(2)將棧頂像素賦以相同的label值并彈出,接著將全部位于棧頂像素周邊的前景像素都壓入棧中;(3)重復(fù)(2)步驟,直到棧為空。此時,圖像B中的一個像素值被標(biāo)記為label的連通區(qū)域便被找到了。
第二,在掃描結(jié)束前,重復(fù)第一個步驟,由此可以獲得圖像B中所有的連通區(qū)域在掃描結(jié)束后。
掃描所得的連通域如圖10所示:
圖10 圖像連通域提取
4.3 缺陷識別
缺陷識別具體特征如表1所示:
表1 缺陷特征
缺陷種類 二值圖像面積 連通區(qū)域數(shù)
斷路 減少 增加
短路 增加 減少
凸起 增加 不變
凹陷 減少 不變
第一,短路和斷路。在出現(xiàn)短路缺陷時,待測圖像與標(biāo)準(zhǔn)圖像相比,其所包含的連通區(qū)域數(shù)將會減少。同理可得,在出現(xiàn)斷路缺陷時,待測圖像與標(biāo)準(zhǔn)圖像相比,其所包含的連通區(qū)域數(shù)將會增多。因此,斷路和短路缺陷便可利用比較連通區(qū)域數(shù)來判定和識別。
第二,凸起和凹陷。凸起缺陷將導(dǎo)致導(dǎo)線和導(dǎo)線、導(dǎo)線和其他導(dǎo)體間的間隙變小,而凹陷缺陷將導(dǎo)致導(dǎo)線和導(dǎo)線、導(dǎo)線和其他導(dǎo)體間的間隙變大,二者均會導(dǎo)致PCB使用過程中出現(xiàn)不穩(wěn)定狀態(tài)。而觀察可知,這兩種缺陷的連通區(qū)域相同,差別在于各自二值化面積的大小,所以可以通過計算該待測圖像的連通區(qū)域面積來識別凸起、凹陷缺陷。
識別過程:將經(jīng)過圖像預(yù)處理的待測PCB圖像與標(biāo)準(zhǔn)圖像進行對比后,通過算法找出缺陷。比較二者的連通區(qū)域數(shù),若前者大于后者,則標(biāo)定該缺陷點為斷路,反之則為短路;若二者連通區(qū)域數(shù)相同,則比較二值化圖像面積,若前者大于后者,則標(biāo)定該缺陷點為凸起,反之則為凹陷。檢測流程如圖11所示:
圖11 PCB缺陷檢測流程圖
5 系統(tǒng)實驗
本文使用CNC-T程控光源高精度影像測試系統(tǒng)操作臺,結(jié)合VS2010軟件基于OpenCV計算機視覺庫的算法編程來實現(xiàn)PCB的缺陷檢測。整體實驗過程為:手動控制操作臺捕捉、聚焦、采集待測PCB的圖像,采集到的圖像與標(biāo)準(zhǔn)圖像進行對比、識別,得出缺陷種類并顯示結(jié)果。
本課題一共就所研究缺陷類型,做了40組實驗,通過實驗結(jié)果計算正確率。如表2所示:
表2 實驗結(jié)果統(tǒng)計
缺陷類型 實驗次數(shù) 正確率
斷路 10 100%
短路 10 100%
凸起 10 100%
凹陷 10 100%
針對不同電路板圖中出現(xiàn)的同種斷路類型進行檢測,效果如圖12a、圖12b、圖12c所示,可準(zhǔn)確檢測出缺陷存在。
圖12
針對不同電路板圖中出現(xiàn)的同種短路類型進行檢測,效果如圖13a、圖13b、圖13c所示,可準(zhǔn)確檢測出缺陷存在。
圖13
針對不同電路板圖中出現(xiàn)的同種凸起類型進行檢測,效果如圖14a、圖14b、圖14c所示,可準(zhǔn)確檢測出缺陷存在。
圖14
針對不同電路板圖中出現(xiàn)的同種凹陷類型進行檢測,效果如圖15a、圖15b、圖15c所示,可準(zhǔn)確檢測出缺陷存在。
圖15
6 結(jié)語
PCB板面向體積越來越小、密度越來越高的方向發(fā)展。在檢測產(chǎn)品價格方面,國外AOI檢測產(chǎn)品價格普遍偏高,而由于經(jīng)濟原因,在國內(nèi)PCB板生產(chǎn)制造商多數(shù)仍采用人工目測等傳統(tǒng)檢測方法檢測。隨著經(jīng)濟的發(fā)展,數(shù)字圖像處理研究的深入,自動光學(xué)檢測系統(tǒng)也開始頻繁活躍在人們視線中,但在PCB缺陷檢測方面的應(yīng)用卻還有待完善。因此,本論文建立在深入掌握工控系統(tǒng)結(jié)構(gòu)并從PCB板的質(zhì)量標(biāo)準(zhǔn)、圖像特點、缺陷特征及檢測要求的分析基礎(chǔ)上,對以圖像處理為基礎(chǔ)的PCB缺陷檢測技術(shù)進行了深入研究。由于PCB缺陷自動檢測系統(tǒng)的研究涉及多個領(lǐng)域的知識,其研究過程十分耗時、繁瑣,由此,本論文僅僅對PCB缺陷檢測中較為常見的問題進行了較深入研究,并且僅搭建了較為簡單的PCB缺陷自動檢測系統(tǒng)的實驗平臺,對PCB中的四類較為關(guān)鍵、常見的缺陷進行檢測、分析、識別、判定。雖然還未實現(xiàn)真正實現(xiàn)工業(yè)上產(chǎn)業(yè)化檢測,但是在未來幾十年中,研究推廣的PCB缺陷自動檢測系統(tǒng)將有十分良好的應(yīng)用前景,也將有高額的經(jīng)濟收益。
參考文獻
[1] 陳勝勇,劉盛,等.基于OpenCV的計算機視覺技術(shù)實現(xiàn)[M].北京:科學(xué)出版社,2008.
[2] Gary Bradski,Adrian Kaebler,于仕琪,等.學(xué)習(xí)OpenCV[M].北京:清華大學(xué)出版社,2009.
[3] 周長發(fā).精通Visual C++圖像處理編程(第3版)
[M].北京:電子工業(yè)出版社,2006.
[4] 黨振.中國大陸PCB產(chǎn)業(yè)的現(xiàn)狀與未來[J].印制電路信息,2006,32(1).
[5] 胡躍明,譚穎.自動光學(xué)檢測在中國的應(yīng)用現(xiàn)狀和發(fā)展[J].微計算機信息,2006,(4).
[6] 李漢,何星,等.印刷電路板的自動光學(xué)檢測系統(tǒng)
[J].無損檢測,2004,26(6).
[7] 張利,高永英,等.PCB板檢測中的定位研究[J].中國圖像圖形學(xué),1999,4(8).
[8] 姚立新,張武學(xué),等.AOI系統(tǒng)在PCB中的應(yīng)用[J].電子工業(yè)專用備,2004,(5).
[9] 范小濤,夏雨人.一種基于圖像處理的PCB檢測算法研究[J].計算機工程與應(yīng)用,2004,(13).
[10] 傅莉.印制電路板的發(fā)展及前景[J].電腦與電信,2010,(5).
[11] 張明軒.基于視頻序列的人臉檢測與跟蹤算法研究[D].中北大學(xué),2011.
[12] 張馳.基于機器視覺的智能控制與圖像識別問題研究[D].蘭州理工大學(xué),2009.
[13] 謝飛.基于計算機視覺的自動光學(xué)檢測關(guān)鍵技術(shù)與應(yīng)用研究[D].南京大學(xué),2013.
[14] 張靜.PCB表觀缺陷的自動光學(xué)檢測理論與技術(shù)
[D].電子科技大學(xué),2013.
[15] 俞瑋.AOI技術(shù)在PCB缺陷檢測中的應(yīng)用研究[D].電子科技大學(xué),2007.
[16] 趙兆.Visual C++在數(shù)字圖像處理中的應(yīng)用[J].現(xiàn)代計算機(專業(yè)版),2011,(11).
作者簡介:孟繁麗(1977-),女,吉林白山人,天津職業(yè)技術(shù)師范大學(xué)控制理論與控制工程專業(yè)學(xué)生,高級講師,工程碩士在讀,研究方向:工業(yè)電氣控制技術(shù)。
(責(zé)任編輯:黃銀芳)