A Discriminatively Learned CNN Embedding for Person Re-identification
Abstract:在re-ID中,重要有两种两种流行的CNN模型,verification models(输入两张图片,判断是不是同一个人),identification models(给定图片,判断人物身份或是找到相同的人)。本文结合了这两种模型,找出更具区分能力的描述符(descriptor)。我们提出了一个Siamese network同时计算verification and identification loss。给出一对图片,网络不仅判断两张图片中行人的身份,并且判断两张图片是否为同一行人。所以网络同时学到了discriminative embedding和similarity。
1 Introduction
下图是两种常用的CNN模型,
Verification model的缺点在于仅仅使用了一个弱的re-ID标签(即两张图片是不是同一个人),其他图像的注释信息未被使用。
为了充分利用re-ID标签,identification models使用多分类任务来学习特征。在训练网络时,图像经过非线性函数得到ID,最后连接cross-entropy layer作为loss。在测试过程中,从全连接层提取特征,然后normalization。两张图片的相似度是通过两张图片normalization后的特征之间的欧式距离判断的。主要的缺点在于训练网络时的目的与测试时不同。网络本身没有考虑图像之间的相似性测量。
由此可见,两种模型的优缺点是互补的。见下图:
2 Related Work
3 Proposed method
图中的CaffeNet使用ImageNet预训练的模型,去掉了最后的FC。添加了三个conv layer,一个square layer,三个loss。在re-ID任务中,图中CaffeNet后的f作为图像的descriptor。
Identification Loss:为了fine-tune ImageNet上的预训练模型,我们使用conv layer 替换原有的最后一层FC layer(1000-d)。因为Market-1501行人身份总数为751.所以我们添加的卷积层为751个114096的kernel。最终每张图片变为一个11751的tensor。在conv之后,不使用relu.同原有的多分类任务一样,同样使用cross-entropy作为损失函数:
Verification Loss:其中square layer,将得到的两个4096位tensor逐位相减,平方求和。 。卷积层为2个1*1*4096的kernel。不加relu。经过softmax得到两个概率,两个概率相加之和为1。因为将其看为二分类问题,所以损失函数依然采用cross-entropy。
Identification vs. Verification:
Training and Optimization:
(1)input preparation:resize image至256*256。所有图像减去所有训练图像的平均像素。训练时,所有图片被剪成227*227,
4 Experiment