概述
前言:
{
最近很久都没更新了。说实话,没时间都是借口,主要还是忘记了要时刻学习。
这段时间我在了解segmentation网络,之前我搜到了一篇腾讯云社区上的文章[1],标题说其秒杀DeepLab。这确实激起了我的兴趣,因此我决定先读一读原论文[2]。
值得一提的是,此论文的目标是缺陷检测(分割),我很好奇其能不能泛化到其他的segmentation领域。
}
正文:
{
在论文的摘要(Abstract)和导论(Introduction)中,作者介绍了论文方法所解决的实际问题:
- 一般工业实际中也只能提供少量的缺陷样本;
- 缺陷检测需要100%的detection rate;
- 算力(时间)受限。
主要段落(Proposed approach和Segmentation and decision network evaluation)中,作者首先给出了论文模型的结构,见图1。
可以看出,模型有两个部分,分别是segmentation network和decision network。
结构很清楚。segmentation network包括11个卷积层和3个最大池化层,每个池化层会把输入的分辨率减半。每个卷积层后面都有一个batch normalization和非线性ReLU层,输出为单通道特征图,其分辨率为输入的1/8。decision network的输入是segmentation network的倒数第二层和最后的输出的集联。其他细节如图所示。
可以看出,作者并没有在卷积层减小特征图分辨率(即所有卷积层的stride=1),作者在论文中说这样可以确保重要细节被保留到下采样之后。
之后是训练部分。作者分别使用了两个损失函数:逐像素均方差和逐像素交叉熵。值得一提的是,segmentation部分和decision部分是被分开训练的,先训练segmentation部分,之后segmentation被冻结,再训练decision部分。作者说这种方式是应对标准化问题。这里我有点没搞明白,所以我又去找了模型源码,找到了非官方的实现[3]。在[3]中大概看了一下模型结构,明白了损失实际上包括两部分,分别是segmentation部分的损失和decision部分的损失。我对标准化问题的理解是,这两个损失可能需要均衡一下(标准化)才能加到一起,而比例却很难确定。
优化器是没有momenum的随机梯度下降(SGD),batch大小为1,使用均方差损失时的学习率为0.005,使用交叉熵损失时的学习率为0.1,一共训练了100个epochs。值得注意的是,并不是每个epoch包括固定次数的迭代,而是一正常一缺陷地交替随机选择样本,33个缺陷样本都过了一遍后才算一个epoch。
关于数据,作者使用的数据集是KolektorSDD,这是作者自己搜集的数据集。标签有5种,图片尺寸有两种。数据扩增包括90度旋转和标签膨胀(Dilate,详细信息见[4]),标签膨胀见图4。
实验结果如下图5。
可以看出,交叉熵损失的平均效果要高出均方差损失。
模型对比(Comparison with the state of the art)部分我就不再详述了,直接放图。不同模型在KolektorSDD数据集上的对比结果见图12。
}
结语:
{
值得注意的是,此模型输出的预测的分辨率只有输入图片的分辨率的1/8,这也遭致了一些争议[4]。不过我个人认为这个模型更贴近工业实际,因为它针对作者提到的3个问题。
论文还有一些衍生实验,我就不再继续看了,之后我可能会实践一下这个模型,如果其在其他数据上的效果不好我应该会再来看看。
能力有限,欢迎拍砖。
参考资料:
{
[1] https://cloud.tencent.com/developer/article/1431009
[2] https://arxiv.org/pdf/1903.08536v1.pdf
[3] https://github.com/Wslsdx/Deep-Learning-Approach-for-Surface-Defect-Detection/blob/master/model.py
[4] http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/erosion_dilatation/erosion_dilatation.html
[5] https://github.com/Wslsdx/Deep-Learning-Approach-for-Surface-Defect-Detection/issues/8
}
}
最后
以上就是等待故事为你收集整理的【论文阅读纪录】Segmentation-Based Deep-Learning Approach for Surface-Defect Detection的全部内容,希望文章能够帮你解决【论文阅读纪录】Segmentation-Based Deep-Learning Approach for Surface-Defect Detection所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复