Processing math: 0%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于邻域一致性的点云场景流传播更新方法

郑晗, 王宁, 马新柱, 张宏, 王智慧, 李豪杰

郑晗, 王宁, 马新柱, 张宏, 王智慧, 李豪杰. 基于邻域一致性的点云场景流传播更新方法[J]. 计算机研究与发展, 2023, 60(2): 426-434. DOI: 10.7544/issn1000-1239.202110745
引用本文: 郑晗, 王宁, 马新柱, 张宏, 王智慧, 李豪杰. 基于邻域一致性的点云场景流传播更新方法[J]. 计算机研究与发展, 2023, 60(2): 426-434. DOI: 10.7544/issn1000-1239.202110745
Zheng Han, Wang Ning, Ma Xinzhu, Zhang Hong, Wang Zhihui, Li Haojie. Point Cloud Scene Flow Propagation Update Method Based on Neighborhood Consistency[J]. Journal of Computer Research and Development, 2023, 60(2): 426-434. DOI: 10.7544/issn1000-1239.202110745
Citation: Zheng Han, Wang Ning, Ma Xinzhu, Zhang Hong, Wang Zhihui, Li Haojie. Point Cloud Scene Flow Propagation Update Method Based on Neighborhood Consistency[J]. Journal of Computer Research and Development, 2023, 60(2): 426-434. DOI: 10.7544/issn1000-1239.202110745
郑晗, 王宁, 马新柱, 张宏, 王智慧, 李豪杰. 基于邻域一致性的点云场景流传播更新方法[J]. 计算机研究与发展, 2023, 60(2): 426-434. CSTR: 32373.14.issn1000-1239.202110745
引用本文: 郑晗, 王宁, 马新柱, 张宏, 王智慧, 李豪杰. 基于邻域一致性的点云场景流传播更新方法[J]. 计算机研究与发展, 2023, 60(2): 426-434. CSTR: 32373.14.issn1000-1239.202110745
Zheng Han, Wang Ning, Ma Xinzhu, Zhang Hong, Wang Zhihui, Li Haojie. Point Cloud Scene Flow Propagation Update Method Based on Neighborhood Consistency[J]. Journal of Computer Research and Development, 2023, 60(2): 426-434. CSTR: 32373.14.issn1000-1239.202110745
Citation: Zheng Han, Wang Ning, Ma Xinzhu, Zhang Hong, Wang Zhihui, Li Haojie. Point Cloud Scene Flow Propagation Update Method Based on Neighborhood Consistency[J]. Journal of Computer Research and Development, 2023, 60(2): 426-434. CSTR: 32373.14.issn1000-1239.202110745

基于邻域一致性的点云场景流传播更新方法

