论文部分内容阅读
计算机视觉技术的快速发展和人工智能的快速崛起,引发人类开发计算机像人类一样理解视频的内容,特别是人类的动作和意图识别,从而能够更好的实现人机交互并为人类服务。这里的视频包括多种不同模态,例如,RGB彩色视频,深度视频,人体骨骼序列等等。在视频内容的理解方面,有两个关于人的极为重要的任务:其一是人体动作识别,目的是识别出完整视频中人类的动作类别;其二是人体动作预测,目标是根据观测到的部分视频数据预测出整个动作的类别。现有的基于浅层模型的动作识别方法通常采用手工特征,其缺点限制了其在动作表达方面的能力。现有的动作预测方法充分地利用了观测到的部分视频,并且通常是RGB彩色视频。其缺点是忽略了两个对于人体动作预测至关重要的问题:(1)人体的结构化信息对于人体预测是非常重要的;(2)在表达正在进行的动作时,后续动作序列是预测动作非常重要的线索。为了解决这些问题,本文研究工作的主要创新有四点:
1.现有的手工设计的特征需要很强的先验知识,同时这样得到的特征很难具有描述整个数据集上数据分布的能力。而现有的深度学习的方法则是没有考虑特征的投影方向,以及在投影方向上的量化损失等。因此本文提出了一种基于非监督学习的主方向残差描述子的动作识别方法。其核心数据模型是通过最小化目标函数,学习一个包含了多个主投影方向的投影权重矩阵。通过学习主方向,投影特征能够聚集到最近的主方向,使得学习得到的局部特征包含更为丰富的信息。通过最大化残差向量的方差,使得提取的局部特征具有判别力。方法的核心思想是:描述子应当具有紧致的特性,从而使描述子携带更多的有用信息,具有更好的判别力。本方法通过数据驱动的方式学习到主方向。从与传统描述子的对比结果看,本方法的描述子更为紧致。为了达到使描述子紧致的目标,本方法设计了一个优化目标函数。目标函数包含三项,输入是vp,要学习的主方向是W。第一项表示所有原始数据向量,在距离最近的主方向上的投影之和;第二项表示投影残差的方差,这里的残差是指原始数据在非主方向上的投影;第三项是表示能量损失,保证生成特征的过程中信息损失尽可能小。通过最小化目标函数,能够使学习到的主方向具有表达附近原始数据的能力,且残差向量保留了尽可能多的判别信息,同时信息损失小。具体实现如下,分为训练阶段和测试阶段。训练阶段:从视频中提取稠密轨迹,然后依据稠密轨迹提取时空支持单元,产生数据向量vp,通过优化目标函数,学习主方向映射矩阵W,再用特征训练一个字典,用于编码特征。测试阶段:采用同样的方式获得数据向量,利用训练阶段学习到的主方向映射矩阵W计算对应的特征,再利用字典编码成视频描述子。整个过程不采用监督信号,属于非监督学习方法。通过描述子进行动作识别的过程,需要利用标签训练SVM作为分类器,对动作进行识别。本文还提出了时空支持单元,并给出了产生数据向量的过程。以空间分支为例,在获得视频的稠密轨迹之后,以稠密轨迹上的点为中心点,提取一个立方体称为空间支持单元,然后以空间支持单元中每隔一段距离的像素点为中心,提取一个立方体,这些立方体之间没有重叠,将立方体中的像素数据按照固定的顺序拉成向量,得到数据向量,该向量中的数据均为原始像素值。时间分支具有类似的结构,输入改为视频的光流数据,时间分支的稠密轨迹来自于空间分支。本文将该方法扩展到了多模态视频动作识别中,通过增加一个深度视频的分支,使之能够进行多模态视频动作识别。深度分支的特征在最后与彩色视频的特征进行了串联,得到最终的特征。深度视频的稠密轨迹来自于彩色视频。本方法采用了五个数据集进行,期中三个是彩色视频数据集,两个是包含彩色视频和深度视频两种模态的数据集。从实验结果可以看出,本方法获得的了良好的效果。将本方法特征分别与手工特征、深度特征串联,识别率都有所提升。这说明,本方法学习到了一些这两类方法都没有提取出的信息。在RGB-D数据集上的测试结果中,本方法分别与浅层的非监督学习、监督学习,以及深度的非监督学习方法进行了比较,本方法提取的特征在两种模态下均有较好的性能,同时证明了两种模态间存在信息互补性。同时,本方法还设计了消融实验,分别对彩色视频,深度视频和两种模态下的空间支持单元、时间支持单元以及时空支持单元进行测试,分别对不考虑最大化残差方差的情况,固定主方向而非学习的情况,以及采用CNN深度特征的情况,进行了实验。实验结果证明了本方法的有效性。
2.基于部分观测的视频从空域和时域两个部分对正在实施的行为进行预测,关键是对实施的过程进行建模。现有的大部分针对行为预测的工作可以分为主要的两大类:一类是通过模板匹配利用可靠的特征;另一类是开发分类模型。第一类方法目标是设计一种基于模板的模型进行预测。然而,这种模板很容易被离群的样本影响,并且当实施的行为存在较大的姿态差异时,这类方法的性能通常会不理想。第二类方法致力于开发行为的时域特性,同时预测的准确性会随着观测的帧数增加而增加。然而,大多数现有的方法提取的是每一帧的全局特性从而利用时域信息。这类方法忽略了人体的必要的结构化信息。此外,全局特征的鉴别能力会被来自背景的噪声严重影响。因此,本文提出了一种基于深度强化学习的局部激活模型的动作预测方法。其核心是以几何信息为依据,通过将人体的骨骼作为结构化信息提取备选框,通过深度强化学习激活与动作相关的部位,同时抑制噪声部位,这样能够依据人体的骨骼信息,从人体骨骼点确定的区域备选框中提取特征。本方法是通过深度强化学习的框架,学习到一种部位激活和抑制的策略,从而自主选择出与动作不相关的部位。将这些不相关的区域抑制之后,得到低冗余性的特征,每一帧的特征会朝着动作的实际方向靠拢,最终的动作预测方向与未使用激活策略的预测结果相比,部位激活与抑制能够使预测更接近真实动作,有效地降低冗余和噪声的干扰。具体的方法流程如下,输入是一段视频开始的部分而不是完整的动作,首先通过人体骨骼提取的方法,确定人体的关节点位置,然后以关节点为中心提取局部特征并按照人体结构进行排列,将所有帧的特征送入网络中进行激活与抑制。s0表示初始状态,并且各个部位均为激活状态。然后通过网络自主激活和抑制,得到这一帧的最终状态st1,并将其作为下一帧的初始状态,因为帧与帧之间的变化通常不剧烈,这样可以减少深度强化学习的搜索空间。最终将所有得到的特征送入分类器进行分类。为了实现深度学习网络的自主激活和抑制,本方法采用深度强化学习方法对整个过程进行建模。每个部位包含两个动作:1表示激活,0表示抑制。每一步的奖励值由当前状态的预测结果和上一状态的奖励得到,如果预测正确则加1,如果预测错误则减1。最终的用于优化网络参数的奖励是每一步奖励的均值,目的是期望整体最优。由此可以得出状态转移的过程,t?1时刻序列状态st?1,输入到网络中得到t?1时刻的动作at?1,这个动作作用在初始特征上,得到t时刻的序列状态st。具体的网络结构采用Actor-Critic框架,中间的actor网络是两层全连接层,网络的输入根据数据集不同设置为M×N,M为人体骨骼关键点数量,N为最大出现人数。由当前状态的特征分别输入到M×N个actor网络中,得到对应部位的激活或者抑制动作,作用在初始的特征上,作为下一时刻的特征,如此循环,可以获得所有帧对应的激活和抑制结果。本方法在三个数据集上进行了测试,从结果看本方法在观测比较低的情况下,预测准确率具有明显的优势。本方法给出了与其它方法在三个数据集上的对比结果,通过对比可以看出,本方法在观测比为0.5时的时候,预测的准确率明显高于所有的对比方法,而在完整视频的情况下,本方法略有提升,对比结果也说明了现有方法的特征确实存在冗余和噪声。最后,本方法展示了激活动作相关部位的可视化结果。从可视化结果看,本方法确实选出了一些与动作语义相关的人体部位。
3.通过不完整的视频预测人体的动作是一个非常具有挑战性的任务,因为只能够观测到部分的动作只能够获取部分的动作信息。现有的动作预测方法可以分为两类:设计一种自适应的分类模型和提取鲁棒特征进行动作的模板匹配。设计分类模型的方法目标是挖掘人体动作在时域上的发展趋势,这类方法是基于一种先验知识:随着观测的帧数的增加,预测的准确率逐步提升。然而,这些方法同时基于一个假设:观测的动作占完整动作的比例是已知的。但是这个假设在实际应用场景中是不合理的。第二类方法使用动作的模板匹配,考虑的是时空信息的先验知识和特征的分布。然而,这类方法忽略了接下来将要发生的动作对于预测人体动作的重要作用。人体动作预测的挑战在于如何尽可能地使用已经观测到的动作的信息以及正确预测的信息。不恰当的生成内容会引起对于部分动作的理解的奇异性,同时不恰当的生成长度会降低语义信息对于噪声的抑制作用。因此,本文提出了一种基于循环语义保持的生成模型的动作预测方法。其核心是在不使用观测比的情况下,通过补全后续动作预测正在进行的动作。然而,并非随意生成都是有用的,例如生成的类别错误,或者生成的顺序错误,或者生成太长或太短,恰当的生成需要对内容和长度分别进行约束。本方法设计了两个对应的模块,从而保持生成的序列和观测到的序列之间的语义的一致性,并且降低不恰当生成长度对于动作预测的干扰。这两个模块分别是:语义保持运动生成器和循环生成长度控制器,分别对内容和长度进行约束。生成器用来生成未来将发生的动作序列,为控制器提供输入;控制器控制生成的长度,决定何时停止生成。具体流程如下,方法的输入是一个动作的部分序列,这里采用的是人体骨骼数据,控制器根据输入的序列判断是否继续生成。如果继续生成,生成器将生成的动作拼接在观测的动作后面,形成新的动作序列,如此循环直到控制器输出停止信号,然后对补全的动作序列进行分类。下面对两个模块分别进行介绍,语义保持运动生成器是基于生成对抗网络的结构,它包含一个运动生成器和语义保持判别器以及一个距离度量。生成器生成动作希望判别器无法分辨真假,判别器希望尽可能判断生成数据的真假,通过两者间的对抗使生成的动作尽可能的逼真。本方法设计的语义保持判别器包括连续性判别器和逻辑性判别器。其中连续性判别器判断的是生成的动作拼接在输入的序列之后,整体是否连续;逻辑性判别器判断的是拼接后的序列动作的类别是否正确。距离度量是为了在初始训练阶段降低生成的搜索空间,尽可能保证生成动作的质量。测试阶段只使用训练好的生成器。模块二,循环生成长度控制器,该模块是基于深度强化学习的结构,动作空间包含两个动作,生成和停止。奖励函数如下,奖励值由当前时刻与前一时刻的分类对错关系决定,如果分类都正确,则给出?1的惩罚,因为生成了冗余;如果由前一时刻的预测错误变为当前时刻的预测正确,则给出+1的奖励,因为当前时刻的生成非常有效,能够帮助动作的预测;如果由前一时刻的预测正确变为当前时刻的预测错误,则给出?1的惩罚;如果前一时刻与当前时刻都判断错误,则不奖励也不惩罚,因为后续生成还有预测正确的机会。状态转移函数是确定生成循环的方式,根据当前时刻的动作序列生成控制信号,当控制信号为1时,将生成的动作与当前输入序列拼接得到新的序列。当控制信号为0时,停止生成。本方法采用四个测试集进行测试,NTU数据集提供了真实的人体骨骼数据,其余三个是通过OpenPose的方法从彩色视频中提取的人体骨骼数据作为真实数据使用。NTU和UCF101数据集是人体动作识别数据集,BIT和UTI是人体动作预测数据集。本方法给出了和对比方法在UTI和BIT两个数据集上的结果,从结果可以看出在低观测比的情况下,相较于其它动作预测方法,本方法的预测准确率明显提升;而在接近全长度的情况下,本方法比较依赖于分类器的性能,因为本方法没有对分类器进行特别的优化处理。同样的,在UCF101和NTU两个数据集上,得到了类似的结果。本方法还给出了消融实验分别对两种判别器、距离度量和长度控制器进行了测试。同时本方法还给出了固定生成长度的准确率和平均生成长度的统计的实验结果。最后,本方法展示了生成动作的可视化结果。从结果看,本方法具有以下性质:(1)本方法可以预测细微和反复的动作,并且能够在有足够循环的情况下停止生成;(2)本方法可以预测生成往复动作的后半部分;(3)本方法能够预测生成变化幅度大的动作,并且能够有效地减少尾部的无效生成;(4)本方法能够仅仅通过观测动作的开始部分预测生成较长的大幅度动作序列,且能够有效地控制冗余。
4.动作预测的定义是从部分视频中推断未完成的动作。虽然一些工作已经尝试着解决这个问题,但是动作预测仍然是一个具有挑战性的问题,因为从部分视频中获取的信息非常的有限,并且获取的信息与从全长度的动作获取的信息之间存在明显的差异。从观测到的序列中预测已经发生的部分动作是非常具有挑战性的,因为动作的信息使不完整的,并且部分动作的分布与全长度的动作的分布是不同的。通常数据的标签是针对动作视频整体的,然而,当观测部分动作时,为了采用分类任务的准确率作为评价指标,现有的动作预测方法都直接采用整体动作的标签,作为部分动作的标签进行模型的训练,造成分类器困惑,明明很相似的部分序列,却给了两种不同的标签,造成预测困难。举个例子,只看序列的前三帧,很难判断动作的类别是打手机,分类器得到打手机和玩手机的概率都很高,分类结果错分成了玩手机。原因有两个:(1)这两种动作在开始时确实很相似;(2)训练时标签歧义性的干扰。这样的标注存在歧义性,这种歧义性使准确地预测变得更为困难。现有的方法能够分为两个主要的种类:模板匹配和基于时域特征的分类方法。第一类方法预测动作是通过对动作进行模板匹配,这些模板包含稠密的表达和稀疏的表达。然而,稠密的模板匹配方法容易受到离散值的干扰,而稀疏的模板匹配方法在预测具有相似给你的动作时存在困难。第二类方法从时域中提取特征来建模观测到的动作序列的趋势。但是,他们忽略了后续未观测到的序列的趋势,这种趋势在理解完整的动作时是非常重要的。同时,这两类方法中的大多是方法会受到部分动作的歧义性的干扰。动作预测的挑战在于如何挖掘部分动作和全部动作之间的关系以及如何消除部分动作的歧义性。因此本文提出了一种歧义性显著的序列状态演进的动作预测方法。其核心是利用部分视频片段的局部信息,将现有的动作演进到最合理的全长度的序列,从而进行动作预测。本方法设计这种演进的方法是为了通过生成合理的候选序列从而预测出最可能的动作,从而消除部分动作对于预测产生的歧义性的干扰。本方法的目标是能够通过提供多种生成方向来降低这种歧义性对动作预测的干扰。本方法的核心思想如下,分别沿着多种聚类中心的方向生成后续动作,得到多个补全的动作序列,最后通过判断这些序列的概率,得到动作预测结果。在这个过程中我们的方法将标签赋予具有明显区别的完整动作,而非相似性高的部分动作,可以降低歧义性的干扰。本方法的具体实现流程如下:输入是一个动作的部分序列,先通过一个前-预测器,进行一个初步的分类。得到各种动作的概率,从中选出前M个概率最大的动作,作为动作生成的指导。将指导动作输入到动作生成网络中,然后动作生成网络分别生成M个动作的后续序列。将M个生成序列与输入序列拼接,得到M个完整的可能的动作序列。将这些补全的动作序列送入分类网络中,输出概率最大的作为最终的动作预测结果。本方法中的序列状态演进指的是当观测序列的最后一帧输入完成后,网络在指导动作的约束下向着约束的方向演化出规定的动作。具体方式如下,s1到st为观测序列,从s1到st?1经过一个嵌入层输入到两层LSTM网络中。t时刻,将st数据和指导动作A同时输入网络中进行生成,得到?st表示从t到t+1时刻,各个关节点的偏移预测量。将偏移量叠加到st上之后得到t+1时刻的生动动作gt+1,然后将gt+1作为下一时刻的输入,进行生成,循环进行。本方法在UCF101和NTU上和其它方法进行了对比:当采用SVM或者LSTM作为分类器时,本方法性能略逊于最新的一些动作识别方法,如AS-GCN;当采用AS-GCN作为分类器时,本方法生成的序列比现有方法具有明显的优势,特别是在观测比为0.3的时候。在UTI和BIT两个动作预测数据集上的结果得到了与前个实验类似的结论。此外,本方法给出了消融实验的结果,分别对以下情况进行测试:前-预测器不训练、生成器不预训练、没有生成器、不拼接原始序列、没有指导动作、采用最大概率的指导动作生成。同时,本方法给出了关于指导动作数量的探索,并在三个数据集上进行实验,设置的指导动作数量由1逐渐增加到6。从结果看,可以得出两个结论,(1)预测的准确率随着指导动作数量的增加而增加;(2)最优指导动作的数量并不是越多越好,并且与数据集中动作的种类和数量相关。最后,本方法给出预测生成和分类的可视化结果。实验结果证明了本方法的有效性。
1.现有的手工设计的特征需要很强的先验知识,同时这样得到的特征很难具有描述整个数据集上数据分布的能力。而现有的深度学习的方法则是没有考虑特征的投影方向,以及在投影方向上的量化损失等。因此本文提出了一种基于非监督学习的主方向残差描述子的动作识别方法。其核心数据模型是通过最小化目标函数,学习一个包含了多个主投影方向的投影权重矩阵。通过学习主方向,投影特征能够聚集到最近的主方向,使得学习得到的局部特征包含更为丰富的信息。通过最大化残差向量的方差,使得提取的局部特征具有判别力。方法的核心思想是:描述子应当具有紧致的特性,从而使描述子携带更多的有用信息,具有更好的判别力。本方法通过数据驱动的方式学习到主方向。从与传统描述子的对比结果看,本方法的描述子更为紧致。为了达到使描述子紧致的目标,本方法设计了一个优化目标函数。目标函数包含三项,输入是vp,要学习的主方向是W。第一项表示所有原始数据向量,在距离最近的主方向上的投影之和;第二项表示投影残差的方差,这里的残差是指原始数据在非主方向上的投影;第三项是表示能量损失,保证生成特征的过程中信息损失尽可能小。通过最小化目标函数,能够使学习到的主方向具有表达附近原始数据的能力,且残差向量保留了尽可能多的判别信息,同时信息损失小。具体实现如下,分为训练阶段和测试阶段。训练阶段:从视频中提取稠密轨迹,然后依据稠密轨迹提取时空支持单元,产生数据向量vp,通过优化目标函数,学习主方向映射矩阵W,再用特征训练一个字典,用于编码特征。测试阶段:采用同样的方式获得数据向量,利用训练阶段学习到的主方向映射矩阵W计算对应的特征,再利用字典编码成视频描述子。整个过程不采用监督信号,属于非监督学习方法。通过描述子进行动作识别的过程,需要利用标签训练SVM作为分类器,对动作进行识别。本文还提出了时空支持单元,并给出了产生数据向量的过程。以空间分支为例,在获得视频的稠密轨迹之后,以稠密轨迹上的点为中心点,提取一个立方体称为空间支持单元,然后以空间支持单元中每隔一段距离的像素点为中心,提取一个立方体,这些立方体之间没有重叠,将立方体中的像素数据按照固定的顺序拉成向量,得到数据向量,该向量中的数据均为原始像素值。时间分支具有类似的结构,输入改为视频的光流数据,时间分支的稠密轨迹来自于空间分支。本文将该方法扩展到了多模态视频动作识别中,通过增加一个深度视频的分支,使之能够进行多模态视频动作识别。深度分支的特征在最后与彩色视频的特征进行了串联,得到最终的特征。深度视频的稠密轨迹来自于彩色视频。本方法采用了五个数据集进行,期中三个是彩色视频数据集,两个是包含彩色视频和深度视频两种模态的数据集。从实验结果可以看出,本方法获得的了良好的效果。将本方法特征分别与手工特征、深度特征串联,识别率都有所提升。这说明,本方法学习到了一些这两类方法都没有提取出的信息。在RGB-D数据集上的测试结果中,本方法分别与浅层的非监督学习、监督学习,以及深度的非监督学习方法进行了比较,本方法提取的特征在两种模态下均有较好的性能,同时证明了两种模态间存在信息互补性。同时,本方法还设计了消融实验,分别对彩色视频,深度视频和两种模态下的空间支持单元、时间支持单元以及时空支持单元进行测试,分别对不考虑最大化残差方差的情况,固定主方向而非学习的情况,以及采用CNN深度特征的情况,进行了实验。实验结果证明了本方法的有效性。
2.基于部分观测的视频从空域和时域两个部分对正在实施的行为进行预测,关键是对实施的过程进行建模。现有的大部分针对行为预测的工作可以分为主要的两大类:一类是通过模板匹配利用可靠的特征;另一类是开发分类模型。第一类方法目标是设计一种基于模板的模型进行预测。然而,这种模板很容易被离群的样本影响,并且当实施的行为存在较大的姿态差异时,这类方法的性能通常会不理想。第二类方法致力于开发行为的时域特性,同时预测的准确性会随着观测的帧数增加而增加。然而,大多数现有的方法提取的是每一帧的全局特性从而利用时域信息。这类方法忽略了人体的必要的结构化信息。此外,全局特征的鉴别能力会被来自背景的噪声严重影响。因此,本文提出了一种基于深度强化学习的局部激活模型的动作预测方法。其核心是以几何信息为依据,通过将人体的骨骼作为结构化信息提取备选框,通过深度强化学习激活与动作相关的部位,同时抑制噪声部位,这样能够依据人体的骨骼信息,从人体骨骼点确定的区域备选框中提取特征。本方法是通过深度强化学习的框架,学习到一种部位激活和抑制的策略,从而自主选择出与动作不相关的部位。将这些不相关的区域抑制之后,得到低冗余性的特征,每一帧的特征会朝着动作的实际方向靠拢,最终的动作预测方向与未使用激活策略的预测结果相比,部位激活与抑制能够使预测更接近真实动作,有效地降低冗余和噪声的干扰。具体的方法流程如下,输入是一段视频开始的部分而不是完整的动作,首先通过人体骨骼提取的方法,确定人体的关节点位置,然后以关节点为中心提取局部特征并按照人体结构进行排列,将所有帧的特征送入网络中进行激活与抑制。s0表示初始状态,并且各个部位均为激活状态。然后通过网络自主激活和抑制,得到这一帧的最终状态st1,并将其作为下一帧的初始状态,因为帧与帧之间的变化通常不剧烈,这样可以减少深度强化学习的搜索空间。最终将所有得到的特征送入分类器进行分类。为了实现深度学习网络的自主激活和抑制,本方法采用深度强化学习方法对整个过程进行建模。每个部位包含两个动作:1表示激活,0表示抑制。每一步的奖励值由当前状态的预测结果和上一状态的奖励得到,如果预测正确则加1,如果预测错误则减1。最终的用于优化网络参数的奖励是每一步奖励的均值,目的是期望整体最优。由此可以得出状态转移的过程,t?1时刻序列状态st?1,输入到网络中得到t?1时刻的动作at?1,这个动作作用在初始特征上,得到t时刻的序列状态st。具体的网络结构采用Actor-Critic框架,中间的actor网络是两层全连接层,网络的输入根据数据集不同设置为M×N,M为人体骨骼关键点数量,N为最大出现人数。由当前状态的特征分别输入到M×N个actor网络中,得到对应部位的激活或者抑制动作,作用在初始的特征上,作为下一时刻的特征,如此循环,可以获得所有帧对应的激活和抑制结果。本方法在三个数据集上进行了测试,从结果看本方法在观测比较低的情况下,预测准确率具有明显的优势。本方法给出了与其它方法在三个数据集上的对比结果,通过对比可以看出,本方法在观测比为0.5时的时候,预测的准确率明显高于所有的对比方法,而在完整视频的情况下,本方法略有提升,对比结果也说明了现有方法的特征确实存在冗余和噪声。最后,本方法展示了激活动作相关部位的可视化结果。从可视化结果看,本方法确实选出了一些与动作语义相关的人体部位。
3.通过不完整的视频预测人体的动作是一个非常具有挑战性的任务,因为只能够观测到部分的动作只能够获取部分的动作信息。现有的动作预测方法可以分为两类:设计一种自适应的分类模型和提取鲁棒特征进行动作的模板匹配。设计分类模型的方法目标是挖掘人体动作在时域上的发展趋势,这类方法是基于一种先验知识:随着观测的帧数的增加,预测的准确率逐步提升。然而,这些方法同时基于一个假设:观测的动作占完整动作的比例是已知的。但是这个假设在实际应用场景中是不合理的。第二类方法使用动作的模板匹配,考虑的是时空信息的先验知识和特征的分布。然而,这类方法忽略了接下来将要发生的动作对于预测人体动作的重要作用。人体动作预测的挑战在于如何尽可能地使用已经观测到的动作的信息以及正确预测的信息。不恰当的生成内容会引起对于部分动作的理解的奇异性,同时不恰当的生成长度会降低语义信息对于噪声的抑制作用。因此,本文提出了一种基于循环语义保持的生成模型的动作预测方法。其核心是在不使用观测比的情况下,通过补全后续动作预测正在进行的动作。然而,并非随意生成都是有用的,例如生成的类别错误,或者生成的顺序错误,或者生成太长或太短,恰当的生成需要对内容和长度分别进行约束。本方法设计了两个对应的模块,从而保持生成的序列和观测到的序列之间的语义的一致性,并且降低不恰当生成长度对于动作预测的干扰。这两个模块分别是:语义保持运动生成器和循环生成长度控制器,分别对内容和长度进行约束。生成器用来生成未来将发生的动作序列,为控制器提供输入;控制器控制生成的长度,决定何时停止生成。具体流程如下,方法的输入是一个动作的部分序列,这里采用的是人体骨骼数据,控制器根据输入的序列判断是否继续生成。如果继续生成,生成器将生成的动作拼接在观测的动作后面,形成新的动作序列,如此循环直到控制器输出停止信号,然后对补全的动作序列进行分类。下面对两个模块分别进行介绍,语义保持运动生成器是基于生成对抗网络的结构,它包含一个运动生成器和语义保持判别器以及一个距离度量。生成器生成动作希望判别器无法分辨真假,判别器希望尽可能判断生成数据的真假,通过两者间的对抗使生成的动作尽可能的逼真。本方法设计的语义保持判别器包括连续性判别器和逻辑性判别器。其中连续性判别器判断的是生成的动作拼接在输入的序列之后,整体是否连续;逻辑性判别器判断的是拼接后的序列动作的类别是否正确。距离度量是为了在初始训练阶段降低生成的搜索空间,尽可能保证生成动作的质量。测试阶段只使用训练好的生成器。模块二,循环生成长度控制器,该模块是基于深度强化学习的结构,动作空间包含两个动作,生成和停止。奖励函数如下,奖励值由当前时刻与前一时刻的分类对错关系决定,如果分类都正确,则给出?1的惩罚,因为生成了冗余;如果由前一时刻的预测错误变为当前时刻的预测正确,则给出+1的奖励,因为当前时刻的生成非常有效,能够帮助动作的预测;如果由前一时刻的预测正确变为当前时刻的预测错误,则给出?1的惩罚;如果前一时刻与当前时刻都判断错误,则不奖励也不惩罚,因为后续生成还有预测正确的机会。状态转移函数是确定生成循环的方式,根据当前时刻的动作序列生成控制信号,当控制信号为1时,将生成的动作与当前输入序列拼接得到新的序列。当控制信号为0时,停止生成。本方法采用四个测试集进行测试,NTU数据集提供了真实的人体骨骼数据,其余三个是通过OpenPose的方法从彩色视频中提取的人体骨骼数据作为真实数据使用。NTU和UCF101数据集是人体动作识别数据集,BIT和UTI是人体动作预测数据集。本方法给出了和对比方法在UTI和BIT两个数据集上的结果,从结果可以看出在低观测比的情况下,相较于其它动作预测方法,本方法的预测准确率明显提升;而在接近全长度的情况下,本方法比较依赖于分类器的性能,因为本方法没有对分类器进行特别的优化处理。同样的,在UCF101和NTU两个数据集上,得到了类似的结果。本方法还给出了消融实验分别对两种判别器、距离度量和长度控制器进行了测试。同时本方法还给出了固定生成长度的准确率和平均生成长度的统计的实验结果。最后,本方法展示了生成动作的可视化结果。从结果看,本方法具有以下性质:(1)本方法可以预测细微和反复的动作,并且能够在有足够循环的情况下停止生成;(2)本方法可以预测生成往复动作的后半部分;(3)本方法能够预测生成变化幅度大的动作,并且能够有效地减少尾部的无效生成;(4)本方法能够仅仅通过观测动作的开始部分预测生成较长的大幅度动作序列,且能够有效地控制冗余。
4.动作预测的定义是从部分视频中推断未完成的动作。虽然一些工作已经尝试着解决这个问题,但是动作预测仍然是一个具有挑战性的问题,因为从部分视频中获取的信息非常的有限,并且获取的信息与从全长度的动作获取的信息之间存在明显的差异。从观测到的序列中预测已经发生的部分动作是非常具有挑战性的,因为动作的信息使不完整的,并且部分动作的分布与全长度的动作的分布是不同的。通常数据的标签是针对动作视频整体的,然而,当观测部分动作时,为了采用分类任务的准确率作为评价指标,现有的动作预测方法都直接采用整体动作的标签,作为部分动作的标签进行模型的训练,造成分类器困惑,明明很相似的部分序列,却给了两种不同的标签,造成预测困难。举个例子,只看序列的前三帧,很难判断动作的类别是打手机,分类器得到打手机和玩手机的概率都很高,分类结果错分成了玩手机。原因有两个:(1)这两种动作在开始时确实很相似;(2)训练时标签歧义性的干扰。这样的标注存在歧义性,这种歧义性使准确地预测变得更为困难。现有的方法能够分为两个主要的种类:模板匹配和基于时域特征的分类方法。第一类方法预测动作是通过对动作进行模板匹配,这些模板包含稠密的表达和稀疏的表达。然而,稠密的模板匹配方法容易受到离散值的干扰,而稀疏的模板匹配方法在预测具有相似给你的动作时存在困难。第二类方法从时域中提取特征来建模观测到的动作序列的趋势。但是,他们忽略了后续未观测到的序列的趋势,这种趋势在理解完整的动作时是非常重要的。同时,这两类方法中的大多是方法会受到部分动作的歧义性的干扰。动作预测的挑战在于如何挖掘部分动作和全部动作之间的关系以及如何消除部分动作的歧义性。因此本文提出了一种歧义性显著的序列状态演进的动作预测方法。其核心是利用部分视频片段的局部信息,将现有的动作演进到最合理的全长度的序列,从而进行动作预测。本方法设计这种演进的方法是为了通过生成合理的候选序列从而预测出最可能的动作,从而消除部分动作对于预测产生的歧义性的干扰。本方法的目标是能够通过提供多种生成方向来降低这种歧义性对动作预测的干扰。本方法的核心思想如下,分别沿着多种聚类中心的方向生成后续动作,得到多个补全的动作序列,最后通过判断这些序列的概率,得到动作预测结果。在这个过程中我们的方法将标签赋予具有明显区别的完整动作,而非相似性高的部分动作,可以降低歧义性的干扰。本方法的具体实现流程如下:输入是一个动作的部分序列,先通过一个前-预测器,进行一个初步的分类。得到各种动作的概率,从中选出前M个概率最大的动作,作为动作生成的指导。将指导动作输入到动作生成网络中,然后动作生成网络分别生成M个动作的后续序列。将M个生成序列与输入序列拼接,得到M个完整的可能的动作序列。将这些补全的动作序列送入分类网络中,输出概率最大的作为最终的动作预测结果。本方法中的序列状态演进指的是当观测序列的最后一帧输入完成后,网络在指导动作的约束下向着约束的方向演化出规定的动作。具体方式如下,s1到st为观测序列,从s1到st?1经过一个嵌入层输入到两层LSTM网络中。t时刻,将st数据和指导动作A同时输入网络中进行生成,得到?st表示从t到t+1时刻,各个关节点的偏移预测量。将偏移量叠加到st上之后得到t+1时刻的生动动作gt+1,然后将gt+1作为下一时刻的输入,进行生成,循环进行。本方法在UCF101和NTU上和其它方法进行了对比:当采用SVM或者LSTM作为分类器时,本方法性能略逊于最新的一些动作识别方法,如AS-GCN;当采用AS-GCN作为分类器时,本方法生成的序列比现有方法具有明显的优势,特别是在观测比为0.3的时候。在UTI和BIT两个动作预测数据集上的结果得到了与前个实验类似的结论。此外,本方法给出了消融实验的结果,分别对以下情况进行测试:前-预测器不训练、生成器不预训练、没有生成器、不拼接原始序列、没有指导动作、采用最大概率的指导动作生成。同时,本方法给出了关于指导动作数量的探索,并在三个数据集上进行实验,设置的指导动作数量由1逐渐增加到6。从结果看,可以得出两个结论,(1)预测的准确率随着指导动作数量的增加而增加;(2)最优指导动作的数量并不是越多越好,并且与数据集中动作的种类和数量相关。最后,本方法给出预测生成和分类的可视化结果。实验结果证明了本方法的有效性。