当前位置: 首页 > news >正文

【SIGGRAPH 2026】Pixal3D: 基于图像的像素对齐三维生成

Pixal3D可从单张图像生成高保真3D资产。与此前通过注意力机制松散注入图像特征的方法不同,Pixal3D通过反向投影将像素特征显式提升至3D空间,建立直接的像素到3D对应关系,从而实现接近重建级保真度的精细几何结构和PBR材质。


✨ 最新动态

  • 2026年5月:发布训练代码与数据准备工具包 🔧
  • 2026年5月:发布基于Trellis.2骨干网络的改进版本 💪
  • 2026年5月:发布推理代码与在线演示 🤗
  • 2026年4月:论文被SIGGRAPH 2026收录! 🎉

📌 分支

分支描述
main最新版本— 基于Trellis.2主干改进实现,性能更优。
paper论文版本— 基于Direct3D-S2的原始实现,对应我们SIGGRAPH 2026论文中报告的结果。

如需复现论文中的结果,请切换到paper分支。

🎮 在线体验

无需安装,您可以直接在浏览器中通过我们的Hugging Face Gradio演示体验Pixal3D:

👉启动演示

🚀 快速开始

安装指南

第一步:遵循TRELLIS.2安装

请先按照TRELLIS.2的安装指南配置基础环境。

第二步:安装额外依赖
pipinstall-rrequirements.txt
第三步:安装utils3d
pipinstallhttps://github.com/LDYang694/Storages/releases/download/20260430/utils3d-0.0.2-py3-none-any.whl

注意requirements-hfdemo.txt专为Hugging Face Spaces演示(H系列GPU架构)准备,可能不兼容其他架构。

使用说明

推理生成

从单张图像生成GLB格式网格:

python inference.py--imageassets/images/0_img.png--output./output.glb

低显存模式(按需加载模型以降低峰值显存占用):

python inference.py--imageassets/images/0_img.png--output./output.glb--low_vram

默认管道分辨率为1536(标准模式)或1024(低显存模式)。可通过--resolution参数覆盖:

# 在低显存模式下强制使用1536分辨率python inference.py--imageassets/images/0_img.png--output./output.glb--low_vram--resolution1536# 在标准模式下强制使用1024分辨率python inference.py--imageassets/images/0_img.png--output./output.glb--resolution1024

技巧:若未安装flash_attn,可使用PyTorch内置的SDPA后端替代:

ATTN_BACKEND=sdpa python inference.py--imageassets/images/0_img.png--output./output.glb--low_vram

网页演示

我们提供了基于Gradio的交互式网页演示,可直接通过图像生成3D网格。

python app.py

网页演示同样支持低显存模式。前端默认分辨率在低显存模式下会自动切换为1024(否则为1536),但可通过界面手动调整。

python app.py--low_vram# 或通过环境变量启用:LOW_VRAM=1python app.py

🔧 训练指南

我们提供完整的训练代码库,支持从零开始复现Pixal3D模型。

数据准备

按照数据工具包说明准备视角对齐的O-Voxel数据及渲染条件图像:

📂data_toolkit/README.md

概述

Pixal3D采用三级级联训练,每阶段逐步提升分辨率:

阶段模型分辨率配置前缀
1稀疏结构32 → 64ss_flow_img_dit_*_proj_finetune
2形状256 → 512 → 1024slat_flow_img2shape_*_proj_finetune
3纹理256 → 512 → 1024slat_flow_imgshape2tex_*_proj_finetune

所有阶段均采用像素对齐投影条件视角对齐潜在特征(默认2视角)。在每个阶段内,从最低分辨率开始训练,并通过在配置中设置finetune_ckpt逐步微调至更高分辨率。

快速开始

python train.py\--config<CONFIG_JSON>\--output_dir<OUTPUT_DIR>\--data_dir'<DATA_DIR_JSON>'

--data_dir是一个描述数据集布局的JSON字符串。不同阶段需要不同的键值:

阶段必需键值
稀疏结构base,ss_latent,render_cond
形状base,shape_latent,render_cond
纹理base,shape_latent,pbr_latent,render_cond

示例:训练全部三个阶段

以下我们以ObjaverseXL为例展示完整的训练流程。每个更高分辨率的步骤都需要在其配置JSON中更新finetune_ckpt以指向先前的检查点。

阶段1:稀疏结构(32 → 64)
# Resolution 32python train.py\--configconfigs/gen/ss_flow_img_dit_1_3B_32_bf16_proj_finetune.json\--output_dirresults/ss_32\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "ss_latent": "datasets/ObjaverseXL_sketchfab/ss_latents/ss_enc_conv3d_16l8_fp16_64_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'# Resolution 64 (set finetune_ckpt → results/ss_32 checkpoint)python train.py\--configconfigs/gen/ss_flow_img_dit_1_3B_32_bf16_proj_finetune_ft64.json\--output_dirresults/ss_ft64\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "ss_latent": "datasets/ObjaverseXL_sketchfab/ss_latents/ss_enc_conv3d_16l8_fp16_64_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'
阶段2:形状(256 → 512 → 1024)
# Resolution 256python train.py\--configconfigs/gen/slat_flow_img2shape_dit_1_3B_256_bf16_proj_finetune.json\--output_dirresults/shape_256\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_256_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'# Resolution 512python train.py\--configconfigs/gen/slat_flow_img2shape_dit_1_3B_256_bf16_proj_finetune_ft512.json\--output_dirresults/shape_ft512\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_512_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'# Resolution 1024python train.py\--configconfigs/gen/slat_flow_img2shape_dit_1_3B_512_bf16_proj_finetune_ft1024.json\--output_dirresults/shape_ft1024\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_1024_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'
阶段3:纹理(256 → 512 → 1024)
# Resolution 256python train.py\--configconfigs/gen/slat_flow_imgshape2tex_dit_1_3B_256_bf16_proj_finetune.json\--output_dirresults/tex_256\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_256_view", "pbr_latent": "datasets/ObjaverseXL_sketchfab/pbr_latents/tex_enc_next_dc_f16c32_fp16_256_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'# Resolution 512python train.py\--configconfigs/gen/slat_flow_imgshape2tex_dit_1_3B_512_bf16_proj_finetune.json\--output_dirresults/tex_512\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_512_view", "pbr_latent": "datasets/ObjaverseXL_sketchfab/pbr_latents/tex_enc_next_dc_f16c32_fp16_512_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'# Resolution 1024python train.py\--configconfigs/gen/slat_flow_imgshape2tex_dit_1_3B_512_bf16_proj_finetune_ft1024.json\--output_dirresults/tex_ft1024\--data_dir'{"ObjaverseXL_sketchfab": {"base": "datasets/ObjaverseXL_sketchfab", "shape_latent": "datasets/ObjaverseXL_sketchfab/shape_latents/shape_enc_next_dc_f16c32_fp16_1024_view", "pbr_latent": "datasets/ObjaverseXL_sketchfab/pbr_latents/tex_enc_next_dc_f16c32_fp16_1024_view", "render_cond": "datasets/ObjaverseXL_sketchfab/renders_cond"}}'

附加选项

所有命令行参数
参数描述默认值
--config配置文件JSON路径必填
--output_dir输出目录必填
--data_dir数据集JSON字符串./data/
--load_dir检查点加载目录output_dir
--ckpt从指定步骤恢复latest
--auto_retry失败重试次数3
--tryrun试运行false
--profile性能分析false
--num_nodes节点数量1
--node_rank当前节点排名0
--num_gpus每节点GPU数量全部
--master_addr主节点地址localhost
--master_port主节点端口12666
--use_wandb启用W&B日志false
--wandb_projectW&B项目名trellis2-training
--wandb_nameW&B运行名称output_dir的基名
--wandb_idW&B运行ID(恢复用)

🤗 致谢

本项目主要基于Trellis.2和Direct3D-S2构建。我们衷心感谢原作者在可扩展3D生成领域的杰出工作,这为我们的代码库和模型架构奠定了基础。

