宋怡仁,陳成軍,李東年,官源林
(青島理工大學機械與汽車工程學院,山東青島 266520)
裝配環節作為機械產品生產過程的重要組成部分,將直接影響最終機械產品質量的好壞。復雜產品的裝配步驟和規范較多,若單純依靠裝配工人的操作經驗和技能容易產生裝配體出現錯裝、漏裝等問題。隨著計算機視覺技術的發展,計算機視覺技術在裝配監測中逐漸得到應用。如田中可等[1-2]提出一種基于深度圖像和像素分類的裝配體零件識別及裝配監測方法和一種基于像素局部二值模式(PX-LBP)和像素分類的裝配體零件識別及裝配監測方法。李勇[3]針對汽車門鎖裝配過程中拉簧裝配狀態進行機器視覺檢測,對比了基于邊緣特征的模板匹配檢測方法和基于SVM的檢測方法,證明了基于SVM檢測方法具有良好的時效性和準確性,能夠滿足車門鎖拉簧裝配狀態檢測的性能要求。
現有的裝配零件檢測和裝配過程監測方法多采用機器學習算法,通過分析圖像中零件或裝配體的特征,選用圖像特征提取算法提取圖像特征,然后利用分類算法來識別零件或裝配體。該類算法中,圖像特征提取算法和分類算法的選擇對識別精度影響較大,算法選擇不當會造成識別效果下降。深度學習算法能夠通過對數據集的學習,自動提取圖像特征,面對復雜的裝配場景具有更好的適應性。因此,基于深度學習零件識別和裝配過程監測是重要的發展方向。
目前,已經有一些關于深度學習應用在裝配領域的研究。如王必賢等[4]提出了一種使用深度學習目標檢測算法精確定位裝配區域的系統,該系統實現了裝配區域定位、工件分類和手部跟蹤等功能,可在裝配工作中引導操作人員完成裝配。冒文彥[5]基于卷積神經網絡算法開發了線夾裝配質量檢測系統,實現了對高鐵線纜吊弦線夾裝配質量的智能化檢測。李成鈿[6]提出基于SVM和卷積神經網絡的轉子面型智能分類方法,解決轉子面型分類準確率低的難題。
本文作者以RV減速器為研究對象,將深度學習中的語義分割算法和目標檢測算法應用在RV減速器裝配過程監測中,搭建RV減速器裝配過程監測系統實驗臺,建立語義分割和目標檢測模型和相應數據集,進行模型訓練,編寫RV減速器裝配過程監測系統軟件,實現了RV減速器裝配過程的監測。
如圖1所示,RV減速器裝配過程監測系統包括實驗臺和RV減速器裝配過程監測軟件,該系統與深度學習算法進行結合,將實驗臺采集到的真實圖像數據和RV減速器虛擬模型生成的虛擬圖像數據送入深度學習算法中進行模型訓練,再將訓練完成的模型結構和權重送入系統的軟件中,軟件可對實驗臺提供的圖像進行預測計算,實現裝配過程監測功能。

圖1 RV減速器裝配過程監測系統Fig.1 RV reducer assembly process monitoring system
RV減速器裝配過程監測系統實驗臺如圖2所示,主要包括RV減速器和RGB-D相機。RV減速器主要應用在工業機器人的關節處;RGB-D相機采用Intel Realsense D415,可以同時采集彩色圖像和深度圖像。該實驗臺可為深度學習模型提供圖像數據以供它訓練,也可為RV減速器裝配過程監測軟件實時傳輸圖像。

圖2 RV減速器裝配過程監測系統實驗臺Fig.2 Test bed of RV reducer assemblyprocess monitoring system
為了使深度學習算法應用到裝配過程監測中,并部署到實際工業場景中,文中設計了監測軟件。軟件基于Qt5平臺開發軟件界面,使用Python語言編寫程序實現圖像采集、預測和界面操作等功能。如圖3所示,RV減速器裝配過程監測軟件包括界面操作模塊、圖像采集模塊和圖像預測模塊。

