admin管理员组

文章数量:1652184

  • 论文 | A novel hybrid approach for crack detection【一种新型的混合裂缝检测方法】
  • 作者 | Fen Fang*, Liyuan Li, Ying Gu, Hongyuan Zhu, Joo-Hwee Lim
  • 期刊 | Pattern Recognition(模式识别)
  • 时间 | 2020年

原文和部分译文 https://share.weiyun/jHlBhncW

该文章的主要技术路线是将Faster R-CNN 与 概率分析中的贝叶斯融合方法结合使用,以完成对图像中裂缝的检测和识别。
文章的方法的主要结构框架为:

框架描述: 所提出的用于裂缝检测的混合方法的结构。它由三个模块组成,用红色方框标出: Faster R-CNN,用于检测 信噪比(SNR) 合适的裂缝,由半自动生成的正确打标签的训练数据训练,如右边的蓝色方框所示;DCNN,用于估计检测到的裂缝图像块的裂缝方向;以及基于局部检测的一致性来验证检测到的裂缝图像块的贝叶斯集成算法。

本文提出了一种结合深度学习和贝叶斯概率的混合方法,用于实时图像中的鲁棒裂缝检测。我们建议使用一个Faster R-CNN来检测图像中合适尺度的裂缝图像块。为此,我们首先设计了一种半自动的方法,沿着图像的裂缝生成具有合适信噪比的密集的框,并将它们用作Faster R-CNN的带标签图像。由于Faster R-CNN是在整幅图像上训练的,所以它能够将上下文信息考虑到小块裂缝图像检测中。因此,它比现有的滑动窗口的方法更加灵活和有效。Faster R-CNN探测器的输出是个别的潜在裂缝。为了进一步抑制错误检测,提出了一种贝叶斯集成算法。首先,我们训练一个深层的神经网络进行回归,以估计在一个检测到的图像块中每个裂缝段的方向。然后,对于每个检测到的图像块,我们基于相邻检测之间的局部空间邻近性和方向一致性来计算贝叶斯概率。那些低概率值被拒绝作为错误检测。为了获得贝叶斯积分的优化参数,还推导了迭代学习算法。

文中方法概述:

1.训练数据集

裂缝是不规则形状和延伸的细黑曲线。 如果我们将图像中整个裂缝的边界框标记为训练数据以训练Faster R-CNN,则它们可能会很大且形状各异,并且边界框内的裂缝像素的SNR会非常低,这可能会导致端到端学习中的高度不确定性。
如果沿着每条裂缝曲线标记一串大小合适的框,这些框将具有一致的形状,且图像块内的裂缝像素的SNR合适。 然后,有可能训练出更强大的Faster R-CNN,以实现强大而稳定的性能来检测裂缝。
所以文中设计了一种半自动标注方法,以下将描述半自动标记的一般方案:

  • 1:沿每个裂缝线绘制一条曲线并生成一个二进制参考图像。
  • 2:从二进制参考图像中的裂缝像素中随机抽取10%像素作为种子点。
  • 3:生成以原始彩色图像上的种子点为中心的32×32〜像素的ground truth图像块,以训练Faster R-CNN。
  • 4:从二进制参考图像中为每个带标记的ground truth图像块裁剪一个二进制图像块,对二进制图像块应用 最小二乘拟合 ,并获得一条直线。 直线的角度被计算为裂缝取向的ground truth值。以此来训练DCNN。

其中:ground truth

2.使用Faster R-CNN进行裂缝图像块检测

关于Faster R-CNN的学习、理解参考:

  • 一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  • Faster RCNN详解
  • 一文读懂Faster RCNN
  • 目标检测中Anchor的认识及理解
  • 吴恩达深度学习笔记(99)-目标检测之Anchor Boxes
  • Faster RCNN理论合集 [B站视频]

faster R-CNN具有三个主要部分,如上图方法框架。

  • backbone CNN 具有包含一些最大池化层的卷积层以提取feature maps,其输入为原始图像
  • Region Proposal网络(RPN)用于基于2D特征图提出对象的Region Proposal。 它具有一个3×3的conv层,用于提取多尺度特征图; k anchor boxes,用于生成Region Proposal; cls层,用于对象分类; reg层,用于估计框坐标。
  • 在第三部分中,使用类似于Fast R-CNN的检测网络。 对于每个Region Proposal,ROI池化层将区域内提取的feature投影到固定大小的feature map中。 然后,将这些合并的feature map反馈送到用于对象识别的fc(全连接层)网络和fc边框回归网络。

