对于行人重识别而言,可以设计的任务是:
Multi-task learning
1.Identification + Verification Loss
Verification Loss :Are they the same person?
给网络2个输入,问网络说他们是不是同一个人?如果是同一个人的话,把特征之间的距离减小。否则,把特征之间的距离增大。
Identification Loss: Who is he?
就是预测说,她是谁?
可以理解成多类分类的任务,主要解决的是她是谁的问题。
2. Triplet Loss
3个3个输入,同一类的距离近些,把不是同一类的距离拉大一些,于是就有了Triplet loss。该loss更接近一个retrivel或者一个排序的过程,结果相对来说会好一些。
paper:In Defense of the Triplet Loss for Person Re-identification.
github: https://github.com/VisualComputingInstitute/triplet-reid
3. Attribute Recognition
性别,戴帽子,背包,让网络预测辅助任务,让最后的特征更加具有语义信息,辅助最后的检索。
训练的时候需要attribute信息作为groudtruth,来bp,但测试的时候,就不需要attribute信息,起一个pull特征的作用。这些属性可以辅助网络学习更好的特征。
Part matching
行人是结构化的,part matching,就是说可以match它的一些part,做行人重识别的提特征的过程,那么Part matching有哪些方法呢?
1.Horizontal Split/Neighbor Comparison
切水平条做匹配
法一:把人切3块,过3个cnn,把fc的特征加到一起,作为最后的特征。(暴力)
法二:把人切的更精细些
切正方形的局部区域做匹配
paper: An improved deep learning architecture for person re-identification
Github:
https://github.com/ptran516/idla-person-reid
语言:C++
https://github.com/Ning-Ding/Implementation-CVPR2015-CNN-for-ReID
语言:python2 + tf
2.Part Detection/ Alignment
如果进来的图片不太好,没有alignment呢?这样匹配很难。
https://github.com/erichuang0771/PoseBox-Reid
语言:python caffe
如果有的图没有align好的话,水平线条匹配和正方形匹配都是很难匹配的。
3. Detection + reID
https://github.com/ShuangLI59/person_search
python2 + caffe
4. Attention Matching
paper: Gated siamese convolutional neural network architecture for human re-identification.
本paper效率比较慢。。。
Data augmentation
其实,在行人重识别中,每个人的照片是非常少的,每个人的平均照片
Market-1501:15
CUHK03:10
Duke:23
生成多个样本来辅助学到更好的网络。
1.Multi-dataset Fusion
paper: Learning deep feature representations with domain guided dropout for person re-identification.
Github:https://github.com/Cysu/dgd_person_reid
python + caffe
可以学到共享的特征和特定于某个dataset的特征。
2.GAN
paper: Unlabeled samples generated by gan improve the person re-identification baseline in vitro.
https://github.com/layumi/Person-reID_GAN
语言:matlab
用生成的方法生成数据,补充原来的数据集。
可以用原始数据训练一个GAN的网络,产生数据。产生的数据是没有label的。然后,将生成数据与原数据进行混合,进行semi-supervised learning,训练一个半监督的网络。
推荐一篇paper:
Generative model:
Deep captioning with multimodal recurrent neural networks.
基于视频的person-reid
1.Mars: A video benchmark for large-scale person re-identification
2.Learning features by watching objects move.
推荐:
https://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247488888&idx=3&sn=408fc75228d24503b4ebbd5535d53478&chksm=ec57a2ffdb202be99a2cac4cd4a1336a2516f963d3b4d61999a508dc0c42cc523ad048cd7916&mpshare=1&scene=1&srcid=1220YhdmvFYgMG4yFH58F2A4#rd