【2023工业3D异常检测文献】CPMF: 基于手工制作PCD描述符和深度学习IAD结合的AD方法

Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection

1、Background

早期的点云异常检测(PCD)表示是手工制作的,依赖于启发式设计 。随着深度学习的发展,最近的方法采用了基于学习的PCD特征。尽管与基线相比有相当大的改进,但其性能仍然很差。BTF揭示了PCD异常检测中特征描述性的重要性。与预期相反,结果表明,经典的手工制作PCD描述符优于基于学习的预训练特征

BTF将这种现象归因于目标对象和预训练数据集之间的域分布差距,导致预训练的PCD特征转移能力低。然而,尽管经典的手工特征取得了令人印象深刻的性能,但它们仅限于使用局部结构信息,无法访问全局语义上下文。由于全局语义上下文在检测语义异常中至关重要,将其与手工特征的几何建模能力结合起来可能会带来改进。

本研究提出了一种统一的PCD表示方法,即互补的伪多模态特征(CPMF),以充分利用PCD中的局部几何结构和全局语义上下文。该方法基于手工制作的PCD描述符,进一步利用生成的伪2D模态中的描述性预训练2D神经网络来丰富PCD描述符的语义内容。

在技术上,对于3D模态特征提取,CPMF利用经典的手工描述符来捕获PCD中的精确局部几何信息 。进一步结合了2D模态特征提取模块,该模块利用预训练的2D神经网络的高级描述能力来开发和补充PCD中隐藏的语义信息。具体来说,该模块利用3D到2D的投影和渲染将原始3D PCD转换为包含多视图2D图像的伪2D模态 。然后该模块利用预训练的2D神经网络来提取这些多视图图像的强大语义特征图。随后,在2D到3D的对齐和聚合过程中,根据各个视图中的2D-3D投影对应关系,将特征图映射到点状特征。这些单视图点状特征进一步聚合以获得最终的2D模态点状特征,这些特征来自不同视图的线索。

提取的3D和2D模态特征具有高度的互补性,因为1) 3D手工特征擅长描述局部结构,但不能利用全局语义信息。2) 2D预训练网络包含来自大规模图像数据集的深刻知识,并且能够捕获语义属性,但无法精确表示局部结构。因此,CPMF开发了一个聚合模块来融合3D和2D模态特征,并获得了包含全局语义和局部几何信息的特征。

2、Method

CPMF算法框架:

  • 3D模态特征提取器
    • 使用手工制作的描述符(如FPFH)直接从3D点云中提取局部几何信息。这些描述符能够捕捉点云中每个点周围的局部结构特征。
  • 2D模态特征提取器
    • 3D到2D投影和渲染:将原始的3D点云从不同角度投影并渲染成多视图2D图像。
    • 预训练特征图提取:利用预训练的2D神经网络(如ResNet)提取这些多视图图像的特征图。
    • 2D到3D对齐和聚合:将2D特征图映射回3D空间,得到点状的2D模态特征。然后,对不同视图的点状特征进行聚合,得到最终的2D模态特征。
  • 特征聚合
    • 将3D模态特征和2D模态特征进行归一化处理,然后进行融合,得到互补的伪多模态特征。这样,特征既包含了局部的几何信息,又包含了全局的语义信息。
  • 异常检测
    • 使用PatchCore方法,通过最近邻搜索来计算测试点云的异常分数。
    • 训练阶段:使用正常点云数据构建记忆库,存储训练数据的CPMF特征。
    • 测试阶段:提取测试点云的CPMF特征,并通过与记忆库中的特征进行比较,计算每个点的异常分数。

pseudo-code

python 复制代码
# 输入:点云数据 PCD
# 输出:异常分数列表 anomaly_scores

# 步骤1:预处理点云数据
def preprocess(PCD):
    # 去除背景和噪声
    cleaned_PCD = remove_background_and_noise(PCD)
    return cleaned_PCD

