唐若儀,陳成軍,王金磊,代成剛
(青島理工大學機械與汽車工程學院,青島 266520)
近年來,個性化定制與柔性制造逐漸成為工業生產的重要發展趨勢,不同類型的機械產品可以在同一條裝配線上生產,這種生產模式導致了產品復雜性增加,使機械產品在裝配監測過程中更容易產生人為錯誤,從而導致產品出現漏裝、錯裝等問題。因此,更高效準確的獲取裝配過程中的零件信息具有重要的理論意義與時間價值。隨著深度學習技術的大量涌現,計算機視覺技術逐漸應用于機械裝配監測領域。嚴華等[1]提出了基于邊界矩的零件圖像輪廓提取方法,實現了機械零件的有效分類。田中可等[2]針對機械裝配體識別、監測問題,提出一種基于深度圖像和像素分類的零件識別方法,在裝配監測和自動化裝配領域有一定的研究價值。余永維等[3]提出了一種基于Inception-SSD框架的零件深度學習識別方法,兼顧了目標識別精度和檢測時效性。薛珊等[4]提出了一種基于激光掃描三維點云的工件識別方法,有利于解決在流水線上識別機械工件類型困難的問題。
實例分割[5-6]是一個多任務架構網絡,能夠同時完成目標檢測、圖像分類與圖像分割任務,目前實例分割方法大體可以分為雙階段方法和單階段方法。雙階段方法是指在執行任務時,分階段的執行目標檢測和分割任務,如Faster R-CNN[7]、Mask R-CNN[8]、RefineMask[9]、Mask-Transfiner[10]等;單階段方法能夠并行的執行分割與目標檢測任務,如YOLACT[11]、YOLACT++[12]、TensorMask[13]等。在裝配監測領域,使用實例分割技術能夠高效且準確的對機械裝配體中每個零件進行識別與分割,對分割后的圖像進行分析,可識別已裝配的零件,同時有利于監測在裝配過程中的漏裝、錯裝、裝配順序錯誤等不規范操作。臧春華等[14]提出一種基于深度學習機器視覺檢測的實例分割零件識別方法,通過在Mask R-CNN中使用Pointrend分割模塊,提高對機械零件的分割精度。魏中雨等[15]提出一種基于機器視覺和深度神經網絡的零件裝配檢測方法,通過Mask R-CNN網絡對裝配零件進行分類定位。朱新龍等[16]提出一種基于改進Mask R-CNN算法對堆疊汽車零件快速檢測與實例分割的方法,實現對堆疊汽車零件準確的檢測與分割。上述的實例分割方法對機械零件有著較高的定位精度,對單個零件有較高的分割精度,但機械裝配體具有零件形態多樣性和安裝重疊的特點,上述方法仍不能對其達到良好的分割效果。因此本文提出一種適用于機械裝配體圖像實例分割方法TD-Mask R-CNN,其主要貢獻為:
(1)在主干網絡ResNet101中引入可變形卷積(deformable convolutional networks,DCN)[17],增加模型的泛化能力;
(2)使用Transfiner結構[10]作為掩碼分支,引入離散余弦變化(discrete cosine transform,DCT)[18]模塊,提高機械零件分割的精準度;
(3)建立了合成深度圖像數據集與真實彩色圖像數據集,驗證本文方法對機械裝配體圖像分割的有效性。
針對機械裝配體圖像實例分割問題,本文對Mask R-CNN網絡模型進行了3點改進,提出了TD-Mask R-CNN,其網絡結構如圖1所示。

圖1 TD-Mask R-CNN網絡框架
(1)在使用ResNet101作為主干網絡的基礎上引入可變形卷積(DCN),更靈活有效的獲取機械裝配體圖像的局部信息;
(2) 使用Transfiner結構作為掩碼分支的主體,提高零件邊緣部分的分割精度;
(3) 在Transfiner基礎上引入DCT模塊,對預測的低分辨率掩碼進行高分辨率回歸,提升模型對機械裝配體的分割能力。
TD-Mask R-CNN采用ResNet101作為主干網絡,ResNet101包含5個階段Res1~Res5,將Res3、Res4、Res5階段中的常規卷積替換為可變形卷積以提高主干網絡提取特征的靈活性。
可變形卷積是指在常規卷積操作中的采樣點位置添加一個二維偏移量來捕捉更豐富的特征信息,通過學習偏移變量,實現對目標幾何特征自適應調整采樣位置,不再局限于常規卷積規則的格點采樣,可變換卷積的采樣位置更符合機械零件本身的形狀和尺寸,更有利于特征提取,圖2展示了可變形卷積和常規卷積提取零件特征信息的方式。

