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

狗都能看懂的HunYuan3D 1.0详解

HunYuan3D 1.0

HunYuan3D 1.0是2024年9月发布的一篇论文。虽然站在现在的时间节点,HunYuan3D系列已经出到2.5了,但是1.0版本的改进思路,和它trick集成的做法,还是很值得学习的。由于文章用到了很多技术,由于篇幅有限,部分技术只会简单讲解,尽可能了解HunYuan3D 1.0的主要技术。

引言

3D生成在CV与CG界一直是热门方向。早期的工作,做“无条件的类别内生成”(例如只生成椅子、只生成车等),受限于3D表征(体素、点云等)和数据规模。近年来,LLM、图像/视频生成通过“规模法则”取得巨大成功,给3D指明了方向。但3D资产非常复杂,且数据稀缺:最大的公开3D数据集Objaverse-xl仅1000万条,远少于文本/图像/视频数据。因此,借助2D生成模型先验(2D prior)成为一条可行捷径。

DreamFusion首次提出用SDS(Score Distillation Sampling)把2D扩散模型的知识蒸馏到NeRF,开创了“2D升3D”路线。但DreamFusion存在颜色过饱和优化极慢(几十分钟到一小时)的问题。为了提升效率,后续的工作集中在:

  • 提升采样效率(如ProlificDreamer);
  • 把普通扩散模型微调成“多视角扩散模型”;
  • 用更直接的渲染损失替代SDS损失。

然而,上述方法仍属于“逐物体优化”(per-shape optimization),耗时依旧。虽然已有单独研究“多视角扩散”(主要是以Zero-1-to-3为代表)或“稀疏视角重建”(Instant-mesh,Viewfusion这两个没怎么了解过),但缺少统一框架解决两者联合难点。两个比较大的痛点是:

  • 多视角扩散模型跨视角不一致+去噪慢
  • 稀疏视角重建模型仅用已知视角RGB,信息不足。

HunYuan3D 1.0,把两者优势融合,最快10秒完成3D生成,在泛化性与质量间找到平衡。

方法

HunYuan3D 1.0是一个二阶段模型。

第一阶段:用多视角扩散模型做“2D升3D”。在大规模2D扩散模型基础上微调,使其具备3D先验。所有视角仰角为0°(水平环绕),最大化视角重叠区域,降低重建难度。

第二阶段:用稀疏视角重建模型从“不完美一致”的多视角图中恢复3D形状。额外把原始条件图(输入图)作为无姿态辅助视角,补全未见区域(这个方法也是Zero-1-to-3++为了弥补Zero-1-to-3的一个缺陷而提出的,后面会展开讲解)用线性unpatchify超分提升细节,不增加显存/计算量。

整个模型和流程如下图所示:

F2.png

第一阶段

输入单张RGB或者文本/prompt,论文是图片,我们还是用图片讲解。分辨率为512×512(推理时固定)。背景为默认白底,方便后面分割(我感觉这个挺重要的,但没有实际测过不是白底的结果)。

多视角改进

Multi-View Diffusion是多视角扩散模型,通过输入一张RGB图像和噪声,重建为6张图,方位角为{0,60,120,180,240,300},仰角0°。我们看图上绿色的大框,除了输入噪声,还有一个condition。这个是复用Zero-1-to-3++的“大图拼接”思路Reference Attention机制,把条件图(输入图)的K/V注入到U-Net的自注意力层,确保纹理、语义一致。(具体可以看Zero-1-to-3++论文里的参考图)同时把backbone换成3×更大的SD-XL。Condition Image的潜变量充分利用了SD模型的先验知识。

F6.png

6个视角的生成原则也是参考了Zero-1-to-3++的方法。主要是针对Zero-1-to-3输入单一视角,然后输出其他视角的结果方案缺陷的一个改善。虽然Zero-1-to-3是想通过相机角度来控制生成不同角度的图片。但这样的结果缺乏一致性,即物体的其他角度要么很模糊,要么很没逻辑(比如人有两个头)。后面也有不少工作提出了解决方法,但这边只集中说一下Zero-1-to-3++的改进方法。

F2__.png

我们可以看到Zero-1-to-3++的方法是,针对一个物体生成6个固定角度的决定视角。即垂直方向有30°和-20°(固定的),然后水平角度从30°到330°(可变的)。这里有个关键点,为了生成这个固定角度的绝对视角,我们要知道某个输入图片的相机视角,不然你生成的结果视角是相对的,就会造成结果是模糊甚至完全不对的。所以是需要有一个相机视角的估测模块。那么Zero-1-to-3++也就引用了One-2-3-45的方法。同时One-2-3-45当时也分析了,如果给定一个错误的相机视角去给NeRF渲染,其结果就是完全不对的(第四列/第五列)。即水平方向偏移正负30°,模拟错误估计的情况或没有相机视角估测模块的情况。One-2-3-45之前阅读过,也写了博客总结,但当时没怎么理解清楚,现在看到HunYuan3D 1.0引用了它,总算搞清楚了。

