当前位置: 首页 > news >正文

[23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation

  • 3D生成蓬勃发展,主流方法通过事例比较用户调查来评价方法好坏,缺少客观比较指标;
  • 本文提出T^3Bench,首次综合比较了不同生成方法;
  • 具体来说,本文设计了质量评估(Quality Assessment)和对齐评估(Alignment Assessment),前者评价生成物体的质量,后者评价生成物体与文本的对齐程度;
  • 针对质量评估,本文提出一种多视角ImageReward的评估方法。具体来说,本文以3D物体为中心,构建二阶二十面体(level-2 icosahedron),以多面体顶点为相机位置渲染161张图片。考虑到顶部和底部不适合评价3D模型,本文提出一种regional convolution mechanism,基于图建模多面体顶点对应分数,并平滑局部区域分数。
  • 针对对齐评估,本文提出一种3D Caption + GPT4的评估方法。具体来说,本文以3D物体为中心,构建零阶二十面体,渲染12张图片。用BLIP描述每张图片,并用GPT-4融合这些描述,得到物体的3D描述。本文设计Prompt让GPT-4评价3D Caption和给定文本的匹配程度。
  • 最终,作者通过与真实用户评分进行相关性检验,验证了所提评估方法的有效性。

Method

Prompt Design

  • 本文设计了三组提示词,包括:单个物体(single object),具有环境描述的单个物体(Single object with surroundings)和多个物体(Multiple objects)。
  • 首先用GPT-4生成候选提示词,人工筛选掉专有名词和地名。随后,用ROUGE-L去除相似的提示词。最终,得到N个不同的提示词。

Unified 3D Representation

  • 考虑到应用便捷性,本文选择Mesh作为评估3D表征。
  • 有两种方法将NeRF转换为Mesh:DMTet和Marching Cube,本文选择性能较好的那个进行评估。

Evaluation Metrics

Quality Assessment

  • Mesh Normalization. 将3D场景缩放至[-1, 1]之间。
  • Multi-Focal Capturing. 设计了5种不同的focla lengths,选择文本-图片匹配分数最高的作为该点分数。
  • Multi-View Capturing. 以物体为中心,构建二阶二十面体(level-2 icosahedron),以多面体顶点为相机位置渲染161张图片。
  • Scoring and Regional Convolution. 将二十面体视作图,顶点为渲染图片评价分数。通过下列工作递归求得区域均值。其中,N(i)是第i点的相邻点。递归三次后,取最高分作为3D生成物体的最终评价分数。

 

Alignment Assessment

  • 本文以3D物体为中心,构建零阶二十面体,渲染12张图片。
  • 用BLIP描述每张图片,并用GPT-4融合这些描述,得到物体的3D Caption。本文设计Prompt让GPT-4评价3D Caption和给定文本的匹配程度。
  • 考虑到BLIP描述中会引入额外的细节,会导致与给定文本不匹配,分数降低。因此,本文设计了特定的prompt,让GPT-4仅考虑:给定文本中的特征,是否存在于3D Caption中。以下为测试样例:

Prompt: You are an assessment expert responsible for prompt-prediction pairs. Your task is to score the prediction according to the following requirements:

1. Evaluate the recall, or how well the prediction covers the information in the prompt. If the prediction contains information that does not appear in the prompt, it should not be considered as bad.

2. If the prediction contains correct information about color or features in the prompt, you should also consider raising your score.

3. Assign a score between 1 and 5, with 5 being the highest. Do not provide a complete answer; give the score in the format: 3

Prompt: A photographer is capturing a beautiful butterfly with his camera

Prediction: A man photographing a butterfly near a tree and map, surrounded by plants

Answer: 4

Experiments 

Metric Evaluation

  • 本文首先让评估专家,对6种3D生成方法的30%生成结果进行打分,得到1080个分数。
  • 本文用Spearman's \rho,Kendall's \tau和Pearon's \rho相关性系数进行评估。

Benchmarking Results

  • Experimental Setup. 本文为3组提示词,每组生成100个提示词,得到最终300个提示词。基于ThreeStudio测试了DreamFusion,Magic3D,LatentNeRF,Fantasia3D,SJC和ProlificDreamer。渲染图片分辨率为512 x 512。对SJC,Magic3D和Fantasia3D使用DMTet提取Mesh,其他方法使用Marching Cube algorithm。

  • Comparison of different methods. 1)Dreamfusion:生成纹理较差,不能生成较复杂的几何;2)Magic3D和LatentNeRF:受益于coarse-to-refine策略,但是对环境和多物体生成效果较差;3)SJC:场景中噪声较多,较难提取高质量3D mesh;4)Fantasia3D:对复杂场景较难生成准确几何;5)ProfilifcDreamer:VSD引入了大量不想管信息或几何噪声,随着目标数量增加,导致评价指标下降。

