MonoHuman: Animatable Human Neural Field from Monocular Video 精读

一、共享双向变形模块

1. 模块的核心思想

共享双向变形模块的核心目标是解决从单目视频中生成不同姿态下的3D人体形状问题。因为视频中的人物可能处于各种动态姿态下,模型需要能够将这些不同姿态的几何形状进行变形处理,以适应标准的姿态表示并生成新的姿态。

  • 双向性:该模块支持前向和反向的几何变形,即:

    • 前向变形:将标准姿态(如T-pose)变形为特定的目标姿态。
    • 反向变形:将目标姿态的几何形状反向变形成标准姿态,以便在生成过程中保持姿态之间的连贯性。
  • 共享参数:双向变形模块共享同一套变形参数,这意味着前向和反向变形使用相同的学习机制,从而简化了网络的结构并提高了学习的效率。

2. 输入和输出

  • 输入

    • 标准姿态的几何信息:模型的初始状态,比如T-pose形状。
    • 目标姿态的几何信息:需要转换的目标姿态(例如,某个动作中的姿态)。
    • 姿态变换参数:这通常是从视频中提取的姿态关节信息,用于指导变形过程。
  • 输出

    • 变形后的目标姿态:前向变形后的结果,即标准姿态变形成目标姿态。
    • 变形后的标准姿态:反向变形后的结果,即将目标姿态重新变形成标准姿态。

3. 前向变形与反向变形的作用

  • 前向变形:该过程通过输入的标准姿态和目标姿态的姿态参数,生成一个符合目标姿态的形状。网络会学习如何通过标准姿态进行形状变形,从而使人体模型能够在各种姿态下保持自然形态。

  • 反向变形:反向变形是将变形后的目标姿态恢复为标准姿态。这个步骤确保了即使人体在不同姿态下变化,模型依然可以回到一致的标准形状,这对于保持模型的姿态一致性和生成高质量的渲染图像非常重要。

4. 学习机制

共享双向变形模块通过神经网络进行端到端学习。训练过程中,网络通过对比标准姿态和目标姿态的几何结构,学习如何进行前向和反向的变形。其主要学习机制包括:

  • 监督学习:网络利用姿态变化的监督信号来最小化目标姿态和标准姿态之间的几何差异,确保生成的姿态变换是准确的。

  • 损失函数:通常使用的损失函数可能包括姿态一致性损失和几何形状重建损失,确保前向和反向变形在保持几何一致性的同时,生成的形状具有自然的外观。

5. 模块在渲染中的作用

共享双向变形模块的输出为渲染模块提供了准确的姿态几何信息。具体来说:

  • 前向变形后的目标姿态几何信息会被输入到渲染模块,用于生成目标姿态下的高质量渲染。
  • 反向变形后的标准姿态信息可以用于进一步的优化,确保不同姿态之间的转换保持一致。

6. 简单易懂的例子

假设你正在制作一个动画人物模型,初始状态是站立的T-pose姿态(标准姿态)。通过共享双向变形模块,你可以实现以下操作:

  1. 前向变形:你输入T-pose姿态的小人和一个新的姿态(例如,弯腰),模块会学习如何将T-pose变形成弯腰姿态。
  2. 反向变形:如果你想将弯腰的小人恢复到T-pose,反向变形模块会利用共享的学习参数进行姿态的反向变形。

通过这种双向变形,模型能够灵活处理不同姿态,并且保持姿态转换时的几何一致性。

总结

共享双向变形模块在《MonoHuman》系统中的作用是核心的,它通过双向的姿态变形确保人体模型能够在标准姿态和目标姿态之间进行自然的过渡。这一模块的设计大大提升了姿态重建的准确性,同时通过共享参数的方式简化了学习过程,使得网络能够更高效地生成自然且一致的3D人体模型。

二、正向通信搜索模块

1. 正向通信搜索模块的作用

正向通信搜索模块的主要作用是从输入的单目视频中提取与人体姿态相关的关键信息,并将这些信息传递到后续的神经场生成模块中。该模块的主要目标是解决单目视频中获取人体3D几何形状和姿态变化的难题。

具体作用包括:

  • 姿态估计:从视频中提取人物在不同帧中的姿态信息,主要是关节位置信息和骨架结构。
  • 几何特征提取:提取视频中每一帧的几何特征信息(如轮廓、深度等),为后续的3D形状恢复和姿态变形提供支持。
  • 数据关联:将不同帧的姿态信息和几何特征信息进行关联,确保在动态姿态变化下,模型仍能保持一致性和连贯性。

