| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> CFA【异常检测:Embedding_based】 -> 正文阅读 |
|
[人工智能]CFA【异常检测:Embedding_based】 |
前言 博文来自2022年CVPR的一篇论文,目前排名第二(截止博文发出时间,这是papers with code统计的发表在MVTec数据集的论文排名。) 模型原理思想:以往采用的记忆库的方式做异常检测都采用预训练网络,CFA也是,但同时也会有针对正常数据集的训练,这样可以避免预训练网络范化性太强带来的偏差。还提出了一种记忆库的制作方法,可拓展到任意大小的记忆库。 耦合超球体的含义可以从这篇论文中理解到,相当于那种电子原子结构,原子是记忆库,电子是训练集或测试集。 迁移学习:ResNet是在大的自然数据集上训练出来的,具备了先验知识,可以提取得到图像的先验特征。就是个预训练网络提取特征,叫迁移学习是做个包装罢了。 文中出现的量按官方给的取,比如张量,CNN的选择等,这样想着能好理解一些。 Patch descriptor及之前的操作之前的操作 正常图像数据集经ResNet网络提取特征,形成三个张量[4,64,56,56],[4,128,28,28],[4,256,14,14],每个张量经平均池化,后两个张量再经上采样,三个张量合并后形成张量[4,448,56,56]。 Patch descriptor 构建两个张量xx/yy:[4,1,56,56],内部数值(0~55)如下,yy张量相当于xx的转置。再将内部的每个数值除55乘2减1,合并到张量[4,448,56,56]形成[4,450,56,56]。经卷积形成张量[4,448,56,56],取名为A1。 Compression-->Memory bank一个batch为4,可以形成A1,将所有的A1求平均形成张量[1,448,56,56],再转化为张量[448,3136],取名为B1。 上面是源码中的一个方法,原论文还介绍了一种数据库更新方法,也在源码中有体现,但默认没使用。 NN SearchA1张量转化形状[4,3136,448]后,其中每个值求平方再在维度层面相加形成张量A2[4,3136,1];B1张量每个值求平方再在维度层面相加形成张量B2[1,3136]。A2与B2相乘再乘2(可以想象一下两个矩阵的相乘,相当于每张图的像素值与总体图的像素值乘了一下。)形成张量C1[4,3136,3136],A2与B2相加(以矩阵相乘的形式相加)形成张量C2。 C2-C1形成D1,D1求根号以行为方向每个像素位置处返回最小的K(3)个值(形成超球),通过softmin为这三个值加权,再取第一个值形成张量D2[4,3136,1],形成分数图S[4,1,56,56]。 损失函数上面的操作返回6个,选前3个 使用损失函数(Euclidean distance),选后3个使用损失函数(Hard negative features)。 用两个损失函数,一个从圈(超参数r)外让超球逼近r,一个从圈内让超球逼近r,两者结合再利用超参数限制一下,达到训练效果。 在一个像素位置会产生许多超球,这里只是选择最小的三个值构成超球,在这三个值中,任何一个都可能在后三个超球里,这样不就在检测异常区域时使得该区域检测不稳定了,所以加入后三个值的训练使这个模糊的值也限制住(理解的,不一定对...)。 实验对比实验:在MVTec和RD-MVTec(数据增强后的)数据集上用不同模型做实验。 消融实验:使用不同损失函数/不同的记忆库大小/不同的backbone。 补充 PatchCore/PaDiM/SPADE(采用类似的记忆库的方法。) 问题(请教请教啊,搞不懂--_--) Patch descriptor 里的维度增加了两个由448到500,那个操作是为了什么呢? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:56:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |