莫少雄 趙 波
(上海工程技術大學機械與汽車工程學院 上海 201620)
機器視覺系統在工業生產線上進行的產品質量檢測,通常是通過相機[1]進行的。在這種方法中,不需要任何專業工人的控制,同時,產品的計數、缺陷的檢測和其尺寸的測量都可以同時進行。有了這樣的系統,可以進行非常快速、平滑和完美的檢測。這樣增加企業產量的同時,產品的質量也得到了很大程度的保證。機器視覺缺陷檢測系統通常是流水生產線上的首選,以提供完全的非接觸式檢測,而不需要任何專業人員的監督,從而降低了質量控制的成本[2]。
在工業領域,生產設備的測量通常采用接觸式和非接觸式兩種方式。在接觸測量方法中,操作完全是可視化的,誤差相當大。這種方法的性能非常低,特別是在需要精確測量的領域。在非接觸式測量方法中,通過一個或多個攝像頭和一個機器視覺軟件完成檢測操作。這種方法可以很容易地檢測出產品的不同特性,并根據所使用的計算機系統性能提供快速、可行的解決方案[3]。在其中一項研究中,電子芯片生產的最后階段是由磁帶和卷軸包裝質量控制。研究開發了一種利用多線程并行編程技術,每分鐘可檢測200 個芯片。實驗研究表明,該方法具有較高的精度和速度。Wang等開發了一種基于機器視覺的自動檢測方法。這種方法控制了電路板上的孔,確定了孔的數量和缺陷等[4]。
本研究開發了一種基于深度學習的PCB 板質量控制算法,對電路板上存在的缺陷進行檢測和定位。首先利用傳統圖像處理技術Otsu 變換和Can?ny 邊緣提取對待測圖像進行對PCB 板上的缺陷進行預提取。然后將預提取的圖像和PCB 模板作為網絡輸入,減少檢測網絡特征提取的卷積次數,從而提高檢測速率。同時利用多尺度特征融合的方式,使模型對輸入圖像對的變化具有更強的魯棒性。
在缺陷預提取過程中通過Otsu 閾值法和Can?ny邊緣提取對待測板進行缺陷預提取,從這個過程中獲得的結果將用于后續更為精確的缺陷分類和定位。
該方法首先通過相機對印刷電路板進行圖像采樣。將得到的圖像傳輸到主機并進行圖像處理。在算法的第一步,通過轉換顏色空間,將RGB圖像轉換為YUV顏色空間[5]。在此轉換之后,獲取圖像的過程將在Y 通道上執行。當圖像只剩下Y通道時,圖像就變成為黑白灰度圖像,更加便于后續的處理。RGB 顏色空間到YUV 顏色空間的轉換如式(1)所示。
式中:Y、U、V為圖像的三個通道分別為亮度、色度、飽和度。R、G、B為原圖像的三個顏色通道。
其次,利用高斯濾波器消除圖像中的噪聲[6]。執行此操作的數學表達式如式(2)所示。
式中:σ為高斯模板半徑,N為變換空間維數,r為像素模板半徑。
然后,利用Otsu 閾值法將圖像轉換為二值圖像。Otsu 閾值法,也被稱為大津算法[7]。它使用的是聚類的思想,利用預設閾值K把圖像的灰度數按灰度級分成前景E0={0,1,…,K}和背景E2={K+1,K+2,…,L-1}兩個部分,使得這兩個部分之間的σ2灰度值差異最大,同一部分之間的灰度差異最小,通過方差的計算來尋找一個合適的灰度級別來劃分[8],即:
自適應能夠更靈活地確定圖像的最佳灰度閾值。使得處理后的灰度圖能夠清晰地顯示圖像中的所有前景細節。用Otsu閾值獲得的圖像后,再利用Canny 算子對PCB 板所有的邊緣進行提取,其原理是用在圖像用兩組卷積核做平面卷積[9]。通過得到橫向和縱向的灰度偏導近似值計算出梯度估計值:
式中:G為梯度估計值,Gx、Gy分別為橫向和縱向的灰度偏導近似值。
然后將計算出的G值與定義的閾值進行比較,如果G比閾值大則認為該點是一個邊界值,從而得到了邊緣檢測的圖像[10]。待檢測PCB 板上缺陷預提取結果如圖1所示。

圖1 處理結果
由于典型的CNN 模型所提供的多個層代表了目標圖像的不同特征,因此可以利用特征層次構建一個更加魯棒的檢測系統。我們的方法是通過融合多尺度深度特征,學習模板和圖像之間的相似性度量。
神經網絡的基本結構如圖2 所示。該模型由兩個并行網絡組成,每個網絡都包含一個基本的網絡架構,包括卷積層和全連接層。在訓練步驟中,在權值共享機制下,對兩個分支的兩個網絡進行同步優化。兩個分支可視為特征提取模塊,輸出為兩圖像對的低維表示向量[11]。然后,目標是學習輸入圖像的最優特征表示。在一系列卷積和激活層的后面,連接一個頂層網絡作為一個計算圖像對相似度的決策網絡的函數。計算兩個圖像特征相似度的任務,通過全連通層組合兩個特征向量來計算損失,通常采用對比損失函數。然后利用算法對模型進行微調。本文采用前5 個卷積層進行特征提取。整個卷積層被劃分為5 個部分,分別為S1,S2,S3,S4,S5。第一個層包含卷積層和一個激活函數。第二和第三個片具有相同的結構,包括最大池層、卷積層和激活函數。

