• 发文
  • 评论
  • 微博
  • 空间
  • 微信

深兰科技动作识别|人体骨架时空图卷积网络的可学习边与权

AI世界 2020-05-27 21:24 发文

       动作识别是基于计算机视觉识别的技术,可以实时对检测区域内人员动作进行识别。作为深兰科技计算机视觉技术的核心产品之一,搭载自动驾驶功能的“熊猫智能公交车”已获得广州、上海、武汉、长沙、深圳等多地的自动驾驶测试牌照,并且在武汉取得了全球首个自动驾驶客车的商用牌照。而其行人行为预测和车内异常行为识别(摔倒、偷窃等)两大功能,便是动作识别最直接的体现。此外,深兰的智慧工地管理平台——“工地大脑”、智能社区管理系统,以及明厨亮灶系统等,都一定程度使用到了动作识别技术。

       港中文的Sijie Yan团队也做了不少关于动作识别的工作,他们的论文《Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 》发表在近期AAAI 上。本文将重点介绍论文中关于动作识别的时空图卷积的可学习边与权重,及其划分策略。

一、空间图卷积神经网络

       在深入研究成熟的ST-GCN之前,团队首先要在一个帧内查看Graph CNN模型。在这种情况下,在时间T的单个帧上,将有N个关节节点Vt,以及骨架边E_S (τ)={v_ti v_tj |t=τ,(i,j)∈H}。回忆一下在2D自然图像或特征图(Feature Map)上的卷积运算的定义,它们都可以视为2D网格,卷积运算的输出特征图仍然是2D网格。使用跨步1和适当的填充,输出特征图可以具有与输入特征图相同的大小【图一】。

       在下面的讨论中,团队将假定这种情况。给定一个卷积算子,其核大小为K×K,并且输入特征图 f_in的通道数为c。空间位置x上单个通道的输出值可以写成:

       其中采样函数(Sampling Function)p:Z2×Z2→Z2枚举位置x的邻域(Neighbors)。在图像卷积的情况下,也可以表示为p(x,h,w)= x + p'(h,w)。权重函数(Weight Function)w:Z2→Rc在c维实数空间中提供一个权重向量,以使用维度c的采样输入特征向量计算内积。注意,权重函数与输入位置x无关。因此,滤波器权重在输入图像上的所有位置共享。而通过在p(x)中编码矩形网格,可以实现图像域上的标准卷积,在(Dai et al.2017)中找到该构思的更详细的说明和其他应用。

图一

       然后,定义图上的卷积操作:通过将以上形式扩展到把输入特征图换成采用空间图V_t的方式。也就是说,特征图 f_in^t: V_t→R^c 在图的每个节点上都有一个向量,扩展的下一步是重新定义采样函数p和权重函数w。 

采样函数

       权重函数与采样函数相比很难定义。在2D卷积中,中心位置周围自然会存在一个刚性网格。因此,邻域里面的像素可以具有固定的空间顺序。然后可以通过根据空间顺序索引(c,K,K)维的张量来实现权重函数。对于刚刚构建的一般图,没有这样的隐含排列。

       该问题的解决方案首先在(Niepert,Ahmed,and Kutzkov 2016)中进行了研究,其中顺序(Order)由围绕根节点(Root Node)的邻域图(Neighbor Graph)中的图标记(Graph Labeling)过程定义。团队遵循这个想法来构造权重函数,没有给每个邻域节点唯一的标签,而是通过将一个关节节点v_ti的邻域集合B(v_ti)分成固定数量为K个子集来简化过程,每个子集都有一个数字标签。因此,团队可以具有映射l_ti: B(v_ti)→{0,1,...,K-1},是把邻域中的一个节点映射到其子集标签。权重函数w(v_ti v_tj): B(v_ti)→R^c 可通过索引一个(c,K)维张量实现,或者(3)

       团队将在本节中讨论几种划分策略。 

       Spatial Graph Convolution:使用改进的采样函数和权重函数,在图卷积方面,团队现在重写等式1

       值得注意的是,如果团队将图像视为常规2D网格,则此形式可以类似于标准2D卷积。例如,类似于3×3卷积运算,团队在以一个像素为中心的3×3网格中有9个像素的邻域。然后应将邻域集划分为9个子集,每个子集具有一个像素。


