SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2407.02040 · ECCV · 2024

ScaleDreamer: Scalable Text-to-3D Synthesis with Asynchronous Score Distillation

Lei Zhang, Yuxiang Wei, Yabin Zhang, Zhiyuan Ma, Xiangyu Zhu, Zhen Lei

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 10 functions out of this paper's own repositories and ran 10 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
theEricMa/ScaleDreamer canonical 10 of 10
FunctionStatusWhere it lives
clamp_gain Ran theEricMa/ScaleDreamer/custom/amortized/extern/stylegan_3dconv_modules.py
code served (permissive licence) · get_code("2888b51f325a539e")
convert_opengl_to_blender Ran theEricMa/ScaleDreamer/extern/mvdream/camera_utils.py
code served (permissive licence) · get_code("7a9ea072a01a7648")
create_camera_to_world_matrix Ran theEricMa/ScaleDreamer/extern/mvdream/camera_utils.py
code served (permissive licence) · get_code("26d260aa12e2547d")
get_config_file Ran theEricMa/ScaleDreamer/extern/mvdream/model_zoo.py
code served (permissive licence) · get_code("ff6d1f547920cb5b")
get_tensor_clip Ran theEricMa/ScaleDreamer/evaluation/CLIP/evaluation_amortized.py
code served (permissive licence) · get_code("d34c20f0713a7951")
identity Ran theEricMa/ScaleDreamer/custom/amortized/extern/stylegan_3dconv_modules.py
code served (permissive licence) · get_code("9910e2fc297f8665")
is_image Ran theEricMa/ScaleDreamer/evaluation/CLIP/evaluation_amortized.py
code served (permissive licence) · get_code("ed665e886c00f5f7")
load_custom_module Ran theEricMa/ScaleDreamer/launch.py
code served (permissive licence) · get_code("78c7dd386abbd8b5")
normalize_2nd_moment Ran theEricMa/ScaleDreamer/custom/amortized/extern/stylegan_3dconv_modules.py
code served (permissive licence) · get_code("670fe68b890c9792")
normalize_camera Ran theEricMa/ScaleDreamer/extern/mvdream/camera_utils.py
code served (permissive licence) · get_code("10e2794824a93014")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

By leveraging the text-to-image diffusion prior, score distillation can synthesize 3D contents without paired text-3D training data. Instead of spending hours of online optimization per text prompt, recent studies have been focused on learning a text-to-3D generative network for amortizing multiple text-3D relations, which can synthesize 3D contents in seconds. However, existing score distillation methods are hard to scale up to a large amount of text prompts due to the difficulties in aligning pretrained diffusion prior with the distribution of rendered images from various text prompts. Current state-of-the-arts such as Variational Score Distillation finetune the pretrained diffusion model to minimize the noise prediction error so as to align the distributions, which are however unstable to train and will impair the model's comprehension capability to numerous text prompts. Based on the observation that the diffusion models tend to have lower noise prediction errors at earlier timesteps, we propose Asynchronous Score Distillation (ASD), which minimizes the noise prediction error by shifting the diffusion timestep to earlier ones. ASD is stable to train and can scale up to 100k prompts. It reduces the noise prediction error without changing the weights of pre-trained diffusion model, thus keeping its strong comprehension capability to prompts. We conduct extensive experiments using different text-to-3D architectures, including Hyper-iNGP and 3DConv-Net. The results demonstrate ASD's effectiveness in stable 3D generator training, high-quality 3D content synthesis, and its superior promptconsistency, especially under large prompt corpus. Code is available at https://github.com/theEricMa/ScaleDreamer.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2407.02040")
get_code_for_paper("2407.02040")
have("2407.02040")

Connect an agent — have() is free.