# 参考图为什么总把内容一起带过来：风格参考与结构控制各自管什么

从图像编码器压出的全局向量讲起，说清风格参考为什么会泄漏内容，以及怎么只要风格

> 风格参考 · ControlNet · 图像编码器 · 约 6 分钟 · 09 月 29 日

## 本篇要点

1. 参考图不会以“风格文件”的形式进入模型：它先被图像编码器压成一个全局图像向量，再送进扩散模型的注意力层，和文字提示一起参与生成。
2. 这个向量同时装着颜色、质感、光照、布局和主体，IP-Adapter 论文自己就说它能表示参考图的内容和风格，没有只取风格的干净接口。
3. 研究 CLIP 图像表示的结果显示，位置、形状、颜色、物体数量都在同一份向量里，所以“只要风格不要内容”没有默认开关。
4. 文字提示和参考图向量在同一批注意力里争夺画面，把主体、构图、光线写满，是压住内容泄漏最省力的一步。
5. 调低风格强度会让风格和内容残影一起变淡，它调的是总体影响，不是风格与内容的配比。
6. 要布局就用结构控制（深度图、边缘图、姿态），要味道就用风格参考，两者可以叠加，不要指望一个旋钮干两件事。
7. InstantStyle 的做法证明泄漏可以被专门处理：只在管风格的注意力层注入参考图特征，或从图像向量里减掉描述内容的文字向量。
8. 验证是否泄漏的方法很直接：连着出四张，看参考图的主体是否反复出现。

---

上一篇的结论是：种子决定这一抽落在哪里，提示词决定结果能落在一片多大的地方。但有些东西很难用文字写出来——你看到一张图的颜色和质感正是你要的，却说不出它是什么风格。于是你换了个办法：把这张图丢给模型，让它照着来。

结果风格是来了，参考图里的东西也跟着来了。你想要那种柔和的胶片颗粒，出来的画面里却多了参考图里那个女孩、那盏路灯。这一篇讲清楚这件事为什么会发生，以及怎么把它压下去。

## 参考图进来之后，模型拿到的是什么

别把参考图理解成一个被模型“学会”的风格文件。以公开的做法为例（开源工具里的 IP-Adapter 就是这一类）：参考图先被一个图像编码器压成一个向量——一张图的整体概览，然后这个向量被送进扩散模型的注意力层，和文字提示的向量并排参与每一步去噪[2]。Midjourney 里的风格参考在界面上是另一种叫法，但参考图同样要先变成某种数值表示，才能参与生成。

关键在于这个向量里装的是什么。IP-Adapter 的论文说得很直白：它用的是图像编码器输出的全局图像向量，而这个向量“能表示参考图丰富的内容和风格”[2]。同一篇论文在结尾也承认，IP-Adapter“只能生成在内容和风格上都接近参考图的图”，做不到只锁定其中一样。

模型内部没有“风格抽屉”和“内容抽屉”两个格子。有研究把 CLIP 的图像表示拆开分析，发现里面存在分别对应位置、形状、颜色、物体数量的方向——也就是说，颜色、质感、布局、主体本来就在同一份向量里挤着[4]。所谓“取风格、不取内容”，在机制层面从一开始就没有一个干净的接口。

```mermaid
flowchart LR
  A["参考图"] --> B["图像编码器"]
  B --> C["全局图像向量：颜色、质感、布局、主体都在一起"]
  D["文字提示向量"] --> E["注意力层"]
  C --> E
  E --> F["成图"]
```

那为什么有时候看起来只搬了风格？通常是因为泄漏出来的东西正好也是你要的，或者被你的文字描述压住了。检验方法很简单：连着出四张，看参考图里的主体是不是反复冒出来。

## 文字是一股反向的力

Midjourney 的官方指南给了三条建议：把文字提示写简单，不要加和参考图冲突的风格词，并且用文字去描述“你想看到什么”，而不是写“该怎么改这张参考图”[1]。这三条背后的道理是同一个：文字向量和参考向量在同一批注意力里争夺画面。你把主体、构图、光线写清楚，图像向量剩下的任务就主要是补颜色、质感和笔触。

这里正好接上上一篇讲的骨架。写风格参考的时候，那三层更要写满，因为你腾出来的空间就是参考图往里灌内容的空间。

## 挑参考图：先把主体在脑子里遮掉

判断一张图适不适合当风格参考，有一个好用的动作：把画面主体遮住，剩下的颜色、质感、光照还能不能说明问题？

能，它就是好的风格参考。风景、材质特写、色调统一的静物，里面没有“非出现不可”的东西，泄漏出来也不碍事。人像特写、构图极具辨识度的海报、主体占据画面大半的图，往往是最糟的选择——它们的内容信号最强，泄漏也最凶。

做系列图时还有一条实用技巧：同一张风格参考图，配不同的主体描述，比每次换一张参考图更容易让一套图保持统一。

## 强度旋钮：风格和残留一起变淡

Midjourney 用 `--sw` 控制风格参考的影响强度，范围 0 到 1000，默认 100；在开源工具里，对应的通常是 IP-Adapter 的 scale[1][5]。

