
1. 从一个反直觉的编辑方案说起大概两年前我第一次读到SDEdit那篇论文时第一反应是这也能行。它的思路简单到有点反直觉你想编辑一张图不训练专属模型、不搞布局解析、更不学什么语义编辑方向直接把原图加噪声加到半残不残的程度再丢给扩散模型从这团噪声里重新长出来一张图——编辑效果竟然就出来了。但如果你真动手试过几次就会明白这套先破坏再重建的流程并没有表面看起来那么简单。噪声加到什么程度决定你改动的是颜色还是结构反向采样时怎么把文本提示、涂鸦约束或参考图的语义引导进去直接决定输出和预期的差异。这篇文章就专门聊SDEdit一只脚踩在扩散模型和图像生成中间把SDE采样那一整套数学包装成一套很实用的图像编辑工具。SDEdit全称叫SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations出自ICLR 2022。它解决的核心问题特别具体我有一张图想改它的风格、换它的纹理、把草稿变成成品但不想重新生成一张完全无关的图也不想训练一个专门的条件扩散模型。它的解决方案是以噪声为媒介让通用扩散模型自己完成一半编辑工作。当年这篇论文最大的贡献是把图像编辑问题重新定义成一个采样问题而这个定义方式后来几乎成了图像到图像编辑的默认范式Stable Diffusion里的img2img功能本质上就是SDEdit的文本引导版本。这篇文章适合谁看如果你用过Stable Diffusion出图但一直对img2img的strength参数一头雾水不知道调大调小到底会发生什么那这篇文章适合你如果你想从原理上搞明白扩散模型的加噪去噪过程除了生成还能拿来做什么那这篇文章也适合你如果你只是想抄一份能落地的SDEdit代码流程直接在Diffusers里跑通编辑管线那下面的实操部分可以直接照抄。2. 核心机制拆解SDE下的加噪与去噪2.1 前向过程给图像打码到合适的模糊程度理解SDEdit的第一步是放下编辑这个词改用采样的视角。扩散模型的生成过程本身就是一个SDE的反向过程从纯噪声出发沿着得分函数的指引一步一步恢复到清晰图像。SDEdit做的事情非常聪明——它不去训练一个新的网络学会怎么编辑而是把输入图像扔进前向SDE里先加一部分噪声让这张图退回到扩散过程中间某个状态再从这个中间状态启动反向SDE让模型替你把它重新生成出来。为什么要这么干因为加噪等于可控地抹掉信息。加一点点噪声抹掉的是高频细节比如皮肤纹理、面料褶皱、笔触颗粒加很多噪声抹掉的是中高层语义比如物体形状、构图布局、甚至主体身份。SDEdit的加噪步骤相当于给图像打了一层可控的马赛克这层马赛克的浓度决定了你希望模型接管多少创作权。这里的关键参数是时间步t0或者你在Stable Diffusion里更熟悉的strength。在连续时间SDE框架下噪声级别和扩散时间是一一对应的前向过程从t0走到tT噪声从小变到大信噪比从高变低。SDEdit把输入图像x加噪到t0时刻对应的状态x(t0)然后从x(t0)开始跑反向SDE回到t0得到最终输出。t0越小保留的结构细节越多模型能动的空间越小t0越大原始图像变成噪声的比例越高模型自由度越大但输出可能与输入越来越不像。我打个比方前向加噪相当于你让一位画师看了一眼参考图然后蒙住他眼睛只让他摸轮廓。你蒙眼的时间越长他能记住的细节就越少最后画出来的作品跟他摸到的感觉有关但细节全是自由发挥。SDEdit的t0就是这个蒙眼时长。2.2 反向过程让模型从局部信息中圆回来反向过程是SDEdit真正的核心。扩散模型在训练时学到的能力是估计数据分布的得分函数也就是知道从一团含噪图像中往真实图像分布方向走一步应该朝哪走。SDEdit的前向加噪把输入图像拉到了某个中间噪声级别这时候图像里还残留一部分真实结构信息反向去噪网络会利用这些残留信息把它们当作生成条件一步步把图圆回来。这个圆回来的过程很有意思。以文本引导的图像编辑为例原本扩散模型的反向过程是无条件的它只负责把噪声变成一张看起来像自然图像的图但不保证内容和你的文本提示一致。SDEdit配套使用的引导采样机制会在反向采样的每一步额外计算一个小梯度方向是让当前带噪图像在CLIP或文本编码空间中与给定文本更接近。这个梯度不改变去噪网络本身只修改采样过程中的中间结果。实际的更新公式可以粗暴理解成x(t - dt) 去噪网络输出 文本引导梯度 × 引导尺度引导尺度guidance scale或者叫gradient scale越大文本对采样过程的控制力越强但强到一定程度会导致输出出现过饱和、色彩失真甚至图像质量崩塌。这个现象我在做草地纹理换季风格时踩过坑scale开到30以上输出图像暗部发蓝亮部发灰整张图像蒙了一层塑料膜。后来我把scale控制在7.5到15之间视觉效果明显正常。为什么是从局部信息圆回来而不是整图重绘因为t0选得合适时输入图像经历加噪后低频空间结构比如大轮廓、色块布局、构图骨架仍然保留得很好。去噪网络利用这些低频骨架在它的流形上重新采样高频细节——纹理、材质、光照、风格笔触这些都是生成式模型最擅长的部分。这正好解释了SDEdit一个非常实用的特性用它做风格迁移和纹理替换效果极佳但用它做把图中人物从站姿改成坐姿这种结构性编辑效果就很勉强。2.3 引导信号如何进入反向采样SDEdit论文里展示了两种引导方式一种是无引导的纯编辑适合画风转换、草图到成品这类任务另一种是CLIP引导适合给定文本描述来控制生成内容。应用上Stable Diffusion的img2img走的是后者的离散化路线。CLIP引导的核心思路是在每个反