Conference

Bokeh Diffusion: Defocus Blur Control in Text-to-Image Diffusion Models

Armando Fortes, Tianyi Wei, Shangchen Zhou, Xingang Pan

Nanyang Technological University

一句话总结

本文提出 Bokeh Diffusion:给文生图扩散模型显式地条件化一个物理散焦模糊参数,配合针对性设计的”接地自注意力”(grounded self-attention),实现在不改变场景内容的前提下、可双向连续调节背景虚化(bokeh)强度的镜头级景深控制,并同时适配 Stable Diffusion(UNet)与 FLUX(MMDiT)两种架构。

研究背景

传统摄影靠光圈、焦距等相机设置精细塑造画面美学,尤其是景深带来的背景虚化。但在文生图(T2I)生成中复现这类镜头效果却出奇地困难:现有做法多依赖提示词工程(如在 prompt 里写”f/1.8 光圈”),结果往往只是粗糙近似,并且会连带改变场景内容——换个光圈可能不只是虚化程度变了,整个物体布局都变了。

已有的可控生成路线也各有短板:

  • 把相机内参当作 token 注入(如 CSaT)虽能条件化光圈,但没有约束场景一致性,改光圈常常改场景;即便叠加 ControlNet 做结构引导,细粒度内容仍不稳定。
  • Generative Photography 把相机内参建模在文生视频(T2V)的时间轴上以获得一致性,但推理时需要一次生成多帧(最多 7 帧/prompt),开销与冗余大,且不兼容最新的 T2I 模型;在大幅虚化过渡下仍难保留精细细节。
  • 后处理路线(先估深度再渲染模糊,如 BokehMe)依赖外部深度估计,在细结构、半透明材质、深度不连续处易出现颜色渗漏等瑕疵,且难以”去除”已有的模糊。

一个根本瓶颈是数据稀缺:同一场景、同一视角下用不同相机设置(如 f/1.8 与 f/16)成对拍摄的真实照片极为罕见,模型因而难以把”散焦模糊”从”场景布局”中解耦。

方法

整体框架在预训练 T2I 扩散模型上做两处轻量增强:其一是通过解耦交叉注意力注入标量散焦参数(bokeh cross-attention),其二是通过接地自注意力用一张 pivot 参考图锚定场景结构,从而在改变虚化时保住内容。训练则依靠一套混合数据管线,把带 EXIF 元数据的野外真实照片与合成散焦增强配对,为”内容与模糊解耦”提供监督。

flowchart TD
    A[野外照片 + EXIF/深度/掩码/VLM 描述] --> B[按物理模糊参数 K 做平衡的真实数据]
    C[近全清晰图 + BokehMe 合成散焦] --> D[对比式 focus-defocus 图像对]
    B --> E[混合数据集训练]
    D --> E
    E --> F[Bokeh 交叉注意力: 注入标量散焦条件 cb]
    E --> G[接地自注意力: pivot 图 query 锚定结构]
    F --> H[场景一致的可控虚化生成]
    G --> H
    H --> I[后处理: Lab 空间颜色迁移对齐]

散焦模糊的物理依据来自薄透镜模型的弥散圆(CoC)直径 \(d = \dfrac{f^2}{N(S_1 - f)} \cdot \dfrac{\lvert S_2 - S_1\rvert}{S_2}\),其中 \(f\) 为焦距、\(N\) 为光圈(F 数)、\(S_1\) 为对焦距离、\(S_2\) 为物距。将其改写为随视差差线性变化的形式后,可与合成渲染使用的”每单位视差模糊半径 \(K\)”统一,得到从 EXIF 反推的物理模糊参数 \(K \approx \dfrac{f^2 S_1}{2N(S_1 - f)} \cdot \text{pixel\_ratio}\),使真实数据与合成数据在同一散焦表示下联合训练。

关键设计 1:混合数据管线(真实 + 合成)

从 Flickr 采集公共领域野外照片,标注深度图、前景掩码、EXIF 元数据与 VLM 文本描述,过滤掉镜头信息不可靠、前景面积异常、深度范围过小的样本,再按物理散焦标注做平衡以削弱真实照片的长尾偏置,得到约 15K 样本(其中约 10% 接近全清晰)。对这批近全清晰图用 BokehMe 渲染合成模糊,生成同一图像的”清晰-散焦”对比对。真实数据提供多样场景与真实镜头模糊,合成对则直接示范”同一布局可清晰也可虚化”,帮助模型跳出局部最优并支撑接地自注意力训练。

关键设计 2:Bokeh 交叉注意力条件注入

借鉴 IP-Adapter 的解耦交叉注意力,在 UNet 解码器的交叉注意力层新增一对键值投影 \(W'_k, W'_v\),绑定由标量散焦参数经小型 MLP 得到的 bokeh 特征 \(c_b\);原有文本键值保持冻结。新旧注意力用同一 query 线性组合:\(h_{\text{new}} = \text{Attention}(Q, K, V) + \lambda \cdot \text{Attention}(Q, K_b, V_b)\)。经验上把适配器接在较深的交叉注意力层即可塑造纹理并减少泄漏,并借用注意力定位策略把 bokeh 注意力引向背景区域。

关键设计 3:接地自注意力保证场景一致

