APP下载

面向助老行为识别的三维卷积神经网络设计

2021-06-15李秀智贾松敏

北京工业大学学报 2021年6期
关键词:分组卷积显著性

李秀智, 张 冉, 贾松敏

(1.北京工业大学信息学部, 北京 100124; 2.数字社区教育部工程研究中心, 北京 100124)

随着我国社会发展和人口老龄化程度不断加快,空巢老人数量呈现明显上升趋势. 当独居老人发生摔倒等意外情况时,如何在第一时间实施医疗救助?一种方案是在家中布置大量传感器[1]或身体携带相应传感设备. 相比之下,另一种基于视觉的人体行为识别技术,仅使用视频图像流输入就可以分析其中人体行为动作,再将识别出的跌倒等危险动作报警信号通过通信模块发送给亲人、护工等,可减少繁冗的传感器使用和携带传感设备[2-4]的不便. 亲人或护工可通过报警信息与视频监控及时查看老人健康状态,对受到意外伤害的老人及时救助、提高老人生活质量、减轻老人生活自理压力都具有重要的现实意义.

基于视觉的人体行为识别技术中最重要的就是行为识别网络. 人体行为识别通常以视频流为数据源,综合考察一个时间序列上的图像信息,继而实现一个完整动作的识别. 在深度学习应用于该领域前,Wang等[5]提出的改进稠密轨迹(improved dense trajectories,iDT)算法是人体行为识别中的经典算法. iDT算法的前身为稠密轨迹(dense trajectories,DT)算法,其基本思路为利用光流场获取视频序列中的一些轨迹,之后从轨迹中提取出4种特征,最后对特征进行编码,再基于编码结果训练支持向量机(support vector machine, SVM)来完成分类任务. iDT算法的改进之处在于,它利用前后2帧视频之间的光流以及关键点进行匹配,从而减弱相机运动带来的影响.

基于深度学习的行为识别方法中,Simonyan等[6]首次提出双流卷积神经网络,该网络分为相同结构的空间网络和时序网络. 其基本原理为:首先,对视频序列中每2帧计算密集光流,得到密集光流时序序列;然后,对视频图像和密集光流分别训练神经网络;最后,将结果融合得到最终动作. Feichtenhofer等[7]在双流网络基础上,利用卷积神经网络进行时序网络和空间网络的融合,进一步提高分类效果. Wang等[8]提出的时序分割网络(temporal segment networks,TSN)同样是基于双流网络,但不同于双流网络采用单帧或单堆帧,TSN使用整个视频中稀疏采样获得一系列短片段,每个片段都将给出其本身对于行为类别的初步分类,最后融合这些片段结果得到最终分类. 另一类基于深度学习的行为识别主流方法为3D卷积神经网络. Ji等[9]认为对于基于视频分析的问题2D卷积神经网络不能很好捕获时序上的信息,因此,提出3D卷积神经网络. Tran等[10]在此思想上提出C3D网络,采用8次卷积操作和4次池化操作,最终经过2次全连接层和Softmax层后得到最终分类结果. Carreira等[11]基于Inception-V1模型,将2D卷积扩展到3D卷积,提出了I3D模型,但该模型参数量巨大,对硬件要求较高.

根据上述问题,本文提出一种实时的室内人体跌倒行为识别方法,基本实现了在室内环境下跌倒及某些日常行为动作行为识别,实验结果证明视觉显著性检测对于室内跌倒行为识别有积极作用.

1 实时室内跌倒行为识别构建框架

本文所述实时室内跌倒行为识别框架如图1所示. 视觉显著性算法可以根据图像将显著性部分与背景纹理部分分割,加强背景纹理与人物行为之间的关联性. 基于3D卷积神经网络的室内跌倒动作识别网络,通过稀疏采样对视频流中人体行为进行分类识别. 其中,2D子网络对视频图像提取低层特征,3D子网络对2D子网络的输出进行组合,进一步提取高层特征,最后由输出层输出行为分类结果.

图1 室内跌倒行为识别构建框架Fig.1 Indoor falling recognition framework

2 基于卷积核分解与分组卷积的3D网络

2.1 基于卷积核分解与分组卷积的3D卷积模块

