读《Cheating Depth: Enhancing 3D Surface Anomaly Detection via Depth Simulation》

news2024/11/16 20:30:39

WCAV2024

摘要&引言

RGB骨干:某些表面异常仅在RGB中实际上仍然是看不见的,因此需要合并三维信息(确实重点在于“合并”,单纯看例子里的深度图片也看不出来异常在哪里,但是和rgb overlay之后就明显一些了)。在工业深度数据集上重新训练RGB骨干,这是为更快的密集输入处理而设计的,由于足够大的数据集的可用性有限而受到阻碍。
点云骨干:一般的点云数据集并不能很好地表示工业设置的深度外观分布(那是说点云训练的模型泛化性能差,和现实工业场景不兼容?还是说他们用的点云数据失了真,无法真实的表现现实场景?),从而导致了次优表示。此外,点云主干网大大减慢了处理速度,降低了该方法的实用性。
-》提速思路:直接把点云视作灰度图片然后用RGB训练的网络来推理(那不就丧失了3d性?)
-》-》这种改进的不足:在表示对于异常检测至关重要的深度属性方面表现不足。这是因为RGB图像处理网络通常没有被设计来捕获深度信息,它们优化的是处理颜色和纹理的能力。而深度图像的结构和分布可能与普通的RGB图像很不一样,所以直接应用RGB网络到深度数据可能会导致损失重要的深度信息,这对于准确检测异常是不利的。(不只是你这个rgb网络没有提取深度特征的能力啊,你这个输入都已经是灰度图了喂)
-》-》-》改进思路:把rgb网络再在深度数据上训练一下
-》-》-》-》不足:rgb预训练模型是在很大型数据集上训练的,现有的包括mvtec3d都不够量级

方法

提出了一种基于对偶子空间重投影(3DSR)的三维表面异常检测方法。输入的图像被编码到一个离散的特征空间中,然后由两个解码器重新投影到图像空间中。对象解码器和一般对象解码器分别重建无异常和异常外观。异常检测模块根据两个重投影的差异对潜在异常进行分割(那不就是一种传统的分割模型吗,分出前景和背景)。3DSR的训练分为两个阶段。首先,在RGB和深度图像对上训练一种新的深度感知离散自动编码器(DADA),以学习RGB+3D深度数据的一般联合离散表示。
在第二阶段,将DADA集成到DSR [22]表面异常检测框架中,产生3DSR,然后在三维异常检测数据集[2,4]上进行训练。在第3.1节中,描述了所提出的具有深度感知能力的离散自动编码器(DADA)模块的体系结构。然后在第3.2节中描述了工业深度数据模拟过程。最后的3DSR表面异常检测管道详见第3.3节。

DADA

在深度图像中,即使是轻微的深度变化也可以为缺陷检测提供信息,因此表示TD的变化是至关重要的。

所以深度图像不像rgb,看不出来对象具体的纹理沟壑细节
在这里插入图片描述
但是通常大家用l2损失,对变化敏感,因此通常rgb的贡献更大,而深度数据基本0贡献(所以像CDO等有些算法才认为直接研究rgb比融合上3d效果更好吗?)

4通道的图片输入DADA后,RGB和深度信息由分组卷积层[8]确保RGB和深度特性不交互。这种通道级分离是防止在损失函数中的单一模态的压倒性影响。

最小化由于在低空间分辨率上离散化而导致的信息丢失的两阶段离散化架构:
DADA编码器1:输入图像首先被编码器1处理,这个编码器将空间分辨率下采样4倍,产生特征集f1。这里的fI1代表RGB特征,fD1代表深度特征。
DADA编码器2:编码器1输出的特征被传递到编码器2,它进一步下采样,总共下采样8倍,产生新的特征集f2。
量化特征Q1:f2特征通过L2距离量化到码本VQ1的最近邻,得到量化特征Q1。
解码和上采样:量化特征Q1被输入到一个解码模块,这个模块将空间分辨率上采样2倍,得到fU。
特征重组和重排序:特征f1和fU被连接起来,并且通道重排序,以便将图像特征fI1和fIU以及深度特征fD1和fDu分组。这个重排序是必要的,因为它在解码器的分组卷积中保持了RGB和深度特征的分离。
再次量化:重新排序的特征fR被量化到最近的码本向量VQ2,产生Q2。
Q1上采样和拼接:量化特征Q1被上采样以匹配Q2的空间分辨率,然后Q1和Q2被输入到第二个解码模块。
输出重建:第二个解码模块输出RGB图像Io和深度Do的重建,这两个重建被连接起来作为最终输出Iout。
这个过程使用了一种改良的VQ-VAE(Vector Quantized-Variational AutoEncoder)损失函数来训练DADA。这个损失函数被修改以适应加入的深度信息。简而言之,这种架构设计用于处理和重建深度和RGB信息,通过精心设计的量化和解码过程来减少在处理中丢失重要的空间分辨率信息。
在这里插入图片描述

DDG

