点击我爱计算机视觉标星,更快获取CVML新技术


何为行人重识别?

众所周知,人脸识别技术在今天已得到广泛应用,而行人重识别(ReID)是对其的扩展,它的基本任务流程如下图:

如上图,系统首先对视频画面中的行人进行检测,抽取其特征,进行结构化储存。当执行行人查找任务时,系统会先抽取输入图像中目标人物的特征,然后将其同数据库已保存的图像特征进行对比,搜索目标人物。

行人重识别任务的挑战

1、人物方向变换

2、人物着装与形态变换

3、人物光照变换

4、人物被遮挡

5、人物出镜不完整

6、区分相似外表人物

行人重识别任务架构

方法一

输入图像被送入神经网络提取出一个特征图,通过 Global Pooling 操作后得到一个代表该图片人物信息的特征,特征进一步被送入一个分类器,分类器会在整个训练样本中对人物身份进行分类。该方法的好处是它与分类问题十分相似,缺点是单纯的分类效果往往欠佳。

方法二

因此出现了法二,即在损失函数上的创新,如 Triplet Loss 函数,其目的是增大非同类之间的距离,缩小同类间的距离。然而由于训练样本往往都比较简单(尤其是非同一个人时,因为非同一个人之间的差异普遍很大),因此在大量这些样本上训练是无法让网络迅速收敛的,所以研究人员会通过 Hard Mining 来找出难样本,进而大大提升训练效率。

在实际应用中,人们往往会结合方法一与方法二。在业界通用的数据集 Market1501 上的 Top1 测试结果普遍可以达到 92% 左右。

目前讨论的方法都是基于被识别人体的整体信息来描述,考虑到人存在不同的部位,如果将不同的部位信息也纳入分析能否提升重识别精度?因此出现了 PCB 方法。

与前述方法类似,输入图像首先进入神经网络,然后网络提取出特征图。不同的是,在 PCB 方法中不使用 Global Pooling 抽出特征,而是将人从上到下切分为多块,并对每一块都抽取特征,然后再将其拼合。这其中假设:通过对人物不同部位的特征进行比较,可以完成对整个人物身份的比较。

实验结果表明,结合了全局与局部特征比较以后的 PCB 方法较之前在性能上有明显的提升。

从上图发现,虽然模型性能取得了大幅提升,但 PCB 方法依然存在缺陷。例如当人体姿势较大或者人体检测不全或者存在冗余部分的时候,在这种情况下如果依然按照 PCB 方法来切分人体各部分并进行特征比对,是无法保证每一块的特征是对应的,以下图为例:

对于图 A、B 而言,显然图 A 的切分可以很好表示人体的基本结构,按照该切分进行 pooling 则可以认为能够获取头部等各部位信息。然而对于图B,由于检测的效果不佳因此导致 PCB 法不适用。

为此,人们提出了 AlignedReID 方法,该方法预设,虽然检测图像质量可能不佳,切分画面不能对齐人体,但人体的基本结构是固定的。因此可以让系统从上到下搜索匹配的方式,保证匹配不交叉。判定匹配好坏的标准即是选择特征距离最小的对齐方式。

于是可以采用动态规划的方法,来对每个局部之间的特征两两之间求其距离,构成一个矩阵,然后从矩阵左上角到右下角寻找最短路径,该公式完全可导。

实验结果显示,AlignedReID 方法在性能上较 PCB 有一定提升,之所以性能不明显是因为在Market1501 中大部分人体的检测效果都比较好,姿势也没有特别大的变化。

对于 AlignedReID 任务而言,其实也有一定局限性,因为在出现人的图像中,经常有可能出现人物被部分遮挡或是因为摄像头角度而没有办法收集到全部身体信息的情况。如果在这种情况下强行使用前述方法,则会将很多不存在的特征信息加入对比,造成严重不对齐,模型性能大幅下降,因此进一步出现了 Rartial ReID 方法。

Partial ReID 方法是 PCB 方法的扩展。根据 PCB 方法,首先系统会对人体进行切分,对每一块抽出一个特征,然后为了实现 Partial ReID,现多保留一项信息“是否可见”来作为补充。具体而言,如下图,人体被分为 3 部分,训练网络会根据这三个部分输出三个特征,分别代表头肩、身体、腿部;同时,系统还会输出三个可见度分数,分别对应身体三部分是否可见。

在训练方法设计中,考虑到对人体进行切分获得身体部分特征的过程其实已经人为的产生了有关对应身体部位可见度的监督信息(即可见是怎样,不可见是怎样),因此当只有部分身体的图像被输入网络,得到特征图以后,可以对特征图上的每个点都进行分类,以判断该点的特征具体应该属于身体的哪个部分。也就是上图中的概率图。

