当前位置: 首页 > 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 第二点…...

RTOS:启动调度器的作用(含源码逐行解读)

文章目录 前言一、启动调度器二、详细逻辑分析三、逐行分析3.1、traceENTER_vTaskStartScheduler3.2、configASSERT( ( sizeof( UBaseType_t ) * taskBITS_PER_BYTE ) > configNUMBER_OF_CORES );3.3、xReturn prvCreateIdleTasks();3.4、xTimerCreateTimerTask();3.5、fre…...

榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案

在数字化浪潮下,传统医疗服务行业正面临效率提升与客户体验优化的双重挑战。针对口腔、美容、诊所、中医馆、专科医院及康复护理等需要预约或诊断服务的行业,我们开发了一款基于ThinkPHP+MySQL+UniApp的多门店服务预约小程序——榕壹云医疗服务系统。该系统通过模块化设计与开…...

构建一个“论文检索 + 推理”知识库服务,支持用户上传 PDF/LATEX 源码后,秒级检索并获得基于内容的问答、摘要、引用等功能

文章目录 1 总体目标 / Overall Goal2 数据管线 / Data Pipeline3 检索策略 / Retrieval Strategy4 服务切分 / Service Decomposition5 Agent & Prompt 设计 / Agent & Prompt6 核心功能 / Core Features7 评测与监控 / Evaluation & Monitoring8 面试亮点 / Inte…...

4.2.2 Spark SQL 默认数据源

在本实战概述中&#xff0c;我们探讨了如何在 Spark SQL 中使用 Parquet 格式作为默认数据源。首先&#xff0c;我们了解了 Parquet 文件的存储特性&#xff0c;包括其二进制存储方式和内嵌的 Schema 信息。接着&#xff0c;通过一系列命令&#xff0c;我们演示了如何在 HDFS 上…...

LangChain【3】之进阶内容

文章目录 说明一 LangChain Chat Model1.1 少量示例提示(Few-Shot Prompting)1.2 Few-Shot示例代码1.3 示例选择器&#xff08;Eample selectors&#xff09;1.4 ExampleSelector 类型1.5 ExampleSelector案例代码1.6 LangServe工具1.7 LangServe安装1.8 langchain项目结构1.9 …...

【OpenSearch】高性能 OpenSearch 数据导入

高性能 OpenSearch 数据导入 1.导入依赖库2.配置参数3.OpenSearch 客户端初始化4.创建索引函数5.数据生成器6.批量处理函数7.主导入函数7.1 函数定义和索引创建7.2 优化索引设置&#xff08;导入前&#xff09;7.3 初始化变量和打印开始信息7.4 线程池设置7.5 主数据生成和导入…...

RabbitMQ备份与恢复技术详解:策略、工具与最佳实践

RabbitMQ作为广泛使用的消息中间件&#xff0c;其高可用性和数据持久化能力使其成为分布式系统的核心组件。然而&#xff0c;硬件故障、人为误操作或灾难性事件仍可能导致数据丢失或服务中断。因此&#xff0c;建立可靠的备份与恢复机制是运维工作的关键环节。本文基于RabbitMQ…...

主流Markdown编辑器的综合评测与推荐

根据2025年最新资料&#xff0c;结合功能特性、用户体验和技术适配性&#xff0c;以下是对主流Markdown编辑器的综合评测与推荐&#xff1a; 一、核心对比维度与评估方法 功能完整性&#xff1a;支持数学公式、流程图、代码高亮等复杂格式。跨平台兼容性&#xff1a;Windows/m…...

Git切换历史版本及Gitee云绑定

1、git介绍 Git是目前世界上最先进的分布式版本控制系统 Linux <- BitKeeper&#xff08;不是开源的&#xff0c;但免费的&#xff0c;后来要收费&#xff09; Linus Torvalds(林纳斯托瓦兹) 两周时间吧&#xff0c;弄了个 Git&#xff1b;大约一个月就把Linux代码从BitK…...

Flannel 支持的后端

Flannel 是一个为 Kubernetes 设计的容器网络解决方案&#xff0c;支持多种后端&#xff08;backend&#xff09;来处理节点间的数据包转发。根据官方文档和其他可靠来源&#xff0c;以下是 Flannel 支持的后端类型及其说明&#xff1a; VXLAN&#xff08;推荐&#xff09; 描述…...