Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video

这篇具有很好参考价值的文章主要介绍了Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Github: https://seanchenxy.github.io/HandAvatarWeb

1、结构摘要

  1. MANO-HD模型:作为高分辨率网络拓扑来拟合个性化手部形状
  2. 将手部几何结构分解为每个骨骼的刚性部分,再重新组合成对的几何编码,得到一个跨部分的一致占用场
  3. 纹理建模:在MANO-HD表面设计了可驱动的anchor,记录反照率;定向软占用用于描述光线-表面关系,生成照明场,进一步用于解耦与姿态无关的反照率和与姿态相关的照明

2、重建方法

  1. 传统:纹理图、彩色网格。
  2. 蒙皮的方法很难为任意查询找到准确的蒙皮权重,而部分感知方法通常存在跨部分不一致问题
  3. 思路:(1)显示网格描述手型,MANO-HD(12337个顶点+24608个面);(2)局部占用场(PairOF):每两个部分级几何编码通过物理连接重新组装,以产生跨部分一致的场;(3)对于手部纹理,通过由反照率场和照明场组成的自遮挡感知阴影场(SeLF)计算纹理,反照率场通过MANO-HD表面的anchor(位置和反照率编码)模拟手部区域,照明场应对自遮挡。

3、Method

  • MANO-HD 是一个通用的高分辨率手部网格模型,可以通过单目 RGB 视频数据拟合个性化手部形状。
  • 关注详细的个性化纹理,包括反照率和照明。为了增强表面纹理表示,以显式网格为指导开发了局部表示。遵循局部建模范式,并使用重心采样在 MANO-HD 表面上均匀放置anchor以跟踪局部信息。
  • 在关节自遮挡条件下专门对照明进行nerf建模。

Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习

  1. MANO-HD
    (1)细分网格(提升分辨率):在边缘的中间点添加定点统一细分MANO网格,增加顶点和面;添加顶点的蒙皮权重由其重要的顶点的平均值给出。为了消除蒙皮过程中的伪影,优化了上采样蒙皮权重以获得更好的动态性能。
    (2)Shape Fitting:摆脱 β,使用MLP推导并细化形状。
  2. Local-Pair Occupancy Field
    给定查询点x,PairOF预测占用值α。手表面:{q|αq = 0.5}。
    (1)Part-Space Encoder:线划分手部网格,在网格上均匀采样得到点云,法线,并转换回规范空间通过PointNet提取几何特征。
    (2)Local-Pair Decoder:作者认为划分的局部之间有很强的关系,基于 PointNet 的局部对解码器 Qpair 来融合每个配对编码并预测占用值,最后,通过融合part-level值获得全局占用值。
  3. Self-Occlusion-Aware Shading Field
    给定query q,通过SelF(q)预测反照率和照明度
    (1)对于视图方向上的光线投射,我们统一采样N个查询,每个查询具有占用场α、反照率a和光照值u。我们用立体渲染神经场:Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习
    (2)Albedo Field:因为手部表面点是不变的,因此在MANO-HD表面固定anchor。在MANO-HD模板上均匀采样获得N个点的点云P,并用重心坐标表示它们(重心anchor更均匀,以覆盖手部表面)。然后,我们开发了随机初始化的反照率编码A,并将它们附加到锚点上。给定手部姿势,可以根据变形的顶点和固定的重心坐标重新采样锚点,形成变形点云P。对于查询 q,我们在P 中找到 n 个最近点,并使用逆欧几里得距离作为权重插值 A。因此,我们得到反照率编码 Aq,然后将其馈送到 MLP 以预测反照率值 aq,即 aq = Malbedo(Aq)。
    (3)Directed Soft Occupancy:
    对于自遮挡照明估计,我们需要骨骼部分的近远关系。也就是说,当 q 接近多个部分时,查询 q 的光照会受到自遮挡的影响。虽然占用值可以描述q和部分之间的关系,但值几乎是二进制的,因此只能描述内外关系。因此,在sigmoid函数中引入软因子τ,软化占用值:
    Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习
    此外,作者设计了定向软占用来反映光线投射和铰接部分之间的近远关系,而不是对单个查询进行建模。对于可以达到 q 的光线投射 r,有向软占用 αs b,q,r 定义为光线命中 q 之前 r 的最大值。对于离散化,我们在光线投射 r 上统一采样查询 {qi}N qi=1,并将有向软占用计算为 αs b,q,r = max{αs b,qi |qi ≤ q},其中 qi ≤ q 选择光线在到达 q 之前遍历的查询。例如,下图中最深紫色查询的 αs b3,q,r 等于 αs b3。
    Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习

(4)Illumination Field:当我们考虑了自遮挡的情况后,我们需要估计一个查询点的照明强度。这个强度受到许多因素的影响,包括光源分布、辐照度和反射。在这个问题中,我们关心的是辐照度,它表示能量到达一个特定点的数量。
为了解决这个问题,我们使用了两个关键线索:手部的姿态和查询点的位置。我们通过对这些信息进行编码,得到了关于姿态和位置的表征。
然而,自遮挡是一个复杂的问题。我们引入了一个被称为软因子 τ 的参数,将其加入到 Sigmoid 函数中,以柔化占用值。这个 Sigmoid 函数用于描述一个点是否被遮挡,软因子使得它的取值范围从0到1之间。
为了更好地处理自遮挡,我们引入了一个称为“有向软占用”的概念。它表示在一个射线方向上,能量被部分阻挡的程度。如果一条射线在到达查询点之前接近了多个部位,那么查询点的照明将受到自遮挡的影响。
我们选择了一组射线方向,使得它们能够到达查询点,并能描述所有关节部位的近-远关系。此外,我们还考虑到一个关节部位只会影响其周围的照明情况。
最终,我们使用一个多层感知器(MLP)来预测查询点的照明强度。这个预测过程涵盖了姿态信息、位置信息以及有向软占用作为输入,从而得到了查询点的照明强度估计值。

