APP下载

应用于起重机智能视觉检测的双网络并行模型

2019-11-29郑祥盘宋国进

关键词:浅层起重机卷积

郑祥盘,宋国进

(闽江学院物理与电子信息工程学院,福州 350108)

随着经济的不断发展,货物的流通量越来越大,对大型起重机的运作时长要求也越来越高,这对起重机运行造成了潜在的安全隐患.因此,对起重机定期进行检测、维护与保养是十分必要的.

相比于众多的安全隐患,金属结构裂缝、变形、腐蚀等缺陷的出现往往会给生产造成重大的损失.因此,高空位置金属结构的缺陷检测是大型起重机安全检测最重要的环节.基于传统的缺陷检测方法常常是人工作业对起重机进行勘察.检验人员需要攀爬到起重机金属结构的高空位置去观察是否存在裂纹及腐蚀等缺陷;但有些部位如港口门座式起重机的象鼻梁和人字架顶部、门式起重机的主梁下盖板和支腿上部等位置,往往存在检验人员难以到达、安全得不到保障以及检测不够全面等问题.

在起重机缺陷检测方面,有通过建立大跨度门式起重机数学模型推导梁的中挠度解的[1],也有通过改进的和声搜索算法识别起重机结构空间模态的传感器优化布置的[2].但在起重机金属结构的缺陷检测识别方面目前还没有很好的识别方式.基于卷积神经网络在视觉识别方面取得了巨大进展,其中胶囊网络通过一个卷积层和两个胶囊层,不需要使用过多训练技巧,在MNIST数据集中取得了目前该领域内领先地位的成绩,错误率仅为0.25%[3].Salimans等[4]将卷积网络应用于对抗网络,得到生成式对抗网络将该网络用于图像分类领域,改变了传统CNN大量标注样本的学习策略.Hu等[5]提出的压缩激发网络(squeeze-and-excitation networks)通过对特征通道间的相关性建模,把重要特征进行强化以提升准确率.在ImageNet训练集上的Top-5错误率由2012年冠军网络的15.4%降低至4.47%,Top-5错误率表示在学习到的标签中,预测概率最大的5个类别,不包含正确类别的比率.Simonyan等[6]提出了为处理大规模图像识别的深度卷积神经网络.王洋[7]等提出了一种基于卷积神经网络的特征快速提取算法.

为此,在前人研究的卷积神经网络基础上,针对起重机金属结构缺陷图像数据不足的特点,本文中提出双网络并行的卷积神经网络模型.首先建立浅层次卷积神经网络,由于浅层次卷积神经网络卷积核数量较少,故识别速度较快,但精度不足.本文中应用双网络并行模型,即采用训练好的深层次卷积神经网络AlexNet训练本文中构建的浅层次卷积神经网络,提高识别精度.

1 浅层次卷积神经网络模型的建立

通过大量起重机金属结构缺陷图像训练浅层次卷积神经网络模型.在卷积神经网络的框架上,用反向传播算法确定浅层次卷积神经网络模型各层参数,在全连接网络层后连接Softmax分类器,应用梯度下降算法更新分类器中各个参数值,从而获得一个能对缺陷问题进行有效检测与识别的分类器.

1.1 浅层次卷积神经网络框架

卷积神经网络受人对猫视觉皮层电生理研究的启发.经典的卷积神经网络由卷积层(C)、激活函数层、池化层(P)、全连接层(FC)、损失函数层组成.整个网络模型如图1所示,图中省略了卷积层和池化层之间的激活函数层[8].常用的激活函数有Sigmoid函数、Tanh函数、ReLU函数.由于Sigmoid函数单调连续,输出范围在(0,1)中,优化较稳定,故本文中采用Sigmoid函数.

图1 浅层次卷积神经网络结构图Fig.1 Shallow convolutional neural network structure diagram

上述卷积神经网络包含4个卷积层、3个最大池化层、1个全连接层、1个损失函数层(图1),其中损失函数采用Softmax回归函数.首先在卷积层中包含有多个滤波器,对预处理后的二维图像数据进行卷积运算,减少特征图尺寸;然后将输出值经过Sigmoid函数,获取特征图上的像素值,使模型能够更加拟合复杂的函数,形成特征图;再通过池化层降低特征维度,减少模型计算量;最后将全连接层上的每个神经元与输入特征图上的每个像素建立连接,综合提取图像特征,将组合后的特征值传输给Softmax分类器计算每个类别的概率值,从而确定每个像素的缺陷情况.其中,池化层将卷积层的输出结果通过求出n×n滑动窗口的平均值或最大值来确定通过池化层后的特征图,该输出结果能够很好地表示输入池化层前的数据,故池化层具有降低数据特征维度,降低计算量的作用.

