
<a id="n41-title"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-title)


# 改哪里，保留哪里？

王德泉 · Coding with AI · Lecture 04


<a id="n41-8a33ad9d4a9f"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-8a33ad9d4a9f)

上一页把一张图的生成分成外层次序与内层更新。现在把要求收窄：桌上已经有红杯、梨和书，只把红杯改成蓝色。我们不想让模型重新设计整张桌面；梨的位置、书角的形状和杯子的结构，仍是这次结果应遵守的条件。


<a id="n41-85e3515df9f6"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-85e3515df9f6)

完全复制原图虽然保留了全部内容，却没有完成改色；只改变杯色也必须同时守住其他关系。


<a id="n41-1bcc391ed72b"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-1bcc391ed72b)

先比较原图与修改图。杯子变蓝，说明“希望改变的部分”发生了变化。但这还不足以判定编辑成功。若右下的书角也换了形状，模型完成了改色，同时引入了任务没有授权的改动。**编辑需要一对相互约束的要求：要改变什么，以及什么必须保持。**对整体自然度的好评，不能替代逐项检查保持区域。


<a id="n41-6381d3895c86"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-6381d3895c86)

补全又多了一层关系。照片中杯柄缺失，模型可以生成一块外形很像杯柄的内容；但把它放回杯身时，两个接点若没有连上，整只杯子仍不成立。局部的弧线、纹理、颜色都可能自然，错误却出在局部与整体的连接处。可见部分因此不只是背景，也是决定补全形状和位置的条件。


[课程图解] 补全不仅需要局部形状自然，还必须与同一杯身正确接合。；图中标签与关系：缺失输入 合法补全 局部自然，连接错误
补全不仅需要局部形状自然，还必须与同一杯身正确接合。


<a id="n41-9b99e4ba330b"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-9b99e4ba330b)

**“既然只修改一个区域，把区域外像素锁住不就解决了吗？”**锁住外部能解决一部分保持要求，却没有自动规定区域内该生成什么，也没有保证边界连接自然。不同编辑方法对输入的使用方式也不同：有的从受损输入开始更新，有的在采样中反复加入已知区域，有的学习输入图到目标图的条件关系。不能把课堂中精确保留梨与书的例子，理解成所有方法都会无条件逐像素保留输入。


<a id="n41-32da65260df8"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-32da65260df8)

**“新杯柄单独看很好看，为什么一定要接在原来的位置？”**因为本题是在补全这只杯子，杯身已经提供了结构条件。若任务改为设计一只全新的杯子，允许变化的范围会扩大；判断是否失败必须跟着任务走。向画面外扩展也是同样道理：新区域可以有多个答案，但原有桌沿延伸到哪里、光照来自哪边，仍限制了它怎样接上。


<a id="n41-7c4d73ce35e5"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-7c4d73ce35e5)

一个与可见条件相容的新杯柄，也不一定就是原照片里真实被遮住的杯柄。若任务是事实恢复，还需要独立原图或其他观察；合理补全不能替代这项证据。


<a id="n41-f006a0a5487a"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-f006a0a5487a)

这些对照用于说明编辑约束，不是对某个研究模型质量的实测排名。检查实际系统时，至少应把目标变化、内容保持、局部连接三项分开记录。接下来，视频把这种“接得上”推进到时间中：杯子暂时被挡住以后，重新出现的还应该是同一个对象吗？


<a id="n41-states"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-states)


## 画面怎样推进


<a id="n41-b0"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-b0)

把红杯改成蓝色，同时保留梨、书和杯身结构，改变与保持共同定义编辑目标。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N41.html?step=b0)


<a id="n41-b1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-b1)

改色虽然完成，书角却同时变化；成功修改目标区域不能替保持区域作保证。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N41.html?step=b1)


<a id="n41-b2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-b2)

缺失处要接回同一杯身。杯柄独立自然、与杯身脱接，仍不是合格补全。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N41.html?step=b2)


<a id="n41-materials"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-materials)


## 继续阅读与实验


<a id="n41-learning-unit-001"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-learning-unit-001)


## 遮罩改对了，为什么“改蓝”仍然失败？


<a id="n41-learning-unit-002"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-learning-unit-002)

LAB06 第一次遮罩落在中央窗格，没有完整覆盖左侧红杯；输出重画了窗格，却保留红杯。跟进实验只改遮罩范围，让它包住杯子，模型确实重画了目标区域，却生成形状不同的白杯。这个结果同时支持“区域约束开始起作用”和“蓝色目标尚未达成”。


<a id="n41-learning-unit-003"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-learning-unit-003)

评价时分别查三件事：代码是否实际运行，目标区域是否改变，改变与保持要求是否共同满足。遮罩外是否保留也要看原始输出；实验没有在输出后把外部像素贴回原图。把白杯称为改蓝成功会漏掉语义失败，把它称为完全没编辑则漏掉空间反馈。


<a id="n41-learning-unit-004"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-learning-unit-004)

自检：再找一张漂亮蓝杯替换失败图，为什么不能补交成功？因为本题要求从这张原图编辑，替换结果丢掉了输入身份与保持条件。[继续读三项判断](https://codingai-lec04.pages.dev/lecture.html#ch06-three-judgments)。


<a id="n41-chapter-reading"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-chapter-reading)


### [CLS 06 · 条件图像、编辑与多模态](https://codingai-lec04.pages.dev/lecture.html#ch06)

按连续正文理解这条方法的训练信号、使用过程与算例；数学与实践在相关问题旁展开。

先看：第6章，从对象和问题开始


<a id="n41-lab06-practice"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-lab06-practice)


### [LAB 06 · 真实文生图与编辑](https://codingai-lec04.pages.dev/course/notebooks/aa278b6be88e4114bdfea0de5b8aee33.html#block-c24cad48e6da4f2986b60e361a9da848)

先看同起点的真实保存图，再选择一个参数重算；失败结果与全部条件一起保留。

先看：原图、遮罩和编辑结果


<a id="n41-material-1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-material-1)


### [LAB06 · 实际文生图与编辑](https://codingai-lec04.pages.dev/course/experiments/image-generation.html)

先看保存图阵、输入和参数，再只改一个变量。

先看：文生图单变量对照；img2img与固定遮罩编辑


<a id="n41-material-2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-material-2)


### [LAB06 · Deepnote与可选重算](https://deepnote.com/project/6f83a923-d155-47be-be58-680db701ff7f/notebook/aa278b6be88e4114bdfea0de5b8aee33)

读取实际运行范围，下载同源Notebook并选择是否重算。

先看：先看保存结果与运行记录


<a id="n41-material-3"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-material-3)


### [SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations](https://arxiv.org/pdf/2108.01073v2)

比较增加输入扰动后，忠实度与生成自由度如何取舍。先找输入在哪一步进入生成，不把本文等同于严格锁住区域外像素。

先看：第2–6页：输入加噪与编辑过程


<a id="n41-material-4"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N41.html#n41-material-4)


### [RePaint: Inpainting using Denoising Diffusion Probabilistic Models](https://arxiv.org/pdf/2201.09865v4)

查看已知区域怎样参与补全，理解为什么边界相容不能由局部自然度单独保证。

先看：第4–6页：已知区域条件与采样

