余容平,李柏林,蘇 欣,賴復堯
(1.西南交通大學機械工程學院,四川 成都 610031;2.中國電子科技集團公司第十研究所,四川 成都 610031)
近年來,隨著我國工業(yè)化水平和加工技術的不斷提升,工業(yè)生產也朝著更加智能的方向發(fā)展。高頻工件作為航空產業(yè)必備零件,在生產過程中通過結合圖像分類和檢索技術,以實現高頻工件的生產自動化與智能化。高頻工件種類繁多,表面紋理復雜,許多工件在同一視圖上存在的差異極小,甚至有的工件僅在側面存在細微差別等,現有的工件圖像分類和檢索方法在精度上已無法滿足高頻工件的自動化生產需求。作為工業(yè)圖像處理技術的一部分,對高頻工件圖像檢索問題的研究不僅能夠促進工業(yè)圖像處理技術的進步,還能促進我國工業(yè)生產的自動化、智能化和無人化,為中國制造2025添磚加瓦。
工業(yè)圖像檢索技術是工業(yè)圖像處理技術的重要組成部分,國內外學者均對其進行了相關研究。文獻[1]提出了一種法蘭盤類零件檢索式CAPP系統(tǒng)在數控加工中的設計與實現方法用于零件的檢索。文獻[2]提出了一種關聯工藝引導的型腔類零件局部結構檢索方法用于型腔類零件的檢索。文獻[3]提出了一種基于距離變換法的機械零件三維模型檢索用于機械零件的設計與重用。上述方法雖然取得了較好的實驗效果,但其針對的機械零件種類單一、結構簡單和類間差異大等特點,不適用于高頻工件的自動化生產需求。為提高高頻工件圖像的檢索精度,實現智能化流水線生產,提出一種基于深度度量學習的多視角高頻工件圖像檢索方法Double MobileNe(tDMN)。DMN基于MobileNetV2[4]改進而來,首先使用分支結構提取工件特征,然后引入差異度損失Different Loss[5]和相似度損失Similarity Loss 聯合監(jiān)督特征提取過程,最終引入三元組中心損失函數Triplet-Center Loss[6]用于度量學習。經過實驗驗證,該方法與常見單視角圖像檢索方法相比擁有更強的特征提取能力和更高的檢索精度。
DMN的算法流程圖,如圖1所示。首先將工件圖像進行預處理,接著將預處理后的工件圖象載入深度卷積模型獲得兩個卷積特征(特征1和特征2),再在Different Loss 的監(jiān)督學習下使得特征1和特征2趨于正交,同時將特征2與另一個視角的特征3共同在Similarity Loss 的監(jiān)督學習下不斷減小兩者之間的歐氏距離使得不同視角下的特征2與特征3趨于一致;然后將特征2或特征3 作為工件圖像的公共特征,并在Triplet-Center Loss 的監(jiān)督學習下減小公共特征的類內距離和增大類間距離從而獲得工件圖像的嵌入向量;最后將得到的嵌入向量作為工件的特征編碼用于圖像檢索。
圖1 DMN 算法流程圖Fig.1 DMN Algorithm Flow Chart
圖2 圖像預處理Fig.2 Image Preprocessing
高頻工件存在紋理復雜、大小不一、形狀多變、擺放角度多樣等特點。為了減少這些因素對模型訓練造成影響,將采集到的高頻工件圖像進行預處理,以提高訓練網絡的學習能力和模型的泛化能力。首先對高頻元件的圖像大小進行歸一化,使輸入網絡的每一張圖都具有相同的大小和通道數;然后對元件圖像進行隨機水平翻轉、垂直翻轉或以任意角度旋轉;最后將隨機變換后的元件圖像進行標準化,以提升模型的泛化能力和加快模型的收斂速度。
2.2.1 特征提取網絡結構設計
DMN模型是基于MobileNetV2改進而來的,其網絡結構如圖3(a)所示。其中模塊1為MobileNetV2的網絡結構,模塊3為新增的分支模塊。在提取高頻工件圖像的特征時,首先將預處理后的工件圖像輸入到模塊1獲得一個卷積特征,并將該特征做全連接FC處理獲得特征1;然后將模塊1前半部分的卷積結果即模塊2的卷積結果傳遞給模塊3獲得一個卷積特征,并將該特征做全連接FC處理獲得特征2。
圖3 DMN的網絡結構圖Fig.3 DMN Network Structure Diagram
其中,模塊3為新增的卷積模塊,該模塊取自于MobileNetV2網絡的后半部分(即模塊1去除模塊2后的部分),但不同之處在于模塊3在第一個Bottleneck[4]功能塊和第三個Bottleneck功能塊處使用了與模塊1后半部分不同的擴張系數t,其目的在于提取與特征1不盡相同的特征2。
如圖3(a)所示,Filter表示卷積核個數,Kernel Size表示卷積核大小,Stride表示卷積步長,Out Channel表示輸出通道數,t表示卷積通道擴張系數,Bottleneck表示反向殘差結構的深度可分離卷積模塊(結構如圖3(b)所示),Conv2d表示普通卷積塊,Avgpool表示平均池化塊,FC表示全連接層。
2.2.2 同一視圖下高頻工件圖像的特征篩選
為了將特征1和特征2區(qū)分開,使得特征1和特征2分別代表同一視圖下高頻工件圖像的兩種特征屬性,使用差異度損失函數Different Loss 來監(jiān)督特征提取過程,使得特征1和特征2趨于正交。差異度損失函數的定義如下:
式中:|| ·||F—Frobenius范數;Hc—特征1;Hp—特征2。
2.2.3 公共特征的提取
為統(tǒng)一表征不同視角下的高頻工件,使用相似度損失函數Similarity Loss來監(jiān)督同一工件不同視角圖像的特征提取過程(即特征2和特征3的提取過程),使得特征2與特征3的歐氏距離趨近于0。其中相似度損失函數Similarity Loss的定義如下:
式中:X—特征2;Y—特征3;xi—特征2第i個維度上的值;yi—特征3第i個維度上的值。
2.2.4 嵌入特征向量的獲取
高頻工件種類多樣,部分工件不同視角下圖像的類內差異較大而類間差異較小。為了更好地區(qū)分這些工件獲取工件圖像的嵌入特征向量,使用三元組中心損失函數Triplet-Center Loss來監(jiān)督DMN模型的特征提取過程,使得高頻工件圖像的類內距離不斷減小而類間距離不斷增大。假設給定的訓練數據集由N個樣本組成,其中,xi∈X,與之對應的標簽yi∈{1,2,…,|Y|},通過一個用f(θ)表示的神經網絡將這些樣本嵌入到d維的向量空間中。在Triplet-Center Loss 中,假設來自同一類別的樣本特征共享一個對應的中心,因此可以得到C={c1,c2,…,c|Y|},其中,cy∈Rd表示標簽為y的樣本的中心向量,而 |Y|表示樣本中心的數量。給定一個由M個樣本組成的batch,則三元組中心損失函數的定義為:
式中:D(·)—平方歐幾里得距離,其定義,如式(4)所示;m—兩個類別間的距離余量。
由于未知類的存在,高頻工件圖像的“匹配”問題不能以常規(guī)的分類問題來看待,所以采用度量學習的方式來獲取圖像的嵌入特征向量(embedding vector)用于高頻元件的圖像檢索。檢索的標準為計算測試圖像的嵌入特征向量與模板庫圖像的嵌入特征向量之間的歐氏距離D;如果距離D中的最小元素d小于閾值δ則判定該測試圖像為模板庫中的已知類,此時的檢索結果就是最小距離d對應的模板庫圖像所對應的類;如果測試圖像與模板庫中各圖像之間的最小距離d大于閾值δ則判定該測試圖像為模板庫以外的未知類。
式中:y—測試圖標簽;yi—最小距離d對應模板庫圖像的類別標簽;θ—未知類。
閾值的大小決定了檢索結果優(yōu)劣,閾值過小容易導致將已知類誤判為未知類,閾值過大則容易導致將未知類誤判為模板庫中的已知類;因此閾值的選取至關重要。實驗數據集由60000張50個類別的高頻工件圖像組成,其中每個類別有1200張圖像;將數據集分成由48000張40個類別和12000張10個類別的高頻工件圖像組成的訓練集和測試集;然后從48000張訓練集中分出10個類別12000張圖像作為未知類來校驗閾值的取值效果。用訓練集中剩下的36000張圖像來訓練網絡模型,然后將訓練好的模型用于閾值篩選和圖像檢索。
這里的實驗環(huán)境為Windows10,軟硬件配置包括:GPU 為NVIDIA GTX1080Ti,CPU 為Intel Core i7-6700,運行內存32GB,Pytorch1.2,Pycharm2020,Python3.7,深度學習網絡加速庫為CUDA 10.2 結合CUDNN 7.6。
由于模型的復雜度較高,因此總迭代次數設置為27000次;其中,前1.7×104次迭代的學習率設置為10-3,1.7×104~2.2×104次迭代的學習率設置為10-4,2.2×104~2.7×104次迭代的學習率設置為10-5。
為了驗證DMN模型的性能,將該模型與其他模型進行對比試驗。對比模型分別為:InceptionResNetV2[7]、ResNet101[8]、MobileNetV1[9],實驗數據為某軍工院所生產的高頻工件圖像60000張,實驗中將對比模型的特征輸出層統(tǒng)一修改為與DMN一致。
在實驗中,為了消除各種不利因素對實驗結果的影響統(tǒng)一了各模型的參數設置和輸出層的維度,以盡最大可能地消除隨機誤差的干擾。在數據集上,各模型使用同樣的訓練集和測試集,并對數據做相同的預處理和圖像轉換以統(tǒng)一各模型的輸入,各模型的參數信息,如表1所示。
表1 各模型參數情況Tab.1 Parameters of Each Model
3.2.1 模型對比實驗
為了驗證DMN模型的性能優(yōu)于InceptionResNetV2、ResNet-101、MobileNetV1的性能,將InceptionResNetV2、ResNet101、MobileNetV1 的網絡結構改為和DMN 模型結構一致,在相同的網絡結構和數據集下進行實驗。各模型的實驗結果,如表2所示。
表2 改進后各模型的檢索性能Tab.2 Improved Retrieval Performance of Each Model
實驗結果表明,DMN模型較其他模型的Top1檢索準確率平均提高了9.68%。因此,DMN模型能夠更有效地提取高頻工件圖像的特征表示。
3.2.2 模型結構驗證
為了驗證提出模型的分支結構優(yōu)于其對應的原始網絡,在不改變InceptionResNetV2、ResNet101、MobileNetV1 和Mobile-NetV2網絡結構的情況下進行實驗。實驗結果表明,改進后的網絡模型明顯優(yōu)于原始網絡模型的性能。改進后各模型性能與原始模型性能之間的差異,如表3所示。
表3 各原始模型的檢索性能Tab.3 Retrieval Performance of Each Original Model
實驗結果表明,改進后各模型較對應原始網絡模型的Top1檢索準確率平均提高了8.95%。因此,所提出的分支結構能夠更有效地提取出高頻工件圖像的特征表示。
3.2.3 損失函數對比實驗
在損失函數的選用上做了如下對比實驗:將中心損失(Center Loss)、三元組損失(Triplet Loss)、交叉熵損失(CrossEntropy Loss)和三元組中心損失函數(Triplet-Center Loss)在相同環(huán)境、相同模型(DMN)和相同的參數設置下進行實驗。實驗結果,如圖4所示。
圖4 深度特征可視化Fig.4 Visualization of Depth Features
根據深度特征可視化效果圖可知Triplet-Center Loss在高頻工件圖像數據集上的性能明顯優(yōu)于其他損失函數。因此,三元組中心損失函數的選取能夠更有效地監(jiān)督網絡模型的訓練,從而提取出區(qū)分性更強的高頻工件圖像特征。
由模型對比實驗可以得到MobileNetV2 的網絡層數和結構設置更適合高頻工件圖像的特征提??;從表2 中可以看到DInceptionResNetV2 的Top1 檢索精度僅為56.57%,而DMN 的Top1檢索精度為72.62%,這說明了D-InceptionResNetV2的網絡層數過多、結構過于復雜,不適用于高頻工件圖像的檢索。
由模型結構驗證實驗可以得到提出的分支結構在Different Loss和Similarity Loss的共同監(jiān)督下能夠更好地提取出高頻工件圖像的公共特征;從表3中可以看到改進后各模型的檢索精度均高于其原始網絡模型的檢索精度,這表明普通卷積神經網絡不適用于多視角高頻工件圖像的檢索。
由損失函數對比實驗可以得到三元組中心損失函數(Triplet-Center Loss)能夠更有效地增大不同類別高頻工件圖像間的差異度;從圖4可以看到中心損失函數雖然能夠減小各類別高頻工件圖像的類內差異卻不能有效地增大不同類別高頻工件圖像的類間差異,而三元組損失函數雖然能夠較好地增大高頻工件圖像間的類間差異卻不能減小高頻工件圖像的類內差異,這都不利于提高高頻工件圖像的檢索精度。
提出了一種深度度量學習的多視角高頻工件圖像檢索方法用于高頻工件圖像的檢索。通過引入Different Loss 和Similarity Loss,使得DMN 網絡能夠提取同一工件不同視角下的公共特征并有效地用于高頻工件圖像的檢索問題,結合基于Triplet-Center Loss 的度量學習能夠增強網絡的特征提取能力并提高高頻工件種類間的特征差異性。實驗結果表明,所提出的方法與普通卷積神經網絡相比具有更強的特征提取能力和較高的檢索精度。