本文链接: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. Ftp站点搭建的详细过程(包括指定用户登录)

    最近接到要部署一个Ftp站点的一个任务,然后过程中有点小插曲踩了一些坑(指定用户登录,用户名和密码都是对的,输入了超级多遍,还是不行,登录不上,后面详细说明解决方案),特此记录一下.避免大家踩坑. 参 ...

  2. GDI显示图像时设定窗口大小为图像大小

    先前已经能基于GDI显示png图像,但是窗口大小和图像尺寸并不一致.注意到opencv中的imshow的窗口和图像尺寸一致,这里进行设置. 原理 CreateWindow阶段并不能确定窗口大小,但是在 ...

  3. Kotlin调用Java程序解析

    Kotlin跟Java是百分百兼容的,换言之,也就是它们俩是可以互操作的,也就是Java可以调Kotlin,Koltin可以调Java,所以下面来看一下在Kotlin中如何来调用Java代码: 咱们来 ...

  4. Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't

    在使用真机定位页面元素时启动uiautomatorviewer.bat ,报错Error while obtaining UI hierarchy XML file: com.android.ddml ...

  5. Jenkins持续集成邮件发送

    jenkins下载:https://jenkins.io/downloadgeneric java package(war) 1.tomcat部署: 0.jdk环境 1.修改conf目录下的serve ...

  6. POI不同浏览器导出名称处理

    /** * * @Title: encodeFileName * @Description: 导出文件转换文件名称编码 * @param @param fileNames * @param @para ...

  7. ThreadLocal(在一个线程中共享数据)

    ThreadLocal 在"事务传递Connection"参数案例中,我们必须传递Connection对象,才可以完成整个事务操作.如果不传递参数,是否可以完成?在JDK中给我们提 ...

  8. Linux——CentOS7没有ifconfig命令

    前言 今天新安装的centos7,使用ifconfig命令却提示没有,直接安装也没有~ 正文 直接安装直接告诉我这个包不是一个有效的 [root@kafka ~]# yum install -y if ...

  9. C++ vector,list,deque区别(转)

      在写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担.还有一个就是容器,你会发现要是自己写一个链表.队列,或者是数组的时候,既要花时间还要操心 ...

  10. Python 代码混淆和加密技术

    动机 Python进行商业开发时, 需要有一定的安全意识, 为了不被轻易的逆向. 混淆和加密就有所必要了. 混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. ...