openpose tensorflow版本 原理+项目代码详解

本文详细介绍了OpenPose在TensorFlow中的实现,包括训练数据的关键作用、算法流程和核心步骤。训练数据主要基于COCO数据集,通过生成part和paf的训练样本。算法分为神经网络预测、关节定位、肢体连接识别和人形组装四步,最终通过神经网络输出part heatmap和paf。文章还展示了算法在实际图像上的运行效果。
摘要由CSDN通过智能技术生成

1、训练数据 (很关键用于理解paf)

      训练数据集为coco,该数据集中包含了人体keypoint的坐标、类型信息。根据keypoint信息来生成part和paf的训练样本。

     part的训练样本:令S*j,k为person k的第j part的confidence map。xj,k为第k个人的第j个part的groundtruth坐标信息。对于S*j,k 位置p的value,如下定义:


     sigma是用来控制分布的参数,最终用于训练part的groundtruth confidence map是对各人的confidence map进行求最大操作。


     这样的话,如果有两个不同的人的相同关节比较靠近,它们的最大值也不会受到影响(因为最终是用非最大抑制(NMS)算法来获得峰值作为关节位置)。这样我们最终得到的groundtruth confidence map S* ∈Rw*h*19作为part的训练样本。其中包含18个part和1个背景。

     paf的训练样本:一共定义了19个连接,对于每一个连接,都包含了x方向和y方向的信息。令L*c,k∈Rw*h*2为person k的第c limb的groundtruth paf。该limb对应于part j1和part j2,对于L*c,k上位置p,如果p在limb c上,如下定义:

        L*c,k[xp,yp,2*c]=  (x2- x1)/ [ (x2- x1)2+ (y2- y1)2]1/2

           L*c,k[xp,yp,2*c+1]=  (y2- y1)/ [ (x2- x1)2+ (y2- y1)2]1/2

     如果p不在limb c上:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值