这是一篇根据自己的理解,复写论文《Segmentation-Based Deep-Learning Approach for Surface-Defect Detection》代码,也不知道写的对不对,但至少运行结果是自己满意的,达到了较高的准确率。
首先,《基于分割的表面缺陷检测深度学习方法》这篇论文主要是利用分割模型和分类模型进行表面瑕疵的检测,主要优势为:只需要25-30个有缺陷的样本就可完成分类,所用样本极少,具体的论文翻译,直接用google翻译,不太精准但也大致意思了解过,如果需要可留言,这篇博文主要介绍搭建网络的思路。
论文的网络模型:
可以明显得看到主要分为两个网络,Segmentation(分割网络)和Decision(决策网络),这两个网络相互融合。而且论文中也写到了训练的时候先是训练分割网络,而后将其参数freeze(冻结),训练决策网络,完成最终的瑕疵检测。
来看看我的网络思路,用的是keras。
首先是分割网络:
搭建就是这样子啦~~
然后是决策网络,最主要的是两者的融合,我首先将分割网络单独训练,保存了模型参数,在融合时进行调用。
先看看决策网络是如何搭建的吧!