CN112001411B - 一种基于fpn结构的大坝裂缝检测算法 - Google Patents

一种基于fpn结构的大坝裂缝检测算法 Download PDF

Info

Publication number
CN112001411B
CN112001411B CN202010660219.XA CN202010660219A CN112001411B CN 112001411 B CN112001411 B CN 112001411B CN 202010660219 A CN202010660219 A CN 202010660219A CN 112001411 B CN112001411 B CN 112001411B
Authority
CN
China
Prior art keywords
loss
network
algorithm
fpn
crack
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.)
Active
Application number
CN202010660219.XA
Other languages
English (en)
Other versions
CN112001411A (zh
Inventor
王健
许国艳
韩旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202010660219.XA priority Critical patent/CN112001411B/zh
Publication of CN112001411A publication Critical patent/CN112001411A/zh
Application granted granted Critical
Publication of CN112001411B publication Critical patent/CN112001411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开一种基于FPN结构的大坝裂缝检测算法,属于目标检测领域算法。具体步骤:(1)、采集大坝裂缝样本和相似的裂缝样本,扩大样本数量;(2)、将FPN结合多种目标检测算法和特征提取网络,实验结果进行对比;(3)、使用ROI Align代替ROI Pooling,避免量化取整导致的精度损失;(4)、设计一个从下向上的网络结构,使得图片的低层特征传递到高层特征的距离缩小,减少传递过程中低层特征信息的损失;(5)、将其中的NMS函数替换为Soft‑NMS函数,优化算法对密集物体检测的检测效果;(6)、针对小目标设计新的anchor大小,比例和数量。本发明对小裂缝的识别准确率要更高,可以更好地检测出图片中的小裂缝。

Description

一种基于FPN结构的大坝裂缝检测算法
技术领域
本发明涉及目标检测领域,具体涉及一种基于FPN(特征金字塔网络)结构的改进目标检测算法,并应用于大坝裂缝的检测。
背景技术
我国水资源丰富,拥有数量众多的水库大坝,这些大坝保卫着人民的生命财产安全;然而,随着时间、气候、温度等因素的变化,大坝表面会产生裂缝,威胁大坝安全。因此,及时有效地检测出裂缝的存在是保护大坝安全的重要手段。
基于机器学习的大坝裂缝检测方法,可以快速准确地检测出大坝存在的裂缝,而这种方法需要许多的训练样本,且要求训练样本与测试样本同分布。为满足以上要求,本文采用了迁移学习的方法,收集了大量的与大坝裂缝相近的样本,进行预训练,解决大坝裂缝样本不足的问题。
FPN(Feature Pyramid Networks),特征金字塔网络。原来多数的目标检测算法都是只采用顶层特征做预测,但低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略;另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测,而FPN不一样的地方在于预测是在不同特征层独立进行的;FPN是一个特征金字塔,具有很好的泛化能力,可以被利用到很多深度学习网络中,用于目标检测、实例分割等。
Faster R-CNN算法(更快的基于区域的卷积网络算法)是机器学习中,目标检测领域广泛使用的算法;Faster R-CNN利用RPN(区域候选网络)来产生候选区域,通过RPN产生的Region Proposal(候选区域)映射到特征图中再作为ROI Pooling(感兴趣区域池化)池化层的输入;RPN通过标注来学习预测跟真实边界框更相近的提议区域,从而减小提议区域的数量同时保证最终模型的预测精度;该算法准确度高,容易实现,容易迁移,在目标检测的问题上表现很好。
发明内容
针对上述问题,本发明提供了一种基于FPN结构的大坝裂缝检测算法,实现一种对小目标识别准确率较高的算法,将其用于检测大坝裂缝,提高小裂缝的识别准确率。
本发明的技术方案是:一种基于FPN结构的大坝裂缝检测算法,其操作步骤具体如下:
步骤(1.1)、采集大坝裂缝样本,加入与大坝裂缝相似的裂缝样本,扩大样本的数量;
步骤(1.2)、将FPN结合多种目标检测算法和特征提取网络的实验结果进行对比;
步骤(1.3)、使用感兴趣区域校准用(ROI Align)代替感兴趣区域池化(ROIPooling),避免量化取整导致的精度损失,准确标注目标的位置;
步骤(1.4)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,设计一个从下向上的网络结构,结合{P2,P3,P4,P5,P6}特征图的内容,使得图片的低层特征传递到高层特征的距离缩小,减少传递过程中低层特征信息的损失;
步骤(1.5)、将其中的非极大值抑制(NMS)函数替换为缓和的非极大值抑制(Soft-NMS)函数,优化算法对密集物体检测的检测效果;
步骤(1.6)、针对小目标设计新的锚盒(anchor)大小,比例和数量;
步骤(1.7)、利用裂缝数据集训练改进后的算法,对得到的模型测试,通过实验,进行训练和测试,改进算法参数,使之能够准确地检测裂缝位置,减少对小裂缝的漏选;
步骤(1.8)、将改进的算法应用于大坝裂缝的检测。
进一步的,在步骤(1.2)中,所述的多种目标检测算法和特征提取网络包括:
(1.2.1)、实验中用于对比的目标检测算法有:SSD(Single Shot MultiBoxDetector,一阶段多框预测检测器)、YOLO(You Only Look Once:Unified,Real-TimeObject Detection,只需要一次卷积网络运算的统一框架的实时目标检测)、Faster R-CNN;
(1.2.2)、实验中用于对比的特征提取网络有:VGG(深度卷积神经网络)、ResNet_v1_50(50层残差网络)、ResNet_v1_101(101层残差网络)。
进一步的,在步骤(1.3)中,所述感兴趣区域校准(ROI Align)实现的流程如下:
(1.3.1)、遍历每一个region proposal,保持浮点数边界;
(1.3.2)、将region proposal划分为k*k个单元,每个单元的边界保持浮点数;
(1.3.3)、在每个单元中计算固定四个坐标位置,用双线性内插的方法计算这四个位置的值;
(1.3.4)、进行最大池化操作;
感兴趣区域校准的反向传播公式如下:
Figure BDA0002578229210000031
其中,xi表示池化前特征图上的像素点,yrj表示池化后的第r个regionproposal的第j个点,其中xi*(r,j)是一个浮点数的坐标位置,d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值。
进一步的,所述步骤(1.4)中,从下向上的网络结构实现过程如下:
(1.4.1)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,所述P6到P2依次构成了从下向上(top-town)的网络结构;
(1.4.2)、N2=P2;
(1.4.3)、对N2进行3*3卷积,再和P3横向链接得到N3;
(1.4.4)、对N3进行3*3卷积,再和P4横向链接得到N4;
(1.4.5)、对N4进行3*3卷积,再和P5横向链接得到N5;
(1.4.6)、对N5进行最大池化得到N6;
(1.4.7)、用{N2,N3,N4,N5,N6}特征图作为RPN的输入。
进一步的,在步骤(1.7)中,对改进的算法进行训练时,其总损失函数为:
总损失=正则化总损失+区域候选网络总损失+快速的基于区域卷积网络总损失;
(1.7.1)、正则化总损失等于所有正则化损失之和;
(1.7.2)、区域候选网络总损失和快速的基于区域卷积网络总损失包括分类损失和回归损失:区域候选网络总损失=区域候选网络回归损失+区域候选网络分类损失,快速的基于区域卷积网络总损失=快速的基于区域卷积网络回归损失+快速的基于区域卷积网络分类损失,分类和回归公式如下:
Figure BDA0002578229210000032
其中,分类损失公式为:
Figure BDA0002578229210000033
i为整数,pi为锚盒预测为目标的概率;
Figure BDA0002578229210000034
为样本标签的概率;
Figure BDA0002578229210000035
是两个类别(目标和非目标)的对数损失:
Figure BDA0002578229210000036
其中回归损失公式为:
Figure BDA0002578229210000041
ti={tx,ty,tw,th}是一个向量,表示锚盒,区域候选网络训练阶段预测的偏移量;
Figure BDA0002578229210000042
是与ti相同维度的向量,表示锚盒,区域候选网络训练阶段相对于真实框实际的偏移量:
Figure BDA0002578229210000043
Figure BDA0002578229210000044
R表示Smooh L1函数,σ=3,
Figure BDA0002578229210000045
Figure BDA0002578229210000046
Figure BDA0002578229210000047
P*有物体时为1,没物体时为0,意味着只用前景才计算损失,背景不计算损失。
本发明的有益效果是:本发明实现的改进算法是基于FPN+Faster R-CNN+ResNet的,在调整参数适配大坝裂缝数据集之后,训练所得的模型用于检测大坝小裂缝的准确率高于传统的大坝裂缝识别算法;并且因为结合了残差网络ResNet-v1-101和多尺度特征融合FPN,算法对小目标的识别更加准确;用ROIAlign将region proposal映射到特征图上,避免了量化取整导致的精度损失,小目标检测的位置更加准确;新的从下到上的网络结构可以减少低层特征信息在传递过程中的损失,保留了更多的小目标的信息;以及新型anchor和Soft-NMS函数的改进,增强了算法对与小裂缝的识别力度。
附图说明
图1是本发明中FPN网络的结构流程图;
图2是本发明中Faster R-CNN网络的结构流程图;
图3是本发明中FPN+Faster R-CNN+ResNet_v1_101网络的结构流程图;
图4是本发明中FPN结合从下向上新型网络的结构示意图;
图5是本发明中检测结果对比示意图。
具体实施方式
为了更清楚地说明本发明的技术方案,下面结合附图对本发明的技术方案做进一步的详细说明:
一种基于FPN结构的大坝裂缝检测算法,其具体操作步骤如下:
步骤(1.1)、采集大坝裂缝样本,加入与大坝裂缝相似的裂缝样本,扩大样本的数量,用于迁移学习,制作数据集;
步骤(1.2)、将FPN结合多种目标检测算法和特征提取网络的实验结果进行对比,可知FPN结合Faster R-CNN算法和ResNet_v1_101网络,实现的目标检测算法对小目标的检测准确率较高,且其他性能平衡;
步骤(1.3)、使用ROI Align代替ROI Pooling,避免量化取整导致的精度损失,更加准确地标注目标的位置;
步骤(1.4)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,设计一个从下向上的网络结构,结合{P2,P3,P4,P5,P6}特征图的内容,使得图片的低层特征传递到高层特征的距离缩小,减少传递过程中低层特征信息的损失;
步骤(1.5)、将其中的NMS函数替换为Soft-NMS函数,优化算法对密集物体检测的检测效果;
步骤(1.6)、针对小目标设计新的anchor大小,比例和数量:基础锚盒大小列表=[15,25,40,60,80],锚盒比例=[1,0.5,2,1/3.,3.,1.5,1/1.5],增加锚盒的密度;
步骤(1.7)、利用裂缝数据集训练改进后的算法,对得到的模型测试,通过实验,进行训练和测试,改进算法参数,使之能够准确地检测裂缝位置,减少对小裂缝的漏选;
步骤(1.8)、将改进的算法应用于大坝裂缝的检测。
进一步的,所述步骤(1.1)中,包括:
采集大坝裂缝样本时,可以对图片进行裁剪、旋转等操作,并且可以采集其他类似大坝裂缝的样本,如某些路面裂缝、墙面裂缝等;
由于大坝裂缝图片数据较少,若是直接使用较小数量级的样本进行模型训练会使得效果不理想,因此本发明引入迁移学习的思想;首先通过已准备的裂缝图像数据集对卷积神经网络的结构参数进行预训练,然后使用预训练好的网络权重作为初始化权值,迁移到目标数据集上进行训练和微调。
进一步的,在所述步骤(1.2)中,包括:
(1.2.1)、实验中用于对比的目标检测算法有SSD、YOLO、Faster R-CNN;
(1.2.2)、实验中用于对比的特征提取网络有VGG、ResNet_v1_50、ResNet_v1_101;
(1.2.3)、算法中在对FPN结构产生的不同大小的特征图和ROI(候选区域)进行匹配,用于ROI Pooling时,配ROI和特征图的公式为:
Figure BDA0002578229210000051
其中,w,h分别表示宽度和高度,k是ROI的level,k0是w,h=224,224时映射的level。
进一步的,步骤(1.3)中,ROI Align实现的流程如下:
(1.3.1)、遍历每一个region proposal,保持浮点数边界,不进行量化取整操作;
(1.3.2)、将region proposal划分为k*k个单元(bin),每个单元的边界也保持浮点数;
(1.3.3)、在每个单元中计算固定四个坐标位置,用双线性内插的方法计算这四个位置的值;
(1.3.4)、进行最大池化操作;
ROI Align的反向传播公式如下:
Figure BDA0002578229210000061
其中,xi代表池化前特征图上的像素点,yrj代表池化后的第r个regionproposal的第j个点,其中xi*(r,j)是一个浮点数的坐标位置(前向传播时计算出来的采样点),d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值,这里作为双线性内插的系数乘在原始的梯度上。
进一步的,在所述步骤(1.4)中,从下向上的网络结构实现过程如下:
(1.4.1)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,所述P6到P2依次构成了top-town的网络结构;
(1.4.2)、N2=P2;
(1.4.3)、对N2进行3*3卷积,再和P3横向链接得到N3;
(1.4.4)、对N3进行3*3卷积,再和P4横向链接得到N4;
(1.4.5)、对N4进行3*3卷积,再和P5横向链接得到N5;
(1.4.6)、对N5进行最大池化得到N6;
(1.2.2)、用{N2,N3,N4,N5,N6}特征图作为RPN的输入。
进一步的,在步骤(1.7)中,对改进的算法进行训练时,其总损失函数为:
总损失=正则化总损失+区域候选网络总损失+快速的基于区域卷积网络总损失,
(1.7.1)、正则化总损失等于所有正则化损失之和,这是算法过程中的全部的正则化损失;
(1.7.2)、区域候选网络总损失和快速的基于区域卷积网络总损失包括分类损失和回归损失:区域候选网络总损失=区域候选网络回归损失+区域候选网络分类损失,快速的基于区域卷积网络总损失=快速的基于区域卷积网络回归损失+快速的基于区域卷积网络分类损失,分类和回归公式如下:
Figure BDA0002578229210000071
其中,分类损失公式为:
Figure BDA0002578229210000072
i为整数,pi为anchor预测为目标的概率;
Figure BDA0002578229210000073
为样本标签的概率;
Figure BDA0002578229210000074
是两个类别(目标和非目标)的对数损失:
Figure BDA0002578229210000075
其中回归损失公式为:
Figure BDA0002578229210000076
ti={tx,ty,tw,th}是一个向量,表示anchor,RPN训练阶段(rois,Fast R-CNN阶段)预测的偏移量;
Figure BDA0002578229210000077
是与ti相同维度的向量,表示anchor,RPN训练阶段(rois,Fast R-CNN阶段)相对于gt实际的偏移量:
Figure BDA0002578229210000078
R表示Smooh L1函数,σ=3,
Figure BDA0002578229210000079
Figure BDA00025782292100000710
P*有物体时为1,没物体时为0,意味着只用前景才计算损失,背景不计算损失。
本发明的具体工作原理是:如图1所示,FPN是一种特征金字塔网络,也是一种多尺度特征融合的方式,具有很强的泛化性,可以结合多种目标检测算法和特征提取网络使用;本发明中,将FPN和二阶段算法Faster R-CNN、残差网络ResNet-v1-101结合,改进NMS算法和anchor,实现一种改进的目标检测算法,用于检测大坝小裂缝,并提高其识别准确率;具体实施步骤如下:
采集大坝小裂缝图片样本,对于同一个裂缝可以采集不同角度的图片,以及对图片进行裁剪、旋转等操作;采集与大坝裂缝相似的裂缝,如路面裂缝、墙体裂缝等图片样本,用于数据迁移学习,扩大样本数据集;本发明的训练数据集构成如下:
裂缝类别 图片数量
类似裂缝 2600
大坝裂缝 400
测试数据集为200张大坝裂缝图片,基本为小裂缝图片。
由于大坝裂缝图片数据较少,若是直接使用较小数量级的样本进行模型训练会使得效果不理想,因此本发明引入迁移学习的思想;首先通过已准备的裂缝图像数据集对卷积神经网络的结构参数进行预训练,然后使用预训练好的网络权重作为初始化权值,迁移到目标数据集上进行训练和微调。
一、使用标注工具LabelImg对图片进行标注,制作Pascal VOC类型的数据集,并将其转换为tfrecord格式的文件,数据集划分为训练集和测试集:crack_train.tfrecord,crack_test.record.
二、为了找到与FPN结合后,检测效果最好的目标检测算法,将FPN和最常见的三种目标检测算法Faster R-CNN、SSD、YOLO结合对比实验结果,实验结果如下:
算法 特征提取网络 AP for small crack
Faster R-CNN ResNet_v1_50+FPN 33.20
SSD ResNet_v1_50+FPN 20.63
YOLOv3 ResNet_v1_50+FPN 28.61
实验结果表明,在基础特征提取网络相同的情况下,Faster R-CNN和FPN结合的算法,在小裂缝样本测试集中的表现最好;Faster R-CNN作为二阶段算法,在识别准确率上一般都比一阶段算法高,其优势在于先由RPN产生regionproposal,在对region proposal进行分类,如图2所示,这样可以更大程度地将目标框选中,并找到其位置,代价是算法运行较慢。
三、在步骤(1.3)的基础上,得知Faster R-CNN算法与FPN网络结合可以得到最高的小裂缝识别准确率;为了找到与FPN+Faster R-CNN结合后,检测效果最好的基础特征提取网络,将FPN+Faster R-CNN分别与VGG-16、ResNet_v1_50、ResNet_v1_101结合对比实验结果,实验结果如下:
算法 特征提取网络 AP for small crack
Faster R-CNN ResNet_v1_101+FPN 36.73
Faster R-CNN ResNet_v1_50+FPN 33.20
Faster R-CNN VGG_16+FPN 27.51
实验结果表明,在与FPN+Faster R-CNN的情况下,基础特征网络采用ResNet_v1_101网络,在小裂缝样本测试集中检测效果最好。
四、步骤(1.2.1)及(1.2.2)的实验中各算法实验结果对比的是crack的AP的值,其中AP是P-R曲线与坐标轴所围成的面积,准确率P=TP/(TP+FP),召回率R=TP/(TP+FN),其中TP是真正例,FP是假正例,FN是假反例;
五、在步骤(1.4)的基础上,确定了算法的基本结构为FPN+Faster R-CNN+ResNet_v1_101时,算法的识别准确率比较高,如图3所示;用ROI Align代替ROI Pooling,取消量化操作,使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转化为一个连续的操作,具体流程如下:
1、遍历每一个region proposal,保持浮点数边界,不进行量化取整操作;
2、将region proposal划分为k*k个单元(bin),每个单元的边界也保持浮点数;
3、在每个单元中计算固定四个坐标位置,用双线性内插的方法计算这四个位置的值;
4、进行最大池化操作。
ROI Align的反向传播公式如下:
Figure BDA0002578229210000091
其中,xi代表池化前特征图上的像素点,yrj代表池化后的第r个regionproposal的第j个点,其中xi*(r,j)是一个浮点数的坐标位置(前向传播时计算出来的采样点),d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值,这里作为双线性内插的系数乘在原始的梯度上。
六、在步骤(1.4)的基础上改进算法结构,将从下向上的新型网络结合到算法中,改进后的算法结构如图4所示;新的从下向上的网络结构实现过程如下:在步骤(1.4)中的FPN结构中可以得到{P2,P3,P4,P5,P6},P6到P2依次构成了top-town的网络结构;
1、N2=P2;
2、对N2进行3*3卷积,再和P3横向链接得到N3;
3、对N3进行3*3卷积,再和P4横向链接得到N4;
4、对N4进行3*3卷积,再和P5横向链接得到N5;
5、对N5进行最大池化得到N6;
6、用{N2,N3,N4,N5,N6}特征图作为RPN的输入。
七、传统NMS函数在IOU(交并比)手动设置难以精确地情况下,容易使得相邻框中得分较低地框被删除,从而导致目标漏选;以Soft-NMS函数代替NMS函数,降低IOU大于阈值的框的置信度,而不是直接删除框;实现Soft-NMS函数,直接在算法中将所有的NMS函数改为Soft-NMS函数。
八、设计新的anchor大小、比例和数量:基础锚盒大小=[15,25,40,60,80],锚盒比例=[1,0.5,2,1/3.,3.,1.5,1/1.5],增加anchor密度,可以增强算法对与小目标和密集目标的检测能力。
九、用训练集训练步骤(1.7)得到的算法,并用测试集对训练所得的模型进行测试,根据测试结果调整相关参数;
对改进的算法进行训练时,其总损失函数为:
总损失=正则化总损失+区域候选网络总损失+快速的基于区域卷积网络总损失,
1、正则化总损失等于所有正则化损失之和,这是算法过程中的全部的正则化损失;
2、区域候选网络总损失和快速的基于区域卷积网络总损失包括分类损失和回归损失:区域候选网络总损失=区域候选网络回归损失+区域候选网络分类损失,快速的基于区域卷积网络总损失=快速的基于区域卷积网络回归损失+快速的基于区域卷积网络分类损失,分类和回归公式如下:
Figure BDA0002578229210000101
其中分类损失公式为:
Figure BDA0002578229210000102
i为整数,pi为anchor预测为目标的概率;
Figure BDA0002578229210000103
为样本标签的概率;
Figure BDA0002578229210000104
是两个类别(目标和非目标)的对数损失:
Figure BDA0002578229210000105
其中回归损失公式为:
Figure BDA0002578229210000106
ti={tx,ty,tw,th}是一个向量,表示anchor,RPN训练阶段(rois,Fast R-CNN阶段)预测的偏移量;
Figure BDA0002578229210000107
是与ti相同维度的向量,表示anchor,RPN训练阶段(rois,Fast R-CNN阶段)相对于真实框(gt)实际的偏移量:
Figure BDA0002578229210000108
R表示Smooh L1函数,σ=3,
Figure BDA0002578229210000109
Figure BDA00025782292100001010
P*有物体时为1,没物体时为0,意味着只用前景才计算损失,背景不计算损失。
十、多次进行步骤(1.7),得到一个适用于检测大坝小裂缝的改进算法,并将算法用于检测大坝裂缝。
具体实施例:
1、采集大坝裂缝图片样本,加入与大坝裂缝相似的裂缝图片样本;
2、使用标注工具LabelImg对图片进行标注,制作Pascal VOC类型的数据集,并将其转换为tfrecord格式的文件,数据集划分为训练集和测试集:crack_train.tfrecord,crack_test.record;
3、先用相似裂缝的数据集对模型进行训练,获得预训练模型,算法主要过程如下:
1)、将图片输入算法后,通过{C1,C2,C3,C4,C5}依次卷积,利用C2,C3,C4,C5的卷积层所获得的特征图,结合FPN结构,通过上采样和横向链接得到特征图{P2,P3,P4,P5},P5通过最大池化得到P6;
2)、根据从下向上的网络,利用{P2,P3,P4,P5},通过卷积和横向链接得到特征图{N2,N3,N4,N5},N5通过最大池化得到N6;
3)、特征图{N2,N3,N4,N5,N6}分别进入RPN网络,替换新的锚盒和缓和的非极大值抑制函数,获得候选框和相应的标签,结果融合之后,再通过ROI Align分配给不同层的特征图,并将候选框映射到相应的特征图中;
4)、分别输入Fast RCNN(快速的基于区域卷积网络)进行分类和回归,结果融合之后,再次进行最后的分类和回归;
4、改用大坝裂缝训练集进行训练,并根据测试集结果改进算法超参数,反复训练和改进超参数,获得最终模型;
5、将最终模型作为算法的基础模型,把需要检测的大坝裂缝图片作为输入,运行算法进行检测,输出检测结果图。
裂缝图片检测结果对比如图5所示,左侧是本发明算法检测结果图,右侧是FPN+Faster R-CNN+ResNet_v1_101检测结果图;
实验验证:
用测试集对本发明实现的算法进行测试,并与步骤4中表现最好的算法进行对比,结果如下表所示:
算法 特征提取网络 AP for small crack
本发明方法 ResNet_v1_101+FPN 52.26
Faster R-CNN ResNet_v1_101+FPN 36.73
对比FPN+Faster R-CNN+ResNet_v1_101,本发明在本实验中的数据集上将小裂缝的AP值提高了15.53个百分点,可以看到本发明相比于比其他的基于FPN结构的算法,在对小裂缝的检测中准确率更高。
最后,应当理解的是,本发明中所述实施例仅用以说明本发明实施例的原则;其他的变形也可能属于本发明的范围;因此,作为示例而非限制,本发明实施例的替代配置可视为与本发明的教导一致;相应地,本发明的实施例不限于本发明明确介绍和描述的实施例。

