APP下载

复杂监控背景下基于边缘感知学习网络的行为识别算法

2020-09-02朱冬雪朱艺璇黄林毅

计算机应用与软件 2020年8期
关键词:金字塔尺度行人

聂 玮 曹 悦, 朱冬雪 朱艺璇 黄林毅

1(国网天津市电力公司电力科学研究院 天津 300384)2(四川大学视觉合成图形图像技术国防重点学科实验室 四川 成都 610064)

0 引 言

随着硬件技术、信号处理技术的飞速发展,人机交互已经在日常工作生活中频繁应用[1]。现有的智能硬件已经可以利用可穿戴的数据套件直接感知人的姿势与行为动作,然而这类应用需要辅助的套件进行信息采集,限制了交互信息的自然表达。通过视觉对人体行为动作进行识别,可以实现各种复杂信息的交互,该技术不需要较为复杂的数据采集设备,使人机交互更加自然[3]。

经过多年的发展,基于视觉的行为识别技术仍然存在一些亟需解决问题,主要归因于人体的非刚性特征以及复杂背景的影响[4]。传统的行为识别算法大都采用行人检测与分割,然后提取动作特征,最后利用特征进行分类识别[5]。由于传统的方法需要针对不同的任务设计不同的人工特征,例如颜色特征、光流特征、HOG特征等[6],这些特征容易受环境影响,泛化能力较差。Karpathy等[7]提出一种基于显著性分割的多特征行为分类模型。该方法结合多种颜色空间模型从复杂背景中分割出人体区域,并采用改进的HU不变矩进行姿态轮廓描述,获取人体的多特征级联向量,最后利用SVM实现特征数据分类。该方法在简单背景下测试数据的识别精度较高,但对自然状态下采集的人体图像的识别精度很差。

基于机器学习的行为动作识别模型是目前研究较多的方向,在一定程度上提高了识别的精度。由于类肤色信息或复杂背景导致分割算法不能得到准确的人体轮廓,进而影响后期姿态行为识别率。Tran等[8]提出一种基于智能学习的行为识别方法,通过机器学习算法对复杂图像智能分析,获取人体序列连贯时空特征,进而完成相应的高精度分类。可以看出,通过直接对分割区域进行特征提取,再采用智能算法进行行为判断,虽然能够在一定程度上提高模型分类的准确率,但特征的表征能力直接影响系统的识别精度。传统的图像处理、机器学习等人体轮廓检测及行为识别模型泛化性不强,对噪声等干扰比较敏感,不能对自然环境下采集的大规模图像数据进行有效识别。相较于SVM、决策树、神经网络等浅层学习模型的检测算法[9],以CNN为代表的深度学习强调了模型结构的深度,更突出行为特征学习的重要性,利用大数据来学习特征,更能表征数据丰富的特征信息。Simonyan等[10]首次将卷积神经网络运用到行为识别领域,通过设计一种更深层次的网络结构,并采用Dropout技术增强模型的泛化能力,其检测精度超过传统浅层学习模型。深度模型本质上是一种深层非线性网络结构,通过网络中多隐层节点将低层特征组合成更加抽象的高层特征,实现复杂函数逼近,具有强大本质特征的学习能力。

随着深度学习的迅速发展与广泛应用,现有的AlexNet[11]、GoogleNet[2]、残差网络(ResNet)[13]等深度学习算法已经在图像分类上取得了很好的成果,具有良好的应用前景,但是也存在网络计算量大、模型复杂、实时性不强等缺点。同时,现有的深度学习网络结构只是利用高层次特征进行图像的分类识别,这导致往往很难区分需要精细特征才能识别的目标,比如手势类别、车辆型号等。Szegedy等[14]在LeNet-5 网络基础上设计了双通道CNN的动态行为识别方法,此方法不用人工提取特征,网络通过训练自动学习特征,但特征提取不够精细,在识别中采用常见的单一特征卷积神经网络很难取得很好的识别效果。因此, 现有的深度学习模型不能直接用于人体行为识别。

