网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

裂缝检测模型数据集的低监督快速标注算法  PDF

  • 刘超
  • 许木南
  • 曹思娴
  • 牛圣尧
  • 朱安琪
同济大学 土木工程学院,上海 200092

中图分类号: TU375.1

最近更新:2023-11-15

DOI:10.11908/j.issn.0253-374x.22150

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

为解决裂缝检测深度学习模型训练时数据集标注效率低、成本高的现状,以及现有计算机标注算法对复杂环境适应性较弱的问题,基于计算机视觉与概率统计理论,提出低监督快速标注的概念,并以计算机标注和人工标注相融合的全新标注模式,形成了完整的裂缝检测模型数据集的快速标注算法。与人工逐像素标注相比,标注精度均为84%以上,且可节省至少85%的时间;与传统计算机标注方式相比,标注干涉和简单人工标注方式可以较好地处理复杂背景问题。经U‒Net深度学习模型验证,测试集的平均交并比可达0.90。

随着中国基建的高速发展,很多建筑、桥梁等基础设施不可避免地出现裂缝病害。裂缝识别向来是结构检测的重要内

1。随着计算机技术的普及与发展,传统人工巡检的弊端逐渐显2,基于人工智能的裂缝检测技术逐渐成为研究热点。苑玮琦3和周颖1基于计算机视觉的裂缝检测技术,提出利用计算机视觉技术与消费级照相机,在识别裂缝区域的同时,测量裂缝宽度。深度学习的发展更使得计算机检测裂缝的准确率得到了大幅提升。Cha4和Gibb5先后使用卷积神经网络对混凝土裂缝进行检测,成功解决了裂缝检测的定位问题,诸多团队对该检测方法进行了研究验证与算法优化。其中,李良福6结合滑动窗口算法建立的裂缝分类模型,其识别准确率高达97.9%。但这样的技术发展也为深度学习前期所需的数据集标注提出了更高的要求。

深度学习的准确性往往依托于海量训练数据,但人工标注的主流数据集标注方式需要巨大的人工成

7。现阶段,土木工程领域的相关成果多采用自行标注数据集的方式,且标注结果不公开。为减少研究前期因数据集标注而产生的时间和人力投入,融入人工智能并逐步提高其占比是必然的发展趋8。而数据标注在计算机领域的测试都是基于已公开的数据集,目前数据集快速标注算法主要为半自动标注与弱监督学习两大方面。半自动数据标注的模式大多需要两次人工介9。而弱监督学习无法获得逐像素点的标注信10,且标注效果也不甚理想,Wang11提出的弱监督语义分割精度只有65.7%。同时,鉴于现有标注任务不够细5且受不同领域图像标注专业性和复杂性的影响,此类成果在土木工程领域的应用存在明显的滞后性。

考虑到现有的裂缝识别算法大多基于理想状况,缺乏对复杂环境的适应性,难以满足工程应用的实际需求,故对裂缝数据集的标注算法进行探究,提出将人工检测与计算机视觉相融合的低监督快速标注方法。

1 基于计算机视觉的裂缝检测

计算机视觉对裂缝的识别是减少裂缝标注过程中人工工作量的重要基础,同样对裂缝检测的精度起决定性作用,其框架流程如图1所示。

图 1  基于计算机视觉的裂缝检测流程

Fig. 1  Procedures of crack detection based on computer vision

1.1 图像预处理

因裂缝及其背景的像素值多呈现黑、白、灰3种颜

12,图像各颜色通道对裂缝检测的影响不大,故先将图像转化为灰度图像以减少计算机工作量,再通过Binary阈值化操作将灰度图像转换为二值图像,其公式为

dstx,y=max V     srcx,y>阈值0                   否则                      (1)

式中:dstx,y为输出图像像素点坐标;srcx,y为输入灰度图像像素点坐标;max V为设置的最大值,常为255,以得到黑白输出图像。

图2所示,为减小图像拍摄亮度和对比度对裂缝检测的影响,采用自适应阈值二值化算法。在灰度图像的直方图中遍历阈值0~255,小于等于该阈值的像素点设为背景,大于该阈值的像素点设为前景;分别计算背景和前景像素个数所占总像素个数的比例w1(t)w2(t)和像素平均值,得到像素标准差σ1σ2;最后计算类间方差,使类间方差最大的阈值即为最佳阈值。图2b为其二值化结果。其中,类间方差σw2计算公式为

σw2=w1(t)σ12+w2(t)σ22 (2)

而后通过图像模糊,在保存裂缝特征的前提下尽可能地消除背景噪声对裂缝检测的影响。图像卷积运算是常用的去噪方法之

