一種基于行列直線聚類的多類型bga芯片視覺識別方法
【技術領域】
[0001] 本發(fā)明涉及多類型BGA芯片視覺識別方法,特別涉及一種基于行列直線聚類的多 類型BGA芯片視覺識別方法。
【背景技術】
[0002] BGA(球形陣列)封裝形式的芯片由于集成度高、I/O引線多以及優(yōu)良的電性能正 廣泛的應用于集成電路中。但芯片高密度的I/O焊球引腳對電路板貼裝過程的貼裝工藝提 出了更為嚴格的要求。表面貼裝技術(SMT)是一種高效的全自動化印刷電路板芯片貼裝 技術,貼片機作為該技術中的主要生產設備,基于視覺技術來完成不同芯片的識別、缺陷檢 測、定位、貼裝等過程。其中,芯片識別是貼裝的基礎,貼片機通過對標準BGA樣片進行在線 測量,建立該類型BGA芯片的標準數(shù)據(jù)庫:焊球標準行間距、焊球標準列間距、焊球標準直 徑、焊球分布樣式等,進而為后續(xù)貼裝芯片的缺陷檢測提供標準數(shù)據(jù)參考。但BGA芯片高密 度的I/O焊球引腳數(shù)目以及多樣的焊球排列方式都增加了芯片識別與檢測的困難。
[0003] 常用的BGA芯片根據(jù)焊球排布規(guī)律主要分為規(guī)則和不規(guī)則型,規(guī)則型中任意相鄰 兩行的焊球成整齊的行列排布,而對不規(guī)則型,任意相鄰兩行焊球交錯排列。此外,對于上 述兩種BGA芯片,焊球排布不同位置存在的不同大小的空缺,也會造成BGA芯片種類的多樣 性??傊?,BGA芯片高密度的I/O焊球引腳以及多樣的焊球排列方式都要求識別算法具有 良好的實時性和通用性。
[0004] 現(xiàn)有BGA芯片的識別過程主要包括如下兩種方式:一種是采用人工測量錄入標準 數(shù)據(jù),這種識別方法費時費力,且容易產生主觀偏差和測量錯誤,不易于自動化管理。另一 種是逐步被采用的計算機視覺識別方式,但目前的BGA芯片識別算法主要存在如下不足: 1)算法的應用有較大局限性,現(xiàn)有公布的算法只能識別特定種類或者有限幾種焊球排布的 BGA芯片。2)算法對于焊球排布稀疏的BGA芯片魯棒性較差,或者根本無法識別。3)算法 在進行BGA焊球提取時,常采用圖像二值分割的方式,因此易將背景也分割出來形成噪點, 識別算法會誤判為焊球,最終導致錯誤識別結果。4)某些算法對被識別的BGA芯片的初始 擺放位置要求嚴格,通常都要求芯片水平或者垂直擺放。5)某些算法例如點匹配算法在識 別過程中涉及到大量的遍歷和比較操作,導致算法的時間復雜度高。
【發(fā)明內容】
[0005] 本發(fā)明的目的是為了解決現(xiàn)有BGA芯片識別算法的如下幾方面問題:1)只能識別 特定種類或者有限幾種焊球排布的BGA芯片,對于焊球排布稀疏的BGA芯片魯棒性較差,或 者根本無法識別。2)僅僅采用單閾值二值化圖像來提取焊球,導致欠分割或過分割,造成焊 球參數(shù)測量錯誤或者焊球誤識別。3)算法的時間復雜度高。而提出的一種基于行列直線聚 類的多類型BGA芯片視覺識別方法
[0006] 上述的發(fā)明目的是通過以下技術方案實現(xiàn)的:
[0007] 步驟一、對攝像頭采集到的灰度BGA芯片圖像,即為原始圖像,進行動態(tài)閾值分割 得到二值焊球圖像,并對二值焊球圖像進行形態(tài)學開運算和閉運算處理,處理后的二值焊 球圖像上的每個連通域記為一個二值化BGA焊球,然后對每個二值化BGA焊球進行連通域 標記;
[0008] 步驟二、對步驟一得到的經過連通域標記后的每個二值化BGA焊球在原始圖像上 對應鄰域范圍內進行灰度連通域提取,獲得完整灰度BGA焊球,并建立完整灰度BGA焊球信 息列表;
[0009] 其中,建立完整灰度BGA焊球信息列表內容包括:每個完整灰度BGA焊球所包含的 灰度像素,以及由灰度像素計算得到的每個完整灰度BGA焊球的中心點位置坐標、每個完 整灰度BGA焊球對應的最小外包圓直徑、每個完整灰度BGA焊球的周長和圓度;每個焊球包 含的灰度像素包括像素坐標和灰度值;
[0010] 步驟三、用步驟二得到的完整灰度BGA焊球信息列表,建立一個像素灰度值均為 0且大小與原始圖像相同的背景圖像;并在背景圖像中,將對應原始圖像中每個完整灰度 BGA焊球中心點位置處的灰度值,變?yōu)閷祷疊GA焊球的標識序號,此時的背景圖像即 為BGA焊球標識圖像,BGA焊球標識圖像上的每個非0灰度值的像素稱為一個等效BGA焊 球,所有等效BGA焊球構成的陣列稱為等效BGA陣列;
[0011] 其中,原始圖像中有M*N個完整灰度BGA焊球,對應背景圖像中就有M*N個等效 BGA焊球,等效BGA焊球實質為一個像素,完整灰度BGA焊球與等效BGA焊球一一對應;在 BGA焊球標識圖像中,計算相鄰2個等效BGA焊球的間距Λ γ,將此間距作為等效BGA焊球 間距典型值;
[0012] 步驟四、利用步驟三得到的等效BGA焊球間距典型值Λ γ,在BGA焊球標識圖像 上,對等效BGA陣列進行局部分析,確定等效BGA陣列粗略偏轉角度Λ Θ ;
[0013] 其中,局部分析分為針對規(guī)則型BGA芯片的局部分析和針對不規(guī)則BGA芯片的局 部分析,規(guī)則型BGA芯片為相鄰行BGA焊球成整齊排列的BGA芯片,不規(guī)則BGA芯片為相鄰 行BGA焊球成交錯排列的BGA芯片;
[0014] 步驟五、利用步驟三得到的等效BGA焊球間距典型值Λ γ以及步驟四得到的等效 BGA陣列粗略偏轉角度Λ Θ,在BGA焊球標識圖像上,對行和列的等效BGA焊球進行直線聚 類得到每行等效BGA焊球蔟、每列等效BGA焊球蔟以及邊界等效BGA焊球蔟;
[0015] 步驟六、利用步驟五得到的邊界等效BGA焊球蔟中的每個等效BGA焊球在標識圖 像上的灰度值,在完整灰度BGA焊球信息列表中查找對應的完整灰度BGA焊球中心點位置 坐標,根據(jù)完整灰度BGA焊球中心點位置坐標,進行邊界直線擬合,通過邊界擬合直線求解 原始圖像中BGA芯片的偏轉角度和中心位置;
[0016] 步驟七、利用步驟五識別得到的每行等效BGA焊球蔟和每列等效BGA焊球蔟,以及 步驟二得到的完整灰度BGA焊球信息列表進行每行等效BGA焊球蔟直線擬合和每列等效 BGA焊球蔟直線擬合;將所有相鄰兩行等效BGA焊球蔟的擬合直線間距的平均值作為BGA 芯片焊球標準行間距;將所有相鄰兩列等效BGA焊球蔟擬合直線間距的平均值作為BGA芯 片焊球標準列間距;
[0017] 步驟八、利用步驟七得到的每行等效BGA焊球蔟擬合直線和每列等效BGA焊球蔟 擬合直線,在BGA焊球標識圖像上對等效BGA焊球進行逐行或逐列搜索,進而得到BGA焊球 分布矩陣;根據(jù)逐行或逐列搜索得到的所有等效BGA焊球以及步驟二得到的完整灰度BGA 焊球信息列表求解得到BGA標準焊球直徑尺寸、BGA標準焊球周長尺寸和BGA標準焊球圓 度尺寸。
[0018] 發(fā)明效果
[0019] 本發(fā)明主要針對現(xiàn)有BGA視覺識別算法魯棒性和實時性較差,提出了一種基于行 列直線聚類的多類型BGA芯片視覺識別方法。針對現(xiàn)有BGA視覺識別算法魯棒性差、時間復 雜度較高的不足,本發(fā)明提出了一種基于行列直線聚類的多類型BGA芯片視覺識別方法, 該算法的主要優(yōu)點如下:1)算法在局部分析的基礎上對行列焊球進行直線聚類與識別,這 種方法適用于絕大多數(shù)不同類型的BGA芯片,如圖2(a)和圖2(b)所示芯片。2)該算法識 別過程對BGA芯片擺放姿態(tài)無要求。3)該算法能夠有效排除圖像二值化過程因為過分割 引入的如圖3所示的噪聲點對識別過程的干擾。4)該算法對于焊球排布較為稀疏的BGA 芯片仍然能夠正確識別,圖4給出了一種焊球排布較為稀疏的BGA芯片。5)算法的時間 復雜度低,能夠滿足在線實時識別的要求。實驗結果表明,在C++編譯環(huán)境下,檢測算法在 Intel? Pentium? B960 (主頻:2. 2GHz,雙核)的PC機上運行,對于焊球數(shù)目小于500個的 BGA芯片的識別時間小于200ms ;
【附圖說明】
[0020] 圖1為【具體實施方式】一提出的一種基于行列直線聚類的多類型BGA芯片視覺識別 方法流程圖;
[0021] 圖2(a)為為【具體實施方式】三提出的對BGA焊球中規(guī)則BGA芯片局部分析示例圖;
[0022] 圖2 (b)為【具體實施方式】四提出的對BGA焊球中不規(guī)則BGA芯片進行局部分析示 例圖;
[0023] 圖3為【具體實施方式】五提出的中對行列BGA焊球進行直線聚類的示例圖,其中, 表示第j個等效BGA焊球坐標對應的等效BGA焊球行直線方程的截距,表示第j個 等效BGA焊球坐標對應的等效BGA焊球列直線方程的截距,表示第i個等效BGA焊球 坐標對應的等效BGA焊球行直線方程的截距,表示第i個等效BGA焊球坐標對應的等效 BGA焊球列直線方程的截距,表示第k個等效BGA焊球坐標對應的等效BGA焊球列直線 方程的截距。
[0024] 圖4為【具體實施方式】一提出的一種焊球排布較為稀疏的BGA芯片示例圖。
【具體實施方式】
【具體實施方式】 [0025] 一:本實施方式的一種基于行列直線聚類的多類型BGA芯片視覺識 別方法,具體是按照以下步驟實施的:
[0026] 步驟一、對攝像頭采集到的灰度BGA芯片圖像,即為原始圖像,進行動態(tài)閾值分割 得到二值焊球圖像,并對二值焊球圖像進行形態(tài)學開運算和閉運算處理,處理后的二值焊 球圖像上的每個連通域記為一個二值化BGA焊球,然后對每個二值化BGA焊球進行連通域 標記;
[0027] 步驟二、對步驟一得到的經過連通域標記后的每個二值化BGA焊球在原始圖像上 對應鄰域范圍內進行灰度連通域提取,獲得完整灰度BGA焊球,并建立完整灰度BGA焊球信 息列表;
[0028] 其中,建立完整灰