隐式表达的更进一步:基于NeRF的形状可编辑方法

news2024/9/21 12:36:32

来源:投稿 作者:橡皮
编辑:学姐

[paper]:https://arxiv.org/pdf/2303.09554

[code]:https://ktertikas.github.io/part_nerf

主要贡献:

设计了 PartNeRF,这是一种新颖的部件感知生成模型,实现为自动解码器架构。模型支持部件级别的控制,这有助于对生成实例的形状和外观进行各种编辑操作。这些操作包括对象部分的刚性和非刚性变换、来自不同对象的部分混合、删除/添加部分以及编辑对象特定部分的外观。

在考虑将对象分解为多个部件的现有生成管道中,我们的工作是第一个不需要明确的 3D 监督信号并且可以对生成对象的形状和纹理进行编辑操作的工作。

在 ShapeNet 数据集上的各种类别评估 PartNeRF,证明它可以生成比假设有 3D 监督信号的方法以及依赖 NeRF 的方法保真度更高的纹理形状。此外,展示了以前无法实现的各种编辑操作。

背景:

生成逼真且可编辑的 3D 内容是计算机视觉和图形学领域一个长期存在的问题,最近由于 AR/VR、机器人技术和游戏应用中对 3D 对象的需求增加而受到更多关注。

然而,手动创建 3D 模型是一项费力的工作,需要经验丰富的艺术家和产品设计师的技术技能。另一方面,编辑 3D 形状通常涉及重新调整现有 3D 模型的用途,方法是手动更改网格的面和顶点并修改其各自的 UV 贴图 。

形状编辑涉及对对象不同部分的形状和外观进行局部更改。因此,对将对象分解成多个部分有一个基本的了解有助于控制要编辑的内容。

但现有的方法存在着以下问题:

(1)生成对抗网络 (GAN) 已成为合成逼真图像的强大工具,它们忠实地恢复了几何形状和外观,但不允许更改对象的特定部分。

(2)受神经隐式渲染技术快速发展的启发,最近的作品提议将它们与 GAN 结合,以实现多视图一致的高质量生成。尽管它们在新颖的视图合成方面表现出色,但它们的编辑能力有限。

(3)通过将形状分解成多个部分,其他作品可以促进结构感知形状操作。然而,它们在训练过程中需要 3D 监督,并且只能在无纹理的形状上进行操作。

方法介绍:

零件感知可控 3D 形状生成和编辑:在没有明确的 3D 监督信号情况下解决了部件感知 3D 形状生成和编辑的任务。先前的部件感知生成模型在训练时假设有3D 监督信号,且只允许改变物体的形状。在这项工作中,提出了PartNeRF,这是一种生成模型,能够编辑生成形状的形状和外观纹理,这些形状被参数化为局部定义的NeRF的集合。

方法概览:

生成模型实现为一个自动解码器架构,如下图,其中包括三个主要组件:

方法细节1:神经辐射场

方法细节2:将部件视为神经辐射场

我们使用M个部件表示一个 3D 对象,其中每个部分都被参数化为NeRF。请注意,假设所有对象的部分数量都是固定的,即生成的对象不能有可变数量的部分。为了学习每个NeRF的潜在空间,我们将其设置为两个部件特定的可学习潜在代码:一个用于形状,一个用于纹理,z_m^s ,z_m^t 。这些代码是从每个对象特定的可学习嵌入中获得的。将形状与纹理分离,允许修改一个属性而不影响另一个。

请注意,虽然我们对输入应用了位置编码,但我们从 (3)+(4) 中省略了它以避免符号混乱。

为了强制每个部件仅捕获对象的连续区域,我们将其占用函数与以坐标系原点为中心的轴对齐 3D 椭球的占用函数相乘,轴长由比例向量s_m 给出。这使得第 m 个部分的联合占用函数如下:

其中 τ 是用于确定点是否在第 m 个部件内的阈值。如图所示。现在可以定义与第 m 部分相关联的射线集R_m ,作为首先与其相交的射线集,即:

使用射线对部件的分配和每个部件的渲染方程 (7),我们可以为整个物体制定渲染方程,使用 M 个NeRFs 如下:

即,如果光线 r 被分配给第 m 部分,我们将使用第 m 个 NeRF 来渲染光线 r。如果射线不与任何部分关联,则其颜色为黑色。硬射线部分分配是一项基本属性,可确保编辑一个部分不会改变其他部分的外观。

方法细节3:网络结构

MLP是在不同部件之间共享的。我们使用四元数对R_m进行参数化。正如在第二节中讨论的那样。 我们从(9)中确定分配给每个部件m的射线集R_m ,并将它们变换到它的坐标系中。

神经渲染:给定每个部分坐标系的变换点,我们用 (5)+(3) 预测颜色和占用。接下来,我们使用 (7) 执行体积渲染,并使用 M 个NeRFs 和 (10) 渲染对象。

方法细节4:训练

覆盖损失:这种损失确保部件覆盖物体,从而防止小部件或物体外部部件的退化排列。为实现这一点,我们鼓励零件至少包含 k 条内部射线。这可以表示为 R_m^k中所有光线的预测的每个部分和目标标签之间的二元交叉熵损失,

重叠损失:为了鼓励生成的部分捕获物体的不同区域,我们对超过 λ 部分内部的光线进行如下惩罚

控制损失:为了确保对整个形状的统一控制,我们需要具有可比体积的零件。我们在椭圆体的体积 V(·) 上实现这种损失,如下所示:

实验结果:

关注下方《学姐带你玩AI》🚀🚀🚀

回复“CVPR”免费领取500+篇顶会论文合集

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

idea上利用JDBC连接MySQL数据库(8.1.0版)

1.了解jdbc概念 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建 更高级的工具和接口&#…

MAVEN利器:一文带你了解IDEA中如何使用Maven

前言: 强大的构建工具——Maven。作为Java生态系统中的重要组成部分,Maven为开发人员提供了一种简单而高效的方式来构建、管理和发布Java项目。无论是小型项目还是大型企业级应用,Maven都能帮助开发人员轻松处理依赖管理、编译、测试和部署等…

《Zookeeper》源码分析(二十二)之 客户端核心类

目录 CliCommand数据结构parse()exec() ZooKeeperHostProviderZKClientConfigClientCnxnSocket数据结构构造函数 ClientCnxn数据结构构造函数start() CliCommand 数据结构 CliCommand定义了两个抽象方法,以CreateCommand为例来看下它的parse()和exec()方法。 先看…

c语言每日一练(11)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

在驱动中创建sysfs接口、procfs接口、debugfs接口

前言 在一些linux开发板中,经常可以看到通过echo的方式来直接控制硬件或者修改驱动,例如: //灯灭 echo 0 >/sys/class/leds/firefly:blue:power/brightness //灯亮 echo 1 >/sys/class/leds/firefly:blue:power/brightness 这是怎么…

老人摔倒智能识别检测算法

老人摔倒智能识别检测算法通过yolov8深度学习算法模型架构,老人摔倒智能识别检测算法能够实时监测老人的活动状态及时发现摔倒事件,系统会立即触发告警,向相关人员发送求助信号,减少延误救援的时间。YOLOv8 算法的核心特性和改动可…

内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN

一、概述: STM32WB55xx多协议无线和超低功耗器件内嵌功能强大的超低功耗无线电模块(符合蓝牙 低功耗SIG规范5.0和IEEE 802.15.4-2011标准)。该器件内含专用的Arm Cortex -M0,用于执行所有的底层实时操作。这些器件基于高性能Arm …

分享一种针对uni-app相对通用的抓包方案

PART1,前言 近年来混合开发APP逐渐成为主流的开发模式,与传统的开发模式相比混合开发极大的提升了开发效率,同时跨平台的特性也降低了开发成本,一直以来混合开发被诟病的性能问题随着技术的发展也得到改善。技术的发展往往是一把…

vue3+uni——watch监听props中的数据(组件参数接收与传递defineProps、defineEmits)

案例说明 A页面引用的子组件B A页面 <template><view>//引用组件<serviceOrder change"change" :list"list" :current"type"></serviceOrder></view> </template><script setup>import serviceOrd…

智慧课堂学生行为检测评估算法

智慧课堂学生行为检测评估算法通过yolov5系列图像识别和行为分析&#xff0c;智慧课堂学生行为检测评估算法评估学生的表情、是否交头接耳行为、课堂参与度以及互动质量&#xff0c;并提供相应的反馈和建议。智慧课堂学生行为检测评估算法能够实时监测学生的上课行为&#xff0…

基于Jenkins自动化部署PHP环境---基于rsync部署

基于基于Jenkins自动打包并部署Tomcat环境_学习新鲜事物的博客-CSDN博客环境 准备git仓库 [rootgit ~]# su - git 上一次登录&#xff1a;五 8月 25 15:09:12 CST 2023从 192.168.50.53pts/2 上 [gitgit ~]$ mkdir php.git [gitgit ~]$ cd php.git/ [gitgit php.git]$ git --b…

Heikin-Ashi怎么用,FPmarkets澳福找到3个使用环境

所有赚到钱的交易者都在告诉你Heikin-Ashi是个能赚到钱的交易指标&#xff0c;但是没有一个赚到钱的交易者告诉你如何使用Heikin-Ashi交易指标赚到钱。其实很简单&#xff0c;只要理解Heikin-Ashi的这3个使用环境&#xff0c;如果不好使&#xff0c;FPmarkets澳福帮你账户充值1…

pytest pytest.ini 配置日志输出至文件

创建pytest.ini 文件 [pytest] log_file pytest_log.txt log_file_level INFO log_file_date_format %Y-%m-%d %H:%M:%S log_file_format %(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s import pytest import loggingdef …

基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)

需要本项目的可以私信博主&#xff01;&#xff01;&#xff01; 本项目包含&#xff1a;PPT&#xff0c;可视化代码&#xff0c;项目源码&#xff0c;配套Hadoop环境&#xff08;解压可视化&#xff09;&#xff0c;shell脚本&#xff0c;MapReduce代码&#xff0c;文档以及相…

【附安装包】EViews 13.0安装教程|计量经济学|数据处理|建模分析

软件下载 软件&#xff1a;EViews版本&#xff1a;13.0语言&#xff1a;英文大小&#xff1a;369.46M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com…

Win系统设置开机自启项及自定义自启程序

Win系统设置开机自启项及自定义自启程序 分用户自启动和系统自启动两种形式&#xff1a; 1. 用户自启动目录&#xff1a;C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 用快速键打开&#xff1a; Win键R键&#xff0c;输入shell:…

连接数据库报错:2003-Can’t connect to Mysql server on ‘localhost’(10061)

今天在进行配置数据库的时候发现如下问题&#xff1a; 数据库出现2003错误&#xff0c;连接失败。 主要原因是我们的数据库服务没有开&#xff0c;winr&#xff0c;输入services.msc&#xff0c;打开本地服务 找到Mysql服务&#xff0c;右键启动即可。

响应式布局bootstrap使用

响应式布局 学习目标 能够说出响应式原理 能够使媒体查询完成响应式导航 能够使用Bootstrap的栅格系统 能够使用bootstrap的响应式工具 1.响应式原理 1.1响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的 1.2响应式布局容器…

什么是Promise对象?它的状态有哪些?如何使用Promise处理异步操作?以及 async、await

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Promise对象⭐ 创建Promise对象⭐ 使用Promise处理异步操作⭐ async、await⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅…

FFmpeg5.0源码阅读——FFmpeg大体框架

摘要&#xff1a;前一段时间熟悉了下FFmpeg主流程源码实现&#xff0c;对FFmpeg的整体框架有了个大概的认识&#xff0c;因此在此做一个笔记&#xff0c;希望以比较容易理解的文字描述FFmpeg本身的结构&#xff0c;加深对FFmpeg的框架进行梳理加深理解&#xff0c;如果文章中有…