
# LTM: 一种用于激光雷达全景分割的快速误差敏感点云聚类算法

吴鹏 $^{123}$，胡政曦 $^{123}$，张千毅 $^{123}$，光金政 $^{123}$，刘景台 $^{123*}$

 $^{1}$ 南开大学机器人与信息自动化研究所，天津，中国

 $^{2}$ 天津市智能机器人重点实验室

 $^{3}$ 南开大学TBI中心

{wupeng2022, guangjinzheng, zhangqianyi}@mail.nankai.edu.cn, <mailto:609100797@qq.com>, <mailto:liujt@nankai.edu.cn>

摘要——点云聚类是机器人系统和自动驾驶领域理解与分析几何信息的关键方法。为满足实时性要求，现有多种点云聚类算法基于连通分量标记实现，即根据相邻点之间的几何关系进行局部分类决策。然而，现有邻域连接准则缺乏鲁棒性，这是因为点云水平方向与垂直方向的分辨率差异，以及不同深度都会影响相邻点间的距离，进而影响连通性判断。本文提出一种新型聚类算法LTM（包含线性化Linearization、主干提取Trunk extraction和合并Merge三个步骤）。该算法分两步分别处理水平与垂直方向，创新地利用三个点确定邻域连通性，因此能够降低上述约束对语义分割模型效果的影响，可在SemanticKITTI上完成全景分割任务。实验结果表明，LTM在所有已发表的同类别方法中取得了最优结果，此外，单帧聚类处理时间在10毫秒以内。

索引词——激光雷达全景分割、点云聚类、连通分量标记

## I. 引言

激光探测与测量（LiDAR，即激光雷达）能够提供三维信息，因此被广泛应用于机器人和自动驾驶等领域。为提升机器人对周边环境的感知能力，需要从原始点云数据中提取有价值信息。从传统视角来看，点云聚类是一种理解和分析几何信息的方法：它被用于配合AdaBoost这类分类器生成行人检测任务的候选区域[^9]，也可作为高级感知系统的一部分，应用于语义分割、实例分割等领域。Zhao等人[^19]将传统点云聚类方法[^18]与深度学习语义分割模型[^22]结合，完成全景分割任务，取得了当前最优

![Image](images/00daf18214fca81bc2c875043aa79912985c4f2a31f3ee39590206db839f8608.jpg)

<div style="text-align: center;">Fig. 1. The demonstration of the panoptic segmentation task and how LTM solves it. The red points in the first image correspond to those categorized as "thing" based on semantic segmentation. These points are the ones that the clustering algorithm needs to process. By performing linearization, trunk extraction and merge on semantic segmentation points, the panoptic segmentation task is completed.</div>

水平，在SemanticKITTI [^1]全景分割基准测试中达到了先进性能。

现有的聚类算法主要可分为两类。第一类是基于三维空间点查询的算法，这类算法主要考虑点云之间的距离关系，通常会采用KD-Tree或OCT-Tree这类优化方法来提升存储性能、提高聚类效率。但即便有这些优化，这类算法在处理大量点云时仍然会产生可观的时间成本。第二类是基于距离图像点查询的算法，这类算法通过球面投影将点云转换为距离图像，使得算法的时间复杂度关于点云规模呈线性关系。

这类基于连通分量标记（Connected Component Labeling, CCL）的算法，其核心挑战在于如何判断相邻点是否属于同一目标。在现有算法中，SLR [^18]采用两点间的欧氏距离作为判定标准，Depth Cluster [^3]引入了启发式角度条件。然而，同一目标的相邻两点之间的相对关系差异会受到多种因素的影响：1) 激光雷达的分

---

辨率在水平方向和垂直方向均存在差异。这意味着对所有点统一应用相同规则并不合理。2) 相邻点之间的距离会随深度变化，这种变化使得我们很难得到一个准确的连通性判定阈值。3) 激光雷达与目标形成的入射角差异很大，这种变化意味着即使处于相同深度，相邻点之间的距离也可能并不一致。所有这些因素的存在都给相邻点连通性的评估带来了额外挑战。因此，我们旨在设计一种新型算法，能够分别处理水平方向和垂直方向的点云聚类，同时最大程度降低深度和入射角对聚类过程的影响。

