基于OPENCV和图像减法的PCB缺陷检测
基于OPENCV和圖像減法的PCB缺陷檢測
原文地址:PCB defect detection USING OPENCV with image subtraction method
Abstract
在PCB制造業中,生產的一個最重要方面是質量檢查。PCB板經歷了從面板切割到層壓的大量生產過程,一塊板上的一個缺陷將使整個板過時。隨著電子電器需求的日益增長,對更高質量元器件的需求也在不斷增長。由于商用AOI價格高昂,許多制造商無法進行自動檢測。在這方面,計算機視覺可以為商業AOI提供一種替代方案,以幫助小型制造商進行自動檢測。圖像減法和斑點檢測使用戶能夠輕松地發現PCB中的大量視覺缺陷,尤其是使用復雜的方法。通過解剖圖片并指出輸出圖像上的差異,可以快速檢查PCB,找出有缺陷的零件。因此,本論文將重點關注一個基本的圖像減法足以幫助制造商進行質量檢查的基礎。
關鍵詞-AOI;OpenCV;計算機視覺,PCB;圖像減法
I. INTRODUCTION
在這個信息時代,電子工具和電器的使用率每天都在上升,因此也意味著印刷電路板(PCB)的使用率更高,因為它是幾乎每個消費電子電器的基礎平臺。隨著我們今天看到的技術進步,PCB不僅被各行業所使用,而且也被大學生和業余愛好者所使用,這為小型PCB生產行業創造了市場,因為與過去相比,生產過程變得越來越容易。
為了滿足消費者對優質電路板的需求,必須進行質量檢查和控制,以確保沒有影響PCB最終產品的缺陷,這就是為什么現在有必要進行機器視覺檢查,以確保PCB的質量良好。[1]
要進行機器視覺檢查過程,通常PCB生產商必須使用自動光學檢查(AOI)系統[2],對于通常不使用先進機械來制造PCB的小型PCB生產商來說,這可能非常昂貴。
本文將重點研究通過OpenCV實現的計算機視覺技術,該技術使系統能夠捕獲、識別和分析圖像,為用戶找到信息,其中計算機視覺將用于利用OpenCV中包含的基于參考圖像的圖像減法檢測裸印刷PCB的缺陷。
檢測系統將基于圖像減影技術,以檢測減影結果上的殘余特性,并將其宣布為結果上的缺陷。系統中使用的所有方法都基于OpenCV庫,包括圖像處理、圖像減法和斑點檢測方法。
該系統的目的是提供一個能夠進行質量檢查的小型系統,以找出PCB生產中裸印制板上的任何缺陷,該系統將自動找到缺陷零件,提供PCB的狀態,并向系統用戶指出缺陷零件在PCB板上的位置。
考慮到時間和技術限制,項目中存在一些限制。最明顯的限制是,由于使用了圖像減法,為了使系統達到所需的精度,參考圖像和被檢查圖像必須具有相同的尺寸和圖像對齊。
II. RESEARCH METHODOLOGY
PCB檢查系統的基本概念是,它使系統用戶能夠通過輸入PCB的參考圖像來檢查其PCB,該圖像將是無缺陷PCB或與初始PCB設計對齊,然后將其與檢查的PCB圖像進行比較,從而生成一個新圖像,其中PCB的缺陷部分將被指向并顯示在顯示窗口中,此外,包含已檢查PCB信息的信息,如發現的缺陷數量、PCB狀態和所用時間 去處理將顯示以測量系統的性能。
該檢測系統利用OpenCV庫的方法和功能**,尤其是圖像處理技術,包括高斯模糊、閾值、圖像形態學、圖像減法和斑點檢測。**
第一個過程是圖像捕獲,其中參考圖像和被檢查的PCB圖像被插入到系統中。在這個項目中,獲取PCB圖像的方法是通過程序從代碼中手動完成的。圖像被放入程序的文件夾中,然后由系統自動拾取。
下一個過程是圖像預處理階段,在該階段中,將使用多個圖像處理過程來準備每個圖像,以將原始圖像轉換為二進制形式,用于發現PCB的缺陷部分。
系統中包含的最后一個過程是缺陷檢測過程,該過程將輸出PCB檢查圖像的結果。經過處理的參考和檢查的PCB圖像都將進入相同的步驟,即圖像減法,以找出兩個圖像之間的差異,此過程將創建一個新圖像,即參考圖像和檢查的PCB圖像之間的絕對差異。之后,圖像將經過斑點檢測過程,系統將查找差分圖像中殘留的任何物體斑點。如果仍有斑點,系統將對其進行標記,然后繪制關鍵點,以便向用戶報告PCB的缺陷部件所在的位置
圖像必須經過的第二個過程是預處理設計。在此階段,圖像將應用多種圖像處理方法,以提取所需的相關信息。以下是此過程中使用的OpenCV函數。
**Gaussian Blurring **首先應用于圖像,以平滑圖像并減少可能影響系統精度的任何噪聲。要執行此過程,調用OpenCV庫中的函數GaussianBlur()
轉換為灰度級,模糊圖像將轉換為灰度圖像。在處理開始時,圖像作為RGB模型圖像插入,這對于系統轉換為二值圖像而言不是最佳選擇。在此過程中,將使用cvtColor()函數。
閾值處理過程在圖像轉換為灰度后開始,系統將繼續將其轉換為二進制形式。它使用OpenCV庫中包含的名為threshold()的函數。對于此過程,使用的閾值為127,最大值為255,并且為反向二進制閾值類型。完成此過程是為了使系統能夠創建斑點以供后期檢查。
在形態學步驟中,通過OpenCV庫中包含的形態學函數完成結構元素操作。使用的形態學方法是閉合法,它可以去除可能影響系統精度的小孔和圓點。閉合形態學方法包括先進行膨脹,然后進行侵蝕,直到滿足系統要求為止。調用的函數是morphologyEx()。
缺陷檢測在圖像預處理步驟完成后開始,處理后的參考圖像和檢查的PCB圖像將進入同一步驟,即圖像減法,以找出兩個圖像之間的差異,此過程將創建一個新圖像,即參考圖像和檢查的PCB圖像之間的絕對差異。
然后,圖像將經過斑點檢測過程,系統將查找差分圖像中殘留的任何物體斑點。如果還有斑點,該系統將對其進行標記,然后繪制關鍵點,以便向用戶報告PCB缺陷部件的位置。
以下是缺陷檢測過程中使用的OpenCV功能。
**圖像減法 **
在參考和檢查的PCB圖像都經過預處理后,兩幅圖像的格式都是二進制的,僅由0和1組成。使用OpenCV庫中包含的absdiff()函數,執行異或操作,該操作將創建一個新的臨時圖像,其中包含參考圖像和已檢查PCB圖像之間的差異。為了繼續下一步,即斑點檢測,再次應用閾值函數來反轉顏色。
污點檢測********
從圖像減法中找出殘差,這種方法也稱為BLOB。PCB檢查方法使用了幾個參數,即Area, Circularity, Convexity, and Inertia。面積轉化為剩余斑點的密度,圓度衡量斑點與圓形的接近程度,凸度指斑點的凸面形狀,慣性指斑點的形狀,無論是圓形還是接近直線。系統使用的最小面積為50,最小圓度為0.01,最小凸度為0.5,最小慣性比為0.009。
**繪圖關鍵點 **
標記blob后,將在blob上繪制關鍵點,以確保blob檢測按預期工作。函數的作用是:在檢測到的水滴周圍繪制圓圈。對于系統的最后一部分,還將在已檢查的PCB圖像上繪制關鍵點,以向用戶顯示缺陷零件的位置。
**PCB質量檢查 **
一般而言,質量檢查是一項檢查產品質量的活動,應用于制造過程和組織分析。[3]
PCB或印刷電路板是一種由層壓材料(如玻璃纖維)制成的薄板,其上刻有導電通路,用于連接嵌入PCB上的不同組件,如晶體管、電阻器和集成電路。這些組件焊接到PCB上的導電軌道上,使它們能夠一起工作。在PCB制造業中,質量檢查在生產過程中至關重要,以避免每個電路板上存在任何缺陷零件,因為在PCB中發現的任何缺陷零件都可能導致設計偏差,從而導致PCB不工作。Moganti在1996年提出了三種PCB檢測算法,分別是由圖像比較技術組成的參考方法、基于PCB元件通用設計規則的非參考方法和參考與非參考相結合的混合方法。[4]
有幾種方法或解決方案可用于使用參考方法進行PCB檢查,其中一種方法是使用自動光學檢查。自動光學檢查(AOI)系統顧名思義,是一種對印刷電路板(PCB)或其他電子元件生產進行的自動視覺檢查,其中攝像頭用于自動掃描產品表面的質量缺陷,并將缺陷產品從其余生產中分揀出來。AOI系統一般在計算機視覺學科范圍內工作,這是人工智能研究領域的一個分支。
PCB缺陷
對于PCB面板,有各種缺陷可能會影響印刷在PCB上的圖案。有幾種類型的缺陷可分為功能缺陷和視覺缺陷。
功能缺陷嚴重影響PCB的功能,因為它們會損壞PCB,導致設計和產品不一致而出現故障。另一方面,視覺缺陷,正如其名稱所述,只是在短時間內不會損害PCB的小缺陷。然而,在很長一段時間內,視覺缺陷也會影響PCB的功能,因為設計和當前產品之間的不一致會導致潛在的缺陷。因此,檢查以確保PCB沒有任何類型的缺陷至關重要。
在有缺陷的PCB中,可以發現各種缺陷,如圖5所示,其中缺陷分為以下類型:
圖像處理
從本質上講,圖像處理是一個提取圖像處理、檢測、導航和識別所需視覺信息的過程。這是一個系統需要執行的過程,有時是按照精確的順序,以獲取可以從輸入圖像中獲取的附加信息。[5]
高斯模糊或高斯平滑是圖像處理中常用的一種技術或方法。對數字圖像應用高斯模糊的主要目的是平滑粗糙邊緣,降低圖像分辨率,并減少噪聲。[6]
在2D平面場景中,函數的方程將使用同心圓創建一個曲面作為圖像的輪廓。然后,從中心點開始應用高斯分布,然后創建值,形成卷積矩陣。然后將矩陣應用于參考圖像。這個新矩陣包含幾個像素值,這些值是相鄰像素的加權平均值。受高斯函數影響的原始像素將具有對最高高斯值貢獻的最大權重,而較小權重將以與原始像素的距離的增量加載到其相鄰像素。[7]
圖像閾值分割是計算機視覺中最簡單的圖像分割方法之一。閾值化是一個過程,其中灰度圖像將作為輸入圖像插入到該過程中,然后進行處理以創建二值圖像。[8]
它的工作方式是,由于灰度圖像僅包含一個范圍為0到255的單個值,因此將使用一個稱為T的常量作為基數,根據像素中包含的當前值與T值進行比較來修改圖像。如果圖像強度I(I,j)小于T值,則返回0值(黑色),反之,返回255值(白色)。
二值圖像形態學是一種利用結構元素對二值圖像進行處理的圖像處理方法。結構元素本身是一個參考或基礎二進制圖像,用于處理輸入圖像以獲得所需的結果圖像。圖像形態學用于將二值圖像處理或變形為若干形狀或斑點,以便從圖像中提取新信息。雖然結構元素有多種形狀,但在二值圖像形態學中使用最多的形狀是長方體和環形。[5]
圖像相減是一種算法或過程,其中系統將兩幅圖像作為輸入,然后生成結果圖像的輸出,其像素值僅從第一幅圖像的像素值減去第二幅圖像的像素值得到。[9]
有幾種方法可以進行圖像減法,即嚴格減去兩幅圖像中的像素值,即簡單地減去圖像中包含的像素值,或計算兩幅圖像的絕對差值。
IV. RESULTS
使用兩種圖像測試系統的性能,一種是720p以下的低分辨率圖像,另一種是720p以上的高分辨率圖像。這些圖像是從在線存儲庫中獲取的,其中人為缺陷應用于圖像上,用于測試目的。
Result Analysis
從兩張測試圖像中,以下是缺陷檢測系統的結果。
從以上數據來看,目前使用圖像減法檢測PCB上的缺陷零件的方法被證明速度非常快,從低分辨率圖像的0.856秒到高分辨率圖像的2.68s不等,這比人工檢查速度更快。
圖像的大小表示每次檢查的時間,因為圖像越大,處理的像素越多,完成檢查過程所需的時間就越長。系統的精度也由圖像的大小或分辨率來表示,隨著圖像的精度或分辨率越高,程序的精度也會提高
該系統能夠檢測所有測試板上的缺陷零件,這是該項目的主要目標。
V. CONCLUSION
PCB檢測系統能夠使用圖像減法以非常快的速度檢測出有缺陷的PCB,根據處理的數字圖像源的大小從0.856秒到2.68秒不等。盡管能夠在每一塊被測電路板上發現缺陷,但在蝕刻電路板上使用圖像減法進行PCB檢查的準確性并不令人滿意,如果有許多電路板有銅痕跡或電路缺陷,這將是至關重要的。然而,從測試結果可以得出結論,圖像的分辨率直接影響精度,圖像大小越大,檢測精度也越高。
測試結果表明,該系統有待改進,以提高缺陷檢測的準確性。以下是一些可以改進系統和克服限制的建議:
1、改進斑點檢測和形態學算法,進一步提高系統精度。
2、對圖像應用Hough變換過程和圖像分割,以提高精度,減少參考圖像和檢查圖像大小和對齊方式相同的必要性。
3、實現圖像分割方法,以便系統能夠處理分辨率比系統硬件規格更高的圖像。
4、研究另一種提高系統性能的方法
總結
以上是生活随笔為你收集整理的基于OPENCV和图像减法的PCB缺陷检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: curl检查端口_curl命令(测试连接
- 下一篇: 带通 带阻滤波器 幅频响应_一文带你通俗