基金项目: 国家自然科学基金项目(61976038,61932020,61772108,U1908210);中央高校基本科研业务费专项资金(DUT20GF18)
详细信息
    作者简介:

    郑晗: 1997年生. 硕士. 主要研究方向为3D视觉和3D场景感知

    王宁: 1994年生. 博士研究生. 主要研究方向为人工智能应用和图像处理

    马新柱: 1994年生. 博士研究生. 主要研究方向为基于图像的3D场景理解和3D目标检测

    张宏: 1993年生. 博士研究生. 主要研究方向为深度估计和立体匹配

    王智慧: 1982年生. 博士,教授. 主要研究方向为信息隐藏和图像压缩

    李豪杰: 1973年生. 博士,教授. CCF会员. 主要研究方向为社交媒体计算和多媒体信息检索

    通讯作者:

    王智慧(zhwang@dlut.edu.cn

  • 中图分类号: TP391

Point Cloud Scene Flow Propagation Update Method Based on Neighborhood Consistency

Funds: This work was supported by the National Natural Science Foundation of China (61976038,61932020, 61772108, U1908210) and the Fundamental Research Funds for the Central Universities (DUT20GF18).
  • 摘要:

    场景流是连续动态场景之间的3D运动场,广泛应用于机器人技术和自动驾驶任务.现有方法忽略了点云点的相关性,仅关注源点云和目标点云逐点的匹配关系,由于匹配关系完全依赖于点云数据的特征信息,导致在局部特征信息不足的点上准确估计场景流仍然存在挑战.根据源点云相邻点具有相关性的特性,提出NCPUM(neighborhood consistency propagation update method)方法,在邻域内将场景流从高置信度点向低置信度点传播,从而优化局部特征信息不足点的场景流.具体来说,NCPUM包含2个模块:置信度预测模块,根据场景流先验分布图,预测源点云逐点的置信度;场景流传播模块,根据局部区域一致性的约束更新低置信度点集的场景流.NCPUM在合成数据集Flyingthings3D和真实驾驶场景数据集KITTI上进行评估,准确度上达到了国际先进水平.由于邻域一致性更符合真实激光雷达场景的先验假设,因此在KITTI数据集上的提升更加明显.

    Abstract:

    Scene flow is a 3D motion field between continuous dynamic scenes, which is widely applied in robotics and autonomous driving tasks. Existing methods ignore the correlation of point cloud points and focus only on the point-by-point matching relationship between the source point cloud and target point cloud, which is still challenging to estimate the scene flow accurately at the points with insufficient local feature information, because the matching relationship depends entirely on the feature information of the point cloud data. Considering the correlation property of the source point cloud’s local regions, the NCPUM (neighborhood consistency propagation update method) is proposed to propagate the scene flow from high-confidence points to low-confidence points in local regions, so as to optimize the scene flow at the points with insufficient local feature information. Specifically, NCPUM consists of two modules: the confidence prediction module, which predicts the confidence of the source point cloud according to the priori distribution map of scene flow; the scene flow propagation module, which updates the scene flow of the low confidence point set based on the local area consistency constraint. We evaluate NCPUM on both challenging synthetic data from Flyingthing3D and real Lidar scans from KITTI, and experiment results outperform by previous methods a large margin in accuracy, especially on KITTI dataset, because the neighborhood consistency is more applicable with the a priori assumptions of real Lidar scans.

  • 场景流(scene flow, SF)是定义在2个连续场景中表面点的3D运动场,是一个感知动态场景的基本工具.随着自动驾驶、人机交互等应用的大规模商业落地,感知系统需要精确感知环境中的动态运动物体[1-2],因此精确估计场景流成为近年来的研究热点.由LiDAR等3D传感器直接获得的点云数据可以得到场景中点的精确位置信息,因此点云数据被广泛应用于场景流估计任务中.点云数据仅包含3D点坐标,因此在稀疏点、边缘点处会出现特征信息不足的现象,在这些点上的匹配会更加困难,这些匹配困难点严重影响场景流估计的整体准确度.

    近几年的方法都是关注2个连续点云间对应的匹配关系来优化场景流的估计精度,FlowNet3D[3]在单尺度上获取匹配关系;HPLFlowNet[4]使用双边卷积层(bilateral convolutional layer, BCL),在多个尺度上联合计算匹配关系[5];PointPWC-Net[6]在多个尺度上建立用于匹配的代价体(cost volume, CV)和重投影(warping)模块.但这些方法仅考虑了点云间的匹配关系,缺少优化匹配困难点的方式. 如图1(a)所示,图片中的点为场景的一部分,其中红色代表该点的端点误差(end point error, EPE)小于0.05 m;绿色代表该点的端点误差大于等于0.05 m且小于0.3 m;蓝色代表该点的端点误差大于等于0.3 m.在图1(a)虚线框中,PointPWC-Net在一个局部邻域内(一个汽车整体)同时有匹配准确的红色点和匹配困难的蓝色点.本文提出的基于邻域一致性的点云场景流传播更新方法(neighborhood consistency propagation update method,NCPUM)方法根据点云相邻点的相关性,即属于源点云的场景流在足够小的邻域内很大程度上存在一致性,将局部邻域中的准确场景流传播到匹配困难点上.可以有效地减少匹配困难点场景流的误差,提升整体准确度.图1(b)为经过NCPUM方法优化后的效果,可以看到在虚线框内的汽车点和匹配困难的蓝色点消失,匹配较差的绿色点明显减少,匹配准确的红色点明显增多.

    图  1  2种方法的可视化对比
    Figure  1.  Visual comparison of the two methods

    具体来说,NCPUM假设利用点云内相邻点的相关性使场景流估计具有邻域一致性,通过置信度图传播更新提升整体场景流估计的准确度.基于该假设,NCPUM设计了置信度预测模块和场景流传播模块,对骨干网络输出的初始场景流预测置信度图,经过场景流传播模块在具有一致性的邻域内将场景流从高置信度点集向低置信度点集传播,改善邻域内匹配困难点的准确度.本文的贡献有2方面:

    1)根据场景流的邻域一致性设计了场景流传播优化方法NCPUM.该方法使用场景流在局部邻域内传播的方式,改善估计效果.NCPUM的评估结果优于之前的工作,证明了该方法的有效性.

    2)NCPUM在Flyingthings3D和KITTI数据集上的测试结果在准确度上达到国际先进水平,并更换不同的骨干网络进行了测试,验证了NCPUM对于不同的骨干网络都能明显提升其估计准确度.

    在Vedula等人[7]工作中,定义和介绍了场景流的概念,之后许多工作[8-12]在多种类型的数据集上进行场景流的估计,随着最近几年基于点云的深度学习方法[13-15]的发展,可以在点云上直接估计场景流.其中一个使用可学习的深度网络来估计点云上的场景流的方法是FlowNet3D[3],它将下采样的特征进行嵌入,得到点云间的运动信息,通过上采样方法回归得到对应点的场景流.FlowNet3D只在单一尺度上进行了特征的嵌入,单一尺度的感受野无法在大尺度和小尺度运动上同时获得精确的估计结果. HPLFlowNet[4]使用双边卷积在多个尺度上联合计算匹配度,但限于内存使用限制无法在上采样过程中细化场景流.而PointPWC-Net[6]遵循了光流估计的“由粗到细”(coarse to fine, CTF)的范式,在多个尺度的局部范围内使用PointConv[13]建立用于匹配的代价体和重投影的模块.FLOT[16]通过最优传输(optimal transport),优化源点云和目标点云的匹配关系.这些关注于匹配关系的方法得到了很好的场景流估计结果.HALFlow[17]使用注意力机制,嵌入更多的位置信息,获得更准确的场景流估计结果.

    文献[34,6,13,1617]都是通过匹配连续点云间的特征回归出对应源点云的场景流,在匹配困难点处没有额外的优化措施.本文方法在源点云中根据相邻点的相关性,在邻域内改善匹配困难点的场景流,获得优于匹配方法的估计准确度.

    之前的场景流估计工作中都会注重在邻域内提取特征,根据提取到的特征来进行连续点云间的匹配[3-4,6,17-19],回归出点云间的场景流.但这只是在提取的特征上包含了邻域信息,在邻域特征信息不足的点上会出现匹配困难的情况.在同样使用邻域信息进行匹配的任务中[20-21],LiteFlowNet3[20]根据局部光流一致性,在代价体上对邻域内的点进行优化,获得了相对于匹配方法更好的光流估计精度.受该想法的启发,我们合理假设在2个连续场景中,一个合适的邻域内的点共享相同的运动模式,因此在邻域内的场景流具有一致性.NCPUM根据初始场景流显式的估计置信度,在邻域内的高置信度点向低置信度点进行传播更新.与现有方法不同的是,NCPUM的更新操作是在场景流上而非在特征上,所依赖的也不是特征上的相关或者相似,而是点云邻域内场景流的一致性.

    NCPUM从场景流邻域一致性假设出发,构建了一种对场景流在邻域内传播更新的优化方法.具体网络框架如图2所示,分别构建置信度预测模块和场景流传播模块实现NCPUM优化方法.首先是估计初始场景流的骨干网络,在得到初始场景流以及对应特征之后,送入置信度预测模块;然后在置信度预测模块中使用编码器-解码器(encoder-decoder)的网络结构,对输入的场景流进行置信度图的预测,置信度图用来表示各个场景流估计是否准确;最后在场景流传播模块中,根据预测得到的置信度图将场景流从高置信度点集向低置信度点集传播,更新低置信度点的场景流,降低匹配困难点对准确度的影响.

    图  2  网络结构图
    Figure  2.  Network structure

    场景流估计任务的最终目标是估计2个连续点云之间的运动矢量,因此定义2个连续的3D点云场景:源点云P=\left\{{\boldsymbol{x}}_{i}\right|i=\mathrm{1,2},…,{n}_{1}\},和目标点云Q=\left\{{\boldsymbol{y}}_{j}\right| j= \mathrm{1,2},…,{n}_{2}\},其中{\boldsymbol{x}}_{i},{\boldsymbol{y}}_{i}\in {\mathbb{R}}^{3}并且 i 并不必须与 j 相等.源点云 P 中的点运动到目标点云 Q 中的对应点的运动矢量场为{{F}}=({\boldsymbol{f}}_1 … {\boldsymbol{f}}_{n_1}),该运动矢量场即为最终估计的场景流.估计的场景流是基于源点云 P 的,因此场景流与源点云中的点一一对应.

    在估计初始场景流时,使用的是PointPWC-Net作为骨干网络,该方法使用2个连续的点云作为输入,使用特征金字塔的结构,在每个分辨率尺度上都进行一次源点云 P 到目标点云 Q 的重投影,之后进行匹配度代价体的计算,代价体定义了逐点的匹配程度,PointPWC-Net对代价体进行回归得到逐点的场景流.

    在PointPWC-Net中,构建了4个尺度的特征金字塔,在得到4个尺度的点特征后,场景流的估计会从较粗的尺度进行,遵循由粗到细的规范.估计了当前尺度的场景流后,会上采样到更精细的尺度,将上采样的场景流对源点云进行重投影,在当前尺度上对重投影后的点云和对目标点云估计一个相对于上一个尺度场景流的残差,以完成对估计场景流的精细化.将整个重投影过程进行公式化定义:

    {{{P}}}_{\mathrm{w}}=\{{\boldsymbol{p}}_{\mathrm{w},i}={\boldsymbol{p}}_{i}+{\boldsymbol{f}}_{i}|{\boldsymbol{p}}_{i}\in P,{\boldsymbol{f}}_{i}\in {F}^{\mathrm{u}\mathrm{p}}{\}}_{i=1}^{{n}_{1}}, (1)

    其中 P 为源点云, {P}_{\mathrm{w}} 为重投影后的点云, {F}^{\mathrm{u}\mathrm{p}} 为从上一个尺度上采样的场景流.

    在PointPWC-Net中,对2个点云以及对应的特征进行了代价体的构建. 假设 {\boldsymbol{g}}_{i}\in {\mathbb{R}}^{C} 是对应目标点云点 {\boldsymbol{p}}_{i}\in P 的特征, {\boldsymbol{h}}_{j}\in {\mathbb{R}}^{C} 是对应目标点云点 {\boldsymbol{q}}_{i}\in Q 的特征,那么对应2个点之间的匹配度定义为:

    Cost({\boldsymbol{p}}_{i},{\boldsymbol{q}}_{j})=M\left(concat\right({\boldsymbol{g}}_{i},{\boldsymbol{h}}_{j},{\boldsymbol{q}}_{j}-{\boldsymbol{p}}_{i}\left)\right), (2)

    使用多层感知机(multilayer perceptron) M 将2点之间的潜在关系和点与点之间的距离串联后进行学习.在有了点对点的匹配度之后,将其组成当前尺度的代价体,PointPWC-Net根据源点云点到目标点云邻域点的距离对代价体加权,即对于1个源点云的点 {\boldsymbol{p}}_{i}\in P ,得到它在目标点云 Q 上的1个邻域 {N}_{Q}\left({\boldsymbol{p}}_{i}\right) ,再根据目标点云邻域中的每个点到源点云点的距离得到权重C.

    C=\displaystyle \sum _{{\boldsymbol{q}}_{j}\in {N}_{Q}\left({\boldsymbol{p}}_{i}\right)}{W}_{Q}({\boldsymbol{q}}_{j},{\boldsymbol{p}}_{i})Cost({\boldsymbol{q}}_{j},{\boldsymbol{p}}_{i}), (3)
    {W}_{Q}({\boldsymbol{q}}_{j},{\boldsymbol{p}}_{i})=M({\boldsymbol{q}}_{j}-{\boldsymbol{p}}_{i}). (4)

    使用PointPWC-Net估计初始场景流时,沿用了多尺度监督损失,对应估计得到4个尺度的场景流,对场景流真实值采样到同样的尺度,在对应的尺度上做不同权重 \alpha 的2范数监督.

    {Loss}_{\mathrm{s}\mathrm{f}}=\displaystyle \sum _{l={l}_{0}}^{L}{\alpha }_{l}\displaystyle \sum _{\boldsymbol{p}\in P}\left|\right|{{\boldsymbol{F}}}^{l}\left({\boldsymbol{p}}\right)-{{\boldsymbol{F}}}_{\boldsymbol{GT}}^{l}\left(\boldsymbol{p}\right)|{|}_{2}. (5)

    在骨干网络输出初始场景流后,会经过置信度预测模块对初始场景流预测置信度图.该置信度定义为初始场景流相对于真实值的误差,即预测的误差值越小,表示该点在骨干网络中估计的初始场景流越准确,置信度值越高.置信度预测模块首先使用“编码器−解码器”的构造,以初始场景流的3D矢量信息作为输入,在编码器过程中进行点的下采样,可以扩大置信度预测模块的感受野,参考更多的相邻场景流推断置信度;然后在解码器的上采样过程中使用跳跃链接,串联编码过程中对应尺度的特征信息,为上采样提供更多精细尺度的特征,获得更精细的上采样结果,并且考虑骨干网络中输出的场景流特征;最后使用sigmoid函数输出1个(0-1)分布的置信度图,并将该置信度图用于之后的场景流传播模块中.

    置信度预测模块使用的是有监督的训练方式,监督信息是初始场景流与场景流真实值的2范数二值化得到的先验分布图,该分布图为初始场景流相对于真实值的先验误差分布.设定阈值 \theta ,当初始场景流与真实值的2范数小于 \theta 时,设定为0,否则设定为1.由此得到的分布图为场景流先验的二分类分布图,用来监督置信度预测模块的输出.

    {\boldsymbol{GT}}_{{\rm{conf}}}=\left\{\begin{aligned} &0, |{\boldsymbol{F}}-{{\boldsymbol{GT}}}_{{\rm{sf}}}| <\theta ,\\ &1,|{\boldsymbol{F}}-{{\boldsymbol{GT}}}_{{\rm{sf}}}| \geqslant \theta , \end{aligned}\right. (6)
    \begin{aligned} {Loss}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}}=\;&-({{\boldsymbol{GT}}}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}}\times \mathrm{ln}\;confmap+\\ &(1-{{\boldsymbol{GT}}}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}})\times \mathrm{ln}\left(1-confmap\right)),\end{aligned} (7)

    其中 confmap 是置信度预测模块得到的置信图.{{\boldsymbol{GT}}}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}}是场景流先验分布图,在式(6)中由初始场景流F和真实值{{\boldsymbol{GT}}}_{\mathrm{sf}}处理得到.估计置信度图的最后一层使用sigmoid函数将其转换为0~1之间的分布,因此就可以使用二分类交叉熵(binary cross entropy, BCE)进行监督.

    经过场景流置信度图的预测,根据场景流置信度得到源点云中的高置信度点集和低置信度点集,由高置信度点集向低置信度点集进行限制半径的传播;根据邻域一致性的假设,如果高置信度点与低置信度点的传播半径不大于传播半径阈值,可以认为两点的场景流拥有一致性,可以使用高置信度点的场景流更新低置信度点的场景流.

    {\boldsymbol{p}}_{2}=KNN\left({\boldsymbol{p}}_{1}\right),\quad {\boldsymbol{p}}_{1},{\boldsymbol{p}}_{2}\in P, (8)

    {\boldsymbol{p}}_{1} {\boldsymbol{p}}_{2} 都属于源点云 P ,因为邻域一致性依赖于点云内相邻点的相关性,所以距离最近的点最有可能存在场景流的邻域一致性,式 \left(8\right) KNN 为K最近邻(K-nearest neighbor)方法采样低置信度点 {\boldsymbol{p}}_{1} 在源点云的最近点.

    f\left({\boldsymbol{p}}_{1}\right)=f\left({\boldsymbol{p}}_{2}\right), \quad {\rm{if}}({\boldsymbol{p}}_{1}-{\boldsymbol{p}}_{2}) < \beta , (9)

    其中 {\boldsymbol{p}}_{1} {\boldsymbol{p}}_{2} 分别为低置信度点和高置信度点, \beta 为传播半径阈值,当两点的距离不大于传播半径时传播更新低置信度点的场景流. 这里传播半径阈值非常重要,点云中的相邻点只有空间距离在一定阈值内才会具有相关性,在点密度足够的情况下,对于小邻域内的点的场景流具有一致性,这个邻域的半径阈值设置不同的数值会影响到优化结果.

    NCPUM在优化初始场景流时,会将反传的梯度在初始场景流处截断,即训练置信度预测模块时不会影响到骨干网络PointPWC-Net.

    与之前的工作的训练过程[4, 6, 16]类似,NCPUM在合成数据集Flyingthings3D[22]上训练模型,然后在Flyingthings3D和真实场景数据集KITTI[23]两个数据集上进行测试,将测试结果与其他方法的结果在表1中进行对比.之所以使用这样的训练策略是因为很难在真实场景中确定出来一个场景流真实值,这里使用的KITTI数据集只有142个场景,而合成数据集有更大的数据量可供训练,如Flyingthings3D数据集有19640对点云可以进行训练.在训练之前,遵循HPLFlowNet和PointPWC-Net的方式对数据进行了预处理,点云场景中没有被遮挡的点.

    表  1  NCPUM与其他方法的对比
    Table  1.  Comparison of NCPUM and Other Methods
    数据集方法EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    Flyingthings3DFlowNet3D[3]0.11441.377.060.2
    HPLFlowNet[4]0.08061.485.542.9
    PointPWC-Net[6]0.05973.892.834.2
    FLOT[16]0.05273.292.735.7
    HALFlow[17]0.04978.594.730.8
    NCPUM0.06076.193.930.7
    KITTIFlowNet3D[3]0.17737.466.852.7
    HPLFlowNet[4]0.11747.877.841.0
    PointPWC-Net[6]0.06972.888.826.5
    FLOT[16]0.05675.590.824.2
    HALFlow[17]0.06276.590.324.9
    NCPUM0.07078.191.522.3
    注:黑体数字表示最优结果.
    下载: 导出CSV 
    | 显示表格

    在接下来的内容中,将介绍NCPUM实现的细节,然后将测试结果与之前的方法进行对比,证明了NCPUM的有效性.并且我们认为Flyingthings3D数据集与KITTI数据集差异较大,将NCPUM在KITTI数据集前100对数据上进行微调,在后42对数据上进行了测试,更换不同骨干网络微调的测试结果在表3中展示,证明NCPUM基于邻域一致性假设的传播更新方法更适用于真实场景,并进行了消融实验,对传播半径阈值进行更多的对比实验.

    表  3  在KITTI数据集上微调测试
    Table  3.  Fine Tuning and Testing on KITTI Dataset
    骨干网络方法EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    FlowNet3D[3]w/o ft0.17327.660.964.9
    w ft0.10233.670.344.9
    NCPUM0.09438.674.137.1
    PointPWC-Net[6]w/o ft0.06972.888.826.5
    w ft0.04582.795.125.3
    NCPUM0.04387.596.924.3
    FLOT[16]w/o ft0.05675.590.824.2
    w ft0.02989.496.818.0
    NCPUM0.02889.997.017.5
    注:黑体数字表示最优结果;w/o表示with/without;ft表示fine-funing.
    下载: 导出CSV 
    | 显示表格

    NCPUM的训练设置与骨干网络PointPWC-Net相同,对输入的点云采样到8192个点,为其构建4层的特征金字塔,每一层的损失权重α设置为α0 = 0.02,α1 = 0.04,α2 = 0.08,α3 = 0.16,训练时的初始学习率设置为0.001,训练800个周期,每80个周期学习率减少一半.在对KITTI进行微调时,参数设置与NCPUM设置一致,只是将训练周期减少为400个,并且学习率每40个周期减少一半.

    置信度预测模块设置了3个尺度,分别为2048,512,256个点,特征通道数都为64.在经过3次下采样的特征提取之后得到了3个尺度的场景流特征,再经过3次上采样将特征传播到原尺度.前2个尺度的上采样都同时考虑了前一尺度的特征和下采样时对应的特征;后1个尺度的上采样考虑原尺度的场景流,在上采样到原尺度之后,与骨干网络输出的场景流特征串联在一起,经过2个1D卷积,再经过sigmoid得到0~1分布的置信度.

    本文沿用了场景流估计任务一直以来的评价标准[3-4, 6,18],假设 \boldsymbol{F} 代表场景流估值,{\boldsymbol{F}}_{{\boldsymbol{GT}}}代表场景流真实值,各个评价标准的定义为:

    1)EPE3D. \left|\right|{\boldsymbol{F}}-{{\boldsymbol{F}}}_{{\boldsymbol{GT}}}|{|}_{2} 表示点云上的逐点误差平均值.

    2)Acc3DS. EPE3D < 0.05\;\mathrm{m} 或者相对误差 < 5\% 的点占比.

    3)Acc3DR. EPE3D < 0.1\;\mathrm{m} 或者相对误差 < 10\% 的点占比.

    4)utlier3D. EPE3D > 0.3\;\mathrm{m} 或者相对误差 > 10\% 的点占比.

    Flyingthings3D可用于训练的数据集共有19640对点云,可用于测试的数据集有3824对点云.与FlowNet3D、 PointPWC-Net模型方法的设置相同,本文只使用深度小于35 m的点,大部分的前景物体都能包含在这个范围内.对每个点云采样得到8192个点用于训练和测试,训练设置参数在3.1节网络实现细节中进行了介绍.

    表1展示了在Flyingthings3D数据集上NCPUM在2个准确度指标和离群值占比指标上均优于骨干网络PointPWC-Net.尤其是Acc3DS指标,对比PointPWC-Net有2.3%的提升.但在EPE指标上略低于PointPWC-Net.其原因是在场景流传播模块中会使低置信度点的场景流与高置信度点的场景流相等,对于估计偏差大的点,会传播更新一个准确的场景流,对于估计误差小的低置信度点,传播更新操作反而带来了精度上的扰动.但是准确度是统计EPE3D < 0.05 m或者相对误差< 5%的点占比,所以我们的方法能够优化估计偏差大的匹配困难点,提升准确度.本文在表2中整理出更新点的统计信息(图2\hat{{\boldsymbol{F}}}F的比较),其中包含更新点占全部点的比例(更新点占比)、更新点中精度提升的占比(改进点占比)、更新点中精度下降的占比(扰动点占比)、精度提升的平均值(改进均值)、精度下降的平均值(扰动均值).可以看到,有一半以上的点其实是产生了扰动,并且产生扰动的均值大于改进的均值,因此在精度上NCPUM确实会产生一定的扰动,但是在准确度指标和离群值占比指标上有大幅提升.

    表  2  Flyingthings3D数据集更新点统计信息
    Table  2.  Statistical Information of Update Points on Flyingthings3D Dataset
    方法更新点占比/%改进点占比/%扰动点占比/%改进均值/m扰动均值/mEPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    PointPWC-Net0.05973.892.834.2
    NCPUM9.7346.9853.020.0030.0040.06076.193.930.7
    注:黑体数字表示最优结果.
    下载: 导出CSV 
    | 显示表格

    KITTI Scene Flow 2015数据集包括200个训练场景和200个测试场景,遵循之前工作的方法,在具有真实值并且可用的142对点云数据集上进行测试,并且与之前的方法保持一致[4,6],删除了点云中高度小于0.3 m的地面点.在KITTI数据集上,先使用在Flyingthings3D数据集上训练的模型直接对KITTI数据集进行测试而不经过任何微调,以评估NCPUM的泛化能力.从表1中可以看到NCPUM在Acc3DS和Acc3DR评价指标上优于PointPWC-Net,在Acc3DS指标上有5.3%的提升,在Acc3DR指标上有2.7%的提升,提升幅度大于Flyingthings3D数据集,表现出优秀的泛化性能.不经过微调而在真实数据集上表现更加优秀的原因在于真实数据集KITTI的点云数据物体之间的距离大于Flyingthings3D数据集中物体之间的距离,NCPUM的邻域一致性假设更适用于这种数据特性,所以NCPUM在真实场景上会有更加优秀的表现.本文统计了表1中FLOT和NCPUM的场景流估计时间,FLOT在一秒钟内可以处理2.15对连续点云,而NCPUM在一秒钟内可以处理5.09对连续点云,NCPUM处理速度约是FLOT的2.37倍.在真实使用场景中,准确场景流在总体场景流中的占比比场景流的绝对平均误差值更有意义,拥有更多的准确场景流代表该方法为真实应用带来更好的稳定性.NCPUM在Acc3DS和Acc3DR准确度指标上都有可观的提升,尤其在真实数据集上的场景流Acc3DS指标超过PointPwc的Acc3DS指标7.28%,超过HALFlow的Acc3DS最佳结果2.09%,对比之前的方法,NCPUM的处理速度和准确度表现出更大的应用潜力.

    因为Flyingthings3D数据集和KITTI数据集存在较大的差异,直接使用在Flyingthings3D数据集上预训练的模型在KITTI数据集上测试并不能完全展示NCPUM在KITTI数据集上的性能.所以本文将KITTI数据集拆分,使用前100对场景微调NCPUM,并在剩余的42对场景上进行测试.分别将FlowNet3D,PointPWC-Net, FLOT 3种骨干网络在KITTI数据集上进行微调,然后进行NCPUM的微调,将微调后的3种骨干网络做对比.在微调之后,3种骨干网络的NCPUM可以获得更好的效果,如表3所示,微调后的NCPUM对比微调后对应的骨干网络,在4个评价标准上都有提升,与泛化能力测试结果不同的是,NCPUM在EPE指标上也有了一定的提升,我们认为,Flyingthings3D是虚拟数据集,场景中物体间的距离较小,对某一物体边缘的低置信度点传播更新,可能采样到距离较近的其他物体上的准确点,而不是同一物体中距离较远的准确点,例如图3所示,绿色点为更新场景流的低置信度点,红色的点是传播场景流的高置信度点,黄色的连线为传播更新关系.在图3(a)和图3(b)中都出现了采样到其他物体的现象;KITTI是真实数据集,物体之间的距离较大,如图3(c)所示,不容易出现采样错误的情况,只有在如图3(d)中的远端离群点上可能出现采样不准确的情况,因此KITTI相较于Flyingthings3D数据集更容易符合邻域一致性的假设.

    图  3  Flyingthings3D与KITTI替换细节对比
    Figure  3.  Comparison of Flyingthings3D and KITTI on replacement details

    因为NCPUM是基于邻域一致性假设进行构建的,因此传播半径阈值设置十分重要,不同的半径阈值设置带来的效果是不一样的,甚至不合适的半径阈值会降低NCPUM优化效果.当半径阈值设置过大时,高置信度点的场景流会传播到不具有一致性的低置信度点上,出现扰动;当半径设置过小时,只会有少部分低置信度点会被更新.数据集的不同也会影响到传播半径的设置,对比虚拟数据集,真实数据集因为物体间的距离更大,更容易设置一个合适的传播半径进行传播,这也是NCPUM泛化到真实数据集表现更好的原因.表4对2个数据集上设置的不同传播半径进行对比,NCPUM在Flyingthings3D数据集上的半径设置为0.4时达到最好效果,而在KITTI数据集上的半径设置为3.0时达到最好效果.这个数据的差异表现出在真实场景上对传播的约束更加小,传播更新可以影响到更多的点,从而带来更好的改进效果.

    表  4  NCPUM在不同半径阈值下的测试
    Table  4.  NCPUM Tested with Different Radius Threshold
    数据集半径阈值EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    Flyingthings3D1.00.06275.293.531.7
    0.40.06076.193.930.7
    0.20.06076.093.830.7
    KITTI5.00.05485.895.924.1
    3.00.04387.596.924.3
    1.00.04385.095.425.5
    注:黑体数字表示最优结果.
    下载: 导出CSV 
    | 显示表格

    为了证明NCPUM方法的泛化性能,本文尝试在不同的骨干网络上进行优化.我们分别以FlowNet3D,PointPWC-Net,FLOT为骨干网络构建使用置信度预测模块和场景流传播模块,在KITTI数据集上进行微调和使用NCPUM优化方法改进.测试结果如表3所示,在对FlowNet3D, PointPWC-Net,FLOT方法使用NCPUM优化方法后,4个指标上都有明显的提升,展示了NCPUM优化方法对不同骨干网络的泛化性.

    图4中可视化了NCPUM的传播更新过程,绿色点为更新场景流的低置信度点,红色点是传播场景流的高置信度点,黄色的连线为传播更新关系.可以看到KITTI数据集中具有一致性的汽车表面会出现估计不准确的绿色低置信度点,这些点更多是位于距离激光雷达更远的低密度点和邻域信息单一的边缘点上,若只关注连续点云间匹配的方法容易在这些点上出现较大的误差,NCPUM对匹配困难点寻找一个匹配准确点进行更新,和相邻的准确点保持一致,从而提高整体的估计准确度;同时传播过程要限制传播半径阈值,避免引入扰动.

    图  4  替换细节可视
    Figure  4.  Visualization of replacemental details

    本文提出了一种根据邻域一致性的传播更新方法NCPUM来优化估计场景流的精度.该方法通过置信度预测模块对骨干网络估计出的初始场景流预测置信度图来判断场景流准确度;然后通过场景流传播模块在有限制的传播半径内从匹配困难点寻找匹配准确点,将匹配准确点的场景流传播到匹配困难点上,以提高场景流的估计精度.NCPUM在不同的数据集Flyingthings3D和KITTI上都体现出了优于之前工作的性能.并且通过在真实数据集上的微调实验和不同传播半径的实验展现出NCPUM在真实场景数据有更加优秀的表现.

    作者贡献声明:郑晗负责提出模型、编写代码、实施实验过程和论文撰写;王宁负责修订和完善论文;马新柱负责数据分析和数据解释;张宏负责理论和实验设计;王智慧负责理论设计;李豪杰提供论文写作指导.

  • 图  1   2种方法的可视化对比

    Figure  1.   Visual comparison of the two methods

    图  2   网络结构图

    Figure  2.   Network structure

    图  3   Flyingthings3D与KITTI替换细节对比

    Figure  3.   Comparison of Flyingthings3D and KITTI on replacement details

    图  4   替换细节可视

    Figure  4.   Visualization of replacemental details

    表  1   NCPUM与其他方法的对比

    Table  1   Comparison of NCPUM and Other Methods

    数据集方法EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    Flyingthings3DFlowNet3D[3]0.11441.377.060.2
    HPLFlowNet[4]0.08061.485.542.9
    PointPWC-Net[6]0.05973.892.834.2
    FLOT[16]0.05273.292.735.7
    HALFlow[17]0.04978.594.730.8
    NCPUM0.06076.193.930.7
    KITTIFlowNet3D[3]0.17737.466.852.7
    HPLFlowNet[4]0.11747.877.841.0
    PointPWC-Net[6]0.06972.888.826.5
    FLOT[16]0.05675.590.824.2
    HALFlow[17]0.06276.590.324.9
    NCPUM0.07078.191.522.3
    注:黑体数字表示最优结果.
    下载: 导出CSV

    表  3   在KITTI数据集上微调测试

    Table  3   Fine Tuning and Testing on KITTI Dataset

    骨干网络方法EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    FlowNet3D[3]w/o ft0.17327.660.964.9
    w ft0.10233.670.344.9
    NCPUM0.09438.674.137.1
    PointPWC-Net[6]w/o ft0.06972.888.826.5
    w ft0.04582.795.125.3
    NCPUM0.04387.596.924.3
    FLOT[16]w/o ft0.05675.590.824.2
    w ft0.02989.496.818.0
    NCPUM0.02889.997.017.5
    注:黑体数字表示最优结果;w/o表示with/without;ft表示fine-funing.
    下载: 导出CSV

    表  2   Flyingthings3D数据集更新点统计信息

    Table  2   Statistical Information of Update Points on Flyingthings3D Dataset

    方法更新点占比/%改进点占比/%扰动点占比/%改进均值/m扰动均值/mEPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    PointPWC-Net0.05973.892.834.2
    NCPUM9.7346.9853.020.0030.0040.06076.193.930.7
    注:黑体数字表示最优结果.
    下载: 导出CSV

    表  4   NCPUM在不同半径阈值下的测试

    Table  4   NCPUM Tested with Different Radius Threshold

    数据集半径阈值EPE/mAcc3DS/%Acc3DR/%Outlier3D/%
    Flyingthings3D1.00.06275.293.531.7
    0.40.06076.193.930.7
    0.20.06076.093.830.7
    KITTI5.00.05485.895.924.1
    3.00.04387.596.924.3
    1.00.04385.095.425.5
    注:黑体数字表示最优结果.
    下载: 导出CSV
  • [1]

    Ouyang Wanli, Zeng Xingyu, Wang Xiaogang, et al. DeepID-Net: Deformable deep convolutional neural networks for object detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 39(7): 1320−1334

    [2] 廖瑞杰,杨绍发,孟文霞,等. SegGraph: 室外场景三维点云闭环检测算法[J]. 计算机研究与发展,2019,56(2):338−348 doi: 10.7544/issn1000-1239.2019.20180092

    Liao Ruijie, Yang Shaofa, Meng Wenxia, et al. SegGraph: An algorithm for loop-closure detection in outdoor scenes using 3D point clouds[J]. Journal of Computer Research and Development, 2019, 56(2): 338−348 (in Chinese) doi: 10.7544/issn1000-1239.2019.20180092

    [3]

    Liu Xingyu, Qi C R, Guibas L J . FlowNet3D: Learning scene flow in 3D point clouds[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2019: 529−537

    [4]

    Gu Xiuye, Wang Yijie, Wu Chongruo, et al. HPLFlowNet: Hierarchical permutohedral lattice FlowNet for scene flow estimation on large-scale point clouds[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2019: 3254−3263

    [5] 张燕咏,张莎,张昱,等. 基于多模态融合的自动驾驶感知及计算[J]. 计算机研究与发展,2020,57(9):1781−1799

    Zhang Yanyong, Zhang Sha, Zhang Yu, et al. Multi-modality fusion perception and computing in autonomous driving[J]. Journal of Computer Research and Development, 2020, 57(9): 1781−1799 (in Chinese)

    [6]

    Wu Wenxuan, Wang Zhiyuan, Li Zhuwen, et al. PointPWC-Net: Cost volume on point clouds for (self-)supervised scene flow estimation[C] //Proc of European Conf on Computer Vision. Piscataway, NJ: IEEE, 2020: 88−107

    [7]

    Vedula S, Baker S, Rander P, et al. Three-dimensional scene flow[C] //Proc of Int Conf on Computer Vision. Piscataway, NJ: IEEE, 1999: 722−729

    [8]

    Jiang Huaizu, Sun Deqing, Jampani V, et al. SENSE: A shared encoder network for scene-flow estimation[C] //Proc of Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 3194−3203

    [9]

    Teed Z, Deng Jia. RAFT-3D: Scene flow using rigid-motion embeddings[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2021: 8375−8384

    [10]

    Menze M, Geiger A. Object scene flow for autonomous vehicles[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2015: 3061−3070

    [11]

    Ma Weichiu, Wang Shenlong, Hu Rui , et al. Deep rigid instance scene flow[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2019: 3614−3622

    [12]

    Quiroga J, Brox T, F Devernay, et al. Dense semi-rigid scene flow estimation from RGBD Images[C] //Proc of European Conf on Computer Vision. Piscataway, NJ: IEEE, 2014: 567−582

    [13]

    Wu Wenxuan, Qi Zhongang, Li Fuxin. PointConv: Deep convolutional networks on 3D point clouds[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2019: 9621−9630

    [14]

    Qi C R, Su Hao, Mo Kaichun, et al. PointNet: Deep learning on point sets for 3D classification and segmentation[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2017: 77−85

    [15]

    Qi C R, Yi Li, Su Hao, et al. PointNet++: Deep hierarchical feature learning on point sets in a metric space[C] //Proc of Neural Information Processing Systems. Cambridge, MA: MIT Press, 2017: 5099−5108

    [16]

    Puy G, Boulch A, Marlet R. FLOT: Scene flow on point clouds guided by optimal transport[C] //Proc of European Conf on Computer Vision. Piscataway, NJ: IEEE, 2020: 527−544

    [17]

    Wang Guangming, Wu Xinrui, Liu Zhe, et al. Hierarchical attention learning of scene flow in 3D point clouds[J]. IEEE Transactions Image Process, 2021(30): 5168−5181

    [18]

    Gojcic Z, Litany O, Wieser A, et al. Weakly supervised learning of rigid 3D scene flow[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2021: 5692−5703

    [19]

    Chen Yuhua, Gool L V, Schmid C, et al. Consistency guided scene flow estimation[C] //Proc of European Conf on Computer Vision. Piscataway, NJ: IEEE, 2020: 125−141

    [20]

    Hui T W, Chen C L. LiteFlowNet3: Resolving correspondence ambiguity for more accurate optical flow estimation[C] //Proc of European Conf on Computer Vision. Piscataway, NJ: IEEE, 2020: 169−184

    [21] 李曈,马伟,徐士彪,等. 适应立体匹配任务的端到端深度网络[J]. 计算机研究与发展,2020,57(7):1531−1538

    Li Tong, Ma Wei, Xu Shibiao, et al. Task-adaptive end-to-end networks for stereo matching[J]. Journal of Computer Research and Development, 2020, 57(7): 1531−1538 (in Chinese)

    [22]

    Mayer N, Ilg E, Hausser P, et al. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation[C] //Proc of Computer Vision & Pattern Recognition. Piscataway, NJ: IEEE, 2016: 4040−4048

    [23]

    Menze M, Heipke C, Geiger A. Joint 3D estimation of vehicles and scene flow[J]. International Society for Photogrammetry and Remote Sensing Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences, 2015, II-3/W5: 427−434

  • 期刊类型引用(1)

    1. 陈慧娴,吴一全,张耀. 基于深度学习的三维点云分析方法研究进展. 仪器仪表学报. 2023(11): 130-158 . 百度学术

    其他类型引用(1)

图(4)  /  表(4)
计量
  • 文章访问数:  162
  • HTML全文浏览量:  28
  • PDF下载量:  60
  • 被引次数: 2
出版历程
  • 收稿日期:  2021-07-08
  • 修回日期:  2022-02-24
  • 网络出版日期:  2023-02-26
  • 刊出日期:  2023-01-31

目录

/

返回文章
返回