锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

干货!用神经网络来表达隐式场景流

时间:2022-11-08 01:00:00 1226s2no接近传感器1212s2to接近传感器1260s2no接近传感器

点击蓝字

26e4569638d877740bcfc7e2f077d2b4.png

关注我们

AI TIME欢迎每一位AI爱好者的加入!

在深入学习革命之前,许多感知算法(perception algorithm) 优化直接操作(runtime optimization) ,同时加强先验(prior) 或者正则化(regularization) 。计算机视觉中的一个典型例子是光流(optical flow) 和场景流(scene flow) 。

监督学习(supervised learning) 显式正则化在很大程度上取代了它(explicit regularization) 需求。相反,它们依赖于大量的标记数据来捕获先验统计(prior statistics) ,对许多问题来说,这些大量的数据并不总是容易获得的。

因此,这些学习方法只能针对特定领域,但不能很好地推广到数据分布中的其他不同场景。本文回顾了主要依赖于操作过程中的优化和强正则化的场景流。

文章的创新点是使用神经网络架构作为一种新型的隐式正则化器(implicit regularizer) ,表达场景流。与基于学习的场景流方法不同,优化发生在我们的方法中,因此不需要离线数据集。这种操作优化方法使我们的方法非常适合在自动驾驶和其他新数据中使用,但很难获得大量标记的真实数据(labeled ground truth) 的环境中。

场景流中我们的方法benchmark有竞争力的结果(如果不是更好的话)。此外,这种神经先验的隐式和连续场景流表达使得我们可以估计连续的一长段跨点云序列的密集对应关系(dense long term correspondences across a sequence of point clouds) 。

本期AI TIME PhD在直播室,我们邀请阿德莱德大学的博士生李雪倩分享《用神经网络表达隐藏场景流》。

李雪倩:

目前在Argo AI 阿德莱德大学博士生实习。我的导师是Dr. Simon Lucey。

Coordinate-based network

最近关于 3D view synthesis有很多令人兴奋的研究,也引起了很多关注。代表性的work就是Neural Radiance Field——NeRF,它是开创性的neural rendering它在真实数据集中也产生了竞争力view synthesis的结果。

在这个work其中一个创新点是它是用的coordinate-based networks做连续的场景表达(continuous scene representation)的。这种coordinate-based networks它还提供了一种从网络架构本身而不是从大量数据中获取的方法prior knowledge的新方法。当我们没有数据分布时prior knowledge这种方法对许多视觉问题至关重要。

例如,在我们的work中,我们探索了coordinate-based network解决底层视觉问题的场景流(scene flow)能力。据我们所知,这是第一个使用coordinate-based networks直接解决自动驾驶场景中大规模、真实数据的场景流问题。

因为我们的work是关于场景流的,所以我先简单介绍一下什么是场景流Scene flow。

因为我们的work是关于场景流的,所以我先简单介绍一下什么是场景流scene flow。

Scene flow 101

3.场景流表达D动态场景的motion field。想象一下,我们用它,比如LiDAR时间传感器t-1收集自动驾驶场景的点云作为S1。

在时间 t,当场景发生动态变化时,我们收集场景的另一点云 S2.里,点云 S2 点数和点云 S1 点数不同。而且这两点云不是一一对应的。

然后,对于 S1 中的点p,我们想找一个translational vector f,这个f可以最好地移动点p S2 中对应点。这些所有translational vector集合是场景流 calligraphic F。例如,场景流是许多视觉任务的基础,point cloud registration、motion segmentation等等。

Recent work: supervised learning

在deep learning-based在场景流方法兴起之前,场景流估计通常是基于运行优化(runtime optimization)和正则化就是加一个strong prior, 或者是一个 regularization penalty。

监督最近的学习方法(supervised learning)这在很大程度上取代了它explicit regularization。FlowNet3D 是从原点云直接估计场景流的第一种监督学习方法。虽然它表现出令人印象深刻的结果,但这种监督学习方法正在应用out-of-the-distribution缺乏数据generalization。

Recent work: self-supervised learning

监督学习方法(self-supervised learning),比如Just Go with the Flow,用自我监督代替全面监督。尽管这些方法是自我监督的,但它们仍然需要在大型合成数据集中(synthetic data)全面监督学习。

例如,这些自我监督方法首先需要 FlyingThings3D 在数据集上进行预训练,然后在真实数据集上进行自我监督训练。因此,这些学习方法只能应用于特定场景,而不能很好地推广到其他场景statistically different的场景上。

Recent work: without learning -- explicit graph prior

最近关于non-learning场景流的graph prior的work让我们注意,non-learning场景流的估计仍然值得探索,特别是在没有可用标记的训练数据的真实自动驾驶场景中。对于传统的基于优化的方法,它最小化了两点云 S1 和 S2 点距 D 以得到explicit scene flow F。

然而,因为有很多ambiguity,例如depth和aperture,优化是ill-conditioned所以,传统的non-learning需要一种方法explicit regularizer C平滑估计的场景流,使相邻领域的点共享相似的运动轨迹。

例如,graph Laplacian,具体参数discrete表达方式。而且它需要大量的计算,因为在对于从深度传感器采集的点云来说,通常需要 k 最近邻居来建一个mesh。在自动驾驶场景中,通常有很多点,k也相应较大。

Run-time optimization with implicit regularizer

相反,我们提出使用它neural scene flow prior。我们的创新点是使用神经网络架构作为一种新型implicit regularizer。具体来说,我们使用它coordinate MLP 来implicitly regularize估计场景流。

