INP-Former阅读笔记

Inp-Former 的核心思想:一张有缺陷的图片里,通常仍有大量正常区域,可以从这些区域提取当前图片自己的"正常参照" ,这样能减少外部正常样本与当前图片在外观、位置等方面不一致带来的干扰

一、预训练编码器

pre-trained encoder的作用是把输入的图像转化成后续模块可以处理的特征表示,也就是patch tokens.这些特征可以描述局部的纹理、边缘、形状等信息;

例如,输入一张有破损的榛子图像,编码器会提取正常外壳、破损区域和背景等位置的特征。它提取的是整张图片的信息。

编码器的输出

其中H是输入图片的高,W是宽,k是下采样系数,一个patch的大小就是k*k(patch是原图上切出来的像素块,是图像区域可以看到,token是特征向量,patch token是patch对应的token);

下采样是降低分辨率:把图像 / 特征图缩小,减少像素点数量;

二、INP 提取器

提取器的作用就是,提取出一个可以代表正常模式的原型

extractor 的输入有:可学习token和 FQ\mathbf{F}_QFQ, FQ\mathbf{F}_QFQ是encoding各阶段输出特征的求和

Learnable Token : 是模型的参数, 训练阶段,由反向传播更新,INP一致性损失 + 后边的重建损失一起回传来调整Learnable Token

Extractor的训练过程: 输入T(Learnable Token)和FQ\mathbf F_QFQ,通过extractor运算出一个P(INPS), 计算一致性损失Lc\mathcal L_cLc

Original distirbution: 从FQF_QFQ中提取到的inps没有位于相同patch token的中心,类边界模糊

Target distribution: 通过不断更新参数,使extractor提取出的inps位于相同patch token的中心,类边界更加清晰

三、INP-guided Decoder

Decoder输出的是每个patch对应的正常的重建特征,用于和原图特征计算特征距离,生成异常距离图。

编码特征Patch Token 与解码特征Output Token是对齐的

四、其他

MLP Bottleneck

将编码器输出的特征转换为更适合解码器处理的特征,也就是对特征进行转换和适配

五、整体流程

训练时,将正常图像输入冻结的预训练编码器,提取选定的多个编码阶段的特征。融合这些特征后,分为两条路径:一条通过 MLP Bottleneck 进行特征变换,得到解码器的输入 FBF_BFB;另一条输入 INP Extractor。

在原型提取器中,一组可学习 tokens (T) 提供查询 (Q),融合编码特征 FQF_QFQ 提供键和值 K、V,经过交叉注意力和前馈网络得到正常原型 P。同时,通过计算各编码特征与最近原型的余弦距离,构造 INP 一致性损失,约束原型对正常特征的表示能力。

随后,解码器接收 FBF_BFB,并在各解码层中利用正常原型 P 提供 K、V,引导特征重建。将编码特征与对应的解码重建特征进行比较,计算软挖掘损失,使模型更关注难以重建的正常区域。

最后,将两种损失合并为 Ltotal=Lsm+λLc\mathcal L_{\text{total}}=\mathcal L_{\text{sm}}+\lambda\mathcal L_cLtotal=Lsm+λLc,统一反向传播,更新原型提取器、可学习 tokens、瓶颈模块和解码器的参数,保持预训练编码器冻结。

补充知识

热力图

首先求每个patch与最近inp的余弦距离得到的,然后按照原图中patch的位置排列,得到一个k*k=N(patch数量)的距离图,经过上采样之后才与原来的图像大小相同的彩色热力图


inp-former输出的Anomaly Map: 它也是热力图,原始大小也是patch网格大小,每个像素是编码特征与解码特征的余弦距离(异常相关分数),经过上采样后变成最终的Anomaly Map

相关推荐
叼烟扛炮43 分钟前
Linux 学习笔记(六十一):网络编程毕业设计——Reactor 反应堆模式
linux·网络·笔记·学习·课程设计
AI源码1 小时前
基于深度学习的日常服饰分类与推荐系统设计
人工智能·深度学习·分类
科小怪1 小时前
Obsidian 下载安装:官网下太慢?笔记存自己电脑,不注册不联网
笔记·下载教程·obsidion
叼烟扛炮3 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
水云桐程序员9 小时前
从零开发软件的步骤,软件开发从零到完成应该怎么做?
笔记·学习·软件构建·个人开发
David猪大卫9 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
叼烟扛炮10 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
一条大祥脚11 小时前
TVM 的前世今生:从深度学习编译器到 AI 基础设施
人工智能·深度学习·tvm
ZhengEnCi14 小时前
一句话定位图片中目标最准的模型是哪个:2026 视觉定位 SOTA 全面评测与选型指南
计算机视觉