谷亞楠,曹如意,趙理山,蘆碧波,蘇柏順
(河南理工大學 計算機科學與技術學院,河南 焦作 454003)
線束在電子器件中的應用非常廣泛,是電子系統(tǒng)中傳輸信號的重要載體,而線束端子作為線束生產中的重要連接組件,其質量直接影響到整個電子系統(tǒng)的功能[1]。線束生產中需要對線束端子進行壓接,使之與電線牢固連接,在壓接過程中會出現壓斷線芯或者線芯空隙過大的情況,進而影響到電子器件的正常使用,因此線束端子的質量檢測就顯得尤為重要[2]。由于線束端子的橫截面積較小,故其清晰圖像的采集難度較大,需要專業(yè)人員通過專業(yè)儀器設備對線束端子進行切片、拋光、腐蝕、酸洗等操作之后再放在顯微鏡下進行拍攝來獲取線束端子橫截面的彩色圖像[3]。通過測量線束端子線芯與絕緣層輪廓,將測量得到的參數與設定的標準參數進行對比,可以檢測線束端子質量[4]。但是人工測量成本高、效率低,并且持續(xù)的高強度工作會導致疲勞,從而造成測量精度下降,影響檢測準確率。
為實現線束端子質量檢測自動化,蘆碧波等人[3]先將圖像轉換至Lab 空間進行處理,再使用水平集方法[5]分割其輪廓。李秀娟等人[6]利用HALCON 軟件中的相關算子測量端子圖像中部分幾何量。胡建華等人[7]制訂了一套較完整的端子壓接質量檢驗標準。近年來,由于深度學習的發(fā)展,神經網絡在圖像分割[8]領域已經取得了很大的進展。Long 等人[9]提出了全卷積神經網絡(Fully Convolutional Networks,FCN)[10],實現了端到端的語義分割模型。Ronneberger 等人在全卷積神經網絡基礎上提出UNet[11]網絡,在少量樣本的情況下也能達到較好的分割精度。何凱明等人[12]在Faster R-CNN[13]基礎上增加了一個語義分割的分支提出了Mask R-CNN,實現了實例分割。由于神經網絡可以通過大量數據自動學習提取不同目標的特征,因此對于線束端子顯微圖像的分割效果要明顯優(yōu)于傳統(tǒng)的分割方法。
然而對于線束端子分割任務,仍存在以下問題。首先,線束端子數據集采集難度較大導致數據有限,過于復雜的模型可能會過擬合。其次,線束端子線芯與絕緣層特征接近且線芯區(qū)域存在空隙,易造成誤分割。另外,線束端子質量檢測具有實時性要求,需要模型具有較快的推理速度。為解決上述問題,本文基于UNet 網絡進行改進,提出一種基于多尺度注意力的線束端子實時語義分割網絡MRF-UNet。首先使用參數量更少的多尺度注意力模塊(Multiple Receptive Field attention module,MRF)代替UNet 的下采樣模塊,增強多尺度特征提取能力同時通過減少參數量降低過擬合的可能。其次使用特征融合實現跳躍連接并對解碼部分進行深度約減,提升推理速度。
UNet 是常用的語義分割網絡,其總體采用對稱的U 型結構并通過跳躍連接(Skip-connection)將淺層特征引入解碼部分,使解碼器在上采樣時利用淺層特征得到更加精細的分割結果,UNet 網絡如圖1所示。
UNet 由編碼部分與解碼部分構成,編碼部分通過卷積池化等操作對特征圖進行壓縮與編碼,獲取圖像語義信息與細節(jié)信息。輸入圖像首先經過雙層卷積操作將特征通道擴展到64 維,之后依次通過4 組池化層與雙層卷積操作進行特征提取。
解碼部分則利用反卷積與卷積操作對特征圖進行解碼,利用編碼部分獲得的語義信息與細節(jié)信息恢復概率圖。首先通過4 組反卷積層與雙層卷積層(對輸入特征2 倍上采樣后與編碼部分對應特征進行拼接,再將特征通道數減半)對輸入特征進行語義解析與細節(jié)恢復。最后通過1×1 卷積輸出概率圖。
圖1 UNet 網絡Fig.1 UNet network
何凱明等人在ResNet 網絡中使用殘差結構[14],通過將輸入與輸出進行連接,使得梯度在反向傳播時增加了一條恒等通道,可加快模型訓練速度,降低梯度消失的可能。本文提出的MRF 模塊可以提升網絡的特征提取能力,但同時網絡深度增加可能造成學習退化的問題。在MRF 模塊中使用殘差結構可以加快模型訓練速度。
圖2 殘差結構Fig.2 Residual structure
線束端子顯微圖像獲取流程繁瑣,能夠得到的訓練樣本有限。如果使用復雜的大型網絡容易過擬合且會造成模型參數量增加,不利于實現算法實時性。因此在線束端子分割任務中大型分割網絡與結構簡單的UNet 網絡比并不具有優(yōu)勢。但UNet 網絡采用雙層卷積操作提取圖像特征,語義解析能力不足且運算速度較慢。為解決以上問題,本文在UNet 基礎框架上進行改進。采用參數量更少的MRF 模塊作為網絡的特征提取模塊,提升模型提取多尺度特征的能力,同時較少的參數量也降低了過擬合的可能。其次使用特征相加實現跳躍連接,進一步減少了網絡的參數量。最后對解碼部分進行深度約減,降低模型參數量并提升推理速度。
MRF-UNet 網絡結構如圖3 所示。網絡分為編碼部分(Encode)與解碼部分(Decode)。Encode包含1 個ConvX 層與4 個MRF 模塊,Decode由4 個上采樣(UP)模塊和1 個ConvX 層構成,1~4 層特征與6~9 層特征通過跳躍連接相連。其中ConvX 層代表卷積、批量歸一化、非線性激活操作。
圖3 MRF-UNet 網絡結構Fig.3 MRF-UNet network structure
輸入圖像首先經過ConvX 層將圖像卷積到32 維,再通過4 個MRF 模塊提取圖像多尺度特征,每個MRF 模塊將特征圖通道數擴大2 倍并進行2 倍下采樣。之后經過4 個UP 模塊恢復特征圖分辨率,UP 模塊利用反卷積(De-Conv)層將特征圖通道數縮小一半并進行2 倍上采樣。其次經過批量歸一化(Batch Normalization,BN)層與非線性激活函數(Rectified Linear Unit,ReLU)層對特征進行歸一化處理與非線性激活。最后ConvX 層對特征進行解碼再通過跳躍連接引入淺層特征相加后輸出,特征相加實現跳躍連接參數量更少。本文利用反卷積層同時實現上采樣與特征映射,相較于UNet 的上采樣模塊,減少了一個卷積層,實現解碼部分深度約減。
線束端子顯微圖像在采集過程中,受工藝水平、光照環(huán)境等因素影響,線芯與絕緣層邊界不清晰且線芯區(qū)域存在空隙,因此給分割任務帶來很大難度,此外線束端子質量檢測具有實時性要求[3]。為了使模型在高質量完成特征提取任務的同時,還能保持較少參數量,本文采用多尺度注意力(MRF)模塊作為網絡特征提取的基礎模塊。MRF 模塊結構如圖4 所示,由短期密集連接(Short-Term Density Concatenate module,STDC)模塊[15]與通道注意力機制(Attention)[16]構成并使用殘差結構將輸入與輸出連接,相較于UNet 的下采樣模塊,MRF 模塊增強模型多尺度特征提取能力的同時,保持較少的參數量。輸入特征首先通過STDC 模塊提取多尺度特征,再利用通道注意力機制對多尺度特征進行自適應加權激活,最后引入殘差結構加速網絡訓練。使用STDC 模塊代替?zhèn)鹘y(tǒng)卷積模塊,能夠增強網絡多尺度特征提取能力,避免下采樣過程導致線束端子顯微圖像中的邊緣和空隙等細節(jié)信息丟失,從而提升網絡對邊緣以及空隙的分割能力。而注意力機制能夠對不同的特征自適應增加權重,強化不同目標特征間的差異性,進一步提升線芯與絕緣層邊界的提取能力。
圖4 多尺度注意力模塊Fig.4 Multiple receptive field attention module
3.2.1 STDC 模塊
Fan 等人提出STDC 模塊,總體結構如圖4(b)所示,STDC 模塊通過較少的參數量獲得多感受野特征,輸出結果中深層特征少,淺層特征多。在圖像分類任務中,深層特征一般會使用更多的通道數量。但語義分割任務中,模型在解碼階段將高維度特征圖進行解碼得到概率圖,淺層特征能夠帶來更加細粒度的信息,使得到的分割圖像更加精細,過多的深度特征則會導致語義信息冗余。因此STDC 模塊可以增強網絡提取線束端子顯微圖像中不同尺度特征的能力。
輸入特征圖依次經過4 個ConvX 層獲取不同尺度特征,第1 個ConvX 層的卷積核尺寸是1×1,其余為3×3。第2 個ConvX 層的卷積步長是2,其余步長是1。因此第2 個ConvX 之后的特征圖尺寸都是輸入特征尺寸的一半,最后將得到的4 組特征圖通道拼接后輸出。由于第1 組特征圖尺寸是其余3 組的2 倍,需要使用均值池化進行2 倍下采樣后才能進行拼接。
3.2.2 通道注意力機制
STDC 模塊可以提取多尺度特征,但是不同尺度的特征對分割結果的影響不同,線束端子顯微圖像中,目標的顏色通常是綠色,背景則通常是黑色,因此顏色信息對線束端子的分割尤為重要。所以對不同尺度特征進行針對性的提取與學習可以進一步提升分割精度。STDC 模塊能夠充分利用線束端子多尺度特征進行分割,但是不同尺度特征對分割結果的權重不同。通道注意力機制可以對不同尺度的特征進行重加權激活,增強有用信息,抑制冗余信息。這樣可以有效提升模型對特征的學習能力,同時加速模型擬合。
本文所采用的通道注意力機制如圖4(c)所示。首先,通過最大池化和均值池化獲取兩組特征向量。其次,經過卷積層和ReLU 層將特征向量進行壓縮激活,利用卷積層將壓縮后的特征向量解壓縮。之后將兩路特征向量融合,并利用Sigmoid 激活函數進行激活。最后,將激活的特征向量與輸入特征圖相乘得到輸出特征圖。
交叉熵損失函數[17]是圖像分割的常用方法,用于描述兩個概率分布之間的差異性信息,交叉熵損失函數(CrossEntropy Loss,CELoss)計算公式如式(1):
其中:N代表像素點個數;M代表類別數;yij代表符號函數,若樣本i的真實類別等于j則取1,否則取0;pij表示像素點i屬于類別j的預測概率。
線束端子數據集中的背景、絕緣層、線芯這三個類別的分布相差較大。背景區(qū)域占比大,因此在訓練過程中,網絡更側重學習背景區(qū)域的特征。引入戴斯系數損失函數(DiceLoss)[18]可以很好的解決類別不均衡問題,DiceLoss 用于描述兩個集合的重合度,計算公式如式(2):
其中:A和B分別表示真實結果與模型分割結果,|A∩B|表示兩個集合相交的像素點個數,|A|和|B|分別表示集合A和B的元素個數。
然而DiceLoss 對邊界較為敏感,在反向傳播的過程中可能導致梯度劇烈變化,造成模型訓練速度變慢[19]?;谝陨峡紤],本文使用CELoss與DiceLoss 構成的復合損失函數,如式(3)所示:
本文將CELoss 與DiceLoss 相加構成復合損失函數,CELoss 關注像素分類結果,DiceLoss 則更關注分割區(qū)域與真實結果之間的相似性,二者具有一致性,當分割區(qū)域與真實結果完全重合,損失值為0。該復合損失函數可以降低類別不均衡問題對模型造成的影響,同時防止梯度劇烈變化,加快模型訓練速度。
實驗運行環(huán)境為Ubuntu20.04 系統(tǒng),Intel Xeon(R)Silver 4214R CPU @ 2.40 GHz x48 處理器,內存128 GB,顯卡NVIDIA Corporation TU102GL [Quadro RTX 8000],CUDA11.4.2,Pytorch1.9.1,Python3.8.12。模型訓練使用RMSprop 優(yōu)化算法,并設置衰減學習率,連續(xù)2個Epoch 模型驗證精度不提高,學習率衰減一半。訓練過程開啟AMP 自動混合精度,降低訓練過程中內存占用,加快訓練。BatchSize 設為20,Epoch 設為101,初始學習率設為0.001。
本文使用線束端子顯微圖像數據集均通過專業(yè)人員利用線束端子截面檢測儀進行采集。數據采集流程繁瑣,能夠獲得的數據集有限,共138 張原始數據,線束端子顯微圖像如圖5 所示。為提高模型泛化能力,本文通過調節(jié)亮度對比度、灰度均衡化、隨機高斯噪聲、幾何變換等圖像處理技術對數據集進行數據增強,共得到1 600張數據。其中,隨機選取200 張作為測試數據集,用于模型性能評價;140 張作為驗證集,用于訓練過程中對模型性能進行階段性評估;剩余的1 260 張作為訓練集用于模型訓練。為便于進行批訓練,通過裁剪縮放等操作對數據進行預處理,將所有圖像尺寸統(tǒng)一成576×800。
圖5 線束端子顯微圖像Fig.5 Micrograph of harness terminal
為客觀評價本文算法性能,采用以下指標對模型進行評估:平均交并比(MIoU)、平均像素精度(MPA)、戴斯系數(Dice)、每秒推理幀數(FPS)。MIoU 表示分割結果與實際結果的相似度,MPA 表示像素點分類精度,Dice 表示分割結果與實際結果的重合度,FPS 表示每秒模型推理圖片數量。具體計算公式如下:
其中:k+1 是類別個數,在線束端子顯微圖像分割任務中k=2;Pii為真正的數量,Pij,Pji分別表示假正和假負;N為推理圖片數量;T為推理所用時間;A和B分別表示真實結果與模型分割結果。
4.4.1 模型性能對比實驗
STDC 模塊能夠增強模型多尺度特征的提取能力,但是不同尺度特征對分割結果的影響不同,加入注意力機制可以對重要特征增加自適應權重,從而提升分割效果。注意力機制提取特征向量后會利用卷積與ReLU 對其進行壓縮激活,不同的壓縮比率對模型性能的影響不同。為了對比STDC 模塊、注意力機制對模型效果的影響,進行以下實驗,其中K表示注意力機制特征壓縮比率。從表1 可以看出,單獨使用STDC 模塊,模型的精度略低于UNet,但是速度卻是UNet 的4 倍。使用本文提出的MRF 模塊相較于使用STDC 模塊在分割精度上有一定提升,且模型推理速度是UNet 的3 倍。并且當特征壓縮比率K=16 時效果最好。
本文算法為保證實時性與輕量化,采用了參數量更少的MRF 模塊。其次使用特征相加實現跳躍連接,進一步減少了網絡的參數量。最后對解碼部分進行深度約減,降低模型運算量。為驗證網絡整體性能,將MRF-UNet 與UNet,BiSeNet[20],SegNet[21]等語義分割網絡的推理占用內存(Memory)、浮點數運算量(Floating-point Operation Per second,FLOPs)、每秒推理幀數(FPS)進行對比,對比結果如表2 所示。實驗結果顯示,MRF-UNet 模型推理占用內存低于其他網絡,相較于UNet 下降了48%左右,這表明模型對設備內存的要求較低,可以降低設備成本;浮點數運算量同樣低于其他網絡,相較于UNet下降了89%左右,運算量大幅度減少,因此模型推理速度得到較大提升。模型推理速度達到15 FPS,可以滿足線束端子質量檢測實時性要求。
表1 模塊性能指標對比Tab.1 Module performance index comparison
表2 網絡性能指標對比Tab.2 Comparison of network performance indicators
為驗證本文算法對線束端子的分割效果,將MRF-UNet 與UNet,BiSeNet,SegNet 在測試數據集上進行分割效果對比,實驗對比結果如表3所示。實驗結果可以看出,MRF-UNet 的各項指標均優(yōu)于其他模型,MIoU,MPA,Dice 指標分別達到了97.54%,98.83%,98.31%,高于其他模型,分割精度滿足線束端子質量檢測要求。
表3 網絡分割效果對比Tab.3 Comparison of network segmentation effects(%)
為了定性分析本文算法對邊界不明顯與線芯區(qū)域存在空隙的線束端子圖像的分割效果,將本文算法與其他語義分割網絡進行對比,結果如圖6 所示。例1 邊界不明顯,BiSeNet,UNet 線芯區(qū)域誤分割,SegNet 分割絕緣層存在缺失;例2線芯與絕緣層存在較大空隙,BiSeNet 分割線芯區(qū)域過于平滑,UNet 分割線芯區(qū)域存在孔洞,SegNet 分割線芯效果較差;例3 邊界不清晰且線芯與絕緣層存在空隙,BiSeNet 分割邊緣丟失細節(jié)信息,UNet,SegNet 分割結果不夠精細;例4 邊界不清晰,BiSeNet 線芯區(qū)域誤分割,UNet 分割結果尚可,SegNet 分割線芯邊緣存在鋸齒。例5線芯與絕緣層存在細小空隙,BiSeNet,SegNet 線芯區(qū)域誤分割,UNet 分割結果尚可。例6 邊界不明顯,BiSeNet 線芯分割不夠精細,UNet 分割結果較好,SegNet 分割絕緣層精度不足。可以看出,本文算法對于邊界不清晰與線芯存在空隙的樣本分割效果更好。
圖6 分割結果對比圖Fig.6 Comparison diagram of segmentation results
4.4.2 幾何參數測量實驗
為驗證MRF-UNet 在實際線束端子顯微圖像幾何測量任務中的精確度,分別使用MRFUNet,BiSeNet,UNet 和SegNet 等模型對線束端子測試樣本進行幾何測量。幾何測量要先獲取線束端子線芯與絕緣層的輪廓,具體流程如下:(1)利用模型對線束端子顯微圖像進行分割,獲得線芯與絕緣層對應區(qū)域;(2)使用數字圖像處理技術,對分割區(qū)域進行平滑、去孔洞處理(為獲取相對平滑的輪廓);(3)使用輪廓檢測算法獲取線芯與絕緣層輪廓。輪廓獲取結果對比如圖7所示。
示例1 中BiSeNet 與SegNet 分割的線芯輪廓邊界不夠精細,UNet 分割的線芯輪廓存在孔洞;示例2 中BiSeNet 與SegNet 分割的邊界不夠準確,UNet 分割結果較好;示例3 中的BiSeNet,SegNet 對線芯輪廓的分割都不夠精確,UNet 得到了較好的分割結果;由此可見,BiSeNet、UNet,SegNet 算法對一些線束端子圖像容易誤分割,分割結果不穩(wěn)定,這將影響輪廓幾何特征的測量,從而影響線束端子質量檢測。而本文提出的算法MRF-UNet 則可以精準的對線束端子線芯與絕緣層進行分割,并準確提取內外輪廓,為后續(xù)的質量檢測提供數據支撐。
圖7 輪廓檢測對比圖Fig.7 Contour detection comparison diagram
幾何測量在獲取線芯與絕緣層輪廓之后,根據所得輪廓計算線芯與絕緣層的周長和面積,將所得數據與人工測量數據進行比較,計算平均測量精確度(線芯與絕緣層的周長和面積的精確度平均值)。本文算法與其他網絡進行幾何測量的對比結果如圖8 所示。
測量結果可以得知,BiSeNet,SegNet,UNet網絡的幾何測量平均精度分別為94.5%,95.8%,96.1%。而本文算法MRF-UNet 的幾何測量平均精度達到96.3%,優(yōu)于其他算法。
圖8 幾何測量結果對比圖Fig.8 Comparison diagram of geometric measurement results
本文為實現線束端子質量檢測自動化,提出了一種基于多尺度注意力的線束端子實時語義分割網絡MRF-UNet。首先,采用MRF 模塊作為特征提取基礎模塊,增強模型對線束端子的多尺度特征提取能力。其次,使用通道相加代替通道拼接,進一步降低網絡參數量,防止模型過擬合。最后,對解碼部分進行深度約減,提高模型推理速度,滿足線束端子檢測實時性要求。經過實驗對比,MRF-UNet 網絡的各個指標均優(yōu)于UNet、BiSeNet 和SegNet,MIoU,MPA,Dice 指標分別達到97.54%,98.83%,98.31%。更重要的是在分割精度達到預期水平的情況下,推理速度是UNet 的3 倍,滿足線束端子質檢任務的實時性要求與精確度要求,可以為后續(xù)的線束端子質量檢測提供數據支撐。