3D 生成重建016-SA3D从nerf中分割一切

3D 生成重建016-SA3D从nerf中分割一切


文章目录

    • 0 论文工作
    • 1 方法介绍
    • 2 实验结果

0 论文工作

1 SAM的背景和目标:
SAM 是一种强大的二维视觉基础模型,能够在 2D 图像中进行任意物体的分割。传统上,SAM 在二维空间表现出色,但其无法直接应用于三维物体分割。
本文的目标是将 SAM 的能力扩展到 3D 物体分割,避免了 3D 数据采集和标注的昂贵过程。为了实现这一目标,SA3D 利用 Neural Radiance Field (NeRF) 作为桥梁,将 2D 图像和 3D 空间进行连接。
2. 关键技术和创新:
NeRF 作为先验:
本文提出的方法通过利用 NeRF 学到的密度分布,将 SAM 得到的二维掩膜从一个视角映射到三维空间。NeRF 提供了从多视角图像到三维场景的连接,因此可以为不同视角之间的物体分割提供一致的指导。通过在 NeRF 中学习的视角一致的特征,可以在不同的视角中重建物体的三维掩膜。
掩膜反向渲染:首先从一个视角使用 SAM 对目标物体进行分割,得到一个二维掩膜。然后,通过反向渲染,将二维掩膜投影到 3D 空间,构建三维物体的体素掩膜。在这个过程中,NeRF 提供了密度信息来指导如何将二维掩膜有效地映射到三维空间。
自我提示:在完成当前视角的掩膜渲染后,SA3D 自动从 NeRF 渲染出的二维掩膜中提取有效的提示信息,并将其作为输入传递给 SAM,进行下一视角的分割。这个过程是交替进行的,直到通过多个视角生成完整的三维掩膜。
自我提示在简单场景中是一个可行的方法。但是场景比较复杂的话,比图说每个视图上有多个同类型的物体,在跨视图进行逆映射的时候,就会出现不一致。后面会有一些论文去优化这个问题。
paper
github

1 方法介绍

在 SA3D (Segment Anything in 3D) 方法中,自我提示(Self-Prompting) 是一种关键的技术,用来通过多视角的迭代过程生成三维掩膜。具体来说,自我提示的实现过程可以分为以下几个步骤:
初始二维掩膜生成:
1、给定一个视角中的目标物体,用户提供一个手动的粗略分割提示(例如一些粗略的点或框)。使用 SAM(Segment Anything Model)对这个视角中的物体进行分割,生成一个二维掩膜(mask)。
2、掩膜反向渲染。在生成了二维掩膜后,使用 NeRF(神经辐射场)技术将该掩膜投影到三维空间中。这一步是通过 反向渲染(inverse rendering)来完成的,即根据二维掩膜的密度分布信息,估计物体在三维空间中的分布。具体来说,NeRF 学习了一个三维场景的密度和颜色分布,通过这些信息可以将二维掩膜“反向映射”到三维空间中的体素网格,从而得到目标物体的三维掩膜。
3、跨视角自我提示:反向渲染得到三维掩膜后,SA3D 会自动生成用于下一视角的提示信息。这一步就是 自我提示 的关键。从 NeRF 渲染出的三维掩膜,通过与当前视角的关系,提取可靠的提示。具体来说,NeRF 渲染出的三维掩膜会被转换为该视角的二维图像,并与其他视角进行对比,寻找在其他视角中可能可靠的目标物体区域。这个过程类似于“从一视角生成另一视角的分割提示”。通过将已经生成的三维掩膜投影到新的视角,自动生成的提示信息可以帮助 SAM 在新的视角中进行物体分割。
4、循环迭代:自我提示的过程是 交替迭代 的。在每一轮迭代中,首先利用当前视角的二维掩膜通过 NeRF 渲染到三维空间,再利用三维掩膜在不同视角中生成新的二维分割提示,然后传递给 SAM 进行分割。随着迭代次数的增加,目标物体的三维掩膜逐渐变得更加精确和完整,因为每次迭代都会利用来自不同视角的信息进行完善。
自动生成提示:通过利用 NeRF 渲染出的三维掩膜,SA3D 自动提取出下一视角的分割提示,而无需人工干预。这意味着整个分割过程可以在没有更多人工输入的情况下继续进行。
跨视角信息利用:通过在不同视角间的交替提示,系统能够在多视角下自我调整并优化三维分割结果。
总结:自我提示的实现本质上是一种通过 NeRF 渲染的三维掩膜来生成可靠提示的过程,并通过跨视角的反馈和迭代逐步完善目标物体的三维分割结果。这使得 SA3D 能够在多视角间利用信息自我引导,快速生成高质量的三维物体分割,而无需人工提供多个视角的详细标注。
在这里插入图片描述

