工业异常检测-CVPR2024-新的3D异常数据合成办法和自监督网络IMRNet

论文:https://arxiv.org/pdf/2311.14897v3.pdf

项目:https://github.com/chopper-233/anomaly-shapenet

这篇论文主要关注的是3D异常检测和定位,这是一个在工业质量检查中至关重要的任务。作者们提出了一种新的方法来合成3D异常数据,并开发了一个自我监督学习网络以提升3D点云异常检测的可扩展性和效果。

1 论文的核心观点

  • 数据集缺乏:当前3D异常检测模型的可扩展性受到真实世界3D异常数据稀缺的限制。
  • 提出新方法:为了克服这个问题,作者提出了一个3D异常合成步骤,并创建了一个名为Anomaly-ShapeNet的新基准数据集。
  • 自监督学习网络:同时,他们还提出了一个基于迭代掩码重建的自监督学习网络(IMRNet),用于3D异常检测和定位。

2 创新点

  • 3D异常合成:提出了一个新颖的3D异常合成流程,极大地丰富了3D异常检测的数据多样性。
  • IMRNet框架:引入了一种全新的自监督学习方法,特别是针对3D点云异常检测设计的迭代掩码重建机制。
  • 几何感知采样:在点云处理中加入了对几何结构的理解,有助于更准确地捕捉异常结构。
  • 性能优越:实验表明IMRNet在Anomaly-ShapeNet和Real3D-AD两个数据集上的表现优于现有最先进的方法,分别达到了66.1%和72.5%的I-AUC得分。

3 方法论

3.1 数据集构建

通过改进现有的大规模3D模型数据集,如ShapeNet,作者构建了合成数据集Anomaly-ShapeNet,该数据集包括40个类别的1600个点云样本,每个样本包含8000到30,000个点。

数据集中包含了六种典型的异常类型:鼓包、凹陷、孔洞、断裂、弯曲和裂缝,这些异常占整个点云的1%至10%。

点云精炼模块

由于ShapeNet数据集中某些点云的点数和面数有限,作者开发了一个点云精炼模块以增加这些点云的细节。

引入缺陷

使用Blender软件(一种在工业设计领域广泛应用的开源软件),作者可以进行各种操作如雕塑、细化、裁剪和编辑模式来创建多种类型的缺陷。这使得所合成的异常更加真实。

获取真值

在获得异常样本后,使用CloudCompare软件(一种点编辑工具)来提取3D异常的标注区域。

3.2 IMRNet架构

IMRNet由三个模块组成:

几何感知采样模块(GPS):确保在点云降采样过程中保留潜在的异常局部区域。

块状点掩码重建网络(PMR):随机遮挡块状点并送入自动编码器进行基于重建的自我监督训练。

密集特征连接与比较模块(DFC):将最终重建的点云与初始输入合并对比,成功定位异常。

4. 训练流程和测试流程

训练流程:标准的训练点云最初使用几何感知的点云采样(GPS)模块转换为块状点格式,形成多个块状点云组。在此之后,随机掩蔽应用于块状点,然后由一个基于自动编码器的变压器和一个轻量级预测头组成的网络重建,在自监督范式下工作,重建遮挡的块状点云。在训练阶段,利用Chamfer Distance l2 损失进行监督学习。

测试流程:对输入点云进行一个镜像训练过程的重建过程。将重建后的点云作为多次迭代的输入,循环反馈到重建网络中。最终,在重建的点云与原始点云和特征水平上进行比较分析,得到最终的异常得分图

5 检测效果

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

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

相关文章

debian ubuntu armbian部署asp.net core 项目 开机自启动

我本地的环境是 rk3399机器,安装armbian系统。 1.安装.net core 组件 sudo apt-get update && \sudo apt-get install -y dotnet-sdk-8.0或者安装运行库,但无法生成编译项目 sudo apt-get update && \sudo apt-get install -y aspnet…

qt QNetworkAccessManager详解

1、概述 QNetworkAccessManager是QtNetwork模块中的一个核心类,它允许应用程序发送网络请求并接收响应。该类是网络通信的基石,提供了一种方便的方式来处理常见的网络协议,如HTTP、HTTPS等。QNetworkAccessManager对象持有其发送的请求的通用…

21、结构体成员分布

结构体中的成员并不是紧挨着分布的,内存分布遵循字节对齐的原则。 按照成员定义的顺序,遵循字节对齐的原则存储。 字节对齐的原则: 找成员中占据字节数最大的成员,以它为单位进行空间空配 --- 遇到数组看元素的类型 每一个成员距离…

前端基础——CSS

美化文档 HTML内部添加样式 本节我们来学习如何在标签中引入CSS样式。 1 在标签中添加声明 声明的关键字是style后接等号&#xff08;&#xff09;再接引号&#xff08;""&#xff09;&#xff0c;即style"" 具体声明如下&#xff1a; <input typ…

WPS解决Word文件引入excel对象文件无法打开提示“不能启动此对象...”的问题

一、问题现象 接收到了一份 Word文件&#xff0c;里面引入了一个Excel对象文件&#xff0c;双击时候&#xff0c;wps出现卡顿&#xff0c;过一会之后弹出错误提示&#xff1a;不能启动此对象... 二、解决方法 1.点击WPS左上角图标&#xff0c;并打开右上角设置&#xff0c;萱蕚…

