本文是 自动光学检查与缺陷检测在工业领域的应用- 2020 的学习笔记。仅做学习使用。
文章目录
缺陷检测流程:
一、数据准备
挑战:
1. 如何访问无法放入内存的大数据?
2. 如何预处理数据,并找到恰当特征?
提高网络有效性-> 预处理!!
这些App可以帮助我们在图形界面中调整算法的参数,查看算法效果,在完成算法设计后自动生成MATLAB代码。
第四个图是管状物体提取。
经过预处理后,缺陷在特征空间中的区分度很高(右图)
例子
电子扫描显微镜。
原始图片 -> 图像增强 -> 光滑 -> 锐化
3. 如何更快标注我的数据
手工一张张标注比较困难。MATLAB提供了很多自动化标注的App
使用算法进行标注。
Big Image Labeler支持手工标注、手工预处理,或应用算法进行自动化标注。
4. 数据集不平衡或者数据量不足,怎么办?
在这里插入图片描述
比如生成人脸:
二、算法建模
目标检测即分类 + 定位,难度更大。
1. 分类
一般使用迁移学习
从零开始训练
使用Deep Network Designer,从0开始搭建网络:
对预训练网络调优(迁移学习)
Deep Network Designer App同样支持迁移学习训练
训练好后需要进行测试,看看训练效果如何——即解释神经网络模型
类激活图(热力图)/梯度类激活图
从图中能够很清楚的知道,我们的网络学习到了正确的缺陷特征。
2. 目标检测
分类 + 定位
案例
YOLO 2检测
口罩检测:
Experiment Manager
当我们训练的时候,会尝试很多组不同的参数(超参),以前需要手动测试,然后从中挑选一个比较满意的算法,这样很耗时间,需要在一边等着出结果。但是MATLAB提供了一个App:Experiment Manager,你可以在里面设置不同的超参,比如学习率、步长等。设置好后,MATLAB会自动训练,点击进去可以看训练的具体细节。
三、部署
不用自己底层C!
1. FPGA
右边直接把代码部署到GPU上
2. ARM Cortex-A系列
3. 云端平台
总结
干货满满!建议去看一遍视频!