【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)
Multimodal Industrial Anomaly Detection via Hybrid Fusion
1、Background
随着3D传感器的发展,最近发布了具有2D图像和3D点云数据的MVTec-3D AD数据集,促进了多模态工业异常检测的研究。
无监督异常检测的核心思想是找出正常表示与异常之间的差异。当前的2D工业异常检测方法可以分为两类:
(1)基于重建的方法。图像重建任务在异常检测方法中被广泛使用,以学习正常表示。对于单一模态输入(2D图像或3D点云),重建方法易于实现。但对于多模态输入,很难找到重建目标。
(2)基于预训练特征提取器的方法。直观的方法是将提取的特征映射到正常分布,并找到分布之外的一个作为异常。基于归一化流的方法使用可逆变换直接构建正常分布,记忆库方法存储一些代表性特征以隐式构建特征分布。
与基于重建的方法相比,直接使用预训练特征提取器不涉及设计多模态重建目标,对于多模态任务是更好的选择。此外,当前的多模态工业异常检测方法直接连接两种模态的特征。然而,当特征维度很高时,多模态特征之间的干扰将非常激烈,并导致性能下降。
为了解决上述问题,提出了一种基于RGB图像和3D点云的新型多模态异常检测方案Multi-3D-Memory (M3DM)。与现有方法直接连接两种模态的特征不同,提出了一种混合融合方案,以减少多模态特征之间的干扰并鼓励特征交互。
提出了无监督特征融合(UFF)来融合多模态特征,它使用分块对比损失进行训练,以学习相同位置的多模态特征块之间的固有关系。为了鼓励异常检测模型保持单一域推理能力,分别为RGB、3D和融合特征构建了三个记忆库。
对于最终决策,构建了决策层融合(DLF),以考虑所有记忆库进行异常检测和分割。异常检测需要包含全局和局部信息的特征,其中局部信息有助于检测小缺陷,全局信息关注所有部分之间的关系。基于这一观察,使用Point Transformer进行3D特征和Vision Transformer进行RGB特征。进一步提出了点特征对齐(PFA)操作,以更好地将3D和2D特征对齐。
2、Method
Multi-3D-Memory (M3DM)方法采用3D点云和RGB图像作为输入,进行3D异常检测和分割。
采用特征混合融合方案,以促进跨域信息交互,同时保持每个单一域的原始信息。
利用两个预训练的特征提取器,DINO用于RGB和PointMAE用于点云,分别提取颜色和3D表示。
M3DM由三个重要部分组成:
(1)点特征对齐(PFA):为了解决颜色特征和3D特征之间的位置信息不匹配问题,提出了点特征对齐,将3D特征对齐到2D空间,这有助于简化多模态交互并提高检测性能。
(2)无监督特征融合(UFF):由于多模态特征之间的交互可以产生对异常检测有帮助的新表示,提出了一个无监督特征融合模块,以帮助统一多模态特征的分布并学习它们之间的内在联系。
(3)决策层融合(DLF):尽管UFF有助于提高检测性能,但发现信息丢失是不可避免的,并提出使用多个记忆库进行最终决策。
算法流程:
- 输入数据
- 3D点云
- RGB图像
- 特征提取
- 使用Point Transformer处理3D点云,提取每个点的特征(形状)
- 使用Vision Transformer处理RGB图像,提取图像中每个块的特征(纹理和颜色)
- 特征融合
- 点特征对齐(PFA):因为3D点云和彩色图片的空间对应关系可能不一致,所以需要一个对齐过程,让3D形状信息和2D颜色信息能在同一个坐标系下比较。将3D点云特征投影到2D平面上,以便与RGB图像特征对齐。
- 无监督特征融合(UFF):将对齐后的3D和2D特征进行融合,使用一种特殊的学习方法(分块对比学习),让两种特征互相学习,增强彼此的信息。
- 决策层融合(DLF)
- 首先,使用多个记忆库(Memory Bank)分别存储RGB特征、3D特征和融合后的特征。
- 然后,对于每个记忆库,系统都会计算出一个异常分数和一个分割图,这些分数和图基于学习到的正常产品特征。
- 最后,通过一个叫做One-Class SVM的模型,综合这些分数和图,给出最终的异常检测结果和异常区域的定位。
pseudo-code
# 定义函数进行特征提取
def extract_features(data):if isinstance(data, RGB_image):features = vision_transformer(data)elif isinstance(data, PointCloud):features = point_transformer(data)return features# 定义函数进行无监督特征融合
def unsupervised_feature_fusion(rgb_features, point_features):fused_features = some_fusion_method(rgb_features, point_features)return fused_features# 定义函数进行异常检测
def anomaly_detection(features, memory_bank):distances = calculate_distances(features, memory_bank)anomaly_score = sum(distances) # 简化的异常评分计算return anomaly_score# 主流程
def main(new_rgb_image, new_point_cloud, memory_bank_rgb, memory_bank_point, memory_bank_fused):# 特征提取rgb_features = extract_features(new_rgb_image)point_features = extract_features(new_point_cloud)# 特征融合fused_features = unsupervised_feature_fusion(rgb_features, point_features)# 异常检测score_rgb = anomaly_detection(rgb_features, memory_bank_rgb)score_point = anomaly_detection(point_features, memory_bank_point)score_fused = anomaly_detection(fused_features, memory_bank_fused)# 综合决策final_score = (score_rgb + score_point + score_fused) / 3if final_score > threshold:return "异常"else:return "正常"# 假设的记忆库数据
memory_bank_rgb = ...
memory_bank_point = ...
memory_bank_fused = ...# 新样本数据
new_rgb_image = ...
new_point_cloud = ...# 调用主函数进行异常检测
result = main(new_rgb_image, new_point_cloud, memory_bank_rgb, memory_bank_point, memory_bank_fused)
print("检测结果:", result)
3、Experiments
🐂。。。
4、Conclusion
提出了一种基于点云和 RGB 图像的 多模态混合特征融合
工业异常检测方法 Multi-3D-Memory 。
相关文章:

