使用单类全卷积数据描述异常检测网络检测药丸图像上的缺陷

简介: 使用单类全卷积数据描述 (FCDD) 异常检测网络检测药丸图像上的缺陷。

​一、前言
使用单类全卷积数据描述 (FCDD) 异常检测网络检测药丸图像上的缺陷。
异常检测的一个关键目标是让人类观察者能够理解为什么经过训练的网络将图像分类为异常。FCDD支持e可解释的分类,它用证明神经网络如何达到其分类决策的信息来补充类预测。FCDD 网络返回一个热图,其中包含每个像素异常的概率。分类器根据异常分数热图的平均值将图像标记为正常或异常。
1.png

二、下载用于分类数据集的药丸图像
此示例使用 PillQC 数据集。该数据集包含来自三类的图像:没有缺陷的图像,药丸中芯片缺陷的图像以及污垢污染的图像。数据集提供 149 张图像、43 张图像和 138 张图像。数据集的大小为 3.57 MB。

设置为数据集的所需位置。使用帮助程序函数下载数据集。此函数作为支持文件附加到示例。该函数下载一个 ZIP 文件,并将数据提取到子目录。

此图显示了每个类的示例图像。左边是没有缺陷的普通药丸,中间是被污垢污染的药丸,右边是芯片缺陷的药丸。虽然此数据集中的图像包含阴影、焦点模糊和背景颜色变化的实例,但此示例中使用的方法对这些图像采集伪像具有鲁棒性。

2.png

三、加载和预处理数据
创建读取和管理图像数据的 。将每个图像标记为 、 或根据其目录名称。

3.1 将数据划分为训练集、校准集和测试集
此示例实现了使用异常值曝光的 FCDD 方法,其中训练数据主要由正常图像组成,并添加了少量异常图像。尽管主要只对正常场景的样本进行训练,但该模型学会了如何区分正常场景和异常场景。

在训练数据集中分配 50% 的正常图像和每个异常类的一小部分 (5%)。将 10% 的正常图像和每个异常类的 20% 分配给校准集。将剩余的图像分配给测试集。
3.png

进一步将训练数据拆分为两个数据存储,一个仅包含正常数据,另一个仅包含异常数据。

3.2 扩充训练数据
该功能将 90 度旋转以及水平和垂直反射随机应用于每个输入图像。通过将函数与帮助程序函数指定的操作一起使用,将二进制标签添加到校准和测试数据集。帮助程序函数在此示例末尾定义,并为类中的图像分配二进制标签,为 or 类中的图像分配二进制标签。可视化九个增强训练图像的样本。
4.png

创建 FCDD 模型 此示例使用完全卷积数据描述 (FCDD) 模型。FCDD 的基本思想是训练网络生成异常分数图,该图描述输入图像中每个区域包含异常内容的概率。 函数返回 ImageNet 预训练 Inception-v3 网络的前三个下采样阶段,用作预训练主干。

四、训练网络或下载预训练网络
默认情况下,此示例使用帮助程序函数下载 FCDD 异常检测器的预训练版本。帮助程序函数作为支持文件附加到此示例。您可以使用预训练网络运行整个示例,而无需等待训练完成。

五、设置异常阈值
为异常检测器选择异常分数阈值,该检测器根据图像的分数是高于还是低于阈值对图像进行分类。此示例使用包含正常和异常图像的校准数据集来选择阈值。

获取校准集中每个图像的平均异常分数和真实标签。绘制正常类和异常类的平均异常分数的直方图。分布由模型预测的异常分数很好地分隔。
5.png

将前两个输入参数指定为校准数据集的地面实况标签和预测异常分数。将第三个输入参数指定为 因为真阳性异常图像的值为 。将异常检测器的属性设置为最佳值。

OC 曲线说明了分类器在一系列可能的阈值下的性能。ROC曲线上的每个点代表使用不同阈值对校准集图像进行分类时的误报率(x坐标)和真阳性率(y坐标)。蓝色实线表示 ROC 曲线。红色虚线表示对应于 50% 成功率的无技能分类器。曲线下 ROC 面积 (AUC) 指标表示分类器性能,与完美分类器对应的最大 ROC AUC 为 1.0。
6.png

六、评估分类模型
将测试集中的每个图像分类为正常或异常。获取每个测试图像的实况标注。该函数计算多个指标,用于评估检测器对测试数据集的准确性、精度、灵敏度和特异性。

7.png

如果指定多个异常类标签(如 和 在此示例中),该函数将计算整个数据集和每个异常类的指标。

七、解释分类决策
您可以使用异常检测器预测的异常热图来帮助解释将图像分类为正常或异常的原因。此方法可用于识别漏报和误报中的模式。您可以使用这些模式来确定增加训练数据的类平衡或提高网络性能的策略。

7.1 计算异常热图显示范围
计算一个显示范围,该范围反映在整个校准集中观察到的异常分数范围,包括正常和异常图像。与将每个图像缩放到其自身的最小值和最大值相比,跨图像使用相同的显示范围可以更轻松地比较图像。在此示例中,对所有热图应用显示范围。

7.2 查看异常图像的热图
选择正确分类的异常的图像。此结果是真阳性分类。显示图像。
8.png

7.3 查看普通图像的热图
选择并显示正确分类的正常图像的图像。此结果是真正的否定分类。

9.png

7.4 查看假阴性图像的热图
假阴性是具有药丸缺陷异常的图像,网络将其归类为正常。使用来自网络的解释来深入了解错误分类。

从测试集中查找任何假阴性图像。使用该函数获取假阴性图像的热图叠加。
10.png

7.5 查看误报图像的热图
误报是没有药丸缺陷异常的图像,网络将其归类为异常。在测试集中查找任何误报。使用来自网络的解释来深入了解错误分类。例如,如果异常分数已本地化为图像背景,则可以探索在预处理期间抑制背景。​

珞瑜
+关注
目录
打赏
0
0
0
0
58
分享
相关文章
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
103 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
49 22
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
36 14
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
56 12
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
107 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
基于DeepSeek的生成对抗网络(GAN)在图像生成中的应用
生成对抗网络(GAN)通过生成器和判别器的对抗训练,生成高质量的合成数据,在图像生成等领域展现巨大潜力。DeepSeek作为高效深度学习框架,提供便捷API支持GAN快速实现和优化。本文详细介绍基于DeepSeek的GAN技术,涵盖基本原理、实现步骤及代码示例,展示其在图像生成中的应用,并探讨优化与改进方法,如WGAN、CGAN等,解决模式崩溃、训练不稳定等问题。最后,总结GAN在艺术创作、数据增强、图像修复等场景的应用前景。
210 16
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
144 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于GA遗传优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB 2022a实现了一种结合遗传算法(GA)优化的时间卷积神经网络(TCN)时间序列预测算法。通过GA全局搜索能力优化TCN超参数(如卷积核大小、层数等),显著提升模型性能,优于传统GA遗传优化TCN方法。项目提供完整代码(含详细中文注释)及操作视频,运行后无水印效果预览。 核心内容包括:1) 时间序列预测理论概述;2) TCN结构(因果卷积层与残差连接);3) GA优化流程(染色体编码、适应度评估等)。最终模型在金融、气象等领域具备广泛应用价值,可实现更精准可靠的预测结果。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等