摘要
提出了一种基于第2代矢量量化变分自编码器(VQ‒VAE‒2)的自监督混凝土表观裂缝检测算法,可以在缺少裂缝样本的条件下实现高效检测。以重建误差为检测指标,利用无裂缝图片训练VQ‒VAE‒2,使其在重建裂缝图片时产生更大的重建误差;在计算重建误差时将原图和重建图片均分割成若干图块,取对应图块间重建误差最大值作为图片的重建误差,以增大2类图片的重建误差差异。结果表明,该算法的精确率为0.954,召回率为0.959,准确率为0.956,F1分数为0.957。在无裂缝样本作为训练集的情况下,该算法能较好地完成混凝土表观裂缝检测任务。
关键词
混凝土是桥梁结构的主要材料。开裂是混凝土结构的主要病害之一,若不及时修复,则会导致桥梁结构耐久性能和承载能力退化。因此,裂缝检测是混凝土结构后期管养中的一项重要任务。然而,传统的裂缝检测方法严重依赖人工,既不高效也不准确。为了提高混凝土裂缝检测效率,许多基于计算机视觉技术的检测手段被提出。目前基于计算机视觉技术的检测手段主要采用深度学习神经网络,可分为有监督模型和无监督模型。有监督模型,如AlexNet、GoogLeNet、ResNet、YOLO
为了克服裂缝检测任务中训练集数据量不足的困难,有学者通过训练神经网络生成裂缝图片进行数据增广。侯越
基于重建误差的检测方法常用的深度学习模型为自编码器。An
第2代矢量量化变分自编码器(VQ‒VAE‒2)采用层级结构,融合多尺度感受野特征,具有强大的图片重建能力,能重建出高清晰度图
VQ‒VAE‒2是由DeepMind团队于2019年提出的一种变分自编码器。本文所提出的算法是源于基于重建误差的异常检测方法,这类方法利用正常样本训练深度学习模型来重建正常样本,从而使模型在重建正常样本时产生较小的重建误差,而重建异常样本时产生较大的重建误差。VQ‒VAE‒2在本文算法中是用于重建输入样本的深度学习模型。
变分自编码器是在2013年被提出的一种自监督深度学习模型,由编码器和解码器两部分组成。在训练过程中,编码器将输入的训练图片降维并匹配潜变量z的概率分布,然后解码器从概率分布中抽样出潜变量z并用其重建输入的图片。本质上,变分自编码器是在推理样本的概率分布,再从中抽取出样本。概率分布计算式为
(1) |
式中:x为图片样本;为似然分布;为后验分布;为先验分布。
根据
VQ‒VAE‒2假设潜变量为离散分布,采用矢量量化实现离散的潜变量分布。一方面,减小了计算难度,增加了模型的推理速度;另一方面,离散分布的隐变量可以逼近连续分布,满足解码器重建输入图片的需求。此外,在真实世界中许多事物本身也是离散
(2) |
式中:w为编码器的输出;wk、wj均为编码表中的向量。

图1 矢量量化过程
Fig.1 Process of vector quantization
为了使编码表中的向量wk尽可能表征输入图片的特征,应让其逼近编码器的输出向量w,因此在训练过程中需添加损失函数对编码表的参数更新进行约束。模型的损失函数如下:
(3) |
式中:y为解码器的输出;sg为梯度截止计算符,此部分的偏导数为零;β为权重系数。
模型的损失函数分为3项,第1项代表输入图像与重建图像的差异,后2项则计算编码器的输出向量w与映射的编码表中向量wk间的差距。
难以重建出清晰的图片是大多数自编码器的缺陷,限制了其在异常检测任务中的精度。为了重建出清晰的图片,VQ‒VAE‒2采用层级结构,通过融合不同尺寸感受野特征获得更清晰的输出。如

图2 VQ‒VAE‒2结构
Fig.2 Architecture of VQ‒VAE‒2
重建误差是表征深度学习模型重建图片与输入图片间差异程度的指标。在训练用于重建图片的深度学习模型时,常以重建误差作为损失函数,通过迭代更新模型的参数使重建误差最小化,从而达到输出图片尽可能接近输入图片的优化目标。模型训练时参数是根据预测值与训练集误差进行更新迭代,因此模型的重建能力很大程度上依赖训练集。当训练集仅包含正常混凝土图片时,训练得到的VQ‒VAE‒2只能学习到正常混凝土图片的特征,也就只能较好地重建正常混凝土图片。当输入图片中包含裂缝时,重建输入图片则更为困难。这导致重建的裂缝图片与原图具有更大差异,即具有更大的重建误差。如