【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)
Multimodal Industrial Anomaly Detection via Hybrid Fusion 1、Background 随着3D传感器的发展,最近发布了具有2D图像和3D点云数据的MVTec-3D AD数据集,促进了多模态工业异常检测的研究。 无监督异常检测的核心思想是找出正常表示与异常之间的差异。…...

基于微信小程序的宿舍报修系统的设计与实现(lw+演示+源码+运行)
摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对成果信息管理混乱,出错率高,信息安全性差&am…...

前端练习总结(1)
前端实习练习题 前端实习笔试题0920 visibility:hidden display:none把鼠标移到按钮并点击时 hover active focus的顺序代码输出结果1代码输出结果2CSS中哪些属性可以继承cookie sessionStorage localstorage区别面向对象基本特征有哪些,请具体说明下列关于v-model的说法,哪项…...

计算机网络自顶向下(1)---网络基础
目录 1.网络的分类 2.网络协议 3.网络分层结构 1.OSI七层模型 2.TCP/IP四层模型 3.网络与OS的关系 4.网络传输基本流程 1.协议报头 5.网络中的地址管理 1.IP地址 2.端口号 6.传输层协议 1.TCP协议 2.UDP协议 3.网络字节序 7.socket 1.网络的分类 局域网&…...

Pandas -----------------------基础知识(五)
索引和列操作函数缺失值 索引和列操作 # 1 加载数据 # 1.1 从链家租房数据集中获取天通苑租房区域的所有数据存储在df2中 # 1.2 从df2中获取价格列存储在df2_price对象 import pandas as pd df pd.read_csv(/root/pandas_code_ling/data/b_LJdata.csv) df2 df[df[区域] 天通苑…...

RabbitMQ 高级特性——重试机制
文章目录 前言重试机制配置文件设置生命交换机、队列和绑定关系生产者发送消息消费消息 前言 前面我们学习了 RabbitMQ 保证消息传递可靠性的机制——消息确认、持久化和发送发确认,那么对于消息确认和发送方确认,如果接收方没有收到消息,那…...
每天一道面试题(20):锁的发生原因和避免措施
死锁的发生原因和避免措施 一、概述 在多线程编程中,死锁是一个常见的问题。理解死锁的成因和避免策略是提升程序稳定性和性能的重要能力。 二、普通人 vs 高手的回答 普通人回答: “临场发挥…” 高手回答: “死锁是指两个或多个线程在执…...

