点云问题
三维数据的表述形式
- 点云:由$N$个$D$维的点组成,维度包含的是点的特征(坐标$(x,y,z)$、法向量、颜色、强度)
- 采集容易:更接近于设备的原始表征
- 表达简单:使用$N\times D$矩阵表示
- 网格:由面片组成,面片是构成网络的基本元素,主要面片种类(三角面片、正方形面片)
- 体素:由三维栅格将物体用0和1表征
- 图像集合:多角度的RGB图像或者RGB-D图像
三维数据的深度学习
体素CNN:3D卷积神经网络上应用体素,受限于分辨率,需要解决稀疏问题
多视图CNN:将3D转换为2D图像,然后应用2D卷积网络对其处理,特定任务的网络扩展到其他任务比较困难
谱CNN:仅限于流形网格上(如:生物对象),没有扩展到非等距形状(如:家具)上的方法
基于特征的CNN:抽取经典的形状特征将3D数据转换为向量,受抽取特征的表示能力所限
法向量(Normal)
强度(Intensity):激光雷达采样的时候获得的回波强度
- 强度信息受目标表面材质、粗糙度、入射角方向、仪器的发射能量、激光的波长影响
局部稠密度(Local Density)
局部曲率(Local Curvature)
线性(Linearity)、平面性(Planarity)、分解性(Scattering):3D雷达点云基于尺度选择的维度信息
垂直特征(Vertically Feature):3D激光雷达点云的城市场景中应用弱监督分割辅助分类时的信息
点云的深度学习
- 将点云转换成体素,量化时损失细节、带来伪影
- 将点云映射成图像集合,损失全局的3D信息
点云:是不规则的格式,处理时常常被转换为三维体素网络或者图像集合。这样数据表示的转换使得渲染时需要处理大量不必要的数据,而且还会在量化时引入人工伪影,从而遮掩了数据的自然不变性;同时,点云数据的排列不变性,在网络计算中需要一定的对称性,还需要考虑刚性运行的不变性。
深度学习关注的都是有序数据,而点云是无序的向量集合;[^25]处理了通用的无序集合,未考虑集合中存在的几何形状。
点云数据特征
点特征:对点的某些统计特征进行编码,并且被设计为具有某些变换的不变性。变换分为内在的与外在的,特征分为局部特征和全局特征。对于特定的任务,需要找出最佳的特征组合。
点集的性质:
- 无序(Unordered):使用$N$个3D点集的网络需要在数据的注入顺序上对输入集合保持$N!$个排列的不变性
- 交互(Interaction):点来自于具有距离测度的空间,因此相邻的点属于一个有意义的子集,模型需要具备从邻近点中捕捉局部结构,以及局部结构之间的交互关系的能力。
- 不变(Invariance):作为一个几何对象,点集学习到的表示对于某些变换(如:旋转、平移)具有不变性
解决无序问题的三种策略:
- 将输入按规范顺序进行排序
- 将输入作为RNN的训练序列,但是通过各种排列来实现训练数据集的增强
- 使用一个简单的对称函数来聚合来自每个点的信息
点云的特性:
- 尺度的不变性
- 旋转的不变性
- 排列的不变性
点云数据集
大型数据集
大型数据集的每个房间或者每个场景的点云中都包含几万几十万几百万的点。
S3IDS(Standford Large-Scale 3D Indoor Spaces)
6个大型室内区域组成,每个区域分为若干个房间,共有271个房间,13个语义类别
vKITTI(Virtual KITTI)
虚拟激光雷达点云:大型的室外道路点云,13个语义类别
大型数据集的预处理
网络输入点数(1024,2048,4096,8192)受限于设备的计算能力,因此大型点云数据集需要进行数据预处理:切和降。切:将每个大型点云切分成一定规模的块(Block);降:即降采样,将每个块的点数进一步的降低或者规范到固定的数量,作为网络的输入。
PointNet系列的预处理
- 对于S3DIS数据集:将房间切割成$1米\times1米\times h$大小的块,块间没有重叠。$h$表示房间的高度,$1\times1$表示沿着x和y轴方向的大小为$1$平方米的正文形区域。对每个区域随机采样$n$个点,如果块中点数大于$n$,则随机采样;如果块中点数小于$n$,则复制后再随机采样。
- 对于vKTTI数据集:相比S3DIS更稀疏,将房间切割成$3米\times3米\times h$大小的块,块间没有重叠。$h$表示房间的高度,$3\times3$表示沿着x和y轴方向的大小为$9$平方米的正文形区域。对每个区域随机采样$n$个点,如果块中点数大于$n$,则随机采样;如果块中点数小于$n$,则复制后再随机采样。
预处理方式特点评价:
- 切分方式简单粗暴,结果会有不完整的类别。例如:一张桌子被分到两个块中。
- 数据信息损失较大,切分的错误,抛弃的数据点。
PointCNN的数据预处理
切的方法:
- 使用PointNet切法,获得一次数据;
- 基于PointNet切法,再朝x轴方向一次移动$0.5米$进行切分,获得一次数据。可能会避免PointNet切法中出现的半个物品,实现数据增强。
- 基于PointNet切法,再朝y轴方向一次移动$0.5米$进行切分,获得一次数据。可能会避免PointNet切法中出现的半个物品,实现数据增强。
降的方法:
- 使用PointNet的随机采样方法,获得一次数据;
- 基于PointNet的随机采样方法,再随机采样,获得一次数据,从而实现数据增强
小型数据集
点云中包含的对象或者场景非常小,直观表现就是点数非常少
ShapeNet
规则的CAD模型,16个类别,50个部件,16881个形状。每个类别标注了实例标签、组件结构,每个形状轮廓规则无杂点。
ModelNet40
规则的CAD模型,40个类别,没有实例标签。
PointNet
PointNet:统一的架构,直接将点云作为输入,输出为整个输入的类标签,或者输入的每个点所对应的点分割标签或者点部件标签。每个点特征可以包括:XYZ、RGB、法线、局部特征、全局特征。
- 两个应用架构
- 分类网络的输入为点特征数组($n\times3$),输出为$k$个类别的分类得分向量($k$维)
- 分割网络是分类网络的扩展,将局部特征数组($n\times64$)与全局特征向量($1024$维)拼接得到输入特征数组($n\times1088$),输出每个点的得分数组($n\times m$)
- 三个关键模块
- 最大池化层作为一个对称函数,用于聚合所有点的信息
- 局部特征和全局特征的混合结构用于解决点分割问题
- 两个联合对齐网络依据两个输入点和点特征对齐
- 使用小型网络(T-net)预测一个仿射变换矩阵,从而对齐输入点
- 增加正则化项到softmax训练损失中,强制特征变换矩阵逼近一个正交矩阵,从而对齐特征空间
PointNet的关键是使用单对称函数:最大池化。网络学习一组优化准则/函数来选择点云中有趣的或者有信息的点,并且对选择的原因进行编码。网络的最后一层(全连接层)将学习到的最优值进行处理,或者聚集成整个形状的全局描述符(形状分类),或者对每个点进行标签预测(形状分割)。
PointNet的稳健性
- 神经网络对连续集合函数的万能逼近能力,保证输入数据小的扰动不会破坏输出的效果
- 在最坏的情况下,网络可以通过将空间划分为大小相等的体素,从而学会将点云转换为体积的表示
- 在实践中,网络学会了更加聪明的策略来探测空间
模型评价标准
IoU
在特定数据集中检测目标物体准确度的度量标准。计算需要的数据:
- 基准包围盒
- 预测包围盒
$$
\text{IoU}=\frac{重叠区域}{并集区域}
$$
举例如下:绿色框是基准值,红色框是预测值。
参考文献
[^1] C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “Pointnet: Deep learning on point sets for 3d classification and segmentation,” Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 652–660, 2017.
[^2] C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “Pointnet++: Deep hierarchical feature learning on point sets in a metric space,” Advances in neural information processing systems, pp. 5099–5108, 2017.
[^3] Y. Li, R. Bu, M. Sun, W. Wu, X. Di, and B. Chen, “Pointcnn: Convolution on X-transformed points,” Advances in Neural Information Processing Systems, 2018.
[^4] F. Engelmann, T. Kontogianni, A. Hermans, and B. Leibe, “Exploring spatial context for 3d semantic segmentation of point clouds,” Proceedings of the IEEE International Conference on Computer Vision Workshops, pp. 716–724, 2017.
[^5] I. Armeni, O. Sener, A. R. Zamir, H. Jiang, I. Brilakis, M. Fischer, and S. Savarese, “3d semantic parsing of large-scale indoor spaces,” pp. 1534–1543, 2016.
[^6] A. Gaidon, Q. Wang, Y. Cabon, and E. Vig, “Virtual worlds as proxy for multi-object tracking analysis,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016.
[^7] L. Yi, V. G. Kim, D. Ceylan, I. Shen, M. Yan, H. Su, C. Lu, Q. Huang, A. Sheffer, and L. J. Guibas, “A scalable active framework for region annotation in 3d shape collections,” Acm Transactions on Graphics, vol. 35, no. 6, p. 210, 2016.