1。其中,中值滤波可将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,不涉及最值问题,不受噪声影响,对消除椒盐噪声的处理效果较好,在处理边缘特征时也具有优势,如图2c所示。其公式为

gx,y=medfx-k,y-l,(k,l)W) (3)

式中:fx,ygx,y分别为原始图像和处理后图像;W为二维模板,可采用常见的5×5区域。

图 2  基于计算机视觉的裂缝检测结果

Fig. 2  Result of crack detection based on computer vision

1.2 裂缝标注

形态学操作的基本内容为腐蚀与膨胀。腐蚀是将核覆盖区域内的像素最小值赋给锚点,膨胀则取像素最大值。通过先腐蚀后膨胀的开运算,可以消除目标外的孤立点,使标注所得的裂缝更为连续,如图2d所示。

为增强局部的对比度,对图像直方图均衡化处理。将图像各点像素值较为平均地分散至0~255的范围,并将直方图归一化;按式(4)计算出累计直方图后,通过式(5)的映射得到输出结果,如图2e所示。

H'i=0jiH(j) (4)
dstx,y=H'src(x,y) (5)

式中:H(j)为原始图像的统计直方图;H'i为原始图像的累计直方图。

1.3 裂缝边界提取

在裂缝标注的基础上,利用Canny边缘检测算子提取裂缝边界。利用高斯滤波进行降噪处理后,计算每个像素点4个方向的梯度值,以梯度值最大的方向为边缘方向,再将保留的梯度值与设定的高、低阈值比较,处于高、低阈值之间的梯度作为最终梯度保留。经过以上步骤所得的如图2f所示的二值图像,即为裂缝的边界。

2 融合人工与计算机视觉的标注算法

为提高整体标注的鲁棒性与泛化能力,减少计算机视觉检测中的误差,在计算机标注后可设置适当的人工参与进程。

通过基于计算机视觉的裂缝标注,38%的图像可以预期的精度输出,而62%的图像精度都有进一步提升的空间。对于后者而言,约有84%的图像是因其背景存在噪声点,对计算机视觉标注产生干扰;而剩余16%图像存在的标注问题,一部分为主要裂缝(即图像中长度较长、宽度较宽的裂缝)边缘标注准确度不高,另一部分为次要裂缝(即图像中长度较短、宽度较细的裂缝)无法完整识别。针对以上存在独立噪声点、主要裂缝标注效果不佳、次要裂缝标注效果不佳3种情况,提出采用标注干涉和简单人工标注的融合处理方式,标注流程如图3所示。

图 3  裂缝快速标注流程

Fig. 3  Procedures of fast crack detection

2.1 针对仅存少量噪声的标注干涉

因噪声点具有颜色与背景差异明显、边界像素梯度变化较大等与裂缝相同的特征,噪声点被误判为裂缝是最常见的检测错误之一,且难以通过模糊或锐化等分割操作进行有效处理。可直接在相应标注窗口中,通过画笔等工具将噪声涂抹为背景颜色,从而将其在标注后的图像中去除,如图4所示。

图 4  图像标注干涉结果

Fig. 4  Result of crack detection with interference

2.2 针对主要裂缝标注不佳的简单人工标注方式

主要裂缝标注效果不佳的可能原因为裂缝与背景差异性不大、裂缝周围存在较严重的环境干扰、裂缝过于细小等,可采用弱化背景噪声并加强裂缝区域的思路进行标注。

为实现分区域处理,可以白色粗略地涂抹背景区域,如图5c所示。对涂抹出的背景区域进行模糊处理;对未涂抹的裂缝及其周围区域进行锐化处理,以使裂缝边界更为明晰,如图5d所示。同时,通过算法提取涂抹边界,通过定点模糊避免像素替换中产生干扰裂缝检测的边界,如图5e所示。后利用计算机视觉重新标注,即图3流程中的“简单人工标注方式1”,其标注结果对比如图5b和5f所示。该方法可解决绝大多数仅存在一条裂缝的图像的标注问题。

图 5  简单人工标注方式1标注结果

Fig. 5  Result of crack detection with simple manual detection method 1

2.3 针对次要裂缝标注不佳的简单人工标注方式

对于次要裂缝因过于细小、不连续性较强等原因而无法完整检测出的情况,采用“简单人工标注方式1”的标注结果如图6c所示,次要裂缝的锐化增强效果并不明显,仍可能被处理为背景噪声,故考虑将其作为单一裂缝的处理方案,即图3流程中的“简单人工标注方式2”。通过涂抹分别将主要、次要裂缝忽略,对主要、次要裂缝单独进行如“简单人工标注方式1”的处理,如图6d和6e所示;然后将标注后的图像叠加,最终标注结果如图6f所示。

