Person Re-Identification(ReID行人重识别)

在这里插入图片描述

ReID?
ReID是图像检索的子任务,它主要的目的是:利用计算机视觉技术对特定行人进行跨视域匹配和检索。所谓跨视域即是图片来自于不同的摄像头,这样可以用于智能视频监控(如无人超市)、刑侦(追捕嫌疑人)、交管(追踪车辆等)等等应用场景。如上图,需要检索到同一个人(查询图像query)在各个摄像头下图片集(候选行人库gallery)的相关图片。

在这里插入图片描述

困难点
困难点主要在于ReID任务的跨视域特性有:

  • 摄像头分辨率不同
  • 拍摄角度不一 致
  • 光照条件不同
  • 背景变化大
  • 人体属于非刚性目标,外观会因姿态、遮挡、光照、背景、行人错位等等的干扰,如上图
  • 行人数据集采集标注困难

ReID的实现流程图
时间中需要完成包括行人检测和再识别两部分任务,即下图的person detection和后面的person reID,研究上主要侧重于识别的部分(查询图像query集和候选行人库gallery集都是经过detector裁剪好的行人框)。

识别部分分为feature extraction和similarity measurement,即特征提取和相似度度量。

  • 特征提取:学习在不同摄像头下图片中的行人特征
  • 相似度度量 :比较特征以排序检索
    在这里插入图片描述

依据流程,数据集实际分为了训练集、验证集、Query、Gallery四个部分。即在训练集上进行模型的训练,得到模型后对Query与Gallery中的图片提取特征计算相似度,对于每个Query在Gallery中找出前N个与其相似的图片。

├── Market/
│   ├── bounding_box_test/          /* Files for testing (candidate images pool)19732张
│   ├── bounding_box_train/         /* Files for training,12936张
│   ├── gt_bbox/                    /* Files for multiple query testing,3368张,对应query,在评估时使用
│   ├── gt_query/                   /* We do not use it 
│   ├── query/                      /* Files for testing (query images)3368张查询,会到test中寻找

数据集实例如上,值得注意的是训练集的人和测试集的人没有重复的。比如market里面有751名个人用于训练,另外有750个人用于测试。

如果Gallery中没有Query怎么办?
这种情况实际中很可能会存在,但或许ReID的目的不是为了精确的找到Query,而是返回一个候选列表帮助人工筛选,这样不存在也可能很快发现。

single shot 和muti shot
single shot是指gallery中每个人的图像为一张(N=1),而muti shot是指gallery中每个人的图像为N>1张图像,同样的Rank-1下,一般N越大,得到的识别率越高。

query = qf.view(-1,1)
# print(query.shape)
score = torch.mm(gf,query) # Cosine Distance
score = score.squeeze(1).cpu()
score = score.numpy()
# predict index
index = np.argsort(score)  #from small to large
index = index[::-1]

主要流行的解决方法
主要有三种,基于表征,加入局部信息,引入生成对抗。

  • 基于预测。即两
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值