图3 混凝土图片的重建误差
Fig.3 Reconstruction error of concrete images
以重建误差为判断指标,本文提出了一种基于VQ‒VAE‒2的无监督裂缝检测方法,如

图4 基于VQ‒VAE‒2的混凝土表观裂缝检测算法
Fig.4 Detection algorithm of concrete structural apparent cracks based on VQ-VAE-2
采用均方误差作为重建误差,计算式为
(4) |
式中:M为图片I和K的纵向像素尺寸;N为图片I和K的横向像素尺寸。
在异常检测中,均方误差可以评估重建图片与原图之间像素级别上的平均差异程度,其值越低则2张图片相似程度越高。由于计算均方误差需要取均值,因此重建图片与原图之间的差异可能会被掩盖。

图5 某裂缝图片的异常分数图
Fig.5 Anomaly score map of a crack image
为了评估所提出算法的有效性,采用公开数据集CCIC(concrete crack images for classification
在CPU Intel(R) Core(TM) i7‒10700K、GPU NVIDIA GEFORCE RTX3070ti平台上,以Python3.8语言训练基于PYTORCH 1.11.0框架的VQ‒VAE‒2。训练阶段学习率为0.000 3,输入图片像素为224×224,批尺寸为32,采用Adam优化器,共训练560代。训练过程中的损失曲线如

图6 损失曲线
Fig.6 Loss curve

图7 重建训练集图片示例
Fig.7 Example of reconstructed training set images
采用验证集评估模型的混凝土表观裂缝检测能力。评估指标采用精确率P、召回率R、准确率A、F1分数(F1)和曲线包围面积SAUC。精确率为正确预测裂缝图片数占全部预测裂缝图片数的比例。召回率为正确预测裂缝图片数占全部实际裂缝图片数的比例。准确率是正确分类的图片数与总图片数之比。F1为精确率和召回率的调和平均。为了计算上述指标,首先将检测结果统计在混淆矩阵中,如
真实值 | 预测值 | |
---|---|---|
裂缝 | 无裂缝 | |
裂缝 | 真正类 | 假负类 |
无裂缝 | 假正类 | 真负类 |
P、R、A、F1、SAUC的计算式为:
(5) |
(6) |
(7) |
(8) |
受试者工作特征曲线(ROC曲线)是以误识别率F为横轴、召回率为纵轴绘制的曲线,反映模型在不同分类阈值时误识别率和召回率的关系。误识别率计算式为
(9) |
SAUC为ROC曲线与横坐标轴围成的面积,其值介于0和1之间,值越大表征模型的分类效果越好。
选用MemA

图8 实验结果的混淆矩阵
Fig.8 Confusion matrices of test results

图9 VQ‒VAE‒2、CAE和MemAE的精确率、召回率、准确率、F1分数和ROC曲线
Fig.9 Precision, recall, accuracy,F1 score and ROC curve of VQ-VAE-2, CAE and MemAE
为了验证将图块级均方误差的最大值作为图像重建误差的有效性,进行了消融实验。分别采用直接计算图像的均方误差作为重建误差以及将图块级均方误差最大值作为重建误差2种计算方式。消融实验结果如
损失函数计算方法 | P | R | A | F1 |
---|---|---|---|---|
图像级均方误差 | 0.898 | 0.956 | 0.924 | 0.926 |
图块级均方误差最大值 | 0.954 | 0.959 | 0.956 | 0.957 |
为了实现图片中裂缝的位置检测并以可视化的方式展示检测结果,可将图片划分成更小的图块,并采用本文算法计算各图块均方误差,以类热力图的形式可视化裂缝。热力图中高数值的区域即为开裂区域,表现出较深的颜色。分割的图块数量越多,热力图中裂缝位置越准确,但会导致计算量的显著增加。因此,将图片分割成256个图块,计算图块均方误差(16×16的矩阵),然后上采样至224×224后进行颜色映射,并随机选取了4张图片的裂缝可视化,如

图10 裂缝可视化分析结果
Fig.10 Visualization analysis results of cracks
本文提出了一种无监督混凝土表观裂缝的视觉检测方法,采用以无裂缝混凝土图片训练的VQ‒VAE‒2重建检测图片,并计算原图与检测图片间的重建误差,根据重建误差的大小进行裂缝检测。为了增大2类图片重建误差的差异,将重建图片与原图分割成若干图块,取相应图块间均方误差的最大值作为检测图片的重建误差。在验证实验中,本文算法的F1分数为0.957,高于MemAE和CAE,在其他评估指标上也表现最优。结果表明,在没有裂缝混凝土图片作为训练数据的情况下,该方法在混凝土表观裂缝检测任务中性能良好。
作者贡献声明
刘 超:算法提出,论文撰写指导。
吴纪曙:具体算法编写,论文撰写。
参考文献
YOU Y, ZHANG Z, HSIEH C, et al. ImageNet training in minutes[C]//Proceedings of the 47th International Conference on Parallel Processing. New York: Association for Computing Machinery, 2018: 1-10. [百度学术]
SALINI R, XU B, PAPLAUSKAS P. Pavement distress detection with PICUCHA methodology for area-scan cameras and dark images[J]. Civil Engineering Journal, 2017, 26(1): 34. [百度学术]
梁雪慧, 程云泽, 张瑞杰, 等. 基于卷积神经网络的桥梁裂缝识别和测量方法[J]. 计算机应用, 2020, 40(4): 1056. [百度学术]
LIANG Xuehui, CHENG Yunze, ZHANG Ruijie, et al. Bridge crack classification and measurement method based on deep convolutional neural network[J]. Journal of Computer Applications, 2020, 40(4): 1056. [百度学术]
ZHUANG X, WANG D, PENG B, et al. Life-cycle civil engineering: innovation, theory and practice[M]. London: CRC Press, 2021. [百度学术]
毛莺池, 唐江红, 王静, 等. 基于Faster R‒CNN的多任务增强裂缝图像检测方法[J]. 智能系统学报, 2021, 16(2): 286. [百度学术]
MAO Yingchi, TANG Jianghong, WANG Jing, et al. Multi-task enhanced dam crack image detection based on Faster R-CNN[J]. CAAI Transactions on Intelligent Systems, 2021, 16(2): 286. [百度学术]
侯越, 陈逸涵, 顾兴宇, 等. 基于卷积自编码的沥青路面目标与裂缝智能识别[J]. 中国公路学报, 2020, 33(10): 288. [百度学术]
HOU Yue, CHEN Yihan, GU Xingyu, et al. Automatic identification of pavement objects sand cracks using the convolutional auto-encoder[J]. China Journal of Highway and Transport, 2020, 33(10): 288. [百度学术]
XU B, LIU C. Pavement crack detection algorithm based on generative adversarial network and convolutional neural network under small samples[J]. Measurement, 2022, 196: 111219. [百度学术]
黄超,胡志军,徐勇,等. 基于视觉的车辆异常行为检测综述[J].模式识别与人工智能, 2020, 33(3):234. [百度学术]
HUANG Chao, HU Zhijun, XU Yong, et al. Vision-based abnormal vehicle behavior detection: a survey [J]. Pattern Recognition and Artificial Intelligence, 2020, 33(3):234. [百度学术]
AN J, CHO S. Variational autoencoder based anomaly detection using reconstruction probability[J]. Special Lecture on IE, 2015, 2(1):1. [百度学术]
HASAN M, CHOI J, NENUMANN J, et al. Learning temporal regularity in video sequences[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2016: 733-742. [百度学术]
ZHOU C, PAFFENROTH R C. Anomaly detection with robust deep autoencoders[C]//Proceedings of the 23rd ACM SIGKDD, International Conference on Knowledge Discovery and Data Mining. New York: Association for Computing Machinery, 2017: 665-674. [百度学术]
GONG D, LIU L, LE V, et al. Memorizing normality to detect anomaly: memory-augmented deep autoencoder for unsupervised anomaly detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2019: 1705-1714. [百度学术]
RAZAVI A, OORD A, VINVALS O. Generating diverse high-fidelity images with VQ-VAE-2[C]//Advances in Neural Information Processing Systems. New York: Curran Associates, 2019:14837-14847. [百度学术]
OORD A VINVALS O, KAVUKCUOGLU K. Neural discrete representation learning[C]//Advances in Neural Information Processing Systems. New York: Curran Associates, 2017: 6309-6318. [百度学术]
ÖZGENEL Ç, SORGUÇ A. Performance comparison of pretrained convolutional neural networks on crack detection in buildings[C]//Proceedings of the International Symposium on Automation and Robotics in Construction. Berlin: IAARC Publications, 2018: 1-8. [百度学术]
BERGMANN P, LWE S, FAUSER M, et al. Improving unsupervised defect segmentation by applying structural similarity to autoencoders[C]//Proceedings of the 14th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications. Setúbal: Science and Technology Publications, 2019: 1-8. [百度学术]