自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.1.2 处理视角变化
考虑到行人在不同相机下往往呈现出不同的视角, LOMO特征使用了滑动窗口来描述图像的局部细节. 具体而言, LOMO特征使用了尺寸为10×10的窗口, 在经裁剪的行人图像上以5像素步长滑动. 在每个窗口内提取
为了进一步考虑多尺度信息, LOMO特征构建了三尺度图像金字塔, 对原始图像进行下采样后, 重复上述特征提取流程.
最后级联所有特征, 得到了长度为
LOMO特征使用滑动窗口来描述行人图像的局部细节, 并通过最大化水平窗口特征值的方式来处理视角变化. 该方法简单有效, 但却没有很好地处理背景噪声的影响. 在我们的实验中, LOMO特征在不同的数据集下表现得不够稳定也验证了这一点. 受到SDALF算法[5]利用对称信息处理视角变化的启发, 本文使用行人垂直对称信息和加权函数来消除背景噪声的干扰.
首先, 利用STEL[6]将行人从背景中提取出来, 然后由行人轮廓确定垂直对称轴, 依据对称轴对滑动窗口赋予不同的权值: 距离对称轴较近的窗口更有可能是前景(行人), 赋予较大权重; 而对远离对称轴的窗口赋予较小权值. 这样, 所提取的LOMO特征更加专注于前景而减小了背景噪声带来的影响. 权值函数选用高斯函数:
$g\left( x \right) = \frac{1}{{\sigma \sqrt {2\pi } }}{e^{ - \frac{1}{2}{{\left( {\frac{{x - \mu }}{\sigma }} \right)}^2}}}$ | (1) |
其中,
具体而言, 在行人对称轴确定以后, 使用了尺寸为10×10的滑动窗口, 在行人图像上以5像素步长滑动. 在每个窗口内提取
LOMO特征在每个水平位置提取
首先, 使用上述流程提取窗口加权LOMO特征, 将LOMO特征矩阵变换为
结合图4, 我们将LOMO特征矩阵降维至原始维度的50%, 此时平均累积方差贡献率为0.91.
2 特征融合网络 2.1 网络架构近来, 专为行人重识别设计的、传统的手工多特征融合[3,5,13]在性能上遇到了瓶颈. 随着神经网络在图像识别领域的流行, 越来越多的研究聚焦于基于深度学习的行人重识别. 然而, 深度学习的主要瓶颈是缺乏训练数据, 大多数的重识别数据集对每个行人只提供两张图片, 例如VIPeR. 所以, 仅采用深度学习的行人重识别算法在某些数据集上的效果并不显著.
受到FFN[8]的启发, 本文提出了一种基于特征融合网络的图像特征提取方式, 该网络融合了CNN特征和改进LOMO特征, 将其映射至一统一的特征空间. 在反向传播的过程中, 手工剪裁的改进LOMO特征能够优化神经网络的参数学习. 这样, 我们得到了比单个特征或者级联特征更有区分度的融合特征. 如图5所示, 特征融合网络由两部分组成, 第一部分使用普通的卷积神经网络从输入图像中提取特征, 是对图像颜色、纹理、形态等特征的综合学习; 第二部分使用改进LOMO来提取手工特征. 借助全连接层使得第二部分能够优化第一部分的学习过程, 两个特征最终融合在一起形成一个更加充分的特征表达. 图6展示了在训练好的融合网络中进行行人目标匹配的流程图, 系统输出了匹配度较高的前20个结果.
2.2 CNN特征的提取
特征融合网络首先使用5个卷积层来提取图像的CNN特征, 每个卷积层后使用ReLU函数作为激活函数, 池化层使用最大池化以更好地保留纹理特征, 忽略背景噪声, 最终得到了4096维的CNN特征. 卷积神经网络具有权值共享的特性, 有着更少的连接和参数, 因而更容易被训练[14].
鉴于目前流行的行人重识别数据集行人数在1000个左右, 图片总数大多小于10 000张, 较小的训练集容易使得神经网络出现过拟合现象. 为此, 本文首先采取图像变化和水平反转来增强数据[14]. 具体地, 首先将图像尺寸调整至
由于LOMO特征和CNN特征差异巨大, 为了使融合得以成功, 在CNN特征和LOMO特征融合之前分别由一到两个缓冲层(Buffer Layer)进行缓冲. CNN特征的缓冲层由一个全连接层组成, LOMO特征的缓冲层由两个输出维度分别为8192和4096的全连接层组成. 为了使融合更加充分, LOMO特征事先进行了降维操作, 然后再通过两级维度递减的全连接层进行缓冲.
缓冲层之后的融合层(fusion layer)输出了维度为4096维的融合特征, 该层利用了全连接层来增强对LOMO特征和CNN特征的自适应能力. 另外, 缓冲层和融合层使用了概率为0.5的失活函数, 降低了特定神经元之间的互相依赖, 从而迫使其学习更加鲁棒的特征[14].
假定缓冲层的输出分别为
${Z_{\rm {Fusion}}} = h\left( {W_{\rm {Fusion}}^{\rm T}\left[ {{B_{\rm {LOMO}}}, {B_{\rm {CNN}}}} \right] + {b_{\rm {Fusion}}}} \right)$ | (2) |
其中,
$W_1^{\left( l \right)} = {W^{\left( l \right)}} - \alpha \left[ {\left( {\frac{1}{m}\Delta {W^{\left( l \right)}}} \right) + \lambda {W^{\left( l \right)}}} \right]$ | (3) |
$b_1^{\left( l \right)} = {b^{\left( l \right)}} - \alpha \left( {\frac{1}{m}\Delta {b^{\left( l \right)}}} \right)$ | (4) |
其中,
$p\left( {y = j{\rm{|}}x;\theta } \right) = \frac{{{e^{\theta _j^{\rm T}x}}}}{{\mathop \sum \nolimits_{k = 1}^n {e^{\theta _k^{\rm T}x}}}}$ | (5) |
每个样本在所有输出节点的损失函数之和为:
$ \begin{aligned} {J_{\rm {softmax}}}\left( \theta \right) = & - \left[ {\mathop \sum \limits_{k = 1}^m {y^{\left( i \right)}}log{h_\theta }\left( {{x^{\left( i \right)}}} \right) } \right. \\& \left. + \left( {1 - {y^{\left( i \right)}}} \right){{\text{log}}\left( {1 - {h_\theta }\left( {{x^{\left( i \right)}}} \right)} \right)} \right] \end{aligned} $ | (6) |
损失函数的导数为:
$\begin{aligned} {\nabla _{{\theta ^{\left( k \right)}}}}J\left( \theta \right) = & - \mathop \sum \limits_{i = 1}^m \left[{x^{\left( i \right)}} \left(\left\{ {{y^{\left( i \right)}} = k} \right\} \hfill \right.\right. \\ & \left.\left. - p \left({y^{\left( i \right)}} = k |{x^{\left( i \right)}};\theta \right)\right)\right] \hfill \\ \end{aligned} $ | (7) |
利用链式求导法则逐层更新整个网络参数.
3 实验与分析 3.1 实验规则分别在VIPeR[15]和CUHK01[16]数据集上进行测试, 在每个数据集测试中随机选取一半样本作为训练数据集, 另一半作为测试数据集, 重复10次, 计算平均Rank-i并绘制CMS (Cumulative Matching Characteristic)曲线. 在分类器上选择了最原始的非监督分类算法L1-norm, L1-norm距离又称曼哈顿距离, 能够表示特征最原始的区分度. 如图6所示, 从融合层获得融合特征后, 与已有特征计算L1-norm距离, 获得了匹配度较高的前20个结果.
在特征融合网络的训练中, 使用分批随机梯度下降法以20张图片为单位, 前向传导至最后的Softmax损失层, 计算样本损失的平均值, 并以此作为反向传播的损失值. 初始学习率
${\gamma _{\rm {new}}} = {\gamma _{\rm {initial}}} \times {\left( {1 + gamma \times iter} \right)^{ - power}}$ | (8) |
其中,
在每次实验中, 分别对比原始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数据集上的测试结果.
3.2.3 运行时间
表3评估了本文所对比的行人重识别特征的提取时间, 测试图集为VIPeR cam_a, 取其提取632张图像特征的平均时间. 测试机器CPU为Intel i5-5200U, 内存8 GB, 显卡为NVIDIA GTX950M.
可以看到, 融合网络的特征提取时间甚至快于某些手动特征. 虽然融合网络的训练需要花费大量时间, 但在训练完的网络中运行一次前向传播只需0.49 s, 而且, 其中大部分时间(0.31 s)花费在改进LOMO特征的提取上. 相较于其它特征, 融合特征的维度更小, 在后续的度量学习中也有着更大的优势.
3.3 结果分析图7和图8展示了在L1-norm下, 本文融合特征与对比特征分别在VIPeR和CUHK01数据集上的表现. L1-norm衡量了各种特征最直观的区分度, 结果表明, 融合特征的区分度大于其它特征.
本文改进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%.
[1] |
Gheissari N, Sebastian TB, Hartley R. Person reidentification using spatiotemporal appearance. Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York, NY, USA. 2006. 1528–1535.
|
[2] |
Zheng L, Yang Y, Hauptmann AG. Person re-identification: Past, present and future. arXiv preprint arXiv: 1610.02984, 2016.
|
[3] |
Liao SC, Hu Y, Zhu XY, et al. Person re-identification by local maximal occurrence representation and metric learning. Proceedings of 2005 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA. 2015. 2197–2206.
|
[4] |
Gray D, Brennan S, Tao H. Evaluating appearance models for recognition, reacquisition, and tracking. Proceedings of the 10th IEEE International Workshop on Performance Evaluation of Tracking and Surveillance (PETS). Rio de Janeiro. 2007, 3: 1–7.
|
[5] |
Farenzena M, Bazzani L, Perina A, et al. Person re-identification by symmetry-driven accumulation of local features. Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA. 2010. 2360–2367.
|
[6] |
Andriluka M, Roth S, Schiele B. Pictorial structures revisited: People detection and articulated pose Estimation. Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami, FL, USA. 2009. 1014–1021.
|
[7] |
Liao SC, Zhao GY, Kellokumpu V, et al. Modeling pixel process with scale invariant local patterns for background subtraction in complex scenes. Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA. 2010. 1301–1306.
|
[8] |
Wu SX, Chen YC, Li X, et al. An enhanced deep feature representation for person re-identification. Proceedings of 2016 IEEE Winter Conference on Applications of Computer Vision. Lake Placid, NY, USA. 2016. 1–8.
|
[9] |
Schölkopf B, Smola A, Müller KR. Nonlinear component analysis as a kernel eigenvalue problem. Neural Computation, 1998, 10(5): 1299-1319. DOI:10.1162/089976698300017467 |
[10] |
章登义, 王骞, 朱波, 等. 利用人体部位特征重要性进行行人再识别. 武汉大学学报·信息科学版, 2017, 42(1): 84-90. |
[11] |
Jobson DJ, Rahman Z, Woodell GA. Properties and performance of a center/surround retinex. IEEE Transactions on Image Processing, 1997, 6(3): 451-462. DOI:10.1109/83.557356 |
[12] |
张田昊. 数据降维算法研究及其应用[博士学位论文]. 上海: 上海交通大学, 2008.
|
[13] |
Yang Y, Yang JM, Yan JJ, et al. Salient color names for person re-identification. European Conference on Computer Vision. Zurich, Switzerland. 2014. 536–551.
|
[14] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, NV, USA. 2012. 1097–1105.
|
[15] |
Gray D, Tao H. Viewpoint invariant pedestrian recognition with an ensemble of localized features. European Conference on Computer Vision. Marseille, France. 2008. 262–275.
|
[16] |
Li W, Zhao R, Wang XG. Human reidentification with transferred metric learning. Asian Conference on Computer Vision. Daejeon, Korea. 2012. 31–44.
|
[17] |
Ma BP, Su Y, Jurie F. Covariance descriptor based on bio-inspired features for person re-identification and face verification. Image and Vision Computing, 2014, 32(6–7): 379-390. |