4、实验

Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习
可以看到,该方法重建的效果还是很好地:
Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video,深度学习,Mesh,深度学习文章来源地址https://www.toymoban.com/news/detail-733801.html

到了这里,关于Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2018ECCV Can 3D Pose be Learned from2D Projections Alone?

    在计算机视觉中,从单个图像的三维姿态估计是一个具有挑战性的任务。我们提出了一种弱监督的方法来估计3D姿态点,仅给出2D姿态地标。我们的方法不需要2D和3D点之间的对应关系来建立明确的3D先验。我们利用一个对抗性的框架,强加在3D结构上的先验,仅从他们的随机

    2024年02月10日
    浏览(23)
  • GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose 论文阅读

    题目 :GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose 作者 :Zhichao Yin and Jianping Shi 来源 :CVPR 时间 :2018 我们提出了 GeoNet,这是一种联合无监督学习框架,用于视频中的单目深度、光流和自我运动估计。 这三个组件通过 3D 场景几何的性质耦合在一起,由我们的框

    2024年02月09日
    浏览(31)
  • Deep learning of free boundary and Stefan problems论文阅读复现

    在这项工作中,作者提出了一个基于物理信息神经网络的多网络模型,来解决一类一般的正和逆自由边界问题,称为Stefan问题。具体地说,用两个深度神经网络来近似未知解以及任何移动边界。作者提供了三个案例研究(一维一相Stefan问题,一维二相Stefan问题,二维一相Ste

    2024年02月08日
    浏览(33)
  • 论文阅读:FoundationPose: Unified 6D Pose Estimation and Tracking of Novel Objects-6DoF位姿估计

    CVPR2024满分文章,英伟达团队工作。 文章地址:https://arxiv.org/pdf/2312.08344.pdf 代码地址:https://github.com/NVlabs/FoundationPose 提出FoundationPose,能用于6D位姿估计与跟踪,无论模型是否可用都支持。只需要CAD模型或少量参考图像就能进行zero-shot测试,泛化能力依靠大规模训练, LLM 和

    2024年04月29日
    浏览(41)
  • An Empirical Study of License Conflict in Free and Open Source Software论文分享

    吴敬征 中国科学院软件研究所博导 研究领域: 软件安全与漏洞挖掘、开源软件与供应链安全、智能系统与机器学习、操作系统与指令集研究、网络安全与隐蔽通信。 实验室名称 :智能软件研究中心 六大领域 :智能理论、操作系统、开源生态、编译技术、智能安全、智能测

    2024年02月20日
    浏览(31)
  • 【论文阅读】Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation

    动画化Anyone:用于角色动画的一致且可控的图像到视频合成。 paper:https://arxiv.org/abs/2311.17117 code:还没开源 角色动画,通过驱动信号从静止图像生成角色视频。 扩散模型在 图像-视频 领域仍然存在挑战, 保持时序与角色细节信息 的一致性是一个艰巨的问题。 在本文中,作

    2024年02月03日
    浏览(43)
  • 论文解读《Learning Deep Network for Detecting 3D Object Keypoints and 6D Poses》 无需位姿标注的model-free 6D位姿估计

    论文:《Learning Deep Network for Detecting 3D Object Keypoints and 6D Poses》 摘要: 解决问题:标注困难且没有CAD模型。 开发了一种基于关键点的6D对象姿态检测方法,Object Keypoint based POSe Estimation (OK-POSE)。通过使用大量具有多视点之间的 相对变换信息 的图像对(相对变换信息可以很容

    2024年02月04日
    浏览(37)
  • Codeforces Round 892 (Div. 2) D. Andrey and Escape from Capygrad

    题意:给定区间[l,r],[a,b],[a,b]包含于[l,r],可以从任意[l,r]的区间传送至[a,b],给定指定的点求能传送的最远距离。 思路:可以将区间简化为[l,b],因为l可以看作是最左边,b可以看作是能到达的最右端点,然后进行区间合并即可。 对于查询,我们使用二分去找 x所在的区间,方法

    2024年02月13日
    浏览(26)
  • LeetCode //C - 106. Construct Binary Tree from Inorder and Postorder Traversal

    Given two integer arrays inorder and postorder where inorder is the inorder traversal of a binary tree and postorder is the postorder traversal of the same tree, construct and return the binary tree.   Example 1: Input: inorder = [9,3,15,20,7], postorder = [9,15,7,20,3] Output: [3,9,20,null,null,15,7] Example 2: Input: inorder = [-1], postorder = [-1] Outpu

    2024年02月09日
    浏览(29)
  • LeetCode //C - 105. Construct Binary Tree from Preorder and Inorder Traversal

    Given two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, construct and return the binary tree.   Example 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3,9,20,null,null,15,7] Example 2: Input: preorder = [-1], inorder = [-1] Output: [-

    2024年02月09日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包