3D卷积核是视频行为识别中重要的角色. 3D卷积核相较于2D卷积核多了时序维度上的卷积,这使3D卷积具备提取时序维度特征的能力,可以使得3D卷积神经网络更好地捕捉视频流的运动信息,有利于视频中人体的行为识别.

3D卷积操作如图2中(a)所示.传统3D卷积核将空间信息与时序信息一起卷积不易进行优化,于是本文采用卷积核分解[12]将t×d×d卷积核分解为1×d×d与t×1×1,如图2中(b)所示.t为3D卷积核中时空维度卷积参数,d为3D卷积核中空间卷积参数.时空分解后的2个卷积核分别对应处理视频图像序列的空间信息与时序信息.通过时空分解3D卷积核,分离了空间信息与时序信息,增加了网络的非线性表达能力,易于网络优化.同时,为了保留分解后的卷积核与原3D卷积核的表达能力,通过超参数Mi调节时空信息间的子空间数,使分解后的卷积核参数与原3D卷积核参数保持一致.图2(a)中原3D卷积核参数量等于图2(b)中时空分解后的2层卷积核参数,即

图2 3D卷积核分解与分组卷积Fig.2 3D grouping convolution and factorization

Ni-1td2Ni=Ni-1d2Mi+MitNi

(1)

式中:Ni-1为输入通道;Ni为输出通道.

超参数Mi为

(2)

分组卷积能降低网络的时间复杂度,大幅降低训练参数量且不易过拟合.如图2中(c)所示,将输入通道Ni-1分为G个组,每组分别进行卷积操作.图2(b)中时空分解后3D卷积核参数量N的计算式为

N=Ni-1d2Mi+MitNi

(3)

图2(c)中分组时空分解后3D卷积核参数量为未分组前的1/G,计算公式为

(4)

本文采用残差模块作为基础结构,融合卷积核分解与分组卷积,提出基于分组卷积与卷积核分解的3D卷积模块,如图3所示.

图3 基于分组卷积与卷积核分解的3D卷积模块Fig.3 3D convolution unit based on grouping convolution and factorization

基于分组卷积与卷积核分解的3D卷积模块分为Conv a与Conv b. Conv a模块功能为通过1×1×1卷积改变通道数量,实现升维,Conv b模块不改变通道维度. 由于使用分组卷积,通道间信息交换减少,所以采用Multiplexer模块弥补通道间的信息交换. 该模块为一个2层1×1×1的卷积,第1个1×1×1的卷积会将通道数量降低到1/k,第2个1×1×1的卷积再升维至输出通道数,因此,该模块的时间复杂度是一层1×1×1卷积的2/k,具体计算公式为

(5)

式中l、h、w分别为特征图的时间维度长度和空间维度的高与宽.

2.2 基于分组卷积与卷积核分解的3D卷积神经网络结构

本文将2.1节设计的3D卷积模块扩展为基于分组卷积与卷积核分解的3D卷积神经网络. 本文网络结构设计参考了ResNet-34的网络结构. 因为将2D子网络的输出作为3D子网络的输入,所以选取了中高层网络结构,舍弃了前几层低维卷积层,即从Conv 3a开始;同时,修改了一些通道数量,卷积层后均有批量归一化(batch normalization,BN)层及线性修正单元(rectified linear unit,Relu). 具体3D网路结构如图4所示.

图4 基于分组卷积与卷积核分解的3D卷积神经网络结构Fig.4 3D Convolution neural network architecture based on grouping convolution and factorization

3D子网络输入为2D子网络输出的特征图组合,大小为96×16×28×28;Conv 3a将通道数扩展到192,并通过时序维度卷积步长设置为2,将特征图输出大小压缩为192×8×28×28;之后通过3个Conv b模块,进入Conv 4a模块,将通道数扩展到354,并通过空间维度步长设置为2,将特征图输出大小压缩为354×8×14×14;之后通过5个Conv 4b模块,进入Conv 5a模块,将通道数扩展为768,同样通过空间维度步长设置为2,将特征图输出大小压缩为768×8×7×7;最后连接平均池化层和全连接层输出最终预测动作结果. 分组卷积设置的组数G为16,即将各模块输出通道数平均分为16组. 网络细节见表1.