针对复杂监控背景下的行为特征,本文在多尺度深度模型的基础上,提出一种改进的边缘感知多尺度深度学习网络。通过提取连续序列的时空深度特征,更加准确地表征了行人的运动信息,使得卷积神经网的识别率得到提升。该方法引入自适应多尺度特性,实现同一层卷积层不同尺寸卷积核生成不同尺度特征,通过级联浅层和深层的特征达到不同抽象程度的特征图融合。同时,为了增强模型的泛化能力,本文提出基于正则化约束的损失函数。

1 算法设计

人体行为识别的关键是逐帧获取人体的轮廓信息,然后通过时空序列进行特征建模,进而实现行为动作的准确识别。然而,由于现有的人体轮廓分割算法缺乏对边界区域的约束,不能有效地提升目标边界轮廓的精度。此外,尽管基于多通道融合的方法整合了多种特征信息,但缺乏全局结构信息的表征,网络仍无法将人体从复杂背景中分离。

因此,从保留边缘的角度出发,本文提出了一种新颖的边缘感知融合模块,可以学习到更精细的人体轮廓信息。首先,受HED模型的启发[9]在BSDS数据集[10]上训练一个基于VGG网络的监测流(EDS),并在训练损失函数时固定EDS的参数。然后,对于每个输入图像,从已训练的EDS中提取边缘图,并将它们与DenseBlocks[11]的旁路输出特征进行融合,以帮助训练行为识别检测流。总而言之,边缘感知融合模块旨在为行为检测任务提供额外的边缘相关的信息。

从全局视角出发,我们采用一个基于多尺度金字塔监督模块,这个监督模块是基于金字塔池化模型(PPM)构建的。PPM[12]实现了一系列池化操作,以便收集不同尺度的全局结构信息,而监督模块的多个旁路输出监控可以分层次地生成行人动作预测。将这两部分组合起来,该模块可以高效地提高最终预测结果。

当使用行人的动作进行监督识别时,现有方法主要从行人边缘光流去预测行为动作,无法对行人边缘去模糊,进而导致识别效率低。因此,本文通过提供具有直接边缘感知监督的行人行为检测网络来提升预测精度。其次,现有的行为检测方法仅通过基于通道操作来利用旁路输出特征(特征相加或特征拼接),而忽略全局结构特征的重要性。因此,本文将多尺寸金字塔池化模块和辅助监督相结合来弥补以前模型的不足。本文方法的网络结构如图1所示,它由两个模块组成,其中边缘感知融合模块是基于VGG-16网络改进的,而多尺度金字塔监督模块是基于DENSENET网络改进的。

图1 深度网络结构框架图

2 稠密连接的编解码网络

由于稠密连接模型在分类任务中的卓越性能和内存的高效实现,本文选择最近提出的稠密连接网络(DenseNet121)作为深度编解码模型。与常用的VGG16或ResNet-50比较,基于DenseNet的训练过程可以通过稠密残差连接使其收敛更快。具体来说,我们的编码器结构由第一个卷积层和池化层(DenseBlock0)再加上从预训练的DenseNet121之中提取的前三个DenseBlocks(DenseBlock1,DenseBlock2,DenseBlock3)组成,输出特征图的分辨率是输入图像大小的1/32 。如图2所示,每个解码器模块被设计为残差转换模块[13],其中1×1卷积负责增加和减小维度,最后一层旨在通过双线性插值将特征图的分辨率加倍。每个解码器模块的输入是由两个具有相同空间分辨率的部分拼接而成,其中第一部分是来自每个相应DenseBlock的特征图。为简单起见,解码器模块中每个卷积层之后的批量归一化层和ReLU层被省略。

图2 解码器模块

3 边缘感知融合模块

上文提到的编解码模块前馈网络可以产生粗略的行人预测,但是由于上采样操作不能恢复空间信息和更精细的细节,所以不能很好地保留边缘结构。本文提出了一种新颖的边缘感知融合模块来保留更多的边缘结构信息,并将边缘感知特征图融入到行人行为检测任务中。边缘检测的任务是检测自然图像中的边缘和物体边界。边缘检测是一种基础的计算机视觉任务,也是实现分割和目标检测这些任务的重要步骤。我们利用和边缘相关的互补信息来辅助行人轮廓检测及动作行为预测任务。首先在行人检测基准数据集上单独地训练基于VGG网络的监测流模块,该模块由基于HED模块构建,通过拼接多个旁侧输出的组合,然后将这些拼接起来的输出送入融合层来获得统一的输出,其中融合层使用内核大小为5的1×1的卷积。

