[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

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatisPlus的学习项目页面

MyBatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息 类名驼峰转下划线作为表名 名为id的字段作为主键 变量名驼峰转下划线作为表的字段名 常见注解 TableName:用来指定表名 Tableld:用来指定表中的主键字段信息 Tabl…

攻防世界题目练习——Web引导模式(三)(持续更新)

题目目录 1. mfw2.3.4.5. 1. mfw 进去看到网页和页面内容如下: 看到url的参数 ?pageabout ,我以为是文件包含什么的,反复试了几次,想用 …/…/…/…/etc/passwd ,但是发现.似乎被过滤了,实在不知道怎么做…

SpringCloud学习笔记-Nacos服务分级存储模型

Nacos服务分级存储模型 一级是服务,例如userservice二级是集群,例如杭州或上海三级是实例,例如杭州机房的某台部署了userservice的服务器 微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集…

Pygame中将鼠标形状设置为图片2-1

在Pygame中利用Sprite类的派生类将鼠标形状设置为图片,其原理就是将Sprite类的派生类对应图片的位置设置为鼠标的当前位置即可。其效果如图1所示。 图1 将鼠标设置为图片 从图1可以看出,鼠标的形状变为红色的,该红色的随着鼠标的移动而移动&…

前后端数据导入导出Excel

一:导入 Excel有读取也便有写出,Hutool针对将数据写出到Excel做了封装。 原理 Hutool将Excel写出封装为ExcelWriter,原理为包装了Workbook对象,每次调用merge(合并单元格)或者write(写出数据&…

激发创意,打造震撼视觉效果——Adobe After Effects 2024(Ae2024)全新来袭!

想要创造独特的、令人惊叹的视觉效果吗?不要犹豫,现在就升级到全新的Adobe After Effects 2024(Ae2024)!作为业界领先的动态图形和视觉效果软件,Ae2024将为您的创作带来前所未有的火花。 Ae2024拥有强大的…

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案 自从chatGPT掀起的AI大模型热潮以来,国内大模型研究和开源活动,进展也如火如荼。模型越来越大,如何在小显存部署和使用大模型? 本实战专栏将评估一系列的开源模型&#xf…

处理ElementUI组件默认样式多次重复问题

问题截图: 解决办法: 在postcss.config.js文件里添加配置项: module.exports {plugins: {autoprefixer: {},cssnano: {} //添加这行代码}, } 处理结果: github issues: https://github.com/ElemeFE/element/is…

【LeetCode高频SQL50题-基础版】打卡第6天:第31~35题

文章目录 【LeetCode高频SQL50题-基础版】打卡第6天:第31~35题⛅前言员工的直属部门🔒题目🔑题解 判断三角形🔒题目🔑题解 连续出现的数字🔒题目🔑题解 指定日期的产品价格🔒题目&am…

让ChatGPT等模型学会自主思考!开创性技术“自主认知”框架

ChatGPT、百度文心一言、Bard等大语言模型展现出了超强的创造能力,加速了生成式AI的应用进程。但AI模型只能基于训练数据执行各种任务,无法像人类一样利用生活知识、过往经验用于复杂的推理和决策。 例如,在玩游戏时,人类可以利用…

01Maven的工作机制: Maven作为依赖管理工具以及Maven作为构建管理工具

Maven的特点及其应用 Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具 Maven作为依赖管理工具 管理jar包的规模: 随着我们使用的框架数量越来越多以及框架的封装程度也越来越高,项目中使用的jar包也就越来越多 Maven工程中依…

Qt QMovie和QLabel配合播放GIF表情包

文章目录 效果演示main函数创建MoviePlayer对象头文件movieplayer.h源文件movieplayer.cpp代码解释在Qt框架中,QMovie是用于处理动画和视频的类。所有源码已在本篇文章公布。 效果演示 main函数创建MoviePlayer对象 #include <QApplication>#include "movie

至强服务器BIOS/UEFI驱动开发笔记

至强服务器BIOS/UEFI驱动开发笔记 驱动开发基础Hello UEFI Driver 项目选择项目位置初始化驱动代码文件结构驱动程序入口和基本功能导入AMI工程AMI平台Hello UEFI Driver 编译问题测试结果打印设备列表继续开发`HelloWorldSupported`函数依赖配置使用脚本编译编译测试此DXE驱动…

RCNN系列网络的理解

R-CNN 作者 &#xff1a; Ross Girshick FAST R-CNN 作者 &#xff1a; Ross Girshick FASTER R-CNN 作者 &#xff1a; Jian Sun MASK R-CNN 作者 &#xff1a;kaiming he 一…

kong 和konga网关部署及使用

Kong是一款基于OpenResty&#xff08;Nginx Lua模块&#xff09;编写的高可用、易扩展的&#xff0c;由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的&#xff0c;能提供易于使用的RESTful API来操作和配置API管理系统&#xff0c;…

使用XLua在Unity中获取lua全局变量和函数

1、Lua脚本 入口脚本 print("OK") --也会执行重定向 require("Test") 测试脚本 print("TestScript") testNum 1 testBool true testFloat 1.2 testStr "123"function testFun()print("无参无返回") endfunction te…

Android Framework通信:Handler

文章目录 前言一、Handler源码分析1、创建Handler2、发送消息3、取消息4、消息处理5、线程切换的方法&#xff08;Handler异步消息处理机制流程&#xff09;handler.sendMessage()handler.post()View.post()Activity中的runOnUiThread() 二、Handler高频面试题1、为什么要有Han…

React TreeSelect设置默认展开项的方法

需要实现TreeSelect组件的onTreeExpand、treeExpandedKeys方法。 代码样例如下&#xff1a; 1.TreeSelect标签部分 render() {const {codeselect} this.props;const {treeExpandedKeys} this.state ................<TreeSelectshowSearch{false}dropdownStyle{{ maxHei…

Java架构师缓存架构设计解决方案

目录 1 缓存常见的三大问题1.1 缓存雪崩1.2 缓存穿透1.3 缓存击穿2 缓存key的生成策略3 热点数据集中失效的问题4 如何提高缓存的命中率5 缓存和数据库双写不一致的问题6 如何对缓存数据进行分片想学习架构师构建流程请跳转:Java架构师系统架构设计 1 缓存常见的三大问题 缓…

分布式事务协调中间件---seata快速入门

分布式事务 Seata&#xff0c;之前叫做Fescar&#xff0c;是一个开源的分布式事务解决方案&#xff0c;它主要致力于提供高效和简单的分布式事务服务。Seata主要用于解决微服务架构下的数据一致性问题。 Seata 的基本原理是基于两阶段提交 (2PC) 以及三阶段提交 (3PC)&#xff…