其他分享
首页 > 其他分享> > 《Deep Active Learning for Civil Infrastructure Defect Detection and Classification》-- 阅读笔记

《Deep Active Learning for Civil Infrastructure Defect Detection and Classification》-- 阅读笔记

作者:互联网

论文信息

在这里插入图片描述

主要思路

·Active Learning:
先使用粗糙的系统实现二分类,将无缺陷的样本筛选出去,然后再将有缺陷的样本发送到人类专家中进行再标记,然后进行二次训练,不断循环,以改善系统性能

·ResNet网络:
为了提升分类性能,该论文使用多层的AL框架。较深的网络可能会遇到梯度消失问题,因此使用ResNet的带有残差单元的映射代替网络中的原始映射。

·加权损失函数:
由于无缺陷样本往往比有缺陷样本多得多,为了解决因为样本偏差而导致性能出现偏差,因此在交叉熵的基础上对于非缺陷patch部分加上权重。

·postive-based的抽样策略
由于具有缺陷的patch比无缺陷的patch要少得多,因此应该将更多的注意力放在有缺陷的patch中,因此将新图像按照估计缺陷概率从高到低排序,然后在这基础上抽样不确定标签的图像送给专家进行再标签。

具体结构:

在这里插入图片描述

具体实验步骤

Data Preparation

	我们的数据集包含603张大小为4096x4800像素的原始图像。 这些图像在像素级别进行注释,以指示像素是否无缺陷或属于以下缺陷类型:
裂缝,沉积物和漏水(图1(a-c)中的紫色,青色和红色区域)。 注意,一个像素可以属于一种以上的裂纹类型。 注释由领域专家完成。 
为了训练和评估分类器,我们将图像分为三组:训练的60%,验证的20%和测试的20%。 在训练过程中,定期报告训练和验证的准确性,
因此我们可以评估训练是否开始过度拟合训练数据。
	为了扩充我们的数据集,我们将每个原始图像拆分为patch。每个patch具有520x520像素,以包含足够的上下文,以便我们的ResNet做出准确		   的决策。
从图像的左上角开始,以滑动窗口的方式分割patch,沿行/列方向的步长分别为214/149。因此,将603张原始图像转换为具有22.6%positive案例的289440个patch。
如果每个patch的中心480x480区域包含至少一个缺陷像素(例如,图1(a)中的黄色patch),则为每个patch分配一个正标签。
否则,该patch将被视为具有负标签的无缺陷(例如图1(a)中的绿色patch),这些patch及其二进制标签将用于后续的缺陷分类器训练和测试。

Problem Formulation

给定一个图像补丁,我们的网络将输出该补丁是否为缺陷的可能性。 该补丁 x ∈ R ^ 512x512 ^ 是我们网络权重θ的输入。 网络的输出y:= [y0,y1]∈[0,1] ^ 2 ^是非线性映射y =fθ(x),其中y1模拟x为缺陷的概率,而y0 = 1 -y1。 在训练期间,x是从520x520补丁中随机裁剪出来的,作为数据增强的一种手段,可以增强网络对平面内转换的不变性。 在测试期间,x总是从520x520色块的中心裁剪。

Loss Function

对于N个裁剪补丁的小批量,常用的交叉熵损失定义为:E = -1 / N·∑(1〜N)log(yn,ln),其中ln是二进制标记(标记第n个patch是缺陷或无缺陷),如果ln是缺陷,则yn,ln是预测为缺陷的概率,反之亦然。由于非缺陷补丁的数量通常比标签中的缺陷补丁的数量多得多 对于典型的数据集,提出了加权交叉熵损失来处理这种偏差。 否则,如果模型是通过原始的交叉熵损失函数训练的,则它将因大量的非缺陷样本而有偏差。 因此,我们会在损失函数中对非缺陷补丁进行更多加权。 加权交叉熵损失定义为:E = -1 / N·∑(1〜N)w(ln)log(yn,ln),其中w(ln)是每个patch的权重,由 它的标签确定。 对于缺陷补丁,权重w(ln)是训练集中非缺陷补丁的部分; 对于非缺陷补丁,权重是缺陷补丁的一部分。

Deep Residual Network

直接堆叠更多的图层并不能为我们提供更好的CNN。 较深的网络可能会遇到梯度消失问题,这使其性能比较浅的网络更差。 ResNet通过使用带有残差单元的映射来替换网络中的原始映射,减轻了训练更深层网络的难度。 这个ResNet(He et al.2015)在图像分类,图像分割(Dai et al.2016),物体检测(Ren et al.2015)和机器翻译(Wu 等人,2016年)屡获殊荣。 因此,提出了将ResNet应用于一般缺陷检测的方法,其体系结构如表1所示。请注意,在网络中的每个卷积层(如果未指定,则跨度为1)之后都使用批处理规范化。
在这里插入图片描述

