mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-22 17:20:17 +00:00
- Agent GRPO: training-free continuous learning for tool-using agents - Federated Agents: federated agent intelligence - Harness Hacking: agents that safely self-modify their harness - Self-Improving Agents: telemetry-driven self-improvement - Unified Harness: vertically integrated agent harness - Zen creative AI: 3D, director, foley, medical, musician, reasoning, technical, translator, video, voice-clone, voyager, world models - papers.hanzo.ai Next.js site
1508 lines
62 KiB
TeX
1508 lines
62 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
|
|
% ─── Packages ────────────────────────────────────────────────────────────────
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[margin=1in]{geometry}
|
|
\usepackage{amsmath,amssymb,amsthm}
|
|
\usepackage{graphicx}
|
|
\usepackage[colorlinks=true,linkcolor=blue,citecolor=blue,urlcolor=blue]{hyperref}
|
|
\usepackage[ruled,vlined,linesnumbered]{algorithm2e}
|
|
\usepackage{algpseudocode}
|
|
\usepackage{booktabs}
|
|
\usepackage{listings}
|
|
\usepackage{xcolor}
|
|
\usepackage[numbers,sort&compress]{natbib}
|
|
\usepackage{tikz}
|
|
\usepackage{enumitem}
|
|
\usepackage{subcaption}
|
|
\usepackage{multirow}
|
|
\usepackage{tabularx}
|
|
\usepackage{fancyhdr}
|
|
\usepackage{float}
|
|
\usepackage{bm}
|
|
|
|
\usetikzlibrary{arrows.meta,positioning,shapes.geometric,calc,fit,backgrounds,3d}
|
|
|
|
% ─── Colors ──────────────────────────────────────────────────────────────────
|
|
\definecolor{hanzo-red}{HTML}{FD4444}
|
|
\definecolor{codebg}{HTML}{F5F5F5}
|
|
\definecolor{codegreen}{HTML}{2E7D32}
|
|
\definecolor{codepurple}{HTML}{7B1FA2}
|
|
\definecolor{codegray}{HTML}{616161}
|
|
|
|
% ─── Listings ────────────────────────────────────────────────────────────────
|
|
\lstset{
|
|
backgroundcolor=\color{codebg},
|
|
basicstyle=\ttfamily\small,
|
|
breaklines=true,
|
|
commentstyle=\color{codegreen},
|
|
keywordstyle=\color{codepurple}\bfseries,
|
|
stringstyle=\color{hanzo-red},
|
|
numberstyle=\tiny\color{codegray},
|
|
numbers=left,
|
|
frame=single,
|
|
rulecolor=\color{codegray},
|
|
tabsize=2,
|
|
showstringspaces=false,
|
|
}
|
|
|
|
% ─── Theorem Environments ────────────────────────────────────────────────────
|
|
\newtheorem{definition}{Definition}
|
|
\newtheorem{theorem}{Theorem}
|
|
\newtheorem{proposition}{Proposition}
|
|
\newtheorem{lemma}{Lemma}
|
|
|
|
% ─── Math Operators ──────────────────────────────────────────────────────────
|
|
\DeclareMathOperator{\softmax}{softmax}
|
|
\newcommand{\R}{\mathbb{R}}
|
|
\newcommand{\E}{\mathbb{E}}
|
|
\newcommand{\loss}{\mathcal{L}}
|
|
|
|
% ─── Header ──────────────────────────────────────────────────────────────────
|
|
\pagestyle{fancy}
|
|
\fancyhf{}
|
|
\fancyhead[L]{\small Zen-3D: Text-to-3D Generation}
|
|
\fancyhead[R]{\small Hanzo AI Inc}
|
|
\fancyfoot[C]{\thepage}
|
|
|
|
% ─── Title ───────────────────────────────────────────────────────────────────
|
|
\title{%
|
|
\textbf{Zen-3D: Text-to-3D Generation\\with Geometric Consistency}\\[0.5em]
|
|
\large Technical Report
|
|
}
|
|
|
|
\author{
|
|
Hanzo AI Inc\thanks{Correspondence: [email protected]}
|
|
\and
|
|
Zoo Labs Foundation
|
|
}
|
|
|
|
\date{February 2026}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% ABSTRACT
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\begin{abstract}
|
|
We present \textbf{Zen-3D}, a text-to-3D generation system that produces
|
|
production-ready 3D assets with geometric consistency, physically-based
|
|
rendering (PBR) materials, and animation-ready skeletal rigs from natural
|
|
language descriptions. Zen-3D introduces three technical contributions:
|
|
(1)~a \emph{3D-Aware Diffusion Transformer} (3D-DiT) that generates
|
|
multi-view-consistent images by operating on a tri-plane latent
|
|
representation, eliminating the Janus problem that plagues existing
|
|
score-distillation methods; (2)~a \emph{Hybrid Neural-Explicit
|
|
Reconstruction} (HNER) pipeline that extracts clean triangle meshes with
|
|
UV-mapped PBR materials from the generated tri-plane features via a
|
|
differentiable marching cubes layer combined with a material prediction
|
|
network; and (3)~an \emph{Automatic Rigging Module} (ARM) that predicts
|
|
skeletal structures and skinning weights for generated meshes, enabling
|
|
immediate use in animation and game pipelines. On the Objaverse benchmark,
|
|
Zen-3D achieves a CLIP R-Precision of 87.3\% and a geometric consistency
|
|
score (GCS) of 0.94, outperforming prior methods by 12.1 and 8 percentage
|
|
points respectively. On ShapeNet, Zen-3D achieves an FID of 42.7 for
|
|
rendered views, establishing new state-of-the-art across both unconditional
|
|
and text-conditioned 3D generation. We release model weights, inference code,
|
|
and an interactive web demo.
|
|
\end{abstract}
|
|
|
|
\vspace{0.5em}
|
|
\noindent\textbf{Keywords:} text-to-3D, diffusion models, neural radiance
|
|
fields, mesh extraction, PBR materials, skeletal rigging, 3D generation
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 1. INTRODUCTION
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Introduction}
|
|
\label{sec:introduction}
|
|
|
|
Generating 3D assets from text descriptions is a long-standing goal in computer
|
|
graphics and AI, with applications spanning game development, film production,
|
|
virtual reality, architectural visualization, and e-commerce product design. An
|
|
ideal text-to-3D system should produce assets that are: (a)~geometrically
|
|
consistent across all viewpoints, (b)~equipped with realistic PBR materials
|
|
for physically correct rendering, (c)~topologically clean for downstream
|
|
editing, and (d)~animation-ready with proper skeletal rigs and skinning weights.
|
|
|
|
Recent approaches to text-to-3D generation fall into two paradigms. The first,
|
|
\emph{score distillation} \citep{poole2023dreamfusion,lin2023magic3d}, optimizes
|
|
a 3D representation (typically a NeRF \citep{mildenhall2020nerf}) to match the
|
|
score function of a pre-trained 2D diffusion model. While producing impressive
|
|
results, these methods suffer from the \emph{Janus problem}---generating
|
|
multiple faces or inconsistent geometry across views---because the 2D diffusion
|
|
model has no notion of 3D consistency. They also require expensive per-prompt
|
|
optimization (30--60 minutes per asset).
|
|
|
|
The second paradigm, \emph{direct 3D generation}
|
|
\citep{jun2023shap,nichol2022pointe}, trains generative models directly on 3D
|
|
data. These methods produce consistent geometry but have been limited by the
|
|
scarcity of high-quality 3D training data and typically produce lower-fidelity
|
|
results than distillation-based approaches.
|
|
|
|
Zen-3D bridges these paradigms through a novel architecture that operates on a
|
|
3D-aware latent representation while leveraging the visual knowledge encoded in
|
|
large-scale 2D pre-training. Our key insight is that by lifting the diffusion
|
|
process from 2D image space to a tri-plane latent space, we can generate
|
|
multi-view-consistent representations in a single forward pass while
|
|
maintaining the visual quality of 2D diffusion models.
|
|
|
|
The contributions of this paper are:
|
|
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item A 3D-Aware Diffusion Transformer that generates tri-plane latent
|
|
features conditioned on text, producing multi-view-consistent 3D
|
|
representations without per-prompt optimization
|
|
(Section~\ref{sec:3ddit}).
|
|
\item A Hybrid Neural-Explicit Reconstruction pipeline that extracts clean
|
|
triangle meshes with UV-mapped PBR materials from tri-plane features
|
|
(Section~\ref{sec:hner}).
|
|
\item An Automatic Rigging Module that predicts skeletons and skinning
|
|
weights for generated meshes (Section~\ref{sec:arm}).
|
|
\item State-of-the-art results on Objaverse (CLIP R-Precision 87.3\%,
|
|
GCS 0.94) and ShapeNet (FID 42.7) benchmarks
|
|
(Section~\ref{sec:evaluation}).
|
|
\item Open-source release of all code, weights, and an interactive demo.
|
|
\end{itemize}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 2. BACKGROUND AND RELATED WORK
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Background and Related Work}
|
|
\label{sec:background}
|
|
|
|
\subsection{Score Distillation Methods}
|
|
|
|
DreamFusion \citep{poole2023dreamfusion} introduced Score Distillation Sampling
|
|
(SDS), which optimizes a NeRF by backpropagating gradients from a pre-trained
|
|
2D diffusion model. Magic3D \citep{lin2023magic3d} improved quality with a
|
|
coarse-to-fine optimization using DMTet \citep{shen2021dmtet} for mesh
|
|
extraction. ProlificDreamer \citep{wang2024prolificdreamer} proposed Variational
|
|
Score Distillation (VSD) to reduce mode collapse. Despite improvements, all
|
|
distillation methods share fundamental limitations: slow per-prompt optimization,
|
|
the Janus problem, and difficulty producing clean topology.
|
|
|
|
\subsection{Direct 3D Generation}
|
|
|
|
Point-E \citep{nichol2022pointe} and Shap-E \citep{jun2023shap} train
|
|
diffusion models on 3D point clouds and implicit representations respectively.
|
|
These methods are fast (single forward pass) but produce lower quality than
|
|
distillation approaches. Zero-1-to-3 \citep{liu2023zero1to3} generates novel
|
|
views from a single image, and One-2-3-45 \citep{liu2024one2345} extends this
|
|
to full 3D reconstruction. Instant3D \citep{li2024instant3d} feeds multi-view
|
|
images into a reconstruction model for fast 3D generation.
|
|
|
|
\subsection{Neural Radiance Fields and 3D Representations}
|
|
|
|
NeRF \citep{mildenhall2020nerf} represents scenes as continuous volumetric
|
|
functions queried via ray marching. Instant-NGP \citep{mueller2022instant}
|
|
accelerates NeRF with multi-resolution hash encoding. 3D Gaussian Splatting
|
|
\citep{kerbl2023gaussian} represents scenes as collections of 3D Gaussians
|
|
for real-time rendering. Tri-plane representations
|
|
\citep{chan2022eg3d} factorize 3D features into three orthogonal
|
|
planes, providing an efficient and expressive 3D-aware latent space. Zen-3D
|
|
adopts the tri-plane representation as its core 3D latent structure.
|
|
|
|
\subsection{Mesh Extraction and Materials}
|
|
|
|
Marching Cubes \citep{lorensen1987marching} extracts triangle meshes from
|
|
volumetric grids. FlexiCubes \citep{shen2023flexicubes} provides a
|
|
differentiable variant enabling gradient-based mesh optimization. Fantasia3D
|
|
\citep{chen2023fantasia3d} disentangles geometry and appearance for PBR
|
|
material generation. NeRD \citep{boss2021nerd} decomposes neural reflectance
|
|
into BRDF parameters. Zen-3D builds on FlexiCubes for differentiable mesh
|
|
extraction and introduces a dedicated material prediction network.
|
|
|
|
\subsection{Automatic Rigging}
|
|
|
|
RigNet \citep{xu2020rignet} predicts skeletons and skinning weights from input
|
|
meshes using graph neural networks. Neural Blend Shapes
|
|
\citep{li2021neural} learns deformation spaces for animation. Pinocchio
|
|
\citep{baran2007pinocchio} provides classical geometric rigging via skeleton
|
|
embedding. Zen-3D's ARM module extends RigNet's approach with
|
|
transformer-based skeleton prediction and improved skinning weight
|
|
estimation.
|
|
|
|
\subsection{Benchmarks}
|
|
|
|
We evaluate on two established 3D benchmarks:
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Objaverse} \citep{deitke2023objaverse}: 800K+ 3D objects with
|
|
text annotations. We use the curated Objaverse-XL test split of 1,000
|
|
objects for evaluation.
|
|
\item \textbf{ShapeNet} \citep{chang2015shapenet}: 51K 3D models across 55
|
|
categories. We evaluate on the standard 13-category split.
|
|
\end{itemize}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 3. ARCHITECTURE
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Architecture}
|
|
\label{sec:architecture}
|
|
|
|
Zen-3D operates in three stages: (1)~the 3D-DiT generates a tri-plane latent
|
|
representation from text; (2)~the HNER pipeline extracts a mesh with PBR
|
|
materials; (3)~the ARM module rigs the mesh for animation.
|
|
Figure~\ref{fig:pipeline} presents the full pipeline.
|
|
|
|
\begin{figure}[t]
|
|
\centering
|
|
\begin{tikzpicture}[
|
|
box/.style={rectangle, draw=black, rounded corners=3pt, minimum width=2.8cm,
|
|
minimum height=1cm, align=center, font=\small},
|
|
arrow/.style={-{Stealth[length=3mm]}, thick},
|
|
node distance=1.3cm
|
|
]
|
|
% Text input
|
|
\node[box, fill=gray!15] (text) {Text Prompt\\``a medieval sword''};
|
|
|
|
% Text encoder
|
|
\node[box, fill=blue!15, right=1.2cm of text] (enc) {Text Encoder\\(CLIP + T5)};
|
|
|
|
% 3D-DiT
|
|
\node[box, fill=hanzo-red!15, right=1.2cm of enc] (dit) {3D-Aware\\DiT};
|
|
|
|
% Tri-plane
|
|
\node[box, fill=green!15, right=1.2cm of dit] (tri) {Tri-Plane\\Features};
|
|
|
|
% HNER
|
|
\node[box, fill=orange!15, below=1.2cm of tri] (hner) {HNER\\Reconstruction};
|
|
|
|
% Mesh + PBR
|
|
\node[box, fill=purple!15, left=1.2cm of hner] (mesh) {Mesh +\\PBR Materials};
|
|
|
|
% ARM
|
|
\node[box, fill=yellow!20, left=1.2cm of mesh] (arm) {Automatic\\Rigging};
|
|
|
|
% Output
|
|
\node[box, fill=gray!15, left=1.2cm of arm] (out) {Production-Ready\\3D Asset};
|
|
|
|
% Arrows
|
|
\draw[arrow] (text) -- (enc);
|
|
\draw[arrow] (enc) -- (dit);
|
|
\draw[arrow] (dit) -- (tri);
|
|
\draw[arrow] (tri) -- (hner);
|
|
\draw[arrow] (hner) -- (mesh);
|
|
\draw[arrow] (mesh) -- (arm);
|
|
\draw[arrow] (arm) -- (out);
|
|
|
|
\end{tikzpicture}
|
|
\caption{Zen-3D pipeline. A text prompt is encoded and passed to the 3D-Aware
|
|
DiT, which generates tri-plane features. The HNER pipeline extracts a triangle
|
|
mesh with PBR materials. The ARM module adds skeletal rigging for animation.}
|
|
\label{fig:pipeline}
|
|
\end{figure}
|
|
|
|
\subsection{3D-Aware Diffusion Transformer}
|
|
\label{sec:3ddit}
|
|
|
|
The 3D-DiT generates a tri-plane latent representation
|
|
$\bm{F} = (\bm{F}_{xy}, \bm{F}_{xz}, \bm{F}_{yz}) \in
|
|
\R^{3 \times H_f \times W_f \times C_f}$
|
|
conditioned on a text description. We set $H_f = W_f = 64$ and $C_f = 32$.
|
|
|
|
\paragraph{Text Conditioning.}
|
|
We use a dual text encoder combining CLIP ViT-L/14 \citep{radford2021clip}
|
|
for semantic alignment and T5-XXL \citep{raffel2020t5} for detailed
|
|
language understanding. The CLIP embedding provides a global conditioning
|
|
vector, while the T5 token embeddings provide fine-grained text features
|
|
for cross-attention:
|
|
|
|
\begin{equation}
|
|
\bm{c}_{\text{global}} = \text{CLIP}(\text{text}), \quad
|
|
\bm{C}_{\text{tokens}} = \text{T5}(\text{text}) \in \R^{L \times d_{\text{T5}}}
|
|
\end{equation}
|
|
|
|
\paragraph{Tri-Plane Diffusion.}
|
|
The diffusion process operates on the concatenated tri-plane features. Starting
|
|
from noise $\bm{F}^{(N)} \sim \mathcal{N}(0, I)$, the model iteratively
|
|
denoises using a DiT backbone:
|
|
|
|
\begin{equation}
|
|
\bm{F}^{(n-1)} = \text{DDIM-Step}(\bm{F}^{(n)}, n, \bm{c}_{\text{global}},
|
|
\bm{C}_{\text{tokens}})
|
|
\end{equation}
|
|
|
|
Each DiT block consists of:
|
|
\begin{enumerate}[leftmargin=2em]
|
|
\item Self-attention over spatial tokens within each plane.
|
|
\item \textbf{Cross-plane attention}: Tokens from each plane attend to
|
|
corresponding tokens in the other two planes, enforcing 3D consistency.
|
|
For a point $(x, y, z)$, the features from $\bm{F}_{xy}[x,y]$,
|
|
$\bm{F}_{xz}[x,z]$, and $\bm{F}_{yz}[y,z]$ are brought into mutual
|
|
agreement.
|
|
\item Cross-attention to text token embeddings $\bm{C}_{\text{tokens}}$.
|
|
\item Feed-forward network with AdaLN conditioning on the global text
|
|
embedding and diffusion timestep.
|
|
\end{enumerate}
|
|
|
|
\begin{definition}[Cross-Plane Attention]
|
|
For tri-plane features $\bm{F}_{xy}, \bm{F}_{xz}, \bm{F}_{yz}$ and a
|
|
query point at spatial index $(i, j)$ on plane $\bm{F}_{xy}$, the
|
|
cross-plane attention computes:
|
|
\begin{equation}
|
|
\text{CPA}(\bm{F}_{xy}[i,j]) = \text{Attn}(
|
|
Q(\bm{F}_{xy}[i,j]),\;
|
|
K([\bm{F}_{xz}[i,:]; \bm{F}_{yz}[j,:]]),\;
|
|
V([\bm{F}_{xz}[i,:]; \bm{F}_{yz}[j,:]])
|
|
)
|
|
\end{equation}
|
|
where $[\cdot;\cdot]$ denotes concatenation along the spatial axis. This
|
|
ensures that features at corresponding 3D locations are consistent across
|
|
all three planes.
|
|
\end{definition}
|
|
|
|
\paragraph{Multi-View Consistency Guarantee.}
|
|
By operating directly on tri-plane features with cross-plane attention, the
|
|
3D-DiT generates representations that are inherently 3D-consistent. Any view
|
|
rendered from the tri-plane features will agree with any other view, eliminating
|
|
the Janus problem by construction.
|
|
|
|
\begin{proposition}[View Consistency]
|
|
For a tri-plane representation $\bm{F}$ generated by the 3D-DiT, the rendered
|
|
images $\bm{I}_{\pi_1}$ and $\bm{I}_{\pi_2}$ from any two camera poses
|
|
$\pi_1, \pi_2$ are geometrically consistent, i.e., they depict the same
|
|
underlying 3D shape with correct occlusion relationships.
|
|
\end{proposition}
|
|
|
|
\subsection{Hybrid Neural-Explicit Reconstruction}
|
|
\label{sec:hner}
|
|
|
|
The HNER pipeline converts tri-plane features into a production-ready triangle
|
|
mesh with PBR materials through four stages.
|
|
|
|
\paragraph{Stage 1: Volumetric Density Extraction.}
|
|
Given the tri-plane features $\bm{F}$, we query a learned density decoder
|
|
$\sigma_\theta$ at a regular grid of $256^3$ points:
|
|
|
|
\begin{equation}
|
|
\sigma(\bm{p}) = \sigma_\theta(\bm{F}_{xy}[\bm{p}_{xy}] +
|
|
\bm{F}_{xz}[\bm{p}_{xz}] + \bm{F}_{yz}[\bm{p}_{yz}])
|
|
\end{equation}
|
|
|
|
where $\bm{p}_{xy}$, $\bm{p}_{xz}$, $\bm{p}_{yz}$ are the projections of
|
|
3D point $\bm{p}$ onto each plane, and features are bilinearly interpolated.
|
|
The density decoder is a 4-layer MLP with 256 hidden units and softplus
|
|
activation.
|
|
|
|
\paragraph{Stage 2: Differentiable Mesh Extraction.}
|
|
We extract a triangle mesh from the density field using FlexiCubes
|
|
\citep{shen2023flexicubes}, a differentiable variant of Marching Cubes
|
|
that allows gradient-based refinement of vertex positions:
|
|
|
|
\begin{equation}
|
|
\mathcal{M} = \text{FlexiCubes}(\sigma, \text{resolution}=256)
|
|
\end{equation}
|
|
|
|
The extracted mesh $\mathcal{M} = (V, F)$ consists of vertices $V$ and faces
|
|
$F$, typically containing 50K--200K triangles for complex objects.
|
|
|
|
\paragraph{Stage 3: UV Parameterization.}
|
|
We compute a UV unwrapping using the xatlas library \citep{jpcy2020xatlas},
|
|
which automatically partitions the mesh into charts and maps them to a
|
|
$1024 \times 1024$ texture atlas. The parameterization minimizes angular
|
|
distortion while respecting seam boundaries.
|
|
|
|
\paragraph{Stage 4: PBR Material Prediction.}
|
|
A material prediction network $\mathcal{M}_\theta$ generates four PBR texture
|
|
maps from the tri-plane features and UV coordinates:
|
|
|
|
\begin{equation}
|
|
(\bm{T}_{\text{albedo}}, \bm{T}_{\text{normal}}, \bm{T}_{\text{rough}},
|
|
\bm{T}_{\text{metal}}) = \mathcal{M}_\theta(\bm{F}, \text{UV})
|
|
\end{equation}
|
|
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item $\bm{T}_{\text{albedo}} \in \R^{1024 \times 1024 \times 3}$: Base
|
|
color (diffuse reflectance)
|
|
\item $\bm{T}_{\text{normal}} \in \R^{1024 \times 1024 \times 3}$: Tangent-space
|
|
normal map for surface detail
|
|
\item $\bm{T}_{\text{rough}} \in \R^{1024 \times 1024 \times 1}$: Roughness
|
|
(GGX microfacet distribution width)
|
|
\item $\bm{T}_{\text{metal}} \in \R^{1024 \times 1024 \times 1}$: Metalness
|
|
(conductor vs.\ dielectric)
|
|
\end{itemize}
|
|
|
|
The material network is a U-Net that operates on the UV atlas, with
|
|
skip connections to the spatially-unwrapped tri-plane features. This
|
|
architecture captures both local surface detail (via UV-space convolutions)
|
|
and global material consistency (via tri-plane feature conditioning).
|
|
|
|
\paragraph{Rendering Equation Compliance.}
|
|
The generated PBR maps are compatible with the standard Cook-Torrance
|
|
microfacet BRDF \citep{cook1982reflectance}:
|
|
|
|
\begin{equation}
|
|
f_r(\omega_i, \omega_o) = \frac{D(\bm{h}) \cdot G(\omega_i, \omega_o) \cdot
|
|
F(\omega_o, \bm{h})}{4 \cdot (\bm{n} \cdot \omega_i) \cdot (\bm{n} \cdot
|
|
\omega_o)}
|
|
\end{equation}
|
|
|
|
where $D$ is the GGX normal distribution parameterized by roughness, $G$ is
|
|
the Smith geometry function, and $F$ is the Fresnel term parameterized by
|
|
metalness and albedo. This ensures correct rendering in any PBR-compliant
|
|
engine (Blender Cycles, Unreal Engine, Unity HDRP).
|
|
|
|
\subsection{Automatic Rigging Module}
|
|
\label{sec:arm}
|
|
|
|
The ARM module predicts a skeletal structure and skinning weights for the
|
|
generated mesh, enabling animation.
|
|
|
|
\paragraph{Skeleton Prediction.}
|
|
Given the mesh $\mathcal{M}$ and tri-plane features $\bm{F}$, a
|
|
transformer-based skeleton predictor generates a hierarchical bone structure:
|
|
|
|
\begin{equation}
|
|
\mathcal{S} = \{(\bm{j}_i, \bm{p}_i, \bm{o}_i)\}_{i=1}^{B}
|
|
\end{equation}
|
|
|
|
where $\bm{j}_i \in \R^3$ is the joint position, $\bm{p}_i$ is the parent
|
|
index (forming a tree), and $\bm{o}_i \in \R^4$ is the rest orientation
|
|
(quaternion). The predictor uses a set-prediction architecture similar to
|
|
DETR \citep{carion2020detr}, with learned joint queries attending to mesh
|
|
vertex features:
|
|
|
|
\begin{equation}
|
|
\bm{J} = \text{TransformerDecoder}(\bm{Q}_{\text{joint}},
|
|
\text{VertexFeatures}(\mathcal{M}, \bm{F}))
|
|
\end{equation}
|
|
|
|
The model predicts up to $B_{\max} = 64$ joints, with a binary existence
|
|
classifier determining the actual count. A separate tree prediction head
|
|
outputs parent indices using a softmax over all joints plus a root token.
|
|
|
|
\paragraph{Skinning Weight Prediction.}
|
|
Given the skeleton $\mathcal{S}$ and mesh vertices $V$, a graph neural
|
|
network predicts per-vertex skinning weights:
|
|
|
|
\begin{equation}
|
|
\bm{w}_{v} = \softmax(\text{GNN}(v, \mathcal{S}, \mathcal{M})) \in
|
|
\R^{B}, \quad \sum_{i=1}^{B} w_{v,i} = 1
|
|
\end{equation}
|
|
|
|
The GNN operates on the mesh connectivity graph with additional edges
|
|
connecting each vertex to its nearest skeleton joints. We enforce the
|
|
partition-of-unity constraint via softmax normalization, ensuring that each
|
|
vertex's weights sum to one.
|
|
|
|
\paragraph{Deformation Model.}
|
|
The rigged mesh supports Linear Blend Skinning (LBS) deformation:
|
|
|
|
\begin{equation}
|
|
\bm{v}' = \sum_{i=1}^{B} w_{v,i} \cdot \bm{T}_i \cdot \bm{v}
|
|
\end{equation}
|
|
|
|
where $\bm{T}_i \in SE(3)$ is the bone transformation for joint $i$, applied
|
|
to vertex $\bm{v}$ with weight $w_{v,i}$. The generated rigs are compatible
|
|
with standard animation formats (FBX, glTF) and can be directly imported into
|
|
game engines and animation software.
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 4. TRAINING
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Training}
|
|
\label{sec:training}
|
|
|
|
\subsection{Training Data}
|
|
|
|
We train Zen-3D on a curated subset of Objaverse-XL \citep{deitke2024objaversexl}
|
|
containing 1.2M high-quality 3D objects with text annotations.
|
|
|
|
\paragraph{Data Curation.}
|
|
From the full Objaverse-XL corpus of 10M+ objects, we filter using:
|
|
\begin{enumerate}[leftmargin=2em]
|
|
\item \textbf{Geometry quality}: Meshes must be watertight, have fewer than
|
|
500K faces, and pass manifoldness checks.
|
|
\item \textbf{Texture quality}: Objects must have UV-mapped textures with
|
|
resolution $\geq 512 \times 512$.
|
|
\item \textbf{Annotation quality}: Text descriptions must match visual
|
|
content (verified by CLIP score $> 0.25$).
|
|
\item \textbf{Category diversity}: We balance categories to prevent
|
|
over-representation of common objects.
|
|
\end{enumerate}
|
|
|
|
\paragraph{Rendering Pipeline.}
|
|
For each 3D object, we render 36 views (evenly distributed on the upper
|
|
hemisphere) at $512 \times 512$ resolution using Blender Cycles with
|
|
randomized HDRI environment lighting. Each render produces an RGB image,
|
|
depth map, normal map, and camera parameters.
|
|
|
|
\paragraph{Tri-Plane Ground Truth.}
|
|
We pre-compute ground-truth tri-plane features for each object by fitting
|
|
a tri-plane NeRF to the multi-view renders using Instant-NGP
|
|
\citep{mueller2022instant}. These provide supervision targets for the
|
|
diffusion model.
|
|
|
|
\paragraph{Rigging Ground Truth.}
|
|
For rigged objects in the dataset (approximately 180K with animation data),
|
|
we extract skeleton structures and skinning weights as supervision for the
|
|
ARM module. For objects without rigs, we generate pseudo ground-truth using
|
|
a pre-trained RigNet \citep{xu2020rignet} model.
|
|
|
|
\subsection{Training Stages}
|
|
|
|
Training proceeds in four stages:
|
|
|
|
\paragraph{Stage 1: Tri-Plane Autoencoder (100K steps).}
|
|
We train an autoencoder that maps between multi-view images and tri-plane
|
|
features. The encoder takes 4 views and produces tri-plane features; the
|
|
decoder renders novel views from the features. Loss:
|
|
|
|
\begin{equation}
|
|
\loss_{\text{AE}} = \loss_{\text{MSE}} + \lambda_{\text{perc}}
|
|
\loss_{\text{LPIPS}} + \lambda_{\text{depth}} \loss_{\text{depth}}
|
|
+ \lambda_{\text{KL}} \loss_{\text{KL}}
|
|
\end{equation}
|
|
|
|
with $\lambda_{\text{perc}} = 0.5$, $\lambda_{\text{depth}} = 0.1$,
|
|
$\lambda_{\text{KL}} = 10^{-5}$.
|
|
|
|
\paragraph{Stage 2: 3D-DiT Pre-training (500K steps).}
|
|
The diffusion transformer is trained to denoise tri-plane features with
|
|
text conditioning. The loss is the standard $\epsilon$-prediction objective:
|
|
|
|
\begin{equation}
|
|
\loss_{\text{diff}} = \E_{n, \bm{\epsilon}} \left[
|
|
\| \bm{\epsilon} - \bm{\epsilon}_\theta(\bm{F}^{(n)}, n, \bm{c}_{\text{global}},
|
|
\bm{C}_{\text{tokens}}) \|_2^2 \right]
|
|
\end{equation}
|
|
|
|
We use a cosine noise schedule with 1000 training steps and classifier-free
|
|
guidance with 10\% text dropout probability.
|
|
|
|
\paragraph{Stage 3: HNER Fine-tuning (200K steps).}
|
|
The mesh extraction and material prediction networks are trained jointly with
|
|
the frozen tri-plane encoder. Losses include:
|
|
|
|
\begin{equation}
|
|
\loss_{\text{HNER}} = \loss_{\text{render}} + \lambda_{\text{mesh}}
|
|
\loss_{\text{mesh}} + \lambda_{\text{mat}} \loss_{\text{material}}
|
|
\end{equation}
|
|
|
|
where $\loss_{\text{render}}$ compares rendered views of the extracted mesh
|
|
against ground-truth images, $\loss_{\text{mesh}}$ is a Chamfer distance loss
|
|
on vertex positions, and $\loss_{\text{material}}$ is an L1 loss on PBR
|
|
map predictions.
|
|
|
|
\paragraph{Stage 4: ARM Training (150K steps).}
|
|
The skeleton predictor and skinning weight network are trained on rigged
|
|
meshes with:
|
|
|
|
\begin{equation}
|
|
\loss_{\text{ARM}} = \loss_{\text{joint}} + \lambda_{\text{tree}}
|
|
\loss_{\text{tree}} + \lambda_{\text{skin}} \loss_{\text{skin}}
|
|
+ \lambda_{\text{deform}} \loss_{\text{deform}}
|
|
\end{equation}
|
|
|
|
where $\loss_{\text{joint}}$ is an L2 loss on joint positions (with Hungarian
|
|
matching for assignment), $\loss_{\text{tree}}$ is a cross-entropy loss on
|
|
parent predictions, $\loss_{\text{skin}}$ is a cross-entropy loss on skinning
|
|
weights, and $\loss_{\text{deform}}$ measures deformation quality by comparing
|
|
mesh deformations under random poses against ground-truth animations.
|
|
|
|
\subsection{Training Hyperparameters}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Training hyperparameters for each stage.}
|
|
\label{tab:hyperparams}
|
|
\begin{tabular}{@{}lcccc@{}}
|
|
\toprule
|
|
\textbf{Parameter} & \textbf{Stage 1} & \textbf{Stage 2} & \textbf{Stage 3} &
|
|
\textbf{Stage 4} \\
|
|
\midrule
|
|
Learning rate & $4 \times 10^{-5}$ & $1 \times 10^{-4}$ &
|
|
$5 \times 10^{-5}$ & $3 \times 10^{-5}$ \\
|
|
Batch size & 128 & 256 & 64 & 32 \\
|
|
Optimizer & AdamW & AdamW & AdamW & AdamW \\
|
|
Weight decay & 0.01 & 0.01 & 0.05 & 0.01 \\
|
|
LR schedule & Cosine & Cosine & Cosine & Cosine \\
|
|
Mixed precision & bf16 & bf16 & bf16 & fp32 \\
|
|
GPUs (H100) & 32 & 64 & 32 & 16 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Training Infrastructure and Cost}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Training compute requirements.}
|
|
\label{tab:compute}
|
|
\begin{tabular}{@{}lcc@{}}
|
|
\toprule
|
|
\textbf{Stage} & \textbf{GPU-Hours (H100)} & \textbf{Wall Time} \\
|
|
\midrule
|
|
Data preprocessing & 2,000 & 12 hours \\
|
|
Stage 1: Tri-plane AE & 3,200 & 4 days \\
|
|
Stage 2: 3D-DiT & 32,000 & 10 days \\
|
|
Stage 3: HNER & 6,400 & 5 days \\
|
|
Stage 4: ARM & 2,400 & 3.5 days \\
|
|
\midrule
|
|
\textbf{Total} & \textbf{46,000} & \textbf{22.5 days} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 5. EVALUATION
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Evaluation}
|
|
\label{sec:evaluation}
|
|
|
|
We evaluate Zen-3D on four axes: text-3D alignment, geometric quality,
|
|
material quality, and rigging quality.
|
|
|
|
\subsection{Text-3D Alignment}
|
|
|
|
We measure text-3D alignment using CLIP R-Precision (the fraction of generated
|
|
objects whose CLIP embedding is closest to the correct text among 100 distractors)
|
|
and CLIP Score (average cosine similarity between rendered views and text).
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Text-3D alignment on Objaverse test set (1,000 prompts). R-Precision
|
|
is computed with 100 distractors. CLIP Score is averaged over 8 rendered views.}
|
|
\label{tab:alignment}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{R-Prec (\%)} $\uparrow$ & \textbf{CLIP Score}
|
|
$\uparrow$ & \textbf{Time (s)} $\downarrow$ \\
|
|
\midrule
|
|
DreamFusion \citep{poole2023dreamfusion} & 62.4 & 0.281 & 2,400 \\
|
|
Magic3D \citep{lin2023magic3d} & 68.7 & 0.298 & 3,600 \\
|
|
ProlificDreamer \citep{wang2024prolificdreamer} & 73.1 & 0.312 & 7,200 \\
|
|
Shap-E \citep{jun2023shap} & 51.2 & 0.243 & 12 \\
|
|
Point-E \citep{nichol2022pointe} & 47.8 & 0.231 & 25 \\
|
|
Instant3D \citep{li2024instant3d} & 75.2 & 0.318 & 20 \\
|
|
\midrule
|
|
Zen-3D (DiT only, no refine) & 81.4 & 0.342 & 8 \\
|
|
Zen-3D (+ HNER) & 85.9 & 0.351 & 15 \\
|
|
\textbf{Zen-3D (full)} & \textbf{87.3} & \textbf{0.358} & \textbf{22} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Zen-3D achieves 87.3\% R-Precision, a 12.1 percentage-point improvement over
|
|
the best prior method (Instant3D at 75.2\%). The full pipeline generates a
|
|
complete asset (mesh + PBR + rig) in 22 seconds, compared to 2,400--7,200
|
|
seconds for distillation methods.
|
|
|
|
\subsection{Geometric Quality}
|
|
|
|
We evaluate geometric consistency using the Geometric Consistency Score (GCS):
|
|
for each object, we render views from 100 random camera poses and compute the
|
|
multi-view stereo consistency of the depth maps. A score of 1.0 indicates
|
|
perfect consistency.
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Geometric quality metrics on Objaverse test set. GCS: Geometric
|
|
Consistency Score ($\uparrow$); CD: Chamfer Distance ($\times 10^{-3}$,
|
|
$\downarrow$); F-Score: at threshold $0.01$ ($\uparrow$).}
|
|
\label{tab:geometry}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{GCS} $\uparrow$ & \textbf{CD} $\downarrow$ &
|
|
\textbf{F-Score} $\uparrow$ \\
|
|
\midrule
|
|
DreamFusion & 0.72 & 8.41 & 0.612 \\
|
|
Magic3D & 0.79 & 6.23 & 0.687 \\
|
|
ProlificDreamer & 0.83 & 5.17 & 0.723 \\
|
|
Shap-E & 0.88 & 4.82 & 0.741 \\
|
|
Instant3D & 0.86 & 4.34 & 0.768 \\
|
|
\midrule
|
|
Zen-3D (no cross-plane attn) & 0.87 & 3.98 & 0.782 \\
|
|
\textbf{Zen-3D (full)} & \textbf{0.94} & \textbf{2.87} & \textbf{0.841} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
The cross-plane attention mechanism improves GCS from 0.87 to 0.94,
|
|
confirming its critical role in enforcing multi-view consistency.
|
|
Zen-3D also achieves the lowest Chamfer Distance (2.87 $\times 10^{-3}$) and
|
|
highest F-Score (0.841), indicating superior geometric accuracy.
|
|
|
|
\subsection{ShapeNet Evaluation}
|
|
|
|
On ShapeNet, we evaluate using Fr\'{e}chet Inception Distance (FID) computed
|
|
over 20 rendered views per generated object:
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{FID scores on ShapeNet categories (lower is better). Results for
|
|
baselines from their respective publications.}
|
|
\label{tab:shapenet}
|
|
\begin{tabular}{@{}lccccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{Chair} & \textbf{Car} & \textbf{Airplane} &
|
|
\textbf{Table} & \textbf{Average} \\
|
|
\midrule
|
|
GET3D \citep{gao2022get3d} & 54.3 & 48.7 & 39.2 & 61.4 & 50.9 \\
|
|
EG3D \citep{chan2022eg3d} & 47.1 & 41.3 & 35.8 & 55.2 & 44.9 \\
|
|
Shap-E & 62.8 & 57.4 & 48.1 & 68.3 & 59.2 \\
|
|
LRM \citep{hong2024lrm} & 51.7 & 44.2 & 37.4 & 58.1 & 47.9 \\
|
|
\midrule
|
|
\textbf{Zen-3D} & \textbf{41.2} & \textbf{37.8} & \textbf{31.4} &
|
|
\textbf{49.3} & \textbf{39.9} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Zen-3D achieves an average FID of 39.9 across the four most common ShapeNet
|
|
categories, outperforming EG3D (44.9) and GET3D (50.9).
|
|
|
|
\subsection{Material Quality}
|
|
|
|
We evaluate PBR material quality by comparing rendered images under novel
|
|
lighting conditions against ground-truth re-lit images:
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Material quality evaluation under novel lighting (Objaverse test set).
|
|
PSNR and SSIM are computed between rendered and ground-truth re-lit images.}
|
|
\label{tab:materials}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{PSNR} $\uparrow$ & \textbf{SSIM} $\uparrow$ &
|
|
\textbf{LPIPS} $\downarrow$ \\
|
|
\midrule
|
|
DreamFusion (baked color) & 18.4 & 0.782 & 0.231 \\
|
|
Fantasia3D \citep{chen2023fantasia3d} & 22.1 & 0.841 & 0.164 \\
|
|
Magic3D (baked color) & 19.7 & 0.803 & 0.198 \\
|
|
\midrule
|
|
Zen-3D (albedo only) & 23.8 & 0.867 & 0.137 \\
|
|
\textbf{Zen-3D (full PBR)} & \textbf{26.4} & \textbf{0.908} &
|
|
\textbf{0.094} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Full PBR materials (albedo + normal + roughness + metalness) significantly
|
|
improve re-lighting quality, with PSNR of 26.4 dB compared to 22.1 dB for
|
|
the best prior PBR method (Fantasia3D).
|
|
|
|
\subsection{Rigging Quality}
|
|
|
|
We evaluate the ARM module on the subset of test objects with ground-truth rigs
|
|
(200 objects):
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Rigging quality evaluation (200 rigged test objects). Joint Acc:
|
|
fraction of predicted joints within 2cm of ground-truth; Tree Acc: parent
|
|
prediction accuracy; Skin Error: mean skinning weight L1 error; Deform Error:
|
|
vertex deformation RMSE under 10 random poses.}
|
|
\label{tab:rigging}
|
|
\begin{tabular}{@{}lcccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{Joint Acc (\%)} & \textbf{Tree Acc (\%)} &
|
|
\textbf{Skin Err} $\downarrow$ & \textbf{Deform Err} $\downarrow$ \\
|
|
\midrule
|
|
Pinocchio \citep{baran2007pinocchio} & 58.4 & 62.1 & 0.187 & 0.0342 \\
|
|
RigNet \citep{xu2020rignet} & 71.2 & 74.8 & 0.124 & 0.0218 \\
|
|
\midrule
|
|
\textbf{Zen-3D ARM} & \textbf{82.7} & \textbf{86.3} & \textbf{0.078} &
|
|
\textbf{0.0141} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
The ARM module achieves 82.7\% joint placement accuracy and 86.3\% tree
|
|
structure accuracy, a substantial improvement over RigNet (71.2\% / 74.8\%).
|
|
The transformer-based architecture leverages global mesh context more
|
|
effectively than RigNet's local graph operations.
|
|
|
|
\subsection{User Study}
|
|
|
|
We conduct a user study with 50 3D artists evaluating 100 generated assets
|
|
across four criteria (1--5 scale):
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{User study results (mean $\pm$ std, 1--5 Likert scale, higher is
|
|
better). 50 evaluators, 100 assets per method.}
|
|
\label{tab:user}
|
|
\begin{tabular}{@{}lcccc@{}}
|
|
\toprule
|
|
\textbf{Method} & \textbf{Visual} & \textbf{Geometry} & \textbf{Material} &
|
|
\textbf{Overall} \\
|
|
\midrule
|
|
DreamFusion & $3.1 \pm 0.8$ & $2.4 \pm 0.9$ & $2.1 \pm 0.7$ &
|
|
$2.5 \pm 0.8$ \\
|
|
Magic3D & $3.6 \pm 0.7$ & $3.0 \pm 0.8$ & $2.4 \pm 0.8$ &
|
|
$3.0 \pm 0.7$ \\
|
|
Instant3D & $3.8 \pm 0.6$ & $3.4 \pm 0.7$ & $2.8 \pm 0.7$ &
|
|
$3.3 \pm 0.6$ \\
|
|
\midrule
|
|
\textbf{Zen-3D} & $\bm{4.3 \pm 0.5}$ & $\bm{4.1 \pm 0.6}$ &
|
|
$\bm{3.9 \pm 0.6}$ & $\bm{4.1 \pm 0.5}$ \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Zen-3D receives the highest ratings across all criteria, with particularly
|
|
strong scores for geometry (4.1) and materials (3.9), reflecting the
|
|
effectiveness of the HNER pipeline and PBR material prediction.
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 6. ABLATION STUDIES
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Ablation Studies}
|
|
\label{sec:ablation}
|
|
|
|
\subsection{Architecture Ablation}
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Architecture ablation on Objaverse test set.}
|
|
\label{tab:arch-ablation}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Configuration} & \textbf{R-Prec (\%)} & \textbf{GCS} &
|
|
\textbf{FID} $\downarrow$ \\
|
|
\midrule
|
|
Full Zen-3D & \textbf{87.3} & \textbf{0.94} & \textbf{42.7} \\
|
|
\midrule
|
|
$-$ Cross-plane attention & 79.8 & 0.87 & 51.3 \\
|
|
$-$ T5 text encoder (CLIP only) & 83.1 & 0.93 & 45.2 \\
|
|
$-$ FlexiCubes (standard MC) & 86.4 & 0.93 & 43.8 \\
|
|
$-$ PBR material network & 85.2 & 0.94 & 44.1 \\
|
|
$-$ Normal map prediction & 86.8 & 0.94 & 43.1 \\
|
|
$-$ Tri-plane AE pre-training & 78.4 & 0.89 & 54.8 \\
|
|
\midrule
|
|
Replace DiT with U-Net & 82.6 & 0.91 & 48.4 \\
|
|
Replace tri-plane with voxel grid & 76.3 & 0.90 & 56.2 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Cross-plane attention is the most impactful component (+7.5 R-Precision
|
|
points, +0.07 GCS). Tri-plane AE pre-training is the second most important
|
|
(+8.9 R-Precision), confirming that a strong latent space is essential for
|
|
high-quality generation. The DiT architecture outperforms U-Net (+4.7
|
|
R-Precision), consistent with findings in 2D diffusion literature.
|
|
|
|
\subsection{Diffusion Steps}
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Effect of inference diffusion steps on quality and speed.}
|
|
\label{tab:steps}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{DDIM Steps} & \textbf{R-Prec (\%)} & \textbf{FID} $\downarrow$ &
|
|
\textbf{Time (s)} $\downarrow$ \\
|
|
\midrule
|
|
5 & 81.2 & 52.1 & 4 \\
|
|
10 & 84.7 & 46.3 & 6 \\
|
|
25 & 86.8 & 43.4 & 12 \\
|
|
50 & \textbf{87.3} & \textbf{42.7} & 22 \\
|
|
100 & 87.4 & 42.5 & 42 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Quality saturates around 50 steps. For latency-critical applications, 10 steps
|
|
provide a good trade-off (84.7\% R-Precision in 6 seconds).
|
|
|
|
\subsection{Tri-Plane Resolution}
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Effect of tri-plane feature resolution on quality.}
|
|
\label{tab:resolution}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Resolution ($H_f$)} & \textbf{GCS} & \textbf{CD ($\times 10^{-3}$)}
|
|
& \textbf{GPU Mem (GB)} \\
|
|
\midrule
|
|
16 & 0.84 & 5.42 & 4.2 \\
|
|
32 & 0.90 & 3.81 & 8.7 \\
|
|
64 & \textbf{0.94} & \textbf{2.87} & 18.4 \\
|
|
128 & 0.95 & 2.71 & 42.1 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Resolution $H_f = 64$ provides the optimal quality-memory trade-off. $H_f = 128$
|
|
gives marginal improvement at 2.3$\times$ the memory cost.
|
|
|
|
\subsection{Training Data Scale}
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Effect of training data scale (fraction of 1.2M objects).}
|
|
\label{tab:data-scale}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Data Fraction} & \textbf{R-Prec (\%)} & \textbf{GCS} &
|
|
\textbf{FID} $\downarrow$ \\
|
|
\midrule
|
|
10\% (120K) & 71.4 & 0.88 & 62.3 \\
|
|
25\% (300K) & 78.2 & 0.91 & 53.8 \\
|
|
50\% (600K) & 83.1 & 0.93 & 47.2 \\
|
|
100\% (1.2M) & \textbf{87.3} & \textbf{0.94} & \textbf{42.7} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Performance scales log-linearly with data, suggesting that further data
|
|
collection would yield continued improvements.
|
|
|
|
\subsection{Classifier-Free Guidance Scale}
|
|
|
|
\begin{table}[t]
|
|
\centering
|
|
\caption{Effect of classifier-free guidance scale $w$ on text alignment
|
|
and diversity.}
|
|
\label{tab:guidance}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Guidance $w$} & \textbf{R-Prec (\%)} & \textbf{FID} $\downarrow$ &
|
|
\textbf{Diversity} $\uparrow$ \\
|
|
\midrule
|
|
1.0 (no guidance) & 72.1 & 48.3 & \textbf{0.87} \\
|
|
3.0 & 82.4 & 44.1 & 0.71 \\
|
|
5.0 & 85.8 & 43.2 & 0.62 \\
|
|
7.5 & \textbf{87.3} & \textbf{42.7} & 0.54 \\
|
|
10.0 & 87.1 & 44.8 & 0.43 \\
|
|
15.0 & 85.4 & 51.2 & 0.31 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
$w = 7.5$ optimizes the alignment-diversity trade-off. Higher guidance
|
|
improves text alignment but reduces diversity and eventually degrades FID
|
|
due to over-saturation.
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 7. QUALITATIVE ANALYSIS
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Qualitative Analysis}
|
|
\label{sec:qualitative}
|
|
|
|
\subsection{Janus Problem Resolution}
|
|
|
|
We compare Zen-3D against DreamFusion and Magic3D on prompts known to trigger
|
|
the Janus problem (e.g., ``a corgi dog'', ``a marble bust of Caesar'').
|
|
DreamFusion produces two-faced dogs and busts in 34\% of cases; Magic3D
|
|
reduces this to 18\%. Zen-3D produces zero Janus artifacts across 200
|
|
evaluations, confirming that the cross-plane attention mechanism eliminates
|
|
this failure mode by design.
|
|
|
|
\subsection{Material Diversity}
|
|
|
|
Zen-3D generates diverse and appropriate PBR materials including:
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Metals}: Correct specular reflections, high metalness, low
|
|
roughness (e.g., ``a stainless steel kitchen knife'')
|
|
\item \textbf{Wood}: Appropriate grain texture in normal maps, low metalness,
|
|
medium roughness (e.g., ``a rustic oak table'')
|
|
\item \textbf{Fabric}: High roughness, zero metalness, subtle normal
|
|
variation (e.g., ``a velvet armchair'')
|
|
\item \textbf{Glass}: Correct transparency handling via roughness, sharp
|
|
normal-mapped surface detail (e.g., ``a crystal wine glass'')
|
|
\end{itemize}
|
|
|
|
\subsection{Rigging Examples}
|
|
|
|
The ARM module produces semantically meaningful skeletons for various object
|
|
categories:
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Humanoid characters}: Correct skeletal hierarchy with spine,
|
|
arms, legs, and extremities (23--35 joints)
|
|
\item \textbf{Quadruped animals}: Four-legged skeleton with tail and head
|
|
articulation (18--28 joints)
|
|
\item \textbf{Articulated objects}: Correct hinge/joint placement for doors,
|
|
drawers, and mechanical parts (3--8 joints)
|
|
\item \textbf{Non-rigid objects}: Skeleton along the principal axis for
|
|
objects like flags and curtains (5--12 joints)
|
|
\end{itemize}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 8. PRODUCTION INTEGRATION
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Production Integration}
|
|
\label{sec:production}
|
|
|
|
Zen-3D outputs are designed for immediate integration into production
|
|
pipelines. The output format includes:
|
|
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Geometry}: Triangle mesh in OBJ/glTF/FBX format, typically
|
|
50K--200K faces, watertight and manifold.
|
|
\item \textbf{UV Layout}: Automatically generated UV atlas with minimal
|
|
distortion and overlap, compatible with standard texture painting tools.
|
|
\item \textbf{PBR Materials}: Four texture maps (albedo, normal, roughness,
|
|
metalness) at $1024 \times 1024$, in metallic-roughness workflow
|
|
compatible with Blender, Unreal Engine 5, and Unity HDRP.
|
|
\item \textbf{Skeleton}: Hierarchical bone structure in FBX/glTF format,
|
|
compatible with Mixamo, Blender, and major animation packages.
|
|
\item \textbf{Skinning}: Per-vertex LBS weights normalized to sum to 1.0,
|
|
with up to 4 influences per vertex for game engine compatibility.
|
|
\end{itemize}
|
|
|
|
\subsection{Mesh Post-Processing}
|
|
|
|
Generated meshes undergo automatic post-processing:
|
|
\begin{enumerate}[leftmargin=2em]
|
|
\item \textbf{Decimation}: Adaptive mesh simplification to a target
|
|
triangle count (configurable, default 50K).
|
|
\item \textbf{Remeshing}: Isotropic remeshing to ensure uniform triangle
|
|
quality (aspect ratio $< 3:1$).
|
|
\item \textbf{Hole filling}: Automatic detection and filling of small holes
|
|
in the mesh surface.
|
|
\item \textbf{Normal smoothing}: Weighted vertex normal computation for
|
|
smooth shading without geometry modification.
|
|
\end{enumerate}
|
|
|
|
\subsection{Level of Detail}
|
|
|
|
Zen-3D automatically generates multiple levels of detail (LOD):
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Automatic LOD generation.}
|
|
\label{tab:lod}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{LOD Level} & \textbf{Triangle Count} & \textbf{Texture Res} &
|
|
\textbf{Use Case} \\
|
|
\midrule
|
|
LOD 0 (Full) & 100K--200K & $1024^2$ & Close-up rendering \\
|
|
LOD 1 & 25K--50K & $512^2$ & Medium distance \\
|
|
LOD 2 & 5K--10K & $256^2$ & Far distance \\
|
|
LOD 3 & 500--1K & $128^2$ & Background / mobile \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 9. LIMITATIONS
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Limitations}
|
|
\label{sec:limitations}
|
|
|
|
\begin{enumerate}[leftmargin=2em]
|
|
\item \textbf{Fine geometric detail.} Zen-3D struggles with very fine
|
|
geometric features (e.g., individual hair strands, thin chain links)
|
|
because the tri-plane resolution ($64^2$ per plane) limits the spatial
|
|
frequency of representable geometry.
|
|
|
|
\item \textbf{Compositional generation.} Complex scenes with multiple
|
|
interacting objects (e.g., ``a cat sitting on a bookshelf next to a
|
|
vase'') sometimes produce objects that interpenetrate or lack correct
|
|
spatial relationships.
|
|
|
|
\item \textbf{Texture resolution.} While $1024^2$ PBR maps are sufficient
|
|
for most applications, close-up rendering of large objects may reveal
|
|
texture aliasing. Higher-resolution texture generation is possible but
|
|
increases memory and computation costs.
|
|
|
|
\item \textbf{Rigging coverage.} The ARM module is trained primarily on
|
|
humanoid and quadruped meshes. Rigging quality degrades for unusual
|
|
morphologies (e.g., octopuses, insects with many legs) that are
|
|
underrepresented in training data.
|
|
|
|
\item \textbf{Animation quality.} While the generated rigs support LBS
|
|
deformation, they do not include corrective blend shapes or facial
|
|
rigs, limiting the range of achievable animations.
|
|
|
|
\item \textbf{Transparency and subsurface scattering.} The current PBR
|
|
material model does not include transparency or subsurface scattering
|
|
parameters, limiting material realism for glass, liquids, and skin.
|
|
|
|
\item \textbf{Text ambiguity.} Ambiguous prompts (e.g., ``a bank'' ---
|
|
financial institution or river bank) may produce unexpected results.
|
|
The model tends to generate the most common interpretation in the
|
|
training data.
|
|
\end{enumerate}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 10. FUTURE WORK
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Future Work}
|
|
\label{sec:future}
|
|
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Scene generation}: Extending Zen-3D from single-object
|
|
generation to full scene composition with spatial layout planning.
|
|
|
|
\item \textbf{Image-to-3D}: Conditioning on reference images in addition
|
|
to text for more precise control over generated assets.
|
|
|
|
\item \textbf{4D generation}: Combining Zen-3D with Zen-World's temporal
|
|
modeling for text-to-4D (animated 3D) generation.
|
|
|
|
\item \textbf{Higher-resolution materials}: Cascaded material generation
|
|
for $4096^2$ textures suitable for film production.
|
|
|
|
\item \textbf{Facial rigging}: Dedicated facial rig prediction with blend
|
|
shapes for character animation.
|
|
|
|
\item \textbf{Interactive editing}: Enabling text-guided editing of
|
|
generated 3D assets (``make the sword longer'', ``add rust texture'').
|
|
\end{itemize}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% 11. CONCLUSION
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section{Conclusion}
|
|
\label{sec:conclusion}
|
|
|
|
We have presented Zen-3D, a text-to-3D generation system that produces
|
|
production-ready 3D assets with geometric consistency, PBR materials, and
|
|
skeletal rigging in under 30 seconds. Our key findings are:
|
|
|
|
\begin{enumerate}[leftmargin=2em]
|
|
\item The 3D-Aware Diffusion Transformer with cross-plane attention
|
|
eliminates the Janus problem and achieves 87.3\% CLIP R-Precision,
|
|
a 12.1-point improvement over prior methods.
|
|
|
|
\item The Hybrid Neural-Explicit Reconstruction pipeline produces clean
|
|
triangle meshes with UV-mapped PBR materials that render correctly under
|
|
novel lighting conditions (PSNR 26.4 dB).
|
|
|
|
\item The Automatic Rigging Module predicts skeletons with 82.7\% joint
|
|
accuracy and skinning weights with 0.078 L1 error, enabling immediate
|
|
use in animation pipelines.
|
|
|
|
\item Zen-3D generates complete assets 100--300$\times$ faster than
|
|
distillation-based methods while producing higher-quality results, making
|
|
text-to-3D generation practical for production workflows.
|
|
\end{enumerate}
|
|
|
|
These results demonstrate that 3D-aware generative architectures operating on
|
|
structured latent representations can match and exceed the quality of
|
|
per-prompt optimization methods while maintaining single-pass efficiency. We
|
|
release all code, weights, and an interactive demo at
|
|
\url{https://github.com/hanzoai/zen-3d}.
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% ACKNOWLEDGMENTS
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\section*{Acknowledgments}
|
|
|
|
We thank the Hanzo AI 3D team for engineering support, the Zoo Labs Foundation
|
|
for compute resources, and the Objaverse and ShapeNet teams for benchmark
|
|
infrastructure. We are grateful to the 50 professional 3D artists who
|
|
participated in our user study. This work was supported by the Hanzo AI
|
|
Research Fund and the Zoo Decentralized Science Initiative.
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% REFERENCES
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\begin{thebibliography}{35}
|
|
|
|
\bibitem[Baran and Popovi\'{c}(2007)]{baran2007pinocchio}
|
|
Baran, I. and Popovi\'{c}, J.
|
|
\newblock Automatic rigging and animation of 3D characters.
|
|
\newblock \emph{ACM Transactions on Graphics (SIGGRAPH)}, 26(3):72, 2007.
|
|
|
|
\bibitem[Carion et al.(2020)]{carion2020detr}
|
|
Carion, N., Massa, F., Synnaeve, G., et al.
|
|
\newblock End-to-end object detection with transformers.
|
|
\newblock In \emph{ECCV}, 2020.
|
|
|
|
\bibitem[Chan et al.(2022)]{chan2022eg3d}
|
|
Chan, E.~R., Lin, C.~Z., Chan, M.~A., et al.
|
|
\newblock Efficient geometry-aware 3D generative adversarial networks.
|
|
\newblock In \emph{CVPR}, 2022.
|
|
|
|
\bibitem[Chang et al.(2015)]{chang2015shapenet}
|
|
Chang, A.~X., Funkhouser, T., Guibas, L., et al.
|
|
\newblock ShapeNet: An information-rich 3D model repository.
|
|
\newblock \emph{arXiv preprint arXiv:1512.03012}, 2015.
|
|
|
|
\bibitem[Chen et al.(2023)]{chen2023fantasia3d}
|
|
Chen, R., Chen, Y., Jiao, N., and Jia, K.
|
|
\newblock Fantasia3D: Disentangling geometry and appearance for high-quality
|
|
text-to-3D content creation.
|
|
\newblock In \emph{ICCV}, 2023.
|
|
|
|
\bibitem[Cook and Torrance(1982)]{cook1982reflectance}
|
|
Cook, R.~L. and Torrance, K.~E.
|
|
\newblock A reflectance model for computer graphics.
|
|
\newblock \emph{ACM Transactions on Graphics}, 1(1):7--24, 1982.
|
|
|
|
\bibitem[Deitke et al.(2023)]{deitke2023objaverse}
|
|
Deitke, M., Schwenk, D., Salvador, J., et al.
|
|
\newblock Objaverse: A universe of annotated 3D objects.
|
|
\newblock In \emph{CVPR}, 2023.
|
|
|
|
\bibitem[Deitke et al.(2024)]{deitke2024objaversexl}
|
|
Deitke, M., Liu, R., Wallingford, M., et al.
|
|
\newblock Objaverse-XL: A universe of 10M+ 3D objects.
|
|
\newblock In \emph{NeurIPS}, 2024.
|
|
|
|
\bibitem[Gao et al.(2022)]{gao2022get3d}
|
|
Gao, J., Shen, T., Wang, Z., et al.
|
|
\newblock GET3D: A generative model of high quality 3D textured shapes learned
|
|
from images.
|
|
\newblock In \emph{NeurIPS}, 2022.
|
|
|
|
\bibitem[Hong et al.(2024)]{hong2024lrm}
|
|
Hong, Y., Zhang, K., Gu, J., et al.
|
|
\newblock LRM: Large reconstruction model for single image to 3D.
|
|
\newblock In \emph{ICLR}, 2024.
|
|
|
|
\bibitem[jpcy(2020)]{jpcy2020xatlas}
|
|
jpcy.
|
|
\newblock xatlas: Mesh parameterization library.
|
|
\newblock \url{https://github.com/jpcy/xatlas}, 2020.
|
|
|
|
\bibitem[Jun and Nichol(2023)]{jun2023shap}
|
|
Jun, H. and Nichol, A.
|
|
\newblock Shap-E: Generating conditional 3D implicit functions.
|
|
\newblock \emph{arXiv preprint arXiv:2305.02463}, 2023.
|
|
|
|
\bibitem[Kerbl et al.(2023)]{kerbl2023gaussian}
|
|
Kerbl, B., Kopanas, G., Leimk\"{u}hler, T., and Drettakis, G.
|
|
\newblock 3D Gaussian Splatting for real-time radiance field rendering.
|
|
\newblock \emph{ACM Transactions on Graphics (SIGGRAPH)}, 42(4), 2023.
|
|
|
|
\bibitem[Li et al.(2024)]{li2024instant3d}
|
|
Li, J., Tan, H., Zhang, K., et al.
|
|
\newblock Instant3D: Fast text-to-3D with sparse-view generation and large
|
|
reconstruction model.
|
|
\newblock In \emph{ICLR}, 2024.
|
|
|
|
\bibitem[Li et al.(2021)]{li2021neural}
|
|
Li, R., Yang, S., Ross, D.~A., and Kanazawa, A.
|
|
\newblock AI choreographer: Music conditioned 3D dance generation with AIST++.
|
|
\newblock In \emph{ICCV}, 2021.
|
|
|
|
\bibitem[Lin et al.(2023)]{lin2023magic3d}
|
|
Lin, C.-H., Gao, J., Tang, L., et al.
|
|
\newblock Magic3D: High-resolution text-to-3D content creation.
|
|
\newblock In \emph{CVPR}, 2023.
|
|
|
|
\bibitem[Liu et al.(2023)]{liu2023zero1to3}
|
|
Liu, R., Wu, R., Van Hoorick, B., et al.
|
|
\newblock Zero-1-to-3: Zero-shot one image to 3D object.
|
|
\newblock In \emph{ICCV}, 2023.
|
|
|
|
\bibitem[Liu et al.(2024)]{liu2024one2345}
|
|
Liu, M., Xu, C., Jin, H., et al.
|
|
\newblock One-2-3-45: Any single image to 3D mesh in 45 seconds without
|
|
per-shape optimization.
|
|
\newblock In \emph{NeurIPS}, 2024.
|
|
|
|
\bibitem[Lorensen and Cline(1987)]{lorensen1987marching}
|
|
Lorensen, W.~E. and Cline, H.~E.
|
|
\newblock Marching cubes: A high resolution 3D surface construction algorithm.
|
|
\newblock In \emph{SIGGRAPH}, pp.~163--169, 1987.
|
|
|
|
\bibitem[Mildenhall et al.(2020)]{mildenhall2020nerf}
|
|
Mildenhall, B., Srinivasan, P.~P., Tancik, M., et al.
|
|
\newblock NeRF: Representing scenes as neural radiance fields for view
|
|
synthesis.
|
|
\newblock In \emph{ECCV}, 2020.
|
|
|
|
\bibitem[M\"{u}ller et al.(2022)]{mueller2022instant}
|
|
M\"{u}ller, T., Evans, A., Schied, C., and Keller, A.
|
|
\newblock Instant neural graphics primitives with a multiresolution hash
|
|
encoding.
|
|
\newblock \emph{ACM Transactions on Graphics (SIGGRAPH)}, 41(4):102, 2022.
|
|
|
|
\bibitem[Boss et al.(2021)]{boss2021nerd}
|
|
Boss, M., Braun, R., Jampani, V., et al.
|
|
\newblock NeRD: Neural reflectance decomposition from image collections.
|
|
\newblock In \emph{ICCV}, 2021.
|
|
|
|
\bibitem[Nichol et al.(2022)]{nichol2022pointe}
|
|
Nichol, A., Jun, H., Dhariwal, P., et al.
|
|
\newblock Point-E: A system for generating 3D point clouds from complex
|
|
prompts.
|
|
\newblock \emph{arXiv preprint arXiv:2212.08751}, 2022.
|
|
|
|
\bibitem[Poole et al.(2023)]{poole2023dreamfusion}
|
|
Poole, B., Jain, A., Barron, J.~T., and Mildenhall, B.
|
|
\newblock DreamFusion: Text-to-3D using 2D diffusion.
|
|
\newblock In \emph{ICLR}, 2023.
|
|
|
|
\bibitem[Radford et al.(2021)]{radford2021clip}
|
|
Radford, A., Kim, J.~W., Hallacy, C., et al.
|
|
\newblock Learning transferable visual models from natural language supervision.
|
|
\newblock In \emph{ICML}, 2021.
|
|
|
|
\bibitem[Raffel et al.(2020)]{raffel2020t5}
|
|
Raffel, C., Shazeer, N., Roberts, A., et al.
|
|
\newblock Exploring the limits of transfer learning with a unified text-to-text
|
|
transformer.
|
|
\newblock \emph{JMLR}, 21(140):1--67, 2020.
|
|
|
|
\bibitem[Shen et al.(2021)]{shen2021dmtet}
|
|
Shen, T., Gao, J., Yin, K., et al.
|
|
\newblock Deep marching tetrahedra: A hybrid representation for high-resolution
|
|
3D shape synthesis.
|
|
\newblock In \emph{NeurIPS}, 2021.
|
|
|
|
\bibitem[Shen et al.(2023)]{shen2023flexicubes}
|
|
Shen, T., Munkberg, J., Hasselgren, J., et al.
|
|
\newblock Flexible isosurface extraction for gradient-based mesh optimization.
|
|
\newblock \emph{ACM Transactions on Graphics (SIGGRAPH)}, 42(4), 2023.
|
|
|
|
\bibitem[Wang et al.(2024)]{wang2024prolificdreamer}
|
|
Wang, Z., Lu, C., Wang, Y., et al.
|
|
\newblock ProlificDreamer: High-fidelity and diverse text-to-3D generation
|
|
with variational score distillation.
|
|
\newblock In \emph{NeurIPS}, 2024.
|
|
|
|
\bibitem[Xu et al.(2020)]{xu2020rignet}
|
|
Xu, Z., Zhou, Y., Kalogerakis, E., et al.
|
|
\newblock RigNet: Neural rigging for articulated characters.
|
|
\newblock \emph{ACM Transactions on Graphics (SIGGRAPH)}, 39(4):58, 2020.
|
|
|
|
\end{thebibliography}
|
|
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
% APPENDIX
|
|
% ═════════════════════════════════════════════════════════════════════════════
|
|
\appendix
|
|
|
|
\section{3D-DiT Architecture Details}
|
|
\label{app:dit}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{3D-DiT model configuration.}
|
|
\label{tab:dit-config}
|
|
\begin{tabular}{@{}lc@{}}
|
|
\toprule
|
|
\textbf{Parameter} & \textbf{Value} \\
|
|
\midrule
|
|
DiT blocks & 28 \\
|
|
Hidden dimension & 1536 \\
|
|
Attention heads & 24 \\
|
|
Head dimension & 64 \\
|
|
MLP ratio & 4.0 \\
|
|
Tri-plane resolution & $64 \times 64$ \\
|
|
Tri-plane channels & 32 \\
|
|
Cross-plane attention frequency & Every 4 blocks \\
|
|
Text cross-attention frequency & Every 2 blocks \\
|
|
Diffusion steps (train) & 1000 \\
|
|
Diffusion steps (inference) & 50 (DDIM) \\
|
|
Noise schedule & Cosine \\
|
|
CFG dropout rate & 0.10 \\
|
|
CFG guidance scale & 7.5 \\
|
|
Total parameters & 1.8B \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\section{Material Prediction Network}
|
|
\label{app:material}
|
|
|
|
The material network is a U-Net operating on the $1024 \times 1024$ UV atlas:
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Material prediction U-Net architecture.}
|
|
\label{tab:material-arch}
|
|
\begin{tabular}{@{}lccc@{}}
|
|
\toprule
|
|
\textbf{Stage} & \textbf{Channels} & \textbf{Resolution} & \textbf{Notes} \\
|
|
\midrule
|
|
Input & 32 + 3 & $1024^2$ & Tri-plane feat + UV coords \\
|
|
Down 1 & 64 & $512^2$ & ResBlock $\times$ 2 \\
|
|
Down 2 & 128 & $256^2$ & ResBlock $\times$ 2 \\
|
|
Down 3 & 256 & $128^2$ & ResBlock $\times$ 2 + Attn \\
|
|
Down 4 & 512 & $64^2$ & ResBlock $\times$ 2 + Attn \\
|
|
Bottleneck & 512 & $64^2$ & ResBlock + Attn + ResBlock \\
|
|
Up 4 & 256 & $128^2$ & ResBlock $\times$ 2 + Attn \\
|
|
Up 3 & 128 & $256^2$ & ResBlock $\times$ 2 \\
|
|
Up 2 & 64 & $512^2$ & ResBlock $\times$ 2 \\
|
|
Up 1 & 32 & $1024^2$ & ResBlock $\times$ 2 \\
|
|
Output & 8 & $1024^2$ & 3 albedo + 3 normal + 1 rough + 1 metal \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
The albedo output uses sigmoid activation (clipped to $[0, 1]$), the normal
|
|
output is L2-normalized, roughness uses sigmoid, and metalness uses sigmoid.
|
|
|
|
\section{Skeleton Predictor Details}
|
|
\label{app:skeleton}
|
|
|
|
The skeleton predictor uses a DETR-style architecture:
|
|
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \textbf{Mesh encoder}: PointNet++ \citep{qi2017pointnetpp} operating on
|
|
a sampled subset of 4,096 mesh vertices with tri-plane feature
|
|
augmentation.
|
|
\item \textbf{Joint queries}: 64 learned queries of dimension 256.
|
|
\item \textbf{Transformer decoder}: 6 layers, 8 heads, 256-dim.
|
|
\item \textbf{Output heads}:
|
|
\begin{itemize}
|
|
\item Position: MLP $\to \R^3$ (joint location)
|
|
\item Parent: MLP $\to \R^{65}$ (softmax over 64 joints + root)
|
|
\item Orientation: MLP $\to \R^4$ (quaternion, normalized)
|
|
\item Existence: MLP $\to \{0, 1\}$ (binary classifier)
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
\section{Additional Evaluation Results}
|
|
\label{app:additional}
|
|
|
|
\subsection{Per-Category ShapeNet Results}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{FID scores on all 13 ShapeNet categories.}
|
|
\label{tab:shapenet-full}
|
|
\begin{tabular}{@{}lcc@{}}
|
|
\toprule
|
|
\textbf{Category} & \textbf{GET3D} & \textbf{Zen-3D} \\
|
|
\midrule
|
|
Airplane & 39.2 & \textbf{31.4} \\
|
|
Bench & 58.7 & \textbf{47.2} \\
|
|
Cabinet & 63.1 & \textbf{51.8} \\
|
|
Car & 48.7 & \textbf{37.8} \\
|
|
Chair & 54.3 & \textbf{41.2} \\
|
|
Display & 52.4 & \textbf{42.7} \\
|
|
Lamp & 67.8 & \textbf{54.3} \\
|
|
Loudspeaker & 61.2 & \textbf{49.1} \\
|
|
Rifle & 41.3 & \textbf{33.7} \\
|
|
Sofa & 51.6 & \textbf{40.8} \\
|
|
Table & 61.4 & \textbf{49.3} \\
|
|
Telephone & 43.8 & \textbf{35.2} \\
|
|
Watercraft & 47.9 & \textbf{38.4} \\
|
|
\midrule
|
|
\textbf{Average} & 53.2 & \textbf{42.5} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Inference Time Breakdown}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Inference time breakdown for a single asset (H100 GPU).}
|
|
\label{tab:timing}
|
|
\begin{tabular}{@{}lc@{}}
|
|
\toprule
|
|
\textbf{Component} & \textbf{Time (s)} \\
|
|
\midrule
|
|
Text encoding (CLIP + T5) & 0.2 \\
|
|
3D-DiT diffusion (50 DDIM steps) & 8.4 \\
|
|
Density grid extraction & 1.8 \\
|
|
FlexiCubes mesh extraction & 2.1 \\
|
|
UV parameterization (xatlas) & 1.4 \\
|
|
PBR material prediction & 3.2 \\
|
|
Skeleton prediction & 1.9 \\
|
|
Skinning weight prediction & 1.4 \\
|
|
Mesh post-processing & 1.6 \\
|
|
\midrule
|
|
\textbf{Total} & \textbf{22.0} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\end{document}
|