本文共有三项主要贡献：1) 我们设计了一种全新的点云连通性判定准则，通过引入三点共线约束，大幅降低了不同点云实例之间产生错误连通的概率。2) 我们根据点云的特性设计了名为LTM的新型聚类算法，该算法能够高效完成点云分割，尤其提升了对相邻目标的识别能力。3) 我们将LTM应用到全景分割任务中，在保证效率的前提下，取得了同类算法中的最优结果。

### 二、相关工作

点云聚类。激光雷达点云聚类的传统任务是将三维点云数据划分为具有相似属性的簇或分组。该任务在自动驾驶、机器人感知、环境建模和地图生成等领域具有至关重要的意义。点云本身携带三维几何信息，因此基于两点间距离判断两点是否属于同一簇是十分自然的思路。欧几里得聚类作为最常见、应用最广泛的聚类方法，是这类方法的典型代表。研究人员提出了径向约束最近邻（RBNN）[^7]算法，引入法向量后提升了该算法的表面分割能力[^8]。Yan等人[^17]提出了自适应阈值选择方法，用以处理激光雷达稀疏度随距离变化的问题。然而，点云数据规模大，导致这类聚类算法的时间复杂度表现不佳。为了提升聚类算法的效率，当前研究更多聚焦于构建邻域关系，以实现相对于点云规模的线性复杂度。这类方法大多从CCL算法的思路中汲取灵感[^5]。有研究提出自适应角度阈值[^3]，用于判断两个相邻点是否属于同一目标。另一方面，Zermas等人[^18]提出了一种基于点云或深度图的逐行快速扫描算法。该方法在球坐标系中构建表面体素[^13]后，基于邻域关系实现了快速聚类。此外，这类方法对不同距离下变化的点云密度表现出一定的适应性。

全景分割。全景分割是语义分割与实例分割的融合任务，目标是对场景中的所有目标进行分割。该任务最初针对二维图像提出[^6]，后来被扩展到激光雷达领域[^2]。早期的全景分割通过结合目标检测器和语义分割网络实现。研究人员采用PointPillars[^10]目标检测器获取每个目标的边界框和类别，结合KPConv[^15]和RangeNet++[^12]完成各类别的实例分割。此外，Gasperini等人[^4]实现了一种基于Q学习的激光雷达点云全景分割聚类方法。Milioto等人[^11]则使用端到端模型完成了全景分割任务。

### III. 方法

### A. 概述

本文提出了LTM方法（包含Linearization线性化、Trunk extraction主干提取和Merge合并三个步骤），该方法解决了大规模点云处理带来的计算成本问题，可将时间复杂度控制在点云数量的线性依赖范围内。

LTM包含三个步骤，图2给出了每个步骤的示意图。首先，基于三点共线这一创新思路，我们引入一种新的约束来实现线性化。随后，通过计算线性点集的重叠度以及重叠区域中心点之间的距离，完成实例主干提取。最后，基于聚类簇的边界框完成主干合并以及剩余点的实例类别判定。

### B. 线性化

为了提取线性点集，我们需要评估相邻点之间的连通性，以判断它们是否属于同一个实例。由于点云本身具有稀疏性，两个相邻点之间的相对关系会在不同深度或入射角条件下发生变化。现有的两点连通约束难以同时适配多种变化条件，因为仅两个点无法提供足够的几何约束。因此，我们基于三点共线假设提出了一种新的判定准则。该准则可以适配不同深度和入射角，克服了现有基于两点的判定标准的局限性。关于两点准则和四点准则的更多细节将在第四章C节中展开讨论。

我们的判定准则基于一个容易理解的现象：由于点云在水平方向的分辨率足够高，同一实例的三个相邻点会近似满足共线条件。这使得我们可以利用三点共线特性来

---

![Image](images/0c326bd43efd6df4f2407511b4f0d482bea072bfa5efc251e30fb9a22f5171cf.jpg)

<div style="text-align: center;">Fig. 2. Visualization of LTM clustering execution. Gray indicates unclassified points, while identical colors represent the same instance. After projecting the unordered point cloud into an ordered range image, the process proceeds with sequential horizontal linearization, vertical trunk extraction, and merge of remaining scattered points.</div>

![Image](images/c49412b3f317e878dcbd6ad639469f7acfb4c40b912d60507dbf920223c20b2b.jpg)

