APP下载

基于球形视频机器人的管道内缺陷检测方法研究

2019-09-19徐红伟凌张伟2钟绍俊

测控技术 2019年4期
关键词:步长卷积神经网络

苏 展, 徐红伟, 凌张伟2,3, 李 静, 钟绍俊

(1.中国计量大学 机电工程学院,浙江 杭州 310018; 2.浙江省特种设备检验研究院,浙江 杭州 310012;3.浙江省特种设备检验研究院浙江省特种设备安全检测技术研究重点实验室,浙江 杭州 310012)

由于使用环境条件恶劣等原因,燃气、输油等压力管道由内部缺陷导致失效的风险需进行及时检测和评估。1993年日本的Shigeo Hirose和Hidetaka Ohno等人首次将视觉应用于管道内部缺陷的检测[1]。2000年左右,德国学者Benhard、Hemann和Frank、美国卡内基梅隆大学的Hagen Schempf博士等都研制了具有各自功能的管道内部缺陷检测机器人[2-3]。国内哈尔滨工业大学[4]、上海大学[5]、上海交通大学[6]都在管道机器人方面做了研究。目前,管道机器人存在对管道形状要求较高、数据分析困难导致结果不可靠等问题[7-9]。研究能够在各类复杂形状的管道中运行,自动识别典型管道缺陷并进行缺陷分类的管道机器人,具有重要实际应用价值,也是近年来管道机器人研究的热点问题之一。

本文设计研发了能够通过各种形状管道的球形管道机器人,通过高分辨率立体相机捕捉管道内360°连续视频图像,通过离线专用软件对视频进行分拣,实现对压力管道内表面缺陷的检测和分类,有效提高了管道缺陷的识别效率,在较大程度上解决了管道内缺陷导致的安全评估难题。

1 管道内缺陷检测球形视频机器人组成

管道内缺陷检测机器人由3个功能模块组成:检测、定位和驱动。其中检测部分实现管道内部缺陷检测或定位,定位部分实现检测结果和机器人的定位,驱动部分实现管道内缺陷检测机器人的前进驱动。

本文的管道内缺陷检测球形视频机器人结构如图1所示,检测部分包括2个背靠背对装的360fly全景相机、照明灯带、充电USB线。360fly全景相机内部有能存储64 GB视频的SD卡,通过充电USB线可读取SD卡的视频流,同时可实现外部充电。定位部分由位于线路板上的内定位电路和外定位波形发生电路、外定位发射线圈、外定位接收线圈矩阵(图中未画出)组成。外定位接收线圈矩阵有6个,按照菱形空间分布,通过线圈信号比对得到机器人位置信息。

图1 球形视频机器人结构(USB线未画出)

驱动部分由球形有机玻璃壳体及“O”形密封圈、密封螺母等密封部件和管道流量控制系统组成。其驱动原理如图2所示。

管道内缺陷检测球形视频机器人的外壳采用高强度亚克力材料,具有高通透性。机器人采用对称设计,其重心位于球心。通过内部质量及配重控制,使得机器人密度近似等于内部液体介质密度。这里采用水作为液体介质,通过离线方式进行检测。当液体介质以一定速度流动时,可推动机器人以近似相同的速度通过管道。由于机器人采用球形外壳,并且外壳坚硬光滑,使得其具有良好的通过性能,能够有效通过各种形状的管道。

2 管道缺陷检测视频流预处理

球形视频机器人通过管道的同时,两个背靠背安装的360fly全景相机以视频的方式记录管道内部情况。360fly全景相机具有横向360°、纵向240°广角镜头,背靠背安装的两个全景相机能够全景记录管道内图像。全景相机分辨率达到2880像素×2880像素,记录率为50 Mbit/s,充一次电可工作1.5 h,内含加速度计,陀螺仪和GPS定位,通过USB线可读取两个全景相机的视频流。为了得到管道内缺陷的图像信息,视频流需要先进行预处理,包括直方图均衡化图像增强、图像滤波去噪和对运动造成的模糊图像进行恢复。

(1) 直方图均衡化。

直方图均衡化[10]可让原始图像的像素分布均匀且占有灰度的级数尽可能得多,从而使输入的图像有很多的灰度色调,且对比度增强。经过处理后管道图像局部对比度更加明显,细节更加清楚,有利于后期的特征提取。

(2) 管道图像滤波去噪。

选取了5×5的高级卷积核,标准差为1,对管道图像进行了高斯滤波处理[11]。高斯卷积核为

(1)

(3) 管道运动模糊图像恢复。