圖2 普通卷積和可變形卷積的區別
可變形卷積的計算是建立在常規卷積計算的基礎上的,常規二維卷積計算一般分為兩個步驟,首先,對特征圖x使用規則網格M進行采樣;然后,對采樣的值進行加權求和。通過常規卷積得到的特征圖y中任意位置p0,可以定義為:
(1)
式中:pn為采樣網格中任意的采樣位置,w為采樣權重。常規的二維卷積固定了感受野的范圍,所以限制了對目標物體幾何變換建模的能力。可變形卷積則是在常規卷積的采樣位置上添加了偏移量Δpn,{Δpn|n=1,2,…,N},其中N=|R|,使得在特征圖上實現更靈活的采樣,此時特征圖的采樣位置變為pn+Δpn,因此式(1)變為可變換卷積的計算過程:
(2)
式中:Δpn通常不是整數,為了有效地學習偏移量,一般采用雙線性插值的方法來確定偏移后采樣位置。根據可變形卷積的可偏移性,使得在提取特征的過程中可以根據減速器零件的形態進行動態調整采樣位置,這種能夠自適應確定零件形態的方法對機械裝配體特征提取有較為重要的影響。
TD-Mask R-CNN使用Transfiner結構代替Mask R-CNN網絡中原有的掩碼分支。其結構如圖3所示,經過粗糙掩碼頭部網絡預測得到的機械零件低分辨率掩碼,傳入信息損失區域檢測結構,通過該結構計算得到容易出錯且需要優化的機械零件邊緣像素區域,結合多尺度特征,構建多層四叉樹結構來表示多層級上不同的離散點,然后將這些離散點轉為無序的像素序列,傳入基于Transformer的細化網絡,最后輸出實例掩碼。信息損失區域檢測結構如圖3a所示,將最低ROI層(28×28)特征和零件的低分辨率掩碼作為輸入,采用一個全卷積網絡預測低分辨率的信息損失掩碼,對該掩碼做上采樣處理,并與更高一層的ROI特征進行融合,然后使用單個1×1卷積層預測更精細的信息損失掩碼。本文將最低ROI層檢測到的信息損失點作為根節點,從上到下遞歸擴展4個子節點,構建了一個3層的四叉樹結構,結構如圖3b所示,通過該結構可以從更高層的特征圖上選取子節點,獲取更多的零件局部細節。

圖3 Transfiner網絡結構
基于Transformer的細化網絡包含3部分,分別是節點編碼器、序列編碼器和像素解碼器,其結構如圖3c所示,首先,節點編碼器豐富每個離散點的特征表示,補充點的位置編碼和臨近點局部細節信息;然后,序列編碼器中會對輸入的序列進行點之間的特征融合;最后,由兩層MLP組成的像素解碼器對每個節點的輸出查詢進行解碼,以預測最終的實例標簽。
1.3.1 離散余弦變換(DCT)模塊
在實例分割中,掩碼看作為二值圖像,大部分信息集中在少數低頻分量上,DCT模塊通過將高分辨率的二值掩碼變換到頻域并保留其低頻的分量,實現高分辨率且復雜度的掩碼表示。
Mask R-CNN網絡模型使用28×28分辨率的二值網格預測掩碼,但是該分辨率的二值網格不足以捕獲詳細特征,并且在上采樣時容易出現偏差。提高二值網格的分辨率可以減少掩碼重建誤差,提高掩碼的質量,但是將分辨率提高到128×128之后,掩碼分支的輸出大小從784增加到了16 384,使得訓練復雜度大幅增加,導致網絡分割能力下降,掩碼平均精度(AP)顯著降低。利用DCT模塊將高分辨率的二值網格掩碼編碼成一個的緊湊的矢量,從而降低網絡的訓練復雜度,能夠使網絡得到高質量掩碼的同時提高掩碼平均精度。與PCA[19]和稀疏編碼[20]不同的是,DCT的計算復雜度很低,在整個實例分割框架中可以忽略不計。
DCT與逆DCT(IDCT)編碼方式如圖4所示,Mgt表示二值真值掩碼,Mgt∈RH×W,其中H和W表示高度和寬度,首先,利用雙線性插值法將Mgt大小調整為固定的K×K,其中K×K為掩碼的大小,在本文中設定K=112;然后,將MK×K轉換到頻域空間MDCT,MDCT表示為:
(3)

圖4 DCT掩碼表示

(4)
1.3.2 在Transfiner掩碼分支引入離散
余弦變換(DCT)模塊
本文在Transfiner掩碼分支中的粗糙掩碼頭部網絡之后引入DCT模塊,該模塊將低分辨率掩碼進行高分辨率且低復雜度的掩碼回歸,進一步提高網絡對機械裝配體的分割精度。DCT模塊結構如圖5所示,首先,使用4個卷積核為3×3的卷積層來提取掩碼特征;然后,使用3個全連接層回歸DCT掩碼向量,其中前兩個全連接層輸出大小為1024。最后一層的輸出大小為300;最后,通過逆DCT回歸高分辨率掩碼。

圖5 DCT模塊在掩碼分支的結構
引入DCT模塊后,掩碼分支損失函數表達式為:
Lmask=λ1Lrefine+λ2LIns+λ3Lcoarce+λ4LDCT
(5)
式中:Lrefine表示在信息損失區域節點的預測標簽和真值之間的L1損失,LIns表示用于檢測信息損失區域的二進制交叉熵損失,Lcoarce表示初始粗糙分割預測的損失,LDCT表示DCT模塊分支的損失,λ{1,2,3,4}為超參數權重{1.0,1.0,0.5,1.0}。
由于目前沒有公開的機械裝配體實例分割數據集,因此本文基于減速器制作了2種類型的裝配體數據集,分別為合成深度圖像數據集和真實彩色圖像數據集,制作流程如圖6所示。制作合成深度圖像數據集時,首先,使用RGB-D相機拍攝減速器裝配體圖像,根據圖像利用建模軟件建立減速器裝配體三維模型,使用標注軟件對模型中的每個零件進行不同顏色的標注;然后,利用數據集合成軟件生成多個角度尺寸為256×256的合成深度圖像和標簽圖像,使用標簽圖像獲取每個零件實例的二值圖像;最后,通過數據集生成程序生成用于實例分割的COCO格式數據集;制作真實彩色圖像數據集時,首先,使用RGB-D相機拍攝多個角度的減速器裝配體俯視圖像,經過處理得到尺寸為512×512的真實彩色圖像;然后,使用標注軟件對圖像中各零件實例進行標注得到標簽圖像,通過對真實彩色圖像和標簽圖像進行旋轉以增加圖像的數量,使用標簽圖像獲取每個零件實例的二值圖像;最后,通過程序生成COCO格式數據集。利用本文的方法制作數據集,人工標注工作量較小,便于擴展到其他類型的機械裝配體圖像數據集制作中。

圖6 減速器數據集制作流程圖
本文根據減速器裝配步驟在數據集中劃分了幾種不同的裝配過程節點,如圖7所示,真實彩色圖像數據集中劃分了為5個裝配過程節點,每個節點都有360張圖像,共1800張,按照6∶2∶2的比例劃分數據集,其中1080張作為訓練集,360張作為驗證集,360張作為測試集;合成深度圖像數據集中分為4個裝配過程節點,前3個節點中每個節點為360張圖像,第4個節點為619張,共1699張,只將第4個節點中的150張作為驗證集,150張作為測試集。零件類別如圖8所示,以合成深度圖像數據集為例,2種數據集都包含12類減速器零件。

(a) 合成深度圖像數據集