我们将每一个输入图像接入到监测模块和检测模块中。 监测模块的模型参数是固定的,并且多级边缘感知特征图被融合到检测模块中以帮助训练视频流中空时动作行为识别任务。 具体而言,通过监测模块的conv2-2(128通道)、conv3-3(256通道)、conv4-3(512通道)和conv5-3(512通道)这四个级别来获取特征映射。然后分别将它们与Decoder4、Decoder3、Decoder2和Decoder1的输出通过拼接操作融合。边缘感知融合模块的融合机制可以表示为:

Fi=Cat(Xi,Ej)

(1)

式中:Fi标记为模块的输出特征图;Xi表示SDS模块中相应块的中间特征;Ej表示检测模块中相应块的中间特征;i和j的取值对为((i,j)∈{(5,1),(4,2),(3,3),(2,4)};Cat 是表示逐通道的拼接操作。 此外,对于具有和输入图像同样的空间分辨率的Decoder5,我们又将最终边缘检测结果(1通道)和原始RGB图像(3通道)融合形成最强互补的细节。

4 多尺度金字塔监督模块

尽管上文已经提到的编解码网络可以通过拼接操作组合来自不同级别的特征图,但由于缺失全局上下文结构,这个网络缺乏在输入图像中捕获多尺度行人的能力。为了解决这个问题,我们采用金字塔池化模块[12],该模块已经在分类和分割等任务中取得了非常有效性能。首先,在不同级联网络完成四级平均池化操作,然后将池化特征上采样到和原始输入一样的大小,最后将多级池化特征与原始特征拼接起来。在基本的金字塔池化操作基础上,提出了一种新的多尺度金字塔监督模块来更好地利用多尺度全局上下文结构。这不仅将一个多尺度金字塔监督模块网络应用到最终预测部分,而是将多个辅助旁侧输出与多尺度金字塔监督模块相结合,以实现多尺度监督。 因此,我们在每个边缘感知融合模块后面附加PPM网络模块,以加速学习过程。

Si=σ(Wi×Cat(Wi,1×PP1(Xi),…,Wi,n×PPn(Xi))

(2)

式中:Xi(i∈{2,3,4,5})表示第i个解码块的输出;PPn表示在第n级的金字塔池化操作,n∈{1,2,3,4};Wi,n表示1×1卷积的权重;σ是Sigmoid函数,用来缩放参数;Si()表示最后第i个旁路预测输出。在训练阶段,每个辅助预测Si将分别和真实的行人掩码通过基于像素的交叉熵损失函数进行监督学习。在行人动作预测时,只选择与输入图像有相同分辨率的输出,进而可以识别不同类别行为动作的分类与识别。

5 实验结果与分析

5.1 数据集及其实验参数设置

为了评估本文提出的边缘感知稠密网络网络行人识别算法性能,训练集使用国际上通用的行为识别数据:KTH,UCF101与HMDB5[18]。其中:KTH数据库包括25个不同行人在四种场景下演绎的6类行为,分别是走路(Walking)、跑步(running)、挥手(handwaving)、慢走(jogging)、拳击(boxing)和拍掌(handclapping),镜头相对固定,背景简单;UCF101与HMDB5是包含大量行为类别的复杂数据集,大多数数据来自视频片段,行人运动复杂,视角变化大,存在大量多人运动交互。

本文提出的网络模块在PyTorch深度学习框架下完成。为了提高优化效率,采用ADAM优化算法,其参数设定为:alpha=0.001,beta1=0.9,beta2=0.999 和 epsilon=10-8。每个流的批处理大小为1。对于行人轮廓检测模块,学习率设置为10-6,训练迭代次数为200 000次;对于基于VGG网络的监测流模块,学习率设置为10-6,迭代次数设置为300 000次。图3与图4分别展示了训练与测试过程中的准确率和Loss值变化曲线,充分说明本文网络具有快速的收敛效率。训练样本的大小调整为384×384 并作为网络的输入,采用图形处理单元GTX 1080TI来做训练和预测。大约需要8个小时来训练边缘检测网络,而行人行为识别检测网络的训练需要另外的7个小时。在检测端,本文模型可以每秒处理5帧图像。

图3 训练过程中准确率迭代曲线图

图4 训练过程中Loss值变化曲线

5.2 定性定量分析

本文采用精度-召回(PR)曲线,识别精度指标来评估行人检测与动作识别算法的性能。首先通过预测得行人的轮廓处理来计算出PR值,然后绘制PR曲线。为进一步验证本文提出的改进深度网络对行为数据集的分类精度,本文选用了目前工程应用较多的智能算法进行对比,包括:SRM[5],BMP[18],DSS[8],MSR[9],DCL[10]。为了公平比较,所有对比算法的结果均来自原文实验结果及源代码。UCF101数据集上行为识别PR曲线如图5所示,可以看出本文算法性能较好。表1展示了不同算法对四种数据库的行为识别的精度。

图5 UCF101数据集上PR曲线

表1 不同方法的识别准确率 %

从表1的结果可以看出,本文模型具有较高的分类识别准确率。SRM是一种非深度学习模型,利用提出视频序列光流轨迹,获取多种层次特征编码,并利用SVM分类器实现最终行为识别。在固定视场的简单背景图像的识别精度较高,而对于复杂场景的视频序列的结果只有73%,目前多种改进算法是基于相邻帧之间的光流和Surf关键点进行匹配,从而消除/减弱相机运动带来的影响。BMP是目前常用的空时光流识别模型,通过空间特征(Spatial)与密集光流(Temporal)分别训练CNN模型,然后通过三维融合得到最终的分类结果。MSR是多通道三维卷积网络,通过对每一个通道进行卷积和下采样操作,最后将所有通道的信息组合起来得到最终的特征描述。本文算法是基于各模型的综合改进,利用边缘感知融合模块和多尺度金字塔监督模块,提取丰富的全局上下文信息,增强识别的精度。本文模型在UCF101数据集上也取得了90.55%的最好结果。

由于不同数据集的行为类别较多,为了准确地分析不同类别下的行为识别性能,本文采用了HMDB5数据识别结果的分类混淆矩阵进行定量描述,其混合视频的测试结果如图6所示,横坐标表示本文模型识别的行为类别,纵坐标为实际行为类别。由图6可知,个别行为存在误报情况,但比例很小,大部分行为均有80%的诊断正确率。同时,数据集中walking与jigging在序列上差异较小,但通过本文模型的进行检测,其检测结果精度较高,充分说明本文模型能得到较为理想的分类效果。

图6 多类行为分类任务的混淆矩阵图

为了分析模型采用的边缘感知融合模块和多尺度金字塔监督模块对整体能的影响。本文采用DenseNet121网络作为编解码基准模型,通过将金字塔池化模型应用到解码器部分,并在此基础上集成边缘感知融合模块,以生成最终行为识别网络。通过对不同模块性能的分析可以看出,边缘感知融合模块和多尺度金字塔监督模块都可以较大幅度地改善性能。这是由于边缘感知融合模块主要侧重于改善边界区域,提升行人边缘特征的表征能力。多尺度金字塔监督模块则可以在行人特征基础上对不同尺度下目标序列进行空时特征编码,最终提升了整体行为识别的精度。

6 结 语

为了提升行人检测与行为识别的精度,本文提出了一种新颖的边缘感知深度网络方法。该网络通过边缘感知融合模块提升行人轮廓精度,利用多尺度金字塔池化层捕获视频序列的空时特征。边缘相关特征的互补特征能够有效地保留行人目标的清晰边界,而辅助旁侧输出与金字塔池化层输出的组合可以提取丰富的全局上下文信息。大量定性定量的实验结果表明,本文模型可以有效地提高现有行人检测与行为识别网络的性能。

猜你喜欢

金字塔尺度行人
“金字塔”
毒舌出没,行人避让
财产的五大尺度和五重应对
Great Vacation Places
路不为寻找者而设
金字塔是用金子造的吗
我是行人
曝光闯红灯行人值得借鉴
宇宙的尺度
9