Deep Active Learning

	借助基于ResNet的分类器,我们的系统使用AL来减少注释所需的图像数量,从而减少领域专家进行注释的工作量和成本。
图1(d)展示了一轮AL。 一旦使用少量带注释的图像训练了初始分类器,我们将继续收集更多新图像。 除了注释所有图像,AL还对这些图像的子集进行采样,以供专家注释。 
**注释后,这些新图像将添加到训练集中以重新训练分类器**。 请注意,AL的关键组件是新图像的采样。 我们的抽样基于两种策略,如下所述。 两者都利用现有分类器的测试输出,这是包含缺陷的新图像补丁的概率。

·Uncertainty-based Sampling
第一种策略是基于分类结果的不确定性。 分类器的输出。 给定一个图像补丁,如果一个类别的概率支配了输出,则意味着分类器非常确定此补丁的类别。 否则,如果多个类别具有相似的概率,则意味着分类器不确定要选择哪个类别,因此该图像块应由人类注释以用于将来的再训练。 对于二元分类,概率函数对于缺陷是否只有两个标量。 在这种情况下,我们可以简单地检查无缺陷的可能性是否接近0.5。 如果概率接近0.5,那么缺陷的概率也接近0.5,这意味着不确定性很高。(分类结果模糊的抽样出来,人工打标签后再重新训练)

·Positive-based Sampling
确定性度量的一个问题是所有类均受到平等对待。 由于具有缺陷的补丁通常比无缺陷的补丁要少得多,因此我们还修订了不确定性度量,以使其可以将更多的注意力集中在缺陷的类别上,这是我们系统的主要目的。 这仅意味着我们将新图像的估计缺陷概率从高到低排序,然后发送一些Top-ones进行专家注释。 由于我们一直在选择分类器当前认为是肯定的新补丁,因此我们将此策略称为基于肯定的抽样。(有缺陷的图像优先抽样,并且从这其中拿出最大概率的去再分类)

实验结果

使用所有数据训练结果

具有以下超参数的随机梯度下降求解器在标准Caffe中使用4个NVIDIA TITAN X GPU训练网络,有效mini-batch尺寸为480;最大迭代次数为60次(每次迭代整个数据集一次);学习率为0.1,并且递减系数为10,分别为最大迭代次数的50%和75%之后,; 动量为0.9; 权重衰减为10 ^ -4 ^。 训练是在训练集上进行的,最终采用所有迭代中具有最高验证准确性的训练权重进行测试。 训练损失如图2的左图所示。
在这里插入图片描述
我们用相同的网络体系结构训练了四个分类器,重点关注四种类型:“裂缝”,“沉积”,“漏水”和“任何”(意味着输入图像补丁中存在前三个缺陷中的任何一个)。 测试结果显示在图2的中间(接收器工作特性曲线)和右侧(精确调用曲线)图像中。更具体地说,当使用y1> = 0.5来确定补丁为阳性(即有缺陷)时, 测试中,我们得出的真阳性率为15.7%,真阴性率为71.8%,假阳性率为4.1%,假阴性率为8.4%,表示精确度为79.5%,召回率为65.0 %。 一些示例检测结果如图3所示。

采用AL训练

我们的AL实验遵循与上述相同的实现细节,除了我们训练40个Epoch以节省计算时间外。 在这些实验中,我们将训练和验证集(类型:“ any”)组合在一起进行训练(235200个补丁)。 为了模拟实际的AL过程,我们仅从1/5的训练数据(47040个补丁)开始,并执行4个周期的AL(图1(d))。 在每个循环中,首先从分类器未知的数据中采样47040个补丁,然后将其添加以进行再训练。 我们将基于不确定性的抽样和基于正数的抽样与随机抽样进行比较。 图4的左图显示了每个周期(x轴)上生成的网络的测试精度(y轴)。 图4中的右图显示了相对节省的标记图像,以实现与随机采样相同的测试精度。 显然,正采样效果更好,可以保存大约30%的标签图像,以达到大约87.5%的相同测试精度。
在这里插入图片描述

延申学习

Active Learning:https://blog.csdn.net/qq_15111861/article/details/85264109
ResNet:https://zhuanlan.zhihu.com/p/42706477

标签:Infrastructure,训练,Classification,Civil,补丁,patch,分类器,图像,缺陷
来源: https://blog.csdn.net/DIAJEY/article/details/113558781