图 6  简单人工标注方式2标注结果

Fig. 6  Result of crack detection with simple manual detection method 2

2.4 检测进程判断

对于是否需要在计算机视觉标注后引入人工参与、标注结果是否理想的判断,通过人工与计算机并行的方式进行。人工判断可以直观且准确地分析出标注结果不理想的原因,便于直接选择相应的处理方式。但为进一步提高图像标注中的衔接效率,可将标注结果先交予计算机进行判断,判断流程如图7所示。

图 7  检测进程的计算机判断流程

Fig. 7  Procedures of detection process judgment with computer

图像直方图通常包含两个峰值,分别对应裂缝与背景的像素集,但第一峰值通常较低,少数图像直方图较低峰值不明显,如图8所示。另外,高斯混合模型拟合所需参数和迭代次数较多,需预先选择合理的初始参数以便完成迭代,难度较大。因此,改用正态分布拟合与3σ原则相结合的方式,即假设背景区域像素点呈正态分布,可得拟合正态函数的均值μ和均方差σ,而背景部分像素值在μ±3σ范围外的概率仅为0.002 7,可认为该范围外均为裂缝区域像素点。由此可大致估算出裂缝区域面积,以对计算机标注和简单人工标注后的裂缝面积进行初步校核,避免出现较大裂缝遗漏或较多噪声误判的现象。

图 8  数据集图像直方图示意

Fig. 8  Histogram of dataset image

对标注后的二值化图像进行连通域分析,可获取各部分裂缝的面积值。如该输出的面积数值结果较多或存在较小值,均可能为背景噪声所致。

考虑到简单人工标注后的涂抹边界,在模糊后仍有被检测出的可能,而由图5d可以看出,涂抹边界处的像素梯度往往与裂缝边界处有着较大差异。在裂缝检测获取裂缝边缘像素点坐标的基础上,以式(6)式(7)所示的Scharr算子的卷积操作求得裂缝边缘像素梯度,并取均值。

Gx=-3  0  3-10010-3  0  3 (6)
Gy=-3-103    0      00-3    103 (7)

式中:GxGy分别为Scharr算子用于检测水平方向上和竖直方向上的边缘的卷积核模板。

将计算机标注和简单人工标注后的结果相比,如二者相差过大,则存在检测有误的可能性,因而以其相对误差作为是否在简单人工标注环节引入干扰因素的判断依据。通过上述对裂缝总标注面积和预估面积的差值、裂缝各部分标注面积、简单人工标注前后裂缝边缘像素梯度差值的分析判断,设定合理的阈值或参数,可在一定程度上协助分析裂缝标注结果是否可靠。

3 标注结果分析与深度学习验证

以Dorafshan

13制作的裂缝数据集为例,进行实验验证,部分图像的原图及对应标注结果如图9所示。其中图9a、9c、9e为原始对象,图9b、9d、9f分别为图9a、9c、9e对应的标注结果。图9e、9f为该算法在工程实际图片中的应用,从中可以看出,该方法对斑点、坑洞及材料本身颜色的不均匀性等干扰均可进行一定的排除。

图 9  裂缝标注结果

Fig. 9  Results of crack detection

3.1 标注结果分析

实验结果表明,绝大多数图像可通过计算机视觉与人工结合的标注方式得到很好的输出。由于目前对数据集标注精度没有有效的评判标准,故以纯人工标注图像作为对照,引入深度学习中检测评价函数交并比(IoU)和平均交并比(MIoU)的概念,进行标注精度分析。

IoU为真实标签和预测值的交和并的比值,MIoU是该数据集中的每一个类的交并比的平均。在裂缝标注任务中,裂缝与背景为两类标签,其计算公式如下:

          IoUl=TPlTPl+FNl+FPl   ,             l=裂缝背景 (8)
MIoU=12[IoU裂缝+IoU背景]        (9)

式中:TP表示所提算法标注为正例、手动标注为正例的像素数;FP表示所提算法标注为正例、手动标注是反例的像素数;FN表示所提算法标注为反例、手动标注是正例的像素数。

t1t2分别为手动标注和所提算法标注所用的时间,时间缩短率rt的计算公式如下:

rt=1-|t2-t1|t1 (10)

在Windows 10系统、Intel(R) Core(TM) i7‒9750H CPU @ 2.60GHz(12CPUs)处理器的配置下,以Python语言得到的时间统计,以及标注像素值对比情况汇总如表1所示。

表 1  部分裂缝标注结果对比
Tab. 1  Comparison of partial crack detection results

图像

编号

手动标注本文算法

IoU

(裂缝)

IoU

(背景)

MIoUrt
裂缝像素数t1/s裂缝像素数t2/s
1 3 292 188 3 193 0.885 0.844 0.930 0.887 0.995
2 7 431 316 7 542 38.328 0.846 0.838 0.842 0.879
3 1 914 149 1 985 0.631 0.824 0.957 0.890 0.983
4 3 778 101 3 484 0.548 0.912 0.924 0.918 0.991
5 4 986 113 5 252 1.813 0.842 0.889 0.866 0.984
6 2 524 228 2 579 35.657 0.788 0.943 0.866 0.844
7 31 23 267 3 598 32.963 0.793 0.922 0.857 0.872
8 679 104 695 0.645 0.787 0.984 0.886 0.992

表1可知,图像标注精度均可达84%以上,而Wang

11以MIoU为精度评价指标得出的语义分割精度只有64.5%。考虑到人工标注同样存在主观疲劳、判断尺度等因素的影7,所提算法的标注精度理想。像素点对比情况见图10

图 10  裂缝标注像素点对比

Fig. 10  Comparison of crack detection pixels

对从图像导入至图像存储完成所用的时间进行统计。计算机标注与标注干涉两种途径的统计结果表明,标注图像的最短时间为0.88 s,最长时间为13.64 s,平均时长为6.13 s,约70%的图像可在此环节输出;两种简单人工标注方式的统计结果表明,图像标注的最短时间为15.07 s,最长时间为67.60 s,平均时长为33.67 s,其余30%的图像基本均可在此环节输出。以所用时间为变量绘制的频率直方图如图11所示。

图 11  裂缝标注时长频率直方图

Fig. 11  Frequency histogram of crack detection time

以上结果显示,整体标注平均时长仅为14.00 s。而纯手动对一张尺寸224×224的图像进行像素级的裂缝标注,却需花费2~5 min不等的时间,若换用图像尺寸更大的数据集,该时间会成倍增加。相比之下,本文标注算法可节省85%甚至99%以上的时间,而参与机理决定了该算法标注时间与图像尺寸的关系不大,且受标注人员主观影响较小,基本不存在工作疲劳、缺乏经验等可能影响标注结果的情况。

传统计算机标注方式只能对图像进行整体的模糊或锐化操作,背景中存在的噪声会因与裂缝的处理变化同步,难以得到有效处理。本文算法通过简单人工标注,以最简方式对裂缝与背景进行分区,通过不同操作与边界处理,解决复杂背景对裂缝标注的干扰问题。极少量图像无法合理标注的主要原因为,裂缝过于细小,宽度仅有1~3个像素点,在图像模糊或形态学操作的过程中易被忽略;裂缝中存在碎石颗粒的填充,裂缝识别时产生多个边界等。

3.2 深度学习验证

选取利用本文算法标注的331张图像,70%作为训练集,30%作为测试集,利用Ronneberger等提出的U‒Net深度学习模

14进行应用。测试集标注结果如图12所示。

图 12  深度学习的训练结果

Fig. 12  Results of deep learning model training

训练过程的损失值变化情况如图13所示。裂缝区域的IoU为0.82,背景区域的IoU为0.98,两个区域的平均交并比MIoU为0.90。

图 13  裂缝标注模型训练损失

Fig. 13  Training loss of crack detection model

将训练模型应用于实际拍摄的工程照片,效果如图14所示。考虑到此次训练所用数据较少,深度学习模型存在很大的优化空间,本文算法可用于裂缝标注的深度学习模型,提高前期数据集处理效率。

图 14  实际工程图像测试结果

Fig. 14  Testing results of engineering images

4 结论

提出低监督快速标注的概念,通过将计算机视觉与人工标注紧密结合、优势互补,进行裂缝检测。研究内容包括基于计算机视觉的裂缝检测,和将人工标注与计算机视觉相融合的多层次标注框架。通过标注像素点精度与标注时长的对比,以及U‒Net深度学习模型的训练,对本文算法进行了结果分析与验证,得出了以下结论:

(1)与人工逐像素标注的结果对比,本文算法标注结果精度均为84%以上,可至少节省85%的时间。本文算法可在保证准确率的同时,提升数据集标注效率,降低人工监督成本。

(2)本文算法通过简单人工标注,可以有效处理背景中存在的噪声。

(3)对于裂缝过于细小,以及裂缝中存在碎石颗粒填充的情况,所提算法无法合理标注。

