【点云系列】PointAugment: an Auto-Augmentation Framework for Point Cloud Classification
文章目录
-
1 简介
-
2 Motivation
-
3 思想
-
4 算法
-
- 4.1 增强器
- 4.2 增强器损失
- 4.3 分类器及损失
-
5 实验结果
-
6 总结
1 简介
题目:PointAugment: an Auto-Augmentation Framework for Point Cloud Classification
论文:https://arxiv.org/pdf/2002.10876.pdf
代码:https://github.com/liruihui/PointAugment/
2 Motivation
传统的增强策略是在很小范围内随机扰动,缩放和旋转输入。类似的方法对于2D数据有效,但对3D还不够。其中,形状变换和点位移决定了3D中的物体,因此主要是对形状变换和位移来做学习。
-
Sample-aware。考虑到每个样本的几何结构,为每个样本回归其特定增强函数。而非通用增强策略
-
2D vs 3D 增强。 与2D增强不同,3D增强涉及更广泛的空间域。对于3D点云自然数据,考虑2种转换方式:
1)形状转换,包括 旋转、尺度变换和结合;
2)点位移,包括抖动 -
联合优化。增强器&分类器一起考虑促进优化。
3 思想
通过样本,采用对抗学习策略,共同优化增强器网络 和分类器网络 的工作。以便增强器可以学习产生并筛选出最适合分类器的样本。

4 算法

4.1 增强器
-
增强器获得样本的点云;
-
计算每点特征;
-
使用以下方法应用特定于样本的增强回归:
1)按形状进行回归以产生变换,得到3x3的线性矩阵,给出剪切、缩放、旋转;
2)逐点回归以产生每个点的位移; -
样本于线性矩阵相乘,并加上位移。
4.2 增强器损失
最大化网络学习,则增强器生成的样本需要满足两点规则:
规则1. P'要比P更具挑战性,即L(P')\ge L(P);
规则2. P'不能失去其形状可区分性,即与P不能相差太悬殊。
对于要求1,最小化交叉熵损失即可,即增强器损失如下:

其中L§交叉熵如下:

\hat{y}_c\in \{0,1\}表示P属于c类的二值真值。
如果只是简单最小化公式(1),则意味着L(P')-L(P) \to \infty。因此一个简单方法即不论P如何,P'是任意的一个采样,单着就违反了规则2。因此,我们限制了增强梯度\xi。该思想来源于LS-GAN[25]。首先引入一个动态参数\rho ,则L_{\mathcal{A}}可重定义为:


图5为公式(2)的绘图。我们希望L(P')足够大但又不希望其过于大,因此通过\rho来限制L(P')的上限,可以得到:

\xi_0=(\rho - 1)L(P)作为\xi的上界。
注意 :
- 当训练增强器时,分类器是固定的,也即L(P)是固定的,因此\xi_0仅依赖于\rho。由于其应该是非零的,因此\rho \ge1。
- 分类器训练初期很不稳定,因此花费比生成P'更多时间。因此\xi_0不应该太大,也即P'不应该太具有挑战性。因此,我们设计动态\rho来控制\xi_0如下式,且确保\rho>1:

为了使P'形状可区分性,因而添加了 L(P')作为灵活项,因此增强器损失可定义为:

\lambda是固定超参数来控制每项的相关性。小的\lambda让增强器着重在分类上,而少增强,反之亦然。实验当中,\lambda=1
4.3 分类器及损失
首先提取P和P'的全局特征F_g和F_g', 接着使用全连接层回归得到类别标签。
分类损失设置如下:

\lambda是平衡参数,这里设为10,而||F_g - F_{g'}||可以显式的均衡增强后样本与原始样本的区分性,平时稳定网络训练。
整体算法描述如下:

5 实验结果
可以看到添加增强后还是有一定程度的提升的。


6 总结
关于样本选择:
-
注意数据范围。不要去寻找一套通用策略来处理每个输入样本,而是考虑样本的基本几何结构,为每个输入样本回归特定增广函数;
-
3D增强涉及更广阔的和不同的空间域。点云两种变换:
形状变换(旋转、缩放和组合)
点位移(点位置的抖动) -
联合优化。同时训练共同优化,仔细涉及损失函数;
关于未来方向:
可以应用在部件分割、场景分割、目标检测、上采样、降噪等领域。
针对不同方向,需要注意增强的部分有所侧重。