<div style="text-align: center;">Fig. 3. How LTM utilizes adjacent three points to define heuristic conditions for checking whether points belong to the same object. A, B,  $C_{truth}$ are three adjacent points sharing the same polar angle.  $d_{1}$,  $d_{2}$ and  $d_{3}$ represent their respective depths. Point  $C_{prediction}$ is collinear with line AB and shares the same azimuth as  $C_{truth}$.</div>

基于几何关系，以及所有水平相邻点的方位角固定且足够小的条件，我们推导出了该判定准则。如图3所示，其中$d_{1}$、$d_{2}$和$d_{3}$分别表示相邻三个点到激光雷达的距离。当相邻点满足三点共线条件时，$\delta = 0$。$\delta$对$d_{3}$的偏导数近似为1。当三个点无法严格满足共线条件时，$\delta$表示$C_{truth}$与基于共线得到的$C_{prediction}$之间的距离，如图3所示。这使得该准则能够处理不同深度的点云。借助该准则，我们可以轻松完成水平方向线性点集的提取。关于线性化的更多细节可以参考算法1。

在水平方向聚合同一实例的点。

 $$ \delta=|d_{1}+d_{3}-\frac{2*d_{1}*d_{3}}{d_{2}}| $$

```pseudo
// Algorithm 1: Linearization

Input: Number of point clouds N. Distance of point clouds d which has already completed ordered indexing using range images.

Output: linear point sets L

1: for each $i \in [0, N-1]$ do

2:     con1 = $d_{i}$ > 0 and $d_{i+1}$ > 0 and $d_{i+2}$ > 0;

3:     con2 = $d_{i}$ + $d_{i+2}$ - 2  $d_{i}$  $d_{i+2}/d_{i+1}$ < $th_{d}$;

4:     if con1 and con2 then

5:         Save the indices of the points:

6:         line.point_index ← (i, i+1, i+2);

7:     end if

8:     if line.point_index.size() > 2 then

9:         L ← line;

10: end for

```

完成水平方向处理后，我们对线性点集进行垂直方向聚合，以提取实例树干。这些线性点集表征了同一实例在不同高度的几何特征。从俯视图来看，同一实例的不同线性点集分布在实例中心附近，相对

### C. 树干提取

之间的距离较小。从距离视图来看，同一实例的不同线性点集在垂直方向上重叠，在球坐标中体现为方位角重叠。因此，我们将方位角的重叠程度，以及俯视图中重叠区域之间的距离，作为提取主体结构的判定准则。

对于所有直线，我们首先计算它们各自的质心，并构建KD-Tree来加速识别所有属于同一实例的候选直线。对于任意两条待处理的直线，第一个判断条件是它们方位角的重叠率。当重叠区域占较短直线的比例超过阈值$th_{az}$时，该条件满足。接下来，我们从两条直线中提取重叠区域内的点，并计算这些点在鸟瞰视角下的中心点。当重叠区域中心点之间的距离小于阈值$th_{d}$时，第二个条件满足。如果两个条件都满足，则这两条直线被判定属于同一实例。所有点集处理完成后，主干提取步骤完成。

### D. 合并

我们将不满足三点共线条件的点称为孤立点。由于线性化仅处理相邻三点，因此会产生孤立点。

---

这些点未被聚类到主结构中。虽然这些孤立点不会对实例主分支的提取产生显著影响，但在最终聚类过程中仍需要对其进行处理。由于这些点数量较少且缺乏明确的几何约束，欧几里得聚类足以在短时间内将它们聚合到附近的主结构中。通过这种方式，所有前景点都被归入各自对应的主结构中。

三点共线的严格条件可能会导致同一个实例被分割为多个主干。这是我们预期的结果，因为主干合并比点聚类简单得多，也更精确。我们计算所有主结构的边界框，并利用交并比（IoU）完成主结构的聚合。此外，利用语义分割提供的先验信息，可以为已知类别引入尺寸约束，进一步提升准确率。

### 四、实验

### A. 数据集

