人体姿势识别,Convolutional pose machines文献阅读笔记。
开源实现
https://github.com/shihenw/convolutional-pose-machines-release(caffe版本)
https://github.com/psycharo/cpm (tensorflow版本,但是只有用pre-trained model做predict,没有training)
论文原文下载地址:https://www.researchgate.net/publication/301880946_Convolutional_Pose_Machines
论文阅读笔记:
思路:通过关键点的连线判断四肢的方向和位置(比如,手肘,肩膀,手腕,膝盖,脚踝,臀部等14个关键点)。(但是我觉得关键点的难度应该是在人体的姿势变化大,关键点不清晰和被遮挡等问题上)
摘要:姿势识别即关键点定位技术, a sequential architecture(序列化结构。把一个网络分成几个序列化的模块)组成卷积的网络,在特征图上进行一系列的操作。解决组合序列化的模块,一旦网络过长,可能会出现梯度消失的现象,可能会杀死前面的序列的问题。将训练结果在多个数据库上进行评估。
方法:
1. 序列化网络:

详见核心和特色:sequential网络架构。
2.Keypoint Localization
第一个Stage:14个特征图,就对应14个关键点,特征图预测每个点在图像中每一个部位的概率。
3.Sequential prediction:
感受野大小9*9,26*26,60*60..........,400*400(经过卷积之后,能看到的区域越来越大,可以更好地得到上下文信息,能看到更大的感受野,就有更高的准确率)分多个stage的好处就在于加卷积的时候,感受野越来越大。

纠错:关键点之间是互相影响的,要分辨出不同的关键点,需要更大的感受野通过其他关键点信息判断关键点。
如何得到更大的感受野:
1)加更多的卷积层,网络越深,最后一层卷积层看到的越向前,获得的感受野更大。
2)增大kernel size。
4.关于梯度下降的问题:
卷积层多了,就会出现梯度消失的问题。

Intermediate Supervision方法:
红色是正常传,epoch是每一次迭代,传到Stage2梯度就无法再变化了。
我理解的Intermediate Supervision:每一个阶段的Stage都已经有一个结果了,得出每个Stage的Loss,Loss1,Loss2.Loss3,每一层都有一次监督,每一层都能有参数的更新。
5.训练:
1.Loss Function:

Grand Truth:一个点的坐标与标准的欧氏距离。
在每一个关键点的真实位置上,放置一个高斯响应。标定后生成label数据。
2.数据拓展:
为了丰富训练样本,对原始图片进行随机旋转缩放镜像。
论文核心思想和特色:
一.Sequential网络的架构:

1. 在每一个尺度下,计算各个部件的响应图
2. 对于每个部件,累加所有尺度的响应图,得到总响应图
3. 在每个部件的总响应图上,找出相应最大的点,为该部件位置
六个Stage,
第一个Stage:输入图像,经过卷积得到46*46*15(14+1,14为关键点,1为背景)的特征图。
第二个Stage:输入图像,经过卷积46*46*32(纹理特征),之后综合前一个Stage的结果进行连接。得到46*46*48(35+15+1(中心约束))之后再卷积得到,46*46*15.
第三个Stage之后:直接拿到第二个Stage的中间结果,卷积成46*46*128.分成四个46*46*32和前一个阶段性预测结果进行卷积。
Center Map:在人的周围加上一个高斯响应。Stage2之后都会有一个Center map的聚拢。提前生成的高斯函数模板,用来把响应归拢到图像中心。
二:.用各部件响应图来表达各部件之间的空间约束。
响应图和特征图一起作为数据在网络中传递。
三:中继监督:


人体姿势识别,Convolutional pose machines文献阅读笔记。的更多相关文章
- Convolutional Pose Machines(理解)
0 - 背景 人体姿态识别存在遮挡以及关键点不清晰等主要挑战,然而,人体的关键点之间由于人体结构而具有相互关系,利用容易识别的关键点来指导难以识别关键点的检测,是提高关键点检测的一个思路.本文通过提出 ...
- Convolutional Pose Machines
Convolutional Pose Machines 2018-12-10 18:17:20 Paper:https://www.cv-foundation.org/openaccess/conte ...
- 文献阅读笔记——group sparsity and geometry constrained dictionary
周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...
- Learning local feature descriptors with triplets and shallow convolutional neural networks 论文阅读笔记
题目翻译:学习 local feature descriptors 使用 triplets 还有浅的卷积神经网络.读罢此文,只觉收获满满,同时另外印象最深的也是一个浅(文章中会提及)字. 1 Cont ...
- 从DeepNet到HRNet,这有一份深度学习“人体姿势估计”全指南
从DeepNet到HRNet,这有一份深度学习"人体姿势估计"全指南 几十年来,人体姿态估计(Human Pose estimation)在计算机视觉界备受关注.它是理解图像和视频 ...
- 论文阅读笔记(十六)【AAAI2018】:Region-Based Quality Estimation Network for Large-Scale Person Re-Identification
Introduction (1)Motivation: 当前的行人重识别方法都只能在标准的数据集上取得好的效果,但当行人被遮挡或者肢体移动时,往往效果不佳. (2)Contribution: ① 提出 ...
- 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍
你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固定姿势抓拍功能可以帮助你:选择一个你想要的姿势模板,当你摆出同款姿势时,软件会进 ...
- Kinect 开发 —— 姿势识别
姿势和手势通常会混淆,但是他们是两个不同的概念.当一个人摆一个姿势时,他会保持身体的位置和样子一段时间.但是手势包含有动作,例如用户通过手势在触摸屏上,放大图片等操作. 通常,游戏者很容易模仿指定姿势 ...
- 人体行为识别(骨架提取),搭建openpose环境,VS2019(python3.7)+openpose
这几天开始接触人体行为识别,经过多方对比后,选择了现在最热的人体骨架提取开源库,openpose. 下面就不多说了,直接开始openpose在win10下的配置: 需求如下:1. VS2019 ...
随机推荐
- vue的一些基本知识
配置webpack及vue脚手架工具: vue-cli 2 npm install webpack webpack-cli -g npm install vue-cli -g 搭建脚手架 vue ...
- vuex学习总结
vuex 学习 mapState,mapGetters 一般也写在 computed 中 , mapActions 一般写在 methods中.
- Redis单机配置多实例,实现主从同步
版权声明:本文为博主原创文章,欢迎转载,转载请保留或注明出处 本文转自:http://www.cnblogs.com/lgeng/p/6623336.html 一,单机多实例:Redis官网: htt ...
- 前端cookie操作用到的一些小总结
前后端完全分离的是目前web开发的大趋势,包括现下流行的前端框架的应用vue,angular,在不同页面跳转时,前端需要对用户登录状态进行判断,拿到用户的id,除了Ajax从服务器端获取数据外,对co ...
- Shell命令-文件及目录操作之ls、cd
文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...
- Feature Pyramid Networks for Object Detection比较FPN、UNet、Conv-Deconv
https://vitalab.github.io/deep-learning/2017/04/04/feature-pyramid-network.html Feature Pyramid Netw ...
- Nginx ServerName指令
L:47
- python常用的基本操作
打开cmd,pip list 可以查看python安装的所以第三方包
- docker的安装,升级,与删除(最新版)
docker安装在ubuntu上 以前叫做 Docker engine安装现在叫做docker-ce的 第一种安装办法: root下执行,sudo su - root apt-get update - ...
- Redux Counter example
此项目模板是使用Create React App构建的,它提供了一种简单的方法来启动React项目而无需构建配置. 使用Create-React-App构建的项目包括对ES6语法的支持,以及几种非官方 ...