F10.png

所以HunYuan3D 1.0主要是参考了Zero-1-to-3++的方法,将多视角生成引入了到它们的模型中。它分成两个模型,Lite版输出960×640(3×2网格)。Standard版输出1536×1024,细节更锐利。

自适应CFG

cfg是用来控制结果与条件的相关性的。作者发现,在多视角场景下,cfg系数的大小与结果有个特殊矛盾:

  • 小CFG:纹理细节好,但可能出现伪影;
  • 大CFG:几何形状好,但纹理过平滑、颜色暗淡;

于是作者深入研究,进一步发现,不同视角对CFG的敏感度不一样:

  • 前视角离输入图近,高CFG能保留细节;
  • 后视角离输入图远,高CFG反而导致“复制粘贴”前视角内容,出现阴影/过暗;

所以作者提出,“时间+视角”二维方案自适应CFG:

  • 前视角/早期time steps:CFG高,细节好;
  • 后视角/后期time steps:CFG逐渐降低,避免过度约束,保证多样性;

第二阶段

第二阶段主要负责把稀疏视角的图片转换成可用的3D网格。现有大模型(LRM、TripoSR、Instant3D)只用1~3张已知姿态图。

已知姿态分支:6张生成图带有相机嵌入(position-encoding)。但问题是,0°仰角直接输入到模型,会导致顶部/底部盲区,进而导致重建容易“压扁”或“空洞”。为了解决这个方法,作者再开一条**“无姿态分支”。把原始输入图(条件图)过CNN提特征。在Transformer的cross-attention里,把它的相机嵌入设为全零向量**,告诉网络“这张图没有姿态”。于是网络能区分“有姿态的生成图”和“无姿态的条件图”,并利用后者补全盲区。也即论文中图2蓝色方框里的内容。

混合输入

里面的Condition是原始输入图(无姿态)直接送入DINO编码器,提供顶部/底部盲区信息,无相机姿态。Generation是6张不同视角的输入图(即第一阶段的生成结果)分别过DINO编码器Pose Embedding,提供已知姿态的稠密视角信息

轻量超分模块

现有transformer重建习惯用64×64三平面(triplane)导致细节不足、锯齿明显。所以常见的方法是直接放大到256×256,但这样会平方级涨显存,不可取。作者参考了Meshlrm和Gs-lrm的工作,加入了一个三平面的超分模块。

  1. 先常规得到64×64×1024的triplane token
  2. 单层线性映射把每个token扩成4×4=16个高分辨率token
  3. 通道从1024降到120,分辨率64变为256

这样的好处是复杂度O(N),无需在高分辨率上做self-attention,显存友好。而且论文也放出了对比结果,可以看到打开超分后,几何边缘、纹理细节明显锐利。

F3.png

显式3D表示

作者观点,隐式表示(NeRF、Gaussian Splatting)不是终点,因为需要额外提取网格才能进游戏/影视管线。提取过程可能丢细节、引入伪影。所以采用了SDF表达表面,方便可微渲染训练。但是我这里的吐槽一下,你1.0说Gaussian Splatting不好用,结果2.0直接就用上了Gaussian Splatting,人人都笑阿诺,结果人人都是阿诺。

最后有了SDF的结果,直接用MarchingCubes提取网格,一次性得到带UV的三角面片,生成0-1纹理坐标。最后做一个TextureBaking把6视角颜色投影到UV,生成1024²贴图,就可直接输出.obj+.mtl+纹理图了。

实现细节

一般论文我不会去关注实现的细节,但是腾讯毕竟是大公司,除了人才济济,设备/数据也是顶级的。其数据源就已经是独一档的,腾讯内部超大规模 3D 数据集,量级与 Objaverse 相当/更大。他们对数据进行了清洗,删掉“复杂多物体场景”;删掉“无纹理或纹理错误”;删掉“几何畸变严重”。所有物体归一化到 单位球内(半径=1),方便相机参数固定。不过听作者的描述,好像是没开源的数据集。

其训练阶段,采用的是两阶段独立训练(无端到端联合)。多视角扩散 backbone分成了两个版本的模型:

  • Lite:SD-2.1(≈0.9 B 参数)
  • Standard:SD-XL(≈3.5 B 参数)

