梅建华, 杨彦辰,云利军,2, 秦玲
(1.云南师范大学 信息学院,云南 昆明 650500;2.云南师范大学 云南省光电信息技术重点实验室,云南 昆明 650500;3.云南省国家保密局,云南 昆明 650500)
医学研究表明,每个人的走路姿态具有唯一性[1],因此步态识别在远距离生物特征识别技术中颇受关注[2-3].现阶段步态识别方法分为两类,一类是步态模板匹配方法[4-6];另一类是通过深度神经网络学习步态图像序列的时空特征进行人体步态匹配[7-9],该类方法需提供贴合实际场景的数据进行深度神经网络的训练.
目前,红外人体步态识别研究所使用的数据集主要是中国科学院自动化研究所提供的大规模数据库CASIA Dataset C[10].该数据库包含153人在正常行走、快走、慢走以及带包行走4种行走状态下的步态图像数据,但其只包含90°单一视角,这对多视角红外人体步态研究存在不便.因此本文使用红外热像仪进行步态数据的采集和处理,建立多视角红外步态数据库,为后续多视角人体红外步态识别研究奠定基础.
数据集包含15个采集对象,设定60°、90°和120°三个拍摄角度,采集对象行走方向为自右向左,如图1所示.为确保各个视角所采集的图像中人体轮廓大小基本一致,设定红外热像仪在90°视角与行走方向水平距离8 m,其他视角与90°视角在同一水平线上.
图1 热成像仪摆放视角图
红外热像仪主要依靠热感成像,由于露天环境下太阳光的照射会有热量存留地面,从而对热成像造成影响,因此选择在室内进行采集;光滑的地面会造成反光问题,使得后期提取的人体轮廓存在冗余,因此需选取地面相对粗糙的采集场所,同时在出现较大地面反光效果时,手动对摄像头进行上下方向调整,使拍摄时人体鞋底所处水平线尽量贴近图像下边缘.
针对两种行走状态进行步态信息采集,一种是正常行走,一种是慢步行走.为确保不同行走状态下的红外步态图像数量基本一致,对两种行走状态采集相同总时长的行走视频.采用FLIR A310红外热像仪进行行走视频采集,并将红外热像仪调整为gray模式,分辨率使用640×480,成像仪的拍摄帧率设置为30帧/s.
在正常行走状态下,录制的行走视频时长为2~3 s;在慢步行走状态下,录制的行走视频时长为5~6 s.限于红外热像仪的视野范围,仅通过一个行走视频无法为利用深度学习进行步态识别研究提供足够的数据量,因此对每个行走对象按照行走状态录制不同数量的行走视频.为确保两种行走状态的总行走视频时长基本相等,具体设计为正常行走状态下重复录制12至16段视频,慢走状态下重复录制8至10段视频.在同一个视角下对采集对象进行重复采集得到的步态数据具有如下优势:第一个优势是在重复的行走过程中可采集到同一个对象不同时刻步态的些许差异性特征.例如当一个人刚开始步行和行走了很长一段路程时的步态特征会存在些许差异,通过重复采集的方式除了可以增加数据集的数量以外,还可以获取更加丰富的步态特征;第二个优势是可以获得更加真实的步态特征.例如当被拍摄对象知道自己正在被拍摄时,被拍摄对象会出现紧张的心理状态,这会导致所采集的步态特征与平时正常行走的步态特征有所不同,因此采用重复行走的方式进行采集可以让被采集对象的心理状态逐渐放松,使得采集所得的步态特征更加接近真实的步态特征.
将采集所得的行走视频处理成步态图像序列帧,采用间隔抽取的方法提取图像帧序列,即从视频帧序列中按照1,3,5,…,29奇数的方式抽取图像.将步态视频提取成步态图像序列帧后,需将行人从图像中提取出来,该处理分为两个步骤,第一步是使用行人检测算法框选出行人所在的位置区域,第二步是将框选出来的区域送入到前后背景分离算法中实现人体步态轮廓分割,具体处理框架如图2所示.
图2 数据处理框架
采用HOG和SVM结合的算法对人体步态轮廓进行检测[11].对于一幅数字图像而言,梯度主要存在于图像的轮廓处,而HOG(即梯度方向直方图)可以很好地描述目标区域的边缘部分.HOG的核心思想是生成整幅图像分割后的每个小连接区域的一个方向梯度直方图,然后组合这些生成的直方图即可表示出特征描述子,其算法流程如图3所示.
图3 HOG算法流程图
用HOG+SVM进行人体步态轮廓检测后得到的效果如图4所示,其中(a)为红外热像仪拍摄的原始图像,(b)为使用HOG+SVM方法检测出的行人区域,(b)中的红色框就是算法检测后绘制出的行人所在区域,由图可知该算法基本可以达到检测要求.
图4 行人检测效果图
通过HOG+SVM算法检测得到行人在图像中的所在区域后,使用GrabCut算法[12]对该区域进行前后背景分离来提取行人的步态轮廓.使用该算法进行图像分割时,输入图4中检测出的行人区域,行人区域的格式为(左上角点的x坐标,左上角点的y坐标,检测框的宽度w,检测框的高度h),算法的迭代次数设定为5次,并设定使用矩形窗口对GrabCut进行初始化操作.
需注意的是,GrabCut算法是基于人工交互式的图像分割方法,为避免背景像素值接近目标像素值造成的错误分割,需手工标明前后背景,但在本文中使用红外热像仪拍摄出的图像前后背景分明,且经前一步行人检测算法已自动获取了前景所在区域,直接将该区域传递给GrabCut算法进行迭代处理即可实现人体步态轮廓分割,因此这里无须手动标明前景与背景.使用GrabCut算法进行行人步态轮廓提取后的效果如图5所示,其中(a)为原始图像,(b)为提取后的人体步态轮廓,可见GrabCut算法可基本实现对行人步态轮廓的完整分割.
图5 行人轮廓提取效果图
获取行人步态轮廓后需对其进行二值化和居中剪裁处理.二值化处理方式是对提取的步态轮廓部分判断其像素值是否大于0,将大于0的像素值置为255,其余的像素值置为0.居中裁剪的处理方式是将步态轮廓居中,裁剪出一个边长为256像素的正方形区域作为最终图像.二值化和居中剪裁处理后的结果如图6所示,其中(a)为原始图像,(b)为居中剪裁和二值化处理后的图像,居中剪裁成一个正方形状.
图6 二值化与居中剪裁效果图
CASIA Dataset C[10]中对红外步态图像采用背景减除法[13]进行步态轮廓的提取,相比于本文采用的提取算法,由于红外热像仪在有无热源的情况下所成画面不一致会导致背景减除法产生较多噪点.两种方法的处理效果如图7所示,其中(a)是有热源时的成像效果,(b)是无热源的成像效果,在这种情况下,直接使用背景减除法得到的效果如图7中(c)所示,观察(c)可以发现,使用背景减除法进行步态轮廓提取会产生较多噪点,(d)是采用本文设计的处理框架得到的较为干净且完整的步态轮廓.
图7 轮廓提取对比图
通过对CASIA Dataset C的观察发现其存在较多问题(如图8):(a)存在步态轮廓缺失的问题,(b)步态轮廓中保留了太多发际线和衣服边线等线条纹理,(c)步态轮廓存在较多噪点.其中(a)与(c)直接影响步态轮廓的有效性,(b)问题会导致在使用深度学习模型进行步态识别研究时产生模型过拟合[14].
图8 CASIA Dataset C 存在问题
对两份数据进行人体步态轮廓完整性比较,具体步骤为:第一步,从每个对象中选取一张较为完整的人体步态轮廓图像并求取该人体轮廓的面积;第二步,求取每个对象每张人体步态轮廓图像中的人体步态轮廓面积;第三步,使用第二步中求取的人体步态轮廓面积除以第一步中的人体步态轮廓面积得到一个数值;考虑到行走过程中人体步态轮廓面积会有一定的变化,设定最小阈值为0.7,同时考虑到由于人体步态轮廓提取不完全导致计算得出的轮廓面积会超出真实值较大的一个范围,因此设定最大阈值为1.3,接着统计第三步中得出的数值小于最小阈值所占比例以及大于最大阈值所占比例,最后绘制各个比例分布图(如图9所示).
第三步中当计算所得数值小于最小阈值时表示人体轮廓缺失,当计算所得数值大于最大阈值时表示人体轮廓冗余,存在较多噪点.图9中(a)图的纵坐标表示人体轮廓缺失所占比例,(b)图的纵坐标表示人体轮廓冗余所占比例,其横坐标对应的都是采集对象编号,蓝色点代表CASIA Dataset C数据集的实验结果,红色点代表本文自建数据集的实验结果.通过观察图9发现,CASIA Dataset C的人体步态轮廓缺失较为严重,本文自建数据集的人体步态轮廓较为完整,同时观察图例发现CASIA Dataset C中100编号后的步态轮廓也存在冗余.
图9 人体轮廓完整性分析
为了比较两份数据集在神经网络中的识别效果,使用AlextNet网络对两份数据集进行对比实验.训练集和验证集的划分比例为7∶3,设置batch_size为32,损失函数选择多分类交叉熵损失函数,网络优化器采用Adam,设置初始化学习率为10-3,经过5次迭代训练后采用验证数据集进行验证得到如图10所示的验证准确率.通过观察图10发现,使用本文处理所得的步态数据对AlexNet神经网络进行验证所得的识别效果优于CASIA Dataset C步态数据.
图10 AlexNet网络验证结果
通过红外热像仪进行步态数据采集,并设计了红外步态数据采集与处理的方法与流程,第一步使用HOG与SVM结合进行行人检测,第二步将检测到的行人区域进行前后背景分离提取人体轮廓,第三步对提取得到的人体轮廓进行二值化和居中裁剪处理,得到最终适用于深度学习模型训练的多角度红外步态数据集,实验处理证明了技术路线的可行性.同时将得到的数据集与CASIA Dataset C红外步态数据集进行了对比,结果表明所得步态数据集具有一定的优势,但也存在一些不足,如个体数量以及行走状态不丰富等,后续需要针对这些不足进行补充和完善.