Deep Attributes Driven Multi-Camera Person Re-identification
2017-06-28 21:38:55
【Motivation】
本文的网络设计主要分为三个部分:
Stage 1: Fully-supervised dCNN training
Stage 2: Fine-tuning using attributes triplet loss
Stage 3:Final fine-tuning on the combined dataset
大致的网络网络结构以及流程图,如下所示:
从这里,可以大致看出本文 属性识别的方法:sem-supervised learning 的方法来提升 网络识别能力,之所以识别能力不强,是因为现有的 attribute dataset 都是非常小的,这就导致了 deep neural network 训练不够充分,而手工标注这些数据又非常的困难,耗时费力。比较尴尬。。。
本文首先在全部标注的行人属性识别网络上进行 监督训练,以得到初始的【属性识别网络】,此时的识别网络能力是不足的,即:weak。如何进一步的提升属性识别的能力呢?本文考虑到这么一个现象【同一个人的属性,应该有类似的属性识别结果】,基于该观察,作者利用 triplet loss function,在 instance 的基础上进行属性识别能力的改进:
【三元组的构建】
1. select an anchor sample
2. select another positive sample with the same person ID ;
3. select a negative sample with different person ID.
而这部分网络训练的目标是:使得同一个人的属性输出结果尽可能的一致,而不同 instance 之间的属性输出结果差距尽可能的大,作者称该 triplet loss 为:attribute triplet loss。这部分的目标函数为:
其中,D(.) 代表两个二元属性向量之间的距离函数,所以对应的损失函数可以表达为:
其中 E 表示 triplet 的个数。
但是,作者提到上述损失函数可能存在一些问题:the person ID label is not strong enough to train the dCNN with accurate attributes. Without proper constraints, the above loss function may generate meaningless attribute labels and easily overfit the training dataset U.
于是,作者在上述损失函数的基础上添加了几条规则化项:
公式(4)不仅确保了同一个人拥有相似的属性,并且避免了meaningless attribute。
【在组合的数据集上进行微调】:
用第二部分得到微调后的网络,预测一部分无标签数据,并且将这部分无标签数据 和 原始标注好的数据,一起来微调 属性识别网络。
最后,就是如何利用这些属性进行最终的再识别???
其实就是依赖于 属性之间的差距,借用作者摘要当中的话来说就是:
By directly using the deep attributes with simple Cosine distance, we have obtained surprisingly good accuracy on four person ReID datasets. Experiments also show that a simple distance metric learning modular further boosts our method, making it significantly outperform many recent works.