?

基于改進YOLOv5 網絡的印刷電路板缺陷檢測?

2024-01-29 02:23盧麒仰徐超林伍梓帆趙洪琛劉宏展
電子器件 2023年6期
關鍵詞:卷積特征圖像

盧麒仰,徐超林,楊 育,伍梓帆,趙洪琛,劉宏展

(華南師范大學信息光電子科技學院,廣東 廣州 510631)

作為電子工業的重要部件,PCB 幾乎作用于每種電子設備,它可以代替復雜的布線,實現電路中各元件之間的電氣連接。面對PCB 較大的生產量和精細的結構,人工檢測暴露出低效率,低準確率和低缺陷檢測率的問題[1-2]。為了應對PCB 生產量和市場對PCB 的需求的提高,目前已有許多學者對其進行了研究[3-5]。

在PCB 圖像的檢測方面,傳統方法主要是圖像處理統計方法。陳壽宏等[6]基于多特征的SVM 多分類方法檢測PCB 的焊點,對采集到焊點圖像的形狀和紋理特征利用SVM 中最優的核函數進行檢測,再利用基于HOG 的SVM 多分類算法進行二次檢測得到結果。李廣宏等[7]采用紅外圖像和可見光圖像結合的方法,獲得兼具元器件位置和工作屬性等信息的圖像,其檢測速度快于只用可見光圖像的方法,但是存在外界環境對紅外圖像溫漂的影響。李孟歆等[8]通過優選邊緣檢測算子,采用基于熵的全局多閾值圖像分割算法提取焊點邊緣特征,再利用粗糙集對提取得到的形狀特征進行約簡和特征組合。但是這類傳統方法具有一定的局限性,無法滿足復雜情況下的檢測。

如今隨著計算機科學發展,PCB 圖像的檢測多使用深度學習的方法,整體的效率和精確度大為上升。在深度學習領域中,兩階段目標檢測算法有基于區域的卷積神經網絡R-CNN 算法、快速基于區域的卷積神經網絡Fast R-CNN[9]算法和更快的基于區域的卷積神經網絡Faster R-CNN[10]算法等,單階段目標檢測算法有快速目標檢測算法YOLO[11]和SSD[12]。而在實際應用中,伍濟鋼等[13]在YOLOv4網絡的基礎上改進二分K-Means 聚類結合交并比(Intersection over Union,IoU)損失函數確定錨框,并且引用MobileNetV3 作為特征提取網絡,提升對PCB 小目標缺陷的檢測性能。瞿棟等[14]采用基于殘差學習結構的方法,允許原始輸入信息直接傳到后面的層中,并使該層的神經網絡可以只學習上一個網絡輸出的殘差。減少了由于網絡深度加深而導致的準確度飽和對網絡檢測效果進一步提升的影響。通過何國忠等人[15]的基于卷積神經網絡的PCB 板缺陷檢測的研究可知,YOLO 系列算法的檢測精度和檢測速度相比其他算法具有較大優勢。但YOLO 系列網絡在檢測微小缺陷時仍存在檢測正確率低的情況。

針對YOLO 系列網絡存在對微小缺陷檢測效果較差的問題,本文提出對YOLOv5 網絡進行修改,采取FPN 算法,增加了針對小目標的檢測層,將底層和上層的缺陷特征進行融合,以提高其對小缺陷的檢測能力。同時,本文通過圖像處理技術,分割提取出待測板的缺陷ROI 圖片,提高缺陷尺寸在整張圖片中的占比,再對缺陷ROI 圖片進行檢測,將檢測到的缺陷信息回歸原圖。通過放大缺陷占比和減少檢測次數,提高了檢測正確率和檢測效率。由此能滿足工業生產對PCB 的要求。

1 網絡結構優化

基于改進YOLOv5 網絡的PCB 裸板缺陷識別算法流程如圖1 所示。

圖1 基于YOLOv5 的PCB 裸板缺陷識別算法流程圖

1.1 YOLOv5 簡介

YOLO 系列是非常經典的one-stage 目標檢測算法,它將物體檢測問題視為一個回歸問題,用一個卷積神經網絡完成檢測。相比于其他網絡,它具有更加優秀的檢測性能,可以更快地進行實時檢測。并且在框架上使用Pytorch 框架,相對于YOLOv4 采用的Darknet 框架,YOLOv5 模型體積縮小了,因而更容易部署在硬件側,且更容易投入生產。其速度在高達140 FPS 的同時,仍保持了較高的正確率和穩定性。

1.2 YOLOv5 網絡結構優化