Claims (5)

1.一种基于FPN结构的大坝裂缝检测算法,其特征在于:其操作步骤具体如下:
步骤(1.1)、采集大坝裂缝样本,加入与大坝裂缝相似的裂缝样本,扩大样本的数量;
步骤(1.2)、将FPN结合多种目标检测算法和特征提取网络的实验结果进行对比;
步骤(1.3)、使用感兴趣区域校准代替感兴趣区域池化,避免量化取整导致的精度损失,准确标注目标的位置;
步骤(1.4)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,设计一个从下向上的网络结构,结合{P2,P3,P4,P5,P6}特征图的内容,使得图片的低层特征传递到高层特征的距离缩小,减少传递过程中低层特征信息的损失;
步骤(1.5)、将其中的非极大值抑制函数替换为缓和的非极大值抑制函数,优化算法对密集物体检测的检测效果;
步骤(1.6)、针对小目标设计新的锚盒大小,比例和数量;
步骤(1.7)、利用裂缝数据集训练改进后的算法,对得到的模型测试,通过实验,进行训练和测试,改进算法参数,使之能够准确地检测裂缝位置,减少对小裂缝的漏选;
步骤(1.8)、将改进的算法应用于大坝裂缝的检测。
2.根据权利要求1所述的一种基于FPN结构的大坝裂缝检测算法,其特征在于:在步骤(1.2)中,所述的多种目标检测算法和特征提取网络包括:
(1.2.1)、实验中用于对比的目标检测算法有:SSD、YOLO、Faster R-CNN;
(1.2.2)、实验中用于对比的特征提取网络有:VGG、ResNet_v1_50、ResNet_v1_101。
3.根据权利要求1所述的一种基于FPN结构的大坝裂缝检测算法,其特征在于:在步骤(1.3)中,所述感兴趣区域校准实现的流程如下:
(1.3.1)、遍历每一个候选区域,保持浮点数边界;
(1.3.2)、将候选区域划分为k*k个单元,每个单元的边界保持浮点数;
(1.3.3)、在每个单元中计算固定四个坐标位置,用双线性内插的方法计算这四个位置的值;
(1.3.4)、进行最大池化操作;
感兴趣区域校准的反向传播公式如下:
Figure FDA0002578229200000021
其中,xi表示池化前特征图上的像素点,yrj表示池化后的第r个候选区域的第j个点,其中xi*(r,j)是一个浮点数的坐标位置,d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值。
4.根据权利要求1所述的一种基于FPN结构的大坝裂缝检测算法,其特征在于:所述步骤(1.4)中,从下向上的网络结构实现过程如下:
(1.4.1)、在经过FPN结构后得到{P2,P3,P4,P5,P6}五个不同尺度的特征图,所述P6到P2依次构成了从下向上的网络结构;
(1.4.2)、N2=P2;
(1.4.3)、对N2进行3*3卷积,再和P3横向链接得到N3;
(1.4.4)、对N3进行3*3卷积,再和P4横向链接得到N4;
(1.4.5)、对N4进行3*3卷积,再和P5横向链接得到N5;
(1.4.6)、对N5进行最大池化得到N6;
(1.4.7)、用{N2,N3,N4,N5,N6}特征图作为RPN的输入。
5.根据权利要求1所述的一种基于FPN结构的大坝裂缝检测算法,其特征在于:在步骤(1.7)中,对改进的算法进行训练时,其总损失函数为:
总损失=正则化总损失+区域候选网络总损失+快速的基于区域卷积网络总损失;
(1.7.1)、正则化总损失等于所有正则化损失之和;
(1.7.2)、区域候选网络总损失和快速的基于区域卷积网络总损失包括分类损失和回归损失:区域候选网络总损失=区域候选网络回归损失+区域候选网络分类损失,快速的基于区域卷积网络总损失=快速的基于区域卷积网络回归损失+快速的基于区域卷积网络分类损失,分类和回归公式如下:
Figure FDA0002578229200000022
其中,分类损失公式为:
Figure FDA0002578229200000023
i为整数,pi为锚盒预测为目标的概率;
Figure FDA0002578229200000024
为样本标签的概率;
Figure FDA0002578229200000025
是目标和非目标两个类别的对数损失:
Figure FDA0002578229200000026
其中回归损失公式为:
Figure FDA0002578229200000031
是一个向量,表示锚盒,区域候选网络训练阶段预测的偏移量;
Figure FDA0002578229200000032
是与ti相同维度的向量,表示锚盒,区域候选网络训练阶段相对于真实框实际的偏移量:
Figure FDA0002578229200000033
Figure FDA0002578229200000034
R表示Smooh L1函数,σ=3,
Figure FDA0002578229200000035
Figure FDA0002578229200000036
P*有物体时为1,没物体时为0,意味着只用前景才计算损失,背景不计算损失。
CN202010660219.XA 2020-07-10 2020-07-10 一种基于fpn结构的大坝裂缝检测算法 Active CN112001411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010660219.XA CN112001411B (zh) 2020-07-10 2020-07-10 一种基于fpn结构的大坝裂缝检测算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010660219.XA CN112001411B (zh) 2020-07-10 2020-07-10 一种基于fpn结构的大坝裂缝检测算法

