67、NeRF-Editing: Geometry Editing of Neural Radiance Fields

news2024/12/28 20:18:56

简介

允许用户对场景的隐表示进行可控的形状变形,在不重新训练网络的情况下合成编辑过的场景的新视图图像。在提取的显式网格表示(Mesh)和目标场景的隐式神经表示之间建立了对应关系,利用基于网格的变形方法(ARAP)对场景的网格表示进行变形,通过引入一个四面体网格作为代理,利用用户编辑的网格表示来弯曲相机光线,借助NeRF新颖的视图合成能力,用户可以可视化来自任意视图的编辑结果。该方法适用于一般的真实场景,可以编辑场景对象,包括人体、动物、人造模型等。与以往NeRF编辑方法相比,该方法具有更高的自由度,能够支持细节编辑
在这里插入图片描述

基于网格的变形方法——ARAP
ARAP
三维变形与编辑方法。
编辑三维模型意味着在用户给定的一些控制下对模型的形状进行变形。传统的网格变形方法是基于Laplacian坐标、泊松方程和对偶Laplacian坐标。其中代表性的ARAP (As- rigid -As- possible)变形是一种交互式网格编辑方法,通过保持局部变形的刚性来保持细节。另一种驱动网格变形的方法是通过代理,如骨架或笼子。这些方法需要计算代理和网格顶点之间的权重,并将代理的转换传播到网格。随着几何模型的普及,数据驱动变形成为可能,它分析数据集中现有形状的变形先验,并产生更真实的结果。同时,大量的数据也允许神经网络被引入到3D编辑中。除了显式的网格表示,隐式场也可以与神经网络结合进行编辑。Deng等人提出了变形隐场,它能够基于从物体类别学习到的信息建模密集的曲面对应和形状编辑。

实现流程

  • 首先,从训练好的NeRF中提取一个显式的三角网格表示,用户可以直观地对显式网格表示进行变形
  • 然后,基于三角网格表示构建四面体网格,利用三角网格的变形驱动四面体网格的变形,将场景几何表面的变形传播到空间离散变形场中
  • 最后,利用四面体顶点插值完成离散变形场到连续变形场的传播,四面体网格的光线会随着连续的变形场发生相应的弯曲,从而使最终的绘制结果符合用户的编辑(通过插值直接将变形从三角网格转移到隐式体积会导致明显的伪影)
    在这里插入图片描述
    为了提升三角形网格重建质量,NeRF部分采用了NeuS进行SDF建模并通过Marching Cubes得到三角形网格。

三角形网格表示为 S, N ( i ) N(i) N(i)表示与顶点 i 相邻的顶点的索引集, V i ∈ R 3 V_i \in R^3 ViR3表示为顶点 i 在网格 S 上的位置。用户编辑后,网格 S 被转换为具有相同连通性但顶点位置 v i v_i vi 不同的变形网格 S ′ S' S

总的ARAP变形能量是测量整个网格的刚性,是每个变形单元的变形能量的总和,包括顶点 i 及其1环邻居
在这里插入图片描述
其中余切权值 W i j = 1 2 ( c o t   a i j + c o t   β i j ) W_{ij} = \frac{1}{2}(cot\ a_{ij} + cot \ \beta_{ij}) Wij=21(cot aij+cot βij) a i j , β i j a_{ij},\beta_{ij} aij,βij是网格边 (i, j) 相对的角度, R i R_i Ri是顶点 i 的局部旋转,变形形状 S’ 是通过最小化ARAP能量得到的,该能量可以通过交替优化局部旋转 R i R_i Ri 和变形位置 v i ′ v'_i vi 来有效求解。

将变形转移到隐式体表示中

在这里插入图片描述

第一步建立一个四面体网格(一种离散体表示)来覆盖提取的三角网格 S

计算一个包裹三角形网格 S 的 cage 网格,通过在法线方向上与网格表面产生一定距离的偏移来实现,将默认值设置为从相机位置到对象中心平均距离的 5%。

cage 网格的内部空间可以看作是隐式体积的"有效空间",因为场景的近真实几何表面的面积被 cage 网格所包围。当编辑包含多个对象的大型场景时,这种设计还可以确保其他对象不受编辑的影响。

然后,采用TetWild四面体化方法对 cage 网格进行四面体化,得到一个四面体网格表示 T,提取的三角网格 S 也被包裹在四面体网格 T 中。

