type
status
date
slug
summary
tags
category
icon
password
论文原文
简述
The PatchCore algorithm is based on the idea that an image can be classified as anomalous as soon as a single patch is anomalous. The input image is tiled. These tiles act as patches which are fed into the neural network. It consists of a single pre-trained network which is used to extract “mid” level features patches. The “mid” level here refers to the feature extraction layer of the neural network model. Lower level features are generally too broad and higher level features are specific to the dataset the model is trained on. The features extracted during training phase are stored in a memory bank of neighbourhood aware patch level features.During inference this memory bank is coreset subsampled. Coreset subsampling generates a subset which best approximates the structure of the available set and allows for approximate solution finding. This subset helps reduce the search cost associated with nearest neighbour search. The anomaly score is taken as the maximum distance between the test patch in the test patch collection to each respective nearest neighbour.
Architecture
基于图像能作为异常Patch进行分类,将高分辨率图像 tiling之后进行异常检测。每个图像作为一个patch;使用预训练的网络中的”中层“ 进行特征提取(低层泛化性不够,高层过拟合)。将提取出的特征存储到 memory bank中(邻域感知patch-level???)。
在推理时,将 memory bank进行核心集子采样,异常分数则是测试patch与coreset中最近邻patch之间的最大距离。
背景
与PatchCore相关的有 SPADE、PaDiM,在这两个工作基础上进行改进。
核心算法
Tiling
局部感知的Patch特征
根据原文,符号含义如下
符号 | 含义 |
所有正样数据集 | |
测试集 | |
图像 | |
0代表正常, 1代表异常 | |
ㅤ | |
表示图像 在预训练网络 中的 层的特征 | |
在图 的 通道对 切片的特征 | |
局部感知的patch特征集 |
PatchCore进一步扩展了 的表示,以解决不同 patchsize大小的特征表示,表示了什么?
为patchsize。
在位置上的局部感知特征为 为:
其中 为聚合函数。如何聚合函数?
最终的局部感知特征集则为:
s为stride,默认为1,即选取整个 作为局部感知的Patch特征。
最后的的memory bank为:
是如何保持图像分辨率的?
Memery Bank
CoreSet SubSample
补充知识
Cold-Start
Commonly also dubbed one-class classification (OCC)。即一类分类问题
参考
- 作者:Wtoy
- 链接:https://blog.wtoy.top/article/2024/2972ae3b-86bf-440f-bb12-2bed8f37f2e1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。