周 林 何 理 王 宸②③ 黃玉春 周志霄 王生懷
(①湖北汽車工業(yè)學院機械工程學院,湖北 十堰 442000;②上海大學上海市智能制造與機器人重點實驗室,上海 200072;③中國工程科技十堰產(chǎn)業(yè)技術(shù)研究院,湖北 十堰 442000;④湖北萬潤新能源科技股份有限公司,湖北 十堰 442500)
在工業(yè)生產(chǎn)制造過程中,零件分揀是重要的一環(huán),零件分揀的準確率和速度將會影響生產(chǎn)的質(zhì)量與效率[1],尤其是小型零件,例如螺栓、螺母、軸承和電子元件等。由于其尺寸差異都在毫米之間,肉眼難以識別,導致人工分揀難。因此部分大型企業(yè)為了縮短生產(chǎn)周期和降低生產(chǎn)成本,大力推行自動化分揀。
近年來,隨著深度學習算法的不斷發(fā)展和普及,基于深度學習算法的視覺分揀技術(shù)成為了自動分揀的重要趨勢[2]。楊迪[3]利用圖像的邊緣信息,改進Hough 直線檢測[4],設(shè)計對應(yīng)六邊形的峰值投票策略來實現(xiàn)六邊形螺栓的識別與定位。對此董陽等[5]改進Canny 邊緣檢測算法,獲取工件輪廓,利用Hough 投影法尋找目標輪廓的主軸,建立目標工件的最小外接矩形,實現(xiàn)目標工件的定位并確定目標圖像位置。
傳統(tǒng)機器視覺的目標檢測方法[6]一般使用滑窗來確定圖像中可能包含目標的區(qū)域,然后使用特征提取算法來提取該區(qū)域的特征并使用分類器進行分類[7]。這些方法雖然效果良好,但是存在穩(wěn)定性差、計算過程繁雜等問題。
而卷積神經(jīng)網(wǎng)絡(luò)憑借其較強的魯棒性和泛化性[8],在目標檢測任務(wù)中逐漸成為主要的基礎(chǔ)網(wǎng)絡(luò)。邵劍飛等[9]提出一種融合SE 和多尺度卷積的輕量級新冠肺炎分類模型,解決新冠肺炎診斷準確性受主觀因素影響問題,其中對MobileNetV2 輕量級網(wǎng)絡(luò)進行了改進,同時添加了SE 注意力機制,最后準確率達到了98%。 Liu C H 等[10]提出了基于改進YOLOv5 模型的蔗梢分叉點識別方法,用于實現(xiàn)甘蔗蔗梢分叉點的精確識別與定位,平均精度達到92.3%。王二浩[11]提出了一種基于改進U-Net 模型的文檔圖像篡改識別的方法,添加注意力機制關(guān)注微弱處理痕跡,提高了網(wǎng)絡(luò)檢測能力。陳逢軍等[12]提出了一種基于U-Net 網(wǎng)絡(luò)的柱面透鏡視覺定位策略,解決柱面透鏡定位在擺盤工藝過程中產(chǎn)品良率低、生產(chǎn)作業(yè)時間長的問題。
由于小型零件的尺寸差異很小,而Fast RCNN[13]、YOLO[14]和SSD[15]等算法通常只能輸出一個包裹大概范圍預測框,這種范圍的預測框無法提供零件的具體輪廓,不利于零件位置精確定位。根據(jù)文獻[5]、文獻[11]、文獻[12] 介紹的方法,通過將零件與背景分開,再利用最小外接矩陣得到零件的基本參數(shù),從而實現(xiàn)零件的識別與定位。由于傳統(tǒng)機器視覺對圖像質(zhì)量要求高,且泛化性和魯棒性較差,故利用canny 邊緣檢測模型無法應(yīng)用于后期圖片預測中,因此本文選擇U-Net 模型作為基礎(chǔ)模型。在此基礎(chǔ)上為了提升網(wǎng)絡(luò)處理速度,本文采用輕量級網(wǎng)絡(luò)MobilenetV2[16]替換U-Net 的特征提取網(wǎng)絡(luò),降低模型計算量,節(jié)約成本;針對小型零件圖像分割準確度較低的問題,引入SE 注意力模塊,以自適應(yīng)的方式提高對目標特征的關(guān)注度,提高模型分割精度。本文將此模型命名為IU-Net 模型。最后對IU-Net 模型處理后的圖片進行繪制最小外接矩陣,得到小型零件相關(guān)參數(shù),為解決小型零件識別速度慢、定位不精確等問題提供了一種解決方案。本文將此模型命名為IU-Net-MBR 模型。
U-Net 是一種用于圖像分割的端到端的神經(jīng)網(wǎng)絡(luò)模型,最初由Ronneberger 等在2016 年提出,基于FCN 的思想進行了改進。它的網(wǎng)絡(luò)結(jié)構(gòu)呈U 形,因此命名為U-Net 網(wǎng)絡(luò),結(jié)構(gòu)示意圖如圖1 所示。網(wǎng)絡(luò)的左側(cè)為壓縮通道或稱為編碼器(下采樣),右側(cè)為擴展通道或稱為解碼器(上采樣)。壓縮通道用于逐層提取圖像的特征,而擴展通道是通過反復與編碼部分進行特征映射,使得模型能夠從上下文信息和細節(jié)信息由組合得到更加精確的輸出特征圖。故擴展通道主要目的是還原圖像的位置信息,通過逐層的下采樣和上采樣以及在不同層之間添加跳躍連接,來提高分割的精度和效率。
圖1 U-Net 網(wǎng)絡(luò)結(jié)構(gòu)示意圖
編碼器和解碼器中同維度間的箭頭表示卷積,編碼器與解碼器間對應(yīng)維度間的箭頭表示跳躍連接。箭頭向下表示最大池化,箭頭向上為上采樣。卷積是為了特征提取,最大池化用于降低維度,上采樣用于恢復維度,跳躍連接用于特征融合。
下采樣路徑包含卷積層和池化層,用于提取高層次特征并減小特征圖尺寸。上采樣路徑包含轉(zhuǎn)置卷積層和跳躍連接,用于將特征圖上采樣到原始尺寸并保留底層特征信息。最后,通過一個1×1 卷積層將特征圖映射到分割結(jié)果上。
由于本文螺栓分揀場景較為復雜,因此需要更深層的卷積操作來提取有效特征。然而,隨著卷積層的增加,網(wǎng)絡(luò)參數(shù)和內(nèi)存需求也會越來越大,使得在移動設(shè)備和嵌入式設(shè)備上運行時變得困難。為了在保證高效特征提取的同時降低網(wǎng)絡(luò)參數(shù),本文采用了MobilenetV2 網(wǎng)絡(luò)來替換 U-Net 的特征提取網(wǎng)絡(luò),并在MobilenetV2 網(wǎng)絡(luò)結(jié)構(gòu)中嵌入 SENet 注意力機制,進一步提高 U-Net 的分割精度和魯棒性。具體模型結(jié)構(gòu)如圖2 所示,其中Bneck 模塊為MobilenetV2 與SE 的結(jié)合模塊。
圖2 IU-Net 模型結(jié)構(gòu)圖
近年來,深度學習領(lǐng)域一直在推動神經(jīng)網(wǎng)絡(luò)輕量化,以便在保持準確率的同時,使模型更小、運行更快。自2016 年以來,業(yè)界已經(jīng)提出了MnasNet[17]、ShuffleNet[18]、NasNet[19]和MobileNet[20]等輕量級網(wǎng)絡(luò)模型。
MobileNet 系列的第一代是MobileNetV1,它采用了深度可分離卷積結(jié)構(gòu)(depthwise separable convolution)[21]來替換傳統(tǒng)卷積操作,目的是降低計算量和參數(shù)數(shù)量。這種方法將傳統(tǒng)卷積有效地分解,從而在不損失精度的情況下,顯著減少了模型的計算量和模型參數(shù)的數(shù)量。圖3 所示為深度可分離卷積結(jié)構(gòu),由逐通道卷積(depthwise convolution,DW)和逐點卷積(pointwise convolution,PW)兩個步驟組成。
圖3 深度可分離卷積結(jié)構(gòu)
MobileNetV2 網(wǎng)絡(luò)[22]是在MobileNetV1 的基礎(chǔ)上進行了改進,提高了模型的準確度和性能,同時保持了相似的計算量和參數(shù)量。它主要做了兩點改進:①在DW 卷積前加入一個PW 卷積,并去掉原始的PW 卷積,形成線性瓶頸結(jié)構(gòu),以保持信息的完整性和模型的穩(wěn)定性;②采用倒殘差結(jié)構(gòu),先升維再降維,并通過DW 卷積提取特征,以利用深度可分離卷積的優(yōu)勢,并增加網(wǎng)絡(luò)深度和避免梯度消失。
SE 注意力機制[23]是一種通過為每個通道賦予自適應(yīng)的權(quán)重系數(shù),來強化重要特征并抑制非重要特征的通道注意力機制,可以提高模型性能。它由Squeeze 操作和Excitation 操作組成,如圖4 所示。Squeeze 操作通過全局池化將一幅寬為W、高為H、通道數(shù)為C的特征圖Pic 壓縮為1×1×C的向量,表示各通道的全局空間特征。其壓縮過程如下:
圖4 SE 注意力模塊結(jié)構(gòu)
式中:uC代表第C個通道經(jīng)過卷積變換的輸出;H和W代表Pic 的高和寬;zC代表第C個通道經(jīng)過壓縮操作的輸出;Fsq代表全局特征壓縮變換函數(shù)。
Excitation 操作通過兩個全連接層學習各通道的權(quán)重值,并與輸入特征相乘,再經(jīng)過Sigmoid 函數(shù)縮放,得到輸出特征。其運算方式如下:
式中:降維權(quán)重W1在第一個全連接層中,且W1∈,r為降維比;升維權(quán)重W2在第二個全連接層中,且W2∈;Sigmoid 激活函數(shù)用 σ表示;z是全局特征,通過Squeeze 操作得到。
SE 注意力機制參數(shù)少、計算量小、易于集成,并且能夠自適應(yīng)地學習每個通道和每個位置的重要性,從而更加精細地關(guān)注特征[24]。
深度可分離卷積的主要作用是使得MobileNetV2網(wǎng)絡(luò)更加輕量化,降低模型的計算復雜度和參數(shù)量。但是,這種方式?jīng)]有充分利用通道之間的關(guān)系,導致模型難以學習到不同通道特征的關(guān)系和重要性,這可能會影響模型在一些復雜場景的處理能力。為了解決這個問題,本文在倒殘差結(jié)構(gòu)的基礎(chǔ)上,加入了SE 注意力模塊,讓網(wǎng)絡(luò)能夠更好地學習每個通道的權(quán)重,增強U-Net 對重要目標特征的關(guān)注,從而提高圖像分割的精度。SE-MobileNetV2 結(jié)合模塊結(jié)構(gòu)如圖5 所示。
圖5 SE-MobileNetV2 結(jié)合模塊結(jié)構(gòu)
機械制造、電子制造、汽車制造等環(huán)境中,作為經(jīng)典小型零件之一的螺栓被大量應(yīng)用于制造業(yè)中的各種生產(chǎn)流程。
螺栓可以按照類型、材質(zhì)和規(guī)格進行區(qū)分,不同類型、材質(zhì)的螺栓可以通過螺栓的外形和顏色等特征來進行識別、分類。但是對于不同規(guī)格的螺栓,它們的形狀和尺寸相似,僅存在細微的差別,這給分揀任務(wù)帶來了很大的挑戰(zhàn)。為了解決這個難題,本文選擇以若干相同類型、材質(zhì)、不同規(guī)格的內(nèi)六角螺栓為研究對象制作數(shù)據(jù)集。
本文通過U-Net 實現(xiàn)螺栓目標分割,螺栓數(shù)據(jù)集的建立方法是根據(jù)原圖像得到標簽文件,主要完成獲取原始圖像、標注數(shù)據(jù)標簽、數(shù)據(jù)擴充和劃分數(shù)據(jù)集等工作。
本文采集了1 224 張分辨率為1 280×1 024 的圖片來增加數(shù)據(jù)量和增強目標特征。采集過程中,各種螺栓通過不同角度且雜亂無序的方式擺放。圖6所示為部分采集的圖像。
圖6 部分采集圖像
如圖7 所示,本文使用LabelMe 圖像標注工具對每張圖片進行手工標注。并使用JSON 格式將標注信息進行存儲,如圖8 所示。
圖7 數(shù)據(jù)集標注
圖8 JSON 格式存儲
為了防止在深度學習中因樣本數(shù)量不足而出現(xiàn)模型過擬合,無法泛化到新數(shù)據(jù)的問題,本文采用水平翻轉(zhuǎn)、鏡像對稱和高斯加噪等方法將原先1 224 張螺栓圖像在線擴充為12 016 張螺栓圖像來解決上述問題。部分在線擴充圖像如圖9 所示,圖9a左側(cè)為原圖,右側(cè)為其對應(yīng)的標簽。
圖9 螺栓圖像數(shù)據(jù)集在線擴充
在完成螺栓數(shù)據(jù)集采集后,將得到的數(shù)據(jù)集按照訓練集、測試集、驗證集按照大約8∶1∶1 的比例進行劃分。
將U-Net 特征提取網(wǎng)絡(luò)替換為SE-MobileNetV2,搭建語義分割模型。表1 是搭建的試驗環(huán)境。
表1 試驗環(huán)境
為獲得更好的神經(jīng)網(wǎng)絡(luò)效果,本文使用了SGD優(yōu)化器,并將動量值(momentum)設(shè)置、迭代次數(shù)(epoch)和批量大小(batch size)分別設(shè)置為0.9、200 和16。
相較于U-Net 網(wǎng)絡(luò)模型,添加了SE-MobileNetV2結(jié)合模塊的IU-Net 具有更加良好的表現(xiàn)。如圖10所示,虛線為U-Net 原網(wǎng)絡(luò)的損失函數(shù)圖,而實線為改進后U-Net 的損失函數(shù)。從圖10 可以看出,IU-Net 具有更快的Loss 收斂速度。
圖10 Loss 值對比圖
改進后的U-Net模型分別與U-Net、DeepLabv3[25]、PSP-Net[26]、FCN[27]幾種主流語義分割模型在同樣的訓練參數(shù)和驗證集等情況下,進行語義分割性能對比試驗。具體數(shù)據(jù)見表2。評價指標有Miou、PA、運算速度、FLOPs 和Params。
表2 模型Miou 與PA 對比
在表2 中,本文提出的IU-Net 模型的Miou、PA、FLOPs、Params分別為80.41%、95.43%、33.3 f/s、6.3×106、25.4 MB。其中FLOPs 為模型中的參數(shù)量,Params 的大小表示模型內(nèi)存的大小,相較于原網(wǎng)絡(luò)Miou 和PA 分別提升了4.19%、3.82%;運算速度也得到了顯著的提升,模型的FLOPs 和Params都得到有效的改善。由于Deeplabv3 等網(wǎng)絡(luò)最初訓練時,都是用很龐大、很復雜的數(shù)據(jù)集,如COCO數(shù)據(jù)集,因此Deeolabv3 等原始網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)都較復雜,導致模型參數(shù)量和內(nèi)存都較大。而本文將U-Net 的特征提取網(wǎng)絡(luò)替換成輕量化的MobilenetV2 網(wǎng)絡(luò),所以IU-Net 的FLOPs 和Params得到了明顯的縮減。同時本文將SE 注意力模塊加入到MobilenetV2 的倒殘差結(jié)構(gòu)上,增強模型對重要目標特征的關(guān)注度,所以IU-Net 的Miou 和AP均優(yōu)于其他模型。
圖11a 所示為一張分辨率為1 280×1 024 像素的原始圖像,圖11b~圖11f 依次為FCN、PSP-Net、U-Net、Deeplabv3 和IU-Net 五種模型的分割圖像。
圖11 圖像分割結(jié)果對比圖
如圖11 所示,相較于其他模型,本文提出的IU-Net 模型對小型零部件的分割效果明顯優(yōu)于其他模型。
YOLO 等方法雖然可以精確地對目標進行識別,卻無法精確定位目標外輪廓。相比之下,最小外接矩形能夠簡單且高效地找出目標外輪廓,提供目標詳細尺寸信息。本文做了使用IU-Net 與不使用IUNet 情況下使用最小外接矩陣確定零件的尺寸的對比試驗。圖12 所示為在使用U-Net 網(wǎng)絡(luò)分割的情況下使用最小外接矩陣的效果圖,而圖13 為在原圖上使用最小外接矩陣的效果圖。在圖12 中,能直觀地得出零件的旋轉(zhuǎn)最小外接矩陣的長寬信息,從最小外接矩陣的尺寸可以推測出零件的基本參數(shù),便于區(qū)分不同長度的零件。而在圖13 中,由于零件表面的色差過大,導致分割的最小外接矩陣不是整個零件的最小外接矩陣,故在圖13 中不能得知關(guān)于零件的基本參數(shù)的信息。因此,本文選擇使用改進的U-Net 網(wǎng)絡(luò)將零件與背景分開,再用最小外接矩陣確定零件基本信息,完成零件的定位與識別任務(wù),同時在算法中運用cv2.boxPoints()函數(shù),得到每個圖片中零件的最小外接矩陣4 個頂點的下x軸和y軸坐標,為后期抓取試驗做準備。
圖12 IU-Net-MBR 處理的效果圖
圖13 在原圖上使用最小外界矩
工業(yè)相機在拍攝圖片時,將三維場景轉(zhuǎn)換為二維圖像。在這個不可逆的過程中,三維空間坐標(x3d,y3d,z3d)被轉(zhuǎn)換為像素坐標(u,v)。為了實現(xiàn)在現(xiàn)實環(huán)境中抓取物體,需要知曉在三維空間下的坐標。因此,需要使用相機標定使得像素坐標逼近三維空間坐標。
式(3)展示了像素坐標(u,v)轉(zhuǎn)化為三維空間坐標(x3d,y3d,z3d)的具體方法。
式中:相機的內(nèi)部參數(shù)和外部參數(shù)分別由矩陣M1和M2表示。f為鏡頭的焦距,dx和dy分別為單像素在u和v方向上的真實測量長度,(u0,v0)為主點坐標。
張正友標定法是一種準確度高、精度高的相機標定方法。通過拍攝12 張不同方位的棋盤格圖像,提取這些圖像特征點,便可以得出相機的內(nèi)部參數(shù)矩陣M1和畸變參數(shù)Kc。具體參數(shù)如下:
如圖14 所示,視覺分揀試驗平臺由單目相機、實驗臺、分類盤、工作站和機械臂等器材構(gòu)成。其中,單目相機、機械臂的具體型號見表3。
表3 部分器材型號
圖14 視覺分揀試驗平臺
為驗證本文提出的方法,本文將抓取區(qū)域規(guī)格為M10×20 的內(nèi)六角螺栓隨機放置,但不堆積。為使得機械臂能穩(wěn)定運行,機械臂末端在運動過程中速度、加速度分別設(shè)置為2 m/s 和1.5 m/s2,與二指夾爪連接的真空氣源設(shè)置為0.4 MPa。試驗結(jié)果見表4。
表4 抓取試驗結(jié)果
圖15 所示為機械臂抓取螺栓的主要過程。從表4 可以看出,本文提出的方法可以準確識別螺栓。
圖15 抓取試驗
本文為提升機器視覺識別隨機無序放置小型機械零件的速度、定位精度,提出了一種IU-Net-MBR方法用于小型零件的定位和識別,這種方法將MobilenetV2 網(wǎng)絡(luò)來替換U-Net 的特征提取網(wǎng)絡(luò),在MobilenetV2 網(wǎng)絡(luò)結(jié)構(gòu)中嵌入SENet 注意力機制,最后使用最小外接矩陣確定零件的基本參數(shù)實現(xiàn)零件的識別和定位。與Deeplabv3 等主流模型在訓練收斂速度、平均交并比、像素準確率、預測運行速度和可視化效果方面進行比較后,發(fā)現(xiàn)IU-Net 方法均優(yōu)于其他模型。同時也注意到該方法需要高性能硬件參與,而實際生產(chǎn)環(huán)境中難以滿足這樣的環(huán)境。未來,將采用模型壓縮來降低硬件要求。