行人重识别-姿态检测

前言

从抽取图像特征进行分类, 行人重识别的方法可以分为基于全局特征 (Global feature) 和基于局部特征 (Local feature) 的方法. 全局特征比较简单,是指让网络对整幅图像提取一个特征, 这个特征不考虑一些局部信息. 正常的卷积网络提取的都是全局特征。
然而, 随着行人数据集越来越复杂, 仅仅使用全局特征并不能达到性能要求, 因此提取更加复杂的局部特征成为一个研究热点.
局部特征是指让手动或者自动地让网络去关注关键的局部区域, 然后提取这些区域的局部特征. 常用的提取局部特征的思路主要有图像切块、利用骨架关键点定位以及行人前景分割等等.

全局特征

每一张行人图片的全局信息进行一个特征抽取,这个全局特征没有任何的空间信息
通过简单的卷积神经网络,得到关于图片的一个特征,这种特征被称为全局特征,但这种方法存在某些缺陷,比如噪声区域会对全局特征造成极大的干扰,姿态的不对齐也会使得全局特征无法匹配。

基于局部特征的检测方法

局部特征是指对图像中的某一个区域进行特征提取,最后将多个局部特征融合起来作为最终特征。

局部特征-姿态检测

利用人体姿态关键点进行局部特征对齐是一种常见的方法。现在的一些论文大都是利用一些先验知识(预处理的人体姿态和骨架关键点模型)将行人进行对齐,然后对局部特征进行检测再判断的。
通常一个行人会定义14个姿态点(pose/keypoint),两个相邻的姿态点相连形成骨架(skeleton)。
常用的姿态点估计模型包括:Hourglass、OpenPose、CPM、AlphaPose。

相关算法

1.PIE

Pose Invariant Embedding for Deep Person Re-identification
上面提到的这篇文章是姿态检测早期的文章,主要工作大致如下:
采用CPM进行关键点的采集。CPM是一个顺序卷积体系结构,可以检测到14个身体关节,即头部、颈部,左肩和右肩,左肘和右肘,左肘和右肘右手腕,左右臀部,左右膝盖,还有左右脚踝,如上图中第一列到第二列。
将图片分成几个part,并进行仿射变换对齐,得到矩形区域,这样可以解决不同图片中相同部位大小姿势不同的问题,如上图中第三列,第四列:
融合原图和仿射图特征,并采用ID损失训练网络:
如上图,原始图像和poseBox先经过两个权重不共享的卷积神经网络,分别得到各自的特征,然后再结合一个14维的姿势置信度得分一起输入PIE网络,融合相应的特征,对应得到的最后三个损失从上到下分别为全局loss,融合loss,局部loss。

2.Spindle Net

Spindle Net: Person Re-identification with Human Body Region GuidedFeature Decomposition and Fusion
这是一篇比较经典的利用姿态点进行行人重识别的论文,如下图所示,首先通过骨架关键点提取的网络提取14哥人体关键点。这些关键点提取7个人体结构的ROI,对应头、上半身、下半身、左臂、右臂、左腿、右腿。
然后将这7个ROI区域和原始图片进入同一个CNN网络提取特征,原始图片经过完整的CNN网络得到一个全局特征,三个大区域经过FEN-C2和FEN-C3子网络得到三个局部特征,四个四肢区域经过FEN-C3子网络得到四个局部特征。之后这8个特征按照图示方式在不同尺度进行连接,最后得到一个融合全局特征和多个尺度局部特征的行人重识别的特征。

3.PDC

Pose-driven Deep Convolutional Model for Person Re-identification
和上面的栗子不同,PDC的作者在对行人进行提取关键点时,虽然也是提取了14个关键点,却将行人划分为了6个part并采用改进的PTN网络来对仿射变换的参数进行学习,并将它们自动放在图中的某些位置,这里允许不同的部位之间存在空隙,
在得到局部图像之后就可以对原图和姿态图分别进行特征抽取,浅层共享网络,深层不共享的方式,训练网络,最后得到类似上面的效果,全局loss、局部loss以及融合loss。

4.GLAD

GLAD: Global-Local-Alignment Descriptor for Pedestrian Retrieval
GLAD是将人体划分为头、上身、下半身三个part然后通过一个可以共享权重的网络分别计算loss,最后将得到的特征进行了拼接,得到:

5.PABP

Part-Aligned Bilinear Representations for Person Re-identification
从像素级别讨论问题,利用ReID网络提取feature map A,利用openpose提取feature map P,A和P每个对应像素位置的向量进行外积,并向量化。

总结

  • 利用一个姿态估计模型得到行人的(14个)关键姿态点
  • 根据姿态点得到具有语义信息的part区域
  • 对于每个part区域提取局部特征
  • 联合局部特征和全局特征往往能够得到更好的结果