对提取的三角网格 S 和相应的四面体网格 T 进行可视化,利用三角网格顶点的位移 v i v_i vi 驱动四面体网格的变形 T,将三角变形转移到四面体网格,将变形后的四面体网格表示为 T ', t k t_k tk t k ′ t'_k tk 分别表示变形前后四面体网格的顶点,其中 k 为顶点索引

使用ARAP变形方法对四面体网格 T 在曲面网格变形的约束下进行变形,公式2可以由三角形网格直接推广到四面体网格,唯一的区别是约束从用户指定的控制点更改为三角网格顶点。找到每个三角形网格顶点所在的四面体,并计算其相对于四面体四个顶点的重心坐标
在这里插入图片描述
其中A为重心权重矩阵。利用拉格朗日乘子法将该优化问题转化为线性方程组

Ray Bending

曲面变形转换到四面体网格后,可以得到“有效空间”的离散变形场。利用这些离散的变换来弯曲投射光线。

为了生成变形辐射场的图像,将光线投射到包含变形四面体网格的空间中。对于光线上的每个采样点,找到它位于变形四面体网格的哪个四面体中。利用 T 和 T’ 之间的对应关系,可以得到变形后顶点与变形前顶点之间的位移。对采样点所在四面体的四个顶点的位移进行重心插值,可以得到采样点回到原始“有效空间”的位移 ∆p,将位移 ∆p 添加到采样点的输入坐标中,以预测密度和RGB值
在这里插入图片描述
不在四面体网格 T′ 内的采样点不会被移动,即射线在四面体网格外的部分不会被弯曲

实验

与动态NeRF不同,在用户编辑后,很难获得新视图合成结果的真实情况,特别是在真实场景中,因为这种编辑后的场景实际上不存在,因此对mixamo中的特征进行定量和定性的评估

采用了以下几种评估指标

  • Structural Similarity Index Measure (SSIM)
  • Learned Perceptual Image Patch Similarity (LPIPS)
  • Peak Signal-to-Noise Ratio (PSNR)
  • Frechet Inception Distance [23] (FID)(衡量编辑前和编辑后结果之间的相似性)
    在这里插入图片描述
    在这里插入图片描述

局限

  • 不能根据编辑结果来修改颜色和明暗
    如果在捕捉过程中处于阴影中的物体部分变形面对光线,其颜色仍然是暗淡的,而不是明亮的
  • 不能支持用户实时编辑
    主要的时间瓶颈仍然存在于NeRF的渲染部分

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAN 协议及标准规格

文章目录CAN协议对应ISO/OSI 基本参照模型ISO 标准化的 CAN 协议通信速度和最大总线长度的关系根据协议不同选择对应IC其他标准规格CAN协议对应ISO/OSI 基本参照模型 CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层 数据链路层分为 MAC 子层和 LLC 子层…

Vue3基础知识,看这篇文章就够啦~

0 前言整理了一下自己在学Vue3的时候的笔记,如果有错误的地方还望指正~1 setup函数1.1 参数 setup(props,context)props:父组件传递过来的属性context:SetupContext,即是setup函数的上下文1.1.1 参数1 props如果想在setup函数中使…

脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED

数据集介绍: 使用上海交大的SEED数据集1 SEED数据集包含12名受试者的脑电图和眼动数据以及另外3名受试者的脑电图数据。数据是在他们观看电影片段时收集的。电影片段是精心挑选的,以诱导不同类型的情绪,积极的,消极的&#xff0…

BI技巧丨子类Top及其他

BOSS:白茶,能不能在展示产品销量的时候,前三的展示,其他的都归为“其他”啊? 白茶:可以啊!安排! 在实际项目中,一张Dashboard看板的设计,既要考虑逻辑的准确无…

Spring中@Conditional注解详解

文章目录Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。首先创建Dog类然后创建MyCondition类定义两个Bean测试方法AnnotationConfigApplicationContext测试ConditionalOnBean和ConditionalOnMissingBean注…

51单片机学习笔记_8 IICAT24C02 芯片的应用