Publications (2)

Publication Number Publication Date
CN112001411A CN112001411A (zh) 2020-11-27
CN112001411B true CN112001411B (zh) 2022-07-29

Family

ID=73467438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010660219.XA Active CN112001411B (zh) 2020-07-10 2020-07-10 一种基于fpn结构的大坝裂缝检测算法

Country Status (1)

Country Link
CN (1) CN112001411B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633354B (zh) * 2020-12-18 2024-03-01 广东省大湾区集成电路与系统应用研究院 路面裂缝检测方法、装置、计算机设备和存储介质
CN112508030A (zh) * 2020-12-18 2021-03-16 山西省信息产业技术研究院有限公司 一种基于双深度学习模型的隧道裂缝检测及测量方法
CN112926584B (zh) * 2021-05-11 2021-08-06 武汉珈鹰智能科技有限公司 裂缝检测方法、装置、计算机设备及存储介质
CN113409289A (zh) * 2021-06-29 2021-09-17 南开大学 一种基于Faster R-CNN的古建筑砖面缺陷检测方法
CN116645523B (zh) * 2023-07-24 2023-12-01 江西蓝瑞存储科技有限公司 一种基于改进RetinaNet的快速目标检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223610B1 (en) * 2017-10-15 2019-03-05 International Business Machines Corporation System and method for detection and classification of findings in images
CN110610475A (zh) * 2019-07-07 2019-12-24 河北工业大学 一种深度卷积神经网络的视觉缺陷检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223610B1 (en) * 2017-10-15 2019-03-05 International Business Machines Corporation System and method for detection and classification of findings in images
CN110610475A (zh) * 2019-07-07 2019-12-24 河北工业大学 一种深度卷积神经网络的视觉缺陷检测方法