PCB 板缺陷具有缺陷區域面積小的特點,對于這種小目標的檢測,YOLOv5 表現出了一定的局限性,即復雜環境下的小目標物體檢測易受背景信息的影響,特征提取網絡能夠提取的語義信息較為有限。在目標檢測特征提取過程中,由于經過了較少的卷積運算,淺層特征圖含分辨率較高的特征形狀信息,可提升邊界框回歸識別精度,但其語義信息較少,易受噪音點的干擾;經過多次卷積計算得到的深層特征圖含較強的語義信息,但其分辨率較低,細節表達能力較差。引入特征融合可以將淺層的形狀信息補充進深層的語義信息中,提高深層信息的綜合度進而提升對小目標形狀的檢測能力。

本文首先在YOLOv5 網絡的基礎上增加了多個小目標檢測層,即每個尺度的檢測層均配備額外的小目標檢測層來提取網絡所提取的特征。在網絡結構分布上,各個小目標檢測層同樣具有不同深度層次的分布,將輸出進行通道混合,重新等量分配到各個檢測模塊中。同時本文采用晚融合中的FPN 算法,將深層信息上采樣,與淺層信息逐元素地相加,達到提升預測正確率的效果。并且在每個融合后的特征層上單獨進行預測,從而構建了尺寸不同的特征混合金字塔結構。YOLOv5 網絡中,本身具有三層FPN 檢測結構,其大小分別為20×20、40×40 以及80×80,但其只適合檢測大尺度的缺陷,在檢測小缺陷圖像時易丟失信息。因此本文在其基礎上進行改進,添加了一層大小為160×160 的FPN 檢測結構,使其更適合于檢測小型多形態目標,其結構示意圖如圖2 所示。

圖2 修改后的FPN 結構圖

具體操作為:首先在模型的第17 層后,轉為對特征圖進行上采樣等處理,使得特征圖繼續擴大,使其包含更多的小缺陷特征。在第20 層時,將獲取到的大小為160×160 的深層特征圖與骨干網絡中第2層的淺層特征圖進行concat 融合,再通過1×1 卷積核將特征信息混合得到新的特征信息,該部分特征信息同時包括了形狀特征和語義特征,能夠反映缺陷區域的整體形態。在輸出通道混組后,等效于每個輸出具有了3 個尺度的綜合信息,相較于之前的特征具有更高的全局特征綜合度,補充了小目標的淺層語義信息,構成了FPN 檢測結構。通過增加小目標檢測層和特征融合次數,提高了網絡模型對小目標的檢測能力。

1.3 缺陷ROI 分割

微小目標檢測效果不好主要是因為其尺寸問題,在復雜環境下的小目標物體檢測易受背景信息的影響,特征提取網絡能夠提取的語義信息十分有限。網絡輸入圖像尺寸為32N×32N,在YOLOv5 中進行五次下采樣,得到的三張圖像特征圖尺寸分別為N×N,2N×2N,4N×4N。其中最大的4N×4N負責小目標的檢測,感受野為大小。因此若待檢測目標的尺寸小于8 像素時,網絡檢測會遺漏目標的特征信息,造成誤檢或漏檢。因此采用分割的方式,將分割后的圖像輸入目標檢測網絡中,可以極大地降低最小可檢測目標像素值。傳統方法主要通過對圖像進行滑塊式分割,但采用全局滑塊式分割的方式,會進行較多無效檢測,大大增加檢測時間。因此本文在網絡檢測中利用圖像處理方法分割出ROI 區域,提高檢測效率。其步驟與示意圖如圖3 所示。

圖3 缺陷ROI 分割流程實例圖

本文通過模版匹配方法,首先通過比較標準板與待測板,通過圖像異或方法對預處理后的二值圖片進行比較,得到缺陷位置。圖像異或是把兩幅圖像對應位置的像素值進行異或,定義標準板為A,待測板為B,若兩圖中同一位置像素值相同,則將其設置為背景色,若不同,則將其突出出來,即

上述運算后,得到兩幅圖的差異,由于在圖像采集過程中,圖像很難嚴格重合,因此在進行異或操作之后,往往存在像素級的微小差異,對缺陷位置的確定存在干擾,需要對異或后的二值圖像進行去噪。本文中采用中值濾波濾除噪聲,中值濾波是一種非線性濾波方式,將圖像中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點,設{xij(i,j)∈I2}為圖像中各個像素點的灰度值大小,F為設定的濾波窗口,其大小為9×9。

濾除噪聲之后即可清晰地得到圖像缺陷位置。如圖4 所示,白色像素區域即為缺陷位置。

圖4 異或操作后的PCB 圖

圖5 截取后的PCB 圖

圖7 網絡檢測輸出的PCB 圖

根據上述步驟中得到的缺陷位置,將其坐標返回到原圖中,并以其為中心,將缺陷及其周圍的圖像信息提取出來,作為缺陷圖片,送入網絡模型中進行識別。當缺陷位于圖像邊緣時,提取出的缺陷圖片的質量難以保證,故本文提取圖片背景色將圖像進行擴充。

通過上述步驟,能夠精確地得到以缺陷為中心,大小可自定義的缺陷ROI 圖片,利用網絡模型對其進行檢測可以得到相比直接檢測原始圖像更為精確的結果。

