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