基于改进的Faster R-CNN的古建筑地砖缺陷检测

2021-01-22 09:44刘艳艳
电子技术应用 2021年1期
关键词:卷积分类变形

陈 利,刘艳艳

(1.南开大学 光电子薄膜器件与技术天津市重点实验室,天津 300350;2.南开大学 薄膜光电子技术教育部工程研究中心,天津 300350)

0 引言

随着科技高速发展,对文物的保护和修缮越来越得到重视。传统对文物的缺陷检测主要依靠人力进行目视检查,但容易受到天气、时间等原因影响。地砖缺陷具有形状不规则、背景噪声系数大等特征,目前大多数缺陷检测算法都是根据应用场景不同进行手工提取缺陷特征,直接或者通过机器学习算法进行分类[1]。这种有监督机器学习存在一定局限性,受图片中缺陷类别数目、特征形状等因素影响,人为提取特征需要具有很强的专业性,检测结果不好,鲁棒性差,所以不能很好地适用于对地砖缺陷检测。

随着计算机视觉不断发展,深度学习作为计算机视觉的分支,越来越受到人们重视,目标检测是深度学习的广泛应用之一。近些年来,目标检测取得了很大突破。目标检测主要分为两类:一类是基于候选框的R-CNN(Region Convolutional Neural Network)系列算法,如 R-CNN、Fast R-CNN(Fast Region Convolutional Neural Network)、Faster R-CNN(Faster Region Convolutional Neural Network)[2],它们是生成候选框后进行分类和位置回归;另一类是YOLO(You Only Look Once)[3]、SSD(Single Shot MultiBox Detector),从回归角度出发,直接在图像中回归出目标边框和位置,这类算法仅使用一个卷积神经网络。第一类方法准确度高,速度慢;第二类算法速度快,可以到达实时检测,但是准确性低。

目前基于深度学习的目标检测算法很多,应用在目标检测的效果也很突出[4-6],但是现有算法在缺陷检测中并不能很好地体现出来[7-9],尤其是在地砖缺陷检测中,现有目标检测算法受限于地砖特征的多样性以及纹理特性。为此,本文提出了一种基于改进型Faster R-CNN网络用于检测地砖缺陷。对卷积核中每个采样点位置都增加了一个偏移变量,通过这些变量,卷积核就可以在当前位置附近随意采样,而不再局限于之前的规则格点,形状多变的感受野丰富了语义信息,从而提高检测精度[3]。

1 基本原理

1.1 可变形卷积

在地砖缺陷数据集中,缺陷具有大小不一、形状不同等特点,而Faster R-CNN中卷积网络模块采用固定3×3卷积核,所有激活层的感受野具有一致性,但是由于不同位置可能对应着不同尺度的物体,因此很有必要对尺度或者感受野进行自适应调整,进而更精确地定位。地砖缺陷这类非刚性目标,在图片中形状、大小不同,固定的几何结构已经无法提取更准确的特征。为此,本文引入可变形卷积模块,将标准卷积核替换成可变形卷积核[10]。

可变形卷积示意图如图1所示,图1(a)是标准的3×3卷积操作,图1(b)是加入偏置量之后的采样点的变化,图1(c)是特殊的各种尺度变换,当出现图1(d)所示情况时,则卷积具有各向异性、旋转变换等特点。

图1 可变形卷积采样点变化

在可变形卷积网络中,卷积和池化操作是二维,在同一个通道上进行,卷积操作在输入的特征图X上使用规则网格R采样,然后进行加权运算,R定义了感受的大小和扩张。对于在输出的特征图上的每个点的位置P0,通过下式计算:

其中,Δpn为偏置量,是一个分数;W 是采样点权重;pn是标准采样位置。现在,采样位置变成了不固定位置,由于Δpn通常是小数,而非整数坐标是无法在图像这种离散整数数据上使用,因此通过双线性插值法进行实现,该方法通过寻找距离这个对应坐标最近的4个像素点来计算该点值。可变形卷积网络结构如图2所示,在输入特征图中,原始卷积网络通过滑动窗口直接输出特征图,加入可变形卷积后,原来的卷积网络分为两路,上面一路引入一个额外卷积层学习偏移量,输出一个H×W×2N的偏移量,2N有x、y两个方向的偏移,得到的滑动窗口不是3×3,而是经过平移后的窗口,特征图和偏移作为可变形卷积输入[11]。加入可变形卷积可以使感受野自适应目标的尺度变化,打破了原始卷积网络采用固定感受野的限制,对特征信息的融合更加灵活,以少量复杂模型的代价提高了整体网络对形变的学习能力。

图2 可变形卷积的实现过程

1.2 区域生成网络

经典的检测方法生成检测框非常耗时,例如R-CNN和Fast R-CNN使用选择性搜索方法生成检测框,而Faster R-CNN摒弃了原始滑动窗口和选择性搜索,直接使用区域候选网络生成检测框,极大提升了检测框的生成速度。

区域生成网络结构图如图3所示。在得到特征图后,经过一次 3×3卷积,得到新的 n-d特征图,这样做可以将特征信息集中,然后通过分类层和回归层获取目标的分类和位置。其中,按照不同的长宽比、不同面积的锚框在滑动窗口处得到k个候选区域,每个候选区域和分类准确性得到前景概率和背景概率对应图片上的概率得分。由于每个候选区域和分类准确性的差异性,从候选区域通过平移缩放得到分类准确性需要4个平移缩放参数。候选区域作为区域生成网络的输出由两个任务判定:(1)通过Softmax判定候选区域属于前景类还是背景类;(2)通过边界回归预测候选框的偏移量,来降低定位的误差。

图3 区域生成网络

区域生成网络训练时要把区域生成网络分类和回归的损失都加进来一起训练。损失公式如下:

其中,Ncls是一个 batch 的大小 256是前景和背景的对数损失,pi是锚框预测为目标的概率是前景的标签,Nreg是锚框的总数,λ是两种损失的平衡比列,ti是候选区域的标签是训练时每一个锚框与分类准确值间的偏差。

1.3 感兴趣区域池化层

感兴趣区域池化层负责收集候选区域,并得出候选区域特征图,送入到后续全连接层网络。该层有两个输入,一个是原始特征图,另一个是区域生成网络输出大小不同的候选框。区域生成网络生成候选区域是通过对锚框进行边框回归操作得到,所以候选区域大小形状各不相同,而传统的卷积网络训练好后输入图像尺寸必须是固定值,所以要进行感兴趣区域池化操作。感兴趣区域池化层通过对输入的特征图进行两次量化得到固定尺寸的输出。第一次是对输入特征图进行取整操作,第二次是将特征图分为49个相同大小的区域,对于每一个小区域,使用最大池化的操作从中选取最大的像素点作为输出,这样,就达到输出固定尺寸特征图目的了。

1.4 改进型Faster R-CNN网络

图4 改进的Faster R-CNN网络

以 ResNet101(Residual Network,ResNet)为骨干网络,网络模型如图4所示。输入图片经过一个18层和34层的简单网络,即将所有层进行简单的叠加,然后经过同样层数的残差网络,被调整为512×512的像素。在利用卷积网络提取特征的同时引入可变形卷积增加后者减小卷积核的大小,使卷积核自适应调整为缺陷特征的大小,灵活调整感受野,获得不同感受野的信息将其融合。获得的特征图经过3×3卷积后输入进区域生成网络得到候选框,获得缺陷的大致位置,继续训练,获得更准确的位置。利用前面获得的精确位置,从特征图中得出位置回归和分类的目标。

2 实验分析结果

2.1 样本采集

