星际争霸图像序列的群体行为识别研究
2022-04-15白江波杨阳张文生
白江波,杨阳,张文生
中国科学院 自动化研究所,北京 100080
基于遥感图像的目标检测是当前计算机视觉领域的研究热点。通过目标检测算法对地面目标进行精确的识别,具有重要的社会和经济价值[1]。随着计算机视觉技术的持续发展,研究者们将视觉研究领域不断延伸——从静态的目标类别识别和精确定位拓展到目标动态的行为识别。受限于遥感图像的成像方式和成本,目前尚没有遥感图像目标动态行为数据集。近些年来,大量研究者开展了基于游戏数据的人机对抗研究[2]。因为星际争霸游戏图像与遥感图像具有相似的视角、目标和背景,所以利用星际争霸游戏图像构建群体目标行为识别数据集,并开展群体目标行为识别可以为后续遥感图像目标群体行为识别研究奠定基础,具有重要的研究价值。
1 相关工作
针对基于图像视频序列的目标行为,国内外已有众多研究成果。根据图像中目标的个数,目标行为识别可分为个体目标行为识别和群体目标行为识别。个体目标行为识别的数据集主要有:UCF101[3],Kinetics[4],AVA[5]等。个体行为数据集的行为类别主要包括个人在日常生活中的常见行为,如唱歌、弹琴、跑步、打球等。个体行为识别早期主要通过密集采样特征点、特征点轨迹跟踪,基于轨迹构建行为特征的方法进行个体目标行为识别,其代表性算法是改进的密集轨迹(improved dense trajectories,IDT)算 法[6]。随着2012 年深度学习方法在图像领域取得的重大突破,研究者们逐步将研究重点转移到基于深度学习的目标行为识别上来。按照是否提取人体关键点,基于深度学习的方法可以简单划分为基于图像视频的方法和基于人体骨架的方法。基于图像视频的深度学习方法又可以按模型方法分为基于长短期记忆网络(long short-term memory,LSTM)的方法、基于双流法(two-stream)的方法和基于时空间3D 卷积的方法。基于LSTM 的方法通常使用卷积神经网络(convolutional neural networks,CNN)提取空间特征,使用LSTM 提取时序特征,进行行为识别,其代表方法如长期循环卷积网络(longterm recurrent convolutional networks,LRCN)[7]等。基于双流法的方法则通过空间流处理RGB 图像,得到形状信息,通过时间流/光流处理光流图像,得到运动信息,最后将2 个流融合。经过分类,得到目标行为,其代表性方法有Two-Stream[8]、时间段网络(TSN)[9]以及时间移位模块(TSM)[10]等。基于时空间3D 卷积的方法通过添加时间维度将2D 卷积核扩展到3D,直接提取包含时间和空间两方面的特征。基于3D 卷积的方法是当前研究的热点方法,代表性方法有C3D[11]、I3D[4]以及最新的Facebook 提出的slowfast[12]等。人体骨架是反映个人行为的重要表征,随着图卷积网络的兴起,基于人体骨架的行为识别方法开始成为研究热点,其代表性方法包括ST-NBNN[13]、Deformable Pose Traversal Convolution[14]和STGCN[15]。群体行为识别的公开数据集主要有collective activity datasets[16]和Volleyball dataset[17],前者主要是针对人群的排队、过马路和交谈等的群体性为,后者是针对排球比赛的进攻、传球和防守等的群体行为,并对每个个体进行了位置标注。群体行为的识别方法除了前述基于深度学习的图像视频识别方法外,还有针对群体中个体关系建模的行为识别方法[18-20]。从上述介绍中可以看出,目前行为识别研究主要是以“人”为研究对象,个体精细化行为识别较多,群体行为识别较少,针对车辆、飞机等的行为识别研究不足。
2016 年,随着AlphaGo 在围棋人机对抗中大放异彩,越来越多的学者投入到基于强化学习的人机对抗研究中。其中,基于星际争霸的人机对抗研究就是热点之一[21]。为了推进星际争霸的策略分类和对抗学习等研究,Facebook发布了包含65 646个星际争霸的比赛记录[22],开发人员可以直接通过使用Facebook 提供的TorchCraft 工具包[23]提取和存储数据。同年,中科院自动化所也公开了星际争霸2 宏观运营研究数据集MSC[24],为星际争霸的任务全局状态评估和建造顺序预测提出基线模型和初始基线结果提供数据集。2019 年,Deepmind 团队在Nature 上发表文章,展示了其AlphaStar 已经超越了战网上99.8%的活跃玩家[25]。从近些年的文章来看,研究者们的重点在于如何优化多智能体模型[26]和强化学习[27]方法提升游戏策略和操作。由于星际争霸的游戏数据可以通过后台获得目标在地图内的精确信息,目前很少有研究者通过计算机视觉的方法从游戏视频中获取目标信息。
综上所述,计算机视觉领域大多以“人”为行为识别的研究对象,而游戏对抗领域通常从游戏后台获取目标,所以计算机视觉研究领域缺少多类目标的群体行为识别图像数据集。因此,我们构建了基于星数据的群体行为识别图像数据集,并通过主流目标行为识别算法对数据集进行了验证性测试。数据集原始图像来源于网络星际争霸录像,通过截取录像中片段的方法获取表示目标行为的连续图像序列,数据集有450 个连续的目标行为,包含静止、运动和战斗等行为。视频中的静止和运动行为主要是人类种族的图像,包含地面和空中作战单元;战斗行为主要是人类与人类、虫族和神族的作战片段。本文主要结构如下:首先对数据集做了详细介绍,并对构建方法进行了简要说明;其次介绍了与该数据集有关的一些统计信息;最后通过3 种群体行为识别方法对数据集进行了验证并给出了行为识别结果。
2 数据集介绍
2.1 数据集的采集方法
我们从网络上获取了28 个星际争霸比赛集锦录像,即单个录像中包含多场比赛。现有星际争霸数据集是基于游戏数据的回放文件,然而游戏界面中回放数据无法调整游戏进度,不利于我们截取需要的视频片段。考虑到网络获取比赛视频的方便性,我们主要通过视频网站获取需要的游戏录像。由于获取比赛的录像质量不一致,图像 分 辨 率(ppi)从1 024×576 到720×576 都 有 分布,且部分视频包含水印、台标和人像等干扰因素。因为在比赛中,战斗行为是观众关注的重点,而目标移动和静止不是观众关注的重点,所以,比赛视频中比较容易获取战斗行为的视频片段,而较难获取移动和静止行为视频片段。为了弥补移动和静止行为视频片段的数量,我们通过自己游戏的办法,采集了若干个静止和移动行为的视频片段。为了丰富静止和移动行为的目标类型和背景,每个行为视频的目标数量和种类不相同,且包含了游戏中典型的5 类游戏背景图像。
2.2 数据集构建策略
数据集构建的过程如图1 所示。首先,分析比赛过程,截取比赛录像中满足目标行为类别的视频片段。第二,考虑到遥感图像可能获得的目标行为图像数量,并结合星际争霸中游戏的目标行为发生过程,我们每个视频片段均匀提取10 帧作为群体目标行为识别的图像序列。第三,为了避免下方地图目标信息和台标人像等对群体目标行为识别的干扰,裁剪图像的中间区域作为行为识别的感知范围,并将裁剪后的图像分辨率(ppi)转化为256×256。
为了丰富群体目标行为的目标类型和背景,每个序列图像均包含不同目标种类、数量和背景。表1 给出了数据集的相关参数,图2 给出了典型的群体目标行为识别的图像序列实例。考虑目标存在遮挡且种类多样,我们没有给出图像中每个目标的种类和位置信息,群体目标的行为通过整体图像直接获取。每个行为识别图像序列按照UCF101 数据集的要求,被标记为“文件路径+图像数量+行为类别”,用来指示行为图像序列包含多少帧图像和行为类别。最后,将整个数据集随机分为训练数据集和测试数据集。
表1 星际争霸群体目标行为识别相关参数
2.3 数据集的多样性
影响游戏数据行为识别的主要因素包括目标主体的多样性、目标背景的多样性和目标行为的多样性。
针对目标主体多样性,我们主要选择人族作为主体目标单位,包含了主要的地面作战单位,如机枪兵、喷火兵、医疗兵、坦克、机器球等。如图3(a)所示,为了增加群体行为样本中目标主体的多样性,每个行为样本中目标的类型混合搭配,不同样本中的目标数量不同。此外,由于游戏设置导致的目标颜色差异,相同目标类型在不同样本中也会呈现出不同的颜色。考虑到当前行为识别算法的需要和游戏视频中不同目标的相互遮挡的特点,我们在数据集中未标注每个目标单位的位置和类别。
针对目标背景多样性,如图3(b)所示,我们选取了空间站、草地、火山地形等多个地图场景作为群体目标行为的背景,并选择同一地图的不同区域对目标群体行为进行采样。通过上述操作,丰富了群体目标背景的多样性。考虑到目标行为识别的特点,当前数据集中目标行为主要在野外,较少包含建筑类目标背景。
针对目标行为多样性,如图3(c)所示,静止行为包含了各类目标单元的密集静止和散状静止2 种表现形式;移动行为包含了各类目标单元的不同方向的移动和不同速度的移动行为;战斗行为包含了不同对战种族、不同战斗武器效果和不同技能效果的战斗形式。通过提升群体目标行为的多样性,使数据集尽可能覆盖游戏中的所有行为场景。
3 实验结果
3.1 行为识别网络模型
如前所述,基于深度学习的目标行为识别方法主要有LSTM,Two-Stream 和3D 卷积网络。考虑到当前后两者已经成为目标行为识别的主流方法,我们选取其中近几年的4 种代表性方法TSN、C3D、I3D 和TSM 作为星际争霸图像数据群体行为识别测试方法。TSN 算法是一种典型的Two-Stream 类目标行为识别方法,通过同时提取图像的RGB 特征和光流特征实现目标的行为识别。C3D 通过3D 卷积网络同时对图像序列的时间和空间进行特征提取,从而实现目标行为识别。I3D 汲取了Two-Stream 和3D 卷积的优点,通过2 个3D 卷积网络分支,提取图像的RGB 特征和光流特征,实现目标行为更准确的识别。TSM 则在TSN 的基础上进行了改进,增加了时序移位模块,通过把检测帧的特征融入前后帧的特征信息,以增大时域感受野,提高目标行为识别的准确率。下面我们将简要介绍这3 种行为识别方法的算法框架。
3.1.1 TSN 算法介绍
经典Two-stream CNN[8]算法中需要对视频进行密集采样,当输入视频是一个长视频时,算法的计算量会变的很庞大。TSN 算法针对该问题,提出了稀疏时间采样策略。如图4 所示,无论输入视频的长短,TSN 算法直接分成K个片段,然后在每个片段再随机找出一个时间小片,分别用共享CNN 来提取空间上的特征,再进行特征层的融合,最后进行分类。
那么TSN 算法的图像序列行为识别可用式(1)表示:
式中:TK为 第个片段,W为共享CNN 网络的权重,函数F为CNN 网络提取得到的图像片段特征,G为特征融合函数,H为分类层Softmax。本文中TSN 模型使用ResNet50 的2D 卷积核的骨干网络。
3.1.2 C3D 算法介绍
一个好的算法通常是一个简单可靠的模型,并且模型具有通用、简洁、高效和简单易实现方式。如图5(a)所示,C3D 算法就具有这样的特点,它直接将2D 卷积扩展到3D(添加了时间维度),同时提取包含时间和空间两方面的特征。给定一段视频,其大小是c×l×h×w。其中c为图像的通道数,l为视频的帧数,h、w分别为每帧视频的高和宽。3D 卷积的卷积核和池化核也是3D 的,很容易想象得到,就是比2D 扩展一个维度,所以核大小是d×k×k。其中,d为卷积核的时间深度,k为卷积核的空间大小。本文使用标准C3D 骨干网络,其中包含8 次卷积操作,5 次池化操作,提取视频的时间和空间特征,最后网络在经过2 次全连接层和softmax 层后得到最终的输出结果。
3.1.3 I3D 算法介绍
I3D 模型吸收了之前模型的优点,把双流的思想加到3D 卷积网络当中来,并充分发挥预训练的效果,取得优异的效果。如图5(b)所示,I3D 模型将图像RGB 数据和光流数据同时作为模型的输入,然后用3D 卷积网络分别提取两路数据的特征,再做特征级的融合,输入softmax 层后得到的最终的输出结果。此外,考虑到充分利用现有2D 卷积网络的预训练参数,I3D 模型通过把2D 模型中的核参数在时间维上不断复制,形成3D 核的参数,同时除以N,保证输出和2D 一样;其他非线性层结构都与原来的2D 模型一样,来实现现有2D 卷积网络预训练参数的充分利用。本文中I3D 模型使用ResNet50 的3D 卷积核的骨干网络,并使用ResNet50 的2D 卷积网络的预训练参数对骨干网络进行初始化。
3.2 实验参数设置
本文选择的4 种算法模型均使用mmaction2行为识别框平台实现。模型训练前使用预训练网络参数对模型骨干网络进行权重参数初始化,均使用随机梯度下降法进行参数优化,初始学习率为0.001,动量参数设为0.9,权重延迟设为0.000 5。全连接层使用dropout 泛化方法,其值设置为0.5。模型批处理参数设为4,TSN 模型中K取4,C3D 和I3D 模型中图像序列片段的长度设置为10。本文使用NVIDIA GTX2080Ti 显卡作为模型训练和测试的硬件平台。
3.3 实验结果分析
游戏图像序列的测试结果如表2 所示。
表2 不同模型的群体行为识别准确率
从表2 可以看出:C3D 和I3D 取得了最好得行为识别结果;战斗行为较容易进行识别,静止和移动行为较难进行识别。
就各个类别的群体行为分析如下:4 类群体目标行为识别方法均能够准确识别游戏中的战斗行为。其原因是因为战斗行为中,图像会出现战斗引起的火花和光斑等典型战斗表征。基于这些表征,通过图像分类方法也能够很好地区分战斗行为与其他行为。对于静止行为而言,采用3D 卷积网络的模型明显好于2D 卷积网络的Two-stream 模型。其原因是因为群体目标处于静止状态下,目标没有移动,光流输入没有为群体目标的行为作出贡献,且3D 卷积网络对于时空特征捕捉能力强于2D 卷积网络。对于移动行为,由于加入了光流输入,Two-stream 模型的识别结果得到了一定的提升。但由于移动行为相对于静止行为更加复杂,C3D 和I3D 的行为识别准确率产生了一定的下降。
另外我们给出了I3D 模型的混淆矩阵,如表3所示。从表3 中可以发现,由于战斗行为中存在较明显的光斑,战斗行为不会误识别为其他行为。但是由于战斗行为中,群体目标或处在静止状态或处在移动状态,导致少量移动行为会误识别为战斗行为。
表3 I3D 模型群体行为识别混淆矩阵
进一步,我们给出了TSN、C3D、I3D 等3 种模型的群体目标行为识别计算时间如表4 所示。从表4 中可以看出,采用3D 卷积网络模型的计算时间明显小于Two-stream 模型。C3D 模型包含的卷积层数少于I3D 模型,故其计算时间最短。综合群体目标行为识别的识别准确率和计算时间,C3D 模型取得了最好得效果。
表4 不同模型的群体行为识别计算时间 ms
4 结论
本文以星际争霸游戏图像数据的群体目标行为识别为研究目标,构建了游戏中群体目标典型行为的数据集,并应用当前主流的行为识别方法对游戏图像序列进行了群体行为识别。群体目标典型行为的数据集共包含战斗、移动和静止3 类典型行为,每个行为样本中包含不同数量、不同类型和不同背景的目标单元,充分保证了数据样本的多样性。通过3 种行为识别方法的对比,验证了本数据集的有效性,为后续研究遥感图像的群体目标行为识别方法提供了指导和迁移学习的原始数据。
为了进一步验证游戏数据的行为识别方法,我们还需要进一步扩充数据集数量,增加神族和虫族的单元目标,更加精细化群体目标行为类别,提升星际争霸游戏数据群体目标行为数据集的有效性。