需要知道的是这个旋钮的性质：它调的是“参考图总体影响多强”，不是“内容少一点、风格多一点”。强度降下来，风格味道和内容残影是一起变淡的。InstantStyle 的实验把这一点测得很清楚：把适配器权重调低之后，风格保住了，画面里仍然残留参考图的元素——狗尾巴上多出来的花，或者画面里混进去的那个女性角色[3]。

## 味道归风格参考，布局归结构控制

如果你要的是“同样的构图、不一样的画风”，那就不该让风格参考去干这件事。

结构控制（ControlNet 这一类）走的是另一条路：先把参考图转成深度图、边缘图、姿态骨架或分割色块，再拿这些几何信息去约束生成。它管的是东西摆在哪、什么轮廓、什么姿势，颜色和质感不归它管[5]。这和风格参考正好配成一对：一个管几何，一个管味道。它们可以同时挂在同一个模型上，因为 IP-Adapter 用的是新加的一路注意力，不占用文字那一层[2]。

如果两样都要，就别指望一个旋钮干两件事，直接叠起来用。

更细的做法来自 InstantStyle。它发现模型里有两层注意力各管各的：一层管风格，也就是颜色、材质、氛围；另一层管空间布局。只把参考图特征注入管风格的那一层，内容泄漏就大幅减少；如果把布局层也打开，画面就会跟着参考图的构图走[3]。在 diffusers 这类开源工具里，这对应给 `set_ip_adapter_scale()` 传一个字典，指定哪些层接收参考图特征[5]。不用写代码的人，在很多软件里看到的“风格层”“风格强度”这类选项，就是它的界面化版本。

另一种做法更直白：把参考图的图像向量，减去“描述这张图内容”的那段文字向量。InstantStyle 的实验显示这样能明显减少内容泄漏，但仍要手动调强度；只在风格层注入的效果最好[3]。这两种“只要风格”的做法，恰好从反面证明了前面那句话——风格和内容默认是挤在一起的，想分开就得专门动手。

## 四种需求，四种做法

- **只要味道，主体我自己写**：风格参考 + 写满主体、构图、光线的文字 + 中等强度。
- **只要同一套构图，味道可以新**：结构控制（深度图或边缘图），味道用文字补。
- **味道和布局都要**：结构控制 + 风格参考叠加。
- **说不清要什么，只想“照着这张来”**：那是图像提示或图生图，它本来就会把内容和构图一起搬过来，别把它当风格参考用。

## 这套办法的边界

Midjourney 官方文档说风格参考抓的是颜色、媒介、质感、光照这一层，不复制物体和人，而且它只在提示里至少有文字时才生效[1]。但这条描述是功能定位，不等于内容一定不会跟过来。前面讲的机制，加上开源社区两种专门“给风格做减法”的做法，都说明内容泄漏是一个需要处理的问题，而不是偶发的意外。

所以对风格参考的合理期待是：它能帮你锁住一套图共有的整体味道，锁不住“这张图里到底有什么”。后者要靠你把文字写具体、把参考图挑干净，或者干脆换一条通道——用结构控制去指定几何。

## 术语表

- 风格参考（style reference）：把一张图当“味道样本”交给模型，影响颜色、质感、媒介、光照这类整体观感，Midjourney 里是 `--sref`。
- 结构控制（ControlNet 一类）：先把参考图转成深度图、边缘图、姿态骨架或分割色块，用这些几何信息约束画面的轮廓、位置和姿势，不负责颜色质感。
- 图像编码器（image encoder）：把整张图压成一个向量的网络，参考图必须先变成这个向量才能进入模型。
- 全局图像向量：一张图的整体概览，内容、风格、布局都挤在里面，模型没有为风格单独留位置，这是内容跟着一起过来的根源。
- 风格强度：控制参考图总体影响多强的参数，Midjourney 的 `--sw` 或 IP-Adapter 的 scale，风格味道和内容残影一起变强变弱。
- 风格层注入：只在模型里负责颜色、材质、氛围的那几层注意力上注入参考图特征，让内容泄漏明显减少。

## 来源

1. [Midjourney 官方风格参考文档：--sref、--sw 的取值范围与默认值，以及文字提示的写法建议](https://docs.midjourney.com/hc/en-us/articles/32180011136653-Style-Reference)
2. [IP-Adapter 论文：参考图经图像编码器得到全局图像向量，并承认生成结果在内容和风格上都接近参考图](https://arxiv.org/abs/2308.06721)
3. [InstantStyle 项目页：减少内容泄漏的两种做法——特征相减与只注入风格层](https://instantstyle.github.io/)
4. [Interpreting CLIP's Image Representation via Text-Based Decomposition：CLIP 图像表示中位置、形状、颜色、数量等属性混在同一向量里](https://arxiv.org/html/2310.05916v4)
5. [diffusers 的 IP-Adapter 文档：用 set_ip_adapter_scale() 按层控制参考图影响，布局层与风格层分工](https://huggingface.co/docs/diffusers/using-diffusers/ip_adapter)

---

原文：https://pangzhengboyin.com/articles/style-reference-vs-structure-control-eeb921ce

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