图二

       Spatial Temporal Modeling:制定了空间图CNN之后,团队现在进入在骨架序列内对空间时间动态建模的任务。回想一下在图的构造中,图的时间方面是通过在连续的帧之间连接相同的关节来构造的【图二】。这使团队能够定义一个非常简单的策略来将空间图CNN扩展到空间时间域。也就是说,团队将邻域的概念扩展为还包括时间连接的关节。

        参数Γ控制要包含在邻域图中的时间范围,因此可以称为时间核(Temporal Kernel)大小。为了在空间时间图上完成卷积运算【图三】,团队还需要采样函数,该采样函数仅与空间情况相同;团队还需要权重函数,特别是标记图(Labeling Map) l_ST。由于时间轴是有序的,因此团队直接针对以v_ti为根节点的空间时间邻域,修改标记图l_ST为

       其中l_ti (v_tj)是v_ti处单帧样例的标签图(Label Map)。这样,团队在构造的空间时间图上就有了定义明确的卷积运算。

图三

二、划分策略

       给定空间时间图卷积的高层次表述,设计一个划分策略以实现标签图很重要。在这项工作中,团队探索了几种划分策略。为简单起见,团队只讨论单个帧中的情况,因为可以使用公式7很自然地将它们扩展到时空域。

       Uni-labeling单标签。最简单,最直接的划分策略是,把整个邻域集合本身看作一个子集。在这种策略中,每个邻域节点上的那些特征矢量们将具有一个相同权重向量的内积。实际上,这种策略类似于(Kipf and Welling 2017)中引入的传播规则。明显的缺点是,在单帧情况下,使用这种策略等效于计算权重向量,以及所有邻域节点们的平均特征向量之间的内积。对于骨架序列分类而言,这不是最佳选择,因为这样操作可能会丢失局部微分特性(Local Differential Properties)。形式上,团队有K = 1和l_ti (v_tj)=0,∀i,j∈V。

       Distance partitioning 距离划分。另一个自然的划分策略是根据节点到根节点vti的距离d(· , vti)划分邻域集合。在这项工作中,由于团队将D设置为1,因此邻域集合将被分为两个子集,其中 d=0 表示根节点本身,其余那些邻域节点们位于 d=1 的子集中。因此,团队将拥有两个不同的权重向量,它们能够对局部微分特性(Local Differential Properties),例如关节之间的相对translation进行建模。形式上,团队有 K=2 和

l_ti (v_tj)=d(v_tj,v_ti)。

       Spatial configuration partitioning 空间配置划分。由于人体骨骼在空间上是局部化的,因此团队仍可以在划分过程中利用这种特定的空间配置。团队设计了一种策略,将邻域集合分为三个子集:1)根节点本身;2)向心群(Centripetal Group):比根节点更靠近骨架重心的那些相邻节点们;3)否则为离心群(Centrifugal Group)。在这里,一帧中骨架中的所有关节的坐标平均被视为其重心。

       该策略的灵感来自于以下事实:身体部位的运动可以大致分为同心(Concentric)运动和偏心(Eccentric)运动。


       其中ri是训练集中所有帧上,重心(Gravity Center)到关节i的平均距离。

       三种划分策略的可视化效果如【图四】所示。团队将基于骨架的动作识别实验,对所提出的划分策略进行实证研究。可以预期,更高级的划分策略将导致更好的建模能力和识别性能。

三、可学习边与权

       尽管人们在执行动作时那些关节们会成组移动,但一个关节可能会出现在身体的多个部位。但是,在对这些身体部位的动力学建模时,这些外观应该具有不同的重要性。从这个意义上说,团队在空间时间图卷积的每一层上添加了一个可学习的mask M。该mask将根据ES中每个空间图的边的学习得到的重要性权重,缩放节点特征对其邻域节点们的贡献。根据经验,团队发现添加此mask可以进一步提高ST-GCN的识别性能。为此,也可能具有依赖于数据的Attention Map,团队将其留给以后的工作。

图四