I2C EEPROM I2C I2C(Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式 串行总线,用于连接微控制器及其外围设备。 I2C 结构 I2C 只有两根双向信号线,一根是 SDA 数据线,一根是 SCL 时钟线。…

2-选择题练手

1.HASH函数冲突处理方式不包括以下哪一项 A.开放定址法 B.链地址法 C.插入排序法 D.公共溢出区发 答:C 析: HASH函数冲突处理方式有: 开放定址法:(线性探测再散列,二次探测再散列,伪随机…

Netty进阶——粘包与半包(固定分隔符方式解决粘包问题)

目录一、固定分隔符方式解决粘包问题(代码示例)1.1、固定分隔符解决粘包问题的服务端代码示例1.2、固定分隔符方式解决粘包问题的客户端代码示例1.3、分别启动服务端,客户端,查看服务端结果输出一、固定分隔符方式解决粘包问题&am…

vitepress(四):引入vue组件

这节课的内容需要有前置的良好的Vue基础,如果你仅仅想搭建一个存放md文件的网站的话,可以不必学习后面的内容,当然如果你想个性化自己的站点,那么推荐你学习一下引用的方式和注意点,开始你的个性化之旅 编写VUE组件 …

ARES Map地理信息系统(GIS)

ARES Map地理信息系统(GIS) ARES地图是GRAEBERT的地理信息系统(GIS)产品。该软件是一个复合解决方案,它将GIS的知识和内容放在一个CAD丰富的DWG系统上,并允许您同时使用它们。该软件的地图和设计将以DWG格式自然存储,但它们也可以包含GIS信息…

【阶段三】Python机器学习02篇:机器学习项目流程

本篇的思维导图: 机器学习项目流程 大致分为以下6个环节: (1)项目背景(问题定义) (2)数据收集 (3) 数据预处理与探索性数据分析 (4) 特征工程 (5)构建模型:机器学习模型(算法)的选择

TCP 慢启动突发丢包

TCP 慢启动会导致持续突发丢包。 慢启动以 y2xy2^xy2x 增加窗口,在 BDP 已经填满时,后续的慢启动过程如下: ​每一个 ACK 触发 2 个 报文,最终至少丢掉 1 个 BDP 的数据后 sender 才能检测到丢包而退出慢启动并进行重传。 这是…

C语言蓝桥杯刷题:明码

题目链接 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 汉字的字形存在于字库中,即便在今天,16*16 点阵的字库也仍然使用广泛。 16*16 点阵的字库把每个汉字看成是 1616 个像素信息。并把这些信息记…

电子书销售是一种可以躺赚的商业模式么?

文章目录前言电子书销售市场规模到底有多大?电子书产业链电子书阅读平台电子书销售平台国外国内其它销售模式探讨创建电子书创建电子书的工具电子书下载好去处相关法规前言 不知何时,有了网赚一词,例如去各大平台撸羊毛薅羊毛,利…

Vector - VT System - 继电器板卡_VT2820

这块板卡应该是我个人最喜欢的板卡了,虽然说有很多的模拟板卡、数字板卡等仿真板卡,但是在实际的应用中,我们仿真还是很难做到绝对的信号一致,但是如果有实际的硬件,通过继电器板卡就很好的模拟实际车上的场景&#xf…

定时器(Timer)

一、定时器是什么? 定时器类似于我们生活中的闹钟,可以设定一个时间来提醒我们。 而定时器是指定一个时间去执行一个任务,让程序去代替人工准时操作。 标准库中的定时器: Timer 方法作用void schedule(TimerTask task, long delay)指定dela…

JS数组对象——中文按照首字母排序(分组)sort()、localeCompare()

JS数组对象——中文按照首字母排序(sort 、localeCompare)往期同类文章场景复现根据中文首字母排序1、首字母基础排序2、排序并且分组往期同类文章 文章内容文章链接JS数组对象——根据日期进行排序,按照时间进行升序或降序排序https://blog…

PLC算法系列之数字低通滤波器(离散化方法:双线性变换)

低通滤波器在信号处理专栏有后向欧拉法的详细介绍和源代码,请查看相应的文章,链接如下: PLC信号处理系列之一阶低通(RC)滤波器算法_RXXW_Dor的博客-CSDN博客_rc滤波电路的优缺点1、先看看RC滤波的优缺点 优点:采用数字滤波算法来实现动态的RC滤波,则能很好的克服模拟滤波…

windows下安装不同版本Python教程

前言 博主也是很长一段时间没有更新文章了吧,因为最近都在忙着升级我的API管理系统,还有准备会考,时隔大概一个月,我带来了本次文章,如何在windows系统下安装多个版本Python,且各版本Python有不同的全局命…

认真学习MySQL中的那些日志文件-二进制日志(binlog)

binlog即binary log,二进制日志文件,也叫作变更日志(update log)。它记录了数据库所有执行的DDL和DML等数据库更新事件的语句,但是不包含没有修改任何数据的语句(如数据查询语句select、show等)…