同时感谢以下开源项目的重大贡献:

  • Direct3D-S2
  • Trellis
  • Trellis.2

📄 引用

如果您觉得这项工作有帮助,请考虑引用:

@article{li2026pixal3d, title={Pixal3D: Pixel-Aligned 3D Generation from Images}, author={Li, Dong-Yang and Zhao, Wang and Chen, Yuxin and Hu, Wenbo and Guo, Meng-Hao and Zhang, Fang-Lue and Shan, Ying and Hu, Shi-Min}, journal={arXiv preprint arXiv:2605.10922}, year={2026} }

项目:https://ldyang694.github.io/projects/pixal3d/
代码:https://github.com/TencentARC/Pixal3D
模型:https://huggingface.co/TencentARC/Pixal3D

http://www.jsqmd.com/news/842344/

相关文章:

  • NotebookLM文献管理效率革命(2024科研人必装的AI协作者)
  • [通俗易懂]从“生产者-消费者”模型秒懂Java泛型PECS原则(别再死记硬背了)
  • 电容触摸屏调试常识与应用场景
  • 逆向工程揭秘:三步免费解锁Cursor Pro完整AI编程助手功能
  • 抖音批量下载器:构建高效内容采集自动化工作流
  • 【ElevenLabs企业级克隆部署白皮书】:单模型支持12种语境情绪、延迟<480ms、通过GDPR+CCPA双认证
  • RT-Thread Studio自定义工程路径踩坑记:解决‘Error retrieving output from the rttconfig server’报错
  • 2026国内展柜设计安装评测:国内奢侈品展柜、国内商业展柜、国内商场专柜、国内实木烤漆展柜、国内展柜、国内展柜设计安装选择指南 - 优质品牌商家
  • Qt 4.3.0 环境下的词法分析器实战:从正则表达式到C++代码的完整生成流程
  • 别再手动更新了!用SciChart WPF v6.x的实时数据流,5分钟搞定动态图表
  • 精准直流计量-安科瑞一体式直流电能表
  • ESP32-S3-WROOM-1 MicroPython固件烧录避坑指南:从虚拟机文件拷到Flash地址设置的完整流程
  • GLSL全局变量替代方案与GPU并行编程实践
  • Milk-V Duo RISC-V开发板开箱体验与Linux系统启动全攻略
  • 用CanMV-K230开发板做个智能门锁原型:从硬件选型到AI模型部署的完整流程
  • 2026年西北工业门选型指南:兰州工业门厂家/兰州工业门厂家电话/兰州工业门批发/兰州广告道闸/兰州快速卷帘门/选择指南 - 优质品牌商家
  • OA系统:企业信息化的高效利器
  • CircuitPython实战技巧:禁用自动重载、硬件安全模式与图像优化
  • 2026四川水泵隔音降噪技术解析与权威服务商参考:四川水泥厂噪音治理/四川水泵隔音降噪/四川噪音治理/四川隔音降噪/选择指南 - 优质品牌商家
  • 零样本生物医学关系抽取:大语言模型与提示工程实践
  • Codex插件使用指南:从下载到上手全流程
  • 别再死记硬背FIRST和FOLLOW集了!用Python手写一个LL(1)语法分析器帮你彻底搞懂
  • 助力美i拓客模式开发介绍【代码)
  • RTX51银行切换模式1运行时错误分析与解决方案
  • HarmonyOS ArkWeb 系列之组件四种加载方式:loadUrl、loadData、rawfile 和 resource 协议完全指南
  • 别再只会用Audition变调器了!iZotope算法和Audition算法到底怎么选?保姆级对比指南
  • 如何高效推动区域科技创新成果转化?
  • SARScape 5.6 踩坑实录:DEM导入报错?可能是这个文件后缀在捣鬼
  • NotebookLM数学研究辅助实战手册(从LaTeX建模到自动定理生成)
  • ZYNQ --- Linux成长之路 --- 从VDMA到FrameBuffer:LCD驱动的实战解析