畢逸飛,姜歌東,梅雪松,黃旺旺,王高才
(西安交通大學機械工程學院,710049,西安)
隨著信息化時代的到來,芯片制造對于國家發展有著重要意義。芯片制造過程包括設計、制造、封裝和測試四個階段。其中,芯片封裝是整個制造過程中極為關鍵的一環,封裝質量直接決定了芯片的最終質量和使用壽命[1]。引線鍵合是封裝過程中的主要鍵合方式,其原理為:使用熱、壓力和超聲波能量將鍵合引線與金屬焊盤緊密焊合,實現芯片間、芯片與封裝體間的信號傳輸。立針作為引線鍵合的關鍵工具,其作用是通過對穿過立針微孔的引線實施加壓等方式將芯片電極和基板電極鍵合,而微孔位置和孔徑大小超差會導致引線損傷甚至斷線[2]。制造立針時,通常需要在面積小于100 μm×100 μm的平面上加工直徑為50 μm的微孔,加工精度要求在5 μm以內。因此,對立針打孔位置進行精確定位是保證微孔精度的關鍵。
通過視覺對工件定位并識別[3-5]近幾年逐漸成為工業生產制造中的重要環節。李德龍等提出了一種發光二極管(LED)芯片形狀匹配算法[6],采用基于形狀模板匹配算法進行工件定位,并基于最大類間方差法(OTSU)二值化算法提出了一種減少搜索面積以加快匹配速度的方法。該方法具有定位精度高、對噪聲不敏感等優點,但是當模板圖像與目標形狀不完全一致時,匹配成功率下降,且匹配精度下降。近些年來,機器學習方法常被用于目標識別定位[7-8]。Wang等提出了一種多目標工件檢測定位方法,首先對工件和背景進行分割,然后提出了加速魯棒特征(SURF)和視覺詞袋模型結合支持向量機的方法對工件進行識別從而定位工件[9]。這種方法雖然識別效果好,但是高度依賴于分割精度,導致工件與背景的邊界不顯著時效果較差。目前另一種主流方法是基于邊緣檢測[10]進行定位。呂紅陽等人提出了一種改進Canny算法通過邊緣細分提取亞像素級邊緣輪廓并擬合邊緣輪廓從而精確定位工件的方法[11]。但是該方法需要首先定位到工件的局部位置,所以不適用于目標與背景分離難度大的情況。
為了提高立針微平面的定位精度、速度及魯棒性,本文提出了一種基于模板匹配進行粗定位、基于邊緣檢測進行精定位的兩步定位方法,并給出了相應的優化方法,最后通過實驗驗證了本文方法的有效性及精確性。
本文提出的立針微孔視覺定位算法流程如圖1所示。在基于形狀的模板匹配和支持向量機的立針微平面粗定位中,采用立針微平面邊緣掩膜建立模板,應用加速策略實現位微平面匹配,基于支持向量機防止誤匹配;在基于邊緣檢測的微孔精定位中,采用具有角度約束的邊緣檢測方法獲取立針微平面輪廓邊緣,使用亞像素邊緣提取方法定位,最后通過擬合輪廓亞像素邊緣確定微孔位置。
在粗定位階段,首先使用一種基于形狀的模板匹配算法,通過多種策略對匹配過程進行加速,并通過支持向量機分類器防止誤匹配。
1.1.1 基于形狀的模板匹配算法
(1)帶掩膜的模板建立方法。在原始圖像中截取模板圖像,然后利用Canny邊緣檢測算法獲得模板圖像的邊緣位置,人工對直線邊緣所在部分進行直線選取;在距離直線δ附近建立掩膜。在掩膜內的邊緣點集記為q={q1,…,qn},其中n為掩膜內邊緣點總數,并計算每個邊緣點X、Y方向的梯度分量TGxi、TGyi,以及梯度幅值TMi。
(2)相似度評估方法。基于形狀的模板匹配算法[12]計算模板圖像與目標圖像中邊緣位置的梯度相似度,其中相似度評價指標S的定義為
(1)
式中:n為模板圖像掩膜位置邊緣點數量;(u,v)是模板圖像中心位置坐標;(Xi,Yi)是模板圖像第i個邊緣點坐標,SGx(u+Xi,v+Yi)、SGy(u+Xi,v+Yi)、SM(u+Xi,v+Yi)分別是目標圖像中坐標為(u+Xi,v+Yi)的點對應的X方向梯度、Y方向梯度以及梯度幅值。
當S>Smin時,則認為在目標圖像中定位到了目標,其中Smin為相似度閾值。
1.1.2 加速策略 重點提出了一種結合形態學濾波的直方圖凹度分析法分離目標圖像前景及背景的方法,并結合提前終止策略、圖像金字塔的方法加速匹配過程。
(1)提前終止策略。使用提前終止策略[13]加速匹配過程。用Sj表示模板匹配過程中模板圖像與目標圖像前j個邊緣點梯度方向的相似度,通過公式(2)計算Sj
(2)
若Sj (2)圖像金字塔。基于圖像金字塔理論,使用下述搜索方法。 步驟1:在金字塔的最頂層進行全局模板匹配,并結合提前終止策略計算每個位置的相似度S,得到可能的中心點位置(x,y)和偏離角度θ; 步驟2:在下一層圖像,計算以(2x,2y)為中心點的3×3鄰域內,角度為(θ-iθstep,θ+iθstep)范圍內模板匹配的相似度S,得到新的(x,y)和θ,其中θstep為模板匹配時模板圖像的旋轉步長,這里θstep=1°; 步驟3:當前圖像是金字塔最底層時輸出位置(x,y)和角度θ,否則執行步驟2。 (3)結合形態學濾波和直方圖凹度分析的二值化方法減少搜索面積。在圖像金字塔分層搜索策略中,需要在金字塔最頂層圖像中全局搜索種子點。為了減少搜索區域,需要一種去除背景的方法,由于基于直方圖凹度分析的二值化方法[14]在圖像對比度較低時效果較好,所以本文通過該方法進行二值化。但是二值化帶來的孔洞會導致檢測出現遺漏的現象,本文通過開運算和閉運算,在去除孔洞的同時不增加冗余區域。本文將結合形態學濾波和直方圖凹度分析的二值化方法用于研究對象,具體步驟如下。 步驟1:計算圖像的灰度直方圖h(i)。 步驟2:搜索直方圖起點[istart,h(istart)]和終點[iend,h(iend)],通過公式(3)計算其斜率s(i) (3) 步驟3:尋找斜率的最大值對應的閾值ipeak為灰度直方圖的一個凸點,如果ipeak 步驟6:在分割閾值二值化圖像后,通過形態學濾波[15]中開運算去除分離背景后的白色孤立區域,再通過閉運算來去除黑色孔洞。 1.1.3 基于支持向量機分類器的防止誤匹配方法 考慮到目標對象具有特征簡單以及形狀存在微小變形的特點,且前文描述的匹配算法存在誤匹配的問題,為了防止誤匹配,使用了一種基于支持向量機分類器的防止誤匹配方法。 (1)方向梯度直方圖(HoG)特征提取。HoG特征提取[16]用于目標檢測存在的主要問題是其不具有方向不變性。而本文特征提取是在基于形狀的模板匹配結果的基礎上進行,通過匹配角度將搜索到的圖像區域旋轉,使其與模板圖像一致,根據這一特點本文選擇了HoG特征。 本文HoG特征提取步驟如下。 步驟1:將匹配到的局部區域按所測得角度進行旋轉,使得其與模板圖像角度一致,并裁剪圖像,使其尺度一致。 步驟2:將圖像長寬縮小到原來的1/2后,將圖像灰度值歸一化至0~1,由公式(5)(6)得到梯度幅值M和方向θ (4) 式中:I(x,y)為圖像灰度值。 (5) (6) 步驟3:將整個窗口劃分成互不重疊的8×8大小的細胞單元,將梯度方向[0,π]均勻分為9個區間,并根據梯度幅值增加對應區間值,獲得梯度方向直方圖。 步驟4:將2×2個細胞單元合并為一個塊,將塊內細胞單元特征串聯合并。 步驟5:串聯合并整幅圖像所有塊特征。 (2)支持向量機(SVM)分類器。在得到HoG特征參數后,需要通過分類器以達到去除誤匹配結果的目的。由于SVM分類器[17]處理小樣本數據集及二分類問題適用性好,因此本文選用SVM分類器。分類超平面由wT+b=0確定,并通過式(7)對樣本分類。 f(x)=sgn(wTx+b) (7) 式中:x是輸入樣本;w是權重向量;b是偏移量。最優分類準則應滿足式(8)并使γ=2/‖w‖最大化。 (8) 式中:yi為樣本i的類別。 為了將提取的HoG特征進行正確分類,本文通過高斯核函數進行非線性映射。 結合粗定位結果,在掩膜區域使用具有角度約束的定位輪廓邊緣檢測算法,通過二次函數擬合獲取邊緣梯度極大值的方法獲取亞像素邊緣位置,最后通過最小二乘法擬合立針微平面輪廓直線,從而確定打孔位置。 1.2.1 具有角度約束的定位輪廓邊緣檢測 結合粗定位結果,在目標圖像的掩膜區域通過Canny邊緣檢測算法[18]定位立針微平面的輪廓邊緣。為了去除噪聲邊緣,本文結合模板匹配結果提出了一種具有角度約束的Canny邊緣檢測,具體為在Canny邊緣檢測算法后,根據獲得的邊緣位置,以及圖像灰度梯度方向信息,增加下述步驟。 步驟1:設置角度偏差高閾值為AH,低閾值為AL。 步驟2:計算粗定位后檢測到的直線掩膜對應法線方向為θT,并在對應直線掩膜內計算邊緣點(xi,yi)的灰度梯度方向θi。 步驟3:當abs(θT-θi)>AH時,認為該點是偽邊緣點;當abs(θT-θi) 步驟4:保存強邊緣點和弱邊緣點,去除偽邊緣點。 1.2.2 亞像素邊緣定位 通過上述邊緣檢測算法獲取整像素的輪廓邊緣位置后,為了進一步提高邊緣定位精度,需進行邊緣的亞像素定位[19]。通過二次曲線擬合的方法[20]獲得亞像素邊緣,將邊緣點及相鄰兩點的梯度極大值所在位置作為亞像素邊緣位置,具體步驟如下。 一維光強分布公式為 g(x)=Ax2+Bx+C (9) 式中:A、B、C為光強系數。 基于方孔采樣定理,通過式(10)獲得每個像素的灰度值f(n) (10) 求導計算得 (11) 拋物線頂點位置為x=-B/2A,即梯度極大值所在位置,公式為 (12) 圖2 亞像素邊緣定位方法Fig.2 Method of Subpixel edge positioning 如圖2所示,將插值方向分為0°、45°、90°、135°四個方向,若邊緣點的灰度梯度方向處于兩條虛線范圍,則其插值方向為對應的實線。圖中紅色表示某個邊緣點的梯度方向,其對應的插值方向為135°,其對應的亞像素位置 (13) 式中:f′(,)為f′()的二維形式,對應關系見圖2。 1.2.3 擬合輪廓定位微孔位置 在定位3條輪廓邊緣的亞像素位置后,需要通過直線檢測算法[21]獲取直線方程。本文利用最小二乘法分別在3個掩膜內擬合直線輪廓邊緣,設擬合直線方程為y=f(x)=a+bx,n為邊緣點數量,a和b通過式(14)計算 (14) 式中:xi、yi分別為第i個邊緣點的坐標。 獲取打孔點位置具體步驟如下。 步驟1:通過上述最小二乘法擬合直線,獲取直線方程。 步驟2:計算邊緣點到直線的距離及標準差σ,剔除距離超過3σ的邊緣點。 步驟3:若3σ小于給定的閾值,則重新擬合直線,獲取直線方程;若3σ大于給定的閾值,則轉到步驟1。 步驟4:通過直線位置確定立針微平面的位置,并根據孔在微平面上的理論位置確定打孔坐標。 為了準確并快速定位立針微平面位置,設計了由圖3所示的實驗設備構成的實驗系統,主要包括CCD相機、鏡頭、顯微鏡頭、光路、光源、立針、夾具、運動平臺等部分。其中CCD相機分辨率為1 200×1 600,顯微鏡頭放大倍數為10。實驗采集到的立針微平面圖像如圖4所示。 圖3 實驗設備Fig.3 Experimental equipments 圖4 微平面采集圖像Fig.4 A micro-plane image 2.2.1 帶掩膜的模板建立 建立模板時,首先在其中一幅立針微平面圖像中截取如圖5a所示的模板圖像;邊緣檢測后獲得邊緣如圖5b所示,包括3條直線邊緣和1條由于遮擋產生的不規則邊緣。該不規則邊緣對于立針平面定位無參考價值。對這3條直線邊緣進行人工直線選取,直線位置如圖5c所示,掩膜位置如圖5d所示。 2.2.2 結合形態學濾波和直方圖凹度分析的二值化算法效果 通過本文使用的去除背景方法處理如圖6a所示的金字塔頂層圖像,結果如圖6c所示;而文獻[6]中使用的OSTU二值化結合開運算的處理效果如圖6b,本文方法計算得到的二值化閾值更為準確,背景分離效果更好。通過圖7可以看出,本文方法獲得的目標區域的像素點數遠小于OSTU結合開運算的點數,表明本文方法獲取了更好的分割效果。 2.2.3 粗定位結果 為了驗證本文粗定位算法的可靠性,在采集不同光照、不同位置以及不同立針的 (a)模板圖像 (b)圖像邊緣 (c)直線位置 (d)掩膜位置 (a)圖像金字塔最頂層圖像 (b)OSTU二值化+開運算分離背景 (c)本文方法分離背景圖6 背景分離結果Fig.6 The result of background separation 圖7 2種算法像素點數對比圖Fig.7 A comparison of pixels number by two algorithms 152張微平面圖像后,使用本文方向梯度直方圖特征提取的步驟1,總共獲取510個樣本,每個樣本尺度為80×176,其中正確匹配樣本為152個,錯誤匹配樣本為358個。為了驗證本方法在小樣本數據集上的效果,使用本文提出的結合分類器的模板匹配算法,選取5組訓練集,每組正負樣本各20張,5組訓練集訓練出的結果的平均值為最終的分類準確率。當高斯核半徑為0.015,懲罰因子為5時,分類準確率達到99.76%。 為了衡量粗定位精度,在152張微平面圖片中選取25張,人工標注出直線輪廓的掩膜區域,與本文SVM結合模板匹配的方法獲取的掩膜區域計算得到平均交并比(IoU)為82.9%,能夠滿足后續精定位計算的需求,而僅使用模板匹配所得平均IoU僅為36.5%,可以看出本文算法的優越性。粗定位精度如圖8所示,結果如圖9所示。 圖8 粗定位精度Fig.8 The accuracy of coarse positioning 圖9 粗定位結果Fig.9 The result of coarse positioning 2.3.1 邊緣檢測效果 在粗定位獲取的掩膜內使用本文所述具有角度約束的定位輪廓邊緣檢測方法,獲得的邊緣如圖10b所示,相比較圖10a所示的Canny邊緣檢測算法,本文方法明顯有更好的去噪能力。 (a)Canny邊緣檢測方法的檢測結果 (b)具有角度約束的定位輪廓邊緣檢測方法的檢測結果圖10 2種邊緣檢測方法的檢測結果對比Fig10 A comparison of detection results by two edge detection methods 圖11 打孔位置精定位結果Fig.11 The result of accurate positioning of hole machining position 2.3.2 精定位結果 圖11顯示了本文方法獲得的3條直線輪廓邊緣以及打孔位置。該立針微平面為等腰梯形,打孔位置位于梯形中心線且距離上底41 μm處。實驗中標定的像素當量為0.932 μm/像素,可確定在圖像中打孔位置距離上底43.99像素。 通過量尺在圖像中確定立針定位所用直線邊位置后,根據直線位置關系計算微孔加工位置。在粗定位完成后,分別通過本文所提邊緣檢測精定位方法,以及Canny邊緣檢測方法所計算的微孔加工位置與人為測量計算確定的理論加工位置進行對比,從而計算算法的定位誤差。 考慮到實際視覺檢測中的主要問題為立針位置以及姿態難以確定,光照不確定,部分情況下存在少量噪聲,本文通過將4根立針以不同姿態放置在不同位置,并改變光照條件,同時加入高斯噪聲,最終選取50張圖像進行實驗。本文方法定位誤差如圖12所示,其中最大誤差2.20 μm,平均誤差1.11 μm,標準差0.53 μm;而Canny邊緣檢測定位誤差如圖13所示,其中最大誤差5.99 μm,平均誤差1.71 μm,標準差1.30 μm。 圖12 本文邊緣檢測方法精定位誤差Fig.12 Accurate positioning error of the proposed edge detection method 圖13 Canny邊緣檢測定位誤差Fig13 The positioning error of Canny edge detection method 通過對比兩種方法最終的結果,發現本文精定位算法相比較Canny邊緣檢測方法的定位精度更高,且在不同光照、不同位置、不同姿態以及噪聲環境下都能穩定運行,算法魯棒性好。如圖14所示,本文視覺定位算法平均總耗時僅為328 ms,滿足算法的快速性。 圖14 本文算法總耗時Fig.14 The total time consumed by the proposed algorithm (1)針對立針微孔加工位置定位問題,本文研究了基于形狀的模板匹配與SVM分類器相結合的方法進行粗定位、基于邊緣檢測進行精定位的兩步定位方法,通過實驗驗證了不同立針在不同位置、不同姿態、不同光照條件以及噪聲環境下定位的結果,證明了本文方法的精確性、魯棒性以及快速性。 (2)本文提出基于形狀的模板匹配和支持向量機相結合的粗定位方法,通過提取目標HoG特征,能夠通過少量樣本訓練得到高準確率。本文算法有效解決了目標結構簡單、尺寸存在偏差時傳統模板匹配方法的誤匹配問題。 (3)在精定位階段,本文提出一種具有角度約束的定位輪廓邊緣檢測方法,此方法通過結合粗定位獲得的信息,有效去除了Canny邊緣檢測中的噪聲邊緣,提高了定位的準確性及穩定性。 (4)本文將模板匹配以及邊緣檢測的優勢進行了結合,相較單一方法而言應用范圍更廣,對于任意尺度不變或微變目標的視覺定位有著指導意義。

1.2 基于邊緣檢測的立針微孔精定位



2 實驗與結果分析
2.1 實驗平臺


2.2 粗定位實驗










2.3 精定位實驗






3 結 論