• 论文解读:3D Hand Shape and Pose Estimation from a Singl RGB Image


    本文链接: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 的操作,得到深度图 (后续将对各个步骤所使用的方法进行具体分析)。
    ————————————————

  • 相关阅读:
    su命令cannot set groups: Operation not permitted的解决方法
    Docker 使用指南 (二)—— 搭建本地仓库
    90后小伙云上打造倾诉社交平台
    一起用HTML5 canvas做一个简单又骚气的粒子引擎
    PCB设计流程
    PCB设计检查
    C语言——输入输出函数
    (1)STM32使用HAL库操作GPIO
    几个输入输出函数的总结
    STM32标准库GPIO操作
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11956516.html
Copyright © 2020-2023  润新知