[ICCV-23] DeformToon3D: Deformable Neural Radiance Fields for 3D Toonification

pdf | code

  • 将3D人脸风格化问题拆分为几何风格化与纹理风格化。
  • 提出StyleField,学习以风格/ID为控制信号的几何形变残差,实现几何风格化。通过对超分网络引入AdaIN,实现纹理风格化。
  • 由于没有修改3D GAN空间,因此可以便捷实现Editing和Animation。

目录

摘要

方法

Geometry Toonification with StyleField

Texture Transfer with Adaptive Style Mixing

Training

实验

实验设置

Comparisons with Baselines

Applications

Inversion and Editing

Animatable Toonification

Toonification Style Control


摘要

  • 3D人脸风格化;
  • 3D GAN直接在艺术域(artistic domain)上fine-tuning,效果不错。但存在两个问题:1)会破坏3D GAN原有的隐空间,影响后续的语义编辑;2) 每种新风格需要额外训练,限制了部署。
  • 为了解决上述两个问题,本文提出DeformToon3D。本文方法将3D卡通化(toonification)问题,分解为几何与纹理风格化。
  • 本文提出StyleField,预测条件控制的3D形变(conditional 3D deformation),实现几何风格化;通过3D GAN的decoder实现纹理风格化。

方法

  • DeformToon3D是一个堆叠模型 G = G1 o G0,其中G1是3D生成器,G2是2D超分解码器。G0输入instance code w和相机位姿\xi,和体渲染输出为中间特征图F。G1将F超分得到高分辨率图片I
  • 在考虑3D人脸卡通化时,现有方法将G视作一个整体进行fine-tune。DeformToon3D用StyleField作为几何风格化,fine-tune体渲染器实现纹理风格化。

Geometry Toonification with StyleField

直接用跨域数据fine-tune G0,计算开销大且会破坏GAN的隐空间。

假设风格化NeRF是\mathcal{N}_S,真实域NeRF是\mathcal{N}_R。本文冻结G0参数,并提出StyleField模块学习\mathcal{N}_S\mathcal{N}_R的映射关系。

具体来说,假设\mathcal{N}_S中的任意3维点x_S,StyleField学习x_S\mathcal{N}_Rx_R的映射关系:

其中,H_D是StyleField,受style code w_S和instance code w_R控制,前者决定风格,后者决定3D face的ID。

H_D由4层SIREN组成,支持多种风格变换。相较于直接fine-tune G0,优化参数量减少了50%,同时还保留了3D GAN原有隐空间。在10种风格情况下,相较每种风格fine-tune一个G0,节省了98.5%的存储空间。

Texture Transfer with Adaptive Style Mixing

G0和StyleField实现了风格的几何变换。在此基础上,本文在超分网络G1实现风格的纹理变换。

G1是2D style-based architecture。本文通过AdaIN来逐步调整图片风格。

受style mixing启发,通过混合G1网络参数和目标风格w_S,实现纹理信息的注入。

本文同时添加了一个轻量级MLP T,输入为w_Sw_R和w,调整风格强度。

Training

本文通过DualStyleGAN产生2D风格图像;

训练中,使用LPIPS loss作为重建损失;使用smoothness,确保H_D是物理平滑的;同时,使用了GAN的对抗训练损失。

实验

实验设置

  • Datasets:测试了10种风格:Pixar, Comic, Slam Dunk, The Croods, Fiona (Shrek), Rapunzel (Disney Princess), Hiccup Horrendous Haddock III (How To Train Your Dragon), and three different carica-ture styles;在CelebA-HQ上测试;
  • Model:使用在FFHQ上预训练的StyleSDF作为3D GAN;
  • Training:在8张V100上训练了24小时,bs=16;
  • Baselines:和CIPS-3D、E3DGE、StyleGAN-NADA进行比较

Comparisons with Baselines

 

Applications

Inversion and Editing

使用E3DGE实现3D GAN inversion

Animatable Toonification

学习3DMM参数和3D GAN隐空间的双向映射关系。通过驱动视频拿到3DMM参数的变化,并映射回3D GAN中

Toonification Style Control

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第23期day17| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

目录 一、(leetcode 110)平衡二叉树 二、(leetcode 257)二叉树的所有路径 三、(leetcode 404)左叶子之和 一、(leetcode 110)平衡二叉树 力扣题目链接 状态:已AC 求深…

如何在 Spring Boot 中使用 WebSocket

在Spring Boot中使用WebSocket构建实时应用 WebSocket是一种用于实现双向通信的网络协议,它非常适合构建实时应用程序,如在线聊天、实时通知和多人协作工具。Spring Boot提供了对WebSocket的支持,使得在应用程序中集成WebSocket变得非常容易…

QTableWidget 表格部件

QTableWidget是QT中的表格组件类。一般用来展示多行多列的数据,是QT中使用较多的控件之一。1、QTableWidgetItem对象 QTableWidget中的每一个单元格都是一个QTableWidgetItem对象,因此先介绍下QTableWidgetItem的常用方法。 1.1、设置文本内容 void QT…

可拓展的低代码全栈框架

尽管现在越来越多的人开始对低代码开发感兴趣,但已有低代码方案的局限性仍然让大家有所保留。其中最常见的担忧莫过于低代码缺乏灵活性以及容易被厂商锁定。 显然这样的担忧是合理的,因为大家都不希望在实现特定功能的时候才发现低代码平台无法支持&…

ref与DOM-findDomNode-unmountComponentAtNode知识点及应用例子

