点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
钟家兴:
牛津大学计算机科学系在读博士,师从Andrew Markham教授和Niki Trigoni教授,研究兴趣为机器学习和计算机视觉,主要是场景理解中的三维视觉以及视频分析。
场景流是捕捉 3D 点云运动场的强大工具。然而,很难将基于场景流的模型直接应用于动态点云分类,因为点云的非结构化性质使得难以高效和有效地跟踪点对关系。为了在不跟踪点对关系的情况下分析三维运动,我们通过将 ST 曲面的运动学概念推广到特征空间来提出运动学启发的神经网络 (Kinet)。通过在特征空间中展开 ST 曲面的法线求解器,Kinet 隐式地从静态点云模型编码特征级动态。由于网络结构的微小变化和较低的计算开销,使用给定的静态模型联合训练和部署我们的框架是很容易的。在 NvGesture、SHREC'17、MSRAction-3D和NTU-RGBD 上的实验证明了Kinet在性能、参数数量和计算复杂度方面的优势,以及它对各种静态骨干网络的多功能性。开源代码地址为https://github.com/jx-zhong-for-academic-purpose/Kinet。
我们试图用一个静态的模型分类一个动态的点云序列。
Task
Classification for Dynamic Point Cloud Sequences
1)Input: a sequence of point cloud frames
2)Output: sequence-level category of gestures, actions, events, etc.
模型的输入在二维中就是图片,对于一个给定的点云序列,模型输出的就是视频级别的分类结果。点云分类也类似于视频分类,是一个基础性的任务。
Motivation
我们想做的就是用点云的一个静态模型去分类这些动态序列,类比到二维的话,即我们想用一些图片模型通过简单的拓展完成视频分类。这样做有什么好处呢?
图中横坐标是计算量,纵坐标是精度。从上图可以看出,绿色图标是直接使用一些静态点云的模型——精度低计算量也少。而橙色图标是目前流行的针对动态点云序列分类的模型则是另一个极端,我们可以看到其固然是精度高,计算量也比较大。
那么,能不能让神经网络拥有动态模型精度的同时,计算量和静态模型差不多呢?我们的目标就是像红色图标那样在保持低计算量的同时,显著提高计算的精度。也就是说,拓展静态模型到动态序列的好处是能够高精度和低计算量、低参数量。
Main Idea
具体说,我们是如何让模型保持轻量又高效的呢?
如上图所示,如果我们直接采取二维视频分类的模型——双流模型,就是把这些视频帧堆积起来送到模型中,重复类似步骤,我们将其结果进行融合。之后,我们如果简单地将这种思路拓展到三维的时间,那就是说点云用蓝色静态模型分析其堆叠起来的信息,并抽取橙色部分所代表的场景流作为一个模态来传送到另一个静态模型。我们最后将这两部分的预测结果相融合。这样,上图中的蓝色图标计算量会变得非常大。
我们为了改善这种简单粗暴的双流模型,试着从两个方面减轻计算量。第一方面,场景流抽取是需要显式的抽取。这种点对点的抽取是非常麻烦的事情,一是慢,二是容易错。在我们的模型中,我们试图用一个时空平面的分析代替它。第二方面,之前的双流模型慢就慢在它有橙色这一完全独立的静态模型时间流分支作为空间流的补充,但这也意味着模型的参数量和计算量增加了一倍。我们试着把时间流整合到空间流之下作为一个非独立的分支存在。我们可以看到,这样的计算量也会随之减少。
接下来,我们一是要看看怎么避免这种点对点的场景流估计,二是怎么估计把独立的时间流信息分支减小成更加轻量、更加容易计算且易于由空间分支导出的操作。
Methodology
我们怎么可以避免这种点对的估计或者说是场景流的估计呢?
由上图,我们可以看到左边的图,我们开始思考如何避免这种情况的发生。首先,我们发现运动是有局部性的,在一种经典的图形学方法——时空平面中,与其分析点对点的关系,不如利用其空间运动的一致性去分析它的时空曲面。
上图中的灰色箭头代表的就是场景流,是可以落在一个时空曲面上面的,也就是阴影部分的曲面。出于一个运动一致性的原因,我们也不必再去计算这些点对点的情况,直接统一的用一个面来描述就可以了。这种由点到面的方法是可以极大的减轻计算量的,如果我们想点对点的挨个计算就会有很高的复杂度。用面统一起来则可以显著减少计算量,上图中右边就是相关的时空曲面建模过程。先找出切平面,再根据其方程求出法线。我们再利用法线作为特征向量来描述这个时空曲面。
Methodology (con’t)
第二个基本的思路,我们再去看如何把时间流——抽取动态信息的分支从完全独立的结构变成可以从空间流的静态模型导出的结构,这样也可以实现更加节省计算量和参数量的效果。
从下面这张之前的图可以看到。
左边的橙色部分是完完全全独立的分支,右边的橙色部分就从物理空间抽取的场景流变换到了特征层面进行分析,物理抽取的过程被绕开了。
我们从3D空间去分析动态信息,哪怕是场景流或是时空曲面,都是从物理空间进一步拓展到了整个特征空间。这样就可以无缝整合到静态分支上。这些都是如何做的呢?
我们分析时空曲面都是有一套现存方案的,物理空间中有一套方案,x先是针对时空曲面求出法线,再根据法线调整求解过程之中邻居点的权重。权重越好,法线也就越好。我们根据求法线的权重又可以进行一系列迭代的操作。我们也就从3维物理空间拓展到了高维的特征空间。
这一迭代的过程也是渐渐对应到卷积操作过程中。点云卷积可粗略分为两步——Grouping选择邻居,Abstracting整合邻居信息。如上图所示,我们可以看到时空曲面迭代求解法向量的过程和这两步非常相似,邻居点权重调整(Neighbor Weigjting)过程实质上是在选择邻居(Grouping),之后再由时空曲面的法向量的估计(Normal Estimation)将这些邻居的信息整合到一起,也就是下图中Abstracting的操作。
我们把时空曲面迭代求解法向量的过程对应过去,估计法线、整合邻居,再在下一层重复这一过程,一层一层的完成迭代。在时间分支的建模也就完成了。我们方法中比较核心的实现主要有两点:一个就是把点对点的关系转化成为求解时空曲面的过程,第二个就是把三维物理空间拓展到高维特征空间。接下来我们将讲解一下实验。
Experiemnts: Ablation Studies
实验中的第一步是一个消融实验,旨在证明三件事。第一个就是通过把静态模型拓展到动态序列,在静态数据集上预训练的模型权重是可以用来进行动态点云视频分析的,这是其一。第二个就是我们之前提到的时空曲面建模,的确也是能够捕捉到动态信息的。第三个是刚刚所说的近邻点权重的调整是可以进一步改善性能的。
通过做这一系列实验,我们证明了这三个结论是成立的,接下来看一些对比性的结果。我们在5个数据集上都进行了测试,那两个任务分别是手势识别和行为识别。通过在这两个做手势的数据集上实验,我们证明了两件事,一个是我们的模型对有噪声的背景是比较鲁棒的。因为点对点的场景流是对噪声比较敏感的,但是当我们用时空曲面将他们混合起来的话,其鲁棒性就会获得提高。
我们也惊喜的发现我们的模型首次超越了人类的表现,虽然也没超越多少,但是这个手势识别的任务也算是相当难得。
之后我们观察了可视化的定性结果,无论有没有背景,我们的模型表现的都是可以的。然后,我们也可以看到一些做行为分析的结果,我们模型的发现都是比较优异的。
同时在计算量、参数量等方面,我们模型都是有显著优势的。一方面是精度高,另一方面的计算量和参数量也不大。这个就是我们模型的好处。
整理:林 则
作者:钟家兴
往期精彩文章推荐
记得关注我们呀!每天都有新知识!
关于AI TIME
AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
迄今为止,AI TIME已经邀请了800多位海内外讲者,举办了逾350场活动,超300万人次观看。
我知道你
在看
哦
~
点击 阅读原文 查看回放!