😸Cylinder3D 主要贡献:
- 将室外点云分割的重点从二维投影重新定位到三维结构,并进一步研究了室外点云的固有特性(难点)
- 提出一个使用圆柱形(
cylindrical
)分割方式和非对称三维卷积(asymmetrical 3D convolution
)的网络框架,从而用来探索三维结构并应对由于稀疏和变化的点云密度而造成的问题- 提出的方法(
CVPR2021(Oral)
)在SmanticKITTI
和nuScenes
数据集上达到了State-of-the-art
水平,并在基于点云的全景分割和 3D 目标检测任务上展示出了相当健壮的泛化能力
😿当前,大规模驾驶场景的点云语义分割通常将点云数据投影到 2D
空间,再通过二维卷积来处理这些投影后的数据,这也不可避免的造成了三维拓扑和几何关系的改变及损失。一个应对该问题的通常方法是采用一种包含体素和 3D
卷积的网络,但本研究发现这类网络在室外(outdoor
)点云上的提升相当有限,一个重要的原因可能是由于室外点云的稀疏性和密度的变化(室内点云相对密集且密度相对均匀)。基于此,论文提出圆柱分割和非对称三维卷积来探索三维结构并保持原始点云的固有属性(稀疏性和密度变化)。此外,引入逐点细化模块(point-wise refinement module
)来减少基于体素标签编码的干扰(同一个体素可能存在不同类别的点云数据)。
网络结构
- 将点云数据送入
MLP
中获得point-wise
的特征,再通过Cylindrical Partition
来重新分配特征点的位置,从而生成更加平衡的点分布(在点云密度的变化方面更具有鲁棒性) - 通过非对称三维卷积网络处理前面生成的点特征,从而得到
voxel-wise
的输出 - 使用
point-wise
模块来改善(refine)输出,从而得到更为精确的结果
Cylindrical Partition
✍️室外点云存在“近距离密度大,远距离密度小”的现象,而标准的体素化在 cell
划分上是均匀的,并不能适应这种现象。因此,论文作者提出一种圆柱形划分方法,该方法在近距离处的 cell
相对较小,而远距离的 cell
较大,从而能较好的适应室外点云固有的现象。
- 将点云数据从笛卡尔坐标系的转换为圆柱坐标系(
Cylinder coordinate system
),即从坐标 (x, y, z) 转为 ( ρ \rho ρ, θ \theta θ, z),其中, ρ \rho ρ 为点在xoy
面上的投影到原点的距离, θ \theta θ 为x
轴到y
轴的角度 - 在圆柱坐标系的三个维度上进行划分工作,且较远处的区域对应更大的
cell
- 基于前面圆柱划分为经过
MLP
后得到的点特征重新分配位置?(Point-wise features obtained from the MLP are reassigned based on the result of this partition to get the cylindrical features
) - 从
0
度(0-degree
)处展开圆柱获得3D
圆柱形表示(3D cylinder representation
) R ∈ C × H × W × H R \in C \times H \times W \times H R∈C×H×W×H,其中 C C C 表示特征维数, H H H 对应半径, W W W 对应角度, H H H 对应高度(H, W, L mean the radius, azimuth and height
)
Asymmetrical 3D Convolution Network
- 非对称残差块(A):当前,驾驶场景中的点云存在许多立方体形状的物体,其包括汽车、卡车、公交和摩托车等,且当前有研究表明中心交叉权值在平方卷积核中更重要(
central crisscross weights count more in the square convolution kernel
)。因此,论文作者设计了非对称的残差块来满足这种立方体物体的特性,其中,非对称卷积核被用来匹配矩形目标区域,这种非对称的残差块也大大降低了传统三维卷积核的计算成本。具体来说,交替使用内核为3×1×3
和1x3x3
的卷积,相当于滑动两层网络,其接受域与内核为3×3×3
的三维卷积相同,但它的计算成本比输出滤波器数量相同的3×3×3
卷积少33%
- 非对称下采样模块(AD):包含一个非对称残差块和一个步长为
2
的三维卷积来执行下采样 - 非对称上采样模块(AU):包含一个步长为
2
的三维反卷积和一个非对称残差块,输入在经过反卷积后需要与低级特征融合并送入A
中处理 - DDCM 模块:全局上下文特征应该是高秩的以便有足够的能力来捕获上下文信息,而直接生成这种高秩特征是比较困难的。因此,论文作者利用矩阵分解(
matrix decomposition
)的思想,将其用height
,width
,depth
三维的low-rank
向量来权重化表达。具体操作先通过3
个秩为1
的卷积核来获取低秩特征,然后通过sigmoid
函数处理低秩(low-rank)特征并为每个维度生成权重,最后将它们聚合(aggregate
)在一起以获得最终的全局上下文信息
Point-wise Refinement Module
✍️虽然基于分区的方法可以有效地探索大范围点云,但不管是基于立方体的还是基于圆柱体的划分方法,都有可能将不同类别的点划分到同一个 cell
中,这将导致导致信息的丢失而影响精度。而采用块点结合的方式,能够有效的缓解错误 cell-label
编码的干扰,而提高识别的精度。
- 基于
point-voxel
映射表将voxel-wise
特征投影到point-wise
point-wise
模块将3D
卷积网络前后的点特征作为输入,并将它们融合在一起以细化输出
Objective Function
✍️Cylinder3D
方法的优化目标有2个,即 voxel-wise loss
和 point-wise loss
。因此,总体的损失函数可以表示为
L
=
L
v
o
x
e
l
+
L
p
o
i
n
t
L = L_{voxel} + L_{point}
L=Lvoxel+Lpoint
对于 voxel-wise loss
,使用加权交叉熵损失和 lovasz-softmax
损失函数来最大化 point
精度和 IoU
得分。对于 point-wise loss
则只使用加权交叉熵损失函数来处理
😻论文:https://arxiv.org/pdf/2011.10033.pdf
😻代码:https://github.com/xinge008/Cylinder3D