圖8 減速器零件分類
本實驗平臺搭建在Ubunt18.04系統下,配置環境Python3.7+Pytorch1.7.1+CUDA10.1,硬件方面,使用1塊GPU,型號為Tesla P40,CPU型號為Intel Xeon E5-2650 v4。本實驗在Detectron2工具箱中已經實現,本實驗所用的網絡在數據集上訓練9個循環 (epochs),每個循環迭代9000次,初始學習率設為0.02,每完成7000次迭代學習率衰減,衰減倍數為0.1。
為了評估網絡性能,本文采用了掩碼平均精度(average precision,AP)作為模型檢測的評價指標,平均精度能夠全面的表達實例分割模型的性能。AP表示以召回率和準確率為橫、縱坐標的P-R曲線所圍成的面積。召回率、準確率和平均精度的計算公式為:
(6)
(7)

(8)
式中:TP為正確檢測為正樣本的個數,FP為誤檢為正樣本的個數,FN為撿漏為正樣本的個數。
使用TD-Mask R-CNN對兩種數據集進行了分割實驗,實驗結果如表1所示,在真實彩色圖像數據集和合成深度圖像數據集上,平均精度分別達到了92.0%和87.7%。

表1 兩種數據集預測結果 (%)
為驗證使用改進后的掩碼分支能夠有效提高網絡模型的分割能力,TD-Mask R-CNN與其他主流的實例分割算法在相同測試集上進行對比實驗。實驗結果如表2和表3所示,使用合成深度圖像數據集時,TD-Mask R-CNN相較于實例分割網絡Mask R-CNN、TensorMask、RefineMask和Mask Transfiner,掩碼平均精度分別提高了3.4%、8.3%、1.7%和0.2%;使用真實彩色圖像數據集時,TD-Mask R-CNN相較于Mask R-CNN、TensorMask、RefineMask和Mask Transfiner,掩碼平均精度分別提高了6.3%、5.4%、0.7%和0.5%。結果表明,使用改進后的掩碼分支回歸高分辨率掩碼能對減速器裝配體圖像實現更準確的分割。圖9和圖10展示了部分網絡對2種數據集實例分割的可視化圖像。

表2 不同網絡模型測試性能對比(合成深度圖像數據集)(%)

表3 不同網絡模型測試性能對比(真實彩色圖像數據集)(%)

圖9 不同網絡模型在合成深度圖像數據集上的分割效果

圖10 不同網絡模型在真實彩色圖像數據集上的分割效果
為了驗證在ResNet101主干網絡中采用可變形卷積代替常規卷積能夠提高網絡分割能力,TD-Mask R-CNN使用5種不同的主干網絡在兩組數據集上進行實驗。實驗結果如表4和表5所示,在合成深度圖像數據集和真實彩色圖像數據集上,本文方法均能夠達到最高的掩碼平均精度,相比于沒有引入可變形卷積的ResNet101,掩碼平均精度分別提高了0.3%和0.9%。因此,在ResNet101中引入可變形卷積可提高網絡模型對機械裝配體圖像的分割能力。

表4 本文提出的網絡在不同主干網絡下的測試性能對比(合成深度圖像數據集) (%)

表5 本文提出的網絡在不同主干網絡下的測試性能對比(真實彩色圖像數據集) (%)
以真實彩色圖像數據集為例,表6展示了5種網絡對于減速器裝配體中每類零件分割掩碼的平均精度,可以看出TD-Mask R-CNN對尺寸較小P11、P12和P8零件能夠達更高的分割精度,因此TD-Mask R-CNN可能更適合對小目標分割。

表6 不同網絡下各個零件的掩碼平均精度 (AP/%)
本文提出了一種機械裝配體圖像實例分割方法TD-Mask R-CNN,該網絡在主干網絡中使用可變形卷積替代了常規卷積,在掩碼分支結構使用Transfiner結構作為主體并引入DCT模塊進行優化。實驗結果表明,在相同的環境配置下,無論是在合成深度圖像數據集上還是在真實彩色圖像數據集上,TD-Mask R-CNN在對裝配體圖像進行分割時均能到達更高的精度,同時有利于對小目標進行分割。未來將在保證分割精度的同時,進一步研究提高分割效率、增強算法實時性的方法。