周 林 何 理 王 宸②③ 黃玉春 周志霄 王生懷
(①湖北汽車工業學院機械工程學院,湖北 十堰 442000;②上海大學上海市智能制造與機器人重點實驗室,上海 200072;③中國工程科技十堰產業技術研究院,湖北 十堰 442000;④湖北萬潤新能源科技股份有限公司,湖北 十堰 442500)
在工業生產制造過程中,零件分揀是重要的一環,零件分揀的準確率和速度將會影響生產的質量與效率[1],尤其是小型零件,例如螺栓、螺母、軸承和電子元件等。由于其尺寸差異都在毫米之間,肉眼難以識別,導致人工分揀難。因此部分大型企業為了縮短生產周期和降低生產成本,大力推行自動化分揀。
近年來,隨著深度學習算法的不斷發展和普及,基于深度學習算法的視覺分揀技術成為了自動分揀的重要趨勢[2]。楊迪[3]利用圖像的邊緣信息,改進Hough 直線檢測[4],設計對應六邊形的峰值投票策略來實現六邊形螺栓的識別與定位。對此董陽等[5]改進Canny 邊緣檢測算法,獲取工件輪廓,利用Hough 投影法尋找目標輪廓的主軸,建立目標工件的最小外接矩形,實現目標工件的定位并確定目標圖像位置。
傳統機器視覺的目標檢測方法[6]一般使用滑窗來確定圖像中可能包含目標的區域,然后使用特征提取算法來提取該區域的特征并使用分類器進行分類[7]。這些方法雖然效果良好,但是存在穩定性差、計算過程繁雜等問題。
而卷積神經網絡憑借其較強的魯棒性和泛化性[8],在目標檢測任務中逐漸成為主要的基礎網絡。邵劍飛等[9]提出一種融合SE 和多尺度卷積的輕量級新冠肺炎分類模型,解決新冠肺炎診斷準確性受主觀因素影響問題,其中對MobileNetV2 輕量級網絡進行了改進,同時添加了SE 注意力機制,最后準確率達到了98%。 Liu C H 等[10]提出了基于改進YOLOv5 模型的蔗梢分叉點識別方法,用于實現甘蔗蔗梢分叉點的精確識別與定位,平均精度達到92.3%。王二浩[11]提出了一種基于改進U-Net 模型的文檔圖像篡改識別的方法,添加注意力機制關注微弱處理痕跡,提高了網絡檢測能力。陳逢軍等[12]提出了一種基于U-Net 網絡的柱面透鏡視覺定位策略,解決柱面透鏡定位在擺盤工藝過程中產品良率低、生產作業時間長的問題。
由于小型零件的尺寸差異很小,而Fast RCNN[13]、YOLO[14]和SSD[15]等算法通常只能輸出一個包裹大概范圍預測框,這種范圍的預測框無法提供零件的具體輪廓,不利于零件位置精確定位。根據文獻[5]、文獻[11]、文獻[12] 介紹的方法,通過將零件與背景分開,再利用最小外接矩陣得到零件的基本參數,從而實現零件的識別與定位。由于傳統機器視覺對圖像質量要求高,且泛化性和魯棒性較差,故利用canny 邊緣檢測模型無法應用于后期圖片預測中,因此本文選擇U-Net 模型作為基礎模型。在此基礎上為了提升網絡處理速度,本文采用輕量級網絡MobilenetV2[16]替換U-Net 的特征提取網絡,降低模型計算量,節約成本;針對小型零件圖像分割準確度較低的問題,引入SE 注意力模塊,以自適應的方式提高對目標特征的關注度,提高模型分割精度。本文將此模型命名為IU-Net 模型。最后對IU-Net 模型處理后的圖片進行繪制最小外接矩陣,得到小型零件相關參數,為解決小型零件識別速度慢、定位不精確等問題提供了一種解決方案。本文將此模型命名為IU-Net-MBR 模型。
U-Net 是一種用于圖像分割的端到端的神經網絡模型,最初由Ronneberger 等在2016 年提出,基于FCN 的思想進行了改進。它的網絡結構呈U 形,因此命名為U-Net 網絡,結構示意圖如圖1 所示。網絡的左側為壓縮通道或稱為編碼器(下采樣),右側為擴展通道或稱為解碼器(上采樣)。壓縮通道用于逐層提取圖像的特征,而擴展通道是通過反復與編碼部分進行特征映射,使得模型能夠從上下文信息和細節信息由組合得到更加精確的輸出特征圖。故擴展通道主要目的是還原圖像的位置信息,通過逐層的下采樣和上采樣以及在不同層之間添加跳躍連接,來提高分割的精度和效率。

