缺陷检测~GAN网络
Defect-GAN: High-Fidelity Defect Synthesis for Automated Defect Inspection~WACV2021
单位:
一、下载
paper:
https://openaccess.thecvf.com/content/WACV2021/papers/Zhang_Defect-GAN_High-Fidelity_Defect_Synthesis_for_Automated_Defect_Inspection_WACV_2021_paper.pdf
code:
二、文章解读
思路:
缺陷检测实验中,基于学习的缺陷检测算法,受困于缺陷样本少。
缺陷样本为什么少呢?
原因一:实际生产时间中,真实产生的缺陷样本少,缺陷类型不确定(谁也不知道下一个缺陷样品展示的缺陷类型)。
原因二:图像PS的方法制作缺陷样本图像,难以cover所有未知的缺陷,且需要昂贵的人力、财力。
原因三:人为破坏样品,获得缺陷样本,进而获得缺陷样本图像用于算法研究。得到的缺陷多样性不足,且代价较大。
论文的想法:
提出一个网络,依赖正常样本图像,生成各种各样的缺陷图像。混合正常样本和缺陷样本,训练分类网络,实现缺陷检测的目的。
采用生成的方式获得缺陷图像,多样性得到了满足,且花费的代价比较小。
论文的做法:
采用的生成器Generation结构:
网络结构中的重点部件作用:
1、两个Encoder-Decoder是权值共享的。
2、Adaptive Noise Insertion为了使得生成的缺陷多样化,更好模拟真实缺陷。(注:缺陷制造部分这样做可以理解,缺陷修复这样做就理解不了了。修复过程又不知道Noise应该长啥样子。如果和缺陷制造过程的一致,那我随意拿一个真实场景的缺陷样本,不就不能做 修复吗)
3、Spatial & Categorical Control Map是控制生成的缺陷位于Normal Sample什么位置,缺陷是什么类型的。
4、Layer-Wise Composition 保证Defect图和Normal图有相同的风格和外观。
5、实际的训练过程中,训练了two cycles。一个是上图的Normal-Defect-Normal,一个是下图的Defect-Normal-Defect结构。
采用的判别器Discrimination结构:
采用和StarGAN相同的判别器结构。
缺陷样本和正常样本的分类:Resnet和Desnet
论文的实验:
实验数据集:
CODEBRIM:混凝土桥梁缺陷检测,包含crack, spallation, efflorescence, exposed bars, corrosion and normal samples共6个类别。
数据集下载:https://doi.org/10.5281/zenodo.2620293(论文提供的,没有尝试下载)
Defect-GAN的输入:128*128 image patch。Adam,Discriminator更新5次,Generator更新1次。
Batch size=4,learning rate=0.0002~0.000001,NVIDIA 2080ti,训练迭代500,000次
论文的结论:
1、FID越低,生成的缺陷样本越真实。论文方法和其它方法比较:
2、FID越低,生成的缺陷样本越真实。论文方法的消容实验:
3、缺陷检测的准确率,越高越好。