当前位置:   article > 正文

图像异常检测_padim

padim

图像异常检测-PaDim算法

第一章 图像异常检测 关于PaDim算法的初步学习



前言

本周主要对PaDim算法的有关原理进行学习,然后使用anomalib库进行模型的初步训练,进行结果分析。


一、PaDim的基本原理

简答来说,就是将训练集中每个像素用一个多维高斯分布表示,计算测试集中每个像素到训练集对应像素的距离。
具体公式与细节还没看懂。。。。

二、anomalib的使用

1.配置环境

安装pytorch、pytorch_lightning和anomalib等几个包
主要需要注意pytorch和pytorch_lightning都用pip进行安装,不然会出现安装后删包的bug

2.数据集制作

根据MVTec数据的结构进行制作,记录出现的一些问题

  • 图片的类型:先使用jpg格式的显示Found 0 images in datasets\MVTec\hole,更改图片为png格式即可。搞不明白~
  • 测试集中mask显示并非全整的mask,原因是mask需要对rgb格式进行二值化之后才可以
    mask未进行二值化处理
图1 mask未进行二值化的结果

3.训练

主要对PaDim模型下的yalm文件进行修改。对数据集目录,图像大小,epochs进行修改。
在训练之后,针对数据集中一些错误的数据进行清洗。
以下是其中两次的结果对比
在这里插入图片描述

图2 检测与分割得分
image_AUROC与image_F1Score表示检测的得分

pixel_AUROC与pixel_F1Score表示分割的得分

在这里插入图片描述

图3 异常样本的检测与分割结果

正常样本结果

图4 正样本的检测与分割结果

总结与问题

总结:能够得到可以分类异常与正常样本的模型,但模型分割能力不强。
存在问题:

1. 分割能力较差,会出现漏检与误检,主要体现:

  • 划痕与背景相近时检测不出来
  • 有些曝光太强会误检

2. 一些疑问、bug与解决思路

  • 想更换提取网络,但是出现问题,显示需要下载,但是没有下载成功。回来再找找资料
  • 初始的yaml给epoch是1,效果还行,给成10后,得分似乎没有太大变化,不知道再给多会不会有影响
  • 数据集中一些图片本身就不好,会有过曝的现象,而且,一些划痕在灰度效果下会和背景太过相近,可以进行图像增强。直方图均衡化试试,试试增加对比度。还想是不是要换数据集。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/447185
推荐阅读
相关标签
  

闽ICP备14008679号