SemanticKITTI数据集是在KITTI Vision Benchmark Suite基础上搭载Velodyne HDL-64E S2激光雷达传感器构建而成，它是首个引入激光雷达全景分割任务的数据集。该数据集包含22个序列，其中10个激光雷达序列用于训练，1个用于验证，11个用于测试。数据集中共有19个类别，其中8个为thing类别，11个为stuff类别。我们选用了两个语义分割模型Cylinder3D [^22]和2DPass [^16]来提供语义先验，以便更好地展示我们的聚类方法。

### B. 评价指标

 $$ P Q_{c}=\frac{\sum_{(p,g)\in T P_{c}}I o U(p,g)}{|T P_{c}|+\frac{1}{2}|F N_{c}|+\frac{1}{2}|F P_{c}|} $$

全景分割任务不仅需要为每个点分配语义标签，还需要为属于物体类别的点分配实例标签（ID）。该任务的评价指标通常使用全景质量（Panoptic Quality，PQ）[^6]进行衡量，具体计算公式如下：

PQ包含由SQ衡量的分割准确率和由RQ衡量的检测准确率。为了得到真正例（TP），业界普遍认为当预测与真值两个集合的交并比（IoU）大于0.5时，二者匹配。假正例（FP）和假负例（FN）可以通过类似方式得到。PQ按类别分别计算，最终取平均值作为最终评价指标。

### C. 性能评估

在图4中，我们展示了所提出全景分割方法的性能。在密集交通场景中，即使不同实例位置接近且共享相同的语义信息，我们也能够准确识别出每一个实例。

![Image](images/50121864dbcadfe4f81a12d92367f9c9b41283f6d34ac35f3f498834727b8458.jpg)

<div style="text-align: center;">Fig. 4. The performance of LTM. The first and third images represent the input semantic information, while the second and fourth images depict the panoptic segmentation performance using LTM.</div>

与聚类方法对比。在表I中，我们将本文方法与同类全景分割方法进行比较。我们利用2DPass和Cylinder3D提供语义标签。在每组对比实验中，均采用相同的语义信息来验证不同聚类方法的有效性。我们在SemanticKITTI（08序列）上开展验证。我们不对语义标签为stuff的点进行处理，因此与stuff相关的三个指标基本一致。语义标签为thing的点才是聚类算法的处理对象，与thing相关的三个指标能够更准确地反映聚类算法的性能。实验结果表明，我们的聚类方法在处理thing类型实例方面显著优于以往方法，这与聚类操作的核心目标一致。

与其他全景分割方案的对比。在表II中，我们将本文算法与其他全景分割策略进行了对比。显而易见，与端到端算法[^14]相比，我们的算法取得了更高的PQ精度。此外，由于语义分割网络存在差异，与聚类算法无关的$PQ^{St}$、$RQ^{St}$和$SQ^{St}$等指标相较于[^19] [^20]并未取得最优性能。为实现更公平的比较，我们使用2DPass提供的相同语义标签重复开展了实验。此外，随着语义分割网络的不断发展，我们的混合全景分割方案未来有望达到更高的精度水平。

关于两点准则的讨论。在线性化过程中，一旦来自不同实例的点被错误聚类到一起，就无法再将它们分开。更关键的是，每一次判断仅考虑小邻域内的几何关系。如果分割点被误判，两点准则将不可避免地合并两个不同实例的点。错误的线性点集会影响垂直重叠程度的评估，最终导致两个实例被错误聚类。在图5中，我们展示了不同聚类算法对两辆位置接近的车辆的处理结果。可以观察到，SLR算法未能正确聚类，该失败

---

<div style="text-align: center;">TABLE I</div>

