基于特征融合网络的行人重识别①

2019-01-18 08:30种衍杰
计算机系统应用 2019年1期
关键词:级联集上行人

种衍杰, 方 琰, 沙 涛

(南京理工大学 电子工程与光电技术学院, 南京 210094)

自2006年, 行人重识别的概念第一次在CVPR会议上被提出后[1], 相关研究越来越受到学者们的关注.行人重识别旨在大规模的视频监控系统中进行行人目标匹配, 即确认不同摄像头在不同时间、不同地点所记录到的行人目标是否为同一个人, 进而达到跟踪或是搜索的目的[2]. 由于光照、视角、姿态等方面的差异, 导致同一行人在不同画面中可能呈现截然不同的外观; 加之存在图像分辨率低下、遮挡等问题, 使得行人重识别成为一个颇具挑战的课题.

行人重识别中两个关键问题: 特征表示和度量学习[3]. 一个有效的特征应当紧凑且对诸如视角、光照等变化具有鲁棒性; 而度量学习则通过学习获得一个新的距离度量空间, 使得相同行人目标之间的距离更近,而不同目标之间的距离更远. 许多学者沿着这两个方向做了许多贡献. Gray等[4]提出了局部特征集(Ensemble of Localized Features, ELF), 融合了颜色、纹理多种特征, 依据分类效果对特征赋予相应的权重.Farenzena等[5]提出了局部特征对称性驱动累积(Symmetry-Driven Accumulation of Local Features,SDALF), 从 STEL(STel Component Analysis)[6]模型提取的行人轮廓中寻找垂直对称轴, 依据对称轴对像素加权后提取颜色和纹理特征. Liao等[3]提出了局部最大事件 (LOcal Maximal Occurrence representation, LOMO),联合了HSV颜色直方图和SILTP (Scale Invariant Local Ternary Patter)[7]纹理特征描述子, 并使用最大池化的方法获得了更加稳定的特征表达, 同时, 还提出了跨视角二次判别(cross-view Quadratic Discriminant Analysis, XQDA)的度量学习方法. Wu等[8]提出了特征融合网络 (Feature Fusion Net, FFN), 尝试将手工剪裁特征和卷积神经网络提取的CNN (Convolutional Neural Network)特征进行了有效的融合.

本文聚焦于行人重识别中的特征表达, 首先研究了原始LOMO特征的提取流程, 接着, 利用STEL算法改善了原始LOMO特征对背景噪声的抗噪性能, 利用KPCA (Kernel Principal Component Analysis)[9]算法降低维度以便于后续融合, 在特征维度更低的情况下,本文改进LOMO特征取得了较原始LOMO特征更加优异的识别准确率. 随后, 本文探索了手工特征和CNN特征的互补性, 经由全连接层将改进LOMO特征融入卷积神经网络之中, 反向传播使得改进LOMO特征能够优化网络参数的学习, 得到了区分度更高的融合特征. 在VIPeR和CUHK01数据集上的测试结果表明,本文融合特征的区分度明显高于单一特征和级联特征,Rank-1较级联特征分别提高了3.73%和2.36%.

1 改进LOMO特征

1.1 原始LOMO特征提取方法

由于行人图像分辨率较低, 诸如人脸等其它生物特征难以被捕捉到, 所以, 行人重识别主要依据行人的表观特征, 例如颜色、纹理等特征. Liao提出的LOMO特征, 先将行人图像水平划分, 然后提取HSV颜色直方图和SILTP[7]纹理特征, 并使用最大池化的方法获得了更加稳定的表达. 图1展示了LOMO特征的提取流程.

1.1.1 处理光照变化

颜色是描述行人图像的一个重要特征, 然而, 由于光照条件、相机设置以及阴影等因素, 同一个行人在不同相机下所呈现的颜色可能相距甚远[10]. 为此, LOMO特征首先使用了多尺度Retinex算法[11]预处理行人图片. Retinex算法能够很好地近似人类视觉感知, 并加强了阴影区域的细节表现. 在LOMO特征使用的多尺度Retinex算法中, 小尺度Retinex用于动态范围压缩,大尺度Retinex用于色调再现. 图2展示了行人图片经Retinex处理前后的对比, 其中(a)为原始图片, (b)为经Retinex处理后的图片, (a)(b)中同一列为同一行人图像. 可以看出, 处理后的行人图片在光照和颜色上有着更好的一致性.

图1 LOMO特征的提取流程

图2 行人图片经Retinex处理前后对比[3]

1.1.2 处理视角变化

考虑到行人在不同相机下往往呈现出不同的视角,LOMO特征使用了滑动窗口来描述图像的局部细节.具体而言, LOMO特征使用了尺寸为10×10的窗口, 在经裁剪的行人图像上以5像素步长滑动. 在每个窗口内提取颜色直方图和两尺度纹理特征. 为了使产生的直方图对视角变化具有鲁棒性, LOMO特征扫描同一水平位置的所有窗口,提取每种子特征的最大值组成一个新的特征表达.

为了进一步考虑多尺度信息, LOMO特征构建了三尺度图像金字塔, 对原始图像进行下采样后, 重复上述特征提取流程.