实验使用的数据集来自于现场采集,图像分辨率约5 000像素×3 000像素。样本采集首先通过矩形框选出缺陷具体位置。采集的样本数量充足,背景丰富,避免了类别不平衡造成检测精度的下降。数据集如图5所示。地砖缺陷分为 4类,包括磨损(abrasion)、崩落(collapse)、开裂(crack)、风化(weathering)。本文按照PASCAL VOC的标注方式建立了一个故宫地砖缺陷的数据集,用LabelImg工具对地砖数据集进行标注,标签包括 perfect、abrasion、collapse、crack、weathering。 数据集包括 314张图片,其中训练集245张,测试集62张。

图5 故宫缺陷样本

2.2 训练过程

本文在Ubuntu16.04系统下采用GeForce GTX1080 TIGPU加速,内存为15 GB,算法在Mxnet框架下采用Python2.7编写实现。

实验分为3个阶段,第一阶段采用VGG16(Visual Geometry Group,VGG)分类模型和 Faster R-CNN网络训练数据,参数设定为:学习率为0.001,初始动量为 0.9,权重衰减为0.000 1,共迭代50 000次。VGG16包括13个卷积层、3个全连接层和5个池化层。VGG16使用了3个 3×3卷积核来代替 7×7卷积核,使用了 2个 3×3卷积核代替5×5卷积核,在保证具有相同感受野的条件下,增加了网络的深度,提升了网络的效果。

第二阶段采用ResNet101分类模型和Faster R-CNN网络训练数据,参数设定同第一阶段一样。首先构建了一个18层和一个34层的简单网络,然后构建了一个18层和一个34层残差网络,这两个网络的参数量、计算量相同,并且与之前VGG-16相比,计算量要小很多。

第三阶段采用ResNet101网络和改进的Faster R-CNN网络训练。参数设定为:学利率设置为0.0005,初始动量为0.9,初始权重为 0.000 5,共迭代 200轮。

2.3 实验结果

为评估算法在砖块缺陷检测重的有效性,采用平均准确率均值(mean Average Precsion,mAP)来作为衡量模型性能指标。mAP是指所有类别目标的平均准确率(Average Precision,AP)的均值,它可以作为目标检测实际度量标准。

本文对比了不同网络模型对地砖缺陷检测的精度,如表1所示。

实验结果表明,本文改进的网络在测试集上取得了最高精度,在测试集上的平均准确率均值为92.49%,相比原始Faster R-CNN网络提高了2.99%。可以看出对特征的提取是提高地砖缺陷检测准确率的重要性。从表1可以得出,除了崩落这类缺陷检测精度略低于ResNet101分类模型的Faster R-CNN网络,其他缺陷检测结果均表现了优良的结果。尤其是在检测完好地砖的结果中,表现尤为突出。

本文网络训练过程中的损失(Loss)和检测精度(Accuracy)随迭代轮数(Epoch)变化曲线图如图6所示。

从图6中发现,当训练达到150轮之后,损失曲线和检测精度曲线趋于平稳。训练完成后,对测试集进行测试,检测的部分结果如图7所示。

3 结论

本文针对地砖缺陷目标尺度多变的复杂情况,搭建了基于改进的Faster R-CNN对故宫地砖缺陷检测网络。加入可变形卷积网络,对卷积核和池化核做增加偏移量操作,脱离原始正方形的卷积核,可以把卷积核更多聚集在缺陷的轮廓上,提升对不规则目标的表现结果。实验表明,相比于VGG-16和ResNet101分类模型与Faster R-CNN结合的网络,本文网络显著提高了地砖缺陷像素的分类精度,为地砖缺陷检测领域提供了新的参考。

表1 不同网络结构的检测性能

图6 本文训练的损失和检测精度曲线

图7 故宫地砖缺陷检测结果

猜你喜欢
卷积分类变形
基于3D-Winograd的快速卷积算法设计及FPGA实现
分类算一算
谈诗的变形
从滤波器理解卷积
分类讨论求坐标
数据分析中的分类讨论
“我”的变形计
基于傅里叶域卷积表示的目标跟踪算法
教你一招:数的分类
例谈拼图与整式变形