行人重识别 ReID
前言
ReID介绍
ReID 全称 Re-identification,也就是重识别的意思。近几年该领域最火的一个方向是行人重识别(Person ReID),不像人脸识别只使用面部特征,行人重识别是利用一个人的整体特征来识别一个人,其经常被作为人脸识别的一个补充。
下图是行人重识别任务的简单示意图,也就是输入一个人的全身像,算法可以在大量的行人中找出该人的所有图像。该任务跟人脸识别任务基本相同,都属于度量学习(metric learning)的范畴。
当然,ReID 不仅限于行人,也可以检索车辆等其他物体。
行人重识别任务的最理想结果是和人脸识别任务一样的,如果有人脸识别基础,那么ReID理解起来将会非常简单。本文将记录本人做行人重识别任务从输入到输出的完整(训练和推理)过程。
一、行人重识别输入是什么?
和人脸识别一样分为两个任务。先是在图像中用行人检测模型检测出行人,然后将检测出的行人扣出,输入到reid模型中提取行人的特征,通过特征的距离比对,设置一个合理的阈值,判断是否是同一个人。
二、行人重识别特征提取过程
与人脸识别非常类似:
行人重识别任务相对于人脸识别任务的困难,可想而知难度非常大。
选择一个较大的backbone如:ResNet50-IBN(ibn module 在reid中很常用)
设计一个Heads接上loss函数
根据loss迭代,更新backbone权重使其获得最优的特征提取能力。
三 loss函数的设计
常用loss:
Triplet loss
Center loss
cross-entropy loss
人脸loss(arcface loss,cosface loss etc)
四 推理阶段
和人脸一样推理阶段要去掉最后的全连接层,然后做特征之间的距离比对。