淘先锋技术网

首页 1 2 3 4 5 6 7

BlazePose: On-device Real-time Body Pose tracking

一. 论文简介

主要做的贡献如下(可能之前有人已提出):

这里不说跟踪,仅关注关键点估计部分

  1. 通过关键点检测到人手大概位置,在做手回归,最后再做估计
  2. 通过heatmap辅助训练回归关键点

注意:Holistic mode 是这篇论文的一个整体应用,其中跟踪部分可以使用任何跟踪方法,注意创新点是关键点估计

二. 模块详解

2.1 heatmap和直接回归同时使用

论文使用的网络很清晰明了,类似hourglas结构

  • heatmap+offset

这部分是谷歌在2017年的论文:Towards Accurate Multi-person Pose Estimation in the Wild,使用了自家的方法,但是从现在的论文和开源代码来看,offset使用率基本没有。所以大家复现此论文都是直接使使用heatmap来替代heatmap+offset

  • 关于梯度传播问题

这部分真是一个创新点,虚线部分只进行前向传播,实线部分进行前向+反向。tensorflow的实现:tensorflow1tensorflow2,pytorch的实现如何?

其实实现很容易,就是直接把输入当做是一个值(requires_grad=False)即可,但是你得考虑不再下一层传播,但是在当前层传播。

# 这里给出笔者想法,未实际使用
# 方法一:
#直接创建一个新的值
input_public = Tensor([2,64,64,32])#公用的数据
data_forward = deepcopy(input_public)
data_forward.require_grad = False # 就是复制一份,然后将梯度去除即可


# 方法二:
#直接使用分离值

input_public = Tensor([2,64,64,32])#公用的数据
data_forward = input_public.detach()#直接将数据分离出来
  • 关于网络复现

完全按照论文去复现基本不可能,因为网络小模块未给出,skip-gate也未给出。这是是查看google-media 给出的模型进行构建。其实按照这种思路,直接使用shufflenet、mobilenet进行构建也完全可以,但是得有时间尝试模型的优劣。

2.4 总结

  • 挺好的一篇工业级论文,数据未开源、代码未开源,复现很难