当球形视频机器人在移动出现过快、碰撞等情况时,将导致图像模糊。采用维纳滤波器进行模糊图像恢复。维纳滤波器[12]可用于滤除来自损坏信号的噪声,提供感兴趣的底层信号的估计。它是一种基于统计方法的滤波器,使恢复后的管道图像与恢复前的图像之间的均方差最小。之间的误差e为

e2=E[(f-f′)2]=min

(2)

式中,f为未处理前的图像;f′为使用维纳滤波复原后的图像;E{·}表示均方误差。估计的傅里叶变公式为

(3)

在实际应用中,噪声功率谱和原始图像功率谱很难获得,所以一般选k值代替Sη(u,v)/Sf(u,v),式(3)可化简为

(4)

3 基于深度卷积神经网络管道缺陷分类检索

经过图像预处理,基本已经去除了干扰因素,可以对图像进行分类检索处理。对管道图像的分类检索就是找出管道内检测装置所拍摄的视频流中的含有缺陷或者焊缝的帧图片,采用基于深度卷积神经网络来实现。基于深度学习的卷积神经网络的开发环境是Visual Studio 2013、CUDA 7.5、OpenCV2.7、Matlab 2016,基于Caffe框架实现。

卷积神经网络[13-14]是由不同的层组成的,主要包括卷积层、汇聚层和全连接层,一个层到另一个层的数据传递通过激活函数来完成。卷积神经网络每一层的神经元都是宽度、高度和深度的3维排列,这种结构使卷积神经网络中参数的数量大大降低,也使向前传播变得容易。用于管道图像分类的卷积神经网络结构有23层,主要分为输入层(input)、卷积层(conv)、ReLU层、归一化层(norm)、汇聚层(pool)、全连接层(fully_connected)和输出层(classification)。

① 输入层。

输入的图像是经过第2节方法预处理的管道图像,大小为[227×227×3]。

② 卷积层。

卷积层中的神经元与上一层输入层或者汇聚层中的局部区域连接,将自己的权重与上一层的小区域做内积运算。一个典型卷积计算实例如图3所示。

图3 卷积计算实例示意图

卷积的计算式为

(5)

③ ReLU层。

ReLU层主要作为激活函数,该层将每一个元素进行激活操作。使用ReLU的目的是加速收敛。ReLU层的激活函数完整写法为

f(x)=max(0,x)

(6)

④ 归一化层。

归一化层主要是对图像的特征进行归一化操作,也就是对图像的均值后的方差进行归一化。主要目的是使特征图谱中的特征在相邻特征和其他特征图谱中的相同空间位置的特征进行竞争。

⑤ 汇聚层。

汇聚层通过在宽度和高度(即空间维度)进行降采样来改变数据的尺寸。

⑥ 全连接层。

全连接层用来计算图像的分类评分。在本文的应用中,全连接层中数据尺寸变为[1×1×3],其中3个数字对应的就是管道图像中3个类别的分类评分值。

本文设计的网络框架一共23层。将所有的管道图片统一到相同的尺寸227×227×3作为输入,第1层是卷积层conv1,使用96个大小为11×11,步长为4的卷积核对管道图像进行卷积运算;第2层是ReLU层relu1,进行激活;第3层是归一化层norm1,采用窗体大小为5,α=1.0000×10-4,β=0.7500,k=1进行归一化;第4层是汇聚层pool1,汇聚层窗口大小为3,步长为2,对上一层的特征进行汇聚;第5层卷积层conv2使用256个大小为5×5×48,步长为1的卷积核对上一层管道图像做卷积运算;第6层是ReLU层relu2,进行激活;第7层是归一化层norm2,采用窗体大小为5,α=1.0000×10-4,β=0.7500,k=1进行归一化;第8层是汇聚层pool2,汇聚层窗口大小为3,步长为2,对上一层的特征进行汇聚;第9层是卷积层conv3,使用的是384个大小为3×3×256,步长为1的卷积核对第8层的管道图像做卷积运算;第10层是激活层relu3;第11层是conv4,使用384个大小为3×3×192,步长为1的卷积核对上一层图像进行卷积运算;第12层是激活层relu4;第13层是conv5,使用256个大小为3×3×192,步长为1的卷积核对上一层图像进行卷积运算;第14层是激活层relu5;第15层是汇聚层pool5,窗口大小为3,步长为2,对上一层的特征进行汇聚;第16层是全连接层fc6,4096个全连接层;第17层是激活层relu6;第18层是fc7,共4096个全连接层;第19层是激活层relu7;第20层是fc8,共3个全连接层;第21层是prob,使用Softmax进行回归;第22层是输出层,即输出图像的分类。整个网络结构如图4所示。

