GPTEval3D
《GPT-4V(ision)是一个适合人类的文本到3D生成评估器》论文的实现。 这包含了一个用于评估文本到3D生成模型的评估指标。
新闻
安装
此代码库的主要依赖是OpenAI库和PyTorch。 对于PyTorch的安装,请参考官方网站,因为它高度依赖于环境。 以下是安装其他包的代码:
# 安装OpenAI API
pip install --upgrade openai
# 其他包
pip install --upgrade tqdm numpy Pillow gdown
评估您的文本到3D模型
步骤1. 数据下载
有关数据格式的详细说明,请参阅此文档。
# 测试数据
# 13种方法;110个提示;每个方法120个均匀的RGB和法线图渲染。
# Google Drive: https://drive.google.com/file/d/1pYmSRu_oMy_v6f7ngnkFER6PNWmJAe52/view?usp=sharing
cd data/tournament-v0
gdown "https://drive.google.com/uc?id=1pYmSRu_oMy_v6f7ngnkFER6PNWmJAe52"
unzip methods
步骤2. 准备数据
请在比赛文件夹下找到prompts.json
文件(例如data/tournament-v0/prompts.json
)。
对于其中列出的每个提示,使用您的文本到3D生成模型为每个提示创建一个或多个形状。
对于每个形状,请使用Threestudio代码库选择的相机角度渲染120个均匀分布的视图。
对于每个渲染,请尝试创建512x512分辨率。
对于每个RGB渲染,还请创建其对应的表面法线渲染。
这些渲染将提供给GPT-4V。
最后,将渲染的图像组织成以下文件夹结构:
- data/<您的方法名称>/
# 从零开始的提示
- <prompt-id-1>/
-<seed1>
rgb_001.png
...
rgb_119.png
normal_001.png
...
normal_119.png
...
步骤3. 运行评估
一旦我们将数据放入评估可以解析的格式中,我们可以运行以下命令来获取ELO分数,将您的方法置于现有比赛中。
python gpt_eval_alpha.py \
--apikey <您的openai_api密钥> \
--eval new_method \ # 评估新方法
-t data/t23d-tournament-v0 \ # 比赛数据文件夹
-m data/<您的方法名称> \ # 方法文件夹
-o results/<您的方法名称> # (可选)输出目录
计算比赛分数
步骤1:组织数据
请按以下结构组织一组文本到3D生成模型。
<根目录>
config.json
prompts.json
methods/
<方法名称-1>
<prompt-id-1>
<seed-1>
rgb_0.png ...
normal_0.png ...
...
<seed-k>
...
<prompt-id-m>
...
<方法名称-n>
有关应该放入config.json
和prompts.json
的更多信息,
请参见此链接。
步骤2:运行评估
python gpt_eval_alpha.py \
--apikey <您的openai_api密钥> \
--eval tournament \ # 评估新方法
-t <比赛数据路径> \ # 比赛数据文件夹
-b 200 \ # 预算(请求次数)
-o results/<比赛名称> # (可选)输出目录
即将推出
- 更多可视化和实用工具!
- 文本到3D排行榜
引用
如果您发现我们的代码库对您的研究有用,请引用:
@inproceedings{wu2023gpteval3d,
author = {Tong Wu and Guandao Yang and Zhibing Li and Kai Zhang and
Ziwei Liu and Leonidas Guibas and Dahua Lin and Gordon Wetzstein},
title = {GPT-4V(ision) is a Human-Aligned Evaluator for Text-to-3D Generation},
booktitle = {CVPR},
year = {2024},
}
}
致谢
我们真诚地感谢以下项目,包括GPT-4V、threestudio、mvdream、prolificdreamer、fantasia3d、point-e、shap-e、dreamgaussian、wonder3d、syncdreamer提供的优秀代码库!