• openpose论文介绍(Introduction) This paper summary will give you a good understanding of the high-level concept of OpenPose. Since we will be focusing on their creative pipeline and structure, there ...
openpose论文介绍(Introduction)
This paper summary will give you a good understanding of the high-level concept of OpenPose. Since we will be focusing on their creative pipeline and structure, there will be no difficult math or theory included in this summary.本文摘要将使您对OpenPose的高级概念有很好的了解。 由于我们将专注于他们的创作渠道和结构，因此本摘要中不会包含困难的数学或理论。
I would like to start by talking about why I want to share what I learn from this wonderful paper. I have implemented the OpenPose library in my AI Basketball Analysis project. At the time I was building the project, I only knew the basic concept of OpenPose. I spent most of the time working on the code implementation and trying to figure out the best way to combine OpenPose with my original basketball shot detection. 我首先要谈谈为什么要分享我从这篇精彩论文中学到的知识。 我已经在自己的系统中实现了OpenPose库 AI篮球分析项目。 在我构建项目时，我只知道OpenPose的基本概念。 我花了大部分时间在代码实现上，试图找出将OpenPose与我最初的篮球投篮检测相结合的最佳方法。
AI Basketball Analysis. Image by Chonyy. AI篮球分析。 图片来自Chonyy。Now, as you can see in the GIF, the project is almost completed. I have a full grasp of the implementation of OpenPose after building this project. In order to have a better understanding of what I have been dealing with, I think now it’s time for me to take a deeper look at the research paper. 现在，正如您在GIF中看到的那样，该项目即将完成。 构建此项目后，我对OpenPose的实现有了充分的了解。 为了更好地了解我所从事的工作，我认为现在是时候深入研究该研究论文了。
Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”. 图像取自“使用零件相似性字段进行实时多人二维姿势估计”。 总览
(Overview)
In在The proposed method uses a nonparametric representation, which we refer to as Part Affinity Fields (PAFs), to learn to associate body parts with individuals in the image. This bottom-up system achieves high accuracy and realtime performance, regardless of the number of people in the image.所提出的方法使用非参数表示(我们称为部分亲和力字段(PAF))来学习将身体部位与图像中的个体相关联。 无论图像中有多少人，该自下而上的系统都可以实现高精度和实时性能。 为什么很难？
(Why is it difficult?)
Let’s start by talking about what makes estimating the poses of multi-person in an image so difficult. Here are some difficulties listed. 让我们从谈论为什么很难估计图像中的多人姿势开始。 这里列出了一些困难。
Unknown number of people 人数未知
People can appear at any pose or scale人们可以以任何姿势或比例出现People contact and overlapping人们接触和重叠Runtime complexity grows with the number of people运行时复杂度随着人数的增加而增加通用方法(Common Approach)
OpenPose is definitely not the first team facing this challenge. Then how the other teams try to tackle these problems?OpenPose绝对不是面对这一挑战的第一支团队。 那么其他团队如何尝试解决这些问题呢？
Source: https://medium.com/syncedreview/now-you-see-me-now-you-dont-fooling-a-person-detector-aa100715e396 来源： https ： //medium.com/syncedreview/now-you-see-me-now-you-dont-fooling-a-person-detector-aa100715e396A 一种This kind of top-down method sounds really intuitive and simple. However, there are some hidden pitfalls in this approach.这种自上而下的方法听起来非常直观和简单。 但是，这种方法存在一些隐患。
Early commitment: no resource to recovery when person detector fails 早期承诺：当人员检测器发生故障时，没有资源可恢复
Runtime proportional to the number of people运行时间与人数成正比Pose estimation is executed even if the person detector fails即使人检测器发生故障，也会执行姿势估计最初的自下而上的方法(Initial Bottom-Up Approach)
If the top-down method doesn’t sound like the best approach. Then why don’t we try bottom-up?如果自上而下的方法听起来不是最好的方法。 那为什么不尝试自下而上呢？Not surprisingly, OpenPose is not the first team that came up with a bottom-up method. Some other teams have also tried the bottom-up approach. However, they are still facing some problems with it. 毫不奇怪，OpenPose并不是第一个提出自下而上方法的团队。 其他一些团队也尝试了自下而上的方法。 但是，他们仍然面临一些问题。
Required costly global inference at the final parse 在最终解析时需要昂贵的全局推断
Didn’t retain the gains in efficiency没有保留效率方面的收益Taking several minutes per image每个图像花费几分钟OpenPose管道(OpenPose Pipeline)
Overall Pipeline. Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”.总体管道。 图像取自“使用零件相似性字段进行实时多人二维姿势估计”。(a) Take the entire image as the input for a CNN(b) Predict confidence maps for body parts detection(c) Predict PAFs for part association(d) Perform a set of bipartite matching(e) Assemble into a full body pose 信心图(Confidence Map)
Confidence map is the 2D representation of the belief that a particular body part can be located​. A single body part will be represented on a single map. So, the number of maps is the same as the total number of the body parts.信心图是可以确定特定身体部位的信念的2D表示。 单个身体部位将显示在单个地图上。 因此，地图的数量与身体部位的总数相同。
The map on the right is only for detecting the left shoulder. Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”. 右侧的地图仅用于检测左肩。 图像取自“使用零件相似性字段进行实时多人二维姿势估计”。 PAF
(PAF)
Part Affinity Fields (PAFs), a set of 2D vector fields that encode the location and orientation of limbs over the image domain. 零件亲和力字段(PAF)，一组2D矢量场，可对肢体在图像域上的位置和方向进行编码。Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”. 图像取自“使用零件相似性字段进行实时多人二维姿势估计”。 双向匹配
(Bipartite Matching)
Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”.图像取自“使用零件相似性字段进行实时多人二维姿势估计”。When it comes to finding the full body pose of multiple people, determining Z is a K-dimensional matching problem. This problem is NP-Hard and many relaxations exist. In this work, we add two relaxations to the optimization, specialized to our domain. 当要找到多个人的全身姿势时，确定Z是一个K维匹配问题。 这个问题是NP-Hard，存在许多松弛。 在这项工作中，我们对优化进行了两次放宽，专门针对我们的领域。Relaxation 1: Choose a minimal number of edges to obtain a spanning tree skeleton. 放松1：选择最少数量的边缘以获得生成树的骨架。
Relaxation 2: Further decompose the matching problem into a set of bipartite matching subproblems. Determine the matching in adjacent tree nodes independently. 放松二：将匹配问题进一步分解为两部分匹配子问题。 独立确定相邻树节点中的匹配项。
结构体
(Structure)
原始结构(Original Structure)
Image by Chonyy.图片来自Chonyy。The original structure is split into two branches. 原始结构分为两个分支。
Beige branch: predicts the confidence map 米色分支：预测置信度图
Blue branch: predicts the PAF蓝枝：预测PAFBoth branches are organized as an iterative prediction architecture. The predictions from the previous stage are concatenated with the original feature F to produce more refined predictions. 两个分支都组织为迭代预测体系结构。 来自上一阶段的预测与原始特征F串联在一起，以产生更精确的预测。
新结构
(New Structure)
Image taken from “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”.图像取自“使用零件相似性字段进行实时多人二维姿势估计”。The first set of stages predicts PAFs L t , while the last set predicts confidence maps S t . The predictions of each stage and their corresponding image features are concatenated for each subsequent stage. 第一组阶段预测PAF L t，而最后一组阶段预测置信度图S t。 对于每个后续阶段，将每个阶段的预测及其对应的图像特征串联在一起。Comparing to their previous publication, they have made a big breakthrough and came up with a new structure. As you can see from the structure above, the confidence map prediction is runned on top of the most refined PAF predictions. 与以前的出版物相比，他们取得了重大突破并提出了新的结构。 从上面的结构中可以看到，置信度图预测在最精细的PAF预测之上运行。
Why? The reason is actually really simple. 为什么？ 原因实际上非常简单。
A growing number of computer vision and machine learning applications require 2D human pose estimation as an input for their systems. The OpenPose’s team is definitely not the only one doing this research. Then why we always think of OpenPose when it comes to pose estimation and not Alpha-Pose? Here are some of the problems with other libraries. 越来越多的计算机视觉和机器学习应用程序需要2D人体姿势估计作为其系统的输入。 OpenPose的团队绝对不是唯一从事这项研究的人。 那么，为什么在姿势估计而不是Alpha-Pose时总是想到OpenPose？ 这是其他库的一些问题。
Require users to implement most of the pipeline 要求用户实施大部分管道
Users have to construct their won frame reader用户必须构造自己的赢帧阅读器Facial and body keypoint detector are not combined面部和身体关键点检测器未组合AI篮球分析(AI Basketball Analysis)
I have implemented OpenPose in this AI Basketball Analysis project. In the beginning, I only have an idea that I want to analyze the shooting pose of the shooter, but I have no clue how to do it! Luckily, I came across OpenPose, which gives me everything I want.我已经在此AI Basketball Analysis项目中实现了OpenPose 。 刚开始时，我只有一个想法，就是要分析射击者的射击姿势，但是我不知道该怎么做！ 幸运的是，我遇到了OpenPose，它为我提供了我想要的一切。
Image by Chonyy. 图片来自Chonyy。Although the installation process is a little troublesome, the actual code implementation is fairly simple. Their function takes a frame as an input, and output the human coordinate. What’s even better, it could also show the detection overlay on the frame! The simplicity of the code implementation is the main reason why their repo could obatin18.6k+ stars on GitHub. 尽管安装过程有些麻烦，但是实际的代码实现相当简单。 它们的功能以框架为输入，并输出人体坐标。 更好的是，它还可以在框架上显示检测覆盖图！ 代码实现的简单性是最主要的原因，他们的回购可能obatin在GitHub上18.6k +明星。
My project is below, feel free to check it out! 我的项目在下面，随时查看！
翻译自: https://towardsdatascience.com/openpose-research-paper-summary-realtime-multi-person-2d-pose-estimation-3563a4d7e66openpose论文
展开全文
• ## OpenPose论文阅读