圖3 RV減速器裝配過程監測軟件功能結構Fig.3 Functional structure of RV reducer assembly process monitoring software
圖像采集模塊使用Intel Realsense D415 RGB-D相機實時采集RV減速器深度圖像和彩色圖像,相機首先進行分辨率、幀數等參數的設置,再對視頻圖像進行濾波和裁剪等操作。裝配體表面會將RGB-D相機發出的紅外光鏡面反射,在拍攝出的真實深度圖像中裝配體邊緣和一些局部地區會有黑斑,因此使用INPAINT_TELEA[7]算法修復深度圖像中的黑斑,最后將圖像實時傳輸到界面操作模塊中。
界面操作模塊包括控制RGB-D相機的啟停,顯示RGB-D相機采集的圖像,設置當前裝配工序中的零件信息,讀取本地圖像,截取圖像,顯示預測結果和保存預測結果等功能。
圖像預測模塊實現了基于深度學習模型的RV減速器圖像識別和裝配過程監測功能。首先將訓練好的深度學習模型結構與參數權重載入圖像預測模塊,然后讀取界面操作模塊傳輸的圖像和當前工序信息,利用載入的深度學習模型識別圖像,最后將識別結果可視化為圖像和文字。同時將識別結果與當前工序信息對比,以此判斷是否存在漏裝的情況,實現裝配過程監測。
此系統應用了深度學習中的語義分割和目標檢測算法來檢測裝配體中不同的零件。語義分割是一種將圖像中所有像素點進行分類,將相同類別的像素歸為相同標簽的算法;目標檢測是一種能夠精確地定位出圖像中某一物體類別信息和所在位置的算法。
如圖2所示,RV減速器大部分零件是壓合裝配,零件之間互相重合,互相遮擋,且多數零件外表顏色為銀白色,難以分辨出不同零件之間的邊界,深度學習算法也難以從彩色圖像中學習到特征。但是因為每個零件之間的高度有所差異,所以不同零件在深度圖像中就有明顯的深度值差異。同樣,因為RV減速器大部分零件是壓合裝配,大多數零件都有它固定明確的安裝位置,所以在裝配過程中最可能出現的是漏裝問題。因此針對圖2中的外殼、左行星架、小軸承、大軸承和曲軸等類似零件,采用語義分割算法識別深度圖像中的此類零件。
如圖2所示,螺釘這類微小的零件沉入到其他零件中,它們在深度圖像中的深度值與周圍其他零件并沒有明顯的區別,同時它們分布較為分散,不存在互相遮擋等問題,因此采用目標檢測算法識別彩色圖像中的螺釘。
2.1.1 語義分割模型的選擇
此系統語義分割算法采用了UNet網絡模型[8],該網絡模型通常應用于數據量小、場景結構較為固定的圖像分割中,如生物醫學圖像分割。工業上采集的裝配體圖像也具有裝配錯誤樣本量小、場景結構單一等特點,UNet網絡模型可以在較小的數據量下達到較高的語義分割準確率。
如圖4所示,UNet網絡模型結構分為兩部分:分別是特征提取和上采樣。在特征提取過程中,先對輸入的圖像進行3×3卷積和2×2最大池化操作,每通過一個池化層,就生成一個新尺度的特征圖。在上采樣過程中,對提取出的特征圖進行2×2反卷積和3×3卷積的上采樣操作,每上采樣一次,就與特征提取部分通道數相同的特征圖進行融合。由于特征提取過程中的特征圖與上采樣過程中特征圖的大小不一致,因此在融合之前需要對前者進行裁剪。最后再通過1×1卷積生成對應每個類別的熱圖,經過激活函數的處理,計算出圖像中每個像素點對應每個類別的概率,實現對圖像中每一個像素的分類。

圖4 UNet網絡模型結構Fig.4 Structure of UNet network model
2.1.2 語義分割數據集的建立
如圖5所示,將RV減速器按照裝配順序分成4個裝配階段,每個裝配階段單獨制作語義分割數據集,分別訓練語義分割模型,生成4個語義分割模型權重,從而避免各個裝配階段之間相互影響,導致識別準確率降低。

圖5 4個裝配階段圖像Fig.5 Images of four assembly stages
語義分割數據集包括虛擬數據集和真實數據集。在建立虛擬數據集中,首先使用SolidWorks三維建模軟件進行裝配體的建模,再使用3DMAX三維渲染軟件對裝配體模型中的每一個零件標記顏色標簽,然后使用OSG(Open Scene Graph)對模型進行渲染,自動生成模型的深度圖像以及對應的顏色標簽圖像。在每生成一次圖像后,自動調整模型的位置和角度,再生成下一個圖像,重復以上過程。在調整模型的位置和角度時,考慮到采集的真實數據集圖像都為一面朝上,為了使虛擬數據集和真實數據集統一,所以主要調整模型繞z軸旋轉的角度。對裝配體裝配過程的4個階段分別進行建模、標記顏色標簽和生成圖像,最終形成的虛擬數據集如圖6所示,上方為深度圖像,下方為顏色標簽圖像。每個裝配階段各生成360張深度圖像及其對應的顏色標簽圖像,圖像大小均為224像素×224像素,格式為PNG,并按照9∶1的比例來劃分訓練集和測試集。