由于缺乏工业深度数据集,训练DADA需要模拟数据。一个有效的模拟过程需要考虑工业深度数据的关键特性。首先,物体深度可以从最近到最远连续变化。其次,小的凹痕和颠簸要么会导致RGB的显著强度变化,要么是完全看不见的,这取决于照明(以能够在rgb而不只是深度通道上可见为标准,否则太假了吧,参考图1那种)。在深度上,这些微小的变化总是可以通过最小的局部深度值的改变来检测到。最后,一个深度图像的平均值可以有显著的变化。模拟数据必须捕捉工业图像中的局部变化和可变的平均物体深度。因此,模拟的深度图像生成过程被设计为明确地解决这些属性。模拟图像的核心生成器是Perlin噪声生成器[12],它产生各种局部平滑纹理,以良好地模拟深度的逐渐变化,解决了第一个特性。然后利用随机仿射变换适应Perlin噪声图像,模拟细微的局部变化和变化的平均目标距离。

从而DADA的训练是rgb和深度图像对。rgb图像来自典中典imagenet,深度图像是与rgb无关的模拟生成得到

3d异常检测流水线

在第二阶段,采用DSR [22]作为判别异常检测框架。DSR用于RGB表面异常检测的VQ-VAE-2 [13]网络被DADA取代,经过预先训练,从3D和RGB数据中提取信息表示。此外,DADA的矢量量化特征空间可以实现有效的模拟异常采样。3DSR的体系结构如图5所示
在这里插入图片描述编码和量化(DADA编码器):图像I和深度D输入到DADA编码器,提取特征并量化得到Q1和Q2。
异常生成(仅训练时):在训练过程中,Q1和Q2通过异常生成过程被修改,产生含有模拟特征级异常的Q1A和Q2A。
子空间限制模块:Q1A和Q2A接着输入子空间限制模块,该模块尝试将提取的特征恢复到无异常的表示Q1S和Q2S。
对象特定解码器:对象特定解码器被训练以从重建的特征Q1S和Q2S重建无异常的外观。
预训练的通用外观解码器:通用外观解码器在训练时从Q1A和Q2A重建异常外观IG和DG,或在推断时从Q1和Q2重建。
拼接和输入异常检测模块:然后,IG、DG、IS和DS被拼接并输入异常检测模块。
异常检测模块:异常检测模块被训练在训练期间定位模拟的异常,在测试时定位真实的异常。它直接输出异常分割掩码Mout,并使用Focal损失进行训练。
异常得分估计:通过使用高斯滤波平滑Mout,然后取平滑掩码的最大值来估计图像级异常得分。
训练时异常生成:异常通过修改量化的特征图Q1和Q2生成。首先生成异常映射M,通过阈值处理和二值化一个Perlin噪声图来生成。M被调整大小以适应Q1和Q2的空间维度。Q1和Q2中对应于M的正值区域的特征向量被随机抽样自码本VQ1和VQ2中的特征向量所替换,生成包含模拟异常的修改后特征图Q1A和Q2A。
整个过程中,蓝色标记的步骤仅在训练时进行,橙色标记的步骤仅在推断时进行。红色标记的是可训练的模块。这个复杂的过程使得系统能够在训练期间学习识别和重建异常,而在推断期间快速有效地检测新的异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1526296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源】SpringBoot框架开发学生综合素质评价系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生功能2.2 教师功能2.3 教务处功能 三、系统展示四、核心代码4.1 查询我的学科竞赛4.2 保存单个问卷4.3 根据类型查询学生问卷4.4 填写语数外评价4.5 填写品德自评问卷分 五、免责说明 一、摘要 1.1 项目介绍 基于J…

WebAssembly探索篇(三)emcc和cmake编译opencv案例

文章目录 开发环境安装opencv环境 实践出真知完整项目效果图 踩坑fatal error: opencv2/opencv.hpp file not found增加软链ln(无效)改用自行安装opencv,再显示指定lib路径 emcc命令行运行方式 最近因为项目原因,研究了一下WebAss…

NCV7321D11R2G收发器中文资料PDF数据手册引脚图参数图片价格芯片概述特性原理

产品概述: NCV7321 是一款全功能局部互联网 (LIN) 收发器,适用于 LIN 协议控制器和物理总线之间的接口。该收发器以 I3T 技术实施,可实现高电压模拟电路和数字功能在同一个芯片上的共存。NCV7321 LIN 器件属于车内联网 (IVN) 收发器系列。LI…

【鸿蒙HarmonyOS开发笔记】常用组件介绍篇 —— TextInput文本输入组件

概述 TextInput为文本输入组件,用于接收用户输入的文本内容。 参数 TextInput组件的参数定义如下 TextInput(value?:{placeholder?: string|Resource , text?: string|Resource})● placeholder placeholder属性用于设置无输入时的提示文本,效果…

基于tcp协议的网络通信(基础echo版.多进程版,多线程版,线程池版),telnet命令

目录 基础版 思路 辅助函数 服务端 代码 运行情况 -- telnet ip 端口号 传输的数据为什么没有转换格式 客户端 思路 代码 多进程版 引入 问题 解决 注意点 服务端 代码 运行情况 进程池版(简单介绍) 多线程版 引入 问题解决 注意点 服务端 代码 …

