胡曉軒, 甄希金, 朱 琦, 王 浩
(1.上海船舶工藝研究所,上海 200032;2.上海申博信息系統(tǒng)工程有限公司,上海 200032)
船舶焊接占船舶制造30%~40%的工作量[1],在中小組立生產(chǎn)線上存在多種工藝類型的焊接,大致可分為手工焊、機器焊、機器人焊,每一種工藝類型所產(chǎn)生的焊接表面質(zhì)量不一,基本采用人工檢查,工作量較大且檢測準確度依賴人工經(jīng)驗,檢測效率不高。
近年來,隨著人工智能中的深度遷移學習框架的快速發(fā)展,基于圖像的缺陷目標檢測越來越多應(yīng)用于各行各業(yè)。劉夢溪等[2-3]通過改進深度學習中的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)結(jié)構(gòu)及算法,提高焊接缺陷識別率達93.26%;HOU等[4]在神經(jīng)網(wǎng)絡(luò)的改進過程中使用時滯細胞神經(jīng)網(wǎng)絡(luò)(Delayed Cellular Neural Network,DCNN)模型對x-射線焊接缺陷分類,分別為小孔、裂紋、未熔合、未焊透,識別率為97.2%。結(jié)果表明深度學習對焊接特征識別具有較高精度。
焊接表面缺陷均含有獨有的特征,首先需要采集大量手工焊和機器人焊的圖像樣本,對表面特征進行分析;然后通過選擇合適的深度遷移學習方法,設(shè)計合理的深度遷移學習模型作為模型層;最后建立船舶焊接表面缺陷智能檢測系統(tǒng),在系統(tǒng)中調(diào)用檢測算法,實現(xiàn)焊接表面缺陷的批量檢測。
根據(jù)船廠的生產(chǎn)制造特點,提出以車間焊接中小組立生產(chǎn)線為對象的研究框架(見圖1),通過現(xiàn)場專用攝像機采集焊接表面圖像數(shù)據(jù),這些樣本數(shù)據(jù)一部分作為訓練集,一部分作為測試集,傳輸至上層的船舶焊接表面缺陷智能檢測系統(tǒng),進行模型的深度遷移學習;完成訓練的模型經(jīng)部署可使用日常的采樣數(shù)據(jù)進行再學習,不斷優(yōu)化檢測模型,檢測結(jié)果通過船舶焊接表面缺陷智能檢測系統(tǒng)進行展示。
圖1 深度遷移學習下的船舶焊接表面缺陷智能檢測系統(tǒng)研究框架
深度學習對數(shù)據(jù)具有較大的依賴性,在焊接機器人領(lǐng)域,由于工況較復(fù)雜且成本高,難以獲取數(shù)量龐大的標注數(shù)據(jù)集,因此在很大程度上限制深度學習的使用和發(fā)展,而結(jié)合遷移學習則可作為解決焊接缺陷學習樣本不足的手段之一。根據(jù)深度遷移學習中的不同遷移學習技術(shù),可將深度遷移學習分為4類:基于實例(Instance-based,IB)深度遷移學習、基于映射(Mapping-based,MB)深度遷移學習、基于網(wǎng)絡(luò)(Network-based,NB)深度遷移學習和基于對抗(Adversarial-based,AB)深度遷移學習。
SqueezeNet[5]、MobileNet[6]、Xception[7]、ShuffleNet[8]、MobileNet V2[9]、ShuffleNet V2[10]等屬于較輕量級模型,在優(yōu)化CNN卷積層計算方式上起到作用,較大程度地提高CNN的效率。以MobileNet V2模型和焊接缺陷圖像特征引入DropBlock方法優(yōu)化神經(jīng)網(wǎng)絡(luò),生成DBMobileNet V2[11]模型,基于該模型進行焊接表面缺陷目標檢測及焊接表面質(zhì)量評估。
根據(jù)《承壓設(shè)備無損檢測》和《鋼的弧焊接頭缺陷質(zhì)量分級指南》,常見焊接缺陷類型包括裂紋、焊瘤、焊穿、弧坑、氣孔、夾渣、咬邊、未熔合、未焊透等,如圖2所示。
圖2 常見焊接缺陷類型
圖像類別可通過圖像分類任務(wù)進行區(qū)分。目標檢測是對圖像中的某類別物體進行標記,用邊界框標記物體的位置和大小。目標檢測算法分為3類:單級(one-stage)類,包括YOLO V1、SSD、YOLO V2、RetinaNet和YOLO V3;雙級(two-stage)類,包括Fast R-CNN和Faster R-CNN;多級(multi-stage)類,包括R-CNN和SPP-Net。在檢測速度測試中,單級類算法較為優(yōu)異,但在檢測準確度方面不及雙級類,而多級類已逐漸被邊緣化。
YOLO V3算法是YOLO算法和YOLO V2算法的改進版。YOLO V3算法在COCO數(shù)據(jù)集上均值平均精度(mean Average Precision,mAP)的指標mAP-50比YOLO V2算法高13.9%,檢測速度是R-CNN算法的1 000倍、Fast R-CNN算法的100倍,在輸入尺寸為416×416像素時檢測速度可達29 ms/frame。
Darknet-53是YOLO V3算法的主干網(wǎng)絡(luò),主要用于特征提取,采用Leaky ReLU作為激活函數(shù),通過使用殘差網(wǎng)絡(luò)提高特征提取的準確率。針對船舶焊接表面缺陷目標較小的情況,在YOLO V3算法中,YOLO負責對焊接缺陷圖像尺寸進行預(yù)測,Darknet-53用于提取缺陷特征。經(jīng)多尺寸卷積和上采樣,Darknet-53輸出特征圖,進行標準卷積運算。經(jīng)Darknet-53特征提取處理的焊接表面缺陷預(yù)測圖像如圖3所示。
圖3 焊接表面缺陷預(yù)測圖像
對于焊接缺陷而言,YOLO V3算法在特征提取部分采用提取多特征層進行目標檢測:特征層分為3層,即位于Darknet-53的中間層(52,52,256)、中下層(26,26,512)和底層(13,13,1024);焊接圖像分為13×13網(wǎng)格、26×26網(wǎng)格和52×52網(wǎng)格,每個網(wǎng)絡(luò)點負責1個區(qū)域?qū)附尤毕葸M行檢測,預(yù)測結(jié)果對應(yīng)3個預(yù)測框,通過reshape函數(shù)得到結(jié)果為(N,13,13,3,85)、(N,26,26,3,85)和(N,52,52,3,85)。YOLO V3算法通過解碼將每個網(wǎng)絡(luò)點加上其對應(yīng)的偏移量x_offset和y_offset得到預(yù)測框的中心,再計算預(yù)測框的長和寬,即可得到焊接缺陷的具體位置。激活函數(shù)可在模型上增加標簽,在焊接檢測中可將氣孔、夾渣等作為標簽,從而使模型進行對象識別。
系統(tǒng)設(shè)計采用msSQL 2016作為數(shù)據(jù)庫服務(wù)器,并使用.net core跨平臺框架和ABP開發(fā)框架進行服務(wù)端開發(fā),以此提高服務(wù)端的穩(wěn)定性和功能完整性。前端界面使用AngularJS 8.2.5框架及Bootstrap框架進行頁面設(shè)計。系統(tǒng)包括登錄、數(shù)據(jù)預(yù)處理(數(shù)據(jù)清洗、圖像優(yōu)化)、批量檢測(一鍵檢測、圖形化展示)、檢測參數(shù)管理(參數(shù)設(shè)置、模型管理)和權(quán)限管理(用戶管理、角色管理、系統(tǒng)管理)等模塊。系統(tǒng)模塊功能如表1所示。
表1 系統(tǒng)模塊功能
目前,已在船廠中小組立智能焊接生產(chǎn)線試驗焊接表面缺陷智能檢測系統(tǒng),對傳統(tǒng)焊機、手工焊機、智能焊接機器人的焊接進行檢測等,如圖4所示。
圖4 焊接表面缺陷智能檢測
船舶焊接表面缺陷智能檢測系統(tǒng)試驗檢測結(jié)果如表2所示,初步達到檢測預(yù)期效果。
表2 焊接表面缺陷試驗檢測結(jié)果 個
為提高船舶焊接表面缺陷檢測系統(tǒng)的精確性和易用性,研究深度遷移學習下的船舶焊接缺陷目標檢測方法,運用采用DropBlock方法進行卷積核優(yōu)化的MobileNet焊接分類模型和YOLO V3算法,初步實現(xiàn)船舶焊接表面缺陷的智能檢測,在試驗階段取得預(yù)期效果,為船舶焊接表面缺陷檢測在船廠實際應(yīng)用落地探索一條可行路線。