条件图训练时随机 256~512,推理固定512。目标图统一缩到 320×320(降低显存)。重建模型 backbone:

  • 图像编码: frozen DINOv2(ViT-L)理解能力已经很强了,直接复用;
  • 中间表示:tri-plane(三正交特征平面),并且采用两阶段的训练trick。先 256×256 训练,快速收敛。再 512×512 微调,提升细节;

结果对比

作者设计了两种实验进行分析,一个是定量对比,在固定的指标上对比,比如F1和CD,可量化的结果。第二种是定性视觉对比,就找几个有代表性的物体(如箱子,椅子,杯子等)来对比,最后一个是,用户主观研究,找了30个人对20个物体进行5个指标的投票。反正结果看下图,碾压当前所有的SOTA,基本五边形战士,就连Lite模型也很能打。

F5.png

最后是推理时间的分析,在A100上。两个模型的时间分别是,Lite:≈ 10 s,Std:≈ 25 s。这是纯推理的时间,如果加上后处理(UV展开+贴图烘焙):额外 +15 s(可选)。


文章转载自:

http://VYT4BCz1.rghkg.cn
http://9goYoUuj.rghkg.cn
http://c70aHpTa.rghkg.cn
http://ZzE07W8A.rghkg.cn
http://djx0jnsU.rghkg.cn
http://7M4FUFIG.rghkg.cn
http://bAsN4Hnw.rghkg.cn
http://7aGbk12X.rghkg.cn
http://b0xG0j80.rghkg.cn
http://6rY5HVbk.rghkg.cn
http://vnSo4wOY.rghkg.cn
http://GkwJ8C0F.rghkg.cn
http://NOzzG6WJ.rghkg.cn
http://btGoHwvs.rghkg.cn
http://pONocF6J.rghkg.cn
http://gKDEp6hb.rghkg.cn
http://ZyLPwCWW.rghkg.cn
http://l1JnqfAt.rghkg.cn
http://Q7iuyWme.rghkg.cn
http://6ORyftC4.rghkg.cn
http://d1OJPZ9O.rghkg.cn
http://agZxvoCh.rghkg.cn
http://YiOoyMZh.rghkg.cn
http://O4jTlf7y.rghkg.cn
http://ADkpDjzO.rghkg.cn
http://7aI3CUL2.rghkg.cn
http://m50zdAco.rghkg.cn
http://DXoDfhlq.rghkg.cn
http://x5HKVyX6.rghkg.cn
http://qMDjJAHE.rghkg.cn
http://www.dtcms.com/a/367873.html

相关文章:

  • CodeQL(Mac)安装与测试(Visual Studio)简明指南
  • Next.js 介绍:为什么选择它来构建你的下一个 Web 应用?
  • $attrs学习
  • 无定位更安全:5G 高清视频终端的保密场景适配之道
  • GitHub 热榜项目 - 日榜(2025-09-05)
  • 一文看懂什么是GaN HEMT以及其工艺流程(氮化镓高电子迁移率晶体管)
  • 【AI编程工具】快速搭建图书管理系统
  • 安卓学习 之 EditText 控件
  • 2025职教技能大赛汽车制造与维修赛道速递-产教融合实战亮剑​
  • java面试中经常会问到的zookeeper问题有哪些(基础版)
  • 光伏项目无人机踏勘--如何使用无人机自动航线规划APP
  • jenkins加docker 部署项目
  • linux离线安装elasticsearch8.19.3
  • Jenkins环境搭建与使⽤
  • Jenkins 监控方案:Prometheus + Grafana 实践
  • 【论文阅读】Security of Language Models for Code: A Systematic Literature Review
  • 神经网络算法各种层的原理(基于Keras)--输入层,全连接层,卷积层,池化层,嵌入层,长短期记忆网络层等
  • Github | MoneyPrinterTurbo:自动化视频内容生成系统
  • JUnit入门:Java单元测试全解析
  • 如何下载B站视频,去水印,翻译字幕
  • 脚本语言的大浪淘沙或百花争艳
  • Redis中的hash数据类型
  • 如何安全地删除与重建 Elasticsearch 的 .watches 索引
  • HDFS存储农业大数据的秘密是什么?高级大豆数据分析与可视化系统架构设计思路
  • uni-app iOS 文件调试常见问题与解决方案:结合 itools、克魔、iMazing 的实战经验
  • 解析豆科系统发育冲突原因
  • 五分钟XML速成
  • 《LangChain从入门到精通》系统学习教材大纲
  • 华为云 OBS:数字时代的数据存储与价值挖掘利器
  • Claude Code PM 深度实战指南:AI驱动的GitHub项目管理与并行协作