四、时空图卷积网络实现

       基于图卷积的实现不像2D或3D卷积那么简单。在此,团队提供基于骨架的动作识别,实现ST-GCN的详细信息。

       团队采用与(Kipf and Welling 2017)中类似的图卷积实现。一个单个帧内的那些关节们的体内连接,被表示为,邻接矩阵A和表示自连接的恒等矩阵I。在单帧情况下,采用第一种划分策略(Uni-labeling)的ST-GCN可以通过以下公式实现(Kipf和Welling 2017)

       其中Λii=...。在这里,多个输出通道的权重向量被堆叠以形成权重矩阵W。在实践中,在时空情况下,团队可以将输入特征图(Input Feature Map)表示为(C,V,T)维的张量。图卷积是这样来实现的:通过执行1×Γ标准2D卷积,将结果张量与在第二维上归一化的邻接矩阵Λ^(-□(1/2)) (A+I)Λ^(-□(1/2))相乘。

       对于具有多个子集的划分策略,即距离划分(Distance Partitioning)和空间配置划分(Spatial Configuration Partitioning),团队再次使用此实现。但是现在请注意,邻接矩阵被拆解成几个矩阵Aj,其中A+I=∑_j▒A_j 。例如,在距离划分策略中,A0 = I,A1 =A。公式9变成:

       实现可学习的边的重要性权重是很简单的。对于每个邻接矩阵,团队将其与一个可学习的权重矩阵M相伴随。然后,团队分别替换公式9中的矩阵A+I和公式10中Aj的Aj为(A+I)⨂M 和 A_j⨂M。其中⊗表示两个矩阵之间的逐元素乘积。mask M被初始化为全一矩阵。

       Network Architecture and Training 网络架构和训练。由于ST-GCN在不同节点上共享权重,因此在不同关节上保持输入数据的大小一致很重要。在团队的实验中,首先填喂输入骨架到批处理规范化层以规范化数据。ST-GCN模型由9层空间时间图卷积算子(ST-GCN单元)组成。前三层有64个通道用于输出,接下来的三层有128个通道用于输出,最后三层有256个通道用于输出。这些层具有9个时间核大小。Resnet机制应用于每个ST-GCN单元,而且在每个ST-GCN单元之后,团队以0.5的概率随机删除(Randomly Dropout)了这些特征,以避免过拟合。将第4和第7时间卷积层的步幅设置为2作为池化层,此后,对结果张量进行全局池化,以获得每个序列的256维特征向量。

       最后,团队将它们提供给SoftMax分类器。使用具有0.01学习率的随机梯度下降学习模型。每隔10个epochs,团队会将学习率降低0.1。为避免过度拟合,在Kinetics数据集上进行训练时,团队执行两种扩充来替换dropout层(Kay等人2017)。

       首先,为了模拟摄像机的运动,团队对所有帧的骨架序列执行随机仿射变换。特别是,从第一帧到最后一帧,团队选择一些固定角度,平移和缩放因子作为候选,然后随机采样三个因子中的其中两个组合,以生成仿射变换。此变换被插入到中间帧中以产生一种效果,就好像团队在回放过程中平滑地移动视点一样。团队称这种增强为随机移动。其次,团队在训练中从原始骨架序列中随机抽取片段(fragments),并在测试中使用所有帧。网络顶部的全局池化使网络能够处理长度不确定的输入序列。

参考文献

[Yan et al. 2018] BrunSijie Yan, Yuanjun Xiong, Dahua Lin.2018. Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition. In arXiv: 1801.07455.

[Henaff, Bruna, and LeCun 2015] Henaff, M.; Bruna, J.; and LeCun, Y. 2015. Deep convolutional networks on graph- structured data. In arXiv:1506.05163. 

[Hussein et al. 2013] Hussein, M. E.; Torki, M.; Gowayyed, M. A.; and El-Saban, M. 2013. Human action recognition using a temporal hierarchy of covariance descriptors on 3d joint locations. In IJCAI. 

[Kayetal.2017] Kay,W.;Carreira,J.;Simonyan,K.;Zhang, B.; Hillier, C.; Vijayanarasimhan, S.; Viola, F.; Green, T.; Back, T.; Natsev, P.; et al. 2017. The kinetics human action video dataset. In arXiv:1705.06950. 

[Ke et al. 2017] Ke, Q.; Bennamoun, M.; An, S.; Sohel, F.; and Boussaid, F. 2017. A new representation of skeleton sequences for 3d action recognition. In CVPR. 

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    AI世界

    人工智能、服务民生,致力于人工智...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码