2. 输入与输出

  • 输入

    • 单目视频帧:来自输入视频的序列帧,包含了人物的不同姿态和视角。
    • 初始的几何信息:通常是标准姿态(如T-pose)的初始人体模型信息,用于后续的姿态变形。
  • 输出

    • 姿态关节信息:提取出人体骨架的姿态信息(如3D关节位置、骨架角度等),这些信息被用于指导姿态变形。
    • 几何特征信息:提取出的几何特征,用于生成最终的3D形状和纹理。
    • 姿态变形参数:这些参数会传递给后续的双向变形模块,指导模型如何从标准姿态变形到目标姿态。

3. 正向通信搜索的工作机制

该模块的核心功能是通过深度学习技术(通常是卷积神经网络或变形网络)从视频帧中提取和关联关键几何和姿态信息。具体的工作流程可以分为以下几个步骤:

  1. 姿态估计

    • 首先,正向通信搜索模块会通过预训练的姿态估计网络(如OpenPose或SMPL等)从每一帧中提取人物的姿态关节信息。
    • 这些关节信息构成了人体的骨架,用于后续的姿态变形和渲染。
  2. 几何特征提取

    • 在提取出姿态信息的同时,正向通信搜索模块会通过卷积网络从视频帧中提取几何特征(如深度、轮廓、表面法线等)。
    • 这些几何特征被编码为特征向量,用于后续的人体形状重建。
  3. 数据关联与融合

    • 正向通信搜索模块不仅从单个帧中提取信息,还通过时序模型(如RNN或Transformer等)在不同帧之间进行特征关联。这样可以确保在姿态变化的过程中,姿态信息和几何特征能够连贯一致。
    • 这种关联确保了在动画生成过程中,不同姿态和视角下的人体模型能够保持形状一致性和自然过渡。
  4. 姿态变形指导

    • 正向通信搜索模块输出的姿态信息和几何特征信息会被用于指导后续的双向变形模块。这些信息确保模型能够从标准姿态变形成目标姿态,并保持高质量的渲染效果。

4. 正向通信搜索模块的学习机制

正向通信搜索模块的学习过程是通过大量的标注数据进行监督学习。具体来说,使用包含姿态标注、几何信息(如深度、骨架)的训练数据来训练该模块,使其能够从输入的视频帧中有效提取人体姿态和几何特征。

  • 损失函数:通常,模块会使用姿态估计损失、几何重建损失、特征匹配损失等来监督学习过程。
  • 预训练模型:为了提高姿态估计的准确性,正向通信搜索模块通常依赖于预训练的姿态估计模型(如SMPL或其他人体姿态估计网络)。

5. 正向通信搜索模块在渲染中的作用

正向通信搜索模块提取的姿态信息和几何特征为后续的渲染提供了基础数据。这些信息确保渲染模块能够在目标姿态下生成准确、逼真的3D模型。

总结

正向通信搜索模块在《MonoHuman》系统中的作用是从输入的单目视频中高效地提取人体姿态和几何特征信息,并将这些信息传递给后续的双向变形模块和渲染模块。它通过姿态估计、几何特征提取和数据关联,确保在不同姿态和视角下生成的一致、高质量的3D人体模型。

三、体积渲染和网络训练

1. 体积渲染(Volumetric Rendering)

体积渲染是NeRF方法中的核心部分,用于生成具有深度和光照效果的3D图像。在《MonoHuman》系统中,体积渲染的主要作用是将人体在不同姿态和视角下的3D形状生成为逼真的2D图像。

工作原理

体积渲染的核心思想是通过模拟光线在3D空间中的传输过程,生成2D图像。以下是体积渲染的主要步骤:

  1. 采样光线(Ray Sampling)

    • 在渲染过程中,从观察者的相机位置发出光线,并沿着光线方向在3D空间中进行采样。
    • 每条光线会穿过3D空间中的多个体素(Volumetric Voxels),这些体素代表了3D空间中不同位置的体积密度和颜色。
  2. 累积颜色和密度(Color and Density Accumulation)

    • 对于每个采样点,模型会根据其坐标预测该点的颜色(RGB值)和密度(用于表示光线在该点的衰减程度)。
    • 系统会对沿着光线的所有采样点的颜色和密度进行累积,生成最终的2D像素值。
  3. 体积积分(Volumetric Integration)

    • 累积过程使用了体积渲染方程,通过对光线在3D空间中的颜色和密度进行加权求和,最终得到每个像素的颜色。公式如下: 