在我们的方法中,场景流 f 被由 theta 参数化的coordinate network g 代替。因此,优化不再是针对性的explicit scene flow优化,但最小化点距离 D 以找到一个optimal网络参数集 theta。在这里,coordinate network g 就表达了implicit scene flow f。

那为什么要用呢?neural scene flow prior呢?正如我们之前所说,在真实场景的应用中,我们可能并不总是可用的training的ground truth data。我们使用的自动驾驶场景数据集(如场景流估计) Argoverse、nuScenes等)都没有label的data。

Learning-based依靠大量数据获取方法prior statistics。尽管它们在大多数vision tasks它取得了令人印象深刻的结果,但在应用中out-of-the-distribution数据仍然很困难,这意味着它们generalizability很差。

相比之下,我们的方法是不需要数据,即它不依赖任何训练数据(training data)。在我们的方法中neural prior强大的implicit regularizer,能约束高度动态(highly dynamic)的motion field,让它尽可能地平滑。

Performance and inference time

下图比较了我们的neural prior方法与graph prior方法在准确性和计算时间上的差异。

这表明我们使用它implicit neural regularizer与使用方法相比explicit regularizer的non-learning-based传统的方法要快几个数量级,同时也可以 KITTI 在数据集中实现更高的准确性。

Visual results on the Argoverse dataset

现在,让我们来看一个visual result。这是一个来自 Argoverse 数据集的动态场景,其中有停下来的汽车、移动的汽车和走路的行人。给定来自 Argoverse 数据集的两个连续激光雷达采集的点云,我们用我们的neural scene flow prior的方法来估计场景流。

对于这个color wheel,颜色的强度编码了scene flow的大小,角度则表示scene flow的方向。

请看这些箭头,我们可以观察到中间的深洋红色的车辆与这两辆绿色的车辆的方向相反,而右侧的浅紫色车辆正在右转。这张visual result说明了我们的估计接近于pseudo ground truth。

Quantitative results

接下来,我们看一下方法在各个数据集上的Quantitative results。

我们比较了supervised learning、self-supervised learning和non-learning-based的方法。

我们的方法在大多数数据集和metrics中取得了更好的表现。例如,我们方法的3D end-point error在 KITTI 上为 0.05 米,在 Argoverse 上为 0.159 米,远低于其他方法。

Supervised的 FlowNSet3D 和 PointPWC-Net 在 FlyingThings3D 上具有更好的性能,是因为它们有fully-supervised training。但是,如果数据集是out-of-the-distribution的,这些supervised方法就会产生不可靠的结果。

self-supervised方法 Just Go with the Flow 和 PointPWC-Net 使用self-supervised loss,尽管在training中没有用true label,但仍然有比supervised方法更好的结果——这表明self-supervisiong是场景流估计的一个重要方向。

值得注意的是,通过简单的 MLP regularizer来进行optimization,我们的方法可以从点云中直接估计场景流,达到很精确的结果。

Optimization process: a continuous flow field

现在,让我们看一下优化的过程。我们预测的scene flow显示在上面一行,而flow field则显示在下面一行。在这里,我们先随机初始化neural scene flow的参数。当iteration为 0 时,scene flow和flow field都是随机的,且在随机的方向上有一个较小的变化幅度。

下图中的右侧是一个pseudo ground truth flow,红色的箭头表示了用来采集数据的自动驾驶汽车的位置和方向。在这个场景中,汽车停下来等待行人过马路。随着iteration的增加,end-point error减小了,而估计的精度提高了。

随着优化的进行,flow field得到了更好的约束,更平滑了,而scene flow也变得越来越可靠,越来越接近真实的flow。

现在,假设优化后我们已经有了第 2000 个iteration的continuous flow filed。然后,当在这个橙色区域周围采样一个点时,flow vector的方向将指向东南方,就像这个绿色箭头所表示的一样,同时,这个点的flow也类似于橙色区域中的车辆的flow。

这种continuous flow field使得我们可以估计在 3D 空间中任意位置采样点的flow vector。这让我们可以用优化得到的optimal network weights来估计在一系列连续点云中的dense correspondences。

Application: point cloud densification

下面这张图展示的是我们方法的一个应用:对Argoverse 场景的点云densification。左边和中间的图显示了densified点云的俯视图和前视图。右边是投影到图像上的accumulated点云。

如图所示,当我们使用rigid ICP accumulate点云时,动态汽车上会有“拖尾效应”,smearing effect。相比之下,使用我们的方法进行densification可以产生更密集的点云,并能够很好地处理场景中的动态物体。

用我们的方法进行accumulation可以得到clean和consistent的结果。而这些densified点云可用于mapping和构建dense depth maps。

上图展示了原始的点云序列和densified点云序列的对比。

总结

  • Scene flow optimization during runtime -- no need for training data!

  • 提出通过神经网络作为prior去平滑估计的场景流,这样可以得到一个Continuous flow field

  • Competitive results to state-of-the-art methods -- if not better!

  • 当然,作为运行时优化(runtime optimization)的方法,我们的方法与learning-based的方法相比速度较慢。

因此,根据实际应用,如果我们想要进行offline mapping,创建dense depth maps时,我们可以使用neural prior来获得reliable的场景流估计。

但是,如果inference time更重要的话,我们可以修改方法中的objective function并train一个self-supervised模型来进行更快的估计。

论文题目:

Neural Scene Flow Prior

论文链接:

https://lilac-lee.github.io/Neural_Scene_Flow_Prior/

点击“阅读原文”,即可观看本场回放

整理:林   则

作者:李雪倩

往期精彩文章推荐

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了600多位海内外讲者,举办了逾300场活动,超170万人次观看。

我知道你

在看

~

点击 阅读原文 查看回放!

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章