<div style="text-align: center;">PERFORMANCE COMPARISON ON SEMANTICKITTI VAL SET (SEQUENCE 08)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>PQ</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>RQ</td><td style='text-align: center; word-wrap: break-word;'>SQ</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$RQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$SQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>$RQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>$SQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>mIoU</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cylinder3D + SLR [^19]</td><td style='text-align: center; word-wrap: break-word;'>56.8</td><td style='text-align: center; word-wrap: break-word;'>61.7</td><td style='text-align: center; word-wrap: break-word;'>68.0</td><td style='text-align: center; word-wrap: break-word;'>77.6</td><td style='text-align: center; word-wrap: break-word;'>57.4</td><td style='text-align: center; word-wrap: break-word;'>66.6</td><td style='text-align: center; word-wrap: break-word;'>75.0</td><td style='text-align: center; word-wrap: break-word;'>56.5</td><td style='text-align: center; word-wrap: break-word;'>69.0</td><td style='text-align: center; word-wrap: break-word;'>79.5</td><td style='text-align: center; word-wrap: break-word;'>66.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cylinder3D + DMC [^20]</td><td style='text-align: center; word-wrap: break-word;'>57.1</td><td style='text-align: center; word-wrap: break-word;'>62.0</td><td style='text-align: center; word-wrap: break-word;'>68.3</td><td style='text-align: center; word-wrap: break-word;'>77.5</td><td style='text-align: center; word-wrap: break-word;'>58.0</td><td style='text-align: center; word-wrap: break-word;'>67.4</td><td style='text-align: center; word-wrap: break-word;'>74.8</td><td style='text-align: center; word-wrap: break-word;'>56.5</td><td style='text-align: center; word-wrap: break-word;'>69.0</td><td style='text-align: center; word-wrap: break-word;'>79.5</td><td style='text-align: center; word-wrap: break-word;'>66.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cylinder3D + LTM</td><td style='text-align: center; word-wrap: break-word;'>59.2</td><td style='text-align: center; word-wrap: break-word;'>64.1</td><td style='text-align: center; word-wrap: break-word;'>69.7</td><td style='text-align: center; word-wrap: break-word;'>78.7</td><td style='text-align: center; word-wrap: break-word;'>62.9</td><td style='text-align: center; word-wrap: break-word;'>70.6</td><td style='text-align: center; word-wrap: break-word;'>77.6</td><td style='text-align: center; word-wrap: break-word;'>56.6</td><td style='text-align: center; word-wrap: break-word;'>69.0</td><td style='text-align: center; word-wrap: break-word;'>79.5</td><td style='text-align: center; word-wrap: break-word;'>66.9</td></tr></table>

<div style="text-align: center;">TABLE II</div>