​​​​​​http​​​http://t.csdnimg.cn/og3BI 知识点讲解↑ 需求: (下载/导出 用post请求时:) 实例: react部分代码 1、点击下载按钮,需要传给后端数据,到数据扁平,不是那么复杂,只需url地址即可完成下载,后端…

神经网络(MLP多层感知器)

分类 神经网络可以分为多种不同的类型,下面列举一些常见的神经网络类型: 前馈神经网络(Feedforward Neural Network):前馈神经网络是最基本的神经网络类型,也是深度学习中最常见的神经网络类型。它由若干个…

SpringBoot 如何使用 Sleuth 进行分布式跟踪

使用Spring Boot Sleuth进行分布式跟踪 在现代分布式应用程序中,跟踪请求和了解应用程序的性能是至关重要的。Spring Boot Sleuth是一个分布式跟踪解决方案,它可以帮助您在分布式系统中跟踪请求并分析性能问题。本文将介绍如何在Spring Boot应用程序中使…

java模拟GPT流式问答

流式请求gpt并且流式推送相关前端页面 1)java流式获取gpt答案 1、读取文件流的方式 使用post请求数据,由于gpt是eventsource的方式返回数据,所以格式是data:,需要手动替换一下值 /** org.apache.http.client.metho…

数据库系统工程师------流水线

流水线 流水线周期:工序中最长的那段执行时间。 流水线计算公式:第一条指令计算时间 (指令条数 - 1)*流水线周期。 流水线吞吐率:指单位时间内流水线完成的任务数量或输出的结果数量。 流水线的加速比:完…

机器学习与模式识别作业----决策树属性划分计算

文章目录 1.决策树划分原理1.1.特征选择1--信息增益1.2.特征选择2--信息增益比1.3.特征选择3--基尼系数 2.决策树属性划分计算题2.1.信息增益计算2.2.1.属性1的信息增益计算2.2.2.属性2的信息增益计算2.2.3.属性信息增益比较 2.2.信息增益比计算2.3.基尼系数计算 1.决策树划分原…

VMware Workstation Player 17 下载安装教程

虚拟机系列文章 VMware Workstation Player 17 免费下载安装教程 VMware Workstation 17 Pro 免费下载安装教程 windows server 2012安装教程 Ubuntu22.04.3安装教程 FTP服务器搭建 VMware Workstation Player 17 下载安装教程 虚拟机系列文章前言一、 VMware Workstation Pla…

手机APP也可以学习Sui啦,通过EasyA开启你的学习之旅

Sui基金会与EasyA合作,开发了一门面向初学者的Sui课程。这一适用于Android和iOS移动端的学习体验,是进入更广泛的Sui社区和生态系统的入口。在这门课程中,学习者将以有趣和互动的方式获得对Sui的基本了解,最终能够在测试网络上部署…

Wifi列表扫描和Wifi链接

上面的截图&#xff0c;就是本文要介绍的主要功能。 1.准备工作&#xff0c;声明权限&#xff1a; <uses-permission android:name"android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name"android.permission.ACCESS_WIFI_STATE&quo…

10.selenium进阶

文章目录 1、嵌套网页1、1 什么是嵌套页面1、2 selenium获取嵌套页面的数据 2、执行JavaScript代码3、鼠标动作链4、selenium键盘事件5、其他方法5、1 选择下拉框5、2 弹窗的处理 6、selenium设置无头模式7、selenium应对检测小结 1、嵌套网页 ​ 在前端开发中如果有这么一个需…

使用css 与 js 两种方式实现导航栏吸顶效果

position的属性我们一般认为有 position:absolute postion: relative position:static position:fixed position:inherit; position:initial; position:unset; 但是我最近发现了一个定位position:sticky 这个可以称为粘性定位。 这个粘性定位的元素会始终在那个位置 <st…

rust cfg的使用

前提是一个crate倒入另一个crate。 先看结构 test_lib目录结构 这与另一个crate处于同一个目录,所以另一crate倒入的时候在Cargo.toml中使用如下语句。 test_lib = {path = "../test_lib" }先在test_lib/src/abc/abc.rs中添加没有cfg的两个函数做测试。 pub fn…

虹科方案丨自动驾驶多传感器数据融合方法

文章来源&#xff1a;雅名特自动驾驶 点此阅读原文&#xff1a;https://mp.weixin.qq.com/s/QsPMWZDGZaPdEx47L2VmeA 近年来&#xff0c;深度学习技术在涉及高维非结构化数据领域展现出了最先进的性能&#xff0c;如计算机视觉、语音、自然语言处理等方面&#xff0c;并且开始涉…

Django实战项目-学习任务系统-用户登录

第一步&#xff1a;先创建一个Django应用程序框架代码 1&#xff0c;先创建一个Django项目 django-admin startproject mysite将创建一个目录&#xff0c;其布局如下&#xff1a;mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py 2&#xff0c;再创建一个…

智能视频分析系统AI智能分析网关V3触发告警图片不显示该如何解决?

AI智能分析网关V3包含有20多种算法&#xff0c;包括人脸、人体、车辆、车牌、行为分析、烟火、入侵、聚集、安全帽、反光衣等等&#xff0c;可应用在安全生产、通用园区、智慧食安、智慧城管、智慧煤矿等场景中。将网关硬件结合我们的视频监控系统EasyCVR一起使用&#xff0c;可…

Android免杀小结

目录 msfvenom 自动生成 自带免杀 工具免杀 Thefatrat backdoor-apk old-fatrat msfVenom嵌入式方法 venom 工具小记 加壳 源码免杀 加壳 源码混淆 数据通信 启动和运行方式修改 对抗反编译 反编译工具崩溃 ZIP文件格式对抗 ZIP通用位伪加密 AndroidManife…