最后级)联所有特征, 得到了长度为(8×8×8HSV+34×2SILTP×(24+11+5)=26 960维的LOMO特征.

1.2 改善抗噪性能

LOMO特征使用滑动窗口来描述行人图像的局部细节, 并通过最大化水平窗口特征值的方式来处理视角变化. 该方法简单有效, 但却没有很好地处理背景噪声的影响. 在我们的实验中, LOMO特征在不同的数据集下表现得不够稳定也验证了这一点. 受到SDALF算法[5]利用对称信息处理视角变化的启发, 本文使用行人垂直对称信息和加权函数来消除背景噪声的干扰.

首先, 利用 STEL[6]将行人从背景中提取出来, 然后由行人轮廓确定垂直对称轴, 依据对称轴对滑动窗口赋予不同的权值: 距离对称轴较近的窗口更有可能是前景(行人), 赋予较大权重; 而对远离对称轴的窗口赋予较小权值. 这样, 所提取的LOMO特征更加专注于前景而减小了背景噪声带来的影响. 权值函数选用高斯函数:

1.3 降低特征维度

首先, 使用上述流程提取窗口加权LOMO特征, 将LOMO特征矩阵变换为 6 74×X维的矩阵为图像分割的水平条数. 在降维算法上选取了KPCA算法, 该算法应用了Mercer核来扩展PCA (Principal ComponentAnalysis),由输入空间经非线性映射得到高维空间, 然后在高维空间计算主成分量[12]. 图4展示了应用KPCA算法对LOMO特征进行降维的性能曲线, 测试图库为VIPeR cam_a图集, 共632张图片. 当累积方差贡献率为0.9时, 平均所需主成分数目仅为17.20, 即平均使用11 591维的数据即可表示原始26 960维LOMO特征近90%的信息量.

图4 KPCA对LOMO特征降维的性能曲线

结合图4, 我们将LOMO特征矩阵降维至原始维度的50%, 此时平均累积方差贡献率为0.91.

2 特征融合网络

2.1 网络架构

近来, 专为行人重识别设计的、传统的手工多特征融合[3,5,13]在性能上遇到了瓶颈. 随着神经网络在图像识别领域的流行, 越来越多的研究聚焦于基于深度学习的行人重识别. 然而, 深度学习的主要瓶颈是缺乏训练数据, 大多数的重识别数据集对每个行人只提供两张图片, 例如VIPeR. 所以, 仅采用深度学习的行人重识别算法在某些数据集上的效果并不显著.

受到FFN[8]的启发, 本文提出了一种基于特征融合网络的图像特征提取方式, 该网络融合了CNN特征和改进LOMO特征, 将其映射至一统一的特征空间. 在反向传播的过程中, 手工剪裁的改进LOMO特征能够优化神经网络的参数学习. 这样, 我们得到了比单个特征或者级联特征更有区分度的融合特征. 如图5所示,特征融合网络由两部分组成, 第一部分使用普通的卷积神经网络从输入图像中提取特征, 是对图像颜色、纹理、形态等特征的综合学习; 第二部分使用改进LOMO来提取手工特征. 借助全连接层使得第二部分能够优化第一部分的学习过程, 两个特征最终融合在一起形成一个更加充分的特征表达. 图6展示了在训练好的融合网络中进行行人目标匹配的流程图, 系统输出了匹配度较高的前20个结果.

图5 特征融合网络架构图

2.2 CNN特征的提取

特征融合网络首先使用5个卷积层来提取图像的CNN特征, 每个卷积层后使用ReLU函数作为激活函数, 池化层使用最大池化以更好地保留纹理特征, 忽略背景噪声, 最终得到了4096维的CNN特征. 卷积神经网络具有权值共享的特性, 有着更少的连接和参数, 因而更容易被训练[14].

鉴于目前流行的行人重识别数据集行人数在1000个左右, 图片总数大多小于10 000张, 较小的训练集容易使得神经网络出现过拟合现象. 为此, 本文首先采取图像变化和水平反转来增强数据[14]. 具体地, 首先将图像尺寸调整至 2 56×256, 而后从 2 56×256图像上随机剪裁大小为 2 27×227的图像块, 将它们及其水平反转送入神经网络进行学习, 这样训练样本总数增大了1682倍. 另外, 为了加快网络的收敛速度, 在训练集的图像上进行了减均值操作.

2.3 缓冲层和融合层

由于LOMO特征和CNN特征差异巨大, 为了使融合得以成功, 在CNN特征和LOMO特征融合之前分别由一到两个缓冲层(Buffer Layer)进行缓冲. CNN特征的缓冲层由一个全连接层组成, LOMO特征的缓冲层由两个输出维度分别为8192和4096的全连接层组成.为了使融合更加充分, LOMO特征事先进行了降维操作, 然后再通过两级维度递减的全连接层进行缓冲.

图6 融合特征网络行人匹配流程图

缓冲层之后的融合层(fusion layer)输出了维度为4096维的融合特征, 该层利用了全连接层来增强对LOMO特征和CNN特征的自适应能力. 另外, 缓冲层和融合层使用了概率为0.5的失活函数, 降低了特定神经元之间的互相依赖, 从而迫使其学习更加鲁棒的特征[14].

假定缓冲层的输出分别为BLOMO和BCNN, 则最终融合层输出的融合特征可以表示为:

每个样本在所有输出节点的损失函数之和为:

损失函数的导数为:

利用链式求导法则逐层更新整个网络参数.

3 实验与分析

3.1 实验规则

分别在VIPeR[15]和CUHK01[16]数据集上进行测试, 在每个数据集测试中随机选取一半样本作为训练数据集, 另一半作为测试数据集, 重复 10 次, 计算平均Rank-i并绘制CMS (Cumulative Matching Characteristic)曲线. 在分类器上选择了最原始的非监督分类算法L1-norm, L1-norm距离又称曼哈顿距离, 能够表示特征最原始的区分度. 如图6所示, 从融合层获得融合特征后,与已有特征计算L1-norm距离, 获得了匹配度较高的前20个结果.

在特征融合网络的训练中, 使用分批随机梯度下降法以20张图片为单位, 前向传导至最后的Softmax损失层, 计算样本损失的平均值, 并以此作为反向传播的损失值. 初始学习率 γinitial=0.001, 更新策略:

其中,gamma取0.0001,power取0.75,iter为迭代次数.

在每次实验中, 分别对比原始LOMO特征、本文改进LOMO特征、本文提取的CNN特征、改进LOMO特征和CNN特征的级联特征以及融合特征,gBiCov[17]以及ELF16[8]作为额外对比项.

3.2 实验结果

3.2.1 在VIPeR上实验

VIPeR数据集是行人重识别领域最著名的数据集,包含632个行人共1264张图像. VIPeR数据集的特点是光照和视角的多样性. 图7以及表1展示了VIPeR数据集上的测试结果.

3.2.2 在CUHK01上实验

CUHK01数据集是由香港中文大学于2012年发布的行人重识别基准测试数据集, 包含了2个摄像头、每个摄像头971个ID、每个ID2张图片, 共1264张图片. CUHK01采集自行人天桥, 图片整体亮度较低.图8以及表2展示了CUHK01数据集上的测试结果.

表1 各种特征在VIPeR数据集、L1-norm下的性能比较

表2 各种特征在CUHK01数据集、L1-norm下的性能比较

3.2.3 运行时间

表3评估了本文所对比的行人重识别特征的提取时间, 测试图集为VIPeR cam_a, 取其提取632张图像特征的平均时间. 测试机器CPU为Intel i5-5200U, 内存 8 GB, 显卡为 NVIDIA GTX950M.

表3 各种特征的提取时间、输出维度比较

可以看到, 融合网络的特征提取时间甚至快于某些手动特征. 虽然融合网络的训练需要花费大量时间,但在训练完的网络中运行一次前向传播只需0.49 s, 而且, 其中大部分时间(0.31 s)花费在改进LOMO特征的提取上. 相较于其它特征, 融合特征的维度更小, 在后续的度量学习中也有着更大的优势.

3.3 结果分析

图7和图8展示了在L1-norm下, 本文融合特征与对比特征分别在VIPeR和CUHK01数据集上的表现. L1-norm衡量了各种特征最直观的区分度, 结果表明, 融合特征的区分度大于其它特征.

图7 VIPeR数据集、L1-norm下各种特征的CMS曲线

图8 CUHK01数据集、L1-norm下各种的特征CMS曲线

本文改进LOMO特征和CNN特征的级联特征准确率大于改进LOMO特征、CNN特征两个单独特征,说明了手工特征和CNN特征在一定程度上是可以互补的. 然而简单的级联并不是最优的融合方式, 在VIPeR和CUHK01数据集上, 融合特征Rank-1为19.76%和19.47%, 较级联特征的16.03%和17.11%,分别提高3.73%和2.36%. 融合特征的准确率大于级联特征的主要原因在于:

(1)经由缓冲层和融合层使得改进LOMO特征参与了神经网络的训练过程, 在反向传播时, 提取CNN特征的卷积核(Filters)学习到了改进LOMO特征的特性.

(2)缓冲层和融合层由全连接层组成, 能够更好的融合两者的互补特性.

另外, 本文改进LOMO特征由于更加专注于行人,减小了背景噪声的影响, 在特征维度更小的情况下, 表现出比原始LOMO特征更加优异的性能, 在VIPeR和CUHK01数据集上分别较原始LOMO特征提高了1.9%和1.83%.

4 总结

本文首先利用STEL算法增强了LOMO特征对背景噪声的抗噪性能, 为了便于后续融合, 利用KPCA进行了降维, 在特征维度更低的情况下取得了较原始LOMO特征更加优异的性能. 随后, 本文探索了手工特征和CNN特征的互补性, 将改进LOMO特征融入到了卷积神经网络之中, 得到了区分度更高的融合特征.在两个颇具挑战的数据集上, 本文融合特征表现出比单独或者级联特征更加优异的性能, Rank-1较级联特征分别提高了3.73%和2.36%.

猜你喜欢
级联集上行人
基于双空间模糊邻域相似关系的多标记特征选择
铀浓缩厂级联系统核安全分析
实现级联形状回归方法对视线追踪
多供取料的Q模型级联的数学描述
关于短文本匹配的泛化性和迁移性的研究分析
毒舌出没,行人避让
路不为寻找者而设
我是行人
师如明灯,清凉温润
几道导数题引发的解题思考