【2023工业3D异常检测文献】PointCore: 基于局部-全局特征的高效无监督点云异常检测器

PointCore: Efficient Unsupervised Point Cloud
Anomaly Detector Using Local-Global Features

1、Background

当前的点云异常检测器可以分为两类:

(1)基于重建的方法,通过自动编码器重建输入点云数据,并通过比较原始数据和重建数据之间的偏差来识别异常。然而,这些方法对点云的分辨率敏感,导致推理速度慢和精度差。

(2)基于记忆库的方法,记忆库有助于存储代表性特征,隐式构建正常分布并寻找分布外的缺陷。与前者相比,直接使用预训练的特征提取器构建记忆库具有训练速度快且不受点云分辨率影响的优点。此外,现有的点云异常检测器通常采用多个特征记忆库来充分保留局部和全局表示,这导致了计算复杂度高和特征不匹配的问题。

为了解决上述问题,提出了一个基于联合局部-全局特征的无监督点云异常检测框架,称为PointCore。具体来说,总结如下:

(1)PointCore只需要一个记忆库来存储局部-全局表示,并为这些局部-全局特征分配不同的优先级,以减少推理过程中的计算成本和不匹配干扰。

(2)提出了一种基于排名的归一化方法,以消除各种异常分数之间的分布差异,并应用点对平面迭代最近点(point-plane ICP)算法对点云注册结果进行局部优化,以实现稳健的决策。

2、Method

PointCore 算法流程:

  • 全局注册将所有点云数据统一到一个共同的坐标系统中。
    • 选择参考点云:首先选择一个点云作为参考,其他点云将与它进行对比。
    • 计算旋转和平移:使用算法(如迭代最近点算法或特征匹配算法)计算出其他点云相对于参考点云的旋转矩阵和平移向量。
    • 应用变换:将这些变换应用到其他点云上,使它们在空间中的位置和方向与参考点云一致。
  • 局部优化在全局注册的基础上进行,它对点云进行更精细的调整 ,确保点云的局部特征能够精确对齐。
    • 选择局部特征点:在点云中选择一些具有明显特征的点,如角点、边缘点等。
    • 计算局部变换:计算这些特征点之间的距离和方向,确定需要进行的微小旋转和平移,以使它们更好地对齐。
    • 迭代优化:通过迭代过程不断调整这些局部特征点的位置,直到达到预定的精度。
  • 特征提取
    • 使用预训练的PointMAE(点自编码器)特征提取器,从点云中提取PointMAE特征。
  • 构建记忆库
    • 将点云的坐标和提取的PointMAE特征结合起来,形成记忆库。这个记忆库用来存储正常点云的特征,以便后续比较。
  • 推理模块
    • 当有新的点云数据需要检测时,我们同样提取这些点云的坐标和PointMAE特征。
    • 然后,计算新点云中每个点与记忆库中存储的正常点云特征之间的差异。
    • 计算异常分数:通过比较新点云与记忆库中的特征差异,计算每个点的异常分数。这个分数表示该点与正常点云的差异程度。
    • 定位异常区域:根据计算出的异常分数,我们可以确定新点云中哪些区域可能是异常的。

在这里插入图片描述

pseudo-code

# 定义全局和局部注册函数
function register_point_clouds(point_clouds):
    for each point_cloud in point_clouds:
        global_registration(point_cloud)
        local_optimization(point_cloud)
    return registered_point_clouds

# 全局注册
function global_registration(point_cloud):
    # 使用FPFH特征描述符和RANSAC算法进行全局注册
    return transformed_point_cloud

# 局部优化
function local_optimization(point_cloud):
    # 使用点-平面ICP算法进行局部优化
    return optimized_point_cloud

# 定义特征提取函数
function extract_features(registered_point_clouds):
    features = []
    for point_cloud in registered_point_clouds:
        coordinates = sample_coordinates(point_cloud)
        pointMAE_features = pointMAE_extractor(coordinates)
        features.append((coordinates, pointMAE_features))
    return features

# 坐标采样
function sample_coordinates(point_cloud):
    # 使用贪婪算法对点云进行下采样
    return sampled_coordinates