表1 基于分组卷积与卷积核分解的3D卷积神经网络结构

3 基于3D卷积的行为识别网络

3.1 视频采样

不同于单张图片、视频序列中的连续图像,因为背景相同,所以具有连续性与冗余性. 因此,在使用视频序列进行训练时,为了避免图形处理器(graphics processing unit,GPU)资源浪费,提高模型训练效率,将训练集视频序列平均分为N段,再将每段中随机提取的一帧作为模型训练输入——这样的稀疏随机采样策略在减少冗余信息的同时还可以在训练中引入更复杂的多样性,从而提高模型的泛化能力.

在实际应用环境中,由于视频序列是源源不断的,可以采用随机滑动组合采样算法识别当前行为动作.

如图5所示,网络模型推断时,设置可以容纳N帧的滑动组合组作为行为识别网络的输入.为了保持视频序列的时间上下文信息,同时设置历史记忆组与新视频流组.历史记忆组与新视频流组以5∶5的比例组成滑动组合组.当视频流开始时,滑动组合组稠密采集N帧输入网路,同时通过稀疏采样收集到N/2帧存入新视频流组,将新视频流组中的N/2帧替换掉原滑动组合组中的一半.此时生成的N帧为新滑动组合组,而原滑动组合组此时称为历史记忆组.每次预测时,从2组视频中各采样一半来更新滑动组合组,并将其作为网络模型的输入,预测出当前的行为动作结果.将当前的预测结果和平均预测结果进行平均后得到最终的输出.

图5 随机滑动组合采样算法Fig.5 Random sliding combined sampling

3.2 2D与3D网络融合

虽然3D卷积神经网络完全可以胜任行为识别任务,但尽管使用网络模型压缩技术令3D网络时间复杂度与参数量大幅减少,3D网络与2D网络相比依然不是同一个量级的网络. 因此,采用2D加3D的网络结构更加轻量且2D网络与3D网络结合并不会降低网络行为识别精度[13],同时在视频的高层语义抽象层捕获视频的时间动态信息要优于在视频的底层像素级捕获视频的时间动态信息. 因此,本文采用底层2D网络加顶层3D网络结构在行为识别准确性与网络结构方面是最优选择.

本文采用的2D子网络结构如图6所示,网络为GoogleNetV2中前半部分(从输入层到inception-3c层). 每个卷积层后都有BN层和Relu激活层. 在2D转化为3D时,本文将16张连续视频帧经过2D网络生成的96×28×28大小的特征图堆叠在一起,形成大小为16×96×28×28的特征图组,生成96×16×28×28的3D网络输入,即96个通道的时间维度为16,空间维度为28×28的3D特征图,如图1中2D子网络至3D子网络结构.

图6 2D子网络结构Fig.6 2D subnetwork architecture

3.3 基于3D卷积的行为识别网络训练

行为识别任务中UCF101数据集[14]有大量来自网络的视频片段,每个视频包含一个完整动作. 本文选取UCF101数据集作为预训练数据集,之后使用训练好的预训练模型在室内跌倒数据集上微调,实现识别室内人体行为的任务. 针对室内环境,Auvinet等[15]建立了多摄像头室内跌倒数据集,该数据集由天花板上处于各个不同位置的摄像机所采集到的图像序列组成,如图7所示.

图7 室内跌倒数据集Fig.7 Indoor fall dataset

数据集中,以单人演绎24个场景为基础,将人体动作分为8个类别,分别为行走或站立、摔倒、躺倒在地、蹲伏、向上移动、向下移动、坐以及躺在沙发上. 之后按照5∶1的比例将数据集分为训练集与测试集,分别按照格式编辑训练集与测试集的训练文件. 训练集共113 751帧,测试集共47 068帧.

本文在配有Intel i7-6700 CPU @ 3. 40 GHz、16 GB内存的GTX1070 GPU和操作系统Ubuntu16.04 LTS的电脑上进行训练和测试,深度学习框架选择Caffe,开发语言是Python. 首先将UCF101数据集进行剪切并编辑真值文件,网络输入首先减去像素均值并剪裁为224×224,之后使用标准随机梯度下降的方法. 学习率设置为0.001,动量为0.9,权重衰减为0.000 50进行训练优化时,每经过5 000次迭代,将学习率降低0.1,经过2万次迭代得到预训练模型. 之后在预训练模型上使用同样优化参数,每经过3 000次迭代,将学习率降低0.1. 经过1万次迭代得到最终室内人体行为识别模型.

