孫志剛, 趙 毅, 劉傳水, 于振寧,張恕孝, 藍夢瑩, 劉晶晶, 王艷云
(渤海裝備華油鋼管公司, 河北 青縣062658)
金屬管道可分為直縫焊接管道、 螺旋縫焊接管道、 球墨鑄鐵管和無縫管道, 其在制造、 加工及使用中通常出現(xiàn)一些缺陷, 如焊接缺陷[1]、 電弧燒傷、 劃傷[2-3]、 管道分層缺陷[4]等, 這些缺陷存在于管道外部和內部。 對于管道內壁缺陷,最初的檢測方法是人工檢測, 檢測速度慢, 勞動強度大, 檢測過程容易出錯。 對于一些狹窄的管道, 由于受檢測空間限制, 作業(yè)人員難以進入管道內部。 隨著技術的進步, 出現(xiàn)了運用管道機器人進行管道檢測的方法, 管道機器人攜帶云臺攝像機進入管道內部進行管道圖像采集,專業(yè)人員對圖像進行檢查與統(tǒng)計, 得到檢測結果。 這種檢測方法仍然需要人工參與, 不能實現(xiàn)完全自動化檢測。
近年來, 伴隨著人工智能機器學習算法的迅速發(fā)展、 計算成本的下降以及移動互聯(lián)積累的大數(shù)據(jù)和應用的不斷普及, 人工智能被越來越多地應用在生產(chǎn)實踐中。 通過機器視覺技術, 可以利用計算機模擬人的視覺功能, 識別圖像中有用信息。 針對管道缺陷的檢測, 研究人員利用圖像處理技術對圖像進行處理, 以缺陷為識別目標, 使用圖像目標識別方法進行缺陷識別。 例如, 使用優(yōu)化Faster RCNN 算法對排水管中存在的障礙物進行檢測[5]; 使用改進的卷積神經(jīng)網(wǎng)絡算法對管道焊縫法蘭組件進行識別[6]; 使用粒子群優(yōu)化的K-means 聚類分析與統(tǒng)計, 對管道圖像中存在的裂紋、 管接頭、 孔形缺陷進行識別[7]; 使用改進的SSD 網(wǎng)絡對管道漏磁缺陷進行檢測[8]; 使用HOG 和SVM 對地面油氣管道進行檢測[9]。 其中, SSD 算法在小目標檢測上存在特征提取不充分問題, SVM 算法在大規(guī)模樣本訓練上存在困難, 且分類精度不高。 針對金屬焊接管道內壁的檢測, 筆者分析了現(xiàn)有管道存在的缺陷問題以及管道內壁缺陷圖像的特點, 提出了一種基于機器視覺的檢測方法, 運用改進的Faster RCNN 算法對管道內壁進行缺陷自動檢測。
卷積神經(jīng)網(wǎng)絡 (CNN) 是一種基于大腦視覺組織原理建立的深度學習模型, 其網(wǎng)絡結構包括卷積層、 池化層和全連接層3 個網(wǎng)絡層。CNN 最早用于手寫數(shù)字識別, 之后不斷進行改進優(yōu)化, 目前, 基于卷積神經(jīng)元網(wǎng)絡的目標檢測模型已經(jīng)有了一些成果, 包括如R-CNN[10]、Faster RCNN[11]、 YOLO[12]、 Mask-RCNN[13]以 及SSD[14]等檢測算法模型, 這些深度學習算法應用于人臉識別、 運動分析、 車輛識別等領域, 這些方法各有特點, 在速度和精度上取得了良好效果。
Faster RCNN 是基于VGG16 形成的網(wǎng)絡結構, 其檢測流程如圖1 所示。 根據(jù)Faster RCNN的整體檢測流程對框架進行拆分, 共分成4 層,第一層是卷積層, 通過多層卷積運算提取特征圖; 第二層是區(qū)域建議網(wǎng)絡 (RPN) 層, 可生成區(qū)域候選框; 第三層是候選區(qū)域 (region of interest, ROI ) 池化層, 對大小不同的區(qū)域候選框特征圖進行池化運算, 以獲取固定大小的區(qū)域候選框特征圖; 第四層是對前一層的結果圖進行全連接操作, 并進行分類和回歸操作, 以獲取目標物體在圖像中的準確位置。
RPN 網(wǎng)絡以任意大小的圖像作為輸入, 利用滑動窗口來掃描圖像, 并尋找可能存在目標的區(qū)域, 輸出一系列的矩形預測框。 RPN 掃描的區(qū)域被稱為錨框anchor。 在RPN 網(wǎng)絡訓練時損失函數(shù)定義為
式中: Lcls——分類損失函數(shù);
Lreg——回歸損失函數(shù);
λ、 μ——Lcls和Lreg的權重值, 調整Lcls和Lreg可加速網(wǎng)絡訓練。
式中: i——每個小批量中錨點的序號;
gi——錨點i 作為對象的預測概率;
gi*——該錨點處是否有目標對象, gi*=1 代表有, gi*=0 代表沒有;
免疫組織化學標記 上皮膜抗原(部分+)、波形蛋白(+)、CD31/CD34(EC+)、神經(jīng)元特異性烯醇化酶(局灶+)、CD68(組織細胞+)。
di——表示4 個參數(shù)化坐標和預測邊界框的向量;
di*——是anchor 坐標回歸的真實值;
R——采用SmoothL1函數(shù)計算損失值。
di為dx、 dy、 dw、 dh四 個 參 數(shù), di*為d*x、d*y、 d*w、 d*h四個參數(shù), 表達式為
其中x、 y、 w、 h 分別為RPN 網(wǎng)絡預測框的中心位置坐標以及寬高; 變量x、 xa、 x*分別用于預測框、 錨定框和目標真實框的坐標; 對于y、 w、 h 同理。 此外, 由x、 y、 w、 h 可以求出預測框4 個角的坐標, 分別為
池化層原理是將前一層網(wǎng)絡生成的具有候選框的特征圖, 對每一個候選框的特征圖按照水平和垂直方向分為若干區(qū)域, 每個區(qū)域進行最大池化處理, 使其得到固定尺寸的輸出。
DenseNet[15]是2017 年提出的一種密集連接的卷積神經(jīng)網(wǎng)絡結構, 網(wǎng)絡結構中層與層之間相互連接, 能夠提高準確度以及縮減參數(shù)數(shù)量。DenseNet 的網(wǎng)絡基本結構如圖2 所示, 其結構包 括 密 集 連 接 塊 (DenseBlock) 和 過 渡 層(Transition Layer) 兩 種 模 塊。 相 比 于ResNet,在DenseNet 中, 同一個DenseBlock 中的每一層都與之前所有層相關聯(lián), 由于每個層從前面的所有層接收特征映射, 所以網(wǎng)絡可以更薄、 更緊湊, 即信道數(shù)可以更少。 若網(wǎng)絡有L 層, 在DenseNet 網(wǎng)絡結構中會有L (L+1) /2 連接, 每一層輸出均為后面所有層的輸入, 其非線性變換方程表示為
其中Hl為第l 層批量標準化 (BN) 與激活函數(shù) (ReLU) 以及3×3 卷積 (Conv) 的組合,激活函數(shù)的表達式為
特征金字塔網(wǎng)絡 (簡稱FPN), 其思路是將網(wǎng)絡頂層的特征圖像逐層采樣并與前層的特征圖進行融合, 此方法的特點在于解決了物體檢測中的多尺度問題, 能夠高效地提取圖片中各維度的特征, 提高了小物體檢測的精確性。
圖2 DenseNet 網(wǎng)絡基本結構示意圖
本研究采用DenseNet-FPN 的網(wǎng)絡結構, 包括特征提取模塊和特征金字塔融合模塊, 其網(wǎng)絡架構如圖3 所示。 其中的特征提取模塊為DenseNet, 而特征金字塔融合模塊包括4 個優(yōu)化單元和1 個拼接單元, 以及4 倍的上采樣和分類, 最后得到預測圖。 基于Faster RCNN 原理,利用DenseNet 網(wǎng)絡取代VGGNet 網(wǎng)絡, 并與FPN 進行結合, 其整體結構如圖4 所示。
圖3 DenseNet-FPN 網(wǎng)絡架構
圖4 改進后的Faster RCNN 整體結構圖
根據(jù)管道內壁缺陷圖像特點, 運用機器視覺檢測技術對管道內壁圖像進行缺陷自動識別, 即運用改進后的Faster RCNN 算法對管道內壁進行缺陷識別, 并標記缺陷位置。
改進后的Faster RCNN 網(wǎng)絡訓練流程包括兩個網(wǎng)絡: ①基于DenseNet 與FPN 結合的Faster RCNN 網(wǎng)絡; ②基于區(qū)域候選框的RPN 網(wǎng)絡。RPN 網(wǎng)絡和Faster RCNN 網(wǎng)絡分別對預訓練的ImageNet 網(wǎng)絡進行初始化。 Faster RCNN 網(wǎng)絡訓練對輸入圖像經(jīng)過卷積網(wǎng)絡的特征提取, 得到預測的特征圖, 而RPN 網(wǎng)絡訓練通過輸入圖像得到可能包含目標區(qū)域的若干提議框, 兩個網(wǎng)絡共享一組CNN 卷積層。
改進后的Faster RCNN 算法對金屬焊接管道內壁檢測流程可分為3 個步驟: ①將原始管道內壁圖像輸入DenseNet-FPN 網(wǎng)絡, 從而獲得包含預測區(qū)域的特征圖, 同時與RPN 提取的具有候選區(qū)域的特征圖進行結合, 得到更多可能候選區(qū)域;②將具有候選框的特征圖輸入池化層得到固定大小的候選識別區(qū)域圖像; ③最后將可能具有目標區(qū)域的圖像進行識別并分類與回歸, 從而得到不同缺陷類型的目標圖像。
試驗數(shù)據(jù)源于管道機器人巡檢圖像。 管道機器人系統(tǒng)作業(yè)流程: 由移動平臺帶動機器人移動, 當觸到管道斷面時停止移動, 機器人從移動平臺進入管道內部, 攝像機啟動拍攝圖像, 機器人通過云臺轉動從而拍攝到管道內壁不同角度圖像, 機器人到達管道尾部, 停止移動, 回退到管道起始端, 確認移動平臺在指定位置則返回移動平臺。 圖5 為機器人巡檢管道系統(tǒng)模型及現(xiàn)場巡檢照片。
本次試驗共有3 000 張圖像, 并按照管道缺陷類型對壓坑、 劃傷、 刺坑、 焊渣、 異物壓入進行分類, 每個樣本數(shù)據(jù)600 張左右。 同時, 將本次試驗圖像分為訓練集圖像、 驗證集圖像和測試集圖像, 按照2∶1∶1 的比例進行分配并相互獨立(訓練圖像不作為驗證圖像使用)。 由于試驗數(shù)據(jù)充足, 可以有效支撐模型訓練, 不會因數(shù)據(jù)較少而導致模型訓練產(chǎn)生過擬合, 而且交叉驗證會增加訓練時間, 因此, 本試驗采用深度學習驗證方法, 而未使用交叉驗證。
圖5 管道機器人檢測系統(tǒng)模型及巡檢照片
運用改進后的Faster RCNN 模型對管道內壁缺陷進行識別并標記, 結果如圖6 所示, 圖中展示了不同缺陷類型的識別結果。
本試驗運用不同的方法進行識別, 從正確率和召回率進行比較, 正確率是指正確標記目標類別的外圍框數(shù)量與所有標記出的外圍框數(shù)量的比值; 召回率是指正確標記目標類別的外圍框數(shù)量與所有標準的外圍框數(shù)量的比值。 根據(jù)管道缺陷類型不同, 分成壓坑、 劃傷、 刺坑、 焊渣、 異物壓入5 大類, 從這5 類識別結果中最終得到平均正確率及平均召回率, 結果見表1。 從表1 可以看出, 改進后的Faster RCNN 的平均正確率高于以ZFNet 為卷積神經(jīng)網(wǎng)絡結構的Faster RCNN、以VGG 為卷積神經(jīng)網(wǎng)絡結構的Faster RCNN 以及SSD 算法的平均正確率。
圖6 不同類型缺陷識別結果
表1 試驗結果統(tǒng)計表
為了提高管道內壁的檢測效率, 本研究提出的基于改進后的Faster RCNN 深度學習算法對金屬焊接管道內壁圖像進行識別, 為管道修復工作提供了可行性參考數(shù)據(jù)。 利用管道機器人進行管道內壁圖像采集, 并運用深度學習算法識別圖像目標代替人工識別, 為管道內壁缺陷檢測提供了一種新的檢測方法, 該方法既能提高檢測精度, 又可減少成本。 試驗結果表明, 運用改進后的Faster RCNN 深度學習算法進行管道缺陷識別具有識別精度高的優(yōu)點。 通過試驗發(fā)現(xiàn)該模型在小的缺陷目標檢測識別中準確性優(yōu)于目前主流模型。 因此, 本研究提出的方法具有較高應用價值。