点击下方卡片,关注「计算机视觉工坊」公众号
选择星标,干货第一时间送达
来源:计算机视觉工坊
「3D视觉从入门到精通」知识星球(点开有惊喜),星球内新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源码、求职招聘等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!

作者:Yansong Qu 论文作者
授权发布平台:计算机视觉工坊、3D视觉工坊、3DCV
写在前面
随着生成模型的发展,3D场景的编辑正变得日益重要。然而,当前主流的基于文本的3D编辑方法在处理几何变形(比如让人物转头、抬腿等)时表现乏力,尤其缺乏对空间编辑的精细控制。为了解决这一问题,我们提出了Drag Your Gaussian(DYG),一套面向3D Gaussian Splatting(3DGS)的拖拽式编辑方法。用户只需通过简单的控制点对和 3D掩码,即可实现高质量、可控、跨视角一致的3D几何编辑。
以下是一些官方Demo:
用户通过指定编辑的起始点实现高质量的三维场景拖拽编辑。
论文标题:Drag Your Gaussian: Effective Drag-Based Editing with Score Distillation for 3D Gaussian Splatting
论文地址:https://arxiv.org/abs/2501.18672
项目主页:https://quyans.github.io/Drag-Your-Gaussian/
开源代码:https://github.com/Quyans/Drag-Your-Gaussian
单位:厦门大学,百度
研究动机
在元宇宙、数字人和虚拟现实快速发展的今天,三维场景的“可编辑性”变得尤为重要。但问题在于,3D内容的编辑依然非常不直观、不自由。相比于Photoshop中拖动图片上的一个鼻子,我们在3D世界中“让人物转个头”却仍然充满挑战。 传统的3D表示方式,比如网格、体素、点云等,虽然奠定了计算机图形的基础,但它们或过于笨重,或过于稀疏,很难兼顾高质量渲染与高效率操作。而近年来大热的NeRF(神经辐射场)虽然能合成出逼真的三维视图,却需要大量计算资源,也不适合“随拖随改”的交互式编辑。为了解决这些问题,研究者提出了3D Gaussian Splatting(3DGS)的三维表征。它非常轻量,能实现实时渲染,并越来越多地被用于高效的三维建模。 但很遗憾,大多数3DGS编辑仍然依赖“文本指令”,比如输入“turn head right”,系统尝试根据语言去编辑几何结构。问题是:语言是模糊的,形变是精细的——这就导致你很难控制“该转多少度”“只动脸不动脖子”这些具体要求。
传统基于语言的场景编辑方法存在(1)难以几何编辑 (2) 无法精准描述编辑程度的问题。
我们希望让3D编辑变得更“动手可控”,于是提出了全新的编辑方式: DYG。你只需要像“拉橡皮筋”一样拖动控制点,就可以让三维对象完成复杂的变形、移动或调整。我们的方法不仅支持用户指定3D掩码(即“我只改这里”),还能借助预训练的生成模型,将拖动意图准确转化为多视角一致的3D变化。 这就意味着:
不需要会编程,不需要写Prompt;
可以对三维场景中的人、物、结构做出精准又自然的几何变形;
比起传统方法更加高效,渲染更快,控制更准。
DYG实现了灵活的,高质量的基于拖拽的三维场景编辑结果。用户通过3D掩码指定编辑区域, 通过多对拖拽控制点完成场景编辑。
技术亮点
拖拽式编辑交互方式:不再依赖模糊的语言描述,用户只需“拖一拖”,即可精准控制编辑区域和目标形变
Triplane × Gaussian Splatting:结合连续隐式三平面编码与离散3D高斯表示,解决了3DGS中目标区域稀疏的问题
Drag-SDS损失函数:引入了扩展的Score Distillation机制,结合2D拖拽扩散模型,实现可学习的几何迁移;
两阶段优化策略+局部柔性编辑:先调整几何框架,再精修纹理,实现编辑区域与原始场景的自然融合。
方法详解
为了让3D场景编辑既精准又自然,DYG围绕“如何把用户意图(拖拽)转化为真实、连续的三维变化”这个核心问题,设计了以下完整的编辑框架。
DYG框架图。
输入形式:3D掩码 + 控制点对
用户通过可视化界面,选定需要编辑的区域(如人物的头部、腿部)并设置多组组“控制点对”:
起始点(handle point):表示被拖拽的区域;
目标点(target point):表示用户希望它移动到的位置。
这一设计带来了比语言更直观的控制能力,尤其适用于需要微调几何结构的任务。
编辑瓶颈:3D高斯稀疏怎么办?
虽然3D Gaussian Splatting(3DGS)具备实时渲染能力,但它的本质是一组离散的3D高斯点。这意味着:
如果目标区域太稀疏,直接优化高斯点位置很容易失败或产生撕裂、空洞。
为此,我们设计了一个 “三平面隐式表示+三维高斯”混合模型,用隐式场方式预测每个高斯点的新位置,从而更稳定连续地引导几何形变。
授权发布平台:计算机视觉工坊、3D视觉工坊、3DCV
结构搭建:双模块设计
我们的方法中,引入了两个关键模块来处理几何位置变化:
Multi-resolution Triplane Positional Encoder(MTP编码器): 将每个3D高斯点的位置编码为三组平面上的多分辨率特征; 类似将每个点“投影”到3个正交平面上,从多个角度理解它的空间位置。
Region-Specific Positional Decoder(RSP解码器): 只对掩码区域内的高斯点进行位置调整; 对掩码外的点施加“区域保持损失”,避免非目标区域被意外修改; 保证局部编辑的同时维持场景整体结构稳定。
两阶段训练:先形变,后细节
为了进一步提升编辑质量,DYG采用了两阶段优化流程:
阶段一:几何调整:仅优化位置,构建粗略的几何形变框架;
阶段二:纹理细化:在冻结结构的前提下,对颜色、透明度等属性进行精修,还原真实感。另外我们采用局部柔性编辑的策略,实现高质量的局部编辑。
拖拽监督:Score Distillation with Drag Guidance
Drag-SDS详细细节。
我们还提出了 Drag-SDS损失函数,将现有2D拖拽式图像编辑模型(Lightning-Drag)作为教师模型,来监督3D高斯场的变化。具体做法是: 将3D高斯渲染为2D图像,并将控制点投影为2D点; 使用Lightning-Drag网络引导2D图像的变化; 再通过Drag-SDS损失,将变化“反向传播”到3DGS以及可学习的编码器和解码器上。 这一方式保证了编辑效果的视觉真实感与跨视角一致性。
实验结果
对比实验
一系列实验证明我们的方案相比基线方法能够实现高质量的完成三维场景的拖拽编辑。
更多示例
多次拖拽
由于多样的编辑要求,DYG还支持多次拖拽。下图展示了对相同编辑对象的和不同编辑对象的多次拖拽操作。
泛化性
我们的方案还能泛化到生成场景中。如下实验所展示的,我们使用场景生成方法Director3D [2]生成了四个场景,然后基于此进行了场景编辑。 实验结果证明DYG有良好的泛化性,同时可以作为三维生成的后续编辑方法。
结语
本研究提出的 DYG 方法,尝试以更直观、可控的交互方式推动三维场景编辑的发展。相较于传统的文本驱动方法,DYG通过“控制点+3D掩码”的方式,结合隐式三平面表示与高斯场优化,使得用户可以实现更精细、更稳定的几何编辑。 虽然 DYG 在静态场景下的几何编辑任务中表现出了较好的可控性与质量,但我们也认识到当前方法仍有一些值得进一步探索的空间:
编辑效率的提升:当前的两阶段优化过程仍存在一定的时间开销,未来我们将尝试引入更高效的表示结构或增量式优化策略,朝着近实时编辑的方向推进。
动态场景支持:现阶段方法主要针对静态3D场景,后续我们计划扩展至时序连续的4D场景,探索在时间轴上进行连续编辑与保持形变一致性的可能性。
参考文献
[1] Drag Your Gaussian: Effective Drag-Based Editing with Score Distillation for 3D Gaussian Splatting: https://arxiv.org/abs/2501.18672
[2] Director3D: Real-world Camera Trajectory and 3D Scene Generation from Text: https://arxiv.org/abs/2406.17601