千次阅读 2019-06-21 16:52:26
OpenPose论文讲解论文地址：https://arxiv.org/abs/1611.08050摘要背景介绍方法1. 关节点部位检测 论文地址：https://arxiv.org/abs/1611.08050 提出了有效检测图像中人体姿势的方法 摘要 与自顶向下姿态检测...
OpenPose论文讲解论文地址：https://arxiv.org/abs/1611.08050摘要背景介绍方法关节点部位检测与亲和度矢量场关节部位位置预测部位亲和矢量场预测二部图匹配结束
论文地址：https://arxiv.org/abs/1611.08050
提出了有效检测图像中人体姿势的方法
摘要
与自顶向下姿态检测方法不同的是提出了一个自底向上的多人姿态检测方法，检测速度与图片中人数无关：

提出了一种有限检测图像中多人二维姿态的方法
分别检测人体关节部位与部位亲和适量场。
自底向上的解析步骤，人数不会影响检测的速度

背景介绍
姿态估计难点：

图像中人数未知；
人员互动导致位置交叉难区分；
自定向下的方法随着图像中人员数量的增加，检测速度会逐步变慢。

方法

通过同一顺序预测过程的两个分支共同学习出关节部位检测和亲和度矢量场。
抛弃完全图，选择相邻关节位置的二部图匹配。