圖1 U-Net 網絡結構示意圖
編碼器和解碼器中同維度間的箭頭表示卷積,編碼器與解碼器間對應維度間的箭頭表示跳躍連接。箭頭向下表示最大池化,箭頭向上為上采樣。卷積是為了特征提取,最大池化用于降低維度,上采樣用于恢復維度,跳躍連接用于特征融合。
下采樣路徑包含卷積層和池化層,用于提取高層次特征并減小特征圖尺寸。上采樣路徑包含轉置卷積層和跳躍連接,用于將特征圖上采樣到原始尺寸并保留底層特征信息。最后,通過一個1×1 卷積層將特征圖映射到分割結果上。
由于本文螺栓分揀場景較為復雜,因此需要更深層的卷積操作來提取有效特征。然而,隨著卷積層的增加,網絡參數和內存需求也會越來越大,使得在移動設備和嵌入式設備上運行時變得困難。為了在保證高效特征提取的同時降低網絡參數,本文采用了MobilenetV2 網絡來替換 U-Net 的特征提取網絡,并在MobilenetV2 網絡結構中嵌入 SENet 注意力機制,進一步提高 U-Net 的分割精度和魯棒性。具體模型結構如圖2 所示,其中Bneck 模塊為MobilenetV2 與SE 的結合模塊。

圖2 IU-Net 模型結構圖
近年來,深度學習領域一直在推動神經網絡輕量化,以便在保持準確率的同時,使模型更小、運行更快。自2016 年以來,業界已經提出了MnasNet[17]、ShuffleNet[18]、NasNet[19]和MobileNet[20]等輕量級網絡模型。
MobileNet 系列的第一代是MobileNetV1,它采用了深度可分離卷積結構(depthwise separable convolution)[21]來替換傳統卷積操作,目的是降低計算量和參數數量。這種方法將傳統卷積有效地分解,從而在不損失精度的情況下,顯著減少了模型的計算量和模型參數的數量。圖3 所示為深度可分離卷積結構,由逐通道卷積(depthwise convolution,DW)和逐點卷積(pointwise convolution,PW)兩個步驟組成。

圖3 深度可分離卷積結構
MobileNetV2 網絡[22]是在MobileNetV1 的基礎上進行了改進,提高了模型的準確度和性能,同時保持了相似的計算量和參數量。它主要做了兩點改進:①在DW 卷積前加入一個PW 卷積,并去掉原始的PW 卷積,形成線性瓶頸結構,以保持信息的完整性和模型的穩定性;②采用倒殘差結構,先升維再降維,并通過DW 卷積提取特征,以利用深度可分離卷積的優勢,并增加網絡深度和避免梯度消失。
SE 注意力機制[23]是一種通過為每個通道賦予自適應的權重系數,來強化重要特征并抑制非重要特征的通道注意力機制,可以提高模型性能。它由Squeeze 操作和Excitation 操作組成,如圖4 所示。Squeeze 操作通過全局池化將一幅寬為W、高為H、通道數為C的特征圖Pic 壓縮為1×1×C的向量,表示各通道的全局空間特征。其壓縮過程如下:

圖4 SE 注意力模塊結構
式中:uC代表第C個通道經過卷積變換的輸出;H和W代表Pic 的高和寬;zC代表第C個通道經過壓縮操作的輸出;Fsq代表全局特征壓縮變換函數。
Excitation 操作通過兩個全連接層學習各通道的權重值,并與輸入特征相乘,再經過Sigmoid 函數縮放,得到輸出特征。其運算方式如下:
式中:降維權重W1在第一個全連接層中,且W1∈,r為降維比;升維權重W2在第二個全連接層中,且W2∈;Sigmoid 激活函數用 σ表示;z是全局特征,通過Squeeze 操作得到。
SE 注意力機制參數少、計算量小、易于集成,并且能夠自適應地學習每個通道和每個位置的重要性,從而更加精細地關注特征[24]。
深度可分離卷積的主要作用是使得MobileNetV2網絡更加輕量化,降低模型的計算復雜度和參數量。但是,這種方式沒有充分利用通道之間的關系,導致模型難以學習到不同通道特征的關系和重要性,這可能會影響模型在一些復雜場景的處理能力。為了解決這個問題,本文在倒殘差結構的基礎上,加入了SE 注意力模塊,讓網絡能夠更好地學習每個通道的權重,增強U-Net 對重要目標特征的關注,從而提高圖像分割的精度。SE-MobileNetV2 結合模塊結構如圖5 所示。

