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

2024-03-15 17:36

本文主要是介绍读《Cheating Depth: Enhancing 3D Surface Anomaly Detection via Depth Simulation》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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。
整个过程中,蓝色标记的步骤仅在训练时进行,橙色标记的步骤仅在推断时进行。红色标记的是可训练的模块。这个复杂的过程使得系统能够在训练期间学习识别和重建异常,而在推断期间快速有效地检测新的异常。

这篇关于读《Cheating Depth: Enhancing 3D Surface Anomaly Detection via Depth Simulation》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/812727

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

【CSS in Depth 2 精译_024】4.2 弹性子元素的大小

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础

3D绘图基础 四大要点 WPF中的3D绘图涉及4个要点: 视口,用来驻留3D内容3D对象照亮部分或整个3D场景的光源摄像机,提供在3D场景中进行观察的视点 一、视口 要展示3D内容,首先需要一个容器来装载3D内容。在WPF中,这个容器就是Viewport3D(3D视口),它继承自FrameworkElement,因此可以像其他元素那样在XAML中使用。 Viewport3D与其他元素相

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法