四川大學(xué)機械工程學(xué)院 郭戰(zhàn)嶺 徐雷 冉光再 陳建華
為解決PCB缺陷傳統(tǒng)人工檢測方法誤檢率高、效率低等問題,提出一種基于ORB算法和圖像差分的PCB缺陷檢測方法。該方法首先使用ORB算法將待測圖與模板圖進行配準,而后對待測圖進行圖像預(yù)處理以減少噪聲提高圖片質(zhì)量,之后對差分后的圖像進行去噪,形態(tài)學(xué)處理及圖像二值化,最后在待測圖上標記出缺陷的位置并統(tǒng)計缺陷總數(shù)。實驗結(jié)果表明,該方法對本文研究的六種缺陷的平均缺陷檢測準確率達94.6%,每張待測圖平均檢測耗時少于3s。
2020年,我國PCB總產(chǎn)值已達350.5億美元,占全球總產(chǎn)值的53.7%。據(jù)Prismark估計,在未來五年,我國PCB行業(yè)將穩(wěn)定發(fā)展,在全球PCB產(chǎn)業(yè)中占據(jù)核心地位[1]。PCB作為實現(xiàn)電子元器件電氣連接和支撐的重要載體,其質(zhì)量的穩(wěn)定性尤為重要,所以實現(xiàn)PCB的高質(zhì)量檢測是十分必要的[2]。傳統(tǒng)的PCB缺陷檢測方式以人工目檢為主,但人工目檢因人的主觀性強,容易導(dǎo)致漏檢、誤檢,且存在檢測效率低、數(shù)據(jù)收集困難、自動化程度低等缺點[3]。近幾年來發(fā)展迅速,已成為印制電路板缺陷檢測的重要研究方向[4-6]。利用機器視覺技術(shù)進行的PCB缺陷檢測可極大提高缺陷檢測的準確率和效率。近年來,已有不少研究人員利用機器視覺技術(shù)進行PCB缺陷檢測方面的研究,并取得了許多的成果。文獻[7]提出了一種基于隨機霍夫變換和坐標變換相結(jié)合的配準方法,提高了圖像配準的效率和精度;文獻[8]采用非參考法實現(xiàn)了電路板的缺陷檢測;文獻[9]提出采用參考法思想對PCB板上的焊接缺陷進行檢測,而后通過分析各類焊接缺陷的特點,實現(xiàn)對缺陷的識別;文獻[10]利用鄰域梯度方向信息熵及邊緣像素在局部區(qū)域的分布特性構(gòu)建了用于訓(xùn)練SVM分類器的特征向量,實現(xiàn)了PCB缺陷的識別與定位;文獻[11]采用仿射變換配準和差影計算,實現(xiàn)了PCB缺陷區(qū)域的獲??;文獻[12]通過求連通區(qū)域數(shù),計算歐拉數(shù),求缺陷區(qū)域面積等方法,準確的檢測出待測PCB板的缺陷。文獻[13]運用圖像增強及圖像配準技術(shù)實現(xiàn)了PCB板的常規(guī)缺陷檢測,基本達到了中小企業(yè)的檢測要求。
為解決PCB缺陷傳統(tǒng)人工檢測方法誤檢率高、效率低等問題,本文提出一種基于ORB算法和圖像差分的PCB裸板缺陷檢測方法。
本文實驗部分采用的開源數(shù)據(jù)集,包含六種PCB缺陷,待檢測缺陷種類為:漏孔,鼠咬,開路,短路,毛刺,偽銅。缺陷示例如圖1所示。
圖1 六種PCB缺陷示例Fig.1 Examples of six PCB defects
在實際工業(yè)生產(chǎn)中,受待測PCB位置誤差、相機拍攝角度等不確定因素影響,實際采集到的PCB待測圖與模板圖在空間上不完全對齊,所以在進行缺陷檢測前須將待測圖和模板圖進行配準,而后才可進行差分運算和缺陷檢測。
現(xiàn)階段,圖像配準算法主要分為三大類:第一類是通過獲得圖像的灰度狀況,得到圖像的灰度特征,將其量化之后以此為依據(jù)來進行配準。基于灰度的配準方法僅需依據(jù)圖像的灰度信息來進行圖像的匹配,實現(xiàn)起來十分簡單,但計算量大,配準精度受光照強度影響較大,使用范圍不廣泛。第二類是通過獲取圖像的局部像素變化,得到并記錄圖像的特征角點,進而以特征角點為KeyPoint依據(jù)來進行圖像配準。此配準過程相對復(fù)雜,但配準精度高,抗噪性好,不易受光照影響。第三類則是基于變換域的圖像配準算法。該算法抗噪性好,但配準時的計算量大,配準耗時較長。為獲取較高的配準精度及配準效率,本文選用第二類算法進行圖像配準。
ORB算法是一種對特征點進行快速的提取和描述的算法,具有計算速度快的特點。其計算時間大概只有SIFT的1%,SURF的10%,故本文使用ORB算法進行圖像配準。
ORB算法的基本配準過程:
(1)利用FAST-N算法檢測圖像中的特征點。傳統(tǒng)的Fast算法中,目標像素點會與周圍圓上的16個像素點進行灰度值比較;但此處ORB算法中使用的FAST-N算法,僅需與周圍的4個像素點進行比較。因此ORB中的Fast算法較傳統(tǒng)的Fast算法,效率提高了4倍,且二者特征點提取效果接近。
(2)ORB算法中采用建立圖像金字塔的方法使原FAST特征具有尺度不變性,即每層分別提取FAST特征點。針對FAST特征點不具有方向性的問題,此處使用灰度質(zhì)心法獲取特征點鄰域內(nèi)的質(zhì)心,而后將特征點與質(zhì)心之間的矢量的方向定義為特征點的方向。
(3)之后在BRIEF算法的基礎(chǔ)上進行改進得到rBRIEF,使計算出來的二進制字符串組成的特征點描述子具有旋轉(zhuǎn)不變性并增加了可區(qū)分性。
(4)最后使用漢明距離計算出2個特征點描述子的相似程度從而判斷是否為正確匹配點。
本文方法實現(xiàn)缺陷檢測的基本流程,如圖2所示。
圖2 缺陷檢測流程圖Fig.2 Defect detection flow chart
本文使用ORB算法對已獲取的待測圖進行配準。在兩張圖像的配準過程中,ORB算法將分別獲得兩幅圖像各自的關(guān)鍵點和特征描述符,最后根據(jù)這些信息,進行特征匹配,將兩幅圖中極可能為同一對象的同一特征點匹配起來,配準效果如圖3所示。
圖3 圖像配準示例Fig.3 Image registration example
從圖中可以看到,該算法得到的結(jié)果十分精準,基本未出現(xiàn)不匹配的特征對,可以很好的滿足配準需求。
2.2.1 圖像預(yù)處理
該部分首先對整幅待測圖進行二值化處理,而后依次采用直方圖均衡化,Laplace圖像銳化,中值濾波進行圖像增強。直方圖均衡化,Laplace圖像銳化可促進缺陷與背景的分離;中值濾波可很大程度上濾除由圖像增強引入的椒鹽噪聲。通過比較自適應(yīng)閾值分割法與全局閾值分割法的分割效果,本文最終采用自適應(yīng)閾值分割算法來對PCB圖像進行圖像分割,以減小PCB表面各處亮度差異對圖像分割效果的影響。
經(jīng)過圖像預(yù)處理后的待測圖,PCB邊界清晰,分割效果較好,可以進行圖像差分操作。圖像預(yù)處理后的待測圖,如圖4所示。
圖4 預(yù)處理后的待測圖Fig.4 Picture to be tested after preprocessing
2.2.2 圖像差分
本文將采集到的標準圖像進行對比度調(diào)整、灰度化與二值化操作。將上述操作后的處理結(jié)果存儲為模板,以節(jié)省計算機的計算時間,提高缺陷檢測效率。模板圖示例,如圖5所示。
圖5 模板圖Fig.5 Template diagram
從圖6圖像差分后的結(jié)果可看出缺陷信息(此處缺陷為偽銅)可以被很好的提取出來,但存在部分缺陷產(chǎn)生兩個連通域,缺陷信息不全及較暗的輪廓噪點等問題,故需對該圖進行后續(xù)處理。
圖6 圖像差分后結(jié)果(偽銅)Fig.6 The result of image difference (spurious copper)
2.2.3 形態(tài)學(xué)處理及二值化
先采用中值濾波和均值濾波進行圖像去噪,而后進行閉運算操作,以消除單個缺陷內(nèi)部的孔洞,使單個缺陷恢復(fù)為單連通。處理結(jié)果如圖7所示。從圖7可看出單個缺陷已經(jīng)恢復(fù)為單連通,但圖像上還存在少量灰度值較低的噪點區(qū)域,故再次對圖像進行中值濾波和均值濾波,在此次濾波后,孤立噪點已基本消除。為了避免誤檢,此時采用一個較大的全局閾值對圖像進行二值化,將灰度值極低的噪點去除,以凸顯缺陷信息。二值化結(jié)果,如圖8所示。
圖7 閉運算結(jié)果圖Fig.7 Closed operation result
圖8 圖像二值化處理結(jié)果Fig.8 Image binarization processing result
2.2.4 缺陷標注
此時已獲得僅存缺陷的二值圖,在獲得缺陷輪廓后,根據(jù)輪廓信息進行缺陷標注。偽銅檢測示例,如圖9所示。
圖9 缺陷標注結(jié)果Fig.9 Example of false copper detection results
觀察標注結(jié)果,可知此偽銅缺陷已被完整標注出來,且缺陷計數(shù)準確。
本文缺陷檢測實驗采用的公開數(shù)據(jù)集包含十種不同規(guī)格的PCB線路板圖像以及六種缺陷,總計690張圖片。本文首先使用ORB算法對待測圖進行配準,而對其進行圖像預(yù)處理,之后將與模板圖差分后的結(jié)果進行去噪和形態(tài)學(xué)處理,最后標記出缺陷位置并統(tǒng)計缺陷總數(shù)。實驗缺陷檢測準確率如表1所示,檢測耗時如表2所示。
表1 PCB缺陷檢測準確率Tab.1 PCB defect detection accuracy rate
表2 PCB缺陷檢測耗時Tab.2 PCB defect detection time
由表1可看出本文算法對大部分缺陷檢測效果較好,如漏孔、鼠咬、開路、短路、毛刺的缺陷檢測準
確率均達到94%以上,而針對偽銅缺陷的檢測準確率較低,僅為85.2%。偽銅缺陷的檢測準確率低的原因可能是偽銅缺陷形狀呈長條狀,在圖像差分時易丟失中間段的信息,導(dǎo)致檢測失敗。本實驗的平均缺陷檢測準確率為94.6%,大體達到預(yù)期要求。
不同規(guī)格的PCB板的缺陷檢測準確率也差別較大。1,4,5,6,7,8,9,10號PCB板的缺陷檢測準確率均在95%及以上,而2號PCB板的缺陷檢測準確率僅為83.3%。可能原因為2號板,自身形態(tài)較復(fù)雜,線路太過于密集,特征點過多,適配難度大,導(dǎo)致缺陷檢測準確率低。以上兩點,在2號板的偽銅缺陷檢測體現(xiàn)的尤為明顯,20塊含有偽銅缺陷的PCB板僅檢出13塊,缺陷檢測準確率僅為65%,遠遠低于平均檢測準確率。
從表2可以看出,平均每張待測圖檢測耗為2.982s,對于不同缺陷類型,每張待測圖平均檢測耗時也有不同。毛刺缺陷檢測耗時最長,每張待測圖平均耗時為3.211s;漏孔缺陷檢測耗時最短,每張待測圖平均耗時為2.829s。
(1)本文提出一種基于ORB算法和圖像差分的PCB裸板缺陷檢測方法,并對該方法的檢測流程進行了詳細的說明。
(2)對該方法的檢測準確度和效率進行了實驗驗證。實驗結(jié)果表明,使用該方法對PCB進行缺陷檢測,檢測準確率平均可達到94.6%,每張待測圖平均耗時少于3s,該方法能夠快速準確的檢測出常見缺陷,達到了預(yù)期目標。但該方法對偽銅缺陷及形狀較復(fù)雜的PCB板檢測效果有待改進,可作為后續(xù)研究的重點。
(3)介紹了ORB算法的配準過程,并使用ORB算法對待測圖進行配準,很好的解決了待測圖畸變問題。