刘正道,努尔毕亚·亚地卡尔,,木特力甫·马木提,阿力木江·艾沙,,库尔班·吾布力,
(1.新疆大学信息科学与工程学院,新疆 乌鲁木齐 830046;2.新疆大学多语种信息技术重点实验室,新疆 乌鲁木齐 830046)
在身份识别领域,人的外在信息和表达出来的特征能够有效地用来识别人员身份信息.步态识别是通过运动目标在行走过程中,身体的各个部位综合信息表达特征来进行识别.步态识别具有较高的独特性,识别的距离极远,对图像的分辨率要求较低,还具有非侵入性和不易被觉察等特点.步态识别被认为是远距离身份认证非常有潜力的方法,因而在很多较远距离的领域具有广泛的应用前景,如在身份识别、公共安全、犯罪侦查、医疗诊断,但是在真实的应用中,受到拍摄角度、服装变化、携带物品等诸多的影响因素,因而,将步态识别较为广泛地应用到真实场景中,还要面临着很多极其严峻的挑战,需要克服许多困难.
由于步态识别的多状态、多角度的情况,很多数据增强的方法无法应用到步态轮廓图预处理中,常见就是裁剪对齐为64×64像素的小图片,但通过实验发现较大的图片尺寸128×128像素包含更多的纹理和轮廓信息,对同一个模型的识别率有较大的提升.结合GaitSet模型,随着图片尺寸的变大,加入不同尺度的卷积,增加了不同尺度的感受野输入和深浅特征融合,深层特征表征能力强,但分辨率低,而浅层则相反,通过结合两者优势,达到对识别效果的提升.
步态识别是1999年提出的识别方式.当前主流的方法为机器学习和深度学习方式.针对步态识别领域一些问题,王新年等[1]提出姿态特征结合2维傅里叶变换的步态识别方法,来减少步态中携带物品、衣服变化等影响;赵黎明等[2]提出基于深度学习的3D时空特征获取时空信息,并且与轮廓图融合能进一步丰富步态特征;Feng等[3]提出了一种PLSTM的方法,利用人体姿态热图作为训练样本,减少了包括服装等协变量的影响;刘晓阳等[4]提出基于双流神经网络(TS-GAIT)的步态识别方法,通过残差网络获取时空信息动态特征,该特征对角度、衣着和携带条件具有一定的鲁棒性;Zhang等[5]提出跟视角无关表示方法,称为步态个性图(GII),能够将各个不同角度的视角特征映射到同一个判别的空间当中;Choi等[6]基于骨骼的特征步态表达进行视角不变的步态特征学习,并且能够根据视频帧的匹配模式进行一系列的识别;文献[7]将GEI的样本作为了GEINet的输入,再通过视角不变的特征,从而转换成了训练集上的多种分类的情况;闫河等[8]基于步态能量图和VGG卷积神经网络结合的步态识别方法,该方法对视角具有较好的鲁棒性,对进一步应用具有借鉴意义;Castro等[9]通过CNN的方式来提取步态特征中的光流信息,来进行步态识别;Zhang等[10]证明单张步态图学医单一步态特征与一对图学习不同步态特征的两种方式是互补的,因而采用步态联合学习网络,融合互补的优势,再采用“五胞胎”损失函数,能够实现类内差最小化和对类间差最大化;Zhang等[11]采用编码器-解码器网络分离特征与外观信息,并且通过长短期记忆(Long Short Term Memory,LSTM)聚合步态特征,能实现目标的身份的预测,克服变量对性能识别下降的影响;Lishani等[12]提出基于步态能量图的多尺度特征描述用于步态识别;Chao等[13]直接采用非严格时序维度的图像集,通过深度神经网络自行优化和学习的关系.在提出的GaitSet网络上进行实验验证效果,对比发现效果明显提升,且在CASIA-B数据集上的准确率高达95%.在步态识别领域具有里程碑式的意义,将步态序列作为一组非严格时序的集合进行处理,具有灵活、快速、有效等优势,以下为了方便简称为原算法或原模型,本文在此基础上进行了优化研究.
本文的优化是在原模型的基础上,原模型的框架如图1所示.其他内容见文献[13].
图1 原模型的框架图
随机选取CASIA-B步态数据库中的部分样本,进行2维空间的投影,部分样本的分布情况如图2所示.
(a)迭代20 000次的部分样本分布;(b)迭代75 000次的部分样本分布
其中,同一种颜色为相同的标签,可以发现,样本的分布情况的一些规律,如多数的样本分布相对集中,而少部分的样本相对分散.
原模型只采用了第一个Loss为Triplet Loss作为损失函数,该Loss需要输入三元组〈a,p,n〉.其中,a为anchor,可以理解为参考的样本或者锚样本,而p为positive,与a为同一类别的样本,n为negative,与a不同种类的样本.对应的公式为
L=max(d(a,p)-d(a,n)+margin,0).
(1)
其中:d(a,p)为相近样本的距离,d(a,n)为不同类样本的距离,margin为边界的距离,优化的目标就是margin作为一个常量,能迫使模型努力学习,拉近a,p距离,而a,n能够产生较远的距离.
第二个Loss为Cross Entropy Loss,交叉熵损失函数主要就是用来判定实际的输出与期望的输出的接近的程度.对应公式为
(2)
其中:m的样本数,n为类别数,p(xij)为指示变量,如果该类别和样本i的类别相同则为1,否则为0,q(xij)对观测样本i属于类别j的概率.
联合Loss的公式为
Loss=α×LTriplet+β×LCE.
(3)
其中,Ltriplet代表Triplet Loss,LCE表了Cross Entropy Loss,其中α,β代表了对应的比例因子,本文如无特殊说明,一律设为0.5.并且Triplet Loss中的margin设置为0.2.
各个Loss对应情况如图3所示.
(a)Triplet Loss;(b)Cross Entropy Loss;(c)联合Loss
虽然Triplet Loss可以对细节有效的区分,但是三元组损失函数会导致数据分布不均匀,故训练不太稳定,收敛速度较慢.而使用联合Loss能够起到约束作用,同时相对有效收敛,训练相对稳定.
轮廓图由数据库直接提供并且对齐是基于Takemure的方法[13].以下尺寸为64×64像素步态轮廓图的对齐流程,128×128像素等尺寸的图片类似.
对齐流程如下:
(1)对于轮廓图,依据每一行的像素和不为0的原则,找上边和下边.
(2)根据上边和下边对轮廓图进行切割.
(3)对切割后的图进行resize操作,高度为64像素,宽度保持比例.
(4)依据每一列的和最大的为中心线原则,找到中心线.
(5)中心线左右各32像素进行切割,不够的补0.
(6)得到对齐后的轮廓图,如64×64像素尺寸的图片.
通过实验发现,不同尺寸对识别率影响较大,如图4所示.
图4 不同尺寸对应的识别率
在同一个模型下,上述尺寸分别为64,128,192像素的识别率效果有较大的差异,因此进行相关的论证.
以CASIA-B步态数据库的001-bg-01-054-030举例,图片尺寸对比如图5所示.
(a)64×64像素的轮廓图;(b)128×128像素的轮廓图
从两方面进行论证:
(1)视觉.尺寸为128×128像素在腿部和背包等位置,包含的更多边缘信息和轮廓的信息,拥有更多的纹理信息等.
(2)比例.通过代码计算白色占全图的比例,可以得出size为64×64像素大小的像素点,共计4 096个,其中白色的像素点有799个,占比约为19.51%;而size为128×128像素大小的共计像素点16 384个,其中白色的像素点有3 454个,占比约为21.08%.白色作为轮廓信息包含更多的信息和细节.
不同尺寸同一个模型的时间花费情况,如图6所示.
图6 不同尺寸的花费时间
在不同尺寸图片下同一模型下加载时间、训练时间、测试时间而得出总时间,可以发现大致的趋势,在size3为较小图片的情况下,共计约耗时400 min,而在128×88像素为中等大小的图片下,共计耗时不到600 min,在size3为较大图片的情况下,经过测试,共计耗时超过1 000 min.结合图6,可以得出,size1的尺寸虽然在同一个网络模型的识别率较好,但是因为共计的耗时时间较长.相比较size2大小的时候,发现识别率依然有提升,但是提升的幅度不是那么明显.而size2的大小耗时相比较size3的时间长一些,但是识别率提升相对明显,可以理解为“性价比”非常高.而size3的整体识别率识别较低,但是耗时在这三者中最少.结合时间和识别率的考虑,本文选择了中等图片用于模型的输入.
1.3.1 多尺度感受野输入
多尺度感受野是将原模型的第一个卷积5×5,用Inception V2模块进行替换[14],主要是增加不同尺寸的感受野,模块如图7所示.
图7 InveptionV2模块
感受野是网络内部的不同位置的神经元对原图像感受野的范围,而多尺度感受野是跟Inception V2类似,使用了不相同的卷积核用来卷积,达到不同感受野范围的目的.因为考虑到Inception V2模块中的平均池化跟原模型注意力的最大值可能存在冲突,导致了部分的特征损失,并且由于计算量较大,导致训练时间较长,因此,删除其中的池化等部分,仅保留多尺度的感受野,达到提升识别率的同时也加快计算.最终,仅留下5×5,3×3,1×1来并联替换原本的5×5的卷积.
1.3.2 深浅特征融合
一般情况下深层网络的感受野较大,信息的表征能力强,但特征图分辨率较低,浅层网络的感受野较小,分辨率高,但表征能力弱.Inside-Outside Net[15](ION)介绍多尺度能够提升小目标的检测精度,最终将不同尺度的特征进行concat拼接操作,如图8所示.
图8 ION示意图
ION通过将不同位置的卷积的特征进行拼接操作,从而进行多尺度表征.
HRNet[16](High-Resoultion Net)在并联的基础上,能够将不同分辨率的特征进行融合.而该网络结构能够通过高分辨率特征图的主网络并行加入低分辨率特征图.因为采用多分辨率子网并行连接多尺度融合特征,因而得到丰富的高分辨率表示.因此在空间上更加精确,同时进行重复多尺度融合,如图9所示.
图9 并联不同分辨率的特征图
特征融合的方法如图10所示.其中,同分辨率层进行直接的复制操作,需要降低分辨率用3×3卷积,升分辨率用采样加1×1卷积统一通道.
图10 特征融合的方法
(1)原模型采用Horizontal Pyramid Pooling(HPP)来处理.尺度s∈ 1,2,…,S,特征图在高度尺寸被分成多条.在此基础上,不再分成原模型的(1,2,4,8,16),本文将S的总数直接设置为32像素及以上,主要是因为本文采用了尺寸更大的图片.
(2)因为采用更大尺寸的图片,其中通道数变得更大,如由原模型的128通道变为256通道等.
将上述进行组合到一起.深浅特征融合中MGP的上半部分先将图像高度一分为二,通过3×3的卷积进行特征提取,有利于获得更加细粒度的特征.将步长设置为2,有利于与下个卷积相加操作.而MGP下面先采用1×1卷积,能够保留中层特征的同时,与深层特征进行相加,将维度通过1×1卷积,最终将其进行拼接,从而进行深浅特征融合,如图11所示.
图11 框架图所示
本文采用步态识别领域广泛使用的CASIA-B的步态数据库[20].此数据库是大规模公开并且包含多视角的步态数据库.该数据库有124人,将同一人的步态又分为3类:(1)正常行走(normal,NM).(2)背包行走(walking with bag,BG).(3)穿外套或夹克衫(wearing coat or jacket,CL).而每个步态的分类又有对应11个视角,如(0°,18°,…,180°).该数据库在NM状态下有6段视频序列(NM#1,…,NM#6),BG状态下有2段视频序列(BG#1,BG#2),CL状态下有2段视频序列(CL#1,CL#2),因为每种状态有11个视角,故每个人有110段的视频序列.CASIA-B的部分状态轮廓图样本如图12所示.
(a)正常行走状态;(b)背包状态;(c)穿大衣状态
对应的步态能量图见图3.
(a)左边对应;(b)中间对应;(c)右边对应
2.2.1 评价指标
为了验证该优化研究的有效性,在CASIA-B步态数据库进行了实验评估.将数据库分为训练集和测试集两部分.测试集又可以分为待测样本库(Probe)和目标样本库(Gallery).其中,Gallery包含NM#1-4.Probe包含NM#5-6、BG#1-2、CL #1-2样本.训练集用于网络模型的调整参数并对其进行优化.对Probe中的序列p,通过生成的网络模型产生对应的步态特征,即Feature_p.为了遍历全部序列找到Gallery中对应的ID的样本g,同样生成对应的步态特征,即Feature_g.从而将Feature_p和Feature_g通过计算欧式的距离用于判定一次就命中识别正确率,即Rank1识别率,流程如图14所示.
图14 Rank1的流程步骤
2.2.2 数据规模划分
虽然CASIA-B没有给出官方的数据集的规模划分,但是很多文献是按照以下训练集数据的规模进行划分.该数据集有124人,通过人数来进行划分:
设置前24人作为对应的训练集,剩下的100人作为测试集,称为小样本训练(small-sample training,ST).
设置前62人作为训练集,剩下的62人作为测试集,称为中样本训练(medium-sample training,MT).
设置前74人作为训练集,后50人作为测试集,称为大样本训练(large-sample training,LT)
在上述的3种设置的测试集中,NM条件下的前4个序列(NM#1-4)保留在训练中,而其他的6个序列(NM#5-6、BG#1-2、CL#1-2)则留在测试当中.在CASIA-B中,因为训练集数据规模的不同,对ST、MT、LT分别迭代的次数也是不一样的,一般情况下,分别对应为50 000,60 000,80 000次的迭代训练.
2.3.1 电脑配置
CPU为Intel(R)Core(TM)i9-7980XE CPU,显卡为NVIDA GeForce RTX 2080Ti 11G×2(有 2个GPU),硬盘为256 GB SSD的主机,使用Python 3.7编程语言,在Windows10操作系统系进行,使用的Pytorch深度学习框架,其中的Pytorch为1.5的版本,使用的CUDA为10.1的版本.
2.3.2 环境配置
所用CASIA-B的步态数据库,选择Nadam作为优化器,HPP尺寸为1,数目为32或者以上.学习率为1e-4,小图片采用(8,16),中等图片采用(2,8),除了标注数据规模的以外,其他均LT下的实验结果.表1—3均采用的是中等图片.
除了本文实验外,其他结果数据均来自文献.所有结果在11个视角中取平均值,并且不包括相同的视角.如视角36°正确率是除36°以外的10个视角的平均值.
2.4.1 与原模型进行比较
分别与原模型的ST、MT、LT情况下的识别率对比,见表1—3.
表1 与原模型的ST识别率比较
表2 与原模型的MT识别率比较
表3 与原模型的LT识别率比较
根据表1—3可知,优化后模型的识别率整体均有提升,其中LT的情况下整体的识别提升较为明显.
2.4.2 与先进算法进行对比
表4—6是在LT数据规模的情况下进行比较[17-19].其中GaitSet-M是使用size为128像素的识别率.
表4 NM状态下的Rank1准确度对比 %
表5 BG状态下的Rank1准确度对比 %
表6 CL状态下的Rank1准确度对比 %
通过上述的实验,可以发现最好的优化模型的整体识别率非常具有竞争力.识别率提升明显的原因,归结如下:
(ⅰ)采用了联合Loss优化,不仅对相似的样本具有较好的分辨能力,而且对多分类的情况也具有较好的识别效果,同时在网络模型学习上也有较好的效果.
(ⅱ)采用更大图片尺寸,通过视觉与比例论证了较小图片会造成像素化,而使用较大的图片里面会包含更多的纹理与轮廓信息,便于之后的模型提取更多的特征信息.
(ⅲ)采用了多尺度的感受野和深浅特征融合,比原模型第一个卷积上用了多尺度的感受野,对不同尺度具有更多的提取效果,同时在(2)的基础上面,提取了深浅层的特征信息,加入了更多浅层的特征信息,有助于CL状态与NM状态的辨别.
2.4.3 对比实验
优化器的对比实验见表7.
表7 优化器的对比实验 %
表7中Nadam是带有Nesterov动量项的Adam,在ST、LT下的识别率有明显提升.
本文针对GaitSet模型的一些不足之处进行了优化,使用了联合Loss、增加感受野的输入、深浅特征融合,并且使用了CASIA-B较大尺寸的步态轮廓图,并且论证了包含更多的丰富轮廓信息等.在CASIA-B的LT样本规模且非相同视角下,NM状态下的识别率为97.309%,BG状态下的识别率为94.048%,CL状态下的识别率为81.736%.与原模型相比较,识别率的效果有较大的提升.但是跟一些顶级的算法,部分的实验的数据还有不足,在接下来的工作,会更加关注影响识别率下降的一些因素,如果将步态识别和行人重识别和行为识别等方向进行多模态的识别,也是一个非常有应用前景.