【ICCV‘23】One-shot Implicit Animatable Avatars with Model-based Priors
文章目录
- 前置知识
前置知识
1)SMPL模型
\quad SMPL这类方法只建模穿很少衣服的人体(裸体模型),它只能刻画裸体角色的动画,并不能刻画穿衣服的人体的动画
2)data-efficient
\quad 这个词推荐用,表示对数据的利用效率高,sparse-views时就可以用。
Code: https://github.com/huangyangyi/ELICIT
Author: State Key Lab of CAD & CG, Zhejiang University;Max Planck Institute for Intelligent Systems, T¨ubingen;
摘要: 现有的方法要想从sparse-views 输入中重建human avatar,要么需要dense input signals(视频或多视图),要么从大规模特定的3D human数据集中学习先验。他们的大多数都不能从单视图中重建human avatar。为了实现data-efficient的human avatar制作,这篇文章提出了ELICIT。受到人类可以毫不费力地估计身体的几何形状,并从一张图像中想象全身服装的启发,,这篇文章利用了两个先验: 来自于 a skinned vertex-based template model(SMPL)的3D geometry prior,和基于CLIP的visual semantic prior。CLIP模型用于,在text的条件下生成unseen-region。为了提升视觉细节,作者还提出了segmentation-based sampling strategy。
一、动机:
\quad 从相机输入中重建真实的animatable human avatar对VR/AR的应用具有重要意义,比如telepresence,virtual fitness。这是一个挑战的任务,它需要3D几何的解纠缠的重建、clothed human的外观、用于动画的复杂人体姿态(这个pose,与相机pose不同,指的是人体的形态)的精确建模。
\quad 现在的human-specific neural rendering方法可以取得很好的效果,但是是在输入是dense 和well-contolled的情况下。比如,well-calibrated 捕捉的多视图视频,或long monocular videos,在它们之中,人体的所有部分几乎都是visible的。然而,这样的高质量的密集输入对于普通用户是不方便的,甚至有时是不可能的。
\quad 一些工作在多视图数据中训练一个条件NeRF,以此来提升泛化性。但是他们在面对sparse-view时,仍然捉襟见肘。
\quad 相对于MVSNeRF、PixelNeRF这样在大规模数据集上训练一个条件模型,最近的一些工作引入了多样的正则化,比如几何(RegNeRF)、外貌(Putting NeRF on a Diet、Sinnerf)等,来避免degeneration。这样的方式,使得在半监督框架下,不使用额外训练数据成为可能。但是由于subject的遮挡区域信息的缺失,他们对于unseen views的合成是很难的。对unseen 区域的合成,是一个open issue。
\quad 为了解决上述挑战,作者提出了ELICIT方法,包含了两个先验。
二、相关工作:
\quad 1)Animatable human neural rendering:
\quad 最近的从multi-view或single-view video中重建3D human NeRF的工作,大部分执行的是per-subject optimization。在他们之中,Neural Body在SMPL模型的网格顶点上学习结构化的latent code,其他工作在canonical space中建模 pose-driven deformation,比如《Humannerf: Free-viewpoint rendering of moving people from monocular video》、H-NeRF、A-NeRF、《Humannerf: Efficiently generated human radiance field from sparse inputs》、《Animatable Neural Radiance Fields for Modeling Dynamic Human Bodies》、《Animatable neural implicit surfaces for creating avatars from videos》。虽然这些方法产生了令人印象深刻的结果,但它们需要覆盖人体大部分区域的密集输入。
\quad 2)Single-view-based NeRF
\quad 由于遮挡,NeRF模型很难在新的视图中合成输入中不可见的区域。一些现有的方法以数据驱动的方式利用学习到的场景几何、外观先验。其中,im2nerf使用无监督的方式训练一个条件NeRF,Eg3D和CG-NeRF利用conditional generative NeRF来重建人脸。
\quad 也有一些方法属于non-data-driven,它们使用一些off-the-shelf的模型来引入一些先验。比如MINE和Depth-supervised nerf引入了depth cues,RegNeRF引入了几何信息,Sin-NeRF和DietNeRF使用预训练的图像编码器引入语义先验从稀疏输入中产生语义上一致的新视图合成结果。
\quad 因此这篇文章也通过一些off-the-shelf的模型来引入一些先验(这似乎是大模型时代的共识),SMPL-based human body prior和CLIP-based visual semantic prior。
\quad 3)single-image-based human rendering
\quad MonoNHR提出了一个data-driven的方法训练了一个条件NeRF。EVA3D学习了一个无条件的3D人体生成模型,并使用GAN 反演从单张图片中重建3D human。然而,它的通用性在很大程度上受到训练数据集的有偏分布的限制。
三、方法:
\quad 1)Preliminaries
\quad SMPL(Skinned Multi-Person Linear model)模型,由大规模对齐的人体表面扫描驱动的skinned vertex-based template model。SMPL将姿态参数(用一个72维的向量表征人体姿态形状)和形状参数(一个10维的向量)进行编码,输出一个雕刻有6890个顶点的人体的混合形状。这篇文章用SMPL参数表征目标运动中 input character’s body 的 shape,posture,和 pose sequence。
\quad HumanNeRF支持单目视频中移动character的free-view rendering(free-view rendering就是不需要输入pose?)。实际上,HumanNeRF表征了一个 moving character,它将一个canonical appearance volume F c F_c Fc扭曲到被观测的姿态,遗产税输出的appearance volume F o F_o Fo。它的数学公式如下:

其中, T \mathcal{T} T表示motion field,将一个空间点从观测空间映射到标准化空间(canonical space)。这过程以姿态参数 p = ( J , Ω ) p=(J,\Omega) p=(J,Ω)为条件, J J J表示三维关节点位置, Ω \Omega Ω表示局部关节点旋转。

\quad F c F_c Fc的作用是将position x x x 映射到 color c c c 和volume density σ \sigma σ。
\quad 这篇文章基于HumanNeRF这个模型来做,因此也可以实现free-view motion rendering。
\quad 2)方法总览

相关文章:
【ICCV‘23】One-shot Implicit Animatable Avatars with Model-based Priors
文章目录 前置知识 前置知识 1)SMPL模型 \quad SMPL这类方法只建模穿很少衣服的人体(裸体模型),它只能刻画裸体角色的动画,并不能刻画穿衣服的人体的动画 2)data-efficient \quad 这个词推荐用ÿ…...
关于息肉检测和识别项目的总结
前言 整体的思路:首先息肉数据集分为三类: 1.正常细胞 2. 增生性息肉 3. 肿瘤要想完成这个任务,首先重中之重是分割任务,分割结果的好坏, 当分割结果达到一定的准确度后,开始对分割后的结果进行下游分类…...
Jetson Xavier NX FFmpeg支持硬件编解码
最近在用Jetson Xavier NX板子做视频处理,但是CPU进行视频编解码,效率比较地下。 于是便考虑用硬解码来对视频进行处理。 通过jtop查看,发现板子是支持 NVENC硬件编解码的。 1、下载源码 因为需要对ffmpeg进行打补丁修改,因此需要编译两份源码 1.1、编译jetson-ffmpeg …...
518抽奖软件,为什么说比别的抽奖软件更美观精美?
518抽奖软件简介 518抽奖软件,518我要发,超好用的年会抽奖软件,简约设计风格。 包含文字号码抽奖、照片抽奖两种模式,支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 精致美观功能 字体平滑无锯齿图片放大后清晰…...
React的组件学习
React的组件学习 参考资料:https://zh-hans.react.dev/learn/your-first-component 一、定义组件 export default function Profile() {return (<imgsrc"https://i.imgur.com/MK3eW3Am.jpg"alt"Katherine Johnson"/>) }以下是构建组件…...
uni-app配置微信开发者工具
一、配置微信开发者工具路径 工具->设置->运行配置->小程序运行配置->微信开发者工具路径 二、微信开发者工具开启服务端口...
肺癌不再是老年病:33岁作家的离世引发关注,有这些情况的请注意
近期,90后网络小说家七月新番和26岁男艺人蒋某某因肺癌去世,引发关注。他们都没有吸烟习惯,那么他们为什么会得肺癌呢?浙大二院呼吸内科副主任医师兰芬说,现在年轻人熬夜、加班导致身体过劳,在劳累情况下身…...
【兔子王赠书第4期】用ChatGPT轻松玩转机器学习与深度学习
文章目录 前言机器学习深度学习ChatGPT推荐图书粉丝福利尾声 前言 兔子王免费赠书第4期来啦,突破传统学习束缚,借助ChatGPT的神奇力量,解锁AI无限可能! 机器学习 机器学习是人工智能领域的一个重要分支,它的目的是让…...
Ubuntu18.04 ROS Melodic的cv_bridge指向问题(四种方式,包括opencv4)(转载)
转载自: 【精选】Ubuntu18.04 ROS Melodic的cv_bridge指向问题(四种方式,包括opencv4)_XiangrongZ的博客-CSDN博客...
Android任务栈和启动模式
Andrcid中的任务栈是一种用来存放Activity实倒的容器。任务最大的特点就是先进后出,它主要有两个基本操作,分别是压栈和出栈。通常Andaid应用程序都有一个任务栈,每打开一个Activity时,该Activity就会被压入任务栈。每销毁一个Act…...
电脑加密软件哪个好?电脑加密软件推荐
电脑是我们办公离不开的工具,而为了保护电脑数据安全,我们可以使用专业的电脑加密软件来进行加密保护。那么,电脑加密软件哪个好呢?下面我们就来了解一下。 文件加密——超级加密3000 想要安全加密电脑重要文件,我们可…...
如何优雅地单元测试 Kotlin/Java 中的 private 方法?
翻译自 https://medium.com/mindorks/how-to-unit-test-private-methods-in-java-and-kotlin-d3cae49dccd ❓如何单元测试 Kotlin/Java 中的 private 方法❓ 首先,开发者应该测试代码里的 private 私有方法吗? 直接信任这些私有方法,测试到…...
单元测试,集成测试,系统测试的区别是什么?
实际的测试工作当中,我们会从不同的角度对软件测试的活动进行分类,题主说的“单元测试,集成测试,系统测试”,是按照开发阶段进行测试活动的划分。这种划分完整的分类,其实是分为四种“单元测试,…...
数据结构(超详细讲解!!)第十八节 串(KMP算法)
1.BF算法 算法在字符比较不相等,需要回溯(即ii-j1):即退到s中的下一个字符开始进行继续匹配。 最好情况下的时间复杂度为O(m)。 最坏情况下的时间复杂度为O(nm)。 平均的时间复杂度为O(nm)。 2.KMP算法 KMP算法是D.E.Knuth、…...
软考_软件设计师
算法: 1、直接插入排序 详解:https://blog.csdn.net/qq_44616044/article/details/115708056 void insertSort(int data[],int n){int i,j,temp;for(i1;i<n;i){if(data[i]<data[i-1]){temp data[i];data[i] data[i-1];for(ji-1;j>0&&am…...
大数据之LibrA数据库系统告警处理(ALM-12004 OLdap资源异常)
告警解释 当Manager中的Ldap资源异常时,系统产生此告警。 当Manager中的Ldap资源恢复,且告警处理完成时,告警恢复。 告警属性 告警参数 对系统的影响 Ldap资源异常,Manager和组件WebUI认证服务不可用,无法对Web上层…...
详解—数据结构《树和二叉树》
目录 一.树概念及结构 1.1树的概念 1.2树的表示 二.二叉树的概念及结构 2.1概念 2.2二叉树的特点 2.3现实中的二叉树 2.4数据结构中的二叉树 2.5 特殊的二叉树 2.6二叉树的存储结构 2.6.1二叉树的性质 2.6.2 顺序结构 2.6.3链式存储 三. 二叉树的链式结构的遍历 …...
菜单管理中icon图标回显
<el-table-column prop"icon" label"图标" show-overflow-tooltip algin"center"><template v-slot"{ row }"><el-icon :class"row.icon"></el-icon></template></el-table-column>...
Postman如何导出接口的几种方法
本文主要介绍了Postman如何导出接口的几种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言: 我的文章还是一贯的作风,简确用风格(简单确实有用)&…...
Java进阶(Set)——面试时Set常见问题解读 结合源码分析
前言 List、Set、HashMap作为Java中常用的集合,需要深入认识其原理和特性。 本篇博客介绍常见的关于Java中Set集合的面试问题,结合源码分析题目背后的知识点。 关于List的博客文章如下: Java进阶(List)——面试时L…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