<div style="text-align: center;">PERFORMANCE COMPARISON ON SEMANTICKITTI TEST SET (SEQUENCE 11 TO 21)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>PQ</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{{t}}$</td><td style='text-align: center; word-wrap: break-word;'>RQ</td><td style='text-align: center; word-wrap: break-word;'>SQ</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$RQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$SQ^{{Th}}$</td><td style='text-align: center; word-wrap: break-word;'>$PQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>$RQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>$SQ^{{St}}$</td><td style='text-align: center; word-wrap: break-word;'>mIoU</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Panoster [^4]</td><td style='text-align: center; word-wrap: break-word;'>52.7</td><td style='text-align: center; word-wrap: break-word;'>59.9</td><td style='text-align: center; word-wrap: break-word;'>64.1</td><td style='text-align: center; word-wrap: break-word;'>80.7</td><td style='text-align: center; word-wrap: break-word;'>49.4</td><td style='text-align: center; word-wrap: break-word;'>58.5</td><td style='text-align: center; word-wrap: break-word;'>83.3</td><td style='text-align: center; word-wrap: break-word;'>55.1</td><td style='text-align: center; word-wrap: break-word;'>68.2</td><td style='text-align: center; word-wrap: break-word;'>78.8</td><td style='text-align: center; word-wrap: break-word;'>59.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PolarNet [^21]</td><td style='text-align: center; word-wrap: break-word;'>54.1</td><td style='text-align: center; word-wrap: break-word;'>60.7</td><td style='text-align: center; word-wrap: break-word;'>66.0</td><td style='text-align: center; word-wrap: break-word;'>81.4</td><td style='text-align: center; word-wrap: break-word;'>53.3</td><td style='text-align: center; word-wrap: break-word;'>60.6</td><td style='text-align: center; word-wrap: break-word;'>87.2</td><td style='text-align: center; word-wrap: break-word;'>54.8</td><td style='text-align: center; word-wrap: break-word;'>68.1</td><td style='text-align: center; word-wrap: break-word;'>77.2</td><td style='text-align: center; word-wrap: break-word;'>59.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cylinder3D + SLR [^19]</td><td style='text-align: center; word-wrap: break-word;'>56.0</td><td style='text-align: center; word-wrap: break-word;'>62.6</td><td style='text-align: center; word-wrap: break-word;'>67.4</td><td style='text-align: center; word-wrap: break-word;'>82.1</td><td style='text-align: center; word-wrap: break-word;'>51.8</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>84.2</td><td style='text-align: center; word-wrap: break-word;'>59.1</td><td style='text-align: center; word-wrap: break-word;'>72.1</td><td style='text-align: center; word-wrap: break-word;'>80.6</td><td style='text-align: center; word-wrap: break-word;'>67.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cylinder3D + DMC [^20]</td><td style='text-align: center; word-wrap: break-word;'>56.5</td><td style='text-align: center; word-wrap: break-word;'>63.1</td><td style='text-align: center; word-wrap: break-word;'>67.9</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>52.9</td><td style='text-align: center; word-wrap: break-word;'>62.1</td><td style='text-align: center; word-wrap: break-word;'>84.8</td><td style='text-align: center; word-wrap: break-word;'>59.1</td><td style='text-align: center; word-wrap: break-word;'>72.1</td><td style='text-align: center; word-wrap: break-word;'>80.6</td><td style='text-align: center; word-wrap: break-word;'>68.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EvLPSNet [^14]</td><td style='text-align: center; word-wrap: break-word;'>58.0</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>62.7</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>54.6</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>64.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2DPass + SLR</td><td style='text-align: center; word-wrap: break-word;'>55.1</td><td style='text-align: center; word-wrap: break-word;'>61.9</td><td style='text-align: center; word-wrap: break-word;'>66.4</td><td style='text-align: center; word-wrap: break-word;'>81.8</td><td style='text-align: center; word-wrap: break-word;'>50.7</td><td style='text-align: center; word-wrap: break-word;'>59.6</td><td style='text-align: center; word-wrap: break-word;'>83.8</td><td style='text-align: center; word-wrap: break-word;'>58.4</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>80.3</td><td style='text-align: center; word-wrap: break-word;'>66.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2DPass + DMC</td><td style='text-align: center; word-wrap: break-word;'>55.9</td><td style='text-align: center; word-wrap: break-word;'>62.7</td><td style='text-align: center; word-wrap: break-word;'>67.3</td><td style='text-align: center; word-wrap: break-word;'>81.9</td><td style='text-align: center; word-wrap: break-word;'>52.5</td><td style='text-align: center; word-wrap: break-word;'>61.8</td><td style='text-align: center; word-wrap: break-word;'>84.0</td><td style='text-align: center; word-wrap: break-word;'>58.4</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>80.3</td><td style='text-align: center; word-wrap: break-word;'>66.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2DPass + LTM(ours)</td><td style='text-align: center; word-wrap: break-word;'>58.7</td><td style='text-align: center; word-wrap: break-word;'>65.4</td><td style='text-align: center; word-wrap: break-word;'>69.7</td><td style='text-align: center; word-wrap: break-word;'>83.2</td><td style='text-align: center; word-wrap: break-word;'>58.9</td><td style='text-align: center; word-wrap: break-word;'>67.4</td><td style='text-align: center; word-wrap: break-word;'>87.0</td><td style='text-align: center; word-wrap: break-word;'>58.5</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>80.4</td><td style='text-align: center; word-wrap: break-word;'>67.4</td></tr></table>

完全是由少量点的误分类导致的。这凸显了从两点准则改进为三点准则的重要性。

![Image](images/531e20ca442375d9e116bf9999e2774ab66ded4211cf5a6c528f0b58a1a80fac.jpg)

<div style="text-align: center;">(a) SLR</div>

![Image](images/9c148a23f454c6b9d0174b75914b21df7273b744f6ae3579b248d44a88f8c666.jpg)

<div style="text-align: center;">(b) LTM</div>

<div style="text-align: center;">Fig. 5. LTM and SLR segmentation results on the SemanticKITTI. LTM accurately segments vehicles, even when they are in close proximity to each other.</div>

<div style="text-align: center;">TABLE III</div>