# 使用PointMAE提取特征
function pointMAE_extractor(coordinates):
    # 使用预训练的PointMAE模型提取特征
    return extracted_features

# 定义推理和异常分数计算函数
function compute_anomaly_scores(features, test_point_cloud):
    memory_bank = construct_memory_bank(features)
    anomaly_scores = []
    for point in test_point_cloud:
        score = calculate_anomaly_score(memory_bank, point)
        anomaly_scores.append(score)
    return anomaly_scores

# 构建记忆库
function construct_memory_bank(features):
    # 将坐标和PointMAE特征结合,形成记忆库
    return memory_bank

# 计算异常分数
function calculate_anomaly_score(memory_bank, test_point):
    # 使用记忆库中的数据计算测试点的异常分数
    return anomaly_score

# 主流程
function main(train_point_clouds, test_point_cloud):
    registered_train = register_point_clouds(train_point_clouds)
    features = extract_features(registered_train)
    memory_bank = construct_memory_bank(features)
    anomaly_scores = compute_anomaly_scores(features, test_point_cloud)
    return anomaly_scores

3、Experiments

🐂🐎。。。

在这里插入图片描述

4、Conclusion

提出了 基于单个记忆库的局部-全局特征来存储输入点云的多尺度信息 的无监督点云异常检测器 PointCore

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

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

相关文章

07-阿里云镜像仓库

07-阿里云镜像仓库 注册阿里云 先注册一个阿里云账号:https://www.aliyun.com/ 进入容器镜像服务控制台 工作台》容器》容器服务》容器镜像服务 实例列表》个人实例 仓库管理》镜像仓库》命名空间》创建命名空间 仓库管理》镜像仓库》镜像仓库》创建镜像仓库 使…

【AI】深度学习的数学--核心公式

1 梯度下降 f ( x Δ x , y Δ y ) ≃ f ( x , y ) ∂ f ( x , y ) ∂ x Δ x ∂ f ( x , y ) ∂ y Δ y f(x\Delta x,y\Delta y) \simeq f(x,y)\frac{\partial f(x,y)}{\partial x}\Delta x\frac{\partial f(x,y)}{\partial y}\Delta y f(xΔx,yΔy)≃f(x,y)∂x∂f(x,y)​…

MySQL 性能剖析全攻略

在使用 MySQL 数据库的过程中,性能问题往往是让开发者和管理员头疼的难题。为了有效地解决这些问题,我们需要对 MySQL 进行性能剖析。那么,如何在 MySQL 中进行性能剖析呢?本文将为你详细介绍。 一、为什么要进行性能剖析&#x…

基于安卓开发大型体育场管理系统的设计与实现(源码+定制+讲解)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

《开题报告》基于SpringBoot框架的高校专业实习管理系统开题报告的设计与实现源码++学习文档+答辩讲解视频

开题报告 研究背景 在当今高等教育日益普及与深化的背景下,高校专业实习作为学生将理论知识转化为实践能力、提前适应社会工作环境的重要环节,其重要性不言而喻。然而,传统的高校专业实习管理模式往往存在信息不对称、流程繁琐、效率低下、…

SSM+Vue共享单车管理系统

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 spring-mybatis.xml3.5 spring-mvc.xml3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作…

代码随想录_刷题记录_第四次

二叉树 — 理论基础 种类: 满二叉树(所有层的节点都是满的,k:深度 节点数量:2^k - 1)完全二叉树(除了最后一层,其余层全满,并且最后一层从左到右连续)二叉搜…

信道衰落的公式

对于天线: 对于天线的面积计算: 天线的接收功率密度: 天线的接收功率: 移动无线信道(I) (xidian.edu.cn)https://web.xidian.edu.cn/zma/files/20150710_153736.pdf 更加常用的考虑了额外的信道衰落pathlo…

2024 maya的散布工具sppaint3d使用指南

目前工具其实可以分为三个版本 1 最老的原版 时间还是2011年的,只支持python2版的maya 2 作者python3更新版 后来作者看maya直到2022上还是没有类似好用方便的工具,于是更新到了2022版本 这个是原作者更新的2022版本,改成了python3&#…

敏感字段加密 - 华为OD统一考试(E卷)