3 實驗結果與分析

3.1 實驗平臺

本實驗采用包含RTX2080 顯卡、64G 內存的工作站。

在實際工業生產中,可采用如圖所示的圖像采集系統獲得PCB 的圖片。其中傳送帶勻速運動,四臺高亮度LED 在PCB 上方沿PCB 寬度固定,保證了PCB 受光照均勻,整體亮度一致,當PCB 待測板運動到指定位置時,由CCD 攝取PCB 平面圖經PC的圖像采集卡采集。隨著傳送帶的運動,即得到隨傳送帶運動的多張PCB 的高清平面圖。而傳送帶的具體移動速度取決于具體工業生產的程序。

印刷電路板瑕疵數據集是一個公共的合成PCB 數據集,它由北京大學發布,其中包含1 386 張圖像以及6 種缺陷(短路、斷路、毛刺、漏孔,鼠嚙、銅渣),用于檢測、分類和配準任務。因此本文選用該數據集來模擬實際生產的PCB 板。

3.2 實驗設計

為驗證切割缺陷周圍圖像以進行檢測的方法對系統識別準確率的影響,本實驗通過使用改進后的YOLOv5 訓練框架進行訓練,為擴大數據集容量,對數據集復制一份到十份,訓練完成后,得到訓練模型。利用該模型,對缺陷ROI 圖片進行檢測,得出缺陷種類和相應的檢測準確率。

本文將數據集和標簽文件分為訓練集、驗證集、測試集,并分別將其放到進行操作的文件夾內,然后對訓練模型的參數進行配置,訓練次數Epochs 設為1 000 次;批次大小Batch size 是指訓練時一次性輸入網絡的圖片數目,將其設為16;提高輸入分辨率會提高小目標檢測精度,所以輸入分辨率img-size值設置為640。參數設置完成后,開始訓練,在訓練結束后,得到檢測模型。將待測PCB 圖輸入模型,即可進行識別,得到PCB 的缺陷情況。

3.3 實驗結果

若將待測PCB 圖直接送入YOLOv5 網絡進行檢測,則檢測效果較差,有較多的漏判和誤判現象,因此本文首先分割出缺陷ROI 圖片再送入改進的YOLOv5 網絡,由于增加了小目標檢測層和FPN 算法,改進的YOLOv5 網絡對其識別效果更好,用這種方式得到檢測結果的漏判和誤判率明顯下降。

本文中為評估模型的檢測性能引入以下評估指標對模型進行測試分析:Precision,Recall,AP 及mAP,各個指標的計算公式如下:

將數據集中的大量PCB 平面圖輸入進行訓練及驗證,驗證得到的結果見表1。

表1 剪切圖和原圖缺陷驗證的效果比較 單位:%

從實驗結果可見,設計的優化方案相比于優化前缺陷漏判率降低了1.91%;檢測精確度提高了1.89%;召回率提高了1.83%;平均檢測精度均值提高了1.82%。由于本文對網絡結構進行了改進,提升了對于圖像中小缺陷的檢測能力,同時由于是對圖像的的缺陷ROI 區域進行檢測,可以放大缺陷的尺度,進而得到更好的檢測結果。

實驗中選取9 種不同種類的PCB 板,通過訓練得到的權重對其進行實際檢測,得到該權重對不同種類缺陷的識別正確率,檢測得到的結果見表2。

表2 不同種類缺陷識別的效果比較

從實驗結果可見,本文的的優化方案相比于優化前各種缺陷的檢測率均有所提升,其中對于毛刺,其檢測精確度提升程度高達20.77%。由此可見,經過異或操作得到ROI 缺陷圖片,輸入改進后的網絡進行檢測,相較于直接檢測,對于微小缺陷的檢測率有較大提升。

4 結論

本文針對PCB 制造過程中產生的缺陷提出了一種基于卷積神經網絡的檢測模型。該模型重點解決了對微小缺陷檢測不準確的問題。該模型首先通過額外增加小目標檢測層獲取更多小目標特征信息,再使用FPN 算法逐層融合YOLOv5 網絡中的淺層形狀信息和深層語義信息,補充了語義信息,提高了其綜合度。此外,通過圖像分割增大了缺陷在圖像中的尺度占比,更好地獲取缺陷信息,進而提升了對小目標的檢測能力。根據測試,本文所設計的優化YOLOv5相比優化前對于小目標的檢測能力顯著提升??蓪ξ磥鞵CB 更加精細的研究提供技術支持。

猜你喜歡
卷積特征圖像
改進的LapSRN遙感圖像超分辨重建
基于3D-Winograd的快速卷積算法設計及FPGA實現
有趣的圖像詩
如何表達“特征”
從濾波器理解卷積
不忠誠的四個特征
基于傅里葉域卷積表示的目標跟蹤算法
抓住特征巧觀察
一種基于卷積神經網絡的性別識別方法
線性代數的應用特征
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合