单图能控虚化,但对同一场景施加不同模糊等级时会出现内容漂移。基于”query 编码空间结构、key 作为特征关联、value 承载外观风格”的注意力角色分析,在每个对比批次随机指定一张 pivot 图作为结构锚。对目标图特征 \(h_{\text{tgt}}\) 的自注意力替换为 \(\text{Attention}\big(Q_{\text{piv}}, [K_{\text{tgt}}, K_{\text{piv}}], [V_{\text{tgt}}, V_{\text{tgt}}]\big)\):pivot 的 query 锚定布局,拼接的键让注意力同时参考 pivot 的意图结构与目标当前布局,而 value 只取自目标以继承其外观与散焦。训练时令目标图与 pivot 图共享噪声和时间步做同步扩散。此外用 Reinhard 的经典颜色迁移在 \(L^*a^*b^*\) 空间对齐目标与 pivot 的通道均值方差,消除偶发的光照/色彩偏差。

关键设计 4:适配 MMDiT(FLUX)

FLUX 用 MMDiT 把文本与图像 token 拼接做联合自注意力,并对图像 query/key 施加旋转位置编码 RoPE。由于不再区分自注意力与交叉注意力,作者把 bokeh 条件与 pivot 接地直接插入其联合注意力模块,统一为 \(\text{Attention}\big(Q_{\text{piv}}, [K_{\text{tgt}}, K_{\text{piv}}], [V_{\text{tgt}}, V_{\text{tgt}}]\big) + \lambda\,\text{Attention}(Q_{\text{piv}}, K_b, V_b)\),从而让框架兼容最新的 MMDiT 主干。

实验结果

在 20 个多样 prompt、每个 5 种 bokeh 条件(共 100 样本)上评测。准确性用拉普拉斯方差趋势与参考的皮尔逊相关(LVCorr)及 GPT-4o 估计衡量;一致性用 LPIPS、DINOv2、DreamSim(越接近参考越好)与 GPT-4o 衡量;质量用 ImageReward 衡量。BokehMe 作为参考渲染。

类型 方法 LVCorr↑ GPT-4o(准确)↑ LPIPS DINOv2 DreamSim GPT-4o(一致)↑ ImageReward↑
参考 BokehMe 1.000 0.941 0.075 0.994 0.012 96.65
预训练 SD1.5 -0.206 0.362 0.314 0.966 0.099 68.75 1.065
预训练 FLUX -0.033 0.336 0.177 0.983 0.058 78.25 1.280
微调 CSaT -0.044 0.628 0.155 0.961 0.082 73.00 0.509
微调 CSaT + ControlNet 0.498 0.784 0.178 0.972 0.071 67.25 0.335
微调 GenPhoto 0.796 0.826 0.197 0.949 0.066 86.50 -1.471
本文 Bokeh Diffusion (SD1.5) 0.904 0.960 0.080 0.992 0.017 94.75 0.988
本文 Bokeh Diffusion (FLUX) 0.917 0.985 0.052 0.996 0.005 98.16 1.093

本文方法在准确性与一致性上大幅领先所有基线,生成质量则与各自的预训练主干相当,说明在引入场景一致虚化控制的同时基本保住了原有画质。消融实验表明:仅用真实数据(ITW)一致性高但准确性低(模型只学到有限的虚化范围),仅用合成数据(SYN)收敛快但泛化与画质下降,混合数据取得最佳综合准确性;在此之上加入接地自注意力使一致性显著提升(LVCorr 0.902、GPT-4o 一致性 94.00),再加颜色迁移进一步微调。20 人用户研究中,本方法在虚化控制、场景一致、图文对齐三项上偏好率分别达 91.00%、92.67%、74.00%,明显优于对比方法。

亮点与局限

亮点:

  • 完全在 T2I 范式内实现场景一致的物理化景深控制,无需多帧生成,可直接集成进最新 T2I 系统并继承其画质。
  • 接地自注意力支持双向调节(既能加也能减虚化),并可选任意 pivot 图与目标等级,天然支持生成图编辑与”反演后重新去噪”的真实图像编辑。
  • 借助生成先验与混合数据,在细结构、半透明材质等困难区域产生比”深度估计+渲染”更自然的虚化。
  • 同一框架在 UNet(SD1.5)与 MMDiT(FLUX)上都取得强结果,通用性好。

局限:

  • 真实数据缺乏同场景多光圈成对样本,物理模糊参数 \(K\) 依赖 EXIF 与启发式对焦距离估计(如取前景较近 50% 像素的中位深度),是近似而非精确标定。
  • 仅用真实数据训练时虚化范围受限,仍需合成对比对补充监督,说明对合成渲染质量有一定依赖。
  • 偶发的跨等级光照/色彩偏差需要额外的颜色迁移后处理来纠正。

延伸思考

Bokeh Diffusion 的核心巧思在于把”可控性”拆成两层解耦:用轻量交叉注意力注入物理参数管”虚化多少”,用接地自注意力借 pivot 的 query/key 管”场景不变”,再用物理薄透镜模型把真实与合成两种数据源统一到同一散焦标度。这种”query 锚结构、value 承外观”的注意力角色利用,本质上是一种无需额外网络的结构-外观解耦手段,思路可迁移到其他需要”改一个属性而保其余不变”的可控生成任务(如运动模糊、曝光、光照)。而它对 EXIF 启发式与合成渲染的依赖也提示:要让生成模型真正学到镜头级物理,长期看仍需更大规模、真正成对的多相机设置真实数据,或更精确的可微光学先验。