圖6 虛擬數據集實例Fig.6 Example of virtual dataset
為了建立真實數據集,此研究使用Intel Realsense D415 RGB-D相機采集真實的裝配體進行深度圖像。為了提高語義分割模型訓練和預測速度,并與虛擬數據集中的深度圖像的效果盡量保持統一,此研究將拍攝距離設置為700 mm,真實圖像的大小裁剪為224像素×224像素,圖像格式設置為PNG。再使用Adobe Photoshop對深度圖像中的每個零件進行人工標記顏色標簽,每一個裝配階段各制作30張真實圖像及其對應的顏色標簽圖像。為了擴展真實數據集的數量,提高所訓練的語義分割模型的魯棒性,對這30張深度圖像和顏色標簽圖像進行旋轉、鏡像和加噪等數據增強操作,最終每個裝配階段的真實語義分割數據集共有100張圖像,并按照9∶1的比例來劃分訓練集和測試集,形成的真實數據集如圖7所示,圖7中的深度圖像已使用INPAINT_TELEA算法修復黑斑。

圖7 真實數據集實例Fig.7 Example of real dataset
2.1.3 語義分割模型的訓練
在Windows系統下,使用百度公司開源的PaddlePaddle深度學習平臺[9]建立了網絡模型并進行模型訓練。首先使用虛擬數據集對UNet網絡模型進行訓練,使用在COCO數據集上訓練的UNet網絡預訓練權重作為初始權重,迭代輪數為1 000,學習率為0.005,批大小為2。訓練結束后,保存評價指標MIoU最優時的模型權重,然后使用上述模型權重和真實數據集訓練UNet網絡模型,迭代輪數為500,學習率為0.005,批大小為2,最終保存MIoU最優時的模型權重。通過這種方式可以讓模型預先學習一些虛擬數據集的特征,從而在訓練規模較小的真實數據集上也能有較好的訓練結果,同時可以減少訓練迭代次數,加快訓練速度。對裝配體裝配過程的4個階段的數據集分別進行訓練,最終得出的語義分割平均準確率和平均交并比如表1所示,可以看到:語義分割在4個裝配階段上的平均準確率分別為95.82%、96.96%、96.77%和96.99%。

表1 4個裝配階段的語義分割平均準確率和平均交并比
2.2.1 目標檢測模型的選擇
此系統的目標檢測算法采用了YOLOv3網絡模型[10]。YOLOv3是輕量快速的單階段目標檢測模型,它融合了FPN(特征圖金字塔網絡)[11]和殘差網絡[12]等結構,使得預測速度和精度快于傳統的目標檢測模型,因此適用于工業場景。
如圖8所示,YOLOv3網絡模型的特征提取由Darknet-53網絡實現,該網絡包含大量1×1卷積、 3×3卷積和res unit(殘差單元),YOLOv3使用了步長為2卷積來實現下采樣,降低了池化層帶來的圖像梯度負面影響。然后使用了類似FPN的上采樣和特征融合方法,分為13×13、26×26和52×52三個尺度,每個尺度下堆積不同尺度的特征圖,再通過卷積的方式實現不同尺度特征圖之間的局部特征融合,最后在這3個特征圖上分別分類和位置回歸,實現對圖像中每一個物體的位置和類別的識別。

圖8 YOLOv3網絡模型結構Fig.8 Structure of YOLOv3 network model
PaddlePaddle深度學習平臺的YOLOv3網絡在原版的YOLOv3基礎上做了一些改進,例如將骨架網絡更換為ResNet50-VD[13]、引入可變形卷積[14]替代原始卷積、使用label smooth優化方法[15]等,進一步提高了YOLOv3的工程應用性能。
2.2.2 目標檢測數據集的建立
采用目標檢測算法是為了檢測螺釘,螺釘的裝配位于第三裝配階段,因此使用第三裝配階段的彩色圖像制作數據集進行訓練。使用Intel Realsense D415 RGB-D相機對裝配體進行彩色圖像的采集,然后使用LabelImg標注軟件對彩色圖像中的每個螺釘進行人工標注生成標簽文件,形成100張圖像及其對應的標簽文件,圖像的大小為224像素×224像素,格式為PNG。最后對采集的彩色圖像進行旋轉、鏡像和加噪等數據增強操作,同時也對標簽文件進行相應的修改,最終的目標檢測數據集有300張圖像,并按照9∶1的比例來劃分訓練集和測試集。目標檢測數據集如圖9所示。