圖2 網絡結構圖
考慮到不同層次的圖像包含不同而互補的信息,將多尺度的特征融合到不同的層次中,從而構建出更具鑒別性和豐富的檢測圖像的特征表示。該策略將較低層次的詳細紋理信息與較高層次的語義信息相結合,這在許多研究中被證明是有效的[12]。首先,應用數據集增強技術對缺陷數據集進行擴充。相同布局的PCB 圖像分為正常和缺陷兩類。將模板及其缺陷預提取的小塊圖像隨機成對組合成匹配的圖像對,分別作為網絡的兩個輸入。然后,通過網絡學習成對PCB圖像的特征表示。兩個權值共享的并行網絡對輸入的PCB 圖像進行卷積操作。在一系列卷積層和激活層作為線性和非線性變換的函數后,多分辨率特征圖由多尺度特征融合層編碼,進行下一步的相似度計算。最后,將兩個特征向量的輸出連接起來作為融合特征,轉移到決策網絡中。在訓練步驟中,利用成對圖像向量之間的距離,利用對比損失對特征提取網絡進行調整。
如圖2 所示,SPP 網絡對輸入圖像的大小沒有限制。由于最后一個卷積層與預定義維數的全連接層沒有連接,輸入圖像可以是任意大小[13]。圖像都是相同大小的512*512*3,并將首先在第一個結構中調整到所需的空間尺寸。插入一個空間金字塔池化層,可以在不降低分辨率的情況下輸入多尺度的圖像塊。對表1 中的每個網絡層進行差分,得到差異特征圖,如式(5)所示:

表1 骨干網絡架構表
式中:Si為差異特征向量,S1i、S2i分別為前后圖像的特征向量。
經過空間平均池化層后,每個二維差分特征圖后面是SPP網絡層。在建立全連通層之前,我們融合了不同尺度的特征向量(S1-S5)來增強網絡特征的收斂性。因此,將每個塊的特征連接起來,形成多尺度的融合特征向量。
通過損失函數優化網絡,以區分正常PCB和缺陷PCB。更具體地說,利用獎懲機制[14],使得相似的圖像盡可能接近,非相似的圖像盡可能遠離。對比損失函數表示如下:
式中:圖像序號為K,式中1為相似,0為非相似;D為圖像的歐氏距離,不同模板間的邊界距離m(m>0)。
實驗所用的數據集,是通過人工缺陷檢測出的產品和正常產品,用檢測時所用的相機對數據進行采集的。在這個數據集中,總共有1321 電路板,其中652 個缺陷電路板。主要缺陷有缺孔、錯孔和毛刺等。
網絡模型是在NVIDIA GeForce GTX 2080 GPU,i7 9700 CPU 上,利用Tensorflow 深度學習框架進行訓練的。訓練的總數為30000,每次迭代的批處理大小為12。當損失值變化為0.0001 時,大約1.5h后完成整個培訓。
應用的圖像分類任務評價協議。為了對算法進行定量評價,將平均精度(AP)用于缺陷分類。精確度是指在所有選中的樣本中正確識別的百分比,召回率是指在整個陽性樣本中正確識別實例的概率。計算公式可以用真陽性(TP)、假陽性(FP)和假陰性(FN)來表示。具體表達式為
以召回率為x軸,精度為y軸,通過計算P-R 曲線來評價分類問題的性能。P-R 曲線以下區域按召回率水平取平均值,其間隔為0~1 之間的固定間隔值。
在測試數據集上對算法的詳細評價如圖4 所示。從這組PR 曲線中,我們可以得出以下觀察結果。與傳統的相似度度量和使用單一特征層的網絡相比,多尺度網絡在兩種情況下的性能都是最好的。當召回值接近于1 時,多尺度模型仍具有較高的精度。該方法能有效地識別正常、缺陷PCB板。


圖3 兩類缺陷的P-R曲線
表2 給出了不同相似度度量方法的評價指標,包括精度、平均精確度和召回值。可以看出,傳統方法特征提取方法相比,只能提高很小的檢測準確率。這反映了我們的擴展數據集經過一系列的變換后,該檢測方法比傳統的方法具有更高效的缺陷檢測能力。最終,多尺度特征融合的方法可以達到很高的準確率,模型的平均精確度達到91.2%。

表2 不同相識度度量方法評價
如今在許多工業生產中機器視覺得到了廣泛的應用。這些應用程序實現的功能各不相同,如計數、缺陷檢測和測量,最終的目的都提高了生產線的生產能力。本文提出了一種基于神經網絡的多尺度特征相似性度量模型,應用于PCB未知缺陷的檢測。首先,利用傳統的視覺缺陷檢測方法,對待測板上的進行缺陷預提取。其次,將得到的缺陷預提取圖像輸入缺陷檢測網絡中,減少特征提取的卷積次數,可減少不必要的硬件開銷。結合特征融合策略,將多尺度特征進行融合,保證了模型輸入在添加噪聲和光照變化的情況下獲得更好的缺陷檢測精度。此外,對比損失是一種很好的圖像相似度度量特征學習方法。但是,多尺度特征融合策略任然是值得進一步的研究領域。