关节点部位检测与亲和度矢量场

首先将彩色原图输入VGG-16的前十层中得到一张feature map。之后输入到第一次循环当中，分别得到部位检测图S1和亲和矢量场L1。之后的循环当中以前一次的循环结果S和L加上原始的F作为输入，若干循环后得到最终结果S（J张图部位图）和L（C张亲和力矢量图，可以理解为连接图）。
关节部位位置预测
首先，关节位置数据的label图如右侧。
损失函数为L2损失函数。

部位亲和矢量场预测
首先，部位矢量场的label图如右侧。
损失函数为L2损失函数。

二部图匹配
相邻关节点之间计算完全二部图所有边的E（连接趋势）。
计算最优匹配。

结束


展开全文
• openpose论文解读_思维导图.pdf https://blog.csdn.net/Lininggggggg/article/details/106482726

本文的思维导图是简单对openpose论文解读_思维导图
高清版本请见 https://github.com/Lininggggggg/MindMapping_MachineVision/tree/master/Pose-Recognition（求star）


展开全文
• 本文是对19年论文，对OpenPose改进版的论文进行解析。因为改进版官方代码未找到，所以本文单纯从论文层面对模型进行解析。本文只对算法流程，模型构建，Loss构成，公式整理，关键要点等进行整合解析，其他部分可以...
本文是对19年论文，对OpenPose改进版的论文进行解析。因为改进版官方代码未找到，所以本文单纯从论文层面对模型进行解析。本文只对算法流程，模型构建，Loss构成，公式整理，关键要点等进行整合解析，其他部分可以自己祥阅原论文，如贪婪算法的改进，新的脚部数据集等，但不妨碍对OpenPose的整体架构，模型，思想的理解。

17年版本论文地址：https://arxiv.org/abs/1611.08050

19年版本论文地址：https://arxiv.org/abs/1812.08008