圖5 SE-MobileNetV2 結合模塊結構
機械制造、電子制造、汽車制造等環境中,作為經典小型零件之一的螺栓被大量應用于制造業中的各種生產流程。
螺栓可以按照類型、材質和規格進行區分,不同類型、材質的螺栓可以通過螺栓的外形和顏色等特征來進行識別、分類。但是對于不同規格的螺栓,它們的形狀和尺寸相似,僅存在細微的差別,這給分揀任務帶來了很大的挑戰。為了解決這個難題,本文選擇以若干相同類型、材質、不同規格的內六角螺栓為研究對象制作數據集。
本文通過U-Net 實現螺栓目標分割,螺栓數據集的建立方法是根據原圖像得到標簽文件,主要完成獲取原始圖像、標注數據標簽、數據擴充和劃分數據集等工作。
本文采集了1 224 張分辨率為1 280×1 024 的圖片來增加數據量和增強目標特征。采集過程中,各種螺栓通過不同角度且雜亂無序的方式擺放。圖6所示為部分采集的圖像。

圖6 部分采集圖像
如圖7 所示,本文使用LabelMe 圖像標注工具對每張圖片進行手工標注。并使用JSON 格式將標注信息進行存儲,如圖8 所示。

圖7 數據集標注

圖8 JSON 格式存儲
為了防止在深度學習中因樣本數量不足而出現模型過擬合,無法泛化到新數據的問題,本文采用水平翻轉、鏡像對稱和高斯加噪等方法將原先1 224 張螺栓圖像在線擴充為12 016 張螺栓圖像來解決上述問題。部分在線擴充圖像如圖9 所示,圖9a左側為原圖,右側為其對應的標簽。

圖9 螺栓圖像數據集在線擴充
在完成螺栓數據集采集后,將得到的數據集按照訓練集、測試集、驗證集按照大約8∶1∶1 的比例進行劃分。
將U-Net 特征提取網絡替換為SE-MobileNetV2,搭建語義分割模型。表1 是搭建的試驗環境。

表1 試驗環境
為獲得更好的神經網絡效果,本文使用了SGD優化器,并將動量值(momentum)設置、迭代次數(epoch)和批量大小(batch size)分別設置為0.9、200 和16。
相較于U-Net 網絡模型,添加了SE-MobileNetV2結合模塊的IU-Net 具有更加良好的表現。如圖10所示,虛線為U-Net 原網絡的損失函數圖,而實線為改進后U-Net 的損失函數。從圖10 可以看出,IU-Net 具有更快的Loss 收斂速度。

圖10 Loss 值對比圖
改進后的U-Net模型分別與U-Net、DeepLabv3[25]、PSP-Net[26]、FCN[27]幾種主流語義分割模型在同樣的訓練參數和驗證集等情況下,進行語義分割性能對比試驗。具體數據見表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 為模型中的參數量,Params 的大小表示模型內存的大小,相較于原網絡Miou 和PA 分別提升了4.19%、3.82%;運算速度也得到了顯著的提升,模型的FLOPs 和Params都得到有效的改善。由于Deeplabv3 等網絡最初訓練時,都是用很龐大、很復雜的數據集,如COCO數據集,因此Deeolabv3 等原始網絡的特征提取網絡都較復雜,導致模型參數量和內存都較大。而本文將U-Net 的特征提取網絡替換成輕量化的MobilenetV2 網絡,所以IU-Net 的FLOPs 和Params得到了明顯的縮減。同時本文將SE 注意力模塊加入到MobilenetV2 的倒殘差結構上,增強模型對重要目標特征的關注度,所以IU-Net 的Miou 和AP均優于其他模型。
圖11a 所示為一張分辨率為1 280×1 024 像素的原始圖像,圖11b~圖11f 依次為FCN、PSP-Net、U-Net、Deeplabv3 和IU-Net 五種模型的分割圖像。