Java微服务分布式事务框架seata

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…

SSH远程连接断开后,程序继续运行

1、问题 我们在使用SSH连接远程服务器跑代码的时候,可能会遇到 代码需要跑很久 的情况,你可能会想 断开远程连接,但是,代码仍然要继续跑。 (eg: 晚上关电脑,但是想让代码继续跑着,第二天想看结果) 2、scre…

JSONP漏洞详解

目录 同源策略 JSONP简介 JSONP劫持漏洞 漏洞原理 漏洞利用过程 利用工具 JSONP漏洞挖掘思路 JSONP防御 首先,要了解一下什么是同源策略? 同源策略 同源策略(SOP)是浏览器的一个安全基石,浏览器为了保证数据…

使用 Jenkins 管道在 Docker Hub 中构建 Docker 镜像

Jenkins Pipeline 是一个强大的工具,可以自动执行部署。在各个阶段之间拆分的灵活和自定义操作是尝试此功能的一个很好的理由。 构建您自己的 Docker 镜像并将其上传到 Docker Hub 以保持存储库更新是了解 Jenkins Pipeline 如何改进您的工作方式的一个很好的示例。…

详细分析Python装饰器(附Demo)

目录 前言1. 基本知识2. 无参装饰器3. 有参装饰器4. 多个装饰器 前言 装饰器类似Java的切点切面增强 推荐阅读: 详细分析Spring中的Around注解(附Demo)java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全&#xff0…

如何实现Git Push之后自动部署到服务器?

在平时个人开发的过程中是不是有这样的烦恼: 项目开发完成,Push之后 登录服务器,手动git pull,然后运行部署命令 这真的很烦诶! 那么能不能Git push之后,远端服务器自动 Git pull 然后运行部署命令呢&a…

内网安全之-NTLM协议详解

NTLM(New Technology LAN Manager)身份验证协议是微软用于Windows身份验证的主要协议之一。早起SMB协议以明文口令的形式在网络上传输,因此产生了安全性问题。后来出现了LM(LAN Manager)身份验证协议,它非常…

排序问题—java实现

冒泡排序 算法思想: 每次比较相邻元素,若逆序则交换位置,每一趟比较n-1次,确定一个最大值。故需比较n趟,来确定n个数的位置。 外循环来表示比较的趟数,每一趟确定一个最大数的位置内循环来表示相邻数字两…

2024考研国家线公布,各科分数线有哪些变化?考研国家线哪些涨了,哪些跌了?可视化分析告诉你

结论在文章结尾 2024考研国家线 一、近五年国家线趋势图-学术硕士 文学 管理学 工学照顾专业 体育学 交叉学科 军事学 历史学 理学 享受少数名族照顾政策的考生 中医类照顾专业 教育类 艺术类 医学 工学 哲学 法学 农学 经济学 二、近五年国家线趋势图-专业硕士 中医 应用心理 …

IPSEC VPN-详解原理

目录 IPSEC提供的安全服务 IPSEC协议簇 ​编辑 安全协议 1.传输模式 2. 隧道模式 AH ---鉴别头协议 AH提供的安全服务: AH头部 AH的保护范围 1.传输模式 2.隧道模式 ​编辑 ESP ---封装安全载荷协议 ESP提供的安全服务: ESP的头部 ESP的保护范围 1.传输…

如何选择合适的数据可视化工具?

如果是入门级的数据可视化工具,使用Excel插件就足够了! Excel插件,tusimpleBI 是一款 Excel 图表插件,提供超过120项图表功能,帮助用户制作各种 Excel 所没有的高级图表,轻轻松松一键出图。 它能够制作10…

【送书福利!第一期】《ARM汇编与逆向工程》

🐮博主syst1m 带你 acquire knowledge! ✨博客首页——syst1m的博客💘 😘《CTF专栏》超级详细的解析,宝宝级教学让你从蹒跚学步到健步如飞🙈 😎《大数据专栏》大数据从0到秃头👽&…

SD-WAN解决企业在工业互联网时代的新困境

工业互联网迎来全新的发展契机,而SD-WAN技术将成为制造企业快速崭露头角的得力助手! 制造业的数字化转型已成为经济全球化和数字化浪潮的必然产物。许多制造企业迅速向人口密集区域扩张,呈现出分支众多、布局分散的特点。随着工业互联网的蓬勃…

Linux环境开发工具之yum

前言 前面我们已经对基本的指令和权限进行了介绍,本期开始我们将介绍常用的开发工具。例如:软件包管理器yum。 本期内容介绍 Linux上安装软件的方式 什么是yum yum的相关操作 yum的本地配置和yum源 一、Linux上安装软件的方式 在介绍Linux上如何安装一…

upload-lab 11-20解法

pass11 查看代码 这里我们先解读下代码 $is_upload false; $msg null; if(isset($_POST[submit])){# 定义了白名单数组$ext_arr array(jpg,png,gif);# 截取上传文件名最后一个带点的文件后缀 $file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][n…