2. 北京航空航天大学 宇航学院, 北京 100191
针对卷积神经网络在行人识别过程中错误率较高的问题,提出了一种基于深度胶囊模型的行人再识别方法.首先利用标准卷积层学习区分度较高的特征;然后将不同卷积层中的若干特征划分为一组,生成一个具有丰富语义特征的主胶囊.在此基础上,引入了动态路由算法,通过迭代路由过程来确定主胶囊和数字胶囊之间的归属关系,进而得到一组数字胶囊,其中,每个数字胶囊可以学习识别目标行人的存在.在具有挑战性的数据集上进行实验的结果表明,所提算法在性能上优于已有算法.
2. Beihang University, School of Astronautics, Beijing 100191, China
Convolutional neural networks produce higher probability of error for person re-identifications. To overcome the shortcomings, a new deep learning method based on capsule networks model for person re-identification was proposed. First, the standard convolutional layers are used to learn discriminative features. Then, several features in different layers are grouped together to form the primary capsules which represent a rich semantic features. After that, a dynamic routing algorithm which is an iterative routing process, is introduced to decide the attribution between primary capsule and digital capsule. To this end, the digital capsule layer is obtained and each capsule can learn to recognize the presence of persons. To highlight the superiorities of the proposed algorithm, extensive experiments are conducted on a series of challenging datasets and show that the algorithm favorably performs against the previous work.
随着国家平安城市以及雪亮工程的建设,视频监控摄像机已经分布在公共场所的各个角落.在此条件下,视频数据呈现出爆发式增长,视频大数据时代已经来临.视频大数据是内容最丰富、最活跃的一类大数据,集中体现了大数据体量大、变化快、多样性和真实性的特点.随着视频数据的价值逐渐得到大家重视,人们对于通过智能视频应用实现目标跟踪、异常行为检测[1]等需求变得日益强烈.上述视频应用的基本任务是在不同的摄像机视图中识别同一行人,研究人员将这项技术称为行人再识别(ReID).具体来讲,行人再识别的目标是在非重叠区域摄像机拍摄的行人图像之间建立对应关系.换句话说,该技术用于为同一行人的不同实例对象分配同一ID.当前,行人再识别具有非常广泛的应用前景.例如,它可以帮助人们在旅途中找到走散的朋友.因此,行人再识别在工业界和学术界引起了广泛关注.
在过去几年,科研人员在行人再识别的研究方面取得了较好的研究成果.然而,由于遮挡,行人姿势变化,低分辨率图像以及光照变化等多方面原因,使得该技术仍具有很大的提升空间.目前,已经开展的行人再识别研究工作大致可以归纳为两类:1)提取和构建行人的外表特征[2-3];2)设计新的匹配算法用于减少同一个人特征之间的距离[4].最近,基于深度卷积神经网络(CNNs,convolutional neural networks)的方法在不同视觉任务中都取得了较好的结果.研究发现,该方法可以同时学习行人特征和相似性距离度量方法.但是,如果将该方法直接应用于行人再识别领域,同一行人的识别准确率并不高.这是因为CNNs只关注有没有目标特征而经常忽略组件之间的相对空间和方向关系,这导致该方法在构件姿势发生变化时而发生识别错误.除此之外,CNNs在池化层中丢失了大量姿态信息(精确的目标位置、旋转、厚度、倾斜、大小等),降低了图像的空间分辨率,不利于行人识别.然而,已有工作并没有对此进行分析.
针对上述问题,提出了一种基于胶囊网络模型的深度学习方法用于行人再识别.首先,利用卷积层将输入图像的像素值转换为局部特征.在此基础上,将若干个特征组合到一起,生成一组具有丰富语义特征的主胶囊.进而,利用动态路由算法对连接主胶囊和数字胶囊之间的网络参数进行训练,从而得到一组数字胶囊.在此条件下,每个数字胶囊通过向量来表示行人的属性特征.最后,利用向量模的大小来衡量某个行人出现的概率,模值越大,概率越大.
1 相关工作目前,对于行人再识别的研究工作主要集中在行人特征表示.对于行人特征表示方法,它旨在针对不同环境下设计鲁棒性较强的特征描述子.接下来,将分别介绍低层次特征表示方法和基于深度学习的特征表示方法的相关工作. Chi Su等[5]设计了一种新颖的判别模型,该模型将低层次的特征属性映射到潜在原型空间.该方法同时利用了低层次的特征和属性. Franco A等[6]设计了一种基于协方差描述子的新型特征,该特征为行人再识别提供了通用特定知识和噪声不变性. Xiao Y等[7]提出了一种用于表示深度特征的管道.该管道可以针对同一问题从多个数据集中学习较好的特征. Dong X等[8]将结构化的距离关系引入到拉普拉斯图中,用于深度特征的学习,该算法易于实现且性能较好. Srivastava N等[9]通过训练一个深度卷积神经网络来对120万个高分辨率图像进行分类.在训练过程中,通过GPU实现卷积操作,加快了训练速度. Sainath T N等[10]研究分析了卷积网络的深度在大规模图像条件下对识别准确性的影响.
尽管已有方法在行人特征表示和距离度量方面取得了较好的研究成果,但上述方法需要大量的训练样本作为支撑.此外,一些基于深度学习的特征表示方法在信息传递过程中将丢弃详细的姿态信息.与上述方法不同的是,提出了一种基于胶囊网络模型的深度学习方法来解决行人再识别问题,该方法可以对构件之间的相对空间关系进行编码.因此,所提方法可以通过较少的训练集来识别来自不同3D视图的行人.
2 基于胶囊网络模型的深度学习方法 2.1 所提方法的整体框架在本节中,首先对行人再识别问题进行形式化描述.给定一组输入训练数据I={l1|p1, l2|p2, …, li|pi, …, lM|pM}, 其中M表示训练样本的总体个数,li表示训练数据中第ith个样本,pi表示对应行人的身份标识.因此,目标是通过训练胶囊网络来最小化输出层的行人识别错误率.
如图 1所示,胶囊网络是所提方法整体框架的核心,它主要包括卷积层,主胶囊层和数字胶囊层.对于卷积层,它主要负责将图像像素值转换为局部特征.然后将这些特征作为输入发送到主胶囊层.在主胶囊层中,每个主胶囊是一个神经元组.在此基础上,利用动态路由算法对连接主胶囊和数字胶囊之间的网络参数进行训练,从而得到一组数字胶囊.在此条件下,每个数字胶囊通过向量来表示行人的属性特征.最后利用向量模的大小来衡量某个行人出现的概率,模值越大,概率越大.
胶囊网络的第1层是卷积层,该层为输入图像提供传统的卷积核以获得图像特征.然后,在主胶囊层中,将得到的特征图都展成一维并将对应位置的特征进行合并,从而得到一组向量神经元,该组向量神经元被称为胶囊.对于每个胶囊,特别是高层胶囊,都表示一个语义属性或者构件模型.每个胶囊由一个向量进行表示,其中,向量的方向表示特定实体的各种属性,例如位置和方向等;向量的长度表示特定实体的存在概率.当图像发生旋转时,向量的方向也会发生相应地改变,然而向量的长度保持不变.
高层胶囊可以通过低层胶囊以及它们之间的空间关系推导得到.令ui表示低层胶囊,例如,眼睛、鼻子和嘴巴等,则高层预测向量可以通过式(1)得到.
$ u_{j | i}=W_{i | j} u_{i} $ | (1) |
其中:Wi|j表示低层胶囊以不同强弱的权重值连接到高层胶囊,采用随机方法初始化权重值,使其服从标准正态分布;uj|i表示由低层第ith个胶囊预测生成的较高层中第jth个胶囊(面部), 在训练期间,胶囊网络将学习每个胶囊对之间的变换矩阵,该矩阵表示部分与整体之间的对应关系.
接下来,在计算预测向量之后,通过调整耦合系数来做出将低层次胶囊的信息发送到高层次胶囊的决策.将低层次胶囊信息发送到适当高层次胶囊的过程称为动态路由.高层次胶囊由式(2)和式(3)计算而得.
$ s_{j}=\sum\limits_{i} c_{i j} u_{j | i} $ | (2) |
$ {V_j} = {\mathop{\rm squash}\nolimits} \left( {{s_j}} \right) = \frac{{{{\left\| {{s_j}} \right\|}^2}}}{{1 + {{\left\| {{s_j}} \right\|}^2}}} \cdot \frac{{{s_j}}}{{\left\| {{s_j}} \right\|}} $ | (3) |
其中:
以上这些参数可以通过动态路由算法来确定,具体如算法1所示.动态路由算法的主要思想是通过动态迭代过程调整耦合系数cij来保证低层胶囊将其信息发送至合适的较高层胶囊.在这种情况下,得到的对象姿态信息将会更加准确.令r表示最大迭代次数,bij表示变量值,l表示胶囊网络的第lth层,Vj表示一个胶囊的输出向量.
算法1 Dynamic routing algorithm
输入: r,bij,l
输出: Vj
1 bij=0;step=0;
2 for each capsule i in layer l and each capsule j in layer (l+1) do
3 while step < r do
4
5
6 Vj=squash(sj)
7 bij←bij+vj*uj|i
8 step=step+1
9 end while
10 end for
11 return Vj;
为了允许多个行人同时存在,采用损失函数来保证不同行人之间的差异,损失函数如式(4)所示.
$ \begin{aligned} &L_{k}=T_{k} \max \left(0, m^{+}-\left\|v_{k}\right\|\right)^{2}+\\ &\lambda\left(1-T_{k}\right) \max \left(0, \left\|v_{k}\right\|-m^{-}\right)^{2} \end{aligned} $ | (4) |
其中:Tk表示第k类行人是否存在;λ表示降权参数;‖vk‖表示在输出层每个胶囊的长度,即检测目标属于第k类行人的概率;m+表示上界,用于惩罚假阳性(false positive),即预测k类行人存在但真实不存在;m-表示下界,用于惩罚假阴性(false negative),即预测k类行人不存在但真实存在.在本文中,设置m+、m-和λ分别为0.9、0.1和0.5.
3 实验与分析为了验证所提基于胶囊网络模型的行人再识别方法(PRM-CN,person re-identification method based on capsule networks)的性能,在3个流行的数据集上进行了大量实验.实验结果和性能分析见下文.
3.1 实验设置在实验中,所有算法都是在keras框架条件下通过Python编程语言实现的.此外,选择张量流作为后台,并将相关程序部署在GPU集群上运行.在实验过程中,采用广泛使用的累积匹配曲线(CMC,cumulative match curve)和平均精度均值(MAP,mean average precision)作为基准评价指标来验证所提方法的有效性. CMC曲线是行人在识别领域重要评价指标,它综合反映了分类器的性能.具体来说,为了生成CMC曲线,首先需要计算每个行人的探针图像和所有库图像之间相似度并按相似度值从小到大进行排序,然后,计算每次查询结果排在前m位中正确匹配所占的百分比,记为r.假设总共有N个行人,即共进行N次查询和排序,每次查询中目标行人的排序结果用r=(r1, r2, …, rN)表示,那么CMC曲线的计算如下.
$ C(R)=\frac{1}{N} \sum\limits_{i=1}^{N}\left\{\begin{array}{ll} 1, & r_{i} \leqslant R \\ 0, & r_{i}>R \end{array}\right. $ | (5) |
MAP曲线即平均AP值,是对多次查询结果求平均AP值.假设存在QR次查询,AP(q)为每次查询的平均精确度,那么MAP的计算为
$ M=\frac{1}{\left|Q_{R}\right|} \sum\limits_{q \in Q_{R}} \operatorname{AP}(q) $ | (6) |
此外,为了进一步评估所提方法的效率,将PRM-CN与其他2个在行人识别方面性能较好的算法进行了比较.这2个算法分别是基于AlexNet的行人再识别方法(PRM-AlexNet)[11]和基于VGG-16的行人再识别方法(PRM-VGG-16)[12].
AlexNet网络是由Alex等在2012年提出的.该网络架构包含8层.其中,网络的前5层是卷积层,每个卷积层都包含激活函数ReLu.此外,网络的剩余3层是完全连接层.完全连接层的输出将被发送至包含NP个参数的softmax中.具体来说,NP表示行人再识别训练集中的行人个数. VGG-16的网络架构共包含16层.其中,网络的前13层是卷积层,所有卷积层都包含函数ReLu和最大池化层,网络的其余3层为完全连接层.
3.2 数据集使用3个公开通用的数据集CUHK01[13]、CUHK03[14]和Market-1501[15]来验证所提方法的性能.接下来,对这3个数据集进行详细介绍.
CUHK01数据集中共包括971人,其中,每个行人由2个部署在不同角度的摄像机进行拍摄.摄像机A将收集行人的正面和背面视图,而摄像机B将收集行人的侧面视图.每个行人都会有4个图片,每个摄像头包含其中2个.在实验过程中,将数据集随机地划分为训练集和测试集2个部分,其中,训练集包括700个人的样本,其余271个人的样本作为测试集.该过程重复15次,最后, CMC曲线通过平均计算求得.
CUHK03数据集包括1 360人的13 164张图像.总共有6个摄像头对行人进行拍摄,每张拍摄的图片来自2个不同的摄像头.目前,对于图片中的行人提取方法主要包括两种.第1种是从场景中手动提取行人.第2种是利用可变形部件模型检测器来提取行人.在实验过程中,将数据集随机地划分为训练集和测试集2个部分,其中,训练集包括1 160个人的样本,其余200个人的样本作为测试集.该过程重复10次,最后, CMC曲线通过平均计算求得.
Market-1501数据集是目前最大的行人再识别基准数据集之一.该数据集共包含了1 501个行人的32 668张图像,其中,每个行人都被至少两个摄像头或至多6个摄像头拍摄到.在实验过程中,将数据集随机地划分为训练集和测试集2个部分,其中,训练集包括1 000个人的样本,其余501个人的样本作为测试集.该过程重复15次,最后, CMC曲线通过平均计算求得.
3.3 CMC评估在数据集CUHK01、CUHK03和Market-1501上的实验结果如表 1~表 3所示.其中,每个表都包含了所提方法和对比方法(PRM-AlexNet和PRM-VGG-16)的实验结果.从表 1~表 3可以发现,在数据集较小的CUHK01上,PRM-AlexNet和PRM-VGG-16的性能表现相对较差.这是因为PRM-AlexNet和PRM-VGG-16的网络架构中包含了太多参数,容易出现过度拟合的情况.因此,很难释放其深层模型的潜力.此外,还可以发现,所提方法的CMC曲线值要优于对比方法的CMC曲线值,所提方法的CMC曲线值的变化范围在61.0%~99.5%之间.这是因为,PRM-CN在行人特征建模方面更具优势,除此之外,基于卷积神经网络的行人识别方法在池化层中会丢失大量姿态信息.与池化层不同是,通过胶囊网络,详细的姿态信息,如精确的目标位置、旋转、厚度、倾斜、大小等将在整个网络中被保存.因此实验结果是合理的.
图 2所示为在数据集CUHK01、CUHK03和Market-1501上不同方法的MAP值,其中,横坐标表示数据集的类型,纵坐标表示MAP值.从图3中可以发现,随着数据集规模的增加,3种方法的MAP值都不断增加.除此之外还可以发现,在数据集Market-1501上,所提方法的MAP值要比PRM-VGG-16的MAP值高10%,而PRM-AlexNet方法的MAP值在3种方法中是最低的.这是因为随着数据集规模的不断增加,基于深度学习的行人再识别方法可以提取出鲁棒性更高的行人特征.除此之外,所提方法在数据集CUHK01、CUHK03和Market-1501上的实验结果始终优于其他2种方法.例如,所提方法在数据集CUHK01上的MAP值增加了16%,在数据集CUHK03上的MAP值增加了15%,在Market-1501数据集上的MAP值增加了10%.上述实验结果表明笔者设计的胶囊网络框架可以学习到鲁棒性更高的语义属性.这是因为当对象的姿势和空间关系发生改变时,PRM-CN可以学习到“等变化”的图像表示.
针对CNNs在行人再识别问题上存在的不足,提出了一种基于胶囊网络模型的深度学习方法,该方法在跨摄像机条件下实现了行人识别精度的显着提高.除此之外,引入动态路由算法对胶囊网络的参数进行训练,该算法在提高行人特征建模能力的同时降低了计算复杂性.最后,数字胶囊层中的每个胶囊可以对行人进行精准识别.通过在流行数据集上与已有算法进行比较,所提算法的实验结果上要优于对比算法.
未来可将所提方法应用于跨摄像头和多摄像头条件下的行人匹配问题.
[1] |
Yuan Y, Fang J, Wang Q. Online anomaly detection in crowd scenes via structure analysis[J]. IEEE Transactions on Cybernetics, 2015, 45(3): 548-561. DOI:10.1109/TCYB.2014.2330853 |
[2] |
Jin K H, McCann M T, Froustey E, et al. Deep convolutional neural network for inverse problems in imaging[J]. IEEE Transactions on Image Processing, 2017, 26(9): 4509-4522. DOI:10.1109/TIP.2017.2713099 |
[3] |
Kruthiventi S S S, Ayush K, Babu R V. DeepFix:a fully convolutional neural network for predicting human eye fixations[J]. IEEE Transactions on Image Processing, 2017, 26(9): 4446-4456. DOI:10.1109/TIP.2017.2710620 |
[4] |
Zhou Sanping, Wang Jinjun, Shi Rui, et al. Large margin learning in set to set similarity comparison for person Reidentification[J]. IEEE Transactions on Multimedia, 2018, 20(3): 593-604. |
[5] |
Su Chi, Zhang Shiliang, Yang Fan, et al. Attributes driven tracklet-to-tracklet person re-identification using latent prototypes space mapping[J]. Pattern Recognition, 2017, 66: 4-15. DOI:10.1016/j.patcog.2017.01.006 |
[6] |
Franco A, Oliveira L. Convolutional covariance features:conception, integration and performance in person reidentification[J]. Pattern Recognition, 2017, 61: 593-609. DOI:10.1016/j.patcog.2016.07.013 |
[7] |
Xian Yuqiao, Hu Haifeng. Enhanced multi-dataset transfer learning method for unsupervised person re-identification using co-training strategy[J]. IET Computer Vision, 2018, 12(8): 1219-1227. DOI:10.1049/iet-cvi.2018.5103 |
[8] |
Dong Xiaowen, Thanou D, Frossard P, et al. Learning laplacian matrix in smooth graph signal representations[J]. IEEE Transactions on Signal Processing, 2016, 64(23): 6160-6173. DOI:10.1109/TSP.2016.2602809 |
[9] |
Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, et al. Dropout:a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958. |
[10] |
Sainath T N, Kingsbury B, Saon G, et al. Deep convolutional neural networks for large-scale speech tasks[J]. Neural Networks, 2015, 64: 39-48. DOI:10.1016/j.neunet.2014.08.005 |
[11] |
Wright R E. American property:a history of how, why, and what we own (review)[J]. Register of the Kentucky Historical Society, 2011, 109(2): 276-278. DOI:10.1353/khs.2011.0102 |
[12] |
Liu Luoqi, Zhang Li, Liu Hairong, et al. Toward large-population face identification in unconstrained videos[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2014, 24(11): 1874-1884. DOI:10.1109/TCSVT.2014.2319671 |
[13] |
Bedagkar-Gala A, Shah S K. A survey of approaches and trends in person re-identification[J]. Image and Vision Computing, 2014, 32(4): 270-286. DOI:10.1016/j.imavis.2014.02.001 |
[14] |
Zhong Zhun, Zheng Liang, Zheng Zhedong, et al. CamStyle:a novel data augmentation method for person reidentification[J]. IEEE Transactions on Image Processing, 2019, 28(3): 1176-1190. DOI:10.1109/TIP.2018.2874313 |
[15] |
McLaughlin N, del Rincon J M, Miller P C. Person reidentification using deep convnets with multitask learning[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 27(3): 525-539. DOI:10.1109/TCSVT.2016.2619498 |