基于Transformer的图像异常检测算法:VT-ADL(Vision Transformer for Anomalous Data Localization)
字数 1949 2025-12-07 14:28:18
基于Transformer的图像异常检测算法:VT-ADL(Vision Transformer for Anomalous Data Localization)
题目描述
在计算机视觉的工业质检、医疗影像分析等领域,图像异常检测旨在识别与正常样本显著偏离的缺陷或异常区域,通常只能在训练时使用正常样本。传统方法依赖于生成模型重建误差,但易受纹理变化干扰。VT-ADL是一种基于Vision Transformer(ViT)的异常检测与定位算法,它通过提取多尺度特征并构建记忆库,在测试时比对查询特征与正常模式,实现高精度异常定位。
解题过程循序渐进讲解
1. 问题定义与核心挑战
- 目标:给定仅含正常图像的训练集,检测测试图像中是否存在异常(如产品划痕、医学病变),并像素级定位异常位置。
- 挑战:
- 异常形态多样且未知,难以用有限异常样本训练。
- 正常样本也可能存在纹理变化,易被误判为异常。
- 需平衡全局语义理解与局部细节敏感度。
2. VT-ADL算法框架概述
VT-ADL包含三个阶段:
- 多尺度特征提取:用预训练ViT编码图像,获取不同层级的特征图。
- 记忆库构建:在训练阶段,从正常样本特征中聚类生成一组“正常模式”原型,存储为记忆库。
- 异常检测与定位:测试时,将查询特征与记忆库匹配,通过匹配差异计算异常分数。
3. 多尺度特征提取详解
- 输入图像分割为固定大小块(如16×16像素),经线性投影为向量,加入位置编码后输入ViT编码器。
- ViT的Transformer层输出包含不同抽象层次的特征:
- 浅层特征(前几层):保留细节信息(如边缘、纹理),利于定位异常边界。
- 深层特征(最后几层):编码全局语义(如物体结构),避免将语义变化误判为异常。
- VT-ADL选择多个Transformer层的输出,上采样到原图分辨率后拼接,形成多尺度特征图 \(F \in \mathbb{R}^{H \times W \times C}\),其中 \(H, W\) 为空间尺寸,\(C\) 为通道数。
4. 记忆库构建过程
- 在训练阶段,使用所有正常图像的多尺度特征图构建记忆库 \(\mathcal{M} = \{ m_1, m_2, ..., m_K \}\),每个 \(m_k \in \mathbb{R}^C\) 代表一个正常模式原型。
- 具体步骤:
- 将所有正常图像的特征向量集合 \(\{ f_i \in \mathbb{R}^C \}\) 通过K-means聚类为 \(K\) 个簇。
- 计算每个簇的质心作为原型 \(m_k\)。
- 记忆库本质是正常特征空间的离散化表示,覆盖正常样本的典型模式。
5. 异常检测与定位机制
对于测试图像的特征图 \(F\),遍历每个空间位置 \((i,j)\) 的特征向量 \(f_{ij} \in \mathbb{R}^C\):
- 特征匹配:计算 \(f_{ij}\) 与记忆库中所有原型的余弦相似度,选择最相似的原型 \(m^*\):
\[ m^* = \arg\max_{m_k \in \mathcal{M}} \frac{f_{ij} \cdot m_k}{\|f_{ij}\| \|m_k\|} \]
- 异常分数计算:匹配距离 \(d_{ij} = 1 - \text{相似度}(f_{ij}, m^*)\)。距离越大,表示该位置与正常模式差异越大。
- 异常图生成:将所有位置的 \(d_{ij}\) 组合为空间异常图 \(A \in \mathbb{R}^{H \times W}\),上采样至原图大小即得像素级异常定位结果。
- 图像级异常检测:取异常图的最大值或平均值作为整图异常分数,通过阈值判断是否异常。
6. 优化与创新点
- 多尺度融合:结合浅层细节与深层语义,减少误报(如光照变化)。
- 记忆库匹配:避免重建模型对复杂纹理的过拟合,直接比对正常模式。
- 轻量化推理:记忆库仅存储原型向量,测试时只需相似度计算,效率高。
7. 实际应用示例
以工业PCB板缺陷检测为例:
- 训练:使用大量无缺陷PCB图像训练ViT特征提取器,并构建记忆库。
- 测试:输入待测PCB图像,VT-ADL输出热力图——高亮区域可能为焊点缺失或划痕。
- 优势:即使缺陷从未见过,只要与正常模式差异显著即可检测,适应零样本异常。
总结
VT-ADL通过Transformer多尺度特征与记忆库匹配,解决了异常检测中未知缺陷定位和纹理干扰的难题。其核心在于利用正常样本构建紧凑特征原型库,测试时以差异度量实现异常定位,适用于无异常样本的工业、医疗场景。