行人重识别-姿态检测相关推荐

  1. ReID行人重识别(训练+检测,附代码),可做图像检索,陌生人检索等项目

    利用ReID和目标检测对视频进行检测,可以对视频中的人进行重识别,支持更换数据集可以做车辆重识别等.可应用于图像.视频检索,行人跟踪等 在以前学习ReID的时候,是跟着下面视频学习的,该论文和代码也可 ...

  2. 行人重识别(1)——行人检测综述

    !转载请注明原文地址!--东方旅行者 更多行人重识别文章移步我的专栏:行人重识别专栏 本文目录 一.行人检测常用方法 1.基于运动检测的方法 1) 思路 2) 存在问题 3) 原因 2.基于传统机器学 ...

  3. CVPR 2020 | 腾讯优图17篇论文入选,含类比学习、人脸识别、物体检测、行人重识别等领域...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文来源:腾讯优图 全球计算机视觉顶级会议CVPR2020  (IEEE Conf ...

  4. 行人再识别(行人重识别)【包含与行人检测的对比】

    最近,在网上搜索关于"行人重识别"及"行人再识别"等关键词,发现几乎都是关于行人检测的内容.对于"行人重(再)识别"技术能找到的资料很少,这 ...

  5. 代码开源!!行人检测与行人重识别结合 person search

    0 前言 最近在做自己课题相关的小项目,行人检测与行人重识别进行结合进行场景图片进行特定行人的检索由于也比较着急,先利用现有的模型搭建了简单的demo,简单效果展示如下,速度大概在20FPS: 先是给 ...

  6. 关注度越来越高的行人重识别,有哪些热点?

    来源 |  HyperAI超神经 责编 | Carol 封图 | CSDN付费下载自视觉中国 在茫茫人海中,你能不能一眼就找到想找的那个人? 如今,这个任务对于计算机来说,可能是小菜一碟了.而这得益于 ...

  7. opengl深度缓冲获得的深度图精度太低_深度学习行人重识别ReID最新综述与展望...

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 arXiv 新出论文 Deep Learning for Person Re-identific ...

  8. 囊括三大视觉顶会,行人重识别新基准方法AGW!已被TPAMI录用

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要13分钟 Follow小博主,每天更新前沿干货 来源:知乎 作者:叶茫 转载自:新智元 [导读]本文全面调研了近年来深度学习在Re-ID领域的 ...

  9. 中山大学提出新型行人重识别方法和史上最大最新评测基准

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 导读:行人重识别,是利用 CV 技术判断图像或视频序列中是否存在特定行人的技术.常规的行人重识 ...

最新文章

  1. True Zero Downtime HAProxy Reloads--转载
  2. 彻底弄懂dalvik字节码【一】
  3. lombok null字段不显示 继承_Lombok 要知道的 8 个点
  4. 文本光标,高亮选中一些出来
  5. java 文件上传至oracle blob字段 实现
  6. 开发指南专题二:JEECG微云快速开发平台JEECG框架初探
  7. vscode svn插件使用_我最终还是选择了VS code!
  8. android双指滑动方向,OpenGL ES2.0实现手指滑动平移、双指缩放Android
  9. Android的jsoup方法,在Android中使用Jsoup
  10. 缓存-问题:缓存穿透 缓存雪崩 缓存击穿
  11. 利用H5和ChromiumWebBrowser构建应用
  12. 实际测试中,经常发现摄像头断线几分钟
  13. vb查询mysql数据库_怎么在vb程序中查找数据库信息并显示
  14. 学习记录:xmind2testcase测试用例模板
  15. UAT测试后上线出现问题的引起的思考
  16. java初级程序员成长之路
  17. Composition API的优势
  18. MSDN我告诉你在线hash验证服务
  19. 移植st官方usb-hid程序出现babble detected错误
  20. 微信小程序 家校通 中小学家校联系电子作业系统

热门文章

  1. 【利用Nginx实现白名单功能】
  2. OpenShift 4 之让Route只运行在集群中Infra节点
  3. 带疑问的歌词有哪些_抖音你在怀疑你在叹息什么歌 《万拒》歌词完整版介绍...
  4. 计算机绘图R25,(学生)计算机绘图课程设计.doc
  5. 既生synchronized,何生volatile
  6. c++ 用 eigen与opencv计算两个向量的夹角,两个向量之间的夹角,向量的朝向
  7. 以太坊系列---ipc实现方式---管道通信库npipe
  8. Visual Studio 2022重命名解决方案和项目
  9. MATLAB中安装Yalmip及Cplex
  10. 无人驾驶与室内移动机器人对比思考