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

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

目录
相关文章
|
2月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
|
3月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
40 1
|
3月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
2月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
72 4
|
4月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
|
2月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
72 2
|
3月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
4月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于PSO(粒子群优化)改进TCN(时间卷积神经网络)的时间序列预测方法。使用Matlab2022a运行,完整程序无水印,附带核心代码中文注释及操作视频。TCN通过因果卷积层与残差连接处理序列数据,PSO优化其卷积核权重等参数以降低预测误差。算法中,粒子根据个体与全局最优位置更新速度和位置,逐步逼近最佳参数组合,提升预测性能。
|
4月前
|
算法 PyTorch 算法框架/工具
PyTorch 实现FCN网络用于图像语义分割
本文详细讲解了在昇腾平台上使用PyTorch实现FCN(Fully Convolutional Networks)网络在VOC2012数据集上的训练过程。内容涵盖FCN的创新点分析、网络架构解析、代码实现以及端到端训练流程。重点包括全卷积结构替换全连接层、多尺度特征融合、跳跃连接和反卷积操作等技术细节。通过定义VOCSegDataset类处理数据集,构建FCN8s模型并完成训练与测试。实验结果展示了模型在图像分割任务中的应用效果,同时提供了内存使用优化的参考。
|
3月前
|
机器学习/深度学习 算法 5G
基于DNN深度神经网络的OFDM+QPSK信号检测与误码率matlab仿真
本内容展示了基于深度神经网络(DNN)的OFDM-QPSK信号检测算法在Matlab2022a中的仿真效果。通过构建包含多层全连接层和ReLU激活函数的DNN模型,结合信号预处理与特征提取,实现了复杂通信环境下的高效信号检测。仿真结果对比了传统LS、MMSE方法与DNN方法在不同信噪比(SNR)条件下的误码率(BER)和符号错误率(SER),验证了DNN方法的优越性能。核心程序涵盖了QPSK调制、导频插入、OFDM发射、信道传输及DNN预测等关键步骤,为现代通信系统提供了可靠的技术支持。
59 0

热门文章

最新文章