葛亞明,葛 旭
(1.哈爾濱工業(yè)大學(深圳) 實驗與創(chuàng)新實踐教育中心, 廣東 深圳 518055; 2.哈爾濱工業(yè)大學(深圳) 機電工程與自動化學院, 廣東 深圳 518055)
電動汽車在過去幾年的快速發(fā)展催生了用于汽車的高容量密封電池[1-2]。密封電池由電池倉、電池和電池蓋組成,必須由焊接工人在流水線上焊接在一起才能投入使用。然而,焊接密封電池需要較高的專業(yè)技能,因此高級焊工的短缺成為了一個重大問題[3-4]。我們迫切需要開發(fā)一種焊接機器人來代替焊工執(zhí)行焊接任務[5-7]。
在過去的研究中,機器人焊接技術主要分為2個領域:基于自定義傳感器和傳統(tǒng)算法的自動識別焊接方案[8-10]與基于深度學習的識別焊接[11-13]。然而,在實踐中,通常存在2個問題,首先,很多基于自定義傳感器和傳統(tǒng)算法的技術對焊接環(huán)境的要求很高,當環(huán)境的光照和背景發(fā)生變化時,可能會導致算法失效[14];其次,基于深度學習的算法需要一個合理的模型來適應目標任務,如果模型參數(shù)數(shù)量過多或模型結構不合理,可能導致識別速度慢或檢測性能差,不符合我們的技術工程要求[15-17]。因此,我們提出了一種新的識別方案來解決這2個問題,可以克服復雜環(huán)境的干擾,快速準確地識別目標[18]。
本文中提出了一種解決自動焊接問題的雙階段混合模型,將圖像分割網(wǎng)絡與傳統(tǒng)圖像處理算法結合,從而同時具有了深度學習的精度與傳統(tǒng)算法的推理速度,能夠滿足實際場景需求。一方面,我們在第一階段模型中提出了一種輕量級網(wǎng)絡模型CA-UNet,可以在復雜環(huán)境中快速分割目標對象;另一方面,我們提出了一個基于融合算法的第二階段模型,可根據(jù)CA-UNet輸出的灰度圖像快速建立從圖像到機械臂焊接的空間路徑映射。
以實現(xiàn)密封電池輪廓空間定位[19]為目標,提出了端到端的雙階段混合模型,將獲取原始圖片到生成三維空間路徑分為2個階段分別進行。一階段模型負責實現(xiàn)密封電池與背景的分割,二階段模型負責根據(jù)分割圖像建立空間焊接路徑。
一階段模型基于UNet圖像分割網(wǎng)絡做出改進,引入通道注意力(Channel Attention)模塊[20],得到改進后的圖像分割網(wǎng)絡CA-UNet,然后通過訓練數(shù)據(jù)集訓練CA-UNet,得到合適的網(wǎng)絡權重,進而在實驗中成功地將密封電池與背景分離。
二階段模型融合了多種算法,包括邊緣提取[21],圖像降噪,坐標變換,路徑規(guī)劃等,能夠根據(jù)分割圖像快速計算出密封電池空間輪廓。實驗整體流程如圖1所示。
提出的雙階段混合模型方法的總體過程如圖2所示。第一階段模型去除圖像失真并進行實例分割以確保分割精度;第二階段模型負責建立從灰度圖像到三維焊縫路徑的映射,結合邊緣提取、角點識別、坐標變換和路徑規(guī)劃等算法快速生成焊縫路徑。雙階段混合模型方法是一種端到端的圖像處理技術,可生成世界坐標系下的3D焊接路徑,具有快速、準確和使用簡單的優(yōu)點。
在確定了整體的算法流程之后,需要拍攝圖片作為模型的輸入,然而,在將圖片輸入模型之前,必須解決圖像的失真問題。第一次使用的攝像機大多存在畸變現(xiàn)象,拍攝的圖像會出現(xiàn)不同情況的失真,從而影響對密封電池的分割和定位,所以,需要去除圖像的畸變。圖3給出了去畸變前后圖像的對比。
UNet在很多圖像分割任務中表現(xiàn)優(yōu)異,但由于參數(shù)量較大,邊緣設備無法負載該模型。因此,本文中提出了CA-UNet模型,它增加了通道注意力機制來縮放特征通道,顯著減少模型參數(shù)量并提取更多有用的特征。特征圖的最大通道數(shù)減少到512,相比UNet提升了模型的推理速度。
CA-UNet是一個典型的Encoder-Decoder結構的卷積神經(jīng)網(wǎng)絡。它通過下采樣和上采樣模塊獲取局部和全局特征,從而可以很好地學習目標的特征信息。 此外,CA-UNet通過在下采樣和上采樣過程中連接特征圖來豐富通道信息,從而提取更多的特征。
圖3 去畸變前后圖像對比Fig.3 Contrast the original image with the dedistorted image
搭建的模型結構如圖4所示。疊加的卷積層將增加特征圖的通道數(shù),以學習更深入的特征。其次,Max-Pooling算子會不斷降低特征圖的空間維度,以獲得特征圖上各個空間尺度的局部和全局特征。與UNet相比,激活函數(shù)選擇LeakyReLU以確保不會出現(xiàn)梯度方向的鋸齒問題,從而導致特征的丟失。在使用激活函數(shù)之前,對特征圖使用批量歸一化來提高網(wǎng)絡的收斂速度。
圖4 CA-UNet的網(wǎng)絡結構Fig.4 The overall structure of CA-UNet
在CA-UNet的后續(xù)結構中,可以看到反卷積算子和通道注意力(Channel Attention)[22]模塊。反卷積算子允許我們對特征圖進行上采樣,以獲得低分辨率但更深入特征的特征圖,然后對高分辨率但不太深入的特征進行跳躍連接。最后將拼接后的特征圖輸入到Channel Attention模塊中,進行特征通道壓縮,以獲得更多的特征信息。Channel Attention的機制如圖5所示。特征通道通過1×1卷積進行縮減。下采樣通道注意力模塊首先將特征通道除以2r,然后乘以r將通道數(shù)量壓縮到原始數(shù)量的一半。類似地,特征通道的數(shù)量可以增加到原來的兩倍,即上采樣通道注意力模塊。用戶可以根據(jù)結果的性能指定壓縮或增強的特征通道數(shù)量。
圖5 Channel Attention模塊Fig.5 Channel Attention module
CA-UNet完成對輸入圖像的預測后,會輸出一張單通道灰度圖。該圖像中的白色區(qū)域表示檢測到的密封電池,黑色表示不相關的背景。隨后需要融合一些圖像處理算法來實現(xiàn)密封電池的空間定位和路徑規(guī)劃。
二階段模型整體由許多算法構成,包括形態(tài)學處理、邊緣提取、角點識別、坐標變換、路徑規(guī)劃等。形態(tài)學處理是為了消除圖像分割網(wǎng)絡輸出圖像中的噪點,在保證邊緣輪廓不變的情況下大幅降低圖像的噪聲。邊緣提取和角點識別可以快速地定位密封電池,利用密封電池的矩形特征實現(xiàn)空間定位。在獲取到密封電池在相機坐標系下的坐標后,利用相機坐標系與世界坐標系的變換得到密封電池在世界坐標系下的坐標,進而可以進行機械臂的路徑規(guī)劃。
圖6 相機坐標系與世界坐標系Fig.6 Conversion of sealed cell pixel coordinates to world coordinates
需要通過外參標定來獲得世界坐標系和相機坐標系的映射關系,從而能夠在世界坐標系中定位密封電池。世界坐標系與相機坐標系的映射關系如圖6所示。假設刀片電池上的某一個點在相機坐標系中的坐標為P(xBlade,yBlade,zBlade)簡記為P(xB,yB,zB)那么從世界坐標系到相機坐標系的變換為
(1)
式(1)中:R為正交單位旋轉矩陣;T為平移向量,可以從機械臂的參數(shù)中獲得。對于QKM六軸機械臂,M1由以下公式求得:
(2)
為了驗證所提出方法的有效性和魯棒性,在車間環(huán)境中使用氣焊機和QKM 六軸機器人進行實驗。使用外部計算機來實現(xiàn)我們提出的方法并與機器人手臂進行通信以進行焊接。計算機的硬件環(huán)境為AMD Ryzen7 5800 CPU,NVIDIA GeForce RTX3060 GPU,以及16 GB RAM。
軟件環(huán)境方面,CA-UNet網(wǎng)絡采用開源深度學習框架Pytorch構建,CA-UNet實時運行環(huán)境為Ubuntu 20.04,在這臺計算機上使用 CA-UNet模型進行模型部署,并與機械臂進行通信。
為了實現(xiàn)模型的訓練和部署,首先需要建立密封電池在機械臂平臺上的圖片數(shù)據(jù)集。用機械臂搭載的攝像機在不同光照、不同角度下采集了約500張圖片,隨后使用圖像增強,對圖片隨機組合使用裁剪、噪聲、旋轉、變化對比度等增強方法,最后得到約2 000張圖片,構成總數(shù)據(jù)集。得到圖片數(shù)據(jù)集后,按照訓練集、驗證集、測試集比例7∶2∶1來劃分數(shù)據(jù)集。對于不同模型的對比訓練部分,采用GPU服務器進行模型參數(shù)學習,其中服務器的CPU采用英特爾的i9-10900k,GPU為RTX 2080Ti。
用于評估圖像分割模型的可靠性和性能的方法通常復雜且多樣。為了客觀地評估我們提出的方法的有效性,分別考慮均交并比(MIoU)[23]和推理速度,并使用損失函數(shù)來優(yōu)化我們的模型。另外,將應用CA-UNet和UNet的結果進行比較,以考察CA-UNet是否有性能提升。
選擇的損失函數(shù)是帶有l(wèi)ogits損失函數(shù)的二元交叉熵。帶有l(wèi)ogits損失函數(shù)的二元交叉熵將 Sigmoid 層和 BCELoss 結合在一個類中。 它比使用簡單的Sigmoid和BCELoss更穩(wěn)定,因為通過將操作組合到一層,利用log-sum-exp技巧來實現(xiàn)數(shù)值穩(wěn)定性。BCEWithLogitsLoss首先使用sigmoid函數(shù)對CA-UNet輸出的每個像素值進行歸一化,然后以0.5的閾值對像素進行分類,這比直接輸出類別在數(shù)值上更加穩(wěn)定。
BCE損失函數(shù)的表達式如下:
(1-yi)·log(1-p(yi))
(3)
式(3)中:yi為標簽;p(yi)為模型輸出的第i個點的預測概率。
使用MIoU作為評估指標,這是實例分割的標準指標,用于計算2個集合的交并比。其計算公式如下:
(4)
通過增加通道注意力機制等改進了UNet的網(wǎng)絡結構,從而能夠大幅增加模型推理速度,并保持較高的預測精度。將分別從預測1張圖像、3張圖像、5張圖像和10張圖像的時間來比較2個模型的推理速度。
如圖7所示,分別使用UNet和CA-UNet在密封電池數(shù)據(jù)集上進行訓練,并將學習率設置為1e-4,同時選擇Adam優(yōu)化器??梢钥吹?隨著訓練步數(shù)的增加,2個網(wǎng)絡的損失都會減少并最終收斂到一個值。 但UNet的損失值低于CA-UNet,因此UNet在測試集上的表現(xiàn)可能存在2種情況。在第一種情況下,UNet在測試集上表現(xiàn)更好,因為它具有更多的網(wǎng)絡參數(shù)并學習更多的特征。第二種情況,UNet的冗余結構導致過擬合,導致在測試集上的性能比CA-UNet差。因此,要確定哪個網(wǎng)絡表現(xiàn)更好,必須進行實際測試。
圖7 UNet與CA-UNet在訓練過程中的Loss變化情況Fig.7 Decline of loss function for UNet and CA-UNet model
隨后在測試集上進行實驗來驗證這2個網(wǎng)絡模型的預測精度。如圖8所示。每一步都評估模型的MIoU。隨著訓練步數(shù)的增加,2個模型的 MIoU接近0.99,并且CA-UNet的MIoU略高于UNet,這表明即使我們的改進結構使用更少的模型參數(shù),它仍然可以學到更多對目標有用的特征并抑制過度擬合。
最后本文分別對比了UNet和CA-UNet的預測精度和推理速度,如表1和表2所示。如表1所示,輸入圖像的長和寬均為480,損失函數(shù)平均值(Avg Loss)分別為-117和-102,CA-UNet在縮減了大量參數(shù)的情況下具有和UNet相近的預測精度。此外,如表2所示,CA-UNet在分割相同數(shù)量的圖像時相比于UNet節(jié)省了大量時間,因為它使用了很多通道注意力模塊,參數(shù)量實現(xiàn)了大幅縮減,從而提高了整個預測過程的速度。
圖8 2種網(wǎng)絡在訓練過程中的MIoU變化情況Fig.8 MIoU accuracy for UNet and CA-UNet model
表1 UNet與CA-UNet的精度對比Table 1 Precision comparison between UNet and CA-UNet
表2 UNet與CA-UNet的推理速度對比Table 2 Comparison of reasoning speed between UNet and CA-UNet s
同時,在訓練階段,2種網(wǎng)絡所花費的時間也有所不同,如表3所示。在前文環(huán)境配置中提到,使用了配備RTX 2080Ti的GPU服務器進行模型訓練,由于CA-UNet顯著降低了參數(shù)量,其訓練所占用的顯存和耗費時間也大幅降低。在訓練過程中,不同模型統(tǒng)一使用大小為64的Batchsize。從表3中可以看出,對于訓練30個epoch的模型,CA-UNet的花費僅為2.9 h,比UNet節(jié)省了約1.2 h;對于訓練60個epoch的模型,CA-UNet比UNet節(jié)省了2.3 h。由此可以看出,隨著訓練輪次的增加,參數(shù)量更小的CA-UNet在訓練時間方面有著更大的優(yōu)勢。
在不同的工作環(huán)境下進行了對比實驗,以研究兩階段混合模型方法的實際影響,實驗結果如圖9所示。
比較實驗中使用了4種不同的工作條件,準確地代表了具有不同光照和陰影的真實工作環(huán)境。具體工況分為正常工況,低光照工況,高光照工況以及高陰影工況。UNet與CA-UNet輸出的分割圖均有大量噪聲,經(jīng)過二階段模型處理會基本消除掉噪聲,也進一步驗證了二階段模型的必要性。與Ground Truth相比,雙階段模型輸出結果的誤差低于1.6%。第二階段模型的算法補償將輸出結果的準確性大大提高,從而可以應用于焊接機器人的實際操作中。
針對用于工業(yè)機器人焊接系統(tǒng)的密封電池自主識別和定位算法進行了研究,該算法可用于復雜的工作條件,并可推廣到任何需要邊緣焊接的物體。提出了一種雙階段混合模型方法,將任務拆解成兩個階段分別求解,實現(xiàn)端到端的圖像處理方案,建立從原始圖像到3D路徑的完整映射。
雙階段混合模型方法經(jīng)過實驗驗證取得了較好的效果,在克服環(huán)境干擾、提高推理速度、實現(xiàn)高精度識別等方面具有優(yōu)異的性能。