2 实验结果

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu环境安装RabbitMQ

1.安装Erlang RabbitMq需要Erlang语⾔的⽀持,在安装rabbitMq之前需要安装erlang # 更新软件包 sudo apt-get update # 安装 erlang sudo apt-get install erlang 查看erlang版本 : erl 退出命令:halt(). 2. 安装RabbitMQ # 更新软件包 sudo apt-get update # 安装 …

FSWIND脉动风-风载时程生成器软件原理

大量风的实测资料表明,在风的时程曲线中,瞬时风速包含两个部分:一部分是自振周期一般在 10 分钟以上的平均风,另一部分是周期一般只有几秒左右的脉动风。平均风由于其周期一般比结构的自振周期大,因而考虑其作用性质相…

【JavaWeb后端学习笔记】MySQL的数据查询语言(Data Query Language,DQL)

MySQL DQL 1、DQL语法与数据准备1.1 DQL语法1.2 数据准备 2、基础查询2.1 查询指定字段2.2 查询返回所有字段2.3 给查询结果起别名2.4 去除重复记录 3、条件查询3.1 条件查询语法3.2 条件查询案例分析 4、分组查询4.1 分组查询语法4.2 分组查询案例分析 5、排序查询5.1 排序查询…

优化工业应用的振动筛

了解如何使用 Ansys Rocky 优化振动筛性能。 振动筛 振动筛在许多散装物料处理过程中发挥着重要作用,可实现有效的颗粒分离和分类。 它们在采矿、采石、建筑、回收和食品加工行业尤为常见。它们的设计和操作需要仔细考虑材料特性、工艺要求和环境因素,…

git修改某次commit(白痴版)

第一步 在bash窗口运行 git rebase --interactive commitId^ 比如要改的commitId是 abcedf git rebase --interactive abcedf^键盘 按 i 或者 ins 进入编辑状态 进入insert 编辑状态 在bash窗口手动把对应commit前面的pick改为e或edit 按 esc 进入退出程序 输入 :wq 保存退出…

基于 RNN(GRU, LSTM)+CNN 的红点位置检测(pytorch)

文章目录 1 项目背景2 数据集3 思路4 实验结果5 代码 1 项目背景 需要在图片精确识别三跟红线所在的位置,并输出这三个像素的位置。 其中,每跟红线占据不止一个像素,并且像素颜色也并不是饱和度和亮度极高的红黑配色,每个红线放大…

word如何快速创建目录?

文章目录 1,先自己写出目录的各级标题。2、选中目标标题,然后给它们编号3、给标题按照个人需求开始分级4、插入域构建目录。4.1、利用快捷键插入域构建目录4.2、手动插入域构建目录 听懂掌声!学会了吗? 前提声明:我在此…

【金猿CIO展】复旦大学附属中山医院计算机网络中心副主任张俊钦:推进数据安全风险评估,防范化解数据安全风险,筑牢医疗数据安全防线...

‍ 张俊钦 本文由复旦大学附属中山医院计算机网络中心副主任张俊钦撰写并投递参与“数据猿年度金猿策划活动——2024大数据产业年度优秀CIO榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 数据要素时代,医疗数据已成为医院运营与决策的重要基石…

【工具变量】上市公司企业劳动密集度数据(2008-2023年)

