本文链接:https://blog.csdn.net/williamyi96/article/details/89207640
由于最近做到了一些 3D Hand Pose Estimation 相关的内容,因而看了这篇CVPR19的 oral 论文,官方说公布源代码,但是github给的是个空repo,希望早点开源吧。

近些年来,基于 RGB图像+depth map 的 3D Hand Pose Estimation 在多个数据榜上基本饱和了,而由于本身2D single rgb image 生成 3D keypoints (21个) 的困难,目前并没有那么饱和。而最近涌现出了一批利用 depth map 来做 fine-tuning 的工作。这篇文章就是从此出发的。

总的来说,这篇论文的主要贡献在于提出了一套模型框架,不仅能够通过 RGB图像得到 Hand Pose, 同时能够从 Hand Mesh 中线性回归得到 Hand Pose。

模型总体架构
以下先从模型整体架构出发进行分析:

这篇论文模型的训练有两个阶段,第一个阶段在合成数据集上进行训练 (合成数据集由自己的手形配上COCO里面的不同背景融合得到),第二个阶段将第一阶段的模型在真实数据集上 fine-tuning, 美其名曰让模型更加鲁棒,从而能够在真实场景下表现更好。

合成数据集上的训练
合成数据集上的整体流程如上图所示:首先将 synthetic image 经过一个 two-stacked hourglass network,得到image的热力图,然后联合热力图和 hourglass network 的输出作为 resnet 的输入 feature maps (按照原文中8层的设置加上4层的pooling推测可能是浓缩 resnet18), 接着得到所谓的 latent feature 输出。然后将 latent feature 传给 graph cnn, 得到 1280 维的 3D hand mesh, 最后通过 linear regression (卷积后不接relu)得到 3D Hand Pose。

合成数据集上的损失函数由三个部分构成,分别为 heat-map loss, mesh loss 和 pose loss。

真实数据集上的训练
真实数据集上的整体流程如上图所示:模型在合成数据集上训练到满足一定要求之后,一直到graph cnn 输出,基本与上述合成数据集上一样的操作,唯一的区别是我们对 3d hand mesh 的操作不仅包括了 linear regression 得到 3d hand pose, 还包括了 mesh renderer 的操作,得到深度图 (后续将对各个步骤所使用的方法进行具体分析)。
————————————————

论文解读:3D Hand Shape and Pose Estimation from a Singl RGB Image的更多相关文章

  1. Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读

    论文概况 论文名:Towards Accurate Multi-person Pose Estimation in the Wild 作者(第一作者)及单位:George Papandreou, 谷歌 ...

  2. (转)Awesome Human Pose Estimation

    Awesome Human Pose Estimation 2018-10-08 11:02:35 Copied from: https://github.com/cbsudux/awesome-hu ...

  3. paper 154:姿态估计(Hand Pose Estimation)相关总结

    Awesome Works  !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...

  4. 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读

    论文链接:https://arxiv.org/pdf/1902.09738v2.pdf 这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正). 博客原 ...

  5. [论文笔记] Fine-Grained Head Pose Estimation Without Keypoints

    Fine-Grained Head Pose Estimation Without Keypoints 简介 head pose estimation 经典论文,使用CNN预测三个角度值,pitch, ...

  6. CVPR2020论文解读:三维语义分割3D Semantic Segmentation

    CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation  for 3 ...

  7. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  8. A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation 论文解读(SIGMOD 2021)

    A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation 论文解读(SIGMOD 2 ...

  9. Fauce:Fast and Accurate Deep Ensembles with Uncertainty for Cardinality Estimation 论文解读(VLDB 2021)

    Fauce:Fast and Accurate Deep Ensembles with Uncertainty for Cardinality Estimation 论文解读(VLDB 2021) 本 ...

随机推荐

  1. Python学习日记(三十一) 黏包问题

    import subprocess res = subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.P ...

  2. unittest管理接口用例(数据分离-读取excel)

    1.简单读取 #coding=utf-8 #调用封装好的excel读取公共方法 from python_API.common.ReadExcel import ReadExcel import req ...

  3. 华为OSPF与ACL综合应用实例

    实验要求1.企业内网运行OSPF路由协议,区域规划如图所示:2.财务和研发所在的区域不受其他区域链路不稳定性影响:3.R1.R2.R3只允许被IT登录管理:4.YF和CW之间不能互通,但都可以与IT互 ...

  4. SHELL脚本编程-普通数组(列表)和关联数组(字典)

    SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的 ...

  5. mac随笔

    1.查看端口,lsof -i tcp:post lsof -i tcp:8086 2.kill进程 找到进程的PID,使用kill命令:kill PID(进程的PID,如2044),杀死对应的进程 k ...

  6. JS中的this、apply、call、bind(经典面试题)

    1.什么是this 在JavaScript中this可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式,this 绑定的对象即函数执行的上下文环境(context). 为了帮助理解,让我 ...

  7. Map遍历效率比较

    1.由来 上次博客提到了Map的四种遍历方法,其中有的只是获取了key值或者是value值,但我们应该在什么时刻选择什么样的遍历方式呢,必须通过实践的比较才能看到效率. 也看了很多文章,大家建议使用e ...

  8. qt事件机制(转)

    学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同.Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理. ...

  9. WIFI信道频率对应

    802.11b/g还是802.11b/g/n 一般都支持13个信道 信道也称作通道(Channel).频段,是以无线信号(电磁波)作为传输载体的数据信号传送通道.无线网络(路由器.AP热点.电脑无线网 ...

  10. 样式声明对象:document.styleSheets[0].rules[4].style;

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...