2024淘宝双11活动,收下这份必买好物推荐清单
双11如何真正值得购买的好物呢?为了帮助大家把握住这次难得的购物良机,我们特别推出了这份“2024淘宝双11必买好物推荐清单”。这份清单涵盖数码电子、家居生活、个护健康等多个领域的优质产品。无论你是科技爱好者,还是注重生活品质的消费者…...

vue-cli,element-plus,axios,proxy
一、vue-cli vue-cli俗称vue脚手架,是vue官方提供的快速生成vue 工程化项目的工具。 1.官网:https://cn.vuejs.org/ 中文官网: https://cli.vuejs.org/zh/ 特点:基于webpack,功能丰富且易于扩展,支持创建vue2和vu…...

《Zeotero的学习》
学习视频链接 Zeotera的安装 官网点击download,选择合适的版本进行下载,并安装插件。 下载完成之后,点击安装包,一路默认就可以。如果不想下载在C盘,可以在步骤中选择自定义路径。 Zeotero的注册 官网进行注册&am…...
大数据复习知识点1
1、HDFS和MapReduce的起源:HDFS起源于Google的GFS论文,它是为了解决大规模数据集的存储问题而设计的。而MapReduce则是Google为了解决大规模数据处理问题而提出的一种并行计算模型。 2、YARN的作用:YARN是Hadoop的资源管理器,它负…...

9.26 Buu俩题解
[CISCN2019 华东北赛区]Web2 看wp写完之后写的 知识点 存储型XSS与过滤绕过sql注入 题解 好几个页面,存在登录框可以注册,存在管理员页面(admin.php) ->既然存在管理员页面,且直接访问admin.php提示我们 说明存在身份验证࿰…...

Mitsuba 渲染基础
Mitsuba 渲染基础 0. Abstract1. 安装 Mitsuba21.1 下载 Mitsuba2 源码1.2 选择后端 (variants)1.3 编译 2. [Mitsuba2PointCloudRenderer](https://github.com/tolgabirdal/Mitsuba2PointCloudRenderer)2.1 Mitsuba2 渲染 XML2.2 Scene 场景的 XML 文件格式2.2.1 chair.npy to…...
深入理解 WebSocket:实时通信的利器
深入理解 WebSocket:实时通信的利器 1. 什么是 WebSocket? WebSocket 是一种网络通信协议,它允许服务器和客户端之间建立持久的双向通信通道,适用于高频率、低延迟的数据交换场景。在传统的 HTTP 通信中,每次请求都需…...

OpenEuler配置本地yum源
0x00 服务器版本 将本地镜像传输至服务器 操作步骤如下 # 创建一个目录用于挂载光盘映像 mkdir /media/cdrom/# 将光盘映像挂载到指定目录 mount /kvm/openeuler.iso /media/cdrom/#进入Yum仓库配置目录 cd /etc/yum.repos.d/# 备份原有的 openEuler.repo 文件 mv openEuler.…...

论文不同写作风格下的ChatGPT提示词分享
学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 在学术论文写作中,不同的写作风格能显著影响文章的表达效果与读者的理解。无论是描述性、分析性、论证性,还是批判性写作风格,合理选择和运用恰当的写…...

单点登录(SSO)基础
单点登录(SSO, Single Sign-On) 是一种身份认证机制,允许用户在多个独立的应用系统中只进行一次登录操作,即可访问所有授权的应用或服务,而无需每次切换应用时都进行登录。SSO 提高了用户体验的便捷性,同时…...

设置VsCode搜索时排除文件,文件列表中隐藏文件
按照《VsCode gdb gdbserver远程调试C程序》中介绍的方法,配置好VsCode后,打开一个C/C工程,发现左侧的面板会显示编译时生成的中间文件(比如.d和.o文件)。我们可以通过设置隐藏掉一些我们不需要打开的文件以简洁面板…...

急!现在转大模型还来得及吗?零基础入门到精通,收藏这一篇就够了
大模型的出现,让行内和行外大多数人都感到非常焦虑。 行外很多人想了解却感到无从下手,行内很多人苦于没有硬件条件无法尝试。想转大模型方向,相关的招聘虽然层出不穷,但一般都要求有大模型经验。而更多的人,则一直处…...

使用 lstm + crf 实现NER
条件随机场CRF 前言 CRF是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布的模型。特点:假设输出随机变量构成马尔卡夫随机场。CRF可以用于不同的预测问题。但是主要讨论线性链条件随机场,这时问题变成了由输入序列对输出序列的判别模型&…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...