其中,C(r)是光线的最终颜色,σ(t)是体积密度,c(t) 是颜色,T(t) 是光线在该点处的透射率,表示光线到达该点时的累积衰减。   

  4. 深度估计(Depth Estimation)

        体积渲染还可以估计每条光线的深度,通过计算体积密度的累积值来确定物体的前景和背景,从而实现逼真的3D效果。

体积渲染的作用
  • 视角独立性:通过体积渲染,可以在任何视角下生成同一物体的图像,这在生成多视角的3D人体模型时非常重要。
  • 逼真的光照和反射效果:体积渲染能够模拟光线与物体表面的相互作用,生成具有逼真光照效果的图像,确保人体在不同姿态下的渲染质量。

2. 网络训练(Network Training)

网络训练部分通过端到端的监督学习,优化网络参数,使其能够在输入单目视频帧的情况下生成准确的3D人体模型和姿态变换。整个训练过程包括以下几个关键要素:

2.1. 网络结构

《MonoHuman》系统基于NeRF框架,使用多层感知机(MLP)网络来表示3D空间中的颜色和密度场。具体结构如下:

  • 输入
    • 3D坐标 (x,y,z)和光线方向 (dx​,dy​,dz​)。
    • 人体的姿态编码(通过姿态估计模块提取的姿态信息)。
  • 输出
    • 颜色值 (r,g,b) 和 体积密度 σ。

通过输入3D空间中的坐标和光线方向,网络会输出对应点的颜色和密度,这些信息用于体积渲染过程。

2.2. 训练数据

网络训练时使用单目视频帧作为输入,目标是重建每一帧中的人体形状和姿态。为了训练网络,系统使用了以下几种数据:

  • 图像数据:从单目视频中提取的帧图像。
  • 姿态数据:通过预训练的姿态估计网络(如SMPL模型)提取的关节位置和人体骨架信息。
  • 相机参数:每一帧的相机内参和外参,用于指导光线采样的方向。
2.3. 损失函数(Loss Function)

为了训练网络,系统使用了多种损失函数来指导优化过程:

  • 重建损失(Reconstruction Loss)

    • 主要用于度量生成图像与真实图像之间的差异,确保渲染结果与输入视频帧保持一致。通常使用L2损失或L1损失来计算像素级别的差异。
  • 姿态一致性损失(Pose Consistency Loss)

    • 用于确保生成的人体姿态与姿态估计模块提取的关节位置一致,从而保证模型能够准确生成不同姿态下的人体形状。
  • 几何约束损失(Geometric Consistency Loss)

    • 用于保证模型生成的3D形状在不同视角下保持一致,避免形状变得不自然或不稳定。
2.4. 优化过程

网络的训练是通过梯度下降法(如Adam优化器)来最小化损失函数。随着训练的进行,网络不断调整其权重,使其能够更好地从单目视频中生成高质量的3D人体模型和动画。

3. 体积渲染与网络训练的关系

  • 体积渲染的输出作为监督信号:体积渲染模块生成的2D图像会与输入视频帧进行对比,网络通过损失函数来计算生成图像与真实图像之间的差异。这一差异作为监督信号,指导网络调整其参数。

  • 体积渲染引导网络学习:体积渲染过程涉及对3D空间中光线的采样和积累,网络通过学习如何从3D坐标生成正确的颜色和密度场,从而生成逼真的2D图像。这个过程直接影响网络训练的效果。

总结

  • 体积渲染:通过采样光线、计算颜色和密度,模拟光线在3D空间中的传播,生成逼真的2D图像。
  • 网络训练:通过多种损失函数优化网络参数,使其能够从单目视频中生成准确的3D人体模型。

两者的结合使《MonoHuman》系统能够从单目视频生成逼真的多视角3D人体动画。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/873267.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SVN下载安装使用方法

目录 🌕SVN是什么?🌙SVN跟Git比的优势🌙SVN的用处 🌕下载安装使用方法 🌕🌙⭐ 🌕SVN是什么? 代码版本管理工具 它能记住你每次的修改 查看所有的修改记录 恢复到任何历…

【Linux网络】详解TCP协议(1)

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux网络 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 TCP协议 的相关内容。 如果看到最后您觉得这篇文章写得不错&am…

【大数据】深入浅出Hadoop,干货满满

【大数据】深入浅出Hadoop 文章脉络 Hadoop HDFS MapReduce YARN Hadoop集群硬件架构 假设现在有一个PB级别的数据库表要处理。 在单机情况下,只能升级你的内存、磁盘、CPU,那么这台机器就会变成 “超算”,成本太高,商业公司肯…