圖11 圖像分割結果對比圖
如圖11 所示,相較于其他模型,本文提出的IU-Net 模型對小型零部件的分割效果明顯優于其他模型。
YOLO 等方法雖然可以精確地對目標進行識別,卻無法精確定位目標外輪廓。相比之下,最小外接矩形能夠簡單且高效地找出目標外輪廓,提供目標詳細尺寸信息。本文做了使用IU-Net 與不使用IUNet 情況下使用最小外接矩陣確定零件的尺寸的對比試驗。圖12 所示為在使用U-Net 網絡分割的情況下使用最小外接矩陣的效果圖,而圖13 為在原圖上使用最小外接矩陣的效果圖。在圖12 中,能直觀地得出零件的旋轉最小外接矩陣的長寬信息,從最小外接矩陣的尺寸可以推測出零件的基本參數,便于區分不同長度的零件。而在圖13 中,由于零件表面的色差過大,導致分割的最小外接矩陣不是整個零件的最小外接矩陣,故在圖13 中不能得知關于零件的基本參數的信息。因此,本文選擇使用改進的U-Net 網絡將零件與背景分開,再用最小外接矩陣確定零件基本信息,完成零件的定位與識別任務,同時在算法中運用cv2.boxPoints()函數,得到每個圖片中零件的最小外接矩陣4 個頂點的下x軸和y軸坐標,為后期抓取試驗做準備。

圖12 IU-Net-MBR 處理的效果圖

圖13 在原圖上使用最小外界矩
工業相機在拍攝圖片時,將三維場景轉換為二維圖像。在這個不可逆的過程中,三維空間坐標(x3d,y3d,z3d)被轉換為像素坐標(u,v)。為了實現在現實環境中抓取物體,需要知曉在三維空間下的坐標。因此,需要使用相機標定使得像素坐標逼近三維空間坐標。
式(3)展示了像素坐標(u,v)轉化為三維空間坐標(x3d,y3d,z3d)的具體方法。
式中:相機的內部參數和外部參數分別由矩陣M1和M2表示。f為鏡頭的焦距,dx和dy分別為單像素在u和v方向上的真實測量長度,(u0,v0)為主點坐標。
張正友標定法是一種準確度高、精度高的相機標定方法。通過拍攝12 張不同方位的棋盤格圖像,提取這些圖像特征點,便可以得出相機的內部參數矩陣M1和畸變參數Kc。具體參數如下:
如圖14 所示,視覺分揀試驗平臺由單目相機、實驗臺、分類盤、工作站和機械臂等器材構成。其中,單目相機、機械臂的具體型號見表3。

表3 部分器材型號

圖14 視覺分揀試驗平臺
為驗證本文提出的方法,本文將抓取區域規格為M10×20 的內六角螺栓隨機放置,但不堆積。為使得機械臂能穩定運行,機械臂末端在運動過程中速度、加速度分別設置為2 m/s 和1.5 m/s2,與二指夾爪連接的真空氣源設置為0.4 MPa。試驗結果見表4。

表4 抓取試驗結果
圖15 所示為機械臂抓取螺栓的主要過程。從表4 可以看出,本文提出的方法可以準確識別螺栓。

圖15 抓取試驗
本文為提升機器視覺識別隨機無序放置小型機械零件的速度、定位精度,提出了一種IU-Net-MBR方法用于小型零件的定位和識別,這種方法將MobilenetV2 網絡來替換U-Net 的特征提取網絡,在MobilenetV2 網絡結構中嵌入SENet 注意力機制,最后使用最小外接矩陣確定零件的基本參數實現零件的識別和定位。與Deeplabv3 等主流模型在訓練收斂速度、平均交并比、像素準確率、預測運行速度和可視化效果方面進行比較后,發現IU-Net 方法均優于其他模型。同時也注意到該方法需要高性能硬件參與,而實際生產環境中難以滿足這樣的環境。未來,將采用模型壓縮來降低硬件要求。