OpenPose为姿势估计模型中的经典模型，16年提出第一代及论文之后，19年对OpenPose进行改进，在提高7%精度的同时，还提高了200%的运行速度。OpenPose采用的是自底向上的方式，先预测关键点，在对关键点进行组合成个体（人）。

模型结构图：

模型分为3部分

第一部分为F，为特征提取模块，使用的是vgg

第二部分为蓝色区域Stages L ，称为PAFs（Part Affinity Fields），用于预测躯干，后续是为了对关节点进行分组，组合成人

第三部分为橙色区域Stages S，用于预测关节点

值得注意的是，在16年版本的OpenPose中使用了7*7的卷积核，在当前版本，将7*7的卷积核拆解为3个级联的3*3的卷积，不仅减少了计算量，且保持了感受野，扩大了3倍非线性层，保持了浅层及深层的特征。

算法流程如下：

输入模型，然后预测关节部位位置跟部位之间连接，再通过这两部分，使用贪婪算法，分组组合成个体。

Stage L:

PAFs为预测关节模块，用于关联各个关节，最终组合成人。

首先，作者提到一点，细化这个Stage，可以提高Stage S预测关节点的精准度，反之，则不行，作者举了个例子，我们可以通过躯干，去猜出属于身体哪个部位，也即关节点，但我们没办法从一堆离散的关节点去猜测属于哪一个人的。

PAFs为一个级联网络，可以细分为Tp个stage，每一个stage的输入都为vgg出来的特征F及前一个stage的输出，公式如下：

Stage L的输出为C*h*w，其中C由预测的躯干数目决定，比如我们只预测左右手手臂的两条躯干，那么C就等于4，因为每条躯干都分为x，y两个分量。

为了指导网络训练，Stage L使用L2的损失函数，且为每一个stage都进行损失计算。公式如下：

注意两点，其中一点是为了处理数据集中存在不完全的label，因此为每个输出位置加了W权重，W为二进制掩码，当label缺失时，W=0。

其二，C是每个stage输出的channel数，而且是对Tp个stage都分别计算loss，最后再求和。

接下来分析训练集Label L*的生成

可以从上图看到，同个人的相关关节点都由一个向量链接，在这简称为躯干

而L*为数据集的真实值，分为C个channel，每个channel都代表每条躯干的一个分量（x或者y）的真实值，而只有当p落于躯干处时才有值v，而落于躯干外时则值为0.。公式如下，

而v的公式如下：

其中v为单位向量，Xj1跟Xj2分别为两个关节点的坐标位置。

而要判断p是否落于躯干的公式如下：

其中σ为躯干的宽度。最终将所有人的v进行求均值便是最后的v值。公式如下：

接下来，在预测过程中，我们通过预测，可以获取得到预测值Lc跟Stage S出来的关节点，我们要通过预测值Lc去获取每两个预测出来的关节点之间的关联的置信度。公式如下：

其中p(u)为两个关节点之间的点，公式如下：

Stage S:

Stage S为预测关节点的模块，类似Stage L，其也为级联架构，分为Tc个stage，且每个stage的输入都为vgg的输出特征F，Stage 1的输出L，其前一个stage的输出，公式如下：

Stage S的输出为J*h*w，其中J代表有J个部位的关节点，比如如果只预测左右手的手腕处的关节点，那么J就等于3（2+1个背景的channel），如果有多个人，多个人的同个部位关节点都由同一个channel进行预测。

Stage S也类似Stage L的损失计算方式，公式如下：

接下来分析训练集Label S*的生成

S*为数据集真实值，分为J个channel，对于每个channel，都为一个2维的分布图，每个channel代表一类关节点的位置，其中在每个关节点处都形成一个峰值。公式如下：

当k个人中存在峰值的重叠处，采用max函数取最大值。

最终模型的总Loss如下：

整个算法流程便是如此。通过模型，我们可以预测出关节点及两两关节点之间的置信度，那么我们便可以通过贪婪算法，进行组装成个人。


展开全文
• ## OpenPose论文理解

万次阅读 2019-03-24 21:38:52
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation paper: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields link: OpenPose paper....
• ## OpenPose论文阅读