<div style="text-align: center;">PERFORMANCE COMPARISON ON SEMANTICKITTI VAL SET (SEQUENCE 08) FOR CLUSTERING METHODS BASED ON CCL</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>TN</td><td style='text-align: center; word-wrap: break-word;'>FP</td><td style='text-align: center; word-wrap: break-word;'>Significant error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Scan-line Run [^18]</td><td style='text-align: center; word-wrap: break-word;'>73725</td><td style='text-align: center; word-wrap: break-word;'>1213</td><td style='text-align: center; word-wrap: break-word;'>915</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Depth Cluster [^3]</td><td style='text-align: center; word-wrap: break-word;'>72354</td><td style='text-align: center; word-wrap: break-word;'>2584</td><td style='text-align: center; word-wrap: break-word;'>1520</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LTM</td><td style='text-align: center; word-wrap: break-word;'>74460</td><td style='text-align: center; word-wrap: break-word;'>478</td><td style='text-align: center; word-wrap: break-word;'>194</td></tr></table>

我们在SemanticKITTI验证集的08序列上开展实验，对两种两点准则算法以及本文算法进行评估。Scan-line Run(SLR)和Depth Cluster的阈值参考自[^20]。我们提取了SemanticKITTI验证集中所有不属于同一实例的相邻点对。真负例（TN）表示聚类算法成功将这些点分开。假正例（FP）表示算法未能成功分开它们。严重错误表示误判发生后，算法未能及时终止并继续探索，这会产生异常的线性点集，影响主干提取。详细结果如表III所示。不难看出，与以往基于点对的方法相比，我们的算法在解决这些问题上性能更优。

与两点准则相比，三点准则将共线性作为自然约束引入。类似地，基于四个或更多点的准则会引入多个共线性约束。以四点准则为例，我们首先需要考虑这些约束之间的关系是“与”还是“或”。选择前者能够保证与三点线性化方法建立的标准一致，即更多点约束等价于三点约束。后者会放松约束，可能影响线性点集提取的准确性。在可视化实验中我们发现，这种放松约束的方法往往会跳过孤立点，而正如前文所述，这些孤立点对准确确定线的结构至关重要。

### D. 运行时间

LTM算法的时间消耗由三个部分组成。线性化部分的时间成本与点云中的点数呈线性相关。主体提取以及剩余点处理与合并的时间成本取决于场景。根据我们在SemanticKITTI上的测试经验，该数据集单帧的线数量通常在100到1000之间，剩余点数量在500到1000之间；我们使用i7-12700H @ 4.7GHz处理器在SemanticKITTI测试集序列（序列11-21）上进行了测试，单帧平均处理时间约为10ms。

### 五、结论

针对激光雷达全景分割问题，我们提出了一种名为LTM的新型聚类算法。为了解决由各类因素导致的点云密度不均匀问题，这些因素包括

---

深度和法向量，我们突破了现有的两点准则，探索了利用更多点对构建连通性准则的意义。基于三点共线的简单假设，我们提出了一种适用于点云的新型连通性准则，大幅降低了误报（FP）和错误率。此外，通过将现有语义分割网络与LTM聚类算法结合，我们在SemanticKITTI上完成了全景分割任务。我们认为，本文的研究成果将对学术研究以及各类服务机器人应用（包括感知、定位和地图构建）有所助益。

## 参考文献

[^1]: Jens Behley, Martin Garbade, Andres Milioto, Jan Quenzel, Sven Behnke, Cyrill Stachniss, and Jurgen Gall. Semantickitti: A dataset for semantic scene understanding of lidar sequences. In Proceedings of the IEEE/CVF international conference on computer vision, pages 9297–9307, 2019.

[^2]: Jens Behley, Andres Milioto, and Cyrill Stachniss. A benchmark for lidar-based panoptic segmentation based on kitti. In 2021 IEEE International Conference on Robotics and Automation (ICRA), pages 13596–13603. IEEE, 2021.

[^3]: Igor Bogoslavskyi and Cyrill Stachniss. Fast range image-based segmentation of sparse 3d laser scans for online operation. In 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 163–169. IEEE, 2016.

[^4]: Stefano Gasperini, Mohammad-Ali Nikouei Mahani, Alvaro Marcos-Ramiro, Nassir Navab, and Federico Tombari. Panoster: End-to-end panoptic segmentation of lidar point clouds. IEEE Robotics and Automation Letters, 6(2):3216–3223, 2021.

[^5]: Frederik Hasecke, Lukas Hahn, and Anton Kummert. Flic: Fast lidar image clustering. arXiv preprint arXiv:2003.00575, 2020.