# 步骤2:3D模态特征提取
def extract_3D_features(PCD):
    # 使用手工制作的3D点云描述符提取特征
    return handcrafted_descriptors(PCD)

# 步骤3:2D模态特征提取
def extract_2D_features(PCD):
    # 渲染点云为多视图2D图像
    multiview_images = render_multiview(PCD)
    
    # 使用预训练的2D神经网络提取语义特征
    semantic_features = extract_semantic_features(multiview_images)
    return semantic_features

# 步骤4:特征聚合
def aggregate_features(geo_features, semantic_features):
    # 归一化并聚合3D和2D模态特征
    normalized_geo_features = normalize(geo_features)
    normalized_semantic_features = normalize(semantic_features)
    
    # 融合特征
    aggregated_features = concatenate(normalized_geo_features, normalized_semantic_features)
    return aggregated_features

# 步骤5:异常检测
def anomaly_detection(aggregated_features, memory_bank):
    # 使用最近邻搜索计算异常分数
    anomaly_scores = calculate_anomaly_scores(aggregated_features, memory_bank)
    return anomaly_scores

# 主流程
def CPMF(PCD):
    cleaned_PCD = preprocess(PCD)
    
    # 提取3D和2D模态特征
    geo_features = extract_3D_features(cleaned_PCD)
    semantic_features = extract_2D_features(cleaned_PCD)
    
    # 聚合特征
    aggregated_features = aggregate_features(geo_features, semantic_features)
    
    # 训练阶段:构建记忆库
    memory_bank = build_memory_bank(geo_features)
    
    # 测试阶段:异常检测
    anomaly_scores = anomaly_detection(aggregated_features, memory_bank)
    return anomaly_scores

# 使用CPMF方法进行异常检测
anomaly_scores = CPMF(raw_PCD_data)

3、Experiments

🐂🐎。。。

4、Conclusion

提出了互补的伪多模态特征(CPMF)的点云异常检测方法,CPMF结合了复杂的手工制作的PCD描述符和最近开发的预训练2D神经网络的描述性特征,以全面描述PCD数据。

具体来说,手工制作的PCD描述符直接应用于3D模态以提取局部几何信息。为了利用预训练的2D神经网络,CPMF开发了一个2D模态特征提取模块。该模块通过3D到2D的投影和渲染将PCD数据渲染成多视图图像。然后它使用预训练的2D神经网络提取图像特征图,这些特征图随后被对齐和聚合以获得最终的2D模态特征,包含丰富的全局语义。由3D和2D模态特征组成的CPMF特征利用了局部几何和全局语义线索,提供了更好的描述性。

相关推荐
数据分析能量站1 分钟前
神经网络-DenseNet
人工智能·深度学习·神经网络
EterNity_TiMe_11 分钟前
【论文复现】农作物病害分类(Web端实现)
前端·人工智能·python·机器学习·分类·数据挖掘
深蓝海拓29 分钟前
使用sam进行零样本、零学习的分割实践
人工智能·深度学习·学习·目标检测·计算机视觉
minstbe1 小时前
AI开发:决策树模型概述与实现:从训练到评估和可视化 - Python
python·深度学习·知识图谱·集成学习
SmartBrain1 小时前
AI新书推荐:深度学习和大模型原理与实践(清华社)
人工智能·深度学习
z千鑫2 小时前
【AIGC】AI、大数据、机器学习、深度学习、神经网络之间的关系详解:你必须知道的5个关键点!
人工智能·深度学习·机器学习
金书世界2 小时前
自动驾驶AVM环视算法--python版本的车轮投影模式
人工智能·机器学习·自动驾驶
Kai HVZ2 小时前
《机器学习》——利用OpenCV库中的KNN算法进行图像识别
opencv·算法·机器学习
jimumeta2 小时前
元宇宙在教育行业主要有哪些应用场景?
3d·元宇宙·虚拟现实·教育
itwangyang5203 小时前
AIDD - 基于多层图注意力神经网络的药物-靶点相互作用预测模型研究
人工智能·深度学习·机器学习