1.2 浅层次卷积神经网络的训练过程

由于BP算法是一种能够极大降低梯度的训练方法,故本文采用BP算法求解浅层次卷积神经网络模型中的参数值.在计算模型的每层参数的过程中利用梯度下降算法[9]对网络中的每层参数进行迭代更新,采用的更新公式为

(1)

(2)

(3)

1.3 Softmax分类器

在全连接网络层的结果输出后连接Softmax分类器,计算得到不同类别的对应概率.对网络前面的输出结果进行分类,首先取二分类进行分析,采用{(x1,E(x1)),…,(xi,E(xi)),…,(xN,E(xN))}表示N个数据,xi为表示输入图像数据的矩阵,E为卷积神经网络的期望输出.对于二分类问题有:

(4)

其中:p表示当输入数据为xi时,输出值为1或0的概率;θ为当前模型参数k、b构成的矩阵.综合可得概率分布为:

p(x)=(gθ(x))E(xi)((1-gθ(x))1-E(xi),

(5)

其中,x为x1,x2,…xN构成的矩阵,gθ(x)=q(θTx),q为Sigmoid函数.

通过最大似然估计等计算可得分类器关于θ的损失函数:

(1-E(xi))log(1-gθ(xi))].

(6)

通过对θj求偏导,可得:

(7)

(8)

其中α为学习率.由于多任务学习相较于单任务学习的分类准确率和效率更高,已广泛应用在图像识别[10]、图像细粒度分类[11]、人脸检测[12]等图像领域,因此本文中将以上二分类情况拓展至多分类情况,取l为分类的种类,同理可得

其中,θ1,θ2,…,θl为每组标签对应的所有参数构成的矩阵.

多种类分类器的损失函数为:

(1-E(xi))log(1-gθ(xi))]=

(9)

对θj求偏导可得:

(10)

根据梯度下降算法,按式(1)更新参数,训练Softmax分类器中参数.

2 基于双网络并行模型的缺陷识别

通过上节中对网络中各层参数的训练,完成了较浅层次网络模型的建立.为了弥补浅层次的卷积神经网络识别精度低的缺陷,在上述理论基础上建立双网络并行模型,即利用深层次网络模型AlexNet与浅层次网络模型的交叉熵函数训练浅层次卷积神经网络,达到提高识别精度、降低训练模型参数对服务器的要求,缩短训练时间.

利用双网络并行模型完成浅层次卷积神经网络的训练后,将每一帧图像进行不同尺度大小的变化并且均等分块输入浅层次卷积神经网络,计算每个分块的结果值,将其与之前人为定义的数值进行对比,从而确定缺陷的类别.

2.1 图像数据预处理

在网络模型训练过程中,对各个类别数据均匀随机抽样,将70%、20%、10%分别作为训练集、测试集和验证集.使用工业相机采集图像,像素为2 048×4 096,将图像划分为5行10列,共有50张子图.且从采集到的图像中随意裁剪3 000张拥有同样缺陷问题的图像,分别缩放至100×100与227×227两种规格.其中将100×100规格的图像用于训练本文提出的较浅层次的神经网络,用227×227规格的图像训练AlexNet.人为的定义每种数值代表的缺陷类别,以便后续与结果进行比对,确定缺陷类别.为了将图像中的缺陷问题凸显出来,并有利于训练时的收敛,对图像进行中心式归一化处理.即将图像中的每一个像素减去该图像的平均值,并减少图像数值的取值范围.中心式归一化示意图如图2所示.

图2 中心式归一化示意图Fig.2 Central normalized diagram

进一步将中心式归一化处理后的图像储存在数据库中,减少硬盘IO开销[9].

2.2 双网络并行模型参数选择

本研究构建的双网络并行模型如图3所示.其中,全连接层前存在一个卷积层分支,其中卷积核个数为200,卷积核大小为7×7,步长为1.将该卷积层与AlexNet中的最后一个池化层输出结果进行交叉熵损失函数连接,通过深层次卷积神经网络的输出结果修正较浅层次神经网络模型中的参数实现双网络并行模型.并行网络的损失函数为:

J(θ)=αLclassification(θ)+βLcross,

(11)

图3 双网络模型示意图(省略激活函数层、中心归一化层)Fig.3 Dual network model diagram (omitted activation function layer and center normalization layer)

其中,Lclassification(θ)为分类器的损失函数,即式(10).Lcross为较浅层次网络与AlexNet网络之间的交叉熵损失函数,具体为

(12)

其中,t=(ti)表示AlexNet在最后一个池化层输出的特征向量,s=(si)为本文所提出网络在C4层输出的特征向量.

首先,对AlexNet与浅层卷积神经网络分别进行训练.其中AlexNet模型的卷积核参数初始化采用AlexNet在1 000分类中训练好的参数[13],输入AlexNet模型的数据大小为227×227×3.浅层次卷积神经网络模型参数采用随机初始化,即采用均值为0,方差为1的标准高斯分布,输入浅层次网络模型的数据大小为100×100×1.通过反向传播梯度下降算法,在每一次迭代过程中,对公式(2)中的权重与偏置参数k,b进行更新.

其次,对双网络并行模型进行训练.由于式(11)中α=1-β,故需通过对训练集数据进行训练来确定β超参数值.本文中训练次数为20次,浅层次的卷积神经网络的训练参数中每个批次图片数量为128,权重衰减系数为0.000 1,α的初始值为0.001,每迭代104次,α缩小10倍.取原有训练集划分为训练集与测试集,根据模型在测试集的表现效果确定式(12)中的超参数β的值,结果如图4所示.从图4可得超参数β为0.2时,模型准确率最高,表现效果最好.

图4 β与模型分类准确率关系图Fig.4 Relation diagram between super-parameter and model classification accuracy

3 实验结果与分析

3.1 训练样本集大小对分类准确率的影响

本文中采用相同的数据与训练策略分别对2组模型进行训练,一组为本文第2节改进的加入AlexNet的双网络并行模型,另一组为本文第1节的浅层次单网络卷积模型.根据训练情况绘制出样本集大小对准确率影响曲线,如图5所示.

图5 双网络模型与单网络模型不同样本集对比曲线图Fig.5 Contrast curve of different sample sets between double network model and single network model

由图5可知,双网并行模型准确率高达95.9%,误检量为123.若只采用单网络模型进行训练,则模型的最大准确率为80.1%,误检量为597.通过本研究改进的双网络并行的卷积神经网络模型可以将误检率降低79.4%,准确率提高11.8%,故采用双网络模型比单网络模型在识别的准确性方面有明显提高,具有更好的鲁棒性,识别效率更高.

3.2 双网络模型与其他模型的比较

为验证本文中双网络并行模型有效性,现将该模型与浅层次卷积神经网络模型放在相同训练集与训练策略条件下,对起重机金属结构的疲劳开裂、腐蚀等常见缺陷图像进行分类.除此之外为进一步说明本文中双网络并行模型算法在起重机缺陷检测方面的优势,现将该双网络并行模型算法与属于卷积神经网的SENet模型,以及传统的机器视觉方法支持向量机库(LibSVM)、BP神经网络进行对比.

SENet模型是ILSVRC 2017的冠军网络[14].在SENet模型中,每个通道的[0,1]权重由分支(gap-fc-fc-sigm)分配,能够自适应地使原各通道的激活值进行响应.该网络模型在ImageNet数据集中图像分类错误率仅为2.25%.但该模型的空间复杂度较高,参数数量高达2.75×107.一般来说,模型的大小取决于训练的数据规模,而起重机缺陷识别检测的分类较少,故对起重机缺陷分类识别所对应的简单数据集应用SENet模型容易造成过拟合问题.现将相同的训练集、测试集数据分别对SENet进行训练,SENet各层初始化参数为ImageNet训练后的参数.

LibSVM[15]所采用的测试集、训练集同双网络并行的卷积神经网络一致.LibSVM分类采取以下步骤:

1) 提取样本梯度直方图(HOG)特征.

2) 选择核函数,核函数公式为K(u,v)=exp(-γ|u-v|2).

3) 通过LibSVM中SVMcgForClass函数选取最优c和g,其中,c为惩罚系数,g为gamma函数设置.