在 Linux 系统中,可以使用以下简单快捷的方法来模拟 CPU 负载

在 Linux 系统中&#xff0c;可以使用以下简单快捷的方法来模拟 CPU 负载&#xff1a; 1. 使用 stress 工具 stress 是一个专门用于压力测试的工具&#xff0c;可以模拟 CPU、内存、I/O 等负载。 安装 stress&#xff1a; # Debian/Ubuntu 系统 sudo apt-get install stres…

spring下的beanutils.copyProperties实现深拷贝

spring下的beanutils.copyProperties方法是深拷贝还是浅拷贝&#xff1f;可以实现深拷贝吗&#xff1f; 答案&#xff1a;浅拷贝。 一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中&#xff0c;对于BeanUtils.copyProperties来说&#xff0c;你必须保…

【SpringBoot项目拆分】

背景&#xff1a;两个项目都使用相同了的底层方法&#xff0c;每次变更都需要修改两个项目&#xff0c;所以就考虑是否可以抽出来一个单独的项目来维护这些底层方法。 在网上找了很多发现都是新建module的&#xff0c;这种方法适合一个项目内部优化结构&#xff0c;不适合两个…

3GPP R18 LTM(L1/L2 Triggered Mobility)是什么鬼?(三) RACH-less LTM cell switch

这篇看下RACH-less LTM cell switch。 相比于RACH-based LTM,RACH-less LTM在进行LTM cell switch之前就要先知道target cell的TA信息,进而才能进行RACH-less过程,这里一般可以通过UE自行测量或者通过RA过程获取,而这里的RA一般是通过PDCCH order过程触发。根据38.300中的描…

Ansible 运维工具

安装 apt install ansible /etc/ansible/hosts , 指定密码或密钥访问分组机器 [k8s_masters] master0.c0.k8s.sb[k8s_nodes] node0.c0.k8s.sb node1.c0.k8s.sb[k8s:children] k8s_masters k8s_nodes[k8s_masters:vars] ansible_ssh_usersbadmin ansible_ssh_pass"***&q…

C++的Find算法用法,

在 C 中&#xff0c;可以使用 std::map 统计值出现次数为 2 的键。具体步骤如下&#xff1a; 遍历 std::map&#xff0c;找出所有值为 2 的键。使用条件语句检查每个值&#xff0c;符合条件时记录对应键。 #include <iostream> #include <map> #include <vect…

《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包

目录 一、常见的压缩包的扩展名 二、常见的压缩和解压指令 1、tar 2、tar gzip&#xff08;.tar.gz&#xff09; (或 .tgz) 3、tar bzip2&#xff08;.tar.bz2&#xff09; 4、zip 5、gzip 6、bzip2 7、xz 8、rar 9、7z 三、安装解压工具 一、常见的压缩包的扩展…

基于springboot的音乐网站的设计与实现

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 音乐网站 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了音乐网站的开发全过程。通过分析音乐网站管理的不足&#xff0c;创建了一个计…

【软考速通笔记】系统架构设计师⑲——专业英语

文章目录 一、前言二、常用名词三、架构风格四、非功能需求五、应用架构六、软件架构重用 一、前言 笔记目录大纲请查阅&#xff1a;【软考速通笔记】系统架构设计师——导读 二、常用名词 名词翻译architecture架构system系统design设计requirements需求components组件constr…

三菱JET伺服CC-Link IE现场网络Basic链接软元件(RYn/RXn)(RWwn/RWrn)

链接软元件(RYn/RXn) 要点 在循环通信中对主站发送给伺服放大器的请求(RYn及RWwn)设定了范围外的值时&#xff0c;将无法反映设定内容。 循环通信的请求报文与响应报文的收发数据被换读为伺服放大器的对象数据(RYn、RXn)。 响应报文的设定值可进行变更。变更初始设定值时&…

WPF中的VisualState(视觉状态)

以前在设置控件样式或自定义控件时&#xff0c;都是使用触发器来进行样式更改。触发器可以在属性值发生更改时启动操作。 像这样&#xff1a; <Style TargetType"ListBoxItem"><Setter Property"Opacity" Value"0.5" /><Setter …

ARINC 标准全解析:航空电子领域多系列标准的核心内容、应用与重要意义

ARINC标准概述 ARINC标准是航空电子领域一系列重要的标准规范&#xff0c;由航空电子工程委员会&#xff08;AEEC&#xff09;编制&#xff0c;众多航空公司等参与支持。这些标准涵盖了从飞机设备安装、数据传输到航空电子设备功能等众多方面&#xff0c;确保航空电子系统的兼…

用golang简单做一个内网穿透小工具!

一个个人需求&#xff0c;需要简单的穿透一下 家里的电脑&#xff0c;也不需要多稳定&#xff0c;也没有并发。然后 通过http可以访问到内网的 一个网站&#xff0c; 因为服务端 是linux 系统 &#xff0c;内网是 windows10服务器 所以 就采用 用golang这个语言来实现&#xff…

Android Studio 历史版本下载

Android Studio 历史版本下载 官方链接&#xff1a;https://developer.android.google.cn/studio/archive 通过gradle插件版本反查Android Studio历史版本 Android Studio Ladybug | 2024.2.1 October 1, 2024 【https://redirector.gvt1.com/edgedl/android/studio/ide-zip…