文中使用以上标注过的训练数据集重新训练了用于裂缝检测的Faster R-CNN

3.用DCNN回归识别裂缝方向

裂缝图像块的真实检测与裂缝方向对齐,可以用来连接正确的检测并抑制错误的检测。文中引入了一个深层的CNN回归模型,以通过Faster R-CNN估算检测到的图像块内裂缝的方向。 训练了一个简单而紧凑的深层CNN进行回归分析,以估计裂缝方向。
网络结构为: 由三层conv层组成,随后是两层fc层以进行回归。
输出: 0°到180°范围内的定向角。 均方误差(MSE)损失函数用于训练。

其中θi是ground truth值,ˆθi是裂缝取向的预测值。

4.贝叶斯积分算法(可能是作者自己起的名字)

这一部分公式太多还未理解透彻,只知大概作用

贝叶斯相关理解参考

  • 简单理解贝叶斯公式
  • 贝叶斯定理:AI不只是个理科生
  • 机器学习经典算法之朴素贝叶斯分类
  • 菊安酱的机器学习】第3期 朴素贝叶斯算法\[B站视频\]

Faster R-CNN的输出是检测到的潜在裂缝的单个图像块。 为了进一步提高裂缝检测的精度并提高对复杂背景的鲁棒性,提出了一种贝叶斯积分算法来抑制错误检测。

左:Faster R-CNN产生的裂缝图像块相邻检测图。右:两阶段贝叶斯积分。

算法描述:
(a)积累来自相邻检测的本地依据

假设d i是Faster R-CNN检测到的裂缝图像块。 它表示为d i = {B i,p i,θi},其中B i代表boxs,pi是裂缝分类的概率,θi是估计的裂缝取向。 如果检测到的图像块是真实的图像块,它们将沿着裂缝线形成一串具有很高的分类概率和一致的方向估计的boxes。 否则,检测到的图像块将以低分类概率和随机估计的方向随机散布在图像中。文中给出计算式子:
d i是真实裂缝图像块(标记为“ C”)的贝叶斯概率可以计算为:

(b)局部平滑以滤除噪声

在第一阶段,基于相邻检测的一致性,本地证据积累减少了单个检测的不确定性。 然而,由于裂缝取向的不规则变化,概率P D(d i)仍可能受到取向估计误差的影响。 不稳定的P D(d i)值将导致最终检测中的假阴性的稀疏错误。 在第二阶段,执行定向平滑以进一步减小P D(d i)的不确定性。 我们在相邻裂缝图像块检测之间沿对齐方向累积P D(d i)值。

实验

经过实验对比之后的选择:

  • 模型:Faster R-CNN w/ResNet101的方法
  • Patches size :32 × 32
  • 方向误差:超过50%的误差在10以内◦ 累计近80%的误差小于20◦. 这一 观察表明, 用于裂缝方向识别的DCNN能够为贝叶斯融合提供可靠的信息。

Comments

该文章是我仔细阅读的第一篇英文文章,历时一周,我实在是太难了 。前两天忧伤看不懂自我怀疑中,各种找翻译工具,后三天发现翻译工具也不能让我完全明白,毕竟有很多专业名词,最后一天咬牙啃完,但是关于贝叶斯积分的公式也没搞明白。
老外的文章确实写的详实,各部分细节到位,文中的目标检测方法与我前几篇看到的总结一下可以得出,先使用目标检测得到可能含有裂缝的图像块是一种趋势和方向,同时,文中提出的根据裂缝方向对伪裂缝进行抑制的方向具有很强的参考意义,但是我可以不用贝叶斯概率分析吗?实在是看不懂,而且,我觉得过于繁琐,代码实现是个问题。
另外对数据集的半自动标注方法减少了大量手工标注的工作量、实验方法中使用的 baseline 对比、 精确率 / 召回率 等方法概念,值得借鉴。

本文标签: 裂缝文献检测方法笔记Approach