【2022工业3D异常检测文献】Patch+FPFH: 结合3D手工点云描述符和颜色特征的异常检测方法

AN EMPIRICAL INVESTIGATION OF 3D ANOMALY DETECTION AND SEGMENTATION

1、Background

PatchCore 方法:

  • PatchCore是一种基于2D图像的异常检测方法,它使用预训练的深度学习模型(如在ImageNet上预训练的模型)来提取图像的局部特征。
  • 这些特征随后用于训练一个异常评分模型,通常是通过计算特征向量与正常训练数据集的最近邻距离来实现。
  • PatchCore 在2D图像的异常检测和分割任务中表现出色。

FPFH 方法:

  • FPFH(Fast Point Feature Histograms)是一种用于3D点云数据的特征描述符,它描述了点云中每个点的局部形状特征。
  • FPFH 通过计算点的k-最近邻,然后基于邻居点的位置和表面法线生成一个直方图特征来工作。
  • 这种方法对于3D物体的识别和分析非常有效,尤其是在机器人和计算机视觉领域。

结合 PatchCore 和 FPFH:

  • 将这两种方法结合起来可以 充分利用2D颜色信息和3D几何信息的优势。
  • 具体来说, FPFH用于提取3D点云的几何特征,而PatchCore用于处理与颜色和纹理相关的2D图像特征。
  • 这两种特征被结合起来,作为一个更丰富的表示输入到异常检测模型中,以提高检测和分割的准确性。

2、Method

算法流程:

  • 数据预处理:
    • 3D点云和RGB图像获取:对于每个工业产品,获取相应的3D点云和RGB图像。
    • 背景和噪声移除:使用RANSAC算法移除背景平面,并使用DB-Scan算法移除点云中的离群点。
  • 特征提取:
    • PatchCore特征提取:
      • 对RGB图像应用预训练的卷积神经网络(如ImageNet预训练的WideResNet50)。
      • 从网络的不同层(如块2和块3的聚合输出)提取局部区域(patch)的特征。
        这些特征用于表示图像的局部区域。
    • FPFH特征提取:
      • 对3D点云应用FPFH算法,计算每个点的局部几何特征。
      • FPFH描述符通过考虑点的k-最近邻和表面法线生成直方图特征。
  • 特征组合:
    • 将PatchCore提取的颜色特征和FPFH提取的几何特征进行拼接(concatenation)。
    • 这样,每个局部区域都由一组综合了2D颜色信息和3D几何信息的特征向量表示。
  • 异常评分:
    • 使用k-最近邻(k-NN)算法计算每个局部区域特征向量与正常训练数据集的最近邻距离。
    • 根据最近邻距离为每个局部区域分配异常得分。
  • 异常分割和检测:
    • 像素级异常分割(Pixel-wise Anomaly Segmentation):
      • 根据计算出的异常得分,确定每个像素是否为异常。
      • 分数高于某个阈值的像素被认为是异常。
    • 样本级异常检测(Sample-wise Anomaly Detection):
      • 对于整个图像或点云,基于局部区域中最异常的得分来确定是否为异常样本。
  • 评估:
    • 使用I-ROC(图像级别的ROC曲线)、P-ROC(像素级别的ROC曲线)和PRO(预测与真实标注的重叠度量)等指标评估模型的性能。

开始 数据预处理 PatchCore特征提取 FPFH特征提取 特征组合 异常评分 异常分割和检测 评估 结束

pseudo-code

python 复制代码
# 导入必要的库
import PatchCore
import FPFH
import preprocessor
import feature_combiner
import anomaly_detector

# 步骤1: 数据预处理
def preprocess(data):
    point_cloud, rgb_image = data
    point_cloud = preprocessor.remove_background(point_cloud)
    point_cloud = preprocessor.remove_outliers(point_cloud)
    return point_cloud, rgb_image

# 步骤2: PatchCore特征提取
def extract_patchcore_features(rgb_image):
    features = PatchCore.extract_features(rgb_image)
    return features

# 步骤3: FPFH特征提取
def extract_fpfh_features(point_cloud):
    features = FPFH.compute_descriptors(point_cloud)
    return features

# 步骤4: 特征组合
def combine_features(patchcore_features, fpfh_features):
    combined_features = feature_combiner.concatenate(patchcore_features, fpfh_features)
    return combined_features

# 步骤5: 异常评分
def score_anomalies(combined_features, training_data):
    scores = anomaly_detector.k_nearest_neighbor(combined_features, training_data)
    return scores

# 步骤6: 异常分割和检测
def segment_and_detect(scores, threshold):
    segmented_output = anomaly_detector.segment(scores, threshold)
    detected_output = anomaly_detector.detect(scores, threshold)
    return segmented_output, detected_output

# 主流程
def main(data, training_data, threshold):
    # 数据预处理
    point_cloud, rgb_image = preprocess(data)
    
    # 特征提取
    patchcore_features = extract_patchcore_features(rgb_image)
    fpfh_features = extract_fpfh_features(point_cloud)
    
    # 特征组合
    combined_features = combine_features(patchcore_features, fpfh_features)
    
    # 异常评分
    scores = score_anomalies(combined_features, training_data)
    
    # 异常分割和检测
    segmented_output, detected_output = segment_and_detect(scores, threshold)
    
    return segmented_output, detected_output

3、Experiments

4、Conclusion

提出了 结合3D手工点云描述符和颜色特征的异常检测方法,即PatchCore+FPFH

相关推荐
让学习成为一种生活方式34 分钟前
EviAnn v2.0.5 安装与使用--生信工具111
机器学习
Jialu.1 小时前
从 102M 到 34M:BERT 到 BiLSTM 的完整知识蒸馏实现
深度学习·nlp·bert
haluhalu.1 小时前
机器学习概念
人工智能·机器学习
YOLO数据集集合1 小时前
排球动作识别数据集 | 排球动作 体育分析 动作识别9041期
深度学习·数据集·动作识别·排球动作识别·运动动作识别·体育分析·排球动作
Mid_search2 小时前
高估问题、Target Network、Double DQN
人工智能·深度学习·强化学习·double dqn·bootstrapping·target network
YOLO数据集集合2 小时前
隧道病害检测数据集 | 隧道检测 裂缝识别 渗水监测 剥落检测9037期
人工智能·深度学习·yolo·隧道·裂缝检测·裂缝识别·隧道病害
月华路3 小时前
《模型不玄学》小白的模型算法实战手册 - 前言
人工智能·机器学习
飞Link3 小时前
动作方法中的分割与过度分割方法全解析(含代码实战与踩坑案例)
人工智能·python·算法·计算机视觉
江畔柳前堤3 小时前
具身智能全景深度指南(2026年9月版):从“会聊天的AI“到“能干活的机器“
大数据·javascript·图像处理·人工智能·分布式·智慧城市·原型模式
张继雁4 小时前
不同类型磨削液使用安全注意事项
人工智能·深度学习·安全·业界资讯·远程工作·空间计算