基于时序分析的人体活动状态识别与定位
2019-04-19丁洪金宫法明
丁洪金,宫法明
(中国石油大学(华东) 计算机与通信工程学院,山东 青岛 266580)
0 引 言
检测人类行为活动对视频的理解是至关重要的。检测人类行为活动一直是计算机视觉领域的一个重要研究课题[1]。近年来由于视频数据的爆炸式增长和实际生产生活等各方面对视频智能化处理的急切需要,基于时序行为检测的方法受到越来越多的关注。时序行为检测现存很多难题:在目标检测中,物体目标的边界通常都是非常明确的,所以可以标注出较为明确的边界框。但时序行为的边界很多时候并不是很明确,如何定义一个行为的开始和结束,无法给出一个准确的边界,也就是精确的第几帧;虽然结合时序信息的行为识别效果会更好一些,但是只使用静态图像的信息,而不结合时序信息在行为识别中是可以的。然而,在时序行为检测中,无法只使用静态图像信息,它必须结合时序的信息,比如使用RNN读入每帧图像上用CNN提取的特征[2]或用时序卷积[3]等;时序行为片段的时间跨度变化可能非常大。例如海上平台监控系统的视频数据集,也是从几秒到几千秒。
文中提出一种精确时序行为检测方法,在未修剪长视频中识别并定位出静止,跌倒及其时间节点。此任务的关键主要在于两点:第一,高质量的时序片段。时序片段质量的高低,直接影响行为的时序边界的精确度。很多方法都是使用产生候选区域(proposal)后,对候选进行分类的方法,重要的是较高的候选质量。也就是说在保证平均召回率的情况下,尽可能减少候选的数量。对于所有方法,获取准确的时序行为边界都是非常重要的;第二,准确的分类,即能准确得到时序行为片段的类别信息。为使分类准确,采用细化的时序动作性分组网络(refined temporal actionness grouping,RTAG),通过设定动作性得分的阈值,来细化动作分类。
输入为未处理的石油采油厂海上平台监控视频,进入深度CNN网络[4]训练成的动作性分类器,输出动作性得分。动作性得分形成的波形进入细化的时序动作性分组网络形成候选区域,再送入动作分类器得出检测结果。采用先产生候选,再对候选进行分类的方法。基于时序分析的人体活动状态识别与定位在实际应用中有重大的意义。例如,海上石油平台具有远离陆地、海况复杂、救逃难度大等特点,在海上平台进行石油钻采生产作业的工作人员面临着各种危险因素,如跌倒、坠海等。此外,如果有非法人员入侵等情况,极易出现安全问题和经济损失。想要了解事件发生的全部过程,并预防危险事件的发生,靠人工快速定位某一事件发生的时间段并进行预警是很困难的。但是,用时序人体活动状态定位却可以快速定位到想要查找的片段并且通过对人的状态分析判断此时工人行为是否异常。
文中主要贡献:复杂的场景应用,在海上石油平台场景下监控视频的人体活动状态识别与定位;采用RTAG网络多阈值细化动作分类边界以满足不同精度的要求。采用深度学习网络框架提高精准率。
1 相关工作
为了快速定位某一非正常事件发生的时间段,及时了解多个海上采油平台工人操作的情况,系统主要涉及到行为识别、目标检测、时序动作检测这三方面的工作。
近年来行为检测的研究取得了重大进展。早期的方法一般是基于手工设计特征[5]。随着对行为检测的进一步研究与发展,基于深度学习的行为检测方法在检测性能上效果显著。卷积神经网络(CNN)[4],双流体系结构,3D-CNN网络[6]的应用对视频的时间特征和动作特征进行结合,从多个维度对视频进行特征提取与分类[7],实现了很好的效果。但是,这些方法基本上是处理短视频或者是视频的小片段,而对于未修剪长视频的一些方法探索,主要有分段网络结构[3]等其他一些相互结合的方法。自从深度学习被应用在行为检测上,已经实现了无监督[8]地从数据中学习到视频的时空动作性特征,并且以级联的方式实现端到端的训练。
目前,物体识别方法可以归为两类:一类是基于模型的或者基于上下文识别的方法,另一类是二维物体识别或者三维物体识别方法。早期,目标检测的主流方法[9-11]是通过自下而上的系统方法产生候选,有些是用滑动窗口的方法产生候选[12],然后对候选进行分类。目前,基于深度学习方法[13]所产生的候选区域在候选数量较少的情况下,也会有比较好的平均召回率。深度模型还引入了捕获对象外观的强大建模能力。空间结构建模具有很强的视觉特征,仍然是检测的关键所在。特别的,引入ROI池[10,14],以最小的额外成本对目标的空间立体结构进行建模,这一想法在R-FCN[6.14]中得到了进一步的体现。
时序动作检测发展到今天,已经取得了不少成果。以往关于行为检测的工作主要是使用滑动窗口[5]作为产生候选区的方法,并专注于设计手工构造的特征表示及分类[15-17]。最近的工作将深度网络[3]纳入检测框架,并获得了更好的性能。但是,时序动作定位这一研究方向的性能指标依旧很低。将数百或数千个候选分类,仍然需要监督。由于监督成本的原因,所有这些方法都被限制在相对较小的数据集中,不能简单地推广到更多的类型。初始时序动作定位是基于滑动窗口方案上,首先对视频进行特征提取,通过滑动窗口产生不同长度的候选,然后对候选进行分类;最近的方法是基于行动区域[18],以减少搜索的复杂性。首先,从视频中提取目标区域,进行特征提取,然后选择目标区域进行分类[15,18]。这些方法需要对每帧图片进行标注然后进行视频训练,这对于大规模的数据集来说,标注工作是不可能及时实现的。因此,基于无监督的时序动作定位是此研究方向需要急切解决的问题。由于时序动作定位和目标检测之间存在一定的相似性,所以很多时序动作定位方法都采用了与一些目标检测方法相似的框架[19]。
2 人体动作识别框架
基于海上采油平台的实际情况和快速定位视频中行为片段的目的,采用图1所示流程进行人体活动状态识别与定位。输入为未处理的视频进入一个自下而上的深度网络处理结构[19],提取特征后产生时序区域候选,然后对区域候选进行抽样。抽取的样本进入CNN网络训练成的动作性分类器,动作性分类器对区域候选与标准动作相似度进行打分,产生一维的动作性得分波形。分数波形送入RTAG网络,设置不同的RTAG网络阈值来实现不同定位精度的要求。由RTAG网络产生不同精度的候选建议(proposal),将产生的所有候选建议输入动作分类器进行动作类别和边界的检测,最后得出检测结果。方法框架分为两个阶段:产生动作候选和候选的分类。由于影响时序动作检测精度的主要因素是候选的质量,所以文中技术重点放在生成高质量的候选上。考虑到实际需要的是能快速定位某一行为片段,这就要求该网络框架能够有较高的检测效率。
图1 时序动作精确检测流程
2.1 细化的时序动作性分组方法
视频帧经过动作性分类器后,会产生一个一维的波形,这个波形便是区域候选与标准动作相似度的得分。文中的目的是根据这个相似度波形来定义视频帧是否为此种标准的动作。
由低上升的波形是一维信号序列的动作概率p波形,由高降低的波形是动作概率的互补波形,定义为1-p,中间是动作性概率按阈值为0.4时,判为标准动作帧的候选区域。由此,可以看出,选择不同的阈值和进行不同数量的抽样,都会影响时序的判定精度。中间每个“盆地”越低,则对应的是一个动作性概率越高的时间区域提案。根据设置的不同阈值来产生候选提案。该方案首先通过阈值获得若干动作帧,这里的片段是一个连续的片段子序列,其动作分数超过一定的阈值。为了产生一个区域提案,选择一个片段作为起点,然后通过合并后续片段来重新扩展动作性分数高的区域时间。
2.2 深度学习分类器
卷积神经网络作为深度学习模型的一种,能从数据中自动学习并提取特征[20]。由于一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全面,越全局化。文中采用多层卷积网络训练模型[20],进行特征提取,动作性得分,动作分类的分类器模型的训练。
池化操作的优点是降低特征维数,同时保留了大部分有用的特征,减小了计算量。在池化操作之后,Feature Map个数和上一层一样,但是大小便为原来的1/n,计算公式如下:
其中,down表示池化函数。
CNN同一特征映射面上的神经元权值相等,可以进行网络的并行学习。权值共享可以减少网络的训练参数,降低了网络的复杂性,特别是多维输入向量可以直接输入网络,避免了特征提取和分类过程中数据重建的复杂度。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显式的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络。流的分类方式几乎都是基于统计特征的,这就意味着在进行分辨前必须提取某些特征。然而,显式的特征提取并不容易,在一些应用中也并非总是可靠的。卷积神经网络明显有别于其他基于神经网络的分类器,通过结构重组和减少权值将特征提取功能融合进多层感知器。它可以直接处理灰度图片,能够直接用于处理基于图像的分类。
2.3 候选建议的生成过程
候选建议的生成是文中实现时序行为精确检测的第一阶段,也是实现精确边界定位的关键。未修剪视频输入到一个自下而上的深度CNN网络,这个网络的任务是提取片段、评估片段动作性、生成区域候选。每个片段结合了视频帧和由此导出的光流场,它不仅传递了特定时刻的场景外观,而且还传递了当前的运动信息。给定一个视频,将有规律地对产生的片段序列进行间隔提取。为了得到高质量的候选,引入动作性(actionness)[21]这一概念。
无分类片段在任意活动中属于此行为的概率得分。因此,活动实例很可能出现在包含具有相对较高活动性的片段的视频部分中,即得分高的候选。为了评估动作性,学习了一个基于时间段网络的二进制分类器。在设定的阈值之下二进制分类器输出为0,大于等于阈值,分类器输出为1。为了处理长的时序动作,用整个视频来训练一个双流的CNN网络。在实际应用时,将视频中的区域片段作为输入。训练分类器时,将所有带注释的动作实例作为正区域样本,随机抽取视频中没有任何动作的实例作为负区域样本。利用从视频中提取的一系列片段,使用上面所学习的分类器来评估每个片段的行为得分。分数的范围是0到1,因此可以理解为片段在行动中的概率。为了产生时态区域候选,基本思想是将连续的片段分组,并取得高的动作分数。由于目标是针对海上采油平台这一特定场景,对噪声的鲁棒性和处理长度大幅度变化的能力是两个要求。考虑到这些目标,设计了一种稳健的分组方案,该方案允许偶然的异常值。
动作性分类器是可以由视频片段训练而成的二进制分类器,用它来计算单个片段的动作性概率。基本思想是找出动作性概率高的连续区域。
2.4 行为分类过程
产生一系列的候选区之后,就是将它们分为特定的行动类别。如前所述,这是由一个级联管完成的。移除属于背景的内容之后,采用基于TSN的活动分类器对其余的候选区域进行分类。学习到的分类器将以固定的帧速率应用于视频,为每个采样片段产生分类分数。对于每个区域支持的片段分类分数,被聚合成区域级别的分数,以便将候选分类到其活动类或背景中。具体来说,活动分类器A将输入建议分类为k+1类。活动类(带有标签1,2,…,k)和附加的“背景”类(带有标签0)。该分类器将其范围限制在过程阶段,并根据相应的特征进行预测。在高级特征的基础上被实现为线性分类器。给定建议,活动分类器将通过Softmax层生成标准化响应向量。
对人体的动作进行分析时更多关注的是局部细节动作,但在视频监控中细节动作特征往往表现得并不明显。通过RTAG网络,在此基础上完成动作分类任务,这种方式也具有较好的识别能力。
3 实验结果与分析
3.1 实验准备
在本节,评估了文中方法的有效性和实际应用的可行性。首先介绍了评估数据集和该方法实施细节,然后探讨了各部分组件在框架中的效果。将数据集按2∶1∶1的比例分成训练集、验证集和测试集。原始数据来自于海洋采油厂的流媒体服务器。各个海洋平台上的监控设备保持固定不动,以海洋工作平台作为监控场景,并通过微波的方式将实时的监控视频传输并存储到流媒体服务器中。
针对海洋平台这个特殊场景,从安保工作的角度预置了包括站立、行走、跌倒三种动作,共采集1 000组动作序列作为人体动作模型库标准。每种动作类型具体的数据分布如表1所示。
表1 不同动作类型的数据分布
3.2 实验设计与分析
以端到端方式训练结构化的分段网络,以原始视频帧和产生的候选作为输入。用SGDR来学习CNN参数。RGB网络的初始学习速率设置为0.1,光流网络的初始学习速率设置为0.5。利用建立的训练集上训练的动作分类器来生成候选。分类器的识别率与图像训练集数量的关系如图2所示。
图2 海洋平台场景下的目标检测 识别率与训练集数据的关系
图2显示了分类器的识别率与训练集数量的变化趋势,随着训练集的不断增加,目标的识别率并不是呈线性增长,而是达到峰值后又呈降低的趋势。这可能是因为针对同一场景,随着训练集的增多,提取到的特征过于单一,如果训练集和测试集的特征分布不一致,则易于出现过拟合的现象。文中选取峰值处的模型定为目标分类器,结合目标检测模型,得到的检测结果如图3所示。
图3 海洋平台场景下与分类器结合的目标检测
图3(a)是海洋平台摄像头所拍摄的原始图像,场景较为复杂,人员目标检测时易受柱形管道的干扰;如图3(b)所示,误将柱形管道识别成人员目标;图3(c)是目标检测输出的最终结果,去除了管道目标等负样本。
在视频测试集中选取一段视频,输入到训练完成的模型中,得到的检测结果如图4所示。
图4 模型输入测试集的检测结果
图4为文中方法动作实例输出结果,未处理的长视频进入网络框架之后,快速定位出视频中存在目标的片段,并对定位的片段中人的活动状态进行判断。图4精确地检测出人的站立状态。根据上述实验结果,有以下结论:
(1)基于类无关的行为,RTAG标记候选方法擅长于生成时间候选,并且可以很好地推广到未见的活动。RTAG产生的稀疏方案有利于检测性能;
(2)分类模块的两阶段级联设计对于高时间精度的动作检测至关重要,它也是一种通用设计,很好地适应了具有不同时间结构的活动;
(3)该方法可以直接预测未修剪视频中的动作实例,将特征提取过程和CNN网络相结合,形成一个端到端的框架,从而直接从原始视频中训练出整个框架。
4 结束语
运用时序动作检测等技术,实现了复杂场景下人体的动作识别与时序定位。将一种用于时序动作检测任务的通用框架放置到一个具体的实际应用场景中,细化了产生候选方式,简化了后续分类网络。建立在先产生候选后分类模式的基础上,通过引入动作候选的时态分组和候选分类器的级联设计,较好地满足了识别的活动要求。此外,证明了该方法是准确和通用的,能够精确地定位时间边界,并且能够很好地处理具有不同时间结构的活动类别。对于少量误报的情况,可以通过进一步调节阈值来改进。
在多种传统人体动作识别算法的基础上进行有效融合,使之适用于远离陆地的海洋平台环境,从而保证工作人员的安全以及平台工作的顺利开展。尽管该方法在目标检测方面取得了较好结果,但对局部细微动作的识别以及时序的定位精度还有待提高。因数据集规模有限,未能更多地考虑复杂动作等潜在问题。如何解决这些复杂动作的识别和准确定位问题将是下一步的主要研究工作。