SAM-3D:当3D生成模型装上语义分割的眼睛 📅 2026/6/28 3:48:33 本期我们的3D调研对象是SAM-3D优势如标题所示多了一个功能语义分割也就是说可以在复杂的画面中分割出核心的对象从而缓解了背景复杂而无法锁定主体的痛点【叠甲声明】笔者目前仍在大一学习中若有错误请大家在评论区指出觉得这一篇文章还行的话请大家不要吝啬点赞读者朋友的csdn三连便是博主更新的最大动力针对上一期的评论我们在本文后面进行回复接下来我们坐好发车我们先直观的看看效果的我们输入图片是下图小熊是分割出来的结果痛点分析上一期我们采用的3D方法是TRELLIS2这类single-image-to-3D模型对背景复杂的图片一般会更不稳定因此它更适合主体明确、背景干净、物体边界清晰的图片我们可以思考一下为什么会出现这种情况条件调整c出现了问题当Image Encoder 提取特征时因为背景的复杂导致关注的内容多可能把背景信息也编码进去传入DiT或者Flow的时候生成的 3D latent 就容易偏这也是 SAM-3D 的切入点它不是简单地把整张图直接送进 3D 生成流程而是先利用语义分割或目标 mask 锁定核心对象再围绕这个被选中的目标进行 3D 重建。换句话说它给 3D 生成模型加了一双“先看清楚谁是主角”的眼睛核心架构输入部分输入包含两个部分原始图片 image 和 掩码部分 mask这块区域是我要重建的物体其他区域是背景或上下文然后调用 inference 输出结果阶段 1Geometry Model可以理解成 SAM-3D 的白模阶段也就是定型阶段它不负责最终纹理也不追求一上来就生成特别精细的 mesh而是先解决 3D 重建里最基础的四个问题第一这个物体大概是什么形状也就是 shape第二这个物体朝向哪里也就是 rotation第三它在场景中的位置在哪里也就是 translation第四它整体有多大也就是 scale论文中的公式表达这四个量共同决定了一个物体的 3D 基础骨架 如果 shape 预测错了后面纹理再精细也只是“精修错误的白模”如果 rotation / translation / scale 预测错了物体即使形状对也会出现朝向不对、位置漂移、比例怪异的问题所以 Geometry Model 的意义不是生成最终成品而是给后面的阶段2提供一个稳定的 3D 基础其中 Geometry Model 会编码两类输入一个是部分图(裁剪后的目标图 裁剪后的 mask)一个是全局图(完整图片 完整图片里的 binary mask)前者是提供目标物体的高分辨率局部信息后者是提供全局场景上下文这样做的原因是裁剪图能看清物体细节完整图能看懂它在场景里的关系那么内部的核心是什么Geometry Model 里面最关键的结构叫Mixture-of-TransformersMoT可以简单理解为用两个 Transformer 分别处理“形状”和“布局”但中间又让它们互相交流简单的分析一下由于形状和局部是不一样的概念如果全部混在一起学可能会乱因此分流成为你两个部分Shape stream负责生成粗 3D shape和Layout stream负责预测 R / t / s其中MoT 的作用就是让两个任务互相交流阶段 2Texture Refinement Model可以理解成 SAM-3D 的精修阶段也就是细节阶段在阶段1的基础上添加局部的细节它主要解决 3D 重建里更靠近最终效果的三个问题第一这个物体的表面细节够不够丰富也就是 texture第二这个物体的几何精度能不能进一步提升也就是 mesh refinement第三这个物体的输出表示能不能同时兼顾传统编辑和实时渲染也就是 representation其中阶段 2 会编码三类输入一个是阶段 1 输出的 coarse voxel一个是原图一个是Object Mask也就是说shape tokens 告诉模型“这个物体大概是什么结构”原图告诉模型“它表面应该长什么样”mask 告诉模型“哪些区域属于目标物体哪些区域是背景”这样做的原因是体素给骨架原图给肤色mask 给边界。那么内部的核心是什么阶段 2 里面最关键的结构叫Flow Transformer这个部分和 TRELLIS2 的 Flow基本一样指导每个中间状态下应该往哪个方向走、走多快噪声状态 ↓ Flow Transformer 预测方向 ↓ 在 image mask shape tokens 条件引导下逐步 denoise (条件c) ↓ 得到更精细的几何和纹理表示阶段 2 的输出有两个分支Mesh Decoder输出带纹理的三角网格可以导入 Blender 编辑、绑骨、做动画它回答的是这个物体长什么样、表面什么颜色Gaussian Splat Decoder输出 3D 高斯球表示可以实时渲染适合 AR/VR 展示它回答的是这个物体从任意角度看应该呈现什么效果为什么比单图3D稳由于存在 mask 模型知道重建谁而不是从整张图里猜主体可以精准的锁定主题的内容2. 在分割之外会利用场景里的上下文加强与其他物体的联系3. 模型在训练时训练数据更贴近真实场景那么对于现实场景的适应性更强局限性分割质量决定了模型的上限也就是SAM-3D不具有纠错的能力只能听凭 SAM 说是什么就是什么虽然它能分割出多个物体分别重建但每个物体是独立走 pipeline的。它们之间的物理关系没有被显式建模重建出来的物体可能会相互涉及到穿模的现象第一轮的指标极为重要假设第一次的出现偏差第二次只能在这个偏差上补充细节无法纠正与TRELLIS2的对比对比项TRELLIS2SAM-3D核心思路从图片生成 3D latent再解码成 3D asset根据 image mask对指定目标做 3D 重建输入单张图片单张图片 目标 mask更适合的图片主体明确、背景干净、轮廓清楚复杂场景、多物体、需要指定目标的图片关键能力高质量 3D asset 生成目标感知重建先锁定主角再 3D 化背景复杂时容易污染图像条件mask 可以降低背景干扰主要输出倾向完整 3D assetshape、texture、layout以及 mesh / Gaussian splat 等表示核心模块3D latent、O-Voxel、SC-VAE、DiT / FlowGeometry Model、MoT、Texture Refinement、Flow Transformer局限性背面、底面、遮挡区域依旧靠模型脑补mask 错了后面全错严重遮挡也仍然要脑补效果展示QA环节针对上一期评论区的问题实际上就是分成两个部分能不能用精度够不够我简单的回答一下如果用途是要展示、预览、概念设计这一类还是没问题我有一个认识的网友她也是有用这种简单的渲染出3D的预览图但是如果是游戏、工业建模这类目前还是无法直接达到的