行人Reid的入门基本知识
0. 国际惯例,名词解释。
行人Reid,行人重识别。即在同一或不同摄像头下通过对行人检测框的图像进行feature提取、match等来判断两张图或多张是不是同一个人。既然是判断哪个是真孙悟空,那就得有真孙悟空的照片吧,就是groundtruth,在reid中叫query image。那些待验真身的图片叫做gallery image。通俗的来完了,还是得要官方的解释下:
gallery set
–—参考图像集,即公认的标准行人库,测试用;
query set —
– 待查询图像集,测试用
很拗口,推荐不看。
1.数据集
炼丹嘛,没数据怎么搞。
Market-1501、CUHK03、DukeMTMC-reID,MSMT17
是SOTA衡量Re-ID技术的比较主流的数据集。大致介绍下几大数据集:
1.1 Market-1501
基本可以说是最早,也是大家paper用的最多的数据集了。
官方是这么说的:
- 该数据集在清华大学校园中采集,图像来自6个不同的摄像头,包含5个高分辨率(1280x1080 HD,fps: 25)和1个低分辨率(720x576 SD,fps: 25);
- 该数据集有1501个类别,共36036张图片,其中训练集有751个ID:共12936张,测试集有750个ID:共19732张。所以在训练集中,每个ID平均有17.2张训练图片,在测试集中,每个ID平均包含26.3张图片;
- 每个类别的图片最多能被六个摄像头捕捉,最少能被两个摄像头捕捉;
- 在开放环境中,多摄像头组成的捕捉系统使样本包含多种属性、信息和环境背景;
- Market-1501数据集的图像是由检测器自动检测并切割,包含一些检测误差,较为接近真实使用情况。
- ref:http://www.liangzheng.org/Project/project_reid.html
--market1501文件结构
- "bounding_box_train" – 751个ID,12936张图片,训练集;
- "bounding_box_test" – 750个ID,19732张图片,测试集,也是所谓的gallery参考图像集;
- "query" – 750个ID,共3368张图片,即待查询图片。test中750个ID在每个摄像头中随机选择一张图像作为query,因此一个ID的query最多有 6 个,ps:与test中的图不重复,在参考建立自己的数据集时,可以先建好test,然后按需要从test中剪切得到query;
- "gt_query" – bla bla...个人感觉没什么用
- "gt_bbox" – bla bla...个人感觉没什么用
--命名规则
0001_c1s1_001051_00.jpg,其中:
0001
表示ID的编号,C1表示第一个camera1,s1表示第一个视频片段,001051:帧号 ,00表示手工标注的bbox,如果是01则是DPM检测器得到的bbox。
其他不多说,知道太细反而不好,对了,再多说一句,market的train和test有几张脏数据,或者错误标注。大家实际项目用的话需要清洗下,如果是写paper就无所谓了,不过清一下或者可以给你的paper涨点哈。自己清过一次,有需要的话大家私我,我发一份,涉及版权问题,就不放链接了 = =*。
1.2 DukeMTMC-reID——https://github.com/layumi/DukeMTMC-reID_evaluation
感觉没什么新的东西,就是比我们清华大学的多了一些相机覆盖,体量大了一些。
--目录结构
基本跟market相似。
- “bounding_box_test” – 测试集,包含702人,共17,661张图像(随机采样,702 ID + 408 distractor ID)
- “bounding_box_train” – 训练集,包含702人,共16,522张图像(随机采样)
- “query” – 为测试集中的702人在每个摄像头中随机选择一张图像作为query,共2,228张图像
--命名规则
0001_c2_f0046182.jpg ,相比于market少了s号而已,大同小异。
1.3 CUHK03——https://drive.google.com/file/d/0B7TOZKXmIjU3OUhfd3BPaVRHZVE/view
港中文的数据集。大同小异
1.4 MSMT17
大同小异。
3. 评估指标
重点来了,一个做deep learning的博客,不写点数学总觉得不太专业。我当时看这部分的时候,连翻了好几个这个领域大佬的博客,看完还是有点ran。
先来说下几个reid中比较常见的数据指标:mAP,rank1.
就通俗解释下这两个,详细数学计算大家参考下类似的这种:https://blog.****.net/u013698770/article/details/60776102
先说rank1. 就是我从一大堆孙悟空照片里,第一张就match到真悟空的概率。同理rank2,就是第二张拿对的概率。
那么mAP就是第几次x对应概率加权求平均的一个精度值。用来表示mean average precision。
这个图我觉得做的很好,share给大家:
4. 结语
最后关于reid多说两句,现阶段reid工业界面刚开始落地,还有很多的实际问题需要解决,比如遮挡问题,跨域问题,衣服特征对结果精度的影响过大的问题,希望后续入坑这个课题的同学多做一些针对实际场景的work,reid还有很长的路要走。共勉。