type
status
date
slug
summary
tags
category
icon
password
Last edited time
Jun 3, 2024 12:35 PM
面向工业场景下的多模态异常检测网络
📝 主旨内容
创新点
- 通过自监督学习让不同模态的数据得到充分的交互后进行融合
- 使用基于注意力的噪声合成模块,帮助网络提升异常分割性能
- 不使用Merry Bank(占用额外的内存)的情况下,平均AUROC达到xxx
- 网络轻便,训练简单,在单张V100下能够达到xxFPS
- Kan网络——参数在边权上
实验
环境准备
- Ubuntu 18.04
- Python 3.8
- Pytorch 2.0.0
- CUDA 11.8
安装pointnet2/pointnet++工具类
pointnet_ops install problem
Updated May 18, 2024
本地Docker
封装autodl镜像
庖丁解牛
simple net特征维度
报错解决
RuntimeError: Ninja is required to load C++ extensions
一点结果
ㅤ | I-AUROC | AUPRO | P-AUROC |
bagel | 0.7169 | 0.7875 | 0.6216 |
cable_gland | 0.5818 | 0.9231 | 0.7703 |
carrot | 0.5833 | 0.9767 | 0.9426 |
cookie | 0.583 | 0.8068 | 0.5571 |
dowel | 0.5081 | 0.8006 | 0.6794 |
foam | 0.5688 | 0.9143 | 0.7448 |
peach | 0.6713 | 0.8563 | 0.6779 |
potato | 0.5825 | 0.9773 | 0.9344 |
rope | 0.6273 | 0.9709 | 0.9101 |
tire | 0.606 | 0.9557 | 0.8971 |
mean | 0.6029 | 0.89692 | 0.77353 |
ㅤ | I-AUROC | AUPRO | P-AUROC |
bagel | 0.994 | 0.970 | 0.995 |
cable_gland | 0.909 | 0.971 | 0.993 |
carrot | 0.972 | 0.979 | 0.997 |
cookie | 0.976 | 0.950 | 0.985 |
dowel | 0.960 | 0.941 | 0.985 |
foam | 0.942 | 0.932 | 0.984 |
peach | 0.973 | 0.977 | 0.996 |
potato | 0.899 | 0.971 | 0.994 |
rope | 0.972 | 0.971 | 0.997 |
tire | 0.850 | 0.975 | 0.996 |
mean | 0.945 | 0.964 | 0.992 |
ㅤ | I-AUROC | AUPRO |
bagel | 0.991 | 0.839 |
cable_gland | 0.998 | 0.864 |
carrot | 0.918 | 0.951 |
cookie | 0.968 | 0.618 |
dowel | 0.945 | 0.828 |
foam | 0.945 | 0.836 |
peach | 0.905 | 0.942 |
potato | 0.807 | 0.889 |
rope | 0.994 | 0.911 |
tire | 0.793 | 0.528 |
mean | 0.926 | 0.821 |
PatchCore+FPFH
ㅤ | I-AUROC | AUPRO | P-AUROC |
bagel | 0.918 | 0.976 | 0.996 |
cable_gland | 0.748 | 0.969 | 0.992 |
carrot | 0.967 | 0.979 | 0.997 |
cookie | 0.883 | 0.973 | 0.994 |
dowel | 0.932 | 0.933 | 0.981 |
foam | 0.582 | 0.888 | 0.974 |
peach | 0.896 | 0.975 | 0.996 |
potato | 0.912 | 0.981 | 0.998 |
rope | 0.9921 | 0.950 | 0.994 |
tire | 0.886 | 0.971 | 0.995 |
mean | 0.865 | 0.959 | 0.992 |
LightNet(update)
ㅤ | I-AUROC | AUPRO | P-AUROC |
bagel | |||
cable_gland | 0.5818 | 0.9231 | 0.7703 |
carrot | 0.5833 | 0.9767 | 0.9426 |
cookie | 0.583 | 0.8068 | 0.5571 |
dowel | |||
foam | 0.5688 | 0.9143 | 0.7448 |
peach | 0.6713 | 0.8563 | 0.6779 |
potato | 0.5825 | 0.9773 | 0.9344 |
rope | 0.6273 | 0.9709 | 0.9101 |
tire | 0.606 | 0.9557 | 0.8971 |
mean |
鉴别器强
借助内存库的主流方法消耗的内存
实验
纯RGB和纯3D如何完成?
需要在Eyescandies数据集跑吗?
生成异常分割图
可视化数据集
A100上推理速度(FPS)
adapt前后特征可视化
消融实验(待完成)
针对基于注意力的加噪模块
ㅤ | I-AUROC | AUPRO | P-AUROC |
MLP | ㅤ | ㅤ | ㅤ |
attention | ㅤ | ㅤ | ㅤ |
直接加 | ㅤ | ㅤ | ㅤ |
针对领域迁移
ㅤ | I-AUROC | AUPRO | P-AUROC |
+领域迁移 | ㅤ | ㅤ | ㅤ |
-领域迁移 | ㅤ | ㅤ | ㅤ |
针对自监督融合
ㅤ | I-AUROC | AUPRO | P-AUROC |
自监督 | ㅤ | ㅤ | ㅤ |
直接拼接 | ㅤ | ㅤ | ㅤ |
相加 | ㅤ | ㅤ | ㅤ |
🤗 总结归纳
评估指标
我们用接收器操作曲线下的面积(I-AUROC)来评估图像级别异常检测性能,较高的I-AUROC意味着更好的图像级别异常检测性能。
对于分割评估,我们使用每个区域重叠(AUPRO)指标,该指标定义为二进制预测与每个真实连通组件的平均相对重叠。
类似于I-AUROC,像素级预测的接收器操作曲线可以用来计算用于评估分割性能的P-AUROC。
📎 参考文章
- 作者:ziuch
- 链接:https://ziuch.com/article/LightNet
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章