圖9 目標檢測數據集典型實例Fig.9 Typical example of object detection dataset
2.2.3 目標檢測模型的訓練
在與語義分割模型訓練相同的計算機系統和深度學習平臺上,使用上述數據集訓練YOLOv3網絡模型,使用在COCO數據集上訓練的YOLOv3網絡預訓練權重作為初始權重,迭代輪數為500,學習率為0.000 5,批大小為2,模型在第260個迭代輪次時性能達到最優,此時模型的螺釘目標檢測訓練結果為精確率99.8%,召回率99.7%,對訓練完成的模型的網絡結構和參數權重進行保存。
文中使用的裝配體為RV減速器,在RV減速器裝配過程監測系統實驗臺上實時采集圖像,利用RV減速器裝配過程監測軟件進行裝配過程監測。軟件運行環境如下:計算機為Intel(R) Core(TM) i5-6300HQ CPU@2.30 GHz,8 GB內存,Windows10系統。
如圖10所示,該圖像為第四裝配階段的RV減速器,在此裝配階段中應完成2個小齒輪的裝配,容易出現的裝配錯誤為小齒輪漏裝。針對此問題,使用RV減速器裝配過程監測軟件識別第四裝配階段的圖像。

圖10 小齒輪正常(a)與漏裝(b)Fig.10 Normal (a) and missing pinion (b)
首先打開相機顯示深度視頻,選擇第四裝配階段,然后截取當前的視頻圖像,對該圖像進行語義分割預測,在左側的信息欄中顯示預測結果為當前有小軸承1個、密封圈1個、右行星架1個、外殼1個、小齒輪1個和曲軸2個。根據第四裝配階段的零件標準,當前零件類別應為密封圈1個、右行星架1個、外殼1個、小齒輪2個和曲軸2個,兩者對比前者缺少1個小齒輪,軟件由此得出缺少1個小齒輪的判斷。多出1個小軸承是由于缺少小齒輪后,其下方的小軸承呈現在圖像上。此時的軟件界面如圖11所示,左側的信息欄提示缺少1個小齒輪。預測完成后可對當前的預測結果進行保存,圖像默認命名為當前的系統時間,方便后期對裝配過程進行追溯。

圖11 檢測到小齒輪漏裝時的軟件界面Fig.11 Software interface when missing pinion is detected
如圖12所示,該圖像為第三裝配階段的裝配體。

圖12 螺釘正常(a)與漏裝(b)圖示Fig.12 Normal (a) and missing screws (b)
在此裝配階段中應完成4個螺釘的裝配,裝配錯誤為螺釘漏裝。針對此問題,使用RV減速器裝配過程監測軟件識別第三裝配階段的圖像。
首先打開相機顯示彩色視頻,選擇第三裝配階段,截取當前的視頻圖像,對該圖像進行目標檢測預測,在左側的信息欄中顯示預測結果為當前有1個螺釘,根據第三裝配階段的零件標準,當前應有螺釘4個,兩者對比缺少3個螺釘,軟件由此得出缺少3個螺釘的判斷。此時的軟件界面如圖13所示,左側的信息欄提示缺少螺釘3個。

圖13 檢測到螺釘漏裝時的軟件界面Fig.13 Software interface when missing screws is detected
針對機械產品裝配過程中容易產生漏裝的問題,提出一種基于深度學習的RV減速器裝配過程監測系統。首先,搭建了RV減速器裝配過程監測系統實驗臺;然后使用了深度學習中語義分割和目標檢測算法對裝配體圖像進行預測計算,語義分割在4個裝配階段上的平均準確率分別為95.82%、96.96%、96.77%和96.99%,目標檢測對于螺釘的預測精確率為99.8%;最后編寫RV減速器裝配過程監測軟件,將深度學習預測、RGB-D相機視頻實時采集等功能集成到軟件中,實現了對裝配過程的監測。實驗結果證明:此軟件可以正確監測裝配過程中的零件是否存在漏裝情況。