OR-NeRF论文笔记
OR-NeRF论文笔记
文章目录
- OR-NeRF论文笔记
- 论文概述
- Abstract
- 1 Introduction
- 2 Related Work
- 3 Background
- 4 Method
- 4.1 Multiview Segmentation
- 4.2 Scene Object Removal
- 5 Experiments
- Datasets
- Metrics
- Multiview Segmentation
- Scene Object Removal
- 6 Conclusion
论文概述
目的:与RO-NeRF的任务一致,均为3d object removal任务。但他支持单个视图上通过用户给的点或文本提示移除3D物体。
方法:通过三维几何和稀疏对应关系将用户注释扩散到所有视图,从而确保了三维一致性并减轻了处理负担。然后,应用最新的二维分割模型 Segment-Anything (SAM) 来预测mask,并使用二维内绘模型(LaMa)来生成颜色监督。最后,我们的算法应用了深度监督和感知损失,以保持对象移除后几何和外观的一致性。
Abstract
用于新视图合成的神经辐射场(Neural Radiance Fields,NeRF)的出现提高了人们对三维场景编辑的兴趣。编辑的一项基本任务是从场景中移除目标,同时确保视觉合理性和多视图一致性。然而,当前的方法面临着一些挑战,如耗时的对象标记、移除特定目标的能力有限以及移除后的渲染质量受到影响。本文提出了一种名为 ORNeRF 的新型物体移除pipeline,它能在单个视图上通过用户给出的点或文本提示移除三维场景中的物体,与之前的作品相比,能在更短的时间内实现更好的性能。我们的方法通过三维几何和稀疏对应关系将用户注释扩散到所有视图,从而确保了三维一致性并减轻了处理负担。然后,应用最新的二维分割模型 Segment-Anything (SAM) 来预测mask,并使用二维内绘模型(lama)来生成颜色监督。最后,我们的算法应用了深度监督和感知损失,以保持对象移除后几何和外观的一致性。实验结果表明,与之前的研究相比,我们的方法能在更短的时间内实现更好的编辑质量,同时兼顾质量和数量。
1 Introduction
NeRF在重建三维场景方面取得重大成果,最近研究将其功能扩展到三维场景编辑方面,其中一项重要的编辑操作是从三维场景中移除物体。这项任务的实际应用面临一些挑战,主要障碍在于如何准确定位不需要的物体,我们往往很容易对一张图片识别出不需要的物体,但要求用户对每个视图都进行标注是不切实际的。此外,删除后的多视图一致性和内容的合理性也是一个难题。
一些工作尝试解决上述问题,但结果并不令人满意。例如Object-NeRF 和 ObjectSDF对NeRF训练 分解成background和object,从而实现对特定的object进行渲染,然而,由于缺失对移除部分的监督,从而无法确保完成一个合理移除区域。NeRF-Object-Removal(RO-NeRF)和SPIn-NeRF使用了LaMa生成color和depth的先验知识,然后根据这些先验直接进行重建NeRF。虽然这两个方法对编辑质量得到提升,但是,RO-NeRF需要所有视角下的mask作为输入;而SPIn-NeRF使用一系列分割预处理,甚至涉及到网络训练,花大量时间为每个场景生成masks。DFFs应用了预训练的语言模型支持text-prompt编辑,通过从语言模型中提取出的向量特征在训练NeRF中对齐,可以消除对masks的依赖。但是,如果预训练的目标检测器效果不好,它将无法定位移除的区域。
我们提出了一个新的pipeline叫OR-NeRF,支持对单个图像的点和文本prompt,从3D场景中提出物体。优点在于多视角分割任务耗时更少,移除物体任务的效果优于以往方法。具体方法如下:
- Points prompt on a single view to other views: a point projection strategy by using COLMAP sparse reconstruction to find correspondences from 2D points to 3D sparse point cloud, and further projects 3D points to all 2D images with camera parameters.
- Use SAM to predict masks.
- Use 2D inppainting model LaMa to get color priors for the removal area.
- Scene object removal algorithm using TensoRF(backbone) with depth supervision and perceptual loss.
TensoRF is a SOTA model for improving rendering quality considering time and performace trade-off.
Time consuming: Generated at approximately two frames per second on an RTX 3090 GPU.
我们在多样的数据集上测试了多视角分割和场景物体移除的效果。
Contributions:
- A novel pipeline for efficient object removal from 3D scenes, allowing for both points and text prompts on a single image.
- Experimental results demonstrate that our method achieves better editing quality and requires less time for multiview segmentation than previous methods, as evidenced by both quality and quantity analyses.
2 Related Work
- Multiview Segmentation
2D分割被研究的很透彻,但3D场景下的分割往往被忽视,尽管它像3D编辑这样的下游任务有着关键作用。
- 有几个自监督方法被提出,但他们常常产生不准确的masks,很难应对复杂场景。
- 为了应对这些挑战,半监督策略仅需部分标注,或用户提供一些合理的prompt。
- Semantic NeRF传播这部分labels给稠密语义分割,利用一些in-place就地标注,预测语义label并渲染。
- NeRF和SPIn-NeRF进一步创建了一个完整的pipeline,利用一张图上的points prompt在所有视角生成Masks。它们利用了one-shot分割去预测一个初始的mask,再根据video分割去生成所有视角的masks,通过视图像序列为一个video。最后,他们利用semantic NeRF对masks进行refine。
- 然而,以上提到的方法需要训练网络,消耗过多资源,无法保证一个准确的mask,复杂的框架往往会积累错误
- Scene Object Removal
NeRF有很多3D场景编辑的任务,往往聚焦在多种多样的编辑类型,包括了纹理编辑、几何编辑、物体-中心编辑,如移除物体、甚至是多种操纵方式。
- Object-NeRF和ObjSDF
- 分解了NeRF training为背景和物体两个分支,支持对特定的物体进行渲染(通过设定物体ID)。
- 但是他们会在移除区域生成黑色空洞,因为在训练过程中没有对删除部分的监督/先验知识。
- NeRF-In [37], NeRF-ObjectRemoval [9], and SPIn-NeRF
- 利用了2D inpainting方法LaMa获取移除部分的先验知识,在删除物体后直接由这些先验知识重建场景。
- 虽然实现了更好的渲染效果,但这些方法需要较高的preconditions,例如标注/生成所有视角的masks,这需要依赖昂贵的时间和硬件资源。
- Combine pre-trained language models
- 支持text-prompt的编辑方式,因此不对masks有需求。
- 但是,移除区域的渲染效果很差,因为没有算法学习删除后的pixel value。
3 Background
- NeRF
- SPIn-NeRF
- 用户对一个视角标注一组点。
- 结合一系列系列分割方法获得所有视角下的masks。
- 使用2D inpainting model LaMa进行mask生成color和depth的先验。
- 删除物体后的场景将由改进后的NeRF(depth监督+感知loss)与这些先验直接对其重建。
4 Method
4.1 Multiview Segmentation
[通俗易懂]
4.2 Scene Object Removal
- Color Loss
-
R表示训练的批量大小。两个C (r) 分别是GT和rendered的RGB图像的pixels。
- Depth Loss(geometric consistency)
-
z表示从当前3D位置到相机位置的距离。
- Perceptual Loss(exhibit inconsistency)
-
聚焦于masked区域的perceptual loss。
5 Experiments
Datasets
- 从不同的3D重建数据集中选择12个场景,包括了NeRF LLFF data, IBRNet data [51], and LLFF real-world data。场景选择时包含了不同类型的场景和不同的移除操作类型(例如slogans的灵活度很高)。
- 由于3D重建数据集中不包含物体masks的GT,我们将SPIn-NeRF数据集合并,它包含了人工打标的物体masks以及物体移除后的场景。
- 对于多视角分割的评估,利用了SPIn-NeRF数据集中所有的10个场景。
- 对于场景物体移除的评估,利用了SPIn-NeRF数据集中的8个场景(删除两个重复场景,确保物体的布局多样化)
Metrics
- 多视图分割任务的指标
- Acc(pixel-wise accuracy):预测类别正确的像素数占总像素数的比例。
- IoU(intersection over union):交并比。
- 3D场景物体移除任务的指标(与移除后的GT对比)
- PSNR(peak signalto-noise ratio):峰值信噪比
- LPIPS(learned perceptual image patch similarity):感知图像块相似性
- FID(Frechet inception distance):FID 分数
Multiview Segmentation
Scene Object Removal
- dir:直接用LaMa先验训练NeRF
- dp:部分深度
- da:全部深度
- lpips:全部深度+使用感知损失
6 Conclusion
- 针对3D场景下的物体移除任务,提出了一个新的pipeline OR-NeRF,支持对单个视角的点/文本prompt。
- 强调了方法在渲染质量和时间消耗上的优势。
- 缺点是inpainting model的能力,更鲁棒的2D图像修复技术,例如基于diffusion的方法能够实现更合理的物体修复结果。
相关文章:
OR-NeRF论文笔记
OR-NeRF论文笔记 文章目录 OR-NeRF论文笔记论文概述Abstract1 Introduction2 Related Work3 Background4 Method4.1 Multiview Segmentation4.2 Scene Object Removal 5 ExperimentsDatasetsMetricsMultiview SegmentationScene Object Removal 6 Conclusion 论文概述 目的&am…...
【web】vue 播放后端(flask)发送的 mp3 文件
文章目录 演示后端(flask)前端(vue3)重要说明 演示 后端(flask) 后端返回的是 mp3 文件的 url,是可以直接在浏览器上打开后播放的处理跨域请求pip install flask-cors后端代码from flask impor…...
vmware安装openEuler 22.03 LTS操作系统
vmware安装openEuler 22.03 LTS操作系统 1、下载openEuler操作系统镜像文件2、安装openEuler操作系统3、配置openEuler操作系统3.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载openEuler操作系统镜像文件 官网下载链接 链接: https://www.openeuler.or…...
Android registerForActivityResult
startActivityForResult 已经被标记为不推荐的方法,推荐的替代方案是使用 registerForActivityResult: // Activity 的 onCreate 方法中调用 registerForActivityResult val activityResultLauncher registerForActivityResult(ActivityResultContract…...
【CSS】布局方式梳理和总结
1. 前言 网页布局是CSS的重点功能,布局的传统方案是基于盒子模型,依靠display属性、position属性和float属性,它对一些特殊布局很麻烦。 CSS3推出的Flex布局和网格布局,让开发者更容易定制自己想要的布局。本篇梳理和总结一些布局…...
PHP计算某时间段内有几个周及某时间为今年第几周函数
date_default_timezone_set(PRC); function count_weeks($startDate, $endDate ){//开始时间$startDate date(Y-m-d, $startDate);//结束时间if(empty($endDate)) {$endDate date(Y-m-d);}else{$endDate date(Y-m-d, $endDate);}//跨越天数$n (strtotime($endDate)-strtot…...
华为无线AC内三层漫游配置详解
重要说明 1、在一台ac中实现三层漫游 2、ac和核心的互联vlan和ap的管理vlan是同一个广播域,可以不用配option 43 3、直接转发模式,ac上可以不起业务vlan,ac和核心交换机上可以只放行一个互联vlan 10 4、ac上要启两个vap魔板,两个…...
GPT-5、开源、更强的ChatGPT!OpenAI公布2024年计划
年终岁尾,正值圣诞节热闹气氛的OpenAI写下了2024年的发展清单。 OpenAI联合创始人兼首席执行官Sam Altman在社交平台公布,AGI(稍晚一些)、GPT-5、更好的语音模型、更高的费率限制; 更好的GPTs;更好的推理…...
java idea中做一个简易的图书管理系统(控制台输入输出,无数据库)
1:先创建增删改查四个接口 (1)QueryBook查询接口 package com.by.dao;import com.by.entity.Book;public interface QueryBook {/*** 查询所有图书信息* param bs*/void selectBook(Book[] bs);/*** 根据名字查询一个图书信息* param bookN…...
C# PrinterSettings修改打印机纸张类型,paperType
需求:直接上图,PrinterSettings只能改变纸张大小,打印质量,无法更改打印纸类型 爱普生打印机打印照片已经设置了最高质量,打印图片仍不清晰,需要修改打印纸类型,使用PrintDialog调出对话框&…...
TV端Web页面性能优化实践
01 背景 随着互联网技术的持续创新和电视行业的高速发展,通过电视观看在线视频已经逐渐成为大众的重要娱乐方式。奇异果App作为在TV设备上用户活跃度最高的应用之一,为广大用户提供了丰富的内容播放服务,除此之外,同样有会员运营、…...
2023年终总结
前言: 嘻嘻,12月底广州降温了又到了写年终总结的时间,这也是我第二年写年终总结。今年的年终总结主要记录了我大三下学期和大四上学期这两个时间段的学习和收获,也是我尝试走出校园,接触社会的第一年(感触…...
深入探索MongoDB集群模式:从高可用复制集
MongoDB复制集概述 MongoDB复制集主要用于实现服务的高可用性,与Redis中的哨兵模式相似。它的核心作用是数据的备份和故障转移。 复制集的主要功能 数据复制:数据写入主节点(Primary)时,自动复制到一个或多个副本节…...
gem5学习(8):创建一个简单的缓存对象--Creating a simple cache object
目录 一、SimpleCache SimObject 二、Implementing the SimpleCache 1、getSlavePort() 2、handleRequest() 3、AccessEvent() 4、accessTiming() (1)缓存命中:sendResponse() (2)缓存未命中: 三、…...
【PTA-C语言】实验七-函数与指针I
如果代码存在问题,麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 目录——实验七-函数与指针I 6-1 弹球距离(分数 10)6-2 使用函数输出一个整数的逆序数(分数 10)6-3 使用函数求最大公约数(分数 10)6-4…...
C# 让数据保留小数后两位,不足的补充0
在C#中,可以使用Math.Floor、Math.Ceiling或者Math.Round方法结合字符串格式化来实现小数点后两位的保留,并在不足的情况下补充0。 以下是一个例子: double value 1.2345; string formattedValue value.ToString("0.00"); // 输…...
RK3568驱动指南|第九篇 设备模型-第92章 引用计数器实验
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…...
苹果电脑Dock栏优化软件 mac功能亮点
hyperdock mac是一款Dock优化软件,hyperdock支持使用窗口自动排列功能,您可以直接通过将窗口拖拉至屏幕上方来快速最大化至全屏,又或者拖动到左右来进行左分屏和右分屏。而且Dock优化软件还有一个特色便是对Dock的强大管理哪里能力࿰…...
【UE5蓝图】读取本地json文件修改窗口大小
效果 插件 蓝图 1.判断文件存在 2.1文件不存在,生成文件 {"ResolutionX":540, "ResolutionY":960} 2.2文件存在,直接读取 3.设置窗口大小 遇到的坑 1.分辨率太大,导致效果不理想,建议先往小填写。 2.选对…...
ACM32F403/F433 12 位多通道国产芯片,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中
ACM32F403/F433 芯片的内核基于 ARMv8-M 架构,支持 Cortex-M33 和 Cortex-M4F 指令集。芯片内核 支持一整套DSP指令用于数字信号处理,支持单精度FPU处理浮点数据,同时还支持Memory Protection Unit (MPU)用于提升应用的…...
2024最新前端React面试题:JSX是什么,它和JS有什么区别
JSX是什么,它和JS有什么区别 回答思路:1.编写方式--->2.分别是什么?--->3.分别是怎么编译的?1.编写方式2.分别是什么?3.分别是怎么编译的? 回答思路:1.编写方式—>2.分别是什么&#x…...
3d导入模型怎样显示原本材质---模大狮模型网
要在导入3D模型时保留原本的材质,您可以尝试以下方法: 导入前检查文件格式:确保您所使用的3D软件支持导入模型的文件格式。不同的软件对文件格式的支持有所差异,选择正确的文件格式可以更好地保留原始材质。 使用正确的材质库&am…...
web前端开发网页制作html/css结课作业
效果图展示: 注意事项: 引用JQuery文件地址和图片地址要更换一下。 百度网盘链接: http://链接:https://pan.baidu.com/s/1wYkmLr7csjBwQY6GmlYm4Q?pwd4332 提取码:4332 html界面展示: main.css代码部…...
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw图像和Bitmap图像的保存和相互转换(C#代码,UI界面版) 工业相机图像格式工业相机实现Raw图像和Bitmap图像的保存和转换的技术背景在相机SDK中获取图像转换图像的代码分析工业相机回调函数里保存Bitmap图像数据工…...
C++初阶------------------入门C++
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
深度学习核心技术与实践之自然语言处理篇
非书中全部内容,只是写了些自认为有收获的部分。 自然语言处理简介 NLP的难点 (1)语言有很多复杂的情况,比如歧义、省略、指代、重复、更正、倒序、反语等 (2)歧义至少有如下几种: …...
AI-ChatGPTCopilot
ChatGPT chatGPT免费网站列表:GitHub - LiLittleCat/awesome-free-chatgpt: 🆓免费的 ChatGPT 镜像网站列表,持续更新。List of free ChatGPT mirror sites, continuously updated. Copilot 智能生成代码工具 安装步骤 - 登录 github&am…...
网络安全-真实ip获取伪造与隐藏挖掘
目录 真实ip获取应用层网络层网络连接TOAproxy protocol ip伪造应用层网络层TOA攻击proxy protocol 隐藏代理 挖掘代理多地ping历史DNS解析记录国外主机解析域名网站RSS订阅网络空间搜索引擎 总结参考 本篇文章学习一下如何服务如何获取真实ip,隐藏自己的ip…...
CMake入门教程【核心篇】添加子目录(add_subdirectory)
文章目录 1.概述2.添加子目录3.指定二进制目录4.排除子目录5.使用别名6.传递变量7.检查子目录是否存在 1.概述 add_subdirectory是 CMake 中的一个命令,用于向当前项目添加一个子目录。它的语法如下: #mermaid-svg-9zKJ3AvoVRln9hon {font-family:"…...
Prototype原型模式(对象创建)
原型模式:Prototype 链接:原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作&am…...
中企动力做网站价格/百度seo文章
昨天是周五太放松了,晚上没有加班只顾着放松,玩了一晚上,今天又是睡了一上午,没有学习。这下放松过分了没有总结,也没有完成任务。今天来总结一下昨天的学习成果。 昨天设计的数据库今天老大点评了一下发现问题确实很多…...
网站标题空格/百度小说搜索热度排行榜
1.VGG 2.ResNet 3.DenseNet 4.ResNeXt 相关代码参考:PyTorch实现ResNeXt 5.ResNeSt 在ResNeXt的分组结构基础上,继续对每组划分R个split,执行Split Attention操作,最后将各个分组concatenate一起,经变换后和原始输入…...
在境外做色情网站/宁波网站关键词排名推广
可以参考此篇博文. http://www.cnblogs.com/linjiqin/archive/2013/03/24/2979736.html 不过我按照其步骤手动安装Linux的rar文件执行make命令并没有成功安装.... 在线通过yum 安装有时候会出现无法解析一些网站的情况,造成安装失败. 这个有时候需要分时间(我在线安装的时间是…...
手机网站模板图片/平台外宣推广技巧
教育 -市场营销-章节资料考试资料-淄博职业学院【】 第一讲作业 第一讲测验 1、【单选题】市场营销理论20世纪初诞生于( ) A、美国 B、法国 C、日本 D、英国 参考资料【 】 2、【单选题】市场营销组合的4P是指 ( ) A、价格&#x…...
的网站建设公司哪家好/站外推广方式
AHP是最基础的评价类算法: 解决评价类问题,大家首先要想到以下三个问题: (1) 我们评价的目标是什么?答:为小明同学选择最佳的旅游景点。 (2) 我们为了达到这个目标有哪几…...
微信网站域名备案成功后怎么做/中国宣布疫情结束日期
一. 出错原因 原因: 当后端传Long类型给前端, Long类型数据大于17位时, 前端拿到数据会损失精度.前端拿到的数据: 第16位会四舍五入, 17位后的数据自动用0代替)二. 解决方案 解决方案: 后端把Long类型改为String类型, 再传给前端三. 案例 1 传给前端是Long类型的单个数据 : …...