所以总结而言,可以得到图像中每个点的特征以及该点属于身体哪个部分这两个信息。通过对特定身体部分的所有点的可见信息求和,就能够得到该身体部分整体的可见度分数,也即是图中最右边显示的三个局部特征分别对应的三个可见度分数。

具体到训练分别有分类与 metric learning 的两种损失。分类损失用于可见部分的分类,而metric learning 损失(如上图的 triplet loss)用于计算两图中共同可见部分的距离。图中表格显示了各种方法在面对画面中身体从半身到全身的条件下,性能的变化。可以发现,PCB 方法虽然在人体可见度 1.0 时 R-1 精度可达 93.4%,但面对半身情况其性能直接掉下 1%;而 VPM 方法虽然在人体可见度为 1.0 时 R-1 精度稍逊于 PCB,但它可以很好应对半身情况。

行人重识别任务中的行人检测

从前文介绍可以了解到,行人重识别任务性能的好坏极大程度上受制于其前一步工作——行人检测的影响。那么为了提升识别性能,除了研究识别本身以外,也需要研究对重识别足够友好的行人检测方法。

关于这个问题,人们首先需要了解当前训练数据集是如何对样本进行标注的。行人数据标注存在两个过程,画面中行人身份的分类以及边界框位置的确定。行人身份的分类十分简单,真的问题在于标注员在标注有关行人的边界框的时候,没有一个明确的可量化标准,即该过程完全依靠人类的主观判断。可以想象,由此类数据产生的边界框不一定对行人重识别任务是最友好的。

为此旷视提出了一种更加客观的、对行人重识别友好的边界框标注方法,它将行人检测与行人重识别结合到了一个端到端框架中。这样做的原因是为了让检测器在重识别的监督下进行优化,以便给出更好的检测框。

具体而言研究人员开发了一个可微的 ROI 变换层,它能够通过计算从原图坐标到目标坐标的仿射变换来将原图检测框图像裁剪出来。裁剪后的图像被送入一个重识别模型,可以计算相应的  triplet loss 或 classification loss。通过梯度回传,实现检测框在重识别网络监督下进行的检测修正。

上图是可视化的结果,可以看到在(a)、(b)中,最左边的图像是人为标注的结果,中间是 baseline,最右是经过定位修正后的结果。以(a)中下方三图为例,可以发现,在 groun truth 与 baseline 中都存在一个问题,即都包含了一个不相关的人物。而能够明确评判目标人物身份的指标——红色书包却没有出现在画面中,而使用了旷视的方法以后,检测框进行了少许偏移,且包含了红色书包,排除了不必要的背景信息。在该方法的帮助下,实际行人搜索应用的性能取得了很大提升,见上图中(c)。

跨域行人重识别问题

在深度学习模型训练与应用中人们经常会遇到模型泛化性能的问题,行人重识别任务同样如此,实验中往往发现,在一个数据集中训练好的模型经常可能在另一个数据集上完全不可用,因此跨域 ReID 也成为了近年来研究社区非常关心的问题,即在一个数据集上训练得到的模型,是否放之四海皆准。

虽然业内就此提出了一些试图解决该问题(如基于半监督学习、GAN 等方法),但性能涨点也不太理想,因为它们都会涉及到使用测试域中的数据来帮助训练。较为本质的方法依然是提升训练集的数据与种类。当前学术研究涉及到的数据集普遍偏小,因此容易使模型出现过拟合等问题,这种模型是无法应用于实践的,所以需要更多的从真实世界和场景中收集相关数据,以保证模型在学习过程中能够接触到尽可能普遍的样本,从而也能够更好帮助ReID领域进一步发展。

Beyond ReID

Drawing for ReID

研发该项目是为了补充城市安全场景下通用ReID流程的不足。一般情况下,用于搜索该类人群的系统有个前提:即已经锁定、并获取了其真实图像。凭借这个信息,系统可以在数据库中比对搜索其它出现该人的场景,找出其行进路线或通过具有清晰正脸的图像来识别其身份。

但当面对只有目击证人口头描述信息的情况下,普通的ReID搜索便失去了效用。因此旷视开发了一个绘图搜索该类人群的系统,进一步,系统可以根据该虚拟形象在数据库进行相似人员搜索,进行快速锁定。

Single Object Tracking

该项目用于拥挤场景下的行人跟踪。在 ReID 的实际应用场景里经常会出现画面中人物拥挤的情况,目标人物不以全身、半身,而是以一些更小的特征如戴帽子、背包出现,面对这种情况,旷视研究院开发了通过单目标跟踪的手段来锁定目标人群的技术。

  

即只要将目标的一张模板输入系统,系统便可以根据该目标在数据库中进行、搜索、跟踪。

以上是我的分享,谢谢大家。

视频回顾