千次阅读 2018-08-04 17:43:26
一、Abstract（论文摘要） 提出了一种有效检测图像中多人二维姿态的方法。该方法使用非参数表示，我们将其称为部分亲和域(PAFs)，以学习将身体部位与图像中的个体相关联。该体系结构对全局上下文进行编码，允许一个...
• 论文地址：https://arxiv.org/abs/1611.08050 文章的核心是提出一种利用Part Affinity Fields（PAFs）的自下而上的人体姿态估计算法。研究自下而上算法（得到关键点位置再获得骨架）而不是自上而下算法（先检测人，...
• OpenPose最新论文《Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields》笔记 摘要 能有效检测图像中多个人的2D姿态。使用PAFs (Part Affinity Fields)，来学习关键点和肢体。这种结构对...
• 方法： 1.以w*h大小的彩色图像作为输入 2.经过VGG的前10层网络得到一个特征度F 3.网络分成两个循环分支，一个分支用于预测置信图S：关键点（人体关节），一个分支用于预测L：像素点在骨架中的走向（肢体） ...
• 论文的简介 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields提出了一种多人姿态估计的新方法,通过卷积神经网络输出四肢的位置和矢量信息,通过图的匹配把各个关键点连接在一起,从而实现...
• ## openpose中文论文

千次阅读 2018-09-08 03:13:15
https://github.com/assmdx/ComputerVisionDoc/blob/master/openpose/openpose.md 本文章为原创文章，转载请联系 assmdx183@163.com
• openpose，GitHub地址】：...论文地址：https://arxiv.org/abs/1611.08050 效果演示视频： https://youtu.be/pW6nZXeWlGM （如果可以看youtu ） 我的配置相关会在这：OpenPose 配置小记...
• 自己给自己留个传送门 一、论文下载 二、Openpose论文翻译 三、OpenPose 论文理解 四、官方Github源码链接 五、TensorFlow源码链接 六、PyTorch源码链接
• 这里提出几个问题，以及整个论文流程： Realtime Multi-Person 2D Pose Estimation using Part Affinity ...2. https://github.com/assmdx/ComputerVisionDoc/blob/master/openpose/openpose.md，中文论文网站，也就是
• 导读：这篇文章是在OpenPose的基础上进行轻量化改进，从而使得整体网络能在Intel的CPU上达到实时的运行效果。对此文章的算法也是相当轻量级的只有410w的参数90亿的浮点运算，是含有两阶段优化OpenPose的15%，但是其...
• 这篇文章《用openpose来预测篮球罚篮准确性》，当中用到了很多比较好的方法，比如机器学习的逻辑回归进行多元二项的分类问题；用石川馨的质量工程工具——帕累托图，进行逻辑回归模型精确度的确定。 1.摘要 OpenPose...
• 本文翻译为关节点估计论文OpenPose（2017）， Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. 论文链接：https://arxiv.org/abs/1812.08008 开源链接：...
• 论文阅读 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 对应开源项目：https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation abstract 介绍一种高效的多人2D姿态识别，它...
• 最近读了Openpose论文，关于OpenPose的相关资料，博主整理后，留下了一个传送门，将网上写的比较好的博文和github地址记录在传送门里。 文章目录一、置信图(Confidence Map)生成原理二、两种生成置信图的方法2.1 ...
• openpose的详细内容，已经在之前的openpose论文翻译中介绍。   在下载模型权重文件后，预测过程主要分一下几步： (1) 读取模型、预测的图片，进行神经网络的预测，获取预测结果 (2) 关键点的检测 (3) 利用PAFs，...
• 《基于OPENPOSE的三维上肢康复系统》论文解读-附件资源
• OpenPose 论文原文：https://arxiv.org/pdf/1611.08050.pdf Abstract 我们提出了一种有效检测多人图像中的2D姿势的方法。 该方法使用非参数表示，我们称之为部分亲和力字段（PAF），用于学习将图像中的身体部位...
• openpose 论文 实现代码 中文翻译 Abstract 我们提出了一种有效检测多人图像中的2D姿势的方法。 该方法使用非参数表示，我们称之为部分亲和力 字段（PAF），用于学习将图像中的身体部位与个体联系起来。 该...
• 论文原地址：https://arxiv.org/pdf/1811.12004.pdf 原openpose分析 作者一开始就分析原openpose的网络算法，原openpose的backbone是VGG-19。原openpose的refinement stage有5个阶段。并且坐着把5个refinement ...
• 这里提出几个问题，以及整个论文流程： Realtime Multi-Person 2D Pose Estimation using Part Affinity...2. https://github.com/assmdx/ComputerVisionDoc/blob/master/openpose/openpose.md，中文论文网站，也就是.

...