4 基于视觉显著性检测的特征帧分析

在室内人体行为识别网络的真实场景应用中,由于每个应用环境都不一样,为确保网络模型的泛化性能,本文使用视觉显著性检测作为行为识别的前端处理,提取出对行为识别准确度有益的显著性特征. 因此,选取Wang等[16]提出的基于全卷积神经网络的视频显著性检测模型. 该模型通过全卷积神经网络分别构造出2个模块:静态显著性网络与动态显著性网络. 静态显著性网络通过图片的训练产生显著性检测结果,而动态显著性网络会根据时序特征,判断出动态的显著性检测结果. 视觉显著性检测效果如图8所示.

图8 显著性检测图与原始视频帧Fig.8 Saliency image and original image

可以看出,显著性检测图相较于原始RGB视频帧,摒弃掉很多图像信息,仅展示图像中某些显著性纹理,并且由灰度图形式输出. 同时,静态显著性检测图与动态显著性检测图相比,拥有更多环境纹理信息,而动态显著性检测图更关注于动态物体和显著性较大的物体. 因此,可以认为静态显著性检测图是包含背景纹理信息与人物行为信息且不包含颜色信息的特征图;动态显著性检测图是不包含背景纹理仅包含人物行为信息且不包含颜色信息的特征图.

同时,为证明视频帧中颜色信息对行为识别是否有益,设计出2种基于视觉显著性的视频帧处理算法与原RGB视频帧对比. 第1种算法为图像融合:将原视频帧分别与静态视觉显著性检测图和动态视觉显著性检测图线性融合. 由于视觉显著性检测具有提取显著性物体的性质,此种做法将原RGB视频帧中显著性物体与背景纹理对比度加强但保留图像中RGB信息. 第2种算法为图像加权:将显著性检测图像作为原RGB视频帧的权值,选择只将显著性物体还原颜色特征. 具体2种算法效果如图9所示.

图9 基于视觉显著性的图像加权与图像融合Fig.9 Merge image & weighted image base on saliency image

5 实验结果与分析

5.1 行为识别网络时间复杂度与参数量计算

网络时间复杂度和参数量决定了网络训练/预测时间以及网络的模型大小. 如果复杂度过高,则会导致模型训练和预测耗费大量时间,无法做到快速预测,很难适应实时性强的应用场景. 同时,若模型量级巨大,则在终端部署时,会浪费大量空间,导致成本增加. 为验证基于3D卷积的行为识别网络的性能,本文计算了网络的时间复杂度与参数量并与当前领域内效果优秀的网络进行对比. 参数量与时间复杂度计算公式分别为

Params=KdKhKwCinCout

(7)

FLOPs=KdKhKwDWHCinCout

(8)

式中:KhKw为卷积核大小;Cin为输入通道数;Cout为输出通道数;D、W和H分别为输出特征图的深度、宽和高,与当前主流网络对比结果如表2所示.

表2 时间复杂度与参数量对比结果

本文提出的基于3D卷积的行为识别网络参数量低于Params与FLOPs最大的R(2+1)D-RGB网格1个量级且FLOPs低于2个量级. 可以看出,本文提出的基于3D卷积的行为识别网络Params与FLOPs均为最低,说明在网络模型中可以更快速地预测出结果,并且由于参数量少,模型更加精致,易于部署.

5.2 实时室内跌倒行为识别实验

为验证基于3D卷积的行为识别网络的行为识别准确率,本文采用测试集回灌与实际场景测试2种验证方式. 基于3D卷积的行为识别网络回灌测试集采用跌倒数据集中的测试集;实际场景为实验室录制的模拟视频. UCF101[14]是一个人类动作视频数据,是从YouTube上剪辑的101类真实世界中的不同种类人类动作视频. 表3为以基于3D卷积的行为识别网络在UFC101数据集和跌倒测试集的准确率,分别与当前主流行为识别网络进行对比.

表3 基于3D卷积的行为识别网络准确率(测试集)