一、测算方式: 参考《数量经济技术经济研究》陈勇兵(2023)老师的做法,使用员工数量与销售收入的比值作为劳动密集度的度量标准* o/ b% C( e* U我们做的比他完善,分为四类大家可以做核心变量或者稳健性检验Labor1&…

实现RAGFlow-0.14.1的输入框多行输入和消息框的多行显示

一、Chat页面输入框的修改 1. macOS配置 我使用MacBook Pro,chip 是 Apple M3 Pro,Memory是18GB,macOS是 Sonoma 14.6.1。 2. 修改chat输入框代码 目前RAGFlow前端的chat功能,输入的内容是单行的,不能主动使用Shift…

【漫话机器学习系列】Adaboost算法

Adaboost(Adaptive Boosting)是一种经典的集成学习方法,主要思想是通过将多个弱学习器(通常是简单模型,如决策树桩)加权组合,来提升整体模型的预测能力。Adaboost 是一种自适应的学习方法&#…

第四学期-智能数据分析-期末复习题

智能数据分析期末复习(2024春) 【考试形式】:闭卷,90分钟,笔试 【题型分布】: 单选题10题,每题3分,共计30分 判断题10题,每题2分,共计20分 填空题5题&…

数据结构初阶---栈和队列

一、栈Stack 1.栈的概念 栈是一种特殊的线性表,只允许在固定的一端进行插入与删除操作。进行插入与删除操作的一端被称之为栈顶,另一端称之为栈底。栈中的数据元素遵循先进后出(FILO)或者说后进先出(LIFO)原则 栈的插入操作称之为压栈/入栈/进栈&…

ASP.NET Web UI 框架 Razor Pages/MVC/Web API/Blazor

前言 💢 🎯 记得以前用 Asp.net 做 网页开发 是的时候那时候还是 Web Forms ,后来 MVC 出来后也是火的不得了。那个时候还没有所谓的前后端分离一说,像 Vue.js、React 、Angular 的这些前端框架还没出生,那时候 Jquery…

YOLOV11 快速使用教程

概述 这里主要记录使用NVIDIA GPU pytorch 检测系列模型的快速使用方式,可以快速解决一些工业应用的问题,比如:无网、数据大需要改路径、需要记录不同实验结果等问题。 安装 参考官网,自己安装好Python > 3.8和pytorch >…

双绞线直连两台电脑的方法及遇到的问题

文章目录 前言一、步骤二、问题总结:问题1:遇到ping不通的问题。问题2:访问其他电脑上的共享文件时提示输入网络凭证问题3:局域网共享文件时提示“没有权限访问,请与网络管理员联系请求访问权限” 前言 办公室里有两台电脑,一台装了显卡用于…

电子信息工程自动化 基于单片机的出租车计价器设计

摘 要 出租车作为一种城市中非常重要的公共交通工具,他与人们的生活息息相关。所以我也设计了一款出租车计价器,它采用模块化设计,包含里程测量模块、数据存储模块、按键模块、时钟模块、显示模块、语音播报模块六大主要模块。本设计的出租车…

day1:ansible

ansible-doc <module_name>&#xff08;如果没有网&#xff0c;那这个超级有用&#xff09; 这个很有用&#xff0c;用来查单个模块的文档。 ansible-doc -l 列出所有模块 ansible-doc -s <module_name> 查看更详细的模块文档。 ansible-doc --help 使用 --help …

yolov,coco标记的无增强版的水稻病害数据集 共 1448 张图片

之前用过增强图片之后标记的效果不是特别理想&#xff0c;因此这里给大家分享一下使用无增强的版本&#xff1a; yolov,coco标记的无增强版的水稻病害数据集 共 1448 张图片 稻瘟病 细菌性枯萎病 褐斑病 数据集下载&#xff1a; yolov8&#xff1a;https://download.csdn.net…

uniapp微信小程序开发地图多边形渲染,圆形渲染,省市区区域渲染解决方案-(已实测通过)

一、多边形渲染(只需给map组件绑定对应的polygons即可) <mapid="map"class="map":latitude="latitude":longitude="longitude":markers="covers":polyline="polyline":scale="18"@markertap="…