本发明涉及视频二维人体姿态估计技术领域,具体涉及一种基于强化学习的视频序列二维姿态估计方法。
背景技术:
视频人体姿态估计一直备受计算机视觉界研究者的关注,是计算机视觉领域中一个重要的研究方向,其核心研究内容是从单个或多个视频序列中检测人体(包括运动分割与目标分类),跟踪以及对人体运动进行识别与理解(包括姿态估计与动作识别及其描述)。其中,单目视频中人体姿态估计以期从单目视频中分析人体图像特征,进而估计人体二维姿态参数,是视频人体姿态估计中最复杂的研究分支之一。由于其涉及计算机视觉、模式识别以及人工智能等领域,是一个极具挑战的跨学科研究技术。
目前,多目视频中有标记点的三维人体运动捕获技术已经较为成熟地被广泛应用于动画制作、游戏和电影特效等领域中。但是,由于其对硬件设备要求较高、系统价格昂贵等原因并没有在其他领域得到广泛应用。相对而言,单目视频的人体姿态估计技术由于其信息采集方便、更广泛的应用前景以及对技术的更大挑战逐渐成为了一个活跃的研究领域。除此之外,现有方法大都使用带有标签的数据作为训练数据,而在视频中对人体关键点进行逐帧标注无疑是一件耗时费力的事情。视频人体姿态估计主要的应用领域包括虚拟现实与增强现实、智能人机交互、智能视频监控、游戏动画与制作、体育运动视频分析、辅助临床诊断、基于内容的视频索引与检索等,具有极为广泛的应用前景。
该问题最早的解决方案由rohitgirdhar等人提出,将该问题分成两个阶段的问题,首先估计视频里每一帧的关键点,之后再利用时序平滑的后处理方式来进一步使姿态估计结果更精确。之后有一部分学者tomaspfister等人受到视频分析领域方法的启发,开始使用结合光流信息的卷积神经网络来传递姿态时序信息,主要利用视频起始部分帧和高置信度的姿态估计帧的光流信息来估计其他视频帧。然而估计的光流信息并不区分视频帧的前景和背景信息,因此会限制该类方法的性能和准确度。
另一些学者georgiagkioxari等人考虑使用基于循环神经网络rnn的时序序列建模方法,在rnn的基础上,提出采用几何一致性约束来解决视频帧中出现的图像降质问题,并受rnn思想的启发,提出使用时序卷积网络tcn来建模视频帧间的时序关系,取得了一定的成效。但该过程仍然需要大量人工标注过的视频帧来用于监督训练,因此会较大程度限制其在实际生活中的应用。
中国专利文献cn104715493a公开了一种运动人体姿态估计的方法,采用中值滤波的方法对深度图像数据进行预处理操作,并提出基于测地距离的迪杰斯特拉算法对人体像素进行部位标定,最终使用基于k-均值聚类算法的区域特征点提取算法来定位人体骨架点,但该方案由于使用传统算法,对人体的自遮挡,运动模糊等难点问题不具备较好的泛化性。
技术实现要素:
本发明提出一种基于强化学习的视频序列二维姿态估计方法,用于解决或者至少部分解决现有技术的方法中姿态估计不够准确的技术问题。
为了解决上述技术问题,本发明提供了一种基于强化学习的视频序列二维姿态估计方法,包括:
s1:构建运动转换网络学习框架,运动转换网络学习框架包括强化学习智能体、姿态估计器和运动转换器,其中,强化学习智能体用于主动选择出一个未标注帧和一个已标注帧并组成帧对,姿态估计器用于分别对未标注帧和已标注帧进行姿态估计;运动转换器用于根据未标注帧、标注帧、预训练的姿态估计器的根据未标注帧的姿态估计结果、已标注帧的姿态估计结果进行运动转换,学习视频中的时序信息以及运动模式;
s2:在运动转换网络学习框架中将组成的帧对对姿态估计器和运动转换器进行联合训练,训练过程中,计算损失并进行反向传播,对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器,其中,更新后的运动转换器将学习到的视频中的时序信息以及运动模式传递给更新后的姿态估计器;
s3:基于更新后的姿态估计器对视频序列进行二维姿态估计。
在一种实施方式中,步骤s1中强化学习智能体选择一个未标注帧和一个标注帧并组成帧对,包括:
强化学习智能体根据当前视频序列构建整体状态,整体状态包括三部分特征,分别为当前姿态估计器的性能、当前视频序列的全局信息、已有的标注帧与未标注帧的帧号对;
强化学习智能体从整体状态中获取当前状态,并根据获取的当前状态输出动作,输出动作表示从无标签视频帧的候选池中选择一个未标注帧与给定的标注帧进行配对,组成帧对。
在一种实施方式中,运动转换器包括运动转换生成器和判别器,步骤s1中运动转换的过程包括:
首次运动转换,通过运动转换生成器根据未标注帧和标注帧的真实姿态标签生成新标注帧,通过判别器指导运动转换生成器生成更真实的标注帧,并判断新标注帧与原标注帧在姿态上的一致性;
再次运动转换,通过运动转换生成器根据标注帧和未标注帧的姿态标签生成新未标注帧,通过判别器指导运动转换生成器生成更真实的未标注帧,并判断新未标注帧与原未标注帧在姿态上的一致性。
在一种实施方式中,s2具体包括:
将强化学习智能体选择出的未标注帧和标注帧输入姿态估计器;
姿态估计器对未标注帧和标注帧进行姿态估计,得到未标注帧的姿态和标注帧的姿态,其中,标注帧还包括真实姿态;
运动转换生成器将未标注帧和标注帧的真实姿态标签作为输入,重建标注帧,得到新标注帧,姿态估计器估计新标注帧的姿态;
运动转换生成器将标注帧和未标注帧的姿态标签作为输入,重建未标注帧,得到新未标注帧,姿态估计器估计新未标注帧的姿态;
判别器判断新标注帧的真假、新未标注帧的真假,并判断新标注帧与原标注帧在姿态上的一致性、新未标注帧与原未标注帧在姿态上的一致性;
根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数;
通过损失函数和有监督损失对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器。
在一种实施方式中,根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数,包括:
根据标注帧预测的姿态标签与真实姿态标签之间的误差,计算标签损失
其中,t表示标注帧的标号,n表示标注帧的数量,
根据重建的视频帧与目标姿态之间的误差,计算对抗性损失
其中,plbl表示标注帧的人体姿态热图分布,punlbl′表示新未标注帧的人体姿态热图分布,plbl′表示新标注帧的人体姿态热图分布;
根据姿态估计器估计的姿态误差,计算姿态一致性损失
其中,k表示特征层的层数,ek(fi′)表示在第k层计算出的fi′的姿态,ek(fi)第k层计算出的fi的姿态,fi′表示重建的帧,fi表示原始帧,i∈{lblunlbl};
根据标签损失、对抗性损失以及姿态一致性损失构建损失函数lfull:
lfull=λ1lgt λ2ladv λ3lpose.
其中,λ1、λ2和λ3为加权系数。
在一种实施方式中,所述方法还包括:
根据更新后的姿态估计器与更新之前的姿态估计器的性能差别,计算出基于回报。
在一种实施方式中,所述方法还包括:
将计算出的回报反馈至强化学习智能体;
基于回报对强化学习智能体进行更新。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种基于强化学习的视频序列二维姿态估计方法,通过构建运动转换网络学习框架,运动转换网络学习框架包括强化学习智能体、姿态估计器和运动转换器,强化学习智能体在主动选择出一个未标注帧和一个已标注帧并组成帧对后,通过姿态估计器进行姿态估计;再通过运动转换器根据未标注帧、标注帧以及对应的姿态估计结果进行运动转换,学习视频中的时序信息以及运动模式;在运动转换网络学习框架中将组成的帧对对姿态估计器和运动转换器进行联合训练,训练过程中,计算损失并进行反向传播,对运动转换器和姿态估计器进行更新,得到更新后的姿态估计器,更新后的运动转换器将学习到的视频中的时序信息以及运动模式传递给更新后的姿态估计器;从而可以基于更新后的姿态估计器对视频序列进行二维姿态估计。通过本发明的方法可以充分利用稀疏标注视频中的标签信息和时序信息,并最终建立一个准确和鲁棒的姿态估计器,从而提高姿态估计的准确性。
进一步地,运动转换器以强化学习智能体选出的帧对为输入,通过利用视频中运动物体的外观不变性作为自监督信号,执行双向运动转换机制(包括首次运动转换和再次运动转换),来建模视频中人体的不同运动模式,并学习到其中蕴含的运动学知识。接着通过与姿态估计器的协同训练,将学到的运动学知识传递给姿态估计器,从而来不断提升姿态估计器的性能。该运动转换器在实现标签传递的同时,还通过运动学知识的建模,进一步提升了半监督学习的效率。
进一步地,通过构建基于强化学习的选帧智能体,来挑选视频中最有信息量的帧。对于视频中少量的标注帧,通过智能体来挑选无标签帧与其配对。该智能体会充分考虑视频中的全局信息,并会通过最终姿态估计器的性能提升程度,来动态调整其选出的无标签帧,最终达到充分挖掘视频中时序信息的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例提供的基于强化学习的视频序列二维姿态估计方法的流程图;
图2为具体实施例中协同训练运动转换器和姿态估计器的流程图;
图3为图2中联合训练流程算法的伪代码示意图。
具体实施方式
本发明实施例提供了一种基于强化学习的视频序列二维姿态估计方法,用于改善现有技术的方法中姿态估计不够准确的技术问题。
本申请发明人通过大量的研究与实践发现,现有的方法主要存在以下两个技术问题:
第一、对于视频里的时序信息挖掘不够充分。现有的方法仅仅关注视频里人体运动的局部信息,而忽略了对整体运动过程的建模,当视频里出现人体的自遮挡以及运动模糊情况的时候,如果不考虑全局信息,现有方法性能将会明显降低。
第二、对于视频中少量的姿态标签信息利用不够有效。现有方法通过标签传递来实现半监督性能,但其标签传递过程大多较为简单且较为随机,没有对运动物体的运动规律做深入挖掘,也没有与客观的运动学知识相结合,从而导致其最终的姿态估计性能不佳。除此之外,该标签传递过程还需要较多的标签信息来完成这一过程,这也较为明显地降低了这些方法的半监督效率。
因此,要想解决好该问题,得到一个准确率高且足够鲁棒的姿态估计器,其关键点在于如何最大程度地利用少量的标注帧中的姿态标签信息和视频帧间的时序信息。基于此,本申请提出了一个主动式的运动转换网络学习框架,来充分利用视频中的少量标签信息和丰富的时序信息,并在运动转换网络学习框架对运动转换器和姿态更新器进行训练和更新,最终得到更新后的姿态估计器,提高对视频序列姿态估计的准确性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于强化学习的视频序列二维姿态估计方法,包括:
s1:构建运动转换网络学习框架,运动转换网络学习框架包括强化学习智能体、姿态估计器和运动转换器,其中,强化学习智能体用于主动选择出一个未标注帧和一个已标注帧并组成帧对,姿态估计器用于分别对未标注帧和已标注帧进行姿态估计;运动转换器用于根据未标注帧、标注帧、预训练的姿态估计器的对未标注帧的姿态估计结果、已标注帧的姿态估计结果进行运动转换,学习视频中的时序信息以及运动模式;
s2:在运动转换网络学习框架中将组成的帧对对姿态估计器和运动转换器进行联合训练,训练过程中,计算损失并进行反向传播,对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器,其中,更新后的运动转换器将学习到的视频中的时序信息以及运动模式传递给更新后的姿态估计器;
s3:基于更新后的姿态估计器对视频序列进行二维姿态估计。
具体来说,姿态估计器为已有的通过预训练得到的姿态估计器,运动转换器以智能体选出的帧对为输入,通过利用视频中运动物体的外观不变性作为自监督信号,执行双向运动转换机制,来建模视频中人体的不同运动模式,并学习到其中蕴含的运动学知识。接着通过与姿态估计器的协同训练,将学到的运动学知识传递给姿态估计器,从而来不断提升姿态估计器的性能。该运动转换器在实现标签传递的同时,还通过运动学知识的建模,可以提升半监督学习的效率。
在一种实施方式中,步骤s1中强化学习智能体选择一个未标注帧和一个标注帧并组成帧对,包括:
强化学习智能体根据当前视频序列构建整体状态,整体状态包括三部分特征,分别为当前姿态估计器的性能、当前视频序列的全局信息、已有的标注帧与未标注帧的帧号对;
强化学习智能体从整体状态中获取当前状态,并根据获取的当前状态输出动作,输出动作表示从无标签视频帧的候选池中选择一个未标注帧与给定的标注帧进行配对,组成帧对。
具体来说,强化学习智能体包括状态的表示和动作的表示。
状态表示,为了选择合适的帧对,强化学习智能体收到的信息应该至少包括以下两部分特征:1.姿态估计器的当前性能,以了解姿态估计器有多大的改进空间;2.视频中的全局背景信息,以了解最有信息量的帧对可能在哪里。对于性能信息来说,本申请引入了一个单独的状态集
具体来说,本申请将强化学习智能体的状态表示为一个三元组st=(bt,vt,ht),其中bt、vt、ht分别表示姿态估计器的性能信息、视频序列的全局上下文信息和一些附加信息。
对于bt的编码,本申请使用最为常见的姿态估计器性能的评估指标--pck。因此,本申请考虑使用姿态估计器在状态集
动作的表示,在本申请的框架中,智能体输出动作是指从潜在的无标签视频帧的候选池中选择一个无标签帧与给定的有标签帧进行配对。为了有效地选择帧,本申请将每个动作限制在一个受限的未标记帧候选池中,即动作空间a=[tk-t,tk t],其中tk是处于动作空间中心的已标记帧,t是一个有限的时间窗口。通过定义好的行动空间,智能体不仅可以向前查找以挑选出新的未使用的有信息量的帧,还可以反过来重新审视过去已经挑选出来的帧。
动作表示at是由给定的标注帧和潜在的未标记帧用姿态估计器e计算出来的。它主要由两部分组成,第一部分编码算从各个未标准帧中估计的姿态的置信度,第二部分是来自未标记帧的估计姿态坐标与真实标签姿态之间的姿态差异(对应关节点的坐标相减)。
本申请认为被送入运动变换器的帧对之间应该有适度的运动偏移。否则,运动变换器就不能很好地建模该运动的动力学知识并进而改进姿态估计器。此外,姿态估计器估计出来的未标注帧的姿态并不是足够准确,这就使得计算出来的姿态差异也随之不准确。因此,本申请需要智能体同时考虑置信度和姿态差异来做出正确的决定。本申请用φ来表示强化学习智能体的参数,并用深度q值网络对其建模。该深度q值网络由两个独立的分支组成,分别对状态表示和动作表示进行编码,然后将其串联起来,以估计状态-动作对的q值。
在训练过程中,本申请在一个时间窗口t内计算每个潜在的无标签帧的动作表示,并使用深度q值网络代理评估相应的q值,与最大q值相对应的动作将被选定并输出。为了使网络能找到在状态st下具有最大q值的动作at,即找到对应该动作的未标注帧,具体如下所示:
在一种实施方式中,运动转换器包括运动转换生成器和判别器,步骤s1中运动转换的过程包括:
首次运动转换,通过运动转换生成器根据未标注帧和标注帧的真实姿态标签生成新标注帧,通过判别器指导运动转换生成器生成更真实的标注帧,并判断新标注帧与原标注帧在姿态上的一致性;
再次运动转换,通过运动转换生成器根据标注帧和未标注帧的姿态标签生成新未标注帧,通过判别器指导运动转换生成器生成更真实的未标注帧,并判断新未标注帧与原未标注帧在姿态上的一致性。
现有的方法中,由于其构建的字典是基于最基础最简单的运动学知识,导致该种方法在这种情况下受到影响,准确性和鲁棒性都会下降。本申请通过利用稀疏标注视频中的不变性信息来解决这个问题。本申请假设视频序列中的变化是人在不同时刻不同帧下的姿态及其演变,而不变性则是该视频中各帧的人物外观保持不变,由此带来的运动物体外观一致性信息。也就是说,在一段视频中,其中的运动对象在同一背景下具有相同的外观信息。基于此种假设,如果从序列中选择两帧fa和fb,并使用一个较弱的别人已经预训练过的姿态估计器来获得姿态pa和pb。那么通过运动转换器的运动转换生成器将帧fa和目标姿态pb作为输入,并将fa转换为生成的虚假帧fb'。由于该视频中两帧之间的外观不变性,可以使用真实的帧fb作为自监督信号来监督整个过程,反之亦然。本申请将这个过程称之为运动转换,并提出一个运动转换器来实现这个过程。如果运动转换器能够正常行使功能,且通过使用自监督信号在一段视频里不同的两帧间来进行运动转换,那么运动转换器可以学习到视频序列中的不同动作的运动学知识,并进一步将其传递给姿态估计器,从而使得姿态估计器在这一过程中逐渐变得越来越准确。
然而,对于参与该运动转换过程的两帧的选择来说,也需要非常慎重。如果选择的两帧的运动偏移很小,运动转换器则因为没有足够多的新信息而无法正常发挥功能,如果选择的两帧的运动偏移过大,运动转换器也没有办法有效建模两帧之间的运动偏移,进而无法有效地进行运动转换,并将学习到的错误知识传递给姿态估计器,最终导致姿态估计器的准确率下降因此,本申请提出了一种基于强化学习的选帧智能体来主动选择帧。智能体来主动选择那些帧之间有适度的运动偏移的帧对,并将其送给运动转换器。通过智能体的主动帧选择,运动转换器可以最大限度地发挥运动转换的潜能,最终在视频中产生一个准确且鲁棒的姿态估计器。
需要注意的是,上述整个过程仅以自监督的方式进行,它所需要和利用的只是视频帧间的时序信息这意味着本申请可以在数以亿计的没有任何标注的视频中完成这一过程,并以一种无监督学习的方式解决该问题。然而,正如实验所证明的,不能只用时序信息来发挥姿态估计器的性能。原因是姿态估计器估计的输入目标姿态pb一般不够准确,不能保证运动转换器的功能良好运转。如果使用有标注的帧fb的姿态作为目标姿态来进行其中一个方向的运动转换,可以给运动转换器一些额外的信息指导。如果这样做的话,运动转换器也可以更好地处理另一个方向的运动转换,在这个过程中,未标注帧被姿态估计器所估计的姿态会作为目标姿态。因此,在这个过程中,也需要一些标注的姿态信息来释放运动转换器的潜力。
具体来说,本申请中的运动转换器主要包含两个模块:运动转换生成器和判别器,来执行运动转换,最终为姿态估计器的预测结果提供约束。运动转换器被设计用来学习两个被选中帧中的时序信息。由于不同的运动有不同的速度和幅度,不同视频序列的两帧中的运动模式是不同的。如果能对运动模式的多样性进行建模和学习,并将知识传递给姿态估计器,姿态估计器将是稳健的和更加准确。受此启发,在本申请的运动转换器中,在两个选定的帧之间进行运动转换,并采用这两个帧中计算出的图像层面误差和姿态相关的特征层面误差作为监督信号,图像层面误差和姿态相关的特征层面误差即为姿态一致性损失。本申请建立运动转换器,用于对未标注的帧进行半监督学习。转换生成器将人物图像和目标姿态作为输入,并生成人物在目标姿态下的新帧。
运动转换器被用来1、从其真实姿态和未标注的帧中重建已标注的帧(生成新标注帧),以学习前向的运动偏移,称为前向运动转换2、从其估计姿态和已标注的帧中重建未标注的帧,这被称为反向运动转换。本申请把这种机制称为运动转换。除此之外,本申请还引入了一个基于卷积神经网络的判别器,以更好地以对抗性方式使用视频帧的自监督信号。判别器根据视频帧中运动对象的姿态是否与给定的姿态相匹配来估计给定的姿态和生成的人物图像是否匹配,使用判别器能进一步提高本申请姿态估计器的准确性。
在具体实施过程中,首次运动转换为正向运动转换:
flbl′=g(funlbl,pgt),
其中,flbl′表示生成器g根据原未标注帧funlbl和标注帧的真实姿态标签pgt重建的新标注帧,
再次运动转换为反向运动转换:
funlbl′=g(flbl,punlbl),
funlbl′表示生成器根据原标注帧flbl和未标注帧的估计姿态标签punlbl重建的新未标注帧,
生成完两个新的视频帧(flbl′、funlbl′)后,再将它们送进姿态估计器e:
plbl′=e(flbl′),
punlbl′=e(funlbl′),
得到对应的姿态,plbl′为flbl′的估计姿态,punlbl′为funlbl′的估计姿态。
除此之外,判别器也会判断新生成的图像和原始视频帧是否具有姿态一致性:
给定一个帧fi和估计的姿态pi,判别器dis对姿态和输入帧的一致性进行概率评分。
pi=dis([fipi])
其中i∈(lblunlbl),[··]表示通道间的级联。pi对输入帧fi和姿态pi对进行评分。通过提供姿态和外观信息作为判别器的输入,鼓励生成器g重建更真实的帧,并且同时考虑到重建帧与目标帧的姿态一致性。
在一种实施方式中,s2具体包括:
将强化学习智能体选择出的未标注帧和标注帧输入姿态估计器;
姿态估计器对未标注帧和标注帧进行姿态估计,得到未标注帧的姿态和标注帧的姿态,其中,标注帧还包括真实姿态;
运动转换生成器将未标注帧和标注帧的真实姿态标签作为输入,重建标注帧,得到新标注帧,姿态估计器估计新标注帧的姿态;
运动转换生成器将标注帧和未标注帧的姿态标签作为输入,重建未标注帧,得到新未标注帧,姿态估计器估计新未标注帧的姿态;
判别器判断新标注帧的真假、新未标注帧的真假,并判断新标注帧与原标注帧在姿态上的一致性、新未标注帧与原未标注帧在姿态上的一致性;
根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数;
通过损失函数和有监督损失对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器。
请参见图2,为具体实施过程中,运动转换器和姿态估计器的联合训练流程图。
其中,在首次运动转换时,重建的视频帧是指根据未标注帧和标注帧的真实姿态标签生成的新标注帧,目标姿态是指标注帧的真实姿态。在再次运动转换时,重建的视频帧是指根据标注帧和未标注帧的姿态标签生成的新未标注帧,目标姿态是指未标注帧的姿态标签。
联合训练的流程算法的伪代码如图3所示。其中,整体loss是通过损失函数lfull来计算。
在一种实施方式中,根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数,包括:
根据标注帧预测的姿态标签与真实姿态标签之间的误差,计算标签损失
其中,t表示标注帧的标号,n表示标注帧的数量,
根据重建的视频帧与目标姿态之间的误差,计算对抗性损失
其中,plbl表示标注帧的人体姿态热图分布,punlbl′表示新未标注帧的人体姿态热图分布,plbl′表示新标注帧的人体姿态热图分布;
根据姿态估计器估计的姿态误差,计算姿态一致性损失
其中,k表示特征层的层数,ek(fi′)表示在第k层计算出的fi′的姿态,ek(fi)第k层计算出的fi的姿态,fi′表示重建的帧,fi表示原始帧,i∈{lblunlbl};
根据标签损失、对抗性损失以及姿态一致性损失构建损失函数lfull:
lfull=λ1lgt λ2ladv λ3lpose.
其中,λ1、λ2和λ3为加权系数。
具体来说,标签损失为预测的热图和真实标签热图之间的均方误差,该损失只对有标签的帧进行计算,热图为姿态的表示形式。对抗性损失的目的是为了鼓励重建的视频帧中的姿态与目标姿态尽可能一致。而上述两种损失在姿态方面没有对重建帧的直接限制,为了解决该问题,本申请还通过提出姿态一致性损失来使得重建帧和真实帧在语义层面能尽可能地相似。
在一种实施方式中,所述方法还包括:
根据更新后的姿态估计器与更新之前的姿态估计器的性能差别,计算出基于回报。
具体实施过程中,在用智能体选择的帧对联合训练姿态估计器和运动转换器之后,更新的姿态估计器e将在时间tth的状态数据集dr上进行评估,得到得分pckt。回报信号是通过检查新挑选的帧是否能提高姿态估计的准确性来计算的。因此,本申请将回报信号定义为:
其中,
从上述可知,只有当新更新的姿态估计器优于之前的任何一个估计器时,智能体才会得到奖励。否则,智能体就会根据准确度的下降而收到惩罚。因此,奖励函数作为一个明确的代理,可有效表明所选帧对姿态估计器e性能提升的有效性。
在一种实施方式中,所述方法还包括:
将计算出的回报反馈至强化学习智能体;
基于回报对强化学习智能体进行更新。
具体实施过程中,本申请用φ来表示强化学习智能体的参数,并用深度q值网络对其建模。该深度q值网络由两个独立的分支组成,分别对状态表示和动作表示进行编码,然后将其串联起来,以估计状态-动作对的q值。
并采用三个独立的数据集(训练集
本申请采用基于时序差值(td)的误差作为损失函数,它被定义为td目标和估计q值之间的差异。在本申请的实验中,从经验缓冲区
为了获得对td目标yt的精确估计,本申请用双深度q值网络公式进一步解耦行动评估和行动选择过程。本申请不假设该网络总是达到了最佳的q值,而是在额外的深度q值网络的帮助下估计td目标,参数为φ′。然后,td目标yt被定义为:
yt=rt 1 γq(st 1,at 1;φ′),
对应的动作表示为:
上述两个公式分别用于计算智能体的动作和评估智能体的动作。
为了更清楚地说明本发明的方法,下面通过一个实施例予以说明和介绍。
请参见图1,为基于强化学习的视频序列二维姿态估计方法的流程图;
本发明构建的主动运动转换网络学习框架由三部分构成,分别是:强化学习智能体、姿态估计器e和运动转换器,本申请可以将该框架看作是一个马尔科夫决策过程
在此过程中,本申请将整个数据集一分为三,分成三个子集用于优化上述决策过程。这三个子集分别是:训练集
本发明可提高视频姿态估计方法的准确性和鲁棒性,具有如下优点或者有益技术效果:1、利用强化学习和主动学习的思想,通过充分挖掘视频中的时序信息选出最有信息量的视频帧对,从而可以很好地抵御人体自遮挡,运动模糊等问题;2、本方案提出的运动转换器,可以通过建模视频中不同运动的运动学知识,并利用运动对象的外观不变性来作为自监督信息,来提升姿态估计器的性能;3、本发明不同于常见的监督学习方案,仅使用少量的视频标注帧来完成姿态估计器的学习,较为明显地降低了人工标注量,从而具备更多实用性。
本发明中所描述的具体实施的例子仅仅是对本发明的方法和步骤的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形(即采用类似的替代方式),但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。
1.一种基于强化学习的视频序列二维姿态估计方法,其特征在于,包括:
s1:构建运动转换网络学习框架,运动转换网络学习框架包括强化学习智能体、姿态估计器和运动转换器,其中,强化学习智能体用于主动选择出一个未标注帧和一个已标注帧并组成帧对,姿态估计器用于分别对未标注帧和已标注帧进行姿态估计;运动转换器用于根据未标注帧、标注帧、预训练的姿态估计器的对未标注帧的姿态估计结果、已标注帧的姿态估计结果进行运动转换,学习视频中的时序信息以及运动模式;
s2:在运动转换网络学习框架中将组成的帧对对姿态估计器和运动转换器进行联合训练,训练过程中,计算损失并进行反向传播,对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器,其中,更新后的运动转换器将学习到的视频中的时序信息以及运动模式传递给更新后的姿态估计器;
s3:基于更新后的姿态估计器对视频序列进行二维姿态估计。
2.如权利要求1所述的二维姿态估计方法,其特征在于,步骤s1中强化学习智能体选择一个未标注帧和一个标注帧并组成帧对,包括:
强化学习智能体根据当前视频序列构建整体状态,整体状态包括三部分特征,分别为当前姿态估计器的性能、当前视频序列的全局信息、已有的标注帧与未标注帧的帧号对;
强化学习智能体从整体状态中获取当前状态,并根据获取的当前状态输出动作,输出动作表示从无标签视频帧的候选池中选择一个未标注帧与给定的标注帧进行配对,组成帧对。
3.如权利要求1所述的二维姿态估计方法,其特征在于,运动转换器包括运动转换生成器和判别器,步骤s1中运动转换的过程包括:
首次运动转换,通过运动转换生成器根据未标注帧和标注帧的真实姿态标签生成新标注帧,通过判别器指导运动转换生成器生成更真实的标注帧,并判断新标注帧与原标注帧在姿态上的一致性;
再次运动转换,通过运动转换生成器根据标注帧和未标注帧的姿态标签生成新未标注帧,通过判别器指导运动转换生成器生成更真实的未标注帧,并判断新未标注帧与原未标注帧在姿态上的一致性。
4.如权利要2所述的二维姿态估计方法,其特征在于,s2具体包括:
将强化学习智能体选择出的未标注帧和标注帧输入姿态估计器;
姿态估计器对未标注帧和标注帧进行姿态估计,得到未标注帧的姿态和标注帧的姿态,其中,标注帧还包括真实姿态;
运动转换生成器将未标注帧和标注帧的真实姿态标签作为输入,重建标注帧,得到新标注帧,姿态估计器估计新标注帧的姿态;
运动转换生成器将标注帧和未标注帧的姿态标签作为输入,重建未标注帧,得到新未标注帧,姿态估计器估计新未标注帧的姿态;
判别器判断新标注帧的真假、新未标注帧的真假,并判断新标注帧与原标注帧在姿态上的一致性、新未标注帧与原未标注帧在姿态上的一致性;
根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数;
通过损失函数和有监督损失对运动转换器和姿态估计器进行更新,得到更新后的运动转换器和更新后的姿态估计器。
5.如权利要求4所述的二维姿态估计方法,其特征在于,根据标注帧预测的姿态标签与真实姿态标签之间的误差、重建的视频帧与目标姿态之间的误差以及姿态估计器估计的姿态误差,构建损失函数,包括:
根据标注帧预测的姿态标签与真实姿态标签之间的误差,计算标签损失
其中,t表示标注帧的标号,n表示标注帧的数量,
根据重建的视频帧与目标姿态之间的误差,计算对抗性损失
其中,plbl表示标注帧的人体姿态热图分布,punlbl'表示新未标注帧的人体姿态热图分布,plbl'表示新标注帧的人体姿态热图分布;
根据姿态估计器估计的姿态误差,计算姿态一致性损失
其中,k表示特征层的层数,ek(fi')表示在第k层计算出的fi'的姿态,ek(fi)第k层计算出的fi的姿态,fi'表示重建的帧,fi表示原始帧,i∈{lblunlbl};
根据标签损失、对抗性损失以及姿态一致性损失构建损失函数lfull:
lfull=λ1lgt λ2ladv λ3lpose.
其中,λ1、λ2和λ3为加权系数。
6.如权利要求1所述的二维姿态估计方法,其特征在于,所述方法还包括:
根据更新后的姿态估计器与更新之前的姿态估计器的性能差别,计算出基于回报。
7.如权利要求6所述的二维姿态估计方法,其特征在于,所述方法还包括:
将计算出的回报反馈至强化学习智能体;
基于回报对强化学习智能体进行更新。
技术总结