图4中只简单的列举了整个网络中的卷积层和全连接层,中间的ReLU层、归一化层、汇聚层都省略了。一个典型管道图像经过第一次卷积过后的特征图如图5所示。

图4 深度卷积神经网络机构图

图5 深度卷积神经网络部分管道第一次卷积特征图

4 基于Fast-RCNN快速区域卷积神经网络模型管道缺陷标记

得到了具有缺陷的图像后,就可以对缺陷进行分类和标记。Fast-RCNN是由Ross Girshick在2015年继RCNN之后提出来的[18-19]。Fast-RCNN是在RCNN基础上提出来的,Fast-RCNN改进的方法,从输入网络的图像上提取候选区域,并且不需要重复计算这些候选区域的前几层的特征,并且用统一的网络实现位置调整,不再使用额外的存储。在本文中用Fast-RCNN对管道缺陷进行标记。

Fast-RCNN网络作为输入一个完整的图像和一组对象提议。首先,对输入的图像生成一个卷积(conv)特征图;然后在特征映射中取一个固定长度的特征向量输入感兴趣区域(RoI)池层;然后将特征向量送到全连接层(fc)。本文简化了Fast-RCNN,只用到了其中的缺陷标记,得到管道图像的输出是4个实数,即检测对象的边界定位。Fast-RCNN体系结构如图6所示。

图6 基于Fast-RCNN的管道缺陷检测体系结构

Fast-RCNN的算法流程如下:

① 输入测试的管道图像;

② 利用Selective Search 算法在图像中从上到下提取2000个左右的建议窗口;

③ 在CNN中输入图片,并提取特征;

④ 把建议窗口映射到CNN的最后一层卷积特征图上;

⑤ 通过RoI pooling层使每个建议窗口生成固定尺寸的特征图;

⑥ 用回归损失训练边框回归。

Fast-RCNN的检测速率虽然非常快,但是它生成区域建议框的成本却非常大。原因是Fast-RCNN是在CPU上完成建议框的生成,但利用了GPU。Faster-RCNN在Fast-RCNN基础上使用了新的区域建议网络(Region Proposal Networks,RPN)的方法。它生成区域建议框成本很小的原因是它与目标检测网络共享卷积层。“区域生成网络RPNs +Faster-RCNN”可以简单认为就是Faster-RCNN系统。

Faster-RCNN较Fast-RCNN有两处改进[20-21]:

① 产生建议窗口方法是使用RPN代替原来的选择搜索;

② 共享目标检测和产生建议窗口的CNN。

5 实验分析

在存在人工缺陷的实验管道中对球形机器人进行测试,缺陷类型包括环形人工焊缝缺陷、人工点装缺陷,实验管道如图7所示。

图7 实验管道及人工缺陷设置分布

球形视频机器人通过实验管道得到视频流,进行图像预处理,图8为包括人工点状缺陷图像的预处理结果。

深度学习通常需要大量的训练数据,针对管道缺陷检索没有数据库的问题,建立了一个全新的数据库,

图8 管道图像预处理结果

里面大部分的管道图片都是在模拟管道内部拍摄的,根据不同的角度、不同的光源、不同的亮暗程度得到管道焊缝和缺陷两类图片,另一小部分图片是对拍摄的图片进行旋转、加噪和模糊处理得到。管道图片分为焊缝、缺陷和正常的管道图像三大类,其中缺陷细分为腐蚀、裂缝、破损、变形等,管道图片数据库一共有20000个样本。

表1 训练和测试样本合计分布 单位:个

采用深度卷积神经网络CNN训练后,检测准确率可达87.7%。

为对缺陷进行分类,选取了8000张管道缺陷图片,其中7000张人工标记后用来训练,对每一张管道缺陷图片人工进行标注,1000张用来测试,实验结果如表2所示。

表2 两种检测方法结果对比

可以看到,Fast-RCNN和Faster-RCNN都能够实现缺陷有效分类,Faster-RCNN速度更快。

6 结束语

本文设计了管道内缺陷检测球形视频机器人,设计了视频流的提取、图像预处理、图像分类模型以及管道缺陷标记软件,能够实现管道内部缺陷的全自动检测。在标记有人工缺陷的模拟管道中测试表明,本系统具有良好的通过性,并能有效和分类检测管道内缺陷。

猜你喜欢

步长卷积神经网络
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于随机森林回归的智能手机用步长估计模型
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
基于Armijo搜索步长的几种共轭梯度法的分析对比
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立