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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年pmp的考试时间是什么时候?

2024年 PMP 考试时间已经定了 ,分别是 3 月、6月、8月、11月 ,4月就准备报6月的考试了,有想法的别错过啦~ 一、报考条件 报考条件其实挺简单的,最核心的条件还是满足以下 2 个:1、本科毕业需要满 3 年时间&#xff0c…

网络编程--高并发服务器

这里写目录标题 引入场景 多进程并发服务器二级目录二级目录二级目录 多线程并发服务器二级目录二级目录二级目录 多路IO转接服务器设计思路对比引入 select函数简介参数介绍第一个参数第234参数返回值对于第234参数的应用对于最后一个参数总结 附加操作(附加四个函…

项目试运行报告-word

一、试运行目的 软件项目试运行的主要目的是在实际应用环境中对软件系统进行全面检验,确保其满足设计要求和用户需求,同时发现和解决潜在的问题,为正式投入使用做好准备。通过试运行,我们可以: 验证软件系统的稳定性…

国创证券|资源再生概念持续活跃,超越科技两连板,大地海洋等走高

资源再生概念15日盘中再度走强,截至发稿,超越科技涨停斩获两连板,深水海纳涨超14%,大地海洋涨超12%,华新环保涨近9%,天奇股份、格林美、怡球资源等涨超5%。 消息面上,3月13日,国务院…

全新2024快递平台系统 独立版快递信息查询小程序源码 cps推广营销流量主+前端 同城快递平台

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序,接入云洋/易达物流接口,支持选择快递公司,三通一达,极兔&#xff0c…

Python the code is unreachable

Python the code is unreachable 正文 正文 相信有不少小伙伴在使用 Python 的时候有时候会遇到 the code is unreachable 这样的 warning 提示。这种提示表示在我们当前书写的代码种有一部分代码被屏蔽了。可能会存在潜在的 bug,需要我们注意,那么什么…

Three 光源 (总结四)

萤火虫飞舞 import * as THREE from three import { OrbitControls } from ../../js/jsm/controls/OrbitControls.js; // 引入相机控件let scene, camera, renderer, controls, flyBall, ball function init() {scene new THREE.Scene()camera new THREE.PerspectiveCamera(7…

幸福金龄会第二届《锦绣中华》中老年文旅文化艺术节圆满落幕

广东,这片承载着深厚文化底蕴的土地,再次见证了中老年文化艺术的璀璨盛放。近日,由幸福金龄会主办、广之旅协办的第二届《锦绣中华》中老年文旅文化艺术节在广东隆重举行。活动汇聚了广东各支文艺团队,他们用最真挚的表演&#xf…

讲述微信小程序 通信模型

之前的文章 讲述微信小程序宿主环境 我们讲到了 手机微信 为小程序 提供了多方面支持 包括 1 通讯模型 2 运行机制 3 组件 4 API 今天 我们就来说 通讯模型 小程序中的 通信主题 是 渲染层 和 逻辑层 首先 渲染层中 包含的是 wxml 页面模板 和 wxss样式 逻辑层 里面则都是js的…

如何从视频中提取gif?仅需三步在线制作

视频提取GIF是一种常见的图像处理技术,它可以将视频中的某一段或某一帧提取出来,并保存为GIF格式的动图。这种技术在互联网上广泛应用,成为了分享精彩瞬间和制作有趣动画的有力工具。想要从视频中截取动图,使用视频转gif工具&…

超越标签的探索:K-means与DBSCAN在数据分析中的新视角

最近在苦恼为我的数据决定分组问题,在查找资料时,恰好看到机器学习中的无监督学习的聚类分析,正好适用于我的问题,但是我之前学机器学习时。正好没有学习无监督部分,因为我认为绝大多数问题都是有标签的监督学习&#…

IPSEC VPN-详解原理

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

进程的概念 | PCB | Linux下的task_struct | 父子进程和子进程

在讲进程之前首先就是需要去回顾一下我们之前学的操作系统是干嘛的,首先操作系统是一个软件,它是对上提供一个良好高效,稳定的环境的,这是相对于用户来说的,对下是为了进行更好的软硬件管理的,所以操作系统…

es文档操作命令

文档操作 documents 创建数据(put) 向 user 索引下创建3条数据 PUT /user/_doc/1 {"name":"zhangsan","age":18,"sex":"男","info":"一顿操作猛如虎,一看工资2500"…

关于卷积神经网络特征可视化

卷积神经网络CNN,一个大号/深层的,现代的,黑箱的,信号/图像处理器。 简单讲解如何将图像输入到卷积神经网络CNN并显示网络不同层的激活图,并通过将激活图与原始图像进行比较以探索网络学习哪些特征 本例来源于Mathwo…

IP代理技术革新:探索数据采集的新路径

引言: 随着全球化进程不断加深,网络数据采集在企业决策和市场分析中扮演着愈发重要的角色。然而,地域限制和IP封锁等问题常常给数据采集工作带来了巨大挑战。亿牛云代理服务凭借其强大的网络覆盖和真实住宅IP资源,成为解决这些问…

大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 邢不行

这是邢不行第 110 期量化小讲堂的分享 作者 | 邢不行、密斯锌硒 常看我文章的读者应该能发现,我介绍过的量化策略大多都会在开盘时买入。 比如小市值策略和散户反着买策略: 小市值策略文章 散户反着买策略 它们都会在每个周期的第一个交易日开盘去…

Git Bash命令初始化本地仓库,提交到远程仓库

git init:初始化空仓库 // 初始化一个空仓库或者重新初始化一个存在的仓库 git init git remote // 为当前本地仓库添加一个远程仓库地址 git remote add origin https://gitee.com/xxx/demo.git git pull // 从设置好链接的远程仓库拉去已经存在的数据,…

Python自动化测试——postman,jmeter接口测试

关于众所postman,jmeter,做自动化测试的我想对这两个词并不陌生。大家都知道postman用来做接口测试很方便,下面我们就用一些例子来演示一下它该如何进行接口测试: 首先我们来介绍一下接口测试的概念: 1、什么是接口测试&#xf…

被围绕的区域c++

题目 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 输入 4 4 XXXX XOOX XOXX XXOX输出 XXXX XXXX XXXX XXOX思路 由题知边界上的"O"和 与边界的"O"相连的"O"不会被标记,我们可以用一个数组st[][]标…