张弛毕业于清华大学计算机系,后在哥伦比亚大学取得博士学位,IPhO 金牌得主。博士毕业后进入 Google 工作,2015 年加入旷视担任 Video 组负责人。现在负责视频结构化和智慧交通领域的研究,包括行人与车辆的检测、跟踪、重识别,3D 定位,行为动作分析等方向。


行人相关技术交流群

关注最前沿的行人检测、重识别(ReID)、步态识别相关技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

(请务必注明:行人)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

旷视研究院张弛:行人重识别及其应用相关推荐

  1. 旷视研究院 算法岗 人脸识别方向 面经

    旷视研究院 算法岗 人脸识别方向 电话面 2020/6/19 16:00-17:00 面试官是做活体检测的 1.介绍项目 项目是做人脸识别相关的,也是小论文,问了些测试指标和公开数据集的一些指标,做这 ...

  2. ICCV 2019 | 旷视研究院提出行人搜索当前最佳新方法

    本文中旷视研究院提出了一个基于行人重识别的定位修正框架,它能够修正行人检测的结果,使其更加有利于行人搜索任务.实验结果显示,该方法性能优于现有最领先方法. 论文名称:Re-ID Driven Loca ...

  3. CVPR 2020 | 旷视研究院提出新方法,优化解决遮挡行人重识别问题

    IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14- ...

  4. CVPR 2019 | 旷视研究院提出Re-ID新方法VPM,优化局部成像下行人再识别

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

  5. CVPR 2020 | 旷视新方法优化解决遮挡行人重识别

    为了获得遮挡ReID更加鲁棒的对齐能力,本文提出了一种新的框架,来学习具有判别力特征和人体拓扑信息的高阶关系. 论文名称:High-Order Information Matters: Learnin ...

  6. ICCV 2019 | 旷视研究院提出VANet:具备视角感知力的车辆重识别网络

    本文介绍旷视研究院提出具备视角感知力的车辆重识别网络 VANet,它可以克服因被拍摄车辆的视角变化过于巨大所造成的性能严重削弱的问题. 论文名称:Vehicle Re-identification w ...

  7. CVPR 2020 | 旷视研究院提出数据不确定性算法 DUL,优化人脸识别性能

    IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 大会官方论文结果公布 ...

  8. CVPR 2020 | 旷视研究院探究优化场景文字识别的「词汇依赖」问题

    IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 大会官方论文结果公布 ...

  9. 《长安十二时辰》中的跨域行人重识别问题

    点击我爱计算机视觉标星,更快获取CVML新技术 望楼武侯是怎么练成的! 天宝二年,吐蕃对大唐全面停止互市,并挑唆南诏叛唐,一时间局势骤然紧张起来.自古攘外必先安内,为了防止贼人趁机作乱,朝廷成立靖安司 ...

最新文章

  1. Leetcode (396 旋转函数)
  2. JavaScript 实现数组的foreach
  3. Xcode全局替换内容,一键Replace
  4. ORACLE修改表空间方法
  5. [转载] java注释
  6. 华为linux配置ip地址命令是什么,华为S5700基础配置命令
  7. 如何消除Windows 7中的搜索记录
  8. 如何用自己的笔记本电脑使用学校机房的千兆校园网
  9. Karabiner Elements使用技巧分享,帮您简单修改使用键位
  10. python3 学习日志 Microsoft Office 编程
  11. 一些成功又不失趣味的网络营销案例
  12. i78700和i78700k区别 i7 8700和i7 8700k 参数对比差多少
  13. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯
  14. 对一个整形数组进行顺序排列
  15. 学会Redis缓存中间件,这一篇就够了
  16. c语言编程一个数的质子求出来,量子力学第一章课外练习题
  17. 防火墙添加ip白名单_如何给防火墙加白名单 防火墙添加ip白名单
  18. 32位系统装8g内存条?能用吗
  19. Java仿腾讯视频流媒体点播网站开发实战
  20. 下一轮人工智能泡沫,或将由消费机器人引发

热门文章

  1. Hibernate框架 简述
  2. N皇后问题——通俗易懂地讲解(C++)
  3. Oracle PL/SQL入门
  4. mysql 5.6 安装 中文_ubuntu 下mysql 5.6安装、删除和配置中文乱码问题
  5. 保利管道微服务1_.netcore 3.1高性能微服务架构:webapi规范
  6. android将项目添加到github,将github库作为依赖添加到Android-Studio项目中
  7. linux cat时间段,linux – cat / dev / urandom的输出是多么临时
  8. 中表名字必须大写吗_pi network改名字的重要性—非常之重要!!
  9. win10计算机无法复制文件,Win10系统下移动、复制、删除文件需要管理员权限的解决方法...
  10. 优麒麟 使用samba的windows打印机_优麒麟 19.10 将于本月结束生命周期