2024华为OD机试(E卷+D卷+C卷)最新题库【超值优惠】Java/Python/C++合集 题目描述 【敏感字段加密】给定一个由多个命令字组成的命令字符串: 1、字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号; 2、命令字之间以一个或多个下划线 进行分割; 3、可…

Study-Oracle-10-ORALCE19C-RAC集群搭建(一)

一、硬件信息及配套软件 1、硬件设置 RAC集群虚拟机:CPU:2C、内存:10G、操作系统:50G Openfile数据存储:200G (10G*2) 2、网络设置 主机名公有地址私有地址VIP共享存储(SAN)rac1192.168.49.13110.10.10.20192.168.49.141192.168.49.130rac2192.168.49.13210.10.10.3…

单体到微服务架构服务演化过程

架构服务化 聊聊从单体到微服务架构服务演化过程 单体分层架构 在 Web 应用程序发展的早期,大部分工程是将所有的服务端功能模块打包到单个巨石型(Monolith)应用中,譬如很多企业的 Java 应用程序打包为 war 包,最终会形…

JSP(Java Server Pages)基础使用二

简单练习在jsp页面上输出出乘法口诀表 既然大家都是来看这种代码的人了&#xff0c;那么这种输出乘法口诀表的这种简单算法肯定是难不住大家了&#xff0c;所以这次主要是来说jsp的使用格式问题。 <%--Created by IntelliJ IDEA.User: ***Date: 2024/7/18Time: 11:26To ch…

线性表二——栈stack

第一题 #include<bits/stdc.h> using namespace std; stack<char> s; int n; string ced;//如何匹配 出现的右括号转换成同类型的左括号&#xff0c;方便我们直接和栈顶元素 char cheak(char c){if(c)) return (;if(c]) return [;if(c}) return {;return \0;/…

css边框修饰

一、设置线条样式 通过 border-style 属性设置&#xff0c;可选择的一些属性如下&#xff1a; dotted&#xff1a;点线 dashed&#xff1a;虚线 solid&#xff1a;实线 double&#xff1a;双实线 效果如下&#xff1a; 二、设置边框线宽度 ① 通过 border-width 整体设置…

【深度学习】深度卷积神经网络(AlexNet)

在 LeNet 提出后&#xff0c;卷积神经网络在计算机视觉和机器学习领域中很有名气&#xff0c;但并未起到主导作用。 这是因为 LeNet 在更大、更真实的数据集上训练的性能和可行性还有待研究。 事实上&#xff0c;在 20 世纪 90 年代到 2012 年之间的大部分时间里&#xff0c;…

时间技能物品竞品抢拍拍卖发布h5公众号小程序开源版开发

时间技能物品竞品抢拍拍卖发布h5公众号小程序开源版开发 利用新型营销方式&#xff0c;将闲置的物品通过拍卖&#xff0c;让价格一提再提让用户趣在其中&#xff0c;营造一种不一样的购物体验! 拍卖列表页 列表页采用多分类&#xff0c;广告轮播及流动公告和拍卖商品列表组成…

神经网络(二):卷积神经网络

文章目录 一、图像的本质1.1单通道图像&#xff1a;灰度图1.2多通道图像 二、卷积神经网络2.1基本结构2.2卷积层2.2.1卷积操作2.2.2填充padding2.2.3步幅strides2.2.4多通道图像卷积&#xff1a;单卷积核2.2.5多通道图像卷积&#xff1a;多卷积核2.2.5卷积层的参数与激活函数 2…

【qt】QQ仿真项目1

一览全局: QQ仿真项目 一.创建项目添加资源文件二.创建数据库三.自定义标题栏Qt类四.加载样式表标题栏按钮的搭配五.标题栏实现移动窗体六.标题栏按钮连接信号槽七.标题栏双击最大化和还原八.基类窗口实现标题栏按钮信号九.重写基类窗口绘图事件确保设置样式表生效十.用户登录界…

Leetcode 1235. 规划兼职工作

1.题目基本信息 1.1.题目描述 你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作&#xff0c;每份工作预计从 startTime[i] 开始到 endTime[i] 结束&#xff0c;报酬为 profit[i]。 给你一份兼职工作表&#xff0c;包含开始时间 startTime&#xff0c;结束时…