2D Guidance Analysis

  • 本文用相同的提示词生成图像,并计算图像分数和3D物体分数的Spearman相关性系数。
  • 实验发现,所有相关性都较弱。1)在text-to-3D中生成效果较好的方法,相关性系数更高;2)在Single Object比Single Object with Surroundings好,进一步优于Multiple Objects。本文认为,SD在多数时间可以生成合理的2D图像,却无法生成合理的3D物体,这说明现有2D引导词不适用于text-to-3D方法。text-to-3D的瓶颈在于2D guidance的view consistency,而不是SD本身的生成能力。

Multi-view Inconsistency Analysis

  • 当前评分可以较好反应多脸问题(Janus Problem)

More Results of Test Prompts

 

相关文章:

[23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation

3D生成蓬勃发展,主流方法通过事例比较和用户调查来评价方法好坏,缺少客观比较指标;本文提出Bench,首次综合比较了不同生成方法;具体来说,本文设计了质量评估(Quality Assessment)和对…...

linux系统如何定时关机

立刻关机 poweroff 10分钟后自动关机 shutdown -h 10 如果希望终止上面执行的10分钟关机,则执行: shutdown -c 希望在22:00关闭计算机 shutdown -h 22:00...

构建高性能物联网数据平台:EMQX和CnosDB的完整教程

CnosDB 是一款高性能、高压缩率、高易用性的开源分布式时序数据库。主要应用场景为物联网、工业互联网、车联网和IT运维。所有代码均已在GitHub开源。本文将介绍如何使用EMQX 这一MQTT 服务器 CnosDB 构建物联网数据平台,实现物联网数据的实时流处理。 前言 在物联…...

【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

文章目录 filetype plugin indent on 什么功能?vim runtimepath 详细介绍vim 中 execute 命令详细介绍execute pathogen#infect() 详细介绍 filetype plugin indent on 什么功能? 在网上我们经常可以看到vimrc配置中有 filetype plugin indent on 这个配…...

[备忘]WindowsLinux上查看端口被什么进程占用|端口占用

Windows上 查看端口占用&#xff1a; netstat -aon|findstr <端口号> 通过进程ID查询进程信息 tasklist | findstr <上一步查出来的进程号> 图例&#xff1a; Linux 上 查看端口占用&#xff1a; netstat -tuln | grep <端口号> lsof -i:<端口号&…...

函数的扩展

文章目录 函数的扩展1.函数参数的默认值1.1 基本用法-- 参数变量是默认声明的&#xff0c;所以不能用 let或const 再次声明-- 使用参数默认值时&#xff0c;函数不能有同名参数1.2 与解构赋值默认值结合使用☆☆☆ 函数参数的默认值生效以后&#xff0c;参数解构赋值依然会进行…...

Cypress安装使用

node.js 安装使用Cypress总是会看见node.js&#xff0c;那就先看看node.js是什么。JavaScript以前运行需要在浏览器中&#xff08;浏览器内置解释器&#xff09;&#xff0c;通过node.js框架内置v8引擎&#xff08;也就是可以执行js脚本所需的工具&#xff09;&#xff0c;这样…...

怎么把图片改成jpg格式?

怎么把图片改成jpg格式&#xff1f;大家都知道&#xff0c;随着计算机被发明到现在已经存在了很多年&#xff0c;在这么多的的技术发展过程中&#xff0c;也形成了种类非常多的图片文件格式&#xff0c;例如平时我们能接触到的图片格式有jpg、png、gif、bmp、heic、tiff、jfif、…...

[一带一路金砖 2023 CTF]Crypto

题1 题目描述&#xff1a; from Crypto.Util.number import * from flag import flag import gmpy2 assert(len(flag)38) flag bytes_to_long(flag)p getPrime(512) q getPrime(512)e 304 enc pow(flag,e,p*q) print(p) print(q) print(enc) #9794998439882070838464987…...

FPGA【Verilog语法】

关键字&#xff1a; and always assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endprimitive endmodule endspecify endtable …...

Flume 整合 Kafka

1.背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kaf…...

VUE:侧边弹出栏组件,组件中有树状图,搜索框可筛选树状图节点,可收缩

作者:CSDN @ _乐多_ 本文记录了一个侧边弹出栏组件代码。代码即插即用。 弹出栏中有树状图,搜索框,可收缩。 其中,搜索框可筛选树状图节点。点击右侧小按钮可以收缩弹出框,点击X号也可以收缩弹出框。 文章目录 一、组件代码代码依赖element-plus库。且需要下载几个svg图…...

如何使用pytorch定义一个多层感知神经网络模型——拓展到所有模型知识

# 导入必要的库 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, random_split import torchvision.transforms as transforms import torchvision.datasets as datasets# 定义MLP模型 class MLP(nn.Module):def __…...

为什么引入SVG文件,给它定义属性不生效原理分析

背景&#xff1a; 我使用antd 的Icon组件引入SVG图片&#xff0c;但给svg图片定义styles样式时&#xff0c;不生效&#xff0c;为什么呢&#xff1f; 我们平时用antd组件库的 < ArrowRightOutlined style{{color: red }}>时为什么会生效呢&#xff0c;但我图一这样定义就…...

Integer包装类常用方法和属性

包装类 什么是包装类Integer包装类常用方法和属性 什么是包装类 Java 包装类是指为了方便处理基本数据类型而提供的对应的引用类型。Java 提供了八个基本数据类型&#xff08;boolean、byte、short、int、long、float、double、char&#xff09;&#xff0c;每个基本数据类型对…...

基于Spring boot轻松实现一个多数据源框架

Spring Boot 提供了 Data JPA 的包&#xff0c;允许你使用类似 ORM 的接口连接到 RDMS。它很容易使用和实现&#xff0c;只需要在 pom.xml 中添加一个条目&#xff08;如果使用的是 Maven&#xff0c;Gradle 则是在 build.gradle 文件中&#xff09;。 <dependencies>&l…...

vue前端实现打印功能并约束纸张大小---调用浏览器打印功能打印页面部分元素并固定纸张大小

需求是打印指定div实现小票打印功能。调用浏览器的自带打印功能只能实现打印可视区域&#xff0c;所以这里采用截图新窗口打开打印去实现此需求。 1.安装html2canvas库实现截图功能 npm install html2canvas --save2.在需要进行截图和打印的组件中&#xff0c;引入html2canvas…...

音乐播放器蜂鸣器ROM存储歌曲verilog,代码/视频

名称&#xff1a;音乐播放器蜂鸣器ROM存储歌曲 软件&#xff1a;Quartus 语言&#xff1a;Verilog 代码功能&#xff1a; 设计音乐播放器&#xff0c;要求至少包含2首歌曲&#xff0c;使用按键切换歌曲&#xff0c;使用开发板的蜂鸣器播放音乐&#xff0c;使用Quartus内的RO…...

Arduino Nano 引脚复用分析

近期开发的项目为气体传感器采集仪&#xff0c;综合需求&#xff0c;选取NANO作为主控&#xff0c;附属设备有 oled、旋转编码器、H桥板、蠕动泵、开关、航插等&#xff0c;主要是用现有接口怎么合理配置实现功能。 不管stm32 还是 Arduino 都要看清引脚图 D2 D3 引脚是两个外…...

Go 函数多返回值错误处理与error 类型介绍

Go 函数多返回值错误处理与error 类型介绍 文章目录 Go 函数多返回值错误处理与error 类型介绍一、error 类型与错误值构造1.1 Error 接口介绍1.2 构造错误值的方法1.2.1 使用errors包1.2.2 自定义错误类型 二、error 类型的好处2.1 第一点&#xff1a;统一了错误类型2.2 第二点…...

避坑指南:用STM32CubeMX配置SPI驱动MAX7219数码管的几个关键细节

STM32CubeMX实战&#xff1a;避开MAX7219数码管驱动的5个致命配置误区 第一次用STM32CubeMX配置SPI驱动MAX7219数码管时&#xff0c;我盯着屏幕上闪烁不定的数字差点崩溃——明明按照教程一步步操作&#xff0c;为什么显示总是错乱&#xff1f;后来才发现&#xff0c;那些看似简…...

三步搞定!用bilidown轻松下载B站8K超清视频的完整指南

三步搞定&#xff01;用bilidown轻松下载B站8K超清视频的完整指南 【免费下载链接】bilidown 哔哩哔哩视频解析下载工具&#xff0c;支持 8K 视频、Hi-Res 音频、杜比视界下载、批量解析&#xff0c;可扫码登录&#xff0c;常驻托盘。 项目地址: https://gitcode.com/gh_mirr…...

Lean 4:用数学证明构建高可靠软件的革命性工具

Lean 4&#xff1a;用数学证明构建高可靠软件的革命性工具 【免费下载链接】lean4 Lean 4 programming language and theorem prover 项目地址: https://gitcode.com/GitHub_Trending/le/lean4 问题&#xff1a;当系统崩溃成为不可承受之重 2024年3月&#xff0c;某医疗…...

【Python异步I/O终极指南】:20年CTO亲授asyncio高并发实战心法,避开97%开发者踩过的12个致命陷阱

第一章&#xff1a;Python异步I/O的本质与演进脉络Python异步I/O并非简单的“多线程替代方案”&#xff0c;其本质是**在单线程内通过事件循环&#xff08;event loop&#xff09;协同调度I/O等待任务&#xff0c;避免CPU空转&#xff0c;实现高并发吞吐**。它依赖操作系统底层…...

3大核心突破!MAT图像修复技术全解析:从环境部署到实战应用

3大核心突破&#xff01;MAT图像修复技术全解析&#xff1a;从环境部署到实战应用 【免费下载链接】MAT MAT: Mask-Aware Transformer for Large Hole Image Inpainting 项目地址: https://gitcode.com/gh_mirrors/ma/MAT MAT&#xff08;Mask-Aware Transformer for La…...

OPC UA Web访问避坑指南:如何选择RESTful、WebSocket还是GraphQL?

OPC UA Web访问技术选型实战&#xff1a;RESTful、WebSocket与GraphQL深度对比 工业物联网领域的技术架构师们经常面临一个关键决策&#xff1a;如何为OPC UA服务器选择最合适的Web访问方式&#xff1f;这个问题看似简单&#xff0c;却直接影响着系统性能、开发效率和长期维护成…...

Phaser游戏中的布料模拟:高级物理效果终极指南

Phaser游戏中的布料模拟&#xff1a;高级物理效果终极指南 【免费下载链接】phaser Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. 项目地址: https://gitcode.co…...

Lua代码混淆实战:基于Prometheus的Unity项目保护指南

1. 为什么你的Unity项目需要Lua代码混淆 最近有个做独立游戏的朋友跟我吐槽&#xff0c;他花半年开发的游戏上线不到一周就被破解了。更气人的是&#xff0c;破解版直接去掉了内购系统&#xff0c;还挂在第三方平台免费下载。这种情况在游戏圈太常见了&#xff0c;特别是使用Lu…...

Tesla Dashcam:3步搞定特斯拉行车记录视频合并的专业工具

Tesla Dashcam&#xff1a;3步搞定特斯拉行车记录视频合并的专业工具 【免费下载链接】tesla_dashcam Convert Tesla dash cam movie files into one movie 项目地址: https://gitcode.com/gh_mirrors/te/tesla_dashcam 还在为特斯拉行车记录仪生成的零散视频文件而烦恼…...

springboot-vue基于web的同城医院陪诊服务预约系统设计与实现

目录技术选型与架构设计核心功能模块划分数据库设计要点关键接口示例安全与性能优化测试与部署项目里程碑计划项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术选型与架构设计 后端技术栈 使用Spring Boot 2.7.x框架搭建RE…...