摘? 要: 在集成電路和PCB的生產過程中,質量控制問題正變得越來越重要。自動視覺檢測系統利用了數字圖像處理技術,是一種高速、準確、無損的方法,目前得到了廣泛的應用。概述了這一領域的研究成果,并根據多層薄膜電路的實際情況,提出了一種參考和非參考比較相結合的故障檢測與分類方法,并以此為基礎構造了一個微機實時檢測系統。
關鍵詞: 薄膜電路? 參考比較? 非參考比較
?
電路制造技術正朝著將更多的集成電路安裝在一塊PCB電路板上的方向發展,從而使PCB的尺寸增大、層數增多;同時,電路板本身也變得越來越小、越來越復雜。由于這些原因,生產及更換它們的成本也越來越高。所以,需要相應的質量控制手段,使每一層上的線路都能夠在上一層鋪設之前被檢查。在這里,自動視覺檢測能夠以相對較小的代價發現許多致命的錯誤,因而發展非常迅速。
1 電路板故障檢測研究的發展狀況
在PCB及其它相近的線路板如薄膜電路的故障檢測方面,人們進行了大量的研究工作,并形成了一些應用系統。它們多是基于圖像處理的自動視覺檢測,其硬件部分包括:機械裝置、照明系統、攝像頭、圖像采集卡、圖像處理器、計算機等;軟件部分:主要是進行控制和圖像的處理。系統工作流程如圖1所示。
?
近年來,出現了很多電路檢測算法,在M.Madhav和F.Ercal發表的綜述[1]中,它們大致可分為3類:參考算法、非參考算法以及混合算法。
參考算法使用待測電路板的全部信息,一般是先將標準圖像(可以是無故障的圖像或是設計時的CAD版圖)與待測圖像進行比較,也稱為逐象素比較。其中最直接的是將兩幅圖像進行XOR運算,這是速度最快的一種方法,并且易于用硬件實現。但是它也有一些缺點,例如對光照和定位的要求比較高、所需的存儲空間較大、難以分類等等。
非參考算法并不需要所謂標準圖像的信息,它是基于一定的設計規則的。例如,可以假設正常的線路都具有規則的幾何形狀,而存在故障則意味著其外形不規則。另外還可以根據線路的特征如最大和最小線寬、最大和最小焊盤半徑來進行判斷。常用的方法是圖像通過編碼來獲得邊緣信息,例如使用鏈碼或游程編碼。對于非參考方法而言,它主要的優點是提高了運算速度,降低了存儲空間;但是,它的缺點也是顯而易見的,即只能檢測那些違反設計規則的故障,并且要求有一個標準的導線類型。對于某些不違反規則的情況,例如和正常線路形狀相似的短路線,可能就無法判斷。非參考方法在檢測全局性的故障方面也存在一些缺欠。而參考方法則容易漏掉一些微小的錯誤。圖2表示了它們和故障尺寸的關系。所謂的混合方法綜合了參考和非參考方法的優點,以求達到更高的檢測率。
?
?
Mandeville[2]提出了一種所謂的通用方法,它的基本思路是通過腐蝕、膨脹、細化等圖像變換手段生成骨架圖像,從中可以方便地檢測出電路特征,從而形成特征表。將標準與待測圖像的特征表進行比較,其中如有沖突的元素,那么就隱含著故障。實際上,在這種方法中需要進行大量的形態學運算,而且,對于每一種故障類型,都定義了自己的一種運算方法,所以計算量很大,難以達到實時要求。另外,還有的方法將整個電路劃分為許多小的子模塊,然后對相應位置的模塊進行匹配,但它們的缺點是對每一種電路版圖都需要進行學習,可移植性不好[3]。
2 針對薄膜電路提出的檢測算法
??? 所謂薄膜集成電路即是采用真空沉積技術,也可輔以其它沉積技術形成膜的集成電路[4]。薄膜電路檢測的方法與一般PCB相似。但是,它也有自己的特點(如圖3)。由于它的尺寸較小,只能通過顯微鏡分區域放大后由攝像頭成像,因此對于檢測區域的精確定位就顯得非常重要。由于電路的電氣特性與尺寸密切參考,所以,線條的尺寸不是固定的。其中較窄一些的稱為金屬化線條,較寬一些的稱為金屬化鍵合區。由于線條尺寸存在多樣性,故而利用簡單的非參考方法,試圖通過對整幅圖像的進行形態學變換來提取特征的非參考方法就很難實現。而且,在檢測后還要求對故障進行分類,因此在這里我們采用了參考比較和非參考比較相結合、以參考比較為主的方法。通過參考比較對故障進行分類和判別,而使用非參考比較在較小的缺口和突起等故障上,作為對前者的補充。
?
首先,對采集的圖像進行預處理,包括消除噪聲,使用逆濾波對亮度不均勻進行處理。這里,逆濾波是通過用曲線對攝像機的傳輸函數進行擬合實現的。對于一個m次多項式:
我們采用二次多項式就可以取得很好的效果。然后去除各種干擾,二值化形成待測圖像I。我們事先已經存儲了標準二值圖像S,它是沒有故障的。設灰度1代表線條區(金屬區),灰度0代表非線條區(基片區),下同。則比較后的圖像為C(i,j)=I(i,j)$S(i,j)
操作符$定義如下:
若I(i,j)=0,S(i,j)=1, 則C(i,j)=1;
若I(i,j)=1,S(i,j)=0, 則C(i,j)=2;
若I(i,j)=S(i,j),???? 則C(i,j)=0。
C(i,j)包含了待測圖像和標準圖像中的所有差別。為了進行下一步的分類和判別,我們對0中的目標進行邊界跟蹤,這里使用的是Freeman的8方向鏈碼,得到對其形狀的鏈碼表示Chain(i).(0≤i≤k,k為缺陷數目)。 對Chain(i)進行分析,則對每一待判缺陷都可以得到一組描述符D(i):
????(up,down,left,right,area,track_border,substrate_border,type)。
????up,down,left,right:缺陷區域的最上,下,左,右點。
??? area:缺陷區域的面積,它可以利用鏈碼數據position[i]來計算:
track_border:缺陷區域邊界與金屬區域相交的線段。
????substrate_border:缺陷區域邊界與基片區域相交的線段數。
????type:缺陷的種類。
對缺陷進行分類的依據就是它們與金屬區和基片區共有的邊界數目。對于短路和斷路,各與金屬區和基片區有兩段相交;對于缺口和突起,則各有一段相交;對于洞孔,它的邊界則全部是金屬區。track_border和substrate_border可以由遍歷缺陷邊界鏈碼得到。
在此基礎上,考慮到模式類別有限且分類器的級數不宜過多,我們依據缺陷的幾何形態,構造了一個分類器。
分類按下述步驟進行:
1:對于線路缺陷內的點,若對應的C(i,j)=1,則劃至缺口類,令type=1;對應的C(i,j)=2,則劃至多余物類,令type=2。
2:若type=1,則轉3;若type=2,則轉4。
3:若track_border=1,substrate_border=1,則type=1
(劃痕),轉5;若track_border=1,substrate_border=0,則type=2(洞孔),轉5。
4:若track_border=2,substrate_border=2,則type=3(斷路);其它情況,type=8,轉5。
5:結束。
參照分類結果,我們對缺陷進行判別,一般認為,如果缺陷在線寬方向的尺寸超過線寬的1/3,則認為其構成了故障。由于電路線條寬度各不相同,因此對于每一個缺陷,都需要根據它們對應位置處的線條寬度作出相應的判斷,如果相對標準圖像有線條錯位的情況,判別的準則與上面是相同的。另外,如果缺陷的面積大于某一閾值,我們也認為發生了故障。在某些情況下,相鄰的缺陷類型單獨不構成故障,但是它們結合在一起,則可能對線路的特性造成比較大的影響,如圖4所示。因此對于各個故障在單獨判別后還需要結合其位置作出相應判別。
?
以上基于參考比較,完成了對故障的分類和判別。但遇到微小的故障,如小的缺口和突起或線條位置有錯開等情況時,用這種方法容易產生遺漏,所以我們使用非參考方法作為參考方法在分類和判別時的補充。它通過對待查電路板的邊界進行跟蹤,使用可變長度的濾波器來檢測邊界上的高頻成分,如圖5所示。A是邊界上兩點間直線距離,而B是兩點間邊界點數。當B>k?觹A時,存在不規則邊界;而A≈B,意味著邊界是近似直線的。West.C等在它們的工作中,采用了固定長度,這樣實際上限制了可被發現的故障尺寸[5],因此這里我們使B為可變長度。開始時,B取值較小,當遇到目標后,將B的值逐點增加,并計算此時的A,直至遇到規則邊界為止,這樣就可以將缺陷范圍都包含在內。為了去除邊界噪聲干擾,需要事先對邊界鏈碼進行平滑。通過實驗,我們取k=1.5,可以檢測出各種尺寸的不規則邊界。對于以上的結果,為了判別它是否構成故障,同樣也需要進行線寬的比較。
?
3 系統實現
利用上述的檢測算法,我們實現了一個基于微機的薄膜電路故障檢測系統。由于薄膜電路是分層的,因此在每一層的生產工序完成之后,都必須對該層進行檢測,然后再生產上一層。電路板的面積很小,因此必須通過顯微鏡成像。為保證一定的分辨率,我們將全電路板分為8×8的區域,用步進電機控制顯微鏡和攝像機的移動,實現精確的定位,并用圖像匹配對定位進行調整,定位誤差可以小到1個象素。攝入的圖像經圖像采集卡數字化后送入計算機。由于顯微鏡的光場亮度不勻,因此首先進行亮度校正,用曲線擬合亮度衰減,生成畸變矩陣進行校正。接著對圖像進行消噪和增強邊緣的處理。由于透光性的原因,下層會對上層構成干擾,所以采用多目標分割方法,依據校正后的直方圖,將當前檢測層提取出來。對于上下層線條交叉處的干擾,則參考下層線路延長線的邊緣特性加以去除。另外,還需從標準圖像中提取出通孔和鍵合區的位置以供判別時參考。最后,將圖像分割的結果與標準圖像進行參考比較和非參考比較,以進行后繼的分類和判別。圖像處理和檢測算法都是通過軟件實現的,通過對算法進行優化,大大提高了運算速度。經過上述處理后,對于一幅512×512×8bit的灰度圖像,可以在1s內完成檢測程序,從而可以滿足檢測中實時要求。
?
參考文獻
1 Madhav.M,Fikret.E. Automatic PCB Inspection Algorithms: a Surve.CVIU,1996,163(2):287~313
2 Mandeville Jon R.Novel method for analysis of printed?circuit images.IBM J.Res Develop,1985,29(1)
3 Madhav M.A Subpattern Level Inspection System for?Printed Circuit Boards.CVIU,1998,170(1):51~62
4 薛增泉.薄膜物理.北京:電子工業出版社,1991:1~18
5 West G.A.A system for the automatic visual inspection of bare-printed circuit boards.IEEE Transactions on Systems,1984,14(5):767~773