根据表3实验结果,在UCF101数据集与跌倒数据集中本文提出的网络准确率分别为91.3%和81.5%,略低于当前主流3D网络,高于双流网络及C3D、Res3D网络. 尽管准确率略低几个百分点,但是本文的Params及FLOPs远小于以上网络,在实际部署应用中更加有利.

实验室模拟视频为10段不同摔倒动作的模拟视频,摔倒动作分为2次向前摔倒(FF1&FF2)、向后摔倒(BF)、失去平衡侧摔(LF)以及坐时摔倒(SF);每组动作有2个摄像头视角录制. 图10展示了SF的一组行为识别结果,第1排左起分别为行走、向下移动和摔倒;第2排左起分别为躺在地上、向上移动和蹲伏.

图10 实时室内跌倒行为识别实验结果Fig.10 Experimental results of real-time indoor falling recognition

图10表明基于3D卷积的行为识别网络能较好地识别出相应的动作,经过统计得出实际场景模拟测试集的准确率如表4所示.

从表4中可以看出,实际场景测试结果不如测试集回灌效果,这是由于背景环境以及光线等引起,说明实际场景中还需针对不同环境做出优化,才能增加模型的行为识别准确度.

表4 基于3D卷积的行为识别网络准确率(实际场景)

5.3 视觉显著性检测特征帧实验

基于5.2节可以看出在实际场景中面临的问题. 为了验证视觉显著性检测特征帧对基于3D卷积的行为识别网络的影响,本实验根据2种基于视觉显著性的视频帧处理算法,设置不同融合比例以寻找最适合实际场景的算法及比例. 显著性图像融合图中将显著性检测图与原RGB图按照不同比例进行融合;显著性图像加权图中将按灰度阈值进行加权融合. 静态显著性图像比例融合及阈值加权实验结果如表5所示. 由此可以看出,图像融合图与图像加权图以2种方式补充了颜色与背景纹理信息.

表5 静态显著性图像比例融合与阈值加权图

5.4 实时室内跌倒行为识别实验

为了验证视觉显著性视频帧处理的可靠性,本文将4.3节处理的视觉显著性视频帧作为网络输入. 以跌倒动作为例,显著性图像阈值加权实验结果与显著性图像比例融合实验结果如图11所示.

图11 视觉显著性检测特征帧行为识别实验结果Fig.11 Action recognition experimental results of feature frames in visual saliency detection

由结果可知:RGB视频帧输入仅识别出一次跌倒动作;视觉显著性融合算法提升了原算法的跌倒识别准确率,其中视觉显著性检测帧与原RGB帧按照9∶1比例融合效果最好,识别出9次跌倒动作,如图12所示,图中左上角黄色为识别出的跌倒动作“Fall”;视觉显著性加权算法针对行为识别任务没有积极作用,针对跌倒动作均无有效识别.

图12 视觉显著性检测9∶1融合行为识别实验结果Fig.12 Action recognition experimental results of visual saliency merge image detection in proportion 9∶1

6 结论

1) 提出了一个基于3D卷积神经网络的室内实时行为识别网络. 设计并实现了基于分组卷积与卷积核分解的3D网络,精简了网络结构,使网络参数量及时间复杂度显著降低,Params减少到6.9×106,FLOPs减少到8.04×109.

2) 根据基于分组卷积与卷积核分解的3D网络进一步融合2D网络,提出基于3D神经网络的行为识别网络并且为加快模型推断速度提出随机滑动组合采样算法,网络性能针对跌倒测试集可达到81.5%的准确率.

3) 根据视觉显著性检测模型提出视觉显著性检测融合与视觉显著性检测加权2种算法,其中视觉显著性检测融合算法按照9∶1比例效果最好. 根据2种算法结果可以推断出本文行为识别网络对颜色信息不敏感,但背景纹理信息对于行为识别有积极作用.

猜你喜欢

分组卷积显著性
基于3D-Winograd的快速卷积算法设计及FPGA实现
本刊对论文中有关统计学表达的要求
从滤波器理解卷积
分组搭配
基于显著性权重融合的图像拼接算法
基于视觉显著性的视频差错掩盖算法
怎么分组
基于傅里叶域卷积表示的目标跟踪算法
分组
论商标固有显著性的认定