通过卷积神经网络(CNN)识别和预测手写数字

一:卷积神经网络(CNN)和手写数字识别MNIST数据集的介绍 卷积神经网络(Convolutional Neural Networks,简称CNN)是一种深度学习模型,它在图像和视频识别、分类和分割任务中表现出色。CNN通过模仿…

8. GIS数据分析师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i 1 , 2 , . . . , n } \textbf{K}^{n}:\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i1,2,...,n\} Kn:{(a1​,a2​,...,an​)∣ai​∈K,i1,2,...,n},称为 n n n维向量 规定(规定…

【技术前沿】智能反向寻车解决方案:提升停车场用户体验与运营效率

亲爱的技术员及停车场管理者们,您是否曾遇到过车主在庞大的停车场中迷失方向,耗费大量时间寻找爱车的困境?这不仅影响了车主的停车体验,也无形中增加了停车场的管理难度和运营成本。本文专为解决这一痛点而生,介绍最新…

基于人工智能的手写数字识别系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 手写数字识别是一种经典的计算机视觉任务,目标是让机器能够识别手写数字。通过人工智能技术,特别是卷积神经网…

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询…

【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS

目录 AbstractINTRODUCTIONBACKGROUNDARMv8 ArchitectureSecurity statesTrustZone extensionsVirtualization Communication with Peripherals MOTIVATIONATTACK MODEL AND ASSUMPTIONSYSTEM DESIGNOverviewExecution Environments IsolationDMA FilterExternal DMA controlle…

flutter的入口和原生交互

从今天起,笔者要开始从flutter列表页面向原生页面跳转了 首先遇到了N个No such module "Flutter" 因为笔者的公司其实是从前往后改造Flutter的,所以也不需要引擎组,但是笔者搞不懂,只能照着葫芦画瓢,以后等…

【重学 MySQL】十六、算术运算符的使用

【重学 MySQL】十六、算术运算符的使用 加法 ()减法 (-)乘法 (*)除法 (/ 或 div )取模(求余数) (% 或 mod )注意事项 在 MySQL 中,算术运算符用于执行数学运算,如加法、减法、乘法、除法和取模(求余数)等。…

2024数学建模国赛选题建议+团队助攻资料(已更新完毕)

目录 一、题目特点和选题建议 二、模型选择 1、评价模型 2、预测模型 3、分类模型 4、优化模型 5、统计分析模型 三、white学长团队助攻资料 1、助攻代码 2、成品论文PDF版 3、成品论文word版 9月5日晚18:00就要公布题目了,根据历年竞赛题目…

自动化运维之WGCLOUD入门到掌握 - ubuntu服务器进行入侵检测分析

WGCLOUD监测平台,有个日志监控模块,我们本文就用它来进行ubuntu的入侵检测分析 准备:ubuntu 20,WGCLOUD v3.5.4 ubuntu的登录日志文件,用于分析用户登录行为:/var/log/auth.log,我们今天就用u…

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。(可以理解为配置你的域名邮箱服务器(SMPT)为亚马…

微软出品的一款管理多个远程桌面连接的工具

RDCMan(Remote Desktop Connection Manager)是微软官方出品的一款用于管理多个远程桌面连接的工具。它可以帮助用户集中管理和分类远程桌面,特别适用于需要同时管理大量服务器或在不同计算机间切换操作的场景。 RDCMan的主要功能包括&#x…

[深度学习][LLM]:浮点数怎么表示,什么是混合精度训练?

混合精度训练 混合精度训练1. 浮点表示法:[IEEE](https://zh.wikipedia.org/wiki/电气电子工程师协会)二进制浮点数算术标准(IEEE 754)1.1 浮点数剖析1.2 举例说明例子 1:例子 2: 1.3 浮点数比较1.4 浮点数的舍入 2. 混合精度训练2.1 为什么需…

继收购西门子物流自动化后,丰田又投资一家AGV公司,智能物流版图已极其夸张...

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 继成功将西门子物流自动化(机场物流业务)纳入麾下后,丰田并未停下其征伐的步伐,而是再度出手,与新兴科技巨头Gideon携手,共同绘制了一幅…

副本集 Election succeeded

目录 1. 分析mongo副本集 Election succeeded 的全过程:2. 从日志里面看到数据库一致性的对比吗?3. 模拟主备不同步,副本集切换步骤注意事项: not master and slaveOkfalse解释: 其他方案方法一:使用 rs.st…

时间同步服务

多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协 议,日志,集群等。 利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到…