4) 训练模型,用以上得到的g、c训练分类模型.

5) 精度测试,用LibSVM中svmpredict函数对模型分类精度进行测试.

BP神经网络模型[16]的训练步骤如下:

1) 初始化权系数及各网络参数.初始学习率 0.1,动量因子0.9,允许误差10-6,隐层节点20个.

2) 输入样本,迭代次数n=0.

3) 比较期望输出Tk与实际输出Zk(n)计算误差E(n),判断是否满足要求,满足转至6),否则转至4).

4) 判断n+1是否大于最大迭代次数,若大于转至6),否者,反向计算每层神经元局部梯度Dn.

5) 计算学习率η(n)与权值w(n);n=n+1,转至3).

6) 判断是否训练完所有样本,是则结束,否则转至2).

表1给出了双网络并行模型与对比模型的识别准确率.对比双网络模型算法与属于卷积神经网络的浅层次单网络模型和SENet模型的识别准确率可以看出,本文采用的双网络并行模型比浅层次卷积神经网络模型在缺陷识别准确率方面有较大幅度的提高,且对起重机金属结构缺陷识别的效果更加稳定.SENet模型由于其模型参数过多,训练数据过少,导致过渡拟合了训练数据,缺乏泛化能力,所以表1中其识别准确率也不如双网络并行模型.与传统的机器视觉算法LibSVM和BP神经网络进行对比,可以看出由于双网络并行模型的卷积神经网络避免了传统机器视觉所必需的图像灰度值操作、模糊操作、阈值操作、腐蚀以及膨胀操作,双网络并行模型算法比LibSVM算法、BP神经网络在起重机金属结构裂纹、腐蚀、变形等缺陷识别准确率均有较大提高.

表1 双网络并行模型与其他模型的缺陷识别准确率对比表

图6为双网络并行模型算法与LibSVM算法、BP神经网络的大型起重机金属结构腐蚀和裂缝缺陷检测效果对比图.图中绿色为双网络并行模型算法的检测效果图,蓝色为LibSVM算法检测效果图、白色为BP神经网络检测效果图.

图6 起重机金属结构检测结果图Fig.6 Crane metal structure detection result diagram

从图6可看出,在面对不同尺度的起重机金属结构的缺陷识别时,本文中提出的双网络并行模型算法更具鲁棒性,而LibSVM算法、BP神经网络虽然能够识别框出起重机金属结构缺陷,但其准确度不如双网络并行的卷积神经网络模型.

4 结 论

传统机器视觉在大型起重机金属结构的缺陷识别应用中,存在数据量大、特征空间维度高,单一特征提取算法难以满足大型起重机金属结构缺陷的识别.本文中提出将双网络并行模型的智能视觉检测技术应用于该领域,提高缺陷识别的性能与效率,并通过实验验证了该算法的有效性,得到如下结论:

1) 与传统的起重机缺陷检测算法比较,双网络并行模型的卷积神经网络算法不仅通过图像池化操作降低了特征空间维度,还通过将全连接层上的每个神经元与输入特征图上的每个像素建立连接,综合提取图像特征算法,使其具有更好的鲁棒性,识别效率更高.

2) 通过双网络并行模型与单网络模型、传统机器视觉识别方式的实验性能对比,验证了双网络并行模型算法在识别金属结构缺陷的准确度.表1所示浅层次单网络卷积模型识别准确率最高为87.2%,传统机器视觉识别准确率最高为87.8%.而双网络并行模型识别准确率最低也有95.3%,表明双网络模型相比于单网络卷积模型、传统机器视觉的有效性.

3) 通过双网络并行模型与SENet网络模型的实验性能对比,验证了双网络并行模型算法在识别金属结构缺陷的效率与准确度.由于SENet网络模型训练参数量达到2.75×107,远大于双网络并行模型所需训练参数,空间复杂度较高,导致缺陷识别效率较差.而在准确率方面,其识别准确率最高为90.1%,低于双网络并行模型准确率.

猜你喜欢

浅层起重机卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
卷积神经网络的分析与设计
东营凹陷北带中浅层油气运移通道组合类型及成藏作用
起重机接地问题整改方式的探讨
从滤波器理解卷积
对起重机“制动下滑量”相关检验要求的探讨
基于傅里叶域卷积表示的目标跟踪算法
大型起重机集中润滑的研究与改善