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

简介: 使用单类全卷积数据描述 (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 查看误报图像的热图
误报是没有药丸缺陷异常的图像,网络将其归类为异常。在测试集中查找任何误报。使用来自网络的解释来深入了解错误分类。例如,如果异常分数已本地化为图像背景,则可以探索在预处理期间抑制背景。​

目录
相关文章
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
4月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
436 0
|
5月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
201 0
|
6月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
192 0
|
7月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
151 1
|
6月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
682 0
|
4月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
493 11
|
3月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
185 0
|
4月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
333 0
|
4月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断