Also Published As

Publication number Publication date
CN112001411A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112001411B (zh) 一种基于fpn结构的大坝裂缝检测算法
CN111091105B (zh) 基于新的边框回归损失函数的遥感图像目标检测方法
CN111191732B (zh) 一种基于全自动学习的目标检测方法
Nie et al. Pavement Crack Detection based on yolo v3
CN108961235B (zh) 一种基于YOLOv3网络和粒子滤波算法的缺陷绝缘子识别方法
CN109711288B (zh) 基于特征金字塔和距离约束fcn的遥感船舶检测方法
CN113160192B (zh) 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置
CN113378686B (zh) 一种基于目标中心点估计的两阶段遥感目标检测方法
CN112101430B (zh) 用于图像目标检测处理的锚框生成方法及轻量级目标检测方法
CN111444939B (zh) 电力领域开放场景下基于弱监督协同学习的小尺度设备部件检测方法
CN108648233A (zh) 一种基于深度学习的目标识别与抓取定位方法
CN106874868A (zh) 一种基于三级卷积神经网络的人脸检测方法及系统
CN109919934A (zh) 一种基于多源域深度迁移学习的液晶面板缺陷检测方法
CN112560675B (zh) Yolo与旋转-融合策略相结合的鸟类视觉目标检测方法
CN109284779A (zh) 基于深度全卷积网络的物体检测方法
CN110909623B (zh) 三维目标检测方法及三维目标检测器
CN113591617B (zh) 基于深度学习的水面小目标检测与分类方法
CN112766170B (zh) 基于簇类无人机图像的自适应分割检测方法及装置
CN113609895A (zh) 基于改进Yolov3的获取道路交通信息方法
CN113538331A (zh) 金属表面损伤目标检测识别方法、装置、设备及存储介质
Gou et al. Pavement crack detection based on the improved faster-rcnn
CN114332921A (zh) 基于改进聚类算法的Faster R-CNN网络的行人检测方法
CN109829469A (zh) 一种基于深度学习的车辆检测方法
CN108573238A (zh) 一种基于双网络结构的车辆检测方法
CN113344148A (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
GR01 Patent grant
GR01 Patent grant