本文算法仍有进一步提升的空间。如何在标注进程判断与方式选择中提高计算机所起的作用,是否能够通过可变参数的思想优化裂缝检测效果,进而提升标注的精度与稳定性,将在后续工作中进一步研究。所提低监督快速标注算法,也可在充分的验证分析后,尝试应用于车道、路标等其他类型目标的标注中。

作者贡献声明

刘 超:提出研究主题,监督指导,论文修改。

许木南:研究框架构建,算法研究,数据分析,论文写作与修改。

曹思娴:算法研究与验证,论文写作。

牛圣尧:算法研究与验证。

朱安琪:算法研究与验证。

参考文献

1

周颖刘彤.基于计算机视觉的混凝土裂缝识别[J].同济大学学报(自然科学版)2019479):1277. [百度学术] 

ZHOU YingLIU Tong. Computer vision-based crack detection and measurement on concrete structure[J]. Journal of Tongji University(Natural Science)2019479):1277. [百度学术] 

2

李岩杨豪杰刘辉.基于深度学习的混凝土裂缝检测研究[J].信息技术与信息化202112):233. [百度学术] 

LI YanYANG HaojieLIU Huiet al. Concrete crack detection research based on deep learning[J]. Information Technology and Informatization202112):233. [百度学术] 

3

苑玮琦薛丹.基于机器视觉的隧道衬砌裂缝检测算法综述[J].仪器仪表学报20173812): 3100. [百度学术] 

YUAN WeiqiXUE Dan. Review of tunnel lining crack detection algorithm based on machine vision[J]. Chinese Journal of Scientific Instrument20173812): 3100. [百度学术] 

4

CHA Y JCHOI WDeep learning-based crack damage detection using convolutional neural networks[J].Computer-Aided Civil and Infrastructure Engineering2017325):361 [百度学术] 

5

GIBB SLA H MLOUIS SA genetic algorithm for convolutional network structure optimization for concrete crack detection [C] // 2018 IEEE Congress on Evolutionary Computation(CEC)PiscatawayIEEE20181-8 [百度学术] 

6

李良福马卫飞李丽.基于深度学习的桥梁裂缝检测算法研究[J].自动化学报2019459):1727. [百度学术] 

LI LiangfuMA WeifeiLI Liet al. Research on detection algorithm for bridge cracks based on deep learning[J]. Acta Automatica Sinica2019459):1727. [百度学术] 

7

吕博.一种机器学习数据集半自动标注方法研究[J].信息通信技术与政策20197):44. [百度学术] 

LÜ Bo . Research on a semi-automatic labeling method for machine learning data sets[J]. Information and Communications Technology and Policy20197):44. [百度学术] 

8

蔡莉王淑婷刘俊晖 .数据标注研究综述[J].软件学报2020312):302. [百度学术] 

CAI LiWANG ShutingLIU Junhuiet al. Survey of data annotation[J]. Journal of Software2020312):302. [百度学术] 

9

白雪冰韩志峰蒋龙泉.音视频数据半自动化标注方法[J].微型电脑应用2021378):9. [百度学术] 

BAI XuebingHAN ZhifengJIANG Longquanet al. Semi-automatic labeling method for audio and video data[J].Microcomputer Applications2021378):9. [百度学术] 

10

赵世敏王鹏杰曹乾.基于图像语义的弱监督显著性物体检测[J].计算机辅助设计与图形学学报2021332):270. [百度学术] 

ZHAO ShiminWANG PengjieCAO Qianet al. Weakly supervised salient object detection based on image semantics[J]. Journal of Computer-Aided Design & Computer Graphics2021332):270. [百度学术] 

11

WANG YZHANG JKAN Met al. Self-supervised equivariant attention mechanism for weakly supervised semantic segmentation[C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington DCIEEE Computer Society Press202012272-12281. [百度学术] 

12

高庆飞王宇刘晨光. 基于卷积神经网络算法的混凝土桥梁裂缝识别与定位技术[J]. 公路2020659): 268. [百度学术] 

GAO QingfeiWANG YuLIU Chenguanget al. Crack identification and positioning technology of concrete bridge based on convolutional neural network algorithm[J]. Highway2020659):268. [百度学术] 

13

DORAFSHAN STHOMAS R JMAGUIRE M. SDNET2018: an annotated image dataset for non-contact concrete crack detection using deep convolutional neural networks[J]. Data in Brief2018211):1664. [百度学术] 

14

RONNEBERGER OFISCHER PBROX T. U‒Net: convolutional networks for biomedical image segmentation[M]//Medical Image Computing and Computer-Assisted Intervention—MICCAI 2015. ChamSpringer International Publishing2015234-241. [百度学术]