[^6]: Alexander Kirillov, Kaiming He, Ross Girshick, Carsten Rother, and Piotr Dollár. Panoptic segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9404–9413, 2019.

[^7]: Klaas Klasing, Dirk Wollherr, and Martin Buss. A clustering method for efficient segmentation of 3d laser data. In 2008 IEEE international conference on robotics and automation, pages 4043–4048. IEEE, 2008.

[^8]: Klaas Klasing, Dirk Wollherr, and Martin Buss. Realtime segmentation of range data using continuous nearest neighbors. In 2009 IEEE International Conference on Robotics and Automation, pages 2431–2436. IEEE, 2009.

[^9]: Kenji Koide, Jun Miura, and Emanuele Menegatti. A portable three-dimensional lidar-based system for long-term and wide-area people behavior measurement. International Journal of Advanced Robotic Systems, 16(2):1729881419841532, 2019.

[^10]: Alex H Lang, Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, and Oscar Beijbom. Pointpillars: Fast encoders for object detection from point clouds. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 12697–12705, 2019.

[^11]: Andres Milioto, Jens Behley, Chris McCool, and Cyrill Stachniss. Lidar panoptic segmentation for autonomous driving. In 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 8505–8512. IEEE, 2020.

[^12]: Andres Milioto, Ignacio Vizzo, Jens Behley, and Cyrill Stachniss. Rangenet++: Fast and accurate lidar semantic segmentation. In 2019 IEEE/RSJ international conference on intelligent robots and systems (IROS), pages 4213–4220. IEEE, 2019.

[^13]: Seungcheol Park, Shuyu Wang, Hunjung Lim, and U Kang. Curved-voxel clustering for accurate segmentation of 3d lidar point clouds with real-time performance. In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 6459–6464. IEEE, 2019.

[^14]: Kshitij Sirohi, Sajad Marvi, Daniel Büscher, and Wolfram Burgard. Uncertainty-aware lidar panoptic segmentation. In 2023 IEEE International Conference on Robotics and Automation (ICRA), pages 8277–8283. IEEE, 2023.

[^15]: Hugues Thomas, Charles R Qi, Jean-Emmanuel Deschaud, Beatriz Marcotegui, François Goulette, and Leonidas J Guibas. Kpconv: Flexible and deformable convolution for point clouds. In Proceedings of the IEEE/CVF international conference on computer vision, pages 6411–6420, 2019.

[^16]: Xu Yan, Jiantao Gao, Chaoda Zheng, Chao Zheng, Ruimao Zhang, Shuguang Cui, and Zhen Li. 2dpass: 2d priors assisted semantic segmentation on lidar point clouds. In European Conference on Computer Vision, pages 677–695. Springer, 2022.

[^17]: Zhi Yan, Tom Duckett, and Nicola Bellotto. Online learning for 3d lidar-based human detection: Experimental analysis of point cloud clustering and classification methods. Autonomous Robots, 44:147–164, 2020.

[^18]: Dimitris Zermas, Izzat Izzat, and Nikolaos Papanikolopoulos. Fast segmentation of 3d point clouds: A paradigm on lidar data for autonomous vehicle applications. In 2017 IEEE International Conference on Robotics and Automation (ICRA), pages 5067–5073. IEEE, 2017.

[^19]: Yiming Zhao, Xiao Zhang, and Xinming Huang. A technical survey and evaluation of traditional point cloud clustering methods for lidar panoptic segmentation. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 2464–2473, 2021.

[^20]: Yiming Zhao, Xiao Zhang, and Xinming Huang. A divide-and-merge point cloud clustering algorithm for lidar panoptic segmentation. In 2022 International Conference on Robotics and Automation (ICRA), pages 7029–7035. IEEE, 2022.

[^21]: Zixiang Zhou, Yang Zhang, and Hassan Foroosh. Panoptic-polarnet: Proposal-free lidar point cloud panoptic segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 13194–13203, 2021.

[^22]: Xinge Zhu, Hui Zhou, Tai Wang, Fangzhou Hong, Yuexin Ma, Wei Li, Hongsheng Li, and Dahua Lin. Cylindrical and asymmetrical 3d convolution networks for lidar segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9939–9948, 2021.
