魏翠婷,赵唯坚,2,孙博超,2,刘芸怡
(1.浙江大学 建筑工程学院,浙江 杭州 310058;2.浙江大学 平衡建筑研究中心,浙江 杭州 310028)
钢筋混凝土结构由于其取材容易、可塑性强、材料受力合理、施工工艺简单、造价低等优点,是目前工程结构中应用最广泛的结构形式.在结构设计过程中,通过控制钢筋直径和间距来保障构件的承载力.在混凝土浇筑前,须对钢筋隐蔽工程进行验收,校核钢筋绑扎规格、数量、间距是否符合设计要求.传统钢筋配筋检测主要依靠人工测量的方法,检测范围和精度易受到限制,现场检测作业过程中存在较多的安全隐患.在劳动力短缺、从业人员老龄化严重的背景下,传统的钢筋配筋检测方法亟须向智能化转型.
基于传统数字图像处理技术的钢筋检测方法[1]易受光照、背景、遮挡等因素影响,无法满足实际工程的精度要求.随着激光扫描设备和技术的发展,基于三维点云的高精度测量方法已广泛应用于土木工程领域.Kim 等[2-3]使用地面激光扫描仪获取三维点云,对钢筋直径、间距和混凝土保护层厚度进行质量评估,但由于激光扫描设备价格昂贵、数据采集耗时、计算过程繁琐等原因,该方法在实际应用中受到限制.
近年来,基于卷积神经网络的目标检测与实例分割算法得到大量应用,Yang 等[4]通过UNet 解决道路信息抽取问题,实现道路检测及其中心线的估计.Pan 等[5]利用DeepLabV3+识别钢材缺陷,并进行精准的分类及定位.Li 等[6]将PSPNet 应用到混凝土多损伤检测中,有效地提高了分割精度.此外,目标检测与实例分割算法被用于预制构件识别[7]、钢筋绑扎网点定位[8-9]、钢筋截面计数[10-11]等场景,主要分为基于候选区域和基于回归思想的2 类算法.以更快的区域卷积神经网络(faster region with convolutional neural network,Faster R-CNN)[12]为代表的基于候选区域的目标检测算法,采用2 阶结构,先生成候选区域,再进行精细的分类与回归,能够显著地提升检测精度.Mask R-CNN 是由He 等[13]提出的实例分割算法,在Faster R-CNN 的基础上改进而得,通过输出目标的矩形边界框和像素级掩膜,实现了高效的物体检测和高质量的实例分割.Zhao 等[14]利用Mask R-CNN 提取遥感图像中的建筑物,结合几何特征正则化边缘的轮廓线.Kim 等[15]提出混凝土结构裂缝评估的方法,该方法通过Mask R-CNN识别裂缝,对掩膜进行形态学处理,进一步量化裂缝宽度.Xu 等[16]使用改进的Mask R-CNN 算法,检测隧道表面缺陷,在混凝土剥落及液体渗漏的情况下展现出良好的预测性能.Nie 等[17]提出Mask R-CNN+Soft-NMS 模型,通过引入柔性非极大值抑制,提高对船舶检测的鲁棒性.
Mask R-CNN 具备强大的特征提取能力,由于传输路径较长,会引起底层特征信息丢失的问题,将影响检测与分割的精度.本文通过在Mask R-CNN 网络的基础上加入自下而上的注意力机制路径,提出Mask R-CNN+CA-SA 模型,以提高钢筋边界框与掩膜的预测精度.基于钢筋预测结果,通过使用双目视觉技术,计算钢筋直径与间距,实现智能配筋检测,在钢筋隐蔽工程中辅助工作人员进行质量验收.
如图1 所示,Mask R-CNN 的网络结构包含特征提取模块、候选区域(region proposal network,RPN)模块、感兴趣区域(region of interest,ROI)对齐模块和3 条输出分支.特征提取模块采用基于残差网络(residual network,ResNet)的特征金字塔网络(feature pyramid network,FPN)结构,获取特征图.RPN 模块负责提取候选框,针对特征图上的每一点生成强先验的锚点框后,利用1×1 卷积得到的分类得分和边界框回归量,筛选出一组较好的候选框,输入后续的ROI 对齐模块.为了满足全卷积网络对输入特征的要求,ROI 对齐模块将ResNet-FPN 生成的特征图和RPN 筛选出的候选框变换到相同维度.将ROI 对齐模块得到的特征输入全连接层,在分类和边界框回归分支分别输出物体的预测类别得分与边界框回归量.多次的卷积与池化操作造成特征图分辨率逐渐减小,掩膜分支利用反卷积操作来提升分辨率,获得物体像素级别的掩膜,完成检测与分割任务.
图1 Mask R-CNN 网络结构Fig.1 Network structure of Mask R-CNN
特征提取网络ResNet-FPN 是多层特征融合的结构.该结构将浅层和深层特征进行融合,使提取到的特征图同时具备强空间信息和强语义信息,在小物体检测领域具有突出优势.在特征融合的过程中,最高层特征通过FPN 自上而下的传播路径向底层传播后,丢失了主要特征,且相邻层间特征融合时未考虑语义信息间的差异,降低了多尺度特征的提取能力.针对底层特征信息丢失的问题,路径聚合网络(path aggregation network,PANet)[18]使用自下而上的结构,缩短底层与最高特征层之间的传播路径,丰富高层的空间信息,增强特征层的定位能力.Huang 等[19]通过在特征金字塔中增加横向连接支路,将底层特征层信息补充到后续网络中.Li 等[20]利用基于增强单发多框探测器(single shot multibox detector,SSD)的特征金字塔模型,以非线性的方式融合各层特征.
注意力机制(attention mechanism,AM)[21]因其良好的性能,被广泛应用于计算机视觉领域,例如图像分类[22]、人脸识别[23-24]、关键点检测[25]、三维视觉[26]等.AM 的基本思想是对各输入特征分配权重系数,通过权重系数表示对该特征的关注程度,具体可以分为通道注意力(channel attention,CA)、空间注意力(spatial attention,SA)和混合注意力3 类.
通道注意力机制CA 模块的结构如图2 所示,将高为H、宽为W、通道数为C 的特征图输入全局平均池化层,对其空间维度W 和H 进行压缩,C 保持不变,便于后续的网络学习通道特征.对1×1×C 维度的特征图进行卷积操作,并经过softmax 处理后获得归一化序列.该序列即为通道注意力机制权重,与输入特征图按通道维度对应相乘,获得最终的输出特征图.
图2 通道注意力机制Fig.2 Channel attention mechanism
空间注意力机制SA 模块的结构如图3 所示,为了获得特征图中目标的位置特征,对特征图进行1×1 卷积和softmax 处理,将通道维度压缩为单位1,并保持高、宽不变,获得H×W 的矩阵.该矩阵即为空间注意力机制权重,反映特征图中对应像素点位置信息的重要程度.将输入特征图与该权重矩阵相乘,可以起到放大重要特征、弱化背景信息的作用.
图3 空间注意力机制Fig.3 Spatial attention mechanism
由于钢筋边缘带有纵肋和横肋,为了保证Mask R-CNN 网络对边缘细节的预测精度,借鉴PANet 的网络结构,在ResNet-FPN 模块中增加自下而上的传播路径,并嵌入通道注意力和空间注意力结合的CA-SA 模块.加强浅层与深层特征的融合,避免钢筋边缘细节信息的丢失;调整特征提取的重点,突出高目标响应通道和目标像素点,提高Mask R-CNN 网络的钢筋检测与分割准确度.
自下而上注意力机制路径的结构如图4 所示,最左侧部分采用ResNet 网络结构,获取{C1,C2,C3,C4,C5}特征图.在C5 的基础上,通过1×1 卷积及通道数下采样操作生成P5 特征图,采用2 倍最近邻上采样放大特征图分辨率后,与C4 逐元素相加,以生成P4 特征图.为了获取自下而上路径中的{N2,N3,N4,N5}特征图,将P2 的特征信息传入N2,再对N2 进行3×3 卷积将高、宽下采样至P3 尺寸,与P3 逐元素相加后,输入CASA 模块来得到N3.依此类推,N4 和N5 可在P4 和P5 特征图上对应提取.通过将该自下而上的注意力机制路径镶嵌到Mask R-CNN 模型中,形成改进的Mask R-CNN 模型,即Mask R-CNN+CA-SA 模型.
图4 自下而上的注意力机制路径Fig.4 Bottom-up path with attention mechanism module
双目视觉是计算机视觉的重要领域,通过左右目相机来模拟人类视觉系统,结合透视投影、三角测量和特征点匹配原理获取景深信息,计算物体相对于相机的三维空间坐标.由于设备简便、效率高、成本低等优势,双目立体视觉技术被广泛应用于自动驾驶[27]、遥感技术[28]、目标识别[29-30]、三维重建[31]等领域.
采用英特尔RealSense 深度相机设备,从左到右依次内置了RGB 相机、左红外相机、红外点阵投射器和右红外相机.左、右红外相机基于双目立体视觉原理测量深度,红外点阵投射器用于为物体增加结构光编码图案,RGB 相机用于采集彩色图像.RealSense 相机的深度测量原理如图5 所示.图中,基线b 表示左、右红外相机轴线中心的连线,f 为相机焦距.在理想情况下,左、右红外相机光轴相互平行,对于空间中任一点P(x,y,z),z 为距离相机坐标平面的垂直深度,其在左、右成像平面投影点的坐标分别为(xl,yl)、(xr,yr).两投影点的视差d 等于xl与xr之差,如下所示:
图5 RealSense 相机的深度测量原理图Fig.5 Schematic diagram for depth measurement by RealSense
利用计算出的d、b 和f,根据三角测量原理即可求出点P 距离相机的深度z,如下所示:
在求出深度z 后,通过相机内参矩阵将像素坐标系转换至相机坐标系,利用(xl,yl)的像素坐标计算出点P 的x、y 坐标值.若已知RealSense 深度相机获取的任意两点(x1,y1,z1)、(x2,y2,z2),则根据下式可以求出两点间的距离:
将提出的Mask R-CNN+CA-SA 模型与双目视觉技术结合,Mask R-CNN+CA-SA 模型负责对钢筋进行识别,双目视觉技术则用于计算钢筋直径与间距,实现钢筋的智能检测.
如图6 所示为智能配筋检测方法的流程示意图,主要分为深度相机数据采集、钢筋识别、钢筋直径与间距计算3 部分,坐标转换作为钢筋尺寸计算的辅助环节.使用深度相机对钢筋的RGB 和深度图像进行采集,其中RGB 图用于反映钢筋的色彩与纹理信息,深度图用于存储像素点的深度信息z.利用在钢筋数据集上充分训练的Mask RCNN+CA-SA 模型,对输入的RGB 图进行钢筋识别,获取钢筋边界框与掩膜的预测结果.利用掩膜提取钢筋边缘与中线对应点对的像素坐标集合,作为钢筋直径与间距计算的平面依据.将深度图传入坐标转换部分,通过深度图与RGB 图对齐的方法,获取各像素点的深度坐标z.结合相机内参矩阵计算出钢筋直径与间距对应点对的空间坐标,分别代入式(3),可以获得实际的钢筋直径与间距.
图6 智能配筋检测方法的实现流程Fig.6 Flow chart of intelligent rebar inspection method
Mask R-CNN 是实例分割的通用网络,利用改进的Mask R-CNN 实现钢筋这一特定对象的识别,须预先在钢筋数据集上进行训练.数据集包括训练集与测试集2 个部分.在训练集中,钢筋图片与标签分别作为输入和输出传入Mask R-CNN+CA-SA 网络,用于计算钢筋实例分割模型的权重参数.在测试集中,钢筋图片输入训练好的模型进行钢筋检测与分割,对结果进行损失和评价指标计算,用于对下一训练步的权重参数进行调整.直至训练结束,保留最优评价指标对应的权重参数,用于智能配筋检测方法的钢筋边界框与掩膜预测.
2.1.1 数据标注 由于目前没有公开的钢筋数据集,使用照相机设备采集钢筋的原始图片.部分数据集图片如图7 所示,拍摄对象为带肋钢筋组成的单双层钢筋网.为了增加数据集的多样性,拍摄过程中考虑影响检测和尺寸计算精度的因素,图7(a)、(b)反映背景复杂程度的差异,图7(c)、(d)体现背景与钢筋颜色差距的大小,图7(e)、(f)分别为产生钢筋倒影和反光点的情况.
图7 部分数据集图片Fig.7 Partial pictures in dataset
在采集好钢筋原始图片后,为了获得钢筋的掩膜标签,使用开源标注软件Labelme 进行人工标注.以多边形勾勒出钢筋实例的边缘,该多边形对应的围合区域即为钢筋掩膜.将标注数据以json 文件格式进行存储.为了将较多的数据用于模型性能的测试,按照7∶3 的比例随机划分为训练集和测试集.
2.1.2 数据增强 初始采集图像共计有300 张,为了提高模型的泛化性能,同时降低数据间的相似程度,采用混合数据增强的方式对数据集进行扩增,包括图片平移、翻转、仿射变换等几何变换方式以及调整亮度、对比度、增加高斯噪声等像素变换方式.如图8(a)所示为数据集的原始图片,经过水平翻转及对比度调整得到图8(b),经过裁剪放大及高斯噪声处理得到图8(c).数据集扩增后进一步筛除相似度过高的图像,最终保留3 450张,满足神经网络训练对数据量的要求.
图8 数据增强示意图Fig.8 Schematic diagram of data enhancement
使用Ubuntu18.04 操作系统、Intel(R)Xeon(R)E5-2678 v3 @ 2.50 GHz CPU、NVIDIA GeForce RTX 2080 Ti 显卡作为模型训练的软硬件条件.选用ResNet101作为主干特征提取网络,基于迁移学习的思想,训练时进一步加载ResNet101 的预训练权重对超参数进行初始化,有助于加快训练的收敛速度,提升模型性能.采用随机梯度下降方法作为优化器,更新模型参数,动量为0.9,权重衰减因子为0.000 1.设置训练批次大小为4,总训练轮次为50,初始学习率为0.000 5.
2.2.1 模型评价指标 对于Mask R-CNN 网络,目标检测的准确率对实例分割的精度会有一定的影响,采用精确率P(precision)和F1分数作为该部分的评价指标.P 为模型预测出的目标中属于正确预测的比例,召回率R(Recall)为所有真值目标中被预测为正样本的比例,F1为P 和R 的调和平均数,公式如下:
式中:TP为实际目标为钢筋且被正确预测为钢筋的数量,FP为实际目标为背景但被错误预测为钢筋的数量,FN为实际目标为钢筋但被错误预测为背景的数量.
采用平均交并比(mean intersection over union,mIoU)、Dice 损失和全类平均精确率(mean average precision,mAP)作为模型分割性能的评价指标.mIoU 为不同类别的预测掩膜与目标掩膜重叠比例的均值.Dice 损失表示预测掩膜与目标掩膜之间的相似度.平均精确率(average precision,AP)为置信度阈值下P-R 曲线与坐标轴围合区域的面积,对物体类别N 求平均,得到全类平均精确率(mean average precision,mAP),公式如下所示.
为了综合反映模型性能,采用COCO 数据集定义的方法计算mAP 指标,即使用不同交并比阈值(0.5:0.05:0.95)下mAP 的平均值表示,当大于设定的交并比阈值时认为该预测结果为正样本.
2.2.2 训练结果与分析 为了验证模型的有效性,采用相同的超参数设置,将提出的Mask RCNN+CA-SA 模型与Mask R-CNN+Soft-NMS、Mask R-CNN 基础网络、U-Net、DeepLabV3+及PSPNet进行比较.如表1 所示为各模型性能的对比结果.Mask R-CNN+CA-SA 模型的P 为93.89%,F1分数为94.97%,mIoU 为89.03%,Dice 损失为12.26%,mAP 为87.62%,相对于其他分割模型性能最为优异,其中较Mask R-CNN 基础网络的P、F1分数、mIoU 和mAP 分别提高了3.56%、2.54%、2.60%和2.47%,Dice 损失降低了1.14%.
表1 不同模型的评价指标对比Tab.1 Evaluation index comparison of different models%
在各指标中,F1分数和mAP 能够更综合地评价模型性能.如图9 所示为Mask R-CNN+CA-SA、Mask R-CNN 基础网络的F1和mAP 曲线.图中,E 为训练轮次.2 项指标在前10 个训练轮次内显著增加,第30 个训练轮次后趋于稳定.Mask RCNN+CA-SA 从初始阶段即可改善钢筋掩膜的分割精度,模型整体性能呈现稳步提升的趋势.利用Mask R-CNN+CA-SA 模型进行钢筋检测,结果如图10 所示,得到钢筋的矩形边界框、区域掩膜、类别标签与置信度信息.
图9 不同模型的F1 和mAP 曲线Fig.9 F1 and mAP curves of different models
图10 基于Mask R-CNN+CA-SA 模型的钢筋检测结果Fig.10 Inspection result of rebars based on Mask R-CNN +CA-SA model
在Mask R-CNN+CA-SA 模型训练完成后,可以根据RealSense 提供的开源SDK 框架,按照数据采集、钢筋识别、钢筋直径与间距计算的流程,开发双目视觉配筋检测方法.
在数据采集前,为了获取准确的深度测量数据,使用英特尔官方给出的标定工具对Real-Sense 深度相机设备的内、外参数进行标定.以最左侧的RGB 相机为世界坐标系原点,相机内参矩阵、旋转矩阵和平移矩阵的标定结果如表2 所示.
表2 内、外参数的标定结果Tab.2 Calibration result of intrinsic and extrinsic parameters
为了使深度误差小于2%,将RealSense 相机和采集对象的距离控制在0~2 m.调用上述标定好的内、外参数,通过SDK 的深度成像模块对左、右红外相机的图像进行特征点匹配,根据左、右成像图片的视差计算对应像素点的深度,形成深度图.
如图11(a)、(b)所示为深度相机采集的钢筋RGB 和深度图像数据.原始深度图通过灰度来表征单一的深度信息,为了体现深度之间的差异,加强可视化效果,图11(b)在原始深度图的基础上进行了色彩渲染,图像底部呈深色为距离相机较近的区域.将钢筋RGB 图输入训练好的Mask R-CNN+CA-SA 模型中,检测结果如图11(c)所示.可以看出,钢筋表面锈蚀及地面倒影未对模型预测造成干扰,钢筋主体掩膜完整.由于模型预测顺序具有随机性,为了提高配筋检测的效率和可操作性,按照自上而下、从左到右的顺序,重新对钢筋掩膜进行排序.将单根钢筋的掩膜图像进行二值化处理,利用边缘检测算法提取掩膜的边缘和中线坐标,通过k 近邻算法计算得到各掩膜中线的法向量.如图11(d)所示,沿法向量方向向掩膜两侧边缘、相邻掩膜中线延伸,提取边缘和中线的对应点对像素坐标.将图11(a)、(b)的信息进行对齐,获得边缘和中线对应点对的空间坐标,计算出各根钢筋的直径与间距后,将数据存储在对应编号的信息元组中进行输出.
图11 配筋检测的输入与输出数据Fig.11 Input and output data of rebar inspection
为了验证智能配筋检测方法的准确性,在试验室环境下搭建一单层钢筋网,利用智能配筋检测方法计算直径与间距,与人工测量结果对比.
如图11(a)所示为单层钢筋网的基本组成情况,沿纵向和横向分别配置6 根钢筋,采用焊接的方式对网点进行固定,左、右两端设置的35 mm 高垫木则用于钢筋网的抬高.为了说明智能配筋检测方法的适用范围,直径与间距分别设置小、中、大3 种尺寸,从钢筋网中心到两端边缘,直径对称地由10 mm 递增至16 mm 和20 mm;间距设计值包含100、150 和200 mm,但由于存在制作误差,钢筋间距真实值利用人工测量的方法进一步确定.
如图11(d)所示,每根钢筋分别选取20 组边缘对应点对,利用20 组数据的均值作为直径的检测值,选取60 段的网点位置计算钢筋间距.智能配筋检测的可视化结果如图12 所示,图12(a)为钢筋直径与间距对应的位置编号,纵、横向分别用y 和x 表示,并按照自上而下、从左到右的顺序赋予1~6 的标号.如图12(b)所示为直径与间距的检测值,分别用方框在原位进行标注.
图12 配筋检测可视化结果Fig.12 Visualization results of rebar inspection
钢筋直径的检测结果如表3 所示.表中,Dn为公称直径,D 为直径检测值,Eda为直径的绝对误差,Edr为直径的相对误差.绝对误差为0~1.7 mm,相对误差基本控制在0~10%.智能配筋检测方法在小直径钢筋检测方面同样具有较好的效果,y4 位置误差最小为0.3 mm.对于工程中使用的各类规格的钢筋,22 mm 及以下钢筋公称直径以2 mm 递减,22 mm 以上分为25、28、32、36、40、50 mm,相邻型号的钢筋公称直径最小相差3 mm,最大相差10 mm.为了确保工作人员在钢筋隐蔽工程验收中不会对钢筋直径作出误判,须将智能配筋检测方法的钢筋直径允许误差控制在0~1.0 mm.在检测结果中,x5、x6、y3 和y5 位置的钢筋绝对误差均超过1 mm,会使工作人员将直径分别误判为14、22、12 和14 mm,不满足实际工程的精度要求.
表3 钢筋直径检测结果Tab.3 Inspection results of rebar diameter
如表4 所示为钢筋间距的检测结果.表中,钢筋间距真实值为通过人工卷尺测量获得的数据,Sr为钢筋间距的真实值,S 为钢筋间距的检测值,Esa为间距的绝对误差,Esr为间距的相对误差.绝对误差均小于4 mm,且约有1/2 的钢筋间距误差可以保持在0~1.0 mm.相对误差基本控制在0~3%,最大相对误差对应的位置编号为x2-5,检测值大于真实值3.2%.根据GB50204—2015《混凝土结构工程施工质量验收规范》5.5.3 条[32]可知,钢筋间距的安装误差须控制在0~20 mm,试验中钢筋间距的绝对误差均远小于规定的允许偏差,满足规范对间距检测精度的要求.
表4 钢筋间距检测结果Tab.4 Inspection results of rebar spacing
为了验证所提方法的可行性与实际可操作性,在复杂背景下对梯板钢筋网进行识别与检测,结果如图13 所示.可以看出,在复杂环境背景下,所有钢筋均能被准确识别.钢筋直径和上层钢筋间距的最大绝对误差位置被放大标记,其中,直径最大绝对误差处的检测值为9.1 mm,相较于公称直径小0.9 mm;间距最大绝对误差处的检测值为201.8 mm,相较于真实值大1.8 mm,两者均满足工程实际所需的精度要求.
图13 复杂背景配筋检测结果Fig.13 Rebar inspection results in complex background
综上所述,智能配筋检测方法对钢筋直径的检测精度偏低,但在钢筋间距检测方面能够达到理想的高精度效果.误差产生的原因如下.1)较大的直径与间距误差主要分布在钢筋网的边缘位置,这些误差主要受深度图分辨率的影响,Real-Sense 相机提供的深度图最大分辨率仅为1 280 像素×720 像素,在与RGB 图对齐的过程中容易出现图像边缘对齐精度下降的问题,导致边缘像素点匹配到错误的深度信息.该问题可以通过提高深度相机的像素得到解决.2)钢筋表面带有纵肋和横肋,公称直径无法全面衡量钢筋截面的尺寸分布情况,且钢筋掩膜与钢筋肋部的锯齿状边缘未完全贴合,导致提取的对应点对存在偏差,从而加大钢筋直径检测的误差.对于不同直径的钢筋,其公称直径属性、检测方法及其影响因素尚需进一步的研究.
(1)通过在自建的包含3 450 张图片的钢筋数据集上进行训练,Mask R-CNN+CA-SA 相较于Mask R-CNN 基础网络的F1分数和mAP 分别增加了2.54%和2.47%,表明Mask R-CNN+CA-SA 模型能够有效提高钢筋边界框与掩膜预测的准确率.
(2)使用单层钢筋网试验和复杂背景测试,对提出的智能配筋检测方法进行验证.结果表明,钢筋直径的检测精度偏低,绝对误差为0~1.7 mm,需要进一步提高.钢筋间距的检测精度较高,绝对误差均小于4.0 mm,满足规范验收的精度要求.智能配筋检测方法在实际应用中具有较强的可操作性.
(3)深度图分辨率过低导致图像边缘对齐精度下降,以及掩膜未贴合钢筋锯齿状边缘是造成智能配筋检测方法误差的主要原因.今后须进一步提升图像分辨率及掩膜精度,通过扩充数据集增强智能配筋检测方法的鲁棒性,将其应用到更复杂的场景中.