CN114782754A - 一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 - Google Patents
一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 Download PDFInfo
- Publication number
- CN114782754A CN114782754A CN202210586062.XA CN202210586062A CN114782754A CN 114782754 A CN114782754 A CN 114782754A CN 202210586062 A CN202210586062 A CN 202210586062A CN 114782754 A CN114782754 A CN 114782754A
- Authority
- CN
- China
- Prior art keywords
- layer
- convolution
- concrete
- improved
- characteristic diagram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 77
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 35
- 238000013528 artificial neural network Methods 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000010586 diagram Methods 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 63
- 238000011176 pooling Methods 0.000 claims description 46
- 230000004913 activation Effects 0.000 claims description 43
- 238000005070 sampling Methods 0.000 claims description 31
- 241000282326 Felis catus Species 0.000 claims description 29
- 238000000605 extraction Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 6
- 238000009792 diffusion process Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000001537 neural effect Effects 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 101100533306 Mus musculus Setx gene Proteins 0.000 description 3
- 230000003321 amplification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置。方法包括以下三个步骤:采集混凝土裂缝图像并预处理,得到混凝土裂缝图像数据集,用于后续的卷积神经检测网络的训练;使用含有改进精简模块的混凝土裂缝检测神经网络并进行训练,得到混凝土裂缝检测模型;将待检测的混凝土图像先进行预处理后输入到训练好的混凝土裂缝检测模型完成裂缝检测任务。方法基于改进的ShuffleNetV2为轻量化基准网络,增加了裂缝信息捕捉能力,有效地减少网络参数,使得结构更加紧凑,有利于提高检测速度,满足工程部署应用的实时需求,同时也降低了对检测硬件的配置需求。
Description
技术领域
本发明涉及图像分类识别方法技术领域和计算机视觉领域,具体涉及基于轻量化卷积神经网络的混凝土裂缝检测方法及装置。
背景技术
保证混凝土基础设施的安全性和使用性能是很重要的,需要持续对其进行状态监测和性能评估。目前,通过人工巡查实现来对混凝土基础设施的进行状态监测和性能评估仍然是主要的方式。
随着社会经济的不断发展,混凝土桥梁、道路通行里程越来越长,同时隧道、建筑等混凝土建筑物也越来越多。人工巡查不但耗时耗力,有时成本也很高昂,其正确率和效率也很难满足日益增长的混凝土基础设施,同时人工对一些高处、身处险地的混凝土设备进行巡查也会带来一些潜在的安全危险。因此,表面裂缝检测又混凝土设施状态监测中最为关键的项目之一。
计算机视觉测量技术以非接触式、无损检测技术,具有分辨率高、普适性强,高效性等特点。在混凝土裂缝自动检测领域有着广泛的应用前。基于传统的机器学习算法通过人工提取特征利用SVM(Support Vector Machine)等分类器判别缺陷种类。但传统机器学习算法对人工特征依赖性强、表征能力弱,受环境、复杂纹理背景影响较大,检测效率低下。
伴随着深度学习的发展,基于卷积神经网络CNN(Convolutional NeuralNetwork)的分类网络成为深度学习技术中极具代表的网络结构之一,在计算机视觉领域取得了很大的成功,他已成为裂缝检测领域的主流方案。
但是在实际工业生产中,依然存在着卷积神经网络参数量大,计算成本高,网络庞大难以部署等问题。
发明内容
针对现有技术的以上不足或改进需求,本发明提出一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置。其目的在于通过改进后的ShuffleNetV2轻量化网络解决网络参数量大的问题,满足实际工业部署和检测实时性需求的同时提高裂缝检测精度。
为了便于对本发明内容的描述,首先给出如下的定义描述:
定义一:ShuffleNetV2。
一种轻量级的卷积神经网络,具体的网络描述详见文献“ShuffleNetV2:Practical Guidelines for Efficient CNN Architecture Design”。该网络由旷视科技提出,主要解决了网络稀疏连接、对特征进行重用,增大了信息交流。
本发明混凝土裂缝检测方法的实现,包括以下步骤:
步骤S1:采集混凝土裂缝图像并预处理,得到裂缝图像数据集;
对各类混凝土图像进行采样,用手持式数码设备在不同位置,不同角度上拍取混凝土表面图像;观察成像效果,通过调节拍摄亮度和放大倍数,保证图像的清晰度;先把得到的混凝土图像转化为灰度图像后,再将图像进行二值化,完成图像预处理;将这些图像构成的数据集划分为训练集X train ={{X 1 },…,{X n }}和测试集X test ={{X 1 },…,{X m }},其中n,m分别为训练集与测试集样本的个数(n:m=5:1)。
步骤S2:使用裂缝图像数据集对含有改进精简模块的混凝土裂缝检测神经网络进行训练,得到混凝土裂缝检测模型;
步骤S2中使用含有改进精简模块的混凝土裂缝检测神经网络结构的具体步骤如下:
步骤S2.1:使用一个含特征提取部分和分类部分的混凝土裂缝检测神经网络;
特征提取部分由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
步骤S2.2:混凝土裂缝检测神经网络的特征提取部分使用改进的ShuffleNetV2网络结构;
特征提取部分含有三个改进精简模块(Block),其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元。
改进的降采样单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F pro 通过旁支经过卷积步长为1的1*1卷积层,扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为3*3的DW卷积层,再进入BN层后输出特征图F’ pro 并与特征图F’ main 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],[BN((DW(ReLU(BN(Conv(F pro ))))))]),
将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
改进的基础单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F’ main 与特征图F pro 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],F pro ]);
其中,CAT表示通道拼接,能把特征图的通道合并在一起;Conv表示普通卷积层,用来提取图片特征信息;BN(Batch Normalization)表示批量归一化层,来防止反向传播过程中的梯度弥散并加速网络训练的收敛;ReLU是非线性激活函数他能进一步增加非线性变换的特征;DW表示depthwise卷积层,他能在提取图像信息的同时还能降低卷积的运算量,将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
调整网络图像输入大小为224*224,将混凝土图像输入网络的卷积层,卷积滤波器大小为3*3,滤波器数目为24,卷积步长为2,卷积层的激活函数为ReLU函数;最大池化层在第一个卷积层后,池化区域大小为3*3,池化步长为2;
最大池化层后依次接3个改进的精简模块(Block),每个改进精简模块都包含着改进的降采样单元以及基础单元构成,三个精简模块(Block)都是先经过一个改进降采样单元,后连接若干个改进基础单元,其中第一、二、三个改进的精简模块的所包含的(改进降采样单元个数,改进基础单元个数)分别为(1,3)、(1,7)、(1,3);之后接一个卷积层,卷积滤波器大小为1*1,滤波器数目为1024,卷积步长为1,卷积层的激活函数为ReLU函数;卷积之后接全局平均池化层;全局平均池化层之后的全连接层结点数设为2,激活函数为Softmax函数;
步骤S2.3:将步骤S1的训练数集据输入到裂缝检测神经网络,即输入图像数据依次经过1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层;然后经过分类器部分,即从特征提取部分得到的数据依次经过1个全局平均池化层和1个全连接层及Softmax层后;
该混凝土裂缝检测神经网络训练使用PyTorch深度学习框架,优化器选择SGD算法,学习率lr随迭代次数epoch更新,学习率计算表达式为:
lr=lr init *0.97^(epoch//3);
其中,lr init 表示学习率初始值,//表示取余操作,权重衰减系数0.0005,动量系数为0.9,batch-size为48,分类损失函数为交叉熵损失函数,不断训练检测网络,直到该网络的误差降到最低完成收敛,获得混凝土裂缝检测模型。
步骤S3:使用混凝土裂缝检测模型,对待检测混凝土图像进行检测;
将待测的混凝土图像进行如步骤S1的预处理后,输入到步骤S2获得的混凝土裂缝检测模型,输出混凝土图像含裂缝的概率。
基于同样的发明构思,本发明实施例还提供一种基于轻量化卷积神经网络的混凝土裂缝检测的装置,包括:
数据采集模块,用于采集混凝土表面的图像数据;
数据处理模块,用于对混凝土的图像数据转化为灰度图,再二值化处理;
混凝土裂缝检测神经网络训练模块,含有特征提取部分和分类部分两个部分,特征提取部分使用改进的ShuffleNetV2网络结构,由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元;
混凝土裂缝检测网络预测模块,用于判断混凝土图像是否存在裂缝。
在一种可能的实现方式中,所述的数据采集模块包括:
用手持式数码设备在不同位置,不同角度上拍取混凝土表面图像或者操控无人机在不同位置,不同高度及角度拍取混凝土表面图像;观察成像效果,通过调节拍摄亮度和放大倍数,保证图像的清晰度。
在一种可能的实现方式中,所述的数据处理模块包括:
先将混凝土图像转化为灰度图像,然后设置定义灰度界限为200,进一步将图像进行二值化完成图像的预处理;将这些图像构成的数据集划分为训练集X train ={{X 1 },…,{X n }}和测试集X test ={{X 1 },…,{X m }},其中n,m分别为训练集与测试集样本的个数(n:m=5:1),用于后续的混凝土裂缝检测网络训练。
在一种可能的实现方式中,所述的混凝土裂缝检测神经网络训练模块包括:
所述神经网络包括特征提取部分和分类器两部分:特征提取部分使用改进的ShuffleNetV2网络结构,由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
调整网络图像输入大小为224*224,将混凝土图像输入网络的卷积层,卷积滤波器大小为3*3,滤波器数目为24,卷积步长为2,卷积层的激活函数为ReLU函数;最大池化层在第一个卷积层后,池化区域大小为3*3,池化步长为2;
最大池化层后依次接3个改进的精简模块(Block),每个改进精简模块都包含着改进的降采样单元以及改进的基础单元构成,所述改进的降采样单元和改进的基础单元具体构成为:
输出特征F In 经分割将特征图通道平均分割获得特征图F main 、F pro ,随后该模块有两个分支,特征图F main 、F pro 分别流向两个分支,设特征图F main 流向的分支为主分支,特征图F pro 流向的分支为旁支。
所述改进的降采样单元具体构成为:
特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F pro 通过旁支经过卷积步长为1的1*1卷积层,扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为3*3的DW卷积层,再进入BN层后输出特征图F’ pro 并与特征图F’ main 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],[BN((DW(ReLU(BN(Conv(F pro ))))))]),
将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
所述改进的基础单元具体构成为:
特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F’ main 与特征图F pro 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],F pro ]);
其中,CAT表示通道拼接,能把特征图的通道合并在一起;Conv表示普通卷积层,用来提取图片特征信息;BN(Batch Normalization)表示批量归一化层,来防止反向传播过程中的梯度弥散并加速网络训练的收敛;ReLU是非线性激活函数他能进一步增加非线性变换的特征;DW表示depthwise卷积层,他能在提取图像信息的同时还能降低卷积的运算量,将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
三个精简模块(Block)都是先经过一个改进降采样单元,后连接若干个改进基础单元,其中第一、二、三个改进的精简模块的所包含的(改进降采样单元个数,改进基础单元个数)分别为(1,3)、(1,7)、(1,3)。
上述精简模块(Block)分别为第一、二、三个改进的精简模块(Block);之后接一个卷积层,卷积滤波器大小为1*1,滤波器数目为1024,卷积步长为1,卷积层的激活函数为ReLU函数;卷积之后接全局平均池化层;全局平均池化层之后的全连接层节点数依据有无混凝土裂缝而定,根据应用场景有无存在混凝土裂缝的图像,所以将全连接层结点数设为2,激活函数为Softmax函数。
在一种可能的实现方式中,所述的混凝土裂缝检测网络预测模块包括:
将待测混凝土图像经过数据处理模块后输入到训练得到的混凝土裂缝检测模型,判断混凝土图像是否存在裂缝。
本发明的其它特征和有益效果将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他有益效果可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明方法总的流程图。
图2是本发明提出的降采样单元。
图3是本发明提出的基础单元。
图4是本发明中实现的轻量级混凝土裂缝检测神经网络算法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明的技术方案进一步详细描述,应当说明的是,描述的实例仅旨在便于理解,对本发明不起任何限定作用。
如图1所示,一种基于轻量化卷积神经网络的混凝土裂缝检测方法,包括以下步骤:
步骤S1:采集混凝土裂缝图像并预处理,得到裂缝图像数据集;
用手持式数码设备在不同位置,不同角度上拍取混凝土表面图像或者操控无人机在不同位置,不同高度及角度拍取混凝土表面图像;观察成像效果,通过调节拍摄亮度和放大倍数,保证图像的清晰度,如果图像质量不合格,还需要进行补拍;
把进行拍摄的数码设备上的移动存储卡取出,将其置入读卡器内,从移动存储卡中导出拍摄的混凝土表面图像到本地的计算机磁盘中。首先对拍摄的图片进行初步的筛选,如:存在图片模糊、曝光错误、重复图片等问题,将这些图片删除。
将这些筛选好的混凝土图像按照有无裂缝进行图像标注,选择一定数量的有裂缝和无裂缝的质量较高的图像,两种类型的图片数量应尽量保持相近,将他们转化为PNG格式的RGB图像,然后将他们分别放入两个文件夹中,应注意的是,为了保证后续检测神经网络训练的效果,应尽量使得两类图片的数量大于600。
把有裂缝和无裂缝的两类混凝土图像用python的cv2库中的cv.cvtColor函数转化为灰度图像后,然后设置定义灰度界限为100,调用python的cv2库中的cv.threshold函数进一步将两类混凝土图像进行二值化完成图像的预处理;
将这些图像构成的数据集划分为训练集X train ={{X 1 },…,{X n }}和测试集X test ={{X 1 },…,{X m }},其中n,m分别为训练集与测试集样本的个数(n:m=5:1),完成裂缝图像数据集的构建。
步骤S2:使用裂缝图像数据集对含有改进精简模块的混凝土裂缝检测神经网络进行训练,得到混凝土裂缝检测模型;
步骤S2中使用含有改进精简模块的混凝土裂缝检测神经网络结构的具体步骤如下:
步骤S2.1:使用一个含特征提取部分和分类器部分的混凝土裂缝检测神经网络;
所述的含特征提取部分和分类器部分的混凝土裂缝检测神经网络如图4所示,其中特征提取部分由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
步骤S2.2:混凝土裂缝检测神经网络的特征提取部分使用改进的ShuffleNetV2网络结构;
特征提取部分含有三个改进精简模块(Block),其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元。
改进的降采样单元如图2所示,改进的降采样单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F pro 通过旁支经过卷积步长为1的1*1卷积层,扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为3*3的DW卷积层,再进入BN层后输出特征图F’ pro 并与特征图F’ main 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],[BN((DW(ReLU(BN(Conv(F pro ))))))]),
将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
所述改进的基础单元如图3所示,所述改进的基础单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F’ main 与特征图F pro 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],F pro ]);
其中,CAT表示通道拼接,能把特征图的通道合并在一起;Conv表示普通卷积层,用来提取图片特征信息;BN(Batch Normalization)表示批量归一化层,来防止反向传播过程中的梯度弥散并加速网络训练的收敛;ReLU是非线性激活函数他能进一步增加非线性变换的特征;DW表示depthwise卷积层,它能在提取图像信息的同时还能降低卷积的运算量,将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
调整网络图像输入大小为224*224,将混凝土图像输入网络的卷积层,卷积滤波器大小为3*3,滤波器数目为24,卷积步长为2,卷积层的激活函数为ReLU函数;最大池化层在第一个卷积层后,池化区域大小为3*3,池化步长为2;
最大池化层后依次接3个改进的精简模块(Block),每个改进精简模块都包含着改进的降采样单元以及基础单元构成,三个精简模块(Block)都是先经过一个改进降采样单元,后连接若干个改进基础单元,其中第一、二、三个改进的精简模块的所包含的(改进降采样单元个数,改进基础单元个数)分别为(1,3)、(1,7)、(1,3);之后接一个卷积层,卷积滤波器大小为1*1,滤波器数目为1024,卷积步长为1,卷积层的激活函数为ReLU函数;卷积之后接全局平均池化层;全局平均池化层之后的全连接层结点数设为2,激活函数为Softmax函数;
步骤S2.3:将步骤S1的训练数据输入到特征提取部分;
将步骤S1得到的裂缝图像数据依次经过1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层;然后经过分类器部分,即从特征提取部分得到的数据依次经过1个全局平均池化层和1个全连接层及Softmax层;
该混凝土裂缝检测神经网络优化器选择SGD算法,学习率lr随迭代次数epoch更新,学习率计算表达式为:
lr=lr init *0.97^(epoch//3),
其中,lr init 表示学习率初始值,//表示取余操作,权重衰减系数0.0005,动量系数为0.9,batch-size为48,分类损失函数为交叉熵损失函数。
训练使用PyTorch深度学习框架,在每次迭代优化过程中,随机采样48个训练样本构成一个batch,结合反向传播算法对网络进行优化并更新网络参数,直到该网络的误差降到最低完成收敛,保留在训练集上准确率最高的神经网络模型,获得混凝土裂缝检测模型。
步骤S3:使用混凝土裂缝检测模型,对待检测混凝土图像进行检测;
将待检测的混凝土图像进行如步骤S1的预处理后,即把图片转化为PNG格式的RGB图像,然后用python的cv2库中的cv.cvtColor函数转化为灰度图像后,然后设置定义灰度界限为100,调用python的cv2库中的cv.threshold函数进一步将两类混凝土图像进行二值化。将处理后的图像输入到步骤S2获得的混凝土裂缝检测神经网络,输出混凝土图像含裂缝的概率。
默认阈值为60%,即当混凝土图像含有裂缝的概率大于60%时,认为该混凝土图像含有裂缝,将该图像导出到一个文件夹中,该文件夹存放待测的混凝土图像中可能含有裂缝的图像的数据。进一步的,可以调整默认阈值,设置为70%、80%等,使得该文件夹中存放更可靠的含有裂缝的混凝土图像数据。
本发明实施例提供的方法应用混凝土裂缝检测领域,采用PyTorch 深度学习框架,所采用的对比方法是文献“ShuffleNetV2: Practical Guidelines for Efficient CNNArchitecture Design”中提出的“ShuffleNetV2 1.0x”网络模型,以及文献“Searching forMobileNetV3”中的“MobileNetV3 Small”网络模型,其对比结果参见表1所示
表1
算法 | 模型总参数 |
MobileNetV3(Small) | 1.833M |
ShuffleV2 1.0x | 1.256M |
本方法 | 1.006M |
本发明实施例提供的一种基于轻量化卷积神经网络混凝土裂缝检测方法,其含有改进的精简模块,增加了网络捕捉关键的裂缝特征的能力,使得网络拥有更好的性能,有效地减少网络参数,使得结构更加的紧,有利于提高检测速度,网络不但计算量小,参数量也少。该方法可以针对实际工业生产中,依然存在着卷积神经网络参数量大,计算成本高,网络庞大难以部署等问题。降低了对检测硬件的配置需求,满足工程部署应用的实时需求。
本发明实施例还提供一种基于轻量化卷积神经网络的混凝土裂缝检测的装置,包括:
数据采集模块,用于采集混凝土表面的图像数据;
数据处理模块,用于对混凝土的图像数据转化为灰度图,再二值化处理;
混凝土裂缝检测神经网络训练模块,含有特征提取部分和分类器部分两个部分,特征提取部分使用改进的ShuffleNetV2网络结构,由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元;
混凝土裂缝检测网络预测模块,用于判断混凝土图像是否存在裂缝。
进一步地,所述数据采集模块,包括:对各类混凝土图像进行采样,用手持式数码设备在不同位置,不同角度上拍取混凝土表面图像;观察成像效果,通过调节拍摄亮度和放大倍数,保证图像的清晰度。
进一步地,所述数据处理模块,包括:先把得到的混凝土图像转化为灰度图像后,然后设置定义灰度界限为100,将图像进行二值化完成图像的预处理。
进一步地,所述混凝土裂缝检测神经网络训练模块,包括:
所述神经网络包括特征提取部分和分类器两部分:特征提取部分使用改进的ShuffleNetV2网络结构,由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成。
调整网络图像输入大小为224*224,将混凝土图像输入网络的卷积层,卷积滤波器大小为3*3,滤波器数目为24,卷积步长为2,卷积层的激活函数为ReLU函数;最大池化层在第一个卷积层后,池化区域大小为3*3,池化步长为2。
最大池化层后依次接3个改进的精简模块(Block),每个改进精简模块都包含着改进的降采样单元以及改进的基础单元构成,所述改进的降采样单元和改进的基础单元具体构成为:
输出特征F In 经分割将特征图通道平均分割获得特征图F main 、F pro ,随后该模块有两个分支,特征图F main 、F pro 分别流向两个分支,设特征图F main 流向的分支为主分支,特征图F pro 流向的分支为旁支。
所述改进的降采样单元具体构成为:
特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F pro 通过旁支经过卷积步长为1的1*1卷积层,扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为3*3的DW卷积层,再进入BN层后输出特征图F’ pro 并与特征图F’ main 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],[BN((DW(ReLU(BN(Conv(F pro ))))))]),
将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
所述改进的基础单元具体构成为:
特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F’ main 与特征图F pro 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],F pro ]);
其中,CAT表示通道拼接,能把特征图的通道合并在一起;Conv表示普通卷积层,提取图片特征信息;BN(Batch Normalization)表示批量归一化层,来防止反向传播过程中的梯度弥散并加速网络训练的收敛;ReLU是非线性激活函数他能进一步增加非线性变换的特征;DW表示depthwise卷积层,他能在提取图像信息的同时还能降低卷积的运算量,将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
三个精简模块(Block)都是先经过一个改进降采样单元,后连接若干个改进基础单元,其中第一、二、三个改进的精简模块的所包含的(改进降采样单元个数,改进基础单元个数)分别为(1,3)、(1,7)、(1,3)。
上述精简模块(Block)分别为第一、二、三个改进的精简模块(Block);之后接一个卷积层,卷积滤波器大小为1*1,滤波器数目为1024,卷积步长为1,卷积层的激活函数为ReLU函数;卷积之后接全局平均池化层;全局平均池化层之后的全连接层节点数依据有无混凝土裂缝而定,根据应用场景有无存在混凝土裂缝的图像,所以将全连接层结点数设为2,激活函数为Softmax函数。
进一步地,所述混凝土裂缝检测网络预测模块,包括:
将待测混凝土图像经过数据处理模块后输入到训练得到的混凝土裂缝检测模型,判断混凝土图像是否存在裂缝。预测模块默认阈值为60%,即当混凝土图像含有裂缝的概率大于60%时,认为该混凝土图像含有裂缝,将该图像导出到一个文件夹中,该文件夹存放待测的混凝土图像中可能含有裂缝的图像的数据。进一步的,可以调整默认阈值,设置为70%、80%等,使得该文件夹中存放更可靠的含有裂缝的混凝土图像数据。
前面对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且根据上述步骤,可以在形式上和细节上对其做出相应的改变,进一步使得本领域的技术人员利用本发明实现各种实施方案或者进行各种改变和选择。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (3)
1.一种基于轻量化卷积神经网络的混凝土裂缝检测方法,其特征在于,包括以下步骤:
步骤S1:采集混凝土裂缝图像并预处理,得到裂缝图像数据集;
对各类混凝土图像进行采样,先将混凝土图像转化为灰度图像后,再将图像进行二值化,完成图像预处理;将处理好的图像构成的数据集划分为训练集和测试集,用于后续裂缝检测神经网络训练;
步骤S2:使用裂缝图像数据集对含有改进精简模块的混凝土裂缝检测神经网络进行训练,得到混凝土裂缝检测模型;
所述步骤S2中使用含有改进精简模块的混凝土裂缝检测神经网络结构的具体步骤如下:
步骤S2.1:使用一个含特征提取部分和分类器部分的混凝土裂缝检测神经网络;
特征提取部分由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
步骤S2.2:混凝土裂缝检测神经网络使用改进的ShuffleNetV2网络结构进行特征提取;
所述改进的ShuffleNetV2网络含有三个改进精简模块(Block),其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元;
步骤S2.3:将步骤S1的训练数据集输入到裂缝检测神经网络,即输入图像数据依次经过1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层;然后经过分类器部分,即从特征提取部分得到的数据依次经过1个全局平均池化层和1个全连接层及Softmax层;该混凝土裂缝检测神经网络采用SGD算法,损失函数采用交叉熵损失函数进行训练,直到该网络的误差降到最低完成收敛,获得混凝土裂缝检测模型;
步骤S3:使用混凝土裂缝检测模型,对待检测混凝土图像进行检测;
将待测的混凝土图像进行如步骤S1的预处理后,输入到步骤S2获得的混凝土裂缝检测模型,输出裂缝检测结果。
2.根据权利要求1所述的混凝土裂缝检测方法,其特征在于,步骤S2所述含有改进的精简模块的混凝土裂缝检测神经网络,包括:
所述改进精简模块(Block)包含改进的降采样单元和改进的基础单元,其结构如下:
所述改进的降采样单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F pro 通过旁支经过卷积步长为1的1*1卷积层,扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积步长为2,卷积滤波器大小为3*3的DW卷积层,再进入BN层后输出特征图F’ pro 并与特征图F’ main 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],[BN((DW(ReLU(BN(Conv(F pro ))))))]),
将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle ;
所述改进的基础单元将特征图分为经过主分支的特征图F main 和经过旁支的特征图F pro ,特征图F main 通过主分支经过卷积步长为1的1*1卷积层,卷积滤波器数目根据所处的三个精简模块(Block)分别为58、116、232,在扩充通道数后,经过BN层和非线性激活函数ReLU后输出;之后接着卷积滤波器大小为11*11的DW卷积层,再进入BN层后输出特征图F’ main ;特征图F’ main 与特征图F pro 进行通道拼接得到特征图F cat ,数学表达式为:
F cat =CAT([BN((DW(ReLU(BN(Conv(F main ))))))],F pro ]);
其中,CAT表示通道拼接,能把特征图的通道合并在一起;Conv表示普通卷积层,用来提取图片特征信息;BN(Batch Normalization)表示批量归一化层,来防止反向传播过程中的梯度弥散并加速网络训练的收敛;ReLU是非线性激活函数他能进一步增加非线性变换的特征;DW表示depthwise卷积层,他能在提取图像信息的同时还能降低卷积的运算量,将拼接的特征图F cat 通过通道混洗得到输出特征图F shuffle 。
3.一种基于轻量化卷积神经网络的混凝土裂缝检测装置,其特征在于,包括:
数据采集模块,用于采集混凝土表面的图像数据;
数据处理模块,用于对混凝土的图像数据转化为灰度图,再二值化处理;
混凝土裂缝检测神经网络训练模块,含有特征提取部分和分类部分两个部分,特征提取部分使用改进的ShuffleNetV2网络结构,由1个卷积层、1个最大池化层、三个改进精简模块(Block)及1个卷积层构成;分类器部分由1个全局平均池化层和1个全连接层及Softmax激活函数构成;
其中,三个改进的精简模块里面包含了改进的降采样单元以及改进的基础单元;
所述改进的降采样单元可以将特征图分为两个部分:经过主分支的特征图和经过旁支的特征图;其中,经过主分支的特征图依次经过1*1卷积层、BN层、非线性激活函数ReLU、卷积步长为2的卷积滤波器大小为11*11的DW卷积层、BN层后与通过旁支的特征图依次经过1*1卷积层、BN层、非线性激活函数ReLU、卷积步长为2的卷积滤波器大小为3*3的DW卷积层、BN层后的输出进行通道拼接输出特征图,将拼接的特征图通过通道混洗得到输出特征图;
所述改进的基础单元可以将特征图分为两个部分:经过主分支的特征图和经过旁支的特征图;其中,经过主分支的特征图依次经过1*1卷积层、BN层、非线性激活函数ReLU、卷积滤波器大小为11*11的DW卷积层、BN层后与通过旁支的特征图进行通道拼接输出特征图,将拼接的特征图通过通道混洗得到输出特征图;
混凝土裂缝检测网络预测模块,用于将待测混凝土图像经过数据处理模块后输入到训练得到的检测模型,判断混凝土图像是否出现裂缝。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586062.XA CN114782754A (zh) | 2022-05-27 | 2022-05-27 | 一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586062.XA CN114782754A (zh) | 2022-05-27 | 2022-05-27 | 一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114782754A true CN114782754A (zh) | 2022-07-22 |
Family
ID=82409159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210586062.XA Pending CN114782754A (zh) | 2022-05-27 | 2022-05-27 | 一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114782754A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117876334A (zh) * | 2024-01-12 | 2024-04-12 | 黑龙江大学 | 基于动态蛇形卷积的智能驾驶道路裂缝检测方法 |
-
2022
- 2022-05-27 CN CN202210586062.XA patent/CN114782754A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117876334A (zh) * | 2024-01-12 | 2024-04-12 | 黑龙江大学 | 基于动态蛇形卷积的智能驾驶道路裂缝检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111861978A (zh) | 基于Faster R-CNN的桥梁裂缝实例分割方法 | |
CN114495029B (zh) | 一种基于改进YOLOv4的交通目标检测方法及系统 | |
Cepni et al. | Vehicle detection using different deep learning algorithms from image sequence | |
US20230004811A1 (en) | Learning processing device and learning processing method | |
CN110751644B (zh) | 道路表面裂纹检测方法 | |
CN115035418A (zh) | 一种基于改进DeepLabV3+网络的遥感图像语义分割方法及系统 | |
CN111507998A (zh) | 基于深度级联的多尺度激励机制隧道表面缺陷分割方法 | |
CN110599459A (zh) | 基于深度学习的地下管网风险评估云系统 | |
CN117152746B (zh) | 一种基于yolov5网络的宫颈细胞分类参数获取方法 | |
CN112288700A (zh) | 一种铁轨缺陷检测方法 | |
CN116612106A (zh) | 一种基于yolox算法的光学元件表面缺陷检测方法 | |
CN113989261A (zh) | 基于Unet改进的无人机视角下红外图像光伏板边界分割方法 | |
CN117372777A (zh) | 基于der增量学习的密集架通道异物检测方法 | |
CN117576038A (zh) | 基于YOLOv8网络的织物瑕疵检测方法及系统 | |
CN117541534A (zh) | 一种基于无人机和CNN-BiLSTM模型的输电线路巡检方法 | |
CN112766351A (zh) | 一种图像质量的评估方法、系统、计算机设备和存储介质 | |
CN114782754A (zh) | 一种基于轻量化卷积神经网络的混凝土裂缝检测方法及装置 | |
CN114219998A (zh) | 一种基于目标检测神经网络的声纳图像实时检测方法 | |
CN114331960A (zh) | 一种基于DenseNet网络的损伤定位方法、装置和存储介质 | |
CN111179278B (zh) | 一种图像检测的方法、装置、设备和存储介质 | |
CN115100451B (zh) | 一种用于液压泵漏油监控的数据扩充方法 | |
CN117744745A (zh) | 一种基于YOLOv5网络模型的图像优化方法及优化系统 | |
CN117011168A (zh) | 一种联合DeeplabV3+和LaMa模型的透明光滑物体高光去除方法及系统 | |
CN115661042A (zh) | 一种基于注意力机制指导的分层分类缺陷检测方法 | |
CN115797808A (zh) | 一种无人机巡检缺陷图像的识别方法、系统、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |