行人重识别(Person re-identification,ReID)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。ReID一个问题就是数据匮乏,CVPR18之前最大的ReID数据集也就小几千个ID,几万张图片(序列假定只算一张)。因此在ICCV17 GAN造图做ReID挖了第一个坑之后,就有大量GAN的工作涌现,以下介绍几篇较好的paper。
论文[1]是第一篇用GAN做ReID的文章,发表在ICCV17会议。如下图,这篇论文生成的图像质量还不是很高,另外一个问题就是由于图像是随机生成的,也就是说是没有可以标注label可以用。为了解决这个问题,论文提出一个标签平滑的方法,就是把label vector每一个元素的值都取一样,满足加起来为1。生成的图像作为训练数据加入到训练之中,由于当时的baseline还不像现在这么高,所以效果还挺明显的,至少数据量多了过拟合能避免很多。
论文[2]是论文[1]的加强版,来自同一个课题组。前一篇的GAN造图还是随机的,在这一篇中变成了可以控制的生成图。ReID有个问题就是不同的摄像头采集的行人图像可能存在偏差bias,这个bias可能来自光线、角度等各个因素。为了克服这个问题,论文使用GAN将一个摄像头的图片迁移transfer到另外一个摄像头。在GAN方面依然还是比较正常的应用,和前作不同的是这篇论文生成的图是可以控制,也就是说ID是明确的。于是标签平滑也做了改进,公式如下:
其中 是ID的数量。 是手动设置的平滑参数,当 时就是正常的one-hot向量。不过由于是造的图,所以希望label不要这么hard,因此加入了一个平滑参数,实验表明这样做效果不错。最终整体的网络框架如下图:
除了摄像头的bias,ReID还有个问题就是数据集存在bias,这个bias很大一部分原因就是环境(行人图像背景)造成的,如果把背景统一就好了。为了克服这个bias,论文[3]使用GAN把一个数据集的行人迁移到另外一个数据集。为了实现这个迁移,GAN的loss稍微设计了一下,一个是前景的绝对误差loss,一个是正常的判别器loss。判别器loss是用来判断生成的图属于哪个域,前景的loss是为了保证行人前景尽可能不变,换句话说就是把行人图像抠出来。这个前景mask使用PSPnet来得到的,效果如下图。论文的另外一个贡献就是提出了一个MSMT17数据集。
ReID的其中一个难点就是姿态的不同,为了克服这个问题论文[4]使用GAN造出了一系列标准的姿态图片。论文总共提取了8个pose,这个8个pose基本涵盖了各个角度。每一张图片都生成这样标准的8个pose,那么pose不同的问题就解决。最终用这些图片的feature进行一个average pooling得到最终的feature,这个feature融合了各个pose的信息,很好地解决的pose bias问题。无论从生成图还是从实验的结果来看,这个工作都是很不错的。这个工作把single query做成了multi query,所有的图都是GAN生成的。除了生成这些图需要额外的时间开销以外,并没有利用额外的数据信息。当然这个工作也需要一个预训练的pose estimation网络来进行pose提取。
总的来说,GAN造图都是为了从某个角度上解决ReID的困难,缺啥就让GAN来补啥,不得不说GAN还真是一个强大的东西。
[1] Zheng Z, Zheng L, Yang Y. Unlabeled samples generated by gan improve the person re-identification baseline in vitro[J]. arXiv preprint arXiv:1701.07717, 2017.
[2] Zhong Z, Zheng L, Zheng Z, et al. Camera Style Adaptation for Person Re-identification[J]. arXiv preprint arXiv:1711.10295, 2017.
[3] Wei L, Zhang S, Gao W, et al. Person Transfer GAN to Bridge Domain Gap for Person Re-Identification[J]. arXiv preprint arXiv:1711.08565, 2017.
[4] Qian X, Fu Y, Wang W, et al. Pose-Normalized Image Generation for Person Re-identification[J]. arXiv preprint arXiv:1712.02225, 2017.
参考:基于深度学习的行人重识别研究综述