物体表面缺陷检测现状

传统机器学习局限性

  1. 传统机器学习方法对于特定的算法只能解决特定的问题,不够灵活,无法快速适应新产品;
  2. 不同的问题有不同的特征,当需要解决新问题时,需要重新设计特征,开发周期长;

深度学习遇到的问题

  1. 训练数据数量需求大;
  2. 标注精度、耗时需求严格;
  3. 计算能力需求高。

该篇paper解决了深度学习遇到的如上三个问题

Paper贡献

该篇paper提出了一个两阶段的网络,即分割网络 + 决策网络。

  1. 分割网络用于对输入的图片进行缺陷的具体定位,最后生成分割掩码(二值图像);
  2. 决策网络用于判断输入的图片是否存在缺陷,生成二值分类输出。

实现细节

分割网络

分割网络要在高分辨率的图像表面上检查小的缺陷,需满足两个要求:

  1. 具有较大的感受野;
  2. 能够捕捉到较小的特征细节;

因此,在设计时,需要具有下采样层,在比较深的层中使用尺寸大的卷积核。

决策网络

为什么要提出这样的决策网络?有什么作用?

简单的分割网络似乎没有足够的信息来预测图像中缺陷的存在。

  1. 决策网络能够从最后一个分割层的特征图中捕获信息;
  2. 额外的下采样增加了感受野的大小,能够捕获缺陷的全局形状。全局形状对分类很重要,有助于提高性能。

网络训练过程

数据集

该篇paper中使用到的是工业界中电机转向器的拍摄样本集Kolektor



网络在不同配置下的评估

网络在四个配置组下进行评估:

  1. 五种精度的标注;

  2. 两种损失函数 (均方误差、交叉熵);

  3. 输入图像是全尺寸(1408 x 512 px)还是半尺寸(704 x 256 px);

  4. 是否对输入图像进行90°的旋转。

实验结果如下:

可见,paper提出的网络在如下:

1. 标注精度为Dilate = 5;

2. 交叉熵损失函数;

3. 全尺寸图像;

4. 不对图像进行90°旋转。

配置,达到了最优的性能。

性能评估

paper的作者把提出的网络与目前最常用的两个分割网络(DeepLab v3+与U-Net)和用于缺陷检测的商业软件Cognex ViDi Suite进行了性能对比。如下性能指标皆在三个网络和商业软件最优配置下进行评估:



结果如上图所示:

paper提出的网络AP最高,达到了99.9%,漏检个数与误检个数也最少。

所需训练样本个数

如上图所示,paper提出的网络,在仅有33个缺陷样本的训练下,AP能够达到99.9%;在仅有5个缺陷样本的训练下,AP依旧能够达到96.1%。超过了其它分割网络和商业软件在同等配置下的效果,一定程度上解决了深度学习所需样本数量大的问题。

所需训练时间


如上图所示:

paper提出的网络在对单张图片进行检测的平均准确度和时间上,都有着不错的效果,如何能做到这样的效果,也取决于上图,可以看到,paper提出的网络所需的参数,远少于另外两种分割网络,因此在训练以及检测的过程中,花费的时间得到了很大程度的提升。

【Surface Detection】Segmentation-Based Deep-Learning Approach for Surface-Defect Detection的更多相关文章

  1. 【论文笔记】DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families

    DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families 标签(空格分隔): 论文 论文基本信息 会议: I ...

  2. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  3. 《3-D Deep Learning Approach for Remote Sensing Image Classification》论文笔记

    论文题目<3-D Deep Learning Approach for Remote Sensing Image Classification> 论文作者:Amina Ben Hamida ...

  4. Review of Semantic Segmentation with Deep Learning

    In this post, I review the literature on semantic segmentation. Most research on semantic segmentati ...

  5. 【论文阅读】HydraPlus-Net: Attentive Deep Features for Pedestrian Analysis

    转载请注明出处:https://www.cnblogs.com/White-xzx/ 原文地址:https://arxiv.org/abs/1709.09930 Github: https://git ...

  6. 【论文阅读】PBA-Population Based Augmentation:Efficient Learning of Augmentation Policy Schedules

    参考 1. PBA_paper; 2. github; 3. Berkeley_blog; 4. pabbeel_berkeley_EECS_homepage; 完

  7. 【论文阅读】End to End Learning for Self-Driving Cars

    前言引用 [1] End to End Learning for Self-Driving Cars从这里开始 [1.1] 这个是相关的博客:2016:DRL前沿之:End to End Learni ...

  8. 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster

     下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...

  9. 【流行前沿】联邦学习 Federated Learning with Only Positive Labels

    核心问题:如果每个用户只有一类数据,如何进行联邦学习? Felix X. Yu, , Ankit Singh Rawat, Aditya Krishna Menon, and Sanjiv Kumar ...

  10. 【Unity Shaders】Diffuse Shading——创建一个基本的Surface Shader

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

随机推荐

  1. (二)Three光线检测-实现摄像机向鼠标点击位置滑动动画

    (二)Three.js光线检测 摘要:使用three.js中的光线检测 Raycaster() ,实现一下效果: 通过点击处的坐标,修改摄像机位置,实现摄像机由远及近的过渡动态效果(由远景到近景) 1 ...

  2. 题解 P4058 [Code+#1]木材

    前言 这什么题啊,不就是个二分答案我从65到100都经历了一遍--(瞬间气哭) \(\sf {Solution}\) 题目理解起来不难的,大意就懒得写了. 一眼二分答案. 此题属于在形如 \(\{0, ...

  3. Java多线程-ThreadPool线程池-2(四)

    线程池是个神器,用得好会非常地方便.本来觉得线程池的构造器有些复杂,即使讲清楚了对今后的用处可能也不太大,因为有一些Java定义好的线程池可以直接使用.但是(凡事总有个但是),还是觉得讲一讲可能跟有助 ...

  4. letcode刷题记录-day02-回文数

    回文数 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答 ...

  5. react的组件通信

    react的组件通信 1.父组件传子组件 import React, {Component} from 'react'class Father extends Component{ render() ...

  6. 2022,一个Java程序猿的装机配置

    起因 工作一年,身边的老同学都在让我推荐适合他们需求的PC主机.于是仔细研究了一下当下的主机配置.成功试水并积攒了经验后,也给自己装了我的第一台PC主机. 主机配置 CPU:12700 主板:华硕TU ...

  7. 从 QFramework 重新开始

    自从上一篇博文写完后,就进入了繁忙工作状态,直到最近才开始有一点空闲时间. 这次繁忙的状态从 2022 年 10 月 11 日 持续到 2022 年 11 月 5 日. 主要的工作就是 QFramew ...

  8. Golang 实现时间戳和时间的转化

    何为时间戳: 时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息.签名参数.签名时间等信息.时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前 ...

  9. 幂次方表达:p1010

    1 题目ID: P1010 [NOIP1998 普及组] 幂次方 2 题目描述: 任何一个正整数都可以用 22 的幂次方表示.例如 137=2^7+2^3+2^0137=27+23+20. 同时约定方 ...

  10. 打不开 github 的方法与推荐基于Vue3与Element plus的后台管理系统

    一.打不开 github 的方法 1.打开本机 hosts 文件(C:\Windows\System32\drivers\etc) 2.然后在 hosts 文件里的末尾放入一下两个 IP 地址: # ...