基于标准化流的3D点云异常检测方法构想
基于标准化流的3D点云异常检测方法构想
问题:question::
- 现有的数据集貌似针对单个物体只有一处异常(瑕疵),虽然异常种类有很多。
现在的主流方法:pushpin:
- 基于特征学习对比的方法:从包含大量正样本的训练集中提取特征,构建存储代表特征的memory bank,在推理的时候,将待检测的输入特征编码后和memory bank(bag of feature)中的代表特征逐一对比。
- 基于重建自监督的方法:数据集中只包含正常样本,对正常的样本进行随机处理,得到异常的样本,训练一个重建的网络,将异常样本恢复得到正常样本。在推理的时候,将待检测的输入点云送入训练好的重建网络得到重建输出点云,然后将输入点云和重建输出点云进行对比,异常检测分割。
问题假设
假设待检测的输入点云是完整干净的三维点云和异常信号噪声的一个联合分布(缺陷也可以视为一种噪声,在原本应该由正常点云占用的空间,将其遮盖吞噬)。
方法
点云去噪的思路是使用概率分布的方法对三维点云和噪声的联合特征作过滤,将点云去噪问题转化为从噪声点云的高维特征中分离或过滤出无噪声的点特征。从信号处理的角度解释,即无噪声的点云和噪声可以类比为信号的低频和高频信号,要恢复出光滑的信号,需要过滤掉高频信息,并使用低频信息恢复信号,因为低频信号往往编码了原始信号的主要特征。(杜师兄论文)
而点云异常检测可以视作点云去噪的对立操作,即从噪声点云的高维特征中分离或过滤出噪声,噪声对物体带来异常信号,对其进行检测分割操作便可检测得到异常。
问题:question::
如果输入的检测点云是正样本(不包含异常),怎么办?
- 学习关于噪声点云的分布,并把该点云转化(编码)为隐式表示
- 从噪声的隐式表示中过滤得到噪声因子
- 将上一步得到的噪声隐式表示恢复解码成三维点云。
使用标准化流来拟合点云在欧拉空间和隐空间之间的映射。
- 通过标准化流的正向传播把它转换为隐变量
- 过滤得到异常信号的噪声因子,进行标注
- 通过标准化流的逆向传播将隐变量从隐空间转换回欧拉空间,得到异常分割后的点云
特点
- 隐空间可分离,通道之间互相独立,正向f能把噪声因子和干净点云的本质结构编码到分离的通道(噪声是由部分的通道控制的),维度增强模块给点云增加额外的通道数
- 标准化流可逆&无损,一一对应,标注->分割,无需训练decoder网络
- 编码和解码使用一个统一架构来实现,网络共享正向和逆向传播的参数,使得网络参数量更小
问题:question::如何将正常信号和异常信号进行分离?
流程
- 类似于ShapeNet-Anomaly,在训练中,将ShapeNet中的完整点云,添加异常信号噪声,并采用数据增强技术,生成训练数据对。
- 对输入的数据分patch,各个patch之间批量处理,GPU并行处理,增加训练速度
问题:question::点云去噪网络中,最终推理的时候,分patch去噪完成后,多个patch合并后还会经过下采样,下采样对异常检测的标准有影响。
问题:question::在去噪中,噪声可以看作是围绕干净点云的高斯分布,但是在点云异常检测中,异常部分的点云可以看成是高斯分布吗?[点云语义分割的方法?]
问题:怎么计算异常分数,对于没有异常的点云?
现有基于流模型的图像上的异常检测工作
基于流模型的方法使用学习分布和flow的双射特性来发现缺陷。
- DifferNet【WACV2021】: Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows
- Cflow-ad【WACV2022】: Real-time unsupervised anomaly detection with localization via conditional normalizing flows.
- U-flow[arXiv preprint (2022) ]: A u-shaped normalizing flow for anomaly detection with unsupervised threshold.
- Fastflow: Unsupervised anomaly detection and localization via 2d normalizing flows.
基于标准化流的3D点云异常检测方法构想
https://jetthuang.top/所有/基于标准化流的3D点云异常检测方法构想/