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)输出,从而得到更为精确的结果✍️室外点云存在“近距离密度大,远距离密度小”的现象,而标准的体素化在 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
)central crisscross weights count more in the square convolution kernel
)。因此,论文作者设计了非对称的残差块来满足这种立方体物体的特性,其中,非对称卷积核被用来匹配矩形目标区域,这种非对称的残差块也大大降低了传统三维卷积核的计算成本。具体来说,交替使用内核为 3×1×3
和 1x3x3
的卷积,相当于滑动两层网络,其接受域与内核为 3×3×3
的三维卷积相同,但它的计算成本比输出滤波器数量相同的 3×3×3
卷积少 33%
2
的三维卷积来执行下采样2
的三维反卷积和一个非对称残差块,输入在经过反卷积后需要与低级特征融合并送入 A
中处理matrix decomposition
)的思想,将其用 height
,width
,depth
三维的 low-rank
向量来权重化表达。具体操作先通过 3
个秩为 1
的卷积核来获取低秩特征,然后通过 sigmoid
函数处理低秩(low-rank)特征并为每个维度生成权重,最后将它们聚合(aggregate
)在一起以获得最终的全局上下文信息✍️虽然基于分区的方法可以有效地探索大范围点云,但不管是基于立方体的还是基于圆柱体的划分方法,都有可能将不同类别的点划分到同一个 cell
中,这将导致导致信息的丢失而影响精度。而采用块点结合的方式,能够有效的缓解错误 cell-label
编码的干扰,而提高识别的精度。
point-voxel
映射表将 voxel-wise
特征投影到 point-wise
point-wise
模块将 3D
卷积网络前后的点特征作为输入,并将它们融合在一起以细化输出✍️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
补充:Cylinder3D 理解、Cylinder3D:一个有效的三维框架用于驾驶场景激光雷达语义分割