一、论文信息
- 论文题目:Near2Far: Clustering and propagating near pseudo labels for unsupervised
3D object detection - 论文作者:Liyong Wang , Junbao Zhuo , Jihuai Zhao , Jianfei Jiang , Junliang Xing , Jiansheng Chen , Huimin Ma
- 发文单位:a School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing, 100083, China b Department of Computer Science and Technology, Tsinghua University, Beijing, 100084, China
- 发表期刊:Pattern Recognition
二、研究背景
- 3D目标检测是自动驾驶系统的核心组成部分,能够可靠感知周围的车辆、行人、骑行者及其他动态物体。全监督3D检测依赖大量人工标注数据集,标注成本高、效率低;弱监督和半监督学习方法仍需要部分标注,难以满足海量激光雷达数据的训练需求。
- 现有无监督方法一般利用地面去除和空间聚类技术从点云中生成候选框。基于二位点云的几何可分性,空间聚类能够在近距离密集区域实现有效的物体定位和尺寸估计;相比之下,远距离区域存在点云稀疏和遮挡问题,这会导致检测遗漏与候选框噪声干扰,产生大量噪声伪标签,训练时误差不断积累。
GT:真实目标框
Detection:模型检测输出框
橙色圈:远距离目标;蓝色圈:近距离目标
- 左侧:T帧,当前参考帧
远距离目标存在点云稀疏、遮挡
Missed in T frame (occluded/low visibility):在 T 帧里这些目标被遮挡、能见度差,漏检了
Unreliable detection:就算勉强检出,也是不可靠、噪声很大的检测结果,不能直接拿来当伪标签。
近距离点云稠密,检测结果更可靠 - 右侧:T+N帧,后续帧
随着车辆向前行驶,刚才那些远距离目标慢慢靠近激光雷达,点云变密、遮挡消失,Detected in T+N frames:同一个物体在后续帧里可以被清晰、可靠地检测出来,得到Reliable detection(可靠检测)
- 部分方法引入自训练机制来提升无监督目标发现效果,但是这类方法的效果高度依赖初始伪标签质量,近距离区域产生的错误伪标签会不可避免进入自训练流程。这会导致训练迭代过程中不断累积误差,最终降低模型整体性能。
- 如何将实例级语义特征与空间候选框有效对齐——这对点云中目标的精准分类至关重要。空间聚类可以粗略估计目标尺寸,因此一些方法借助预定义模板,为每个聚类生成候选框并分配类别标签。然而,由于缺少充足的语义信息,尺寸相近的目标经常被错分。例如,垃圾桶、广告牌这类背景物会被误识别为行人;部分墙体、树木也会被错判成车辆。仅依靠目标尺寸构建的预定义模板,很难准确区分前景目标与背景,在复杂户外场景下该问题尤为突出。
Template-Based Misclassification —— 基于模板的分类错误
绿色框:模板输出的分类结果框
蓝色点:真实的前景目标点云(车辆)
灰色点:背景
- 左图:蓝色点才是真实车辆;但旁边的背景物体(树 / 墙体)尺寸和车辆接近,模板方法把它也框成了车辆(绿色框),背景误判为前景车辆
- 右图:右边的大框是树木 / 墙体,中间小框是垃圾桶,它们的尺寸和行人相近,模板方法把它们识别成行人;也就是背景物体(垃圾桶、广告牌)被误分为行人
三、本文创新点
提出由近及远的无监督3D目标检测整体框架,先在近距离稠密区域生成高质量伪标签,再向远距离稀疏区域传播标签,同时解决近距离语义不足、远距离伪标签噪声大、误差积累的缺点,区别于传统直接对整个空间做聚类、自训练的方案。
提出一种将近程几何结构与自监督语义特征相融合的新型聚类策略,从而提升整体检测精度:不再只依靠物体尺寸模板分类,融合点簇几何结构描述子与ProposalContrast学到的实例语义嵌入做聚类,缓解尺寸相近物体的混淆以及前置背景难以区分的问题。
原始点云与自监督特征可视化对比。(b) 为原始 BEV 点云,仅包含几何信息;© 为自监督学习得到的语义特征响应图,高亮区域对应前景目标,说明自监督特征可以有效区分前景与背景,为聚类提供语义信息。设计基于时空一致性的伪标签传播模块PLP,配套TCS时间一致性分数:利用多帧跟踪得到物体轨迹,对时空一致性高的稳定目标,把近距离可靠伪标签沿轨迹传播到远距离稀疏帧;弥补远距离点云残缺、遮挡带来的漏检,抑制远距离噪声点云残缺、遮挡带来的漏检,抑制远距离噪声伪标签进入自训练路程,减少误差累积。
设计两阶段迭代自训练方案:第一阶段只用近距离高置信伪标签训练检测器;标签传播后,第二阶段使用全空间传播后的伪标签重新训练
四、方法
4.1 整体框架
- 近距离标签生成
输入多帧点云,先提取前景、做聚类、生成初始伪标签,再过滤噪声。
作用:只在近距离稠密点云区域生成初始标签,保证初始伪标签质量,避免远距离噪声一开始就混入。 - Semantic and geometric encoding(语义 + 几何编码)
对目标候选框两路提取特征:
- 自监督分支:Self-Supervised → Semantic Encoding语义编码,得到语义向量
- 形状描述子分支:Shape Descriptors → Geometry Encoding几何结构编码,得到几何向量
两路特征拼接(Concatenate),融合语义与几何信息。
- Clusters(聚类)+ Self-training(自训练)
使用K-means对融合后的特征聚类,再投票得到类别;送入检测器迭代自训练,不断优化伪标签。 - Pseudo-label Propagation(伪标签传播模块)
基于时间轴、目标轨迹,利用时空一致性,把近距离可靠伪标签沿着轨迹传播到远距离稀疏帧,补全漏检目标。
4.2 近距离初始伪标签生成
为了获得有助于无监督3D目标检测中自训练的初始候选框,从激光雷达点云的近距区域提取高置信度目标候选框。这些区域具有点分布密集、目标形状完整且几何可分性强的特点,非常适合用于可靠的目标发现与候选框生成。该过程包含三个主要步骤:地面去除、空间点云聚类以及3D边界框拟合。最终目标:输出一批位置准确、噪声少,但是暂时没有类别的候选框。
- 地面去除
采用快速分割算法对每一帧的地面点进行过滤,以便对空间中的目标进行聚类。最终,保留所有位于拟合平面上方30厘米以上的点作为非地面点。 - 空间聚类
拿到了一堆点,但是点和点之前是混杂的:我们需要把属于同一个物体的点划分成一个簇。
这里选用 DBSCAN 密度聚类,而不是 K-means,原因:K-means 需要预先知道一共有多少个目标,真实场景目标数量不固定;DBSCAN 是密度聚类,可以自动识别簇,同时把孤立的散点直接标记为噪声 - 对每一个点簇拟合3D包围盒
聚类得到点簇之后,我们需要用标准 3D 检测框去描述这个目标,方便后续作为伪标签 - 噪声过滤,得到最终初始伪标签集合
两个过滤条件:
- 簇内点数阈值,小于阈值直接不要
- 提及与之,过大过小都不要
4.3 语义与几何编码
得到的初始候选框仅包含目标的空间位置信息,仅依靠几何尺寸难以区分尺寸相近但语义不同的物体,易出现模板错分问题。为此,本文设计双分支编码结构,分别提取自监督语义特征与几何形状特征,并将两类特征拼接融合,构建兼顾外形结构与语义属性的联合特征向量,用于后续实例聚类与类别划分。
- 几何特征编码:a1Da_{1D}a1D线性度(一维特征)表征点云沿单一主轴拉伸、呈线状分布的程度;a2Da_{2D}a2D平面度(二维特征)表征点云分布在一个平面上、呈片状分布的程度;a3Da_{3D}a3D体积度(三维特征)表征点云向三维空间散开、呈立体团状分布的程度。λ1,λ2,λ3\lambda_1,\lambda_2,\lambda_3λ1,λ2,λ3是对候选框内点云做协方差矩阵特征分解、按从大到小排序得到的特征值,λi\sqrt{\lambda_i}λi代表点云沿第iii个主方向的分布幅度。
a1D=λ1−λ2λ1a_{1D} = \frac{\sqrt{\lambda_1}-\sqrt{\lambda_2}}{\sqrt{\lambda_1}}a1D=λ1λ1−λ2
a2D=λ2−λ3λ1a_{2D} = \frac{\sqrt{\lambda_2}-\sqrt{\lambda_3}}{\sqrt{\lambda_1}}a2D=λ1λ2−λ3
a3D=λ3λ1a_{3D} = \frac{\sqrt{\lambda_3}}{\sqrt{\lambda_1}}a3D=λ1λ3
细长目标:a1Da_{1D}a1D大;扁平目标:a2Da_{2D}a2D大;球状目标:a3Da_{3D}a3D大;还融入了尺寸比例特征,高宽比不同,也可以区分物体。 - 自监督语义编码
仅靠上面得到的几何描述子还无法区分语义不同但形状相似的物体,容易出现模板匹配带来的错分问题。
- 采用 ProposalContrast 编码器作为自监督特征提取器。首先将每个激光雷达帧进行体素化,然后传入稀疏卷积骨干网络,生成与原始空间布局对齐的鸟瞰图(BEV)特征图。随后将初始三维候选框投影至鸟瞰图特征图上,通过全局平均池化裁剪并聚合对应区域特征,得到候选框级别的语义嵌入。这些嵌入能够捕捉目标级别的语义信息,支持无监督语义聚类,因为同一类别的候选框倾向于聚集在一起。
- 基于特征融合的聚类
把语义向量和前面的几何向量拼在一起:一个看外形,一个认类别。两个信息放一起,聚类的时候就不容易把长得像但不是一类的物体分到一起了
使用 K-means 聚类,固定K=3以对应车辆、行人、骑行者三类目标。尽管部分候选框存在噪声,但大部分前景样本保证聚类稳定。聚类仅得到簇编号(伪类别),无法对应真实类别,因此借助预定义形状模板,通过 IoU 投票的方式为每个簇匹配类别名称;模板仅用于类别映射,不参与训练,全程不需要人工标注的 3D 框。单靠几何特征在遮挡、稀疏场景下有一定效果,但难以区分外形相近、语义不同的物体(如行人与垃圾桶),融合语义特征后可以互补,提升特征区分能力,获得更好的聚类效果。
候选框融合特征的 t-SNE 二维可视化图t-SNE 的作用是把高维的融合特征压缩投影到二维平面上,方便直观观察特征的分布与可分性
- 绿色:车辆
- 橙色:行人
- 蓝色:骑行者
- 可以看到,三类样本各自聚集形成独立的簇,不同类别之间的分界清晰,说明几何 + 语义融合得到的特征区分性很好,同类目标的特征在特征空间里彼此靠近,不同类目标相互分离,能够支撑后续 K-means 无监督聚类完成类别挖掘。
4.4 伪标签传播
由于点云的稀疏性以及远距离区域的遮挡问题,直接生成的伪标签往往质量较低,甚至漏检。提出了一种伪标签传播机制,通过融入时空一致性,近距离区域的高置信度标签会逐步传播到远距离区域。
点云送到3D检测器,同时IMU/GPS给自车定位,用来统一坐标。
- State Modeling(状态建模 + 滤波)
检测器输出每一个检测结果:置信度、目标类别、3D框。
然后做滤波:把置信度很低的检测框直接丢掉,留下靠谱的预测。同时利用卡尔曼滤波,根据上一帧轨迹预测这个物体这一帧应该在哪儿——Prediction - Data Association(数据关联,贪心匹配 Greedy Matching)
上面是本帧新检测,下面是轨迹预测出的框,做贪心匹配,把检测和预测框对应上,匹配不上的就打叉,代表这个预测轨迹在这一帧并没有对应的检测。 - Track Management(轨迹管理)
- Track Initialization轨迹初始化:没匹配上的新检测 → 新开一条轨迹,分配新 ID
- Track Update轨迹更新:匹配成功的 → 更新这条轨迹的状态(位置、速度)
- Track Termination轨迹中止:连续多帧都匹配不到检测的老轨迹 → 删掉这条轨迹
- 输出
输出带唯一ID的轨迹,每个框上的数字就是目标ID,同一个物体的ID全程不变。
一条回传箭头:更新完的轨迹送回去给下一帧做预测,循环。
4.4.1 轨迹初始化
- 轨迹初始化:定义目标状态向量
xti=[px,py,pz,l,w,h,θ,vx,vy]x_t^i = \left[p_x,p_y,p_z,l,w,h,\theta,v_x,v_y\right]xti=[px,py,pz,l,w,h,θ,vx,vy]
其中(px,py,pz)(p_x,p_y,p_z)(px,py,pz)代表3D位置,l,w,hl,w,hl,w,h为框的长宽高,θ\thetaθ是朝向角,vx,vyv_x,v_yvx,vy为xy方向速度;检测器每帧输出框参数与置信度,所有框统一转换至全局坐标系,保证前后帧坐标一致。
4.4.2 时空一致性传播
上面已经得到了一条条带ID的轨迹。
本部分目的:判断这条轨迹稳不稳;稳定的轨迹就用来跨帧补漏检的伪标签,解决远处目标点云稀疏、经常漏检的问题
- TCS时间一致性分数,衡量这条轨迹连续、稳定的程度
Mij=1∣Ti∣−1∑tsti⋅IoU(kti,kt+1i)\mathcal{M}_i^j = \frac{1}{|\mathcal{T}_i|-1}\sum_t s_t^i \cdot \mathrm{IoU}(k_t^i, k_{t+1}^i)Mij=∣Ti∣−11t∑sti⋅IoU(kti,kt+1i)
- Mij\mathcal{M}_i^jMij:第i个物体,第j条轨迹的TCS分数
- stis_t^isti:t帧这个框的检测置信度。
- ∣Ti∣|\mathcal{T}_i|∣Ti∣:这条轨迹一共占了多少帧
TCS 越高 = 相邻帧框重合度高、置信度稳定 → 轨迹靠谱,适合拿来跨帧传标签
TCS 越低 = 框跳来跳去、置信忽高忽低 → 轨迹不稳,传标签很容易传错,尽量不用
- 动态物体VS静态物体
- 动态物体(车、行人):一直在动,相邻框 IoU 低、置信波动大 → TCS 低,跨帧传标签误差大,不好传
- 静态物体(路边静止物体):位置不变,IoU 高、置信稳定 → TCS 高,很适合做伪标签传播
- 传播规则
只对TCS 高、判定稳定的轨迹做标签传播,在一小段连续帧窗口里面操作:
- 如果当前帧已经检测到这个目标(已经有这个 ID 的框):跳过,不用传标签
- 如果当前帧漏检了:在这条轨迹所有之前的帧里面,找离当前帧时间最近的那一帧作为参考标签,向前 / 向后把标签传过来
五、实验
在 Waymo 数据集上,对比不同方法生成伪标签的质量,指标是 3D AP,从类别、IoU 阈值、难度等级三个维度对比
- 三类:车辆、行人、骑行者
- L1:近处、简单样本 L2:远处、困难样本
- IoU阈值判定
- DBSCAN、MODEST、OYSTER、CPD:其他主流伪标签生成方法
Near2Far 生成的伪标签,车辆、行人上明显优于其他方法,骑行者和最优基线持平;哪怕是 L2 这种远距离、困难样本上,依然保持更高的 3D AP,证明前面这套跟踪 + TCS 时空一致性传播的策略,确实能产出更高质量的伪标签。
Waymo 验证集上无监督 3D 目标检测最终结果
车辆、行人提升显著,尤其是 L2 远距离困难目标提升很大,验证了整套 Near2Far 方案的有效性。在 PandaSet 测试集上的无监督 3D 目标检测结果
在 PandaSet 这个全新数据集上,我们的 Near2Far 依然保持很好的效果,车辆上优势明显,行人、骑行者和 SOTA 基线 CPD 相当。验证了方法具备良好的跨数据集泛化能力,不是过拟合在 Waymo 数据集上。伪标签分类准确率(%)
GT-Matched:和真值框匹配上的伪标签比例,代表定位层面匹配真值的能力,这个指标越高越好
骑行者分类准确率下降:骑行样本本身数量少、外形变化大,是难点
整体更高的 GT-Matched 率,说明我们时序跟踪 + TCS 打分的策略,能得到位置更可靠的伪标签,而可靠的位置信息正是无监督检测里最关键的
聚类(Clustering)与伪标签传播(Propagation,Prop)两个模块的消融实验,验证各自的贡献
伪标签传播策略对车辆时序一致性建模收益更大,行人运动更随机,传播带来的收益有限甚至会引入少量噪声。两个模块组合起来整体最优,证明了这两个组件设计的有效性。
聚类模块可以带来基础性能提升;伪标签传播模块对车辆类的提升效果尤其显著
不同距离下伪标签传播对召回率的影响
PLP 伪标签传播,对远距离目标的召回提升效果远大于近距离
原因:远距离点云稀疏、特征弱,原本很容易漏检;利用时序跟踪做标签传播,可以补出很多远距离漏检目标,这正是 PLP 模块最核心的价值
在 PV-RCNN 这个骨干网络下,对比 CPD 和本文 Near2Far 方法的性能
更换骨干网络,证明本文方案不依赖任何特定检测器
说明我们提出的聚类 + 伪标签传播这套策略具备良好的通用性,不是只能在某一个检测网络上生效,可以和 PV-RCNN 这类经典 3D 检测器结合,稳定带来性能增益。
在 Waymo 验证集上,对比 MODEST、CPD 和本文 Near2Far 的可视化效果。
白色:GT
红色:模型预测框
虚线框:重点对比 - 上图:远距离稀疏场景
远距离目标点云很少,最难检出。
MODEST 漏检较多;CPD 检出一部分,但依然有缺失;Near2Far(c)虚线区域内检测框更全,和真实框匹配更好,远距离目标召回更好 - 下图:拥挤场景
目标密集、互相遮挡,容易漏检或者误检。
MODEST 漏检多;CPD 有所改善;Near2Far 在拥挤区域能检出更多目标,框的位置更贴合真值,漏检更少