首页 > 其他分享 >[论文阅读] Painterly Image Harmonization using Diffusion Model

[论文阅读] Painterly Image Harmonization using Diffusion Model

时间:2023-11-03 18:24:33浏览次数:54  
标签:Diffusion 编码器 Painterly Harmonization 前景 损失 风格 模型 图片

Pre

title: Painterly Image Harmonization using Diffusion Model
accepted: AAAI2023
paper: https://arxiv.org/abs/2212.08846
code: https://github.com/bcmi/PHDiffusion-Painterly-Image-Harmonization
ref: https://mp.weixin.qq.com/s/0AzaD8qVOFJrFeeIaJ4sTg
ref: https://zhuanlan.zhihu.com/p/603227426 (PHDNet)

关键词: painterly image harmonization, diffusion model, style transfer
阅读理由: 很有趣,而且想学习一下里面的风格对比损失

Idea

在ddpm.LatentDiffusion的基础上屏蔽文本条件输入c,将拼接图片comp作为z扔进去,然后comp和前景mask拼接过编码器作为条件来引导扩散模型,得到和谐化的图片pred_x0。也就是把扩散模型套到了painterly image harmonization任务上。

Motivation&Solution

  1. 第一个将扩散模型引入风格图像和谐化任务
  2. 现有的基于优化的方法通过最小化所设计的损失函数来优化合成图像,非常耗时。而前馈方法主要依赖GAN,训练好的模型可以直接生成和谐的图像,然而它在复杂前景的控制上存在局限性,导致前景协调效果不理想,例如内容和风格细节的丢失。

Background

"painterly image harmonization" (风格图像和谐化) 指的是将照片中的物体(photographic objects)插入绘画中,并使二者风格艺术和谐统一。之前的方法大致可以分为:基于优化(inference optimization)和前馈方法(如GAN)两类,但它们都十分耗时,或难以精确把握前景物体(纹理或内容细节)。为此作者提出了Painterly Harmonization stable Diffusion model (PHDiffusion)

图1 风格图像和谐化希望让插入的前景物体与背景和谐一致。PHDNet为作者所在实验室的上一个工作。

standard image harmonization 专注于适应低阶统计数据(颜色、亮度),而 painterly image harmonization 更具有挑战性,需要转换高阶的风格

一些现存的工作已经用上了扩散模型到相似的任务中,如跨域图片合成和图片编辑任务。例如CDC提出了推理时方法(inference-time conditioning method),用背景的高频细节和前景物体的低频风格来做图片合成,但高频特征=风格,低频特征=内容这一结论未必总是成立。SDEidt则通过加噪去噪来迭代合成图片,但是降噪时缺少恰当和充足的引导,导致最终的图片缺少充足的风格和内容。

Method(Model)

Overview

图2 PHDiffusion架构 给定合成图片I_c和它的前景mask M,I_c送入预训练的SD模型(上方灰色),首先编码到潜空间z^'_0,再加噪声得到z^'_t,推理时再逐步降噪,最终经由解码器得到和谐化的图片\tilde{I}_0。同时I_c跟M拼接送入自适应编码器,再用双编码器融合(DEF)来为降噪过程提供引导。L_{LDM}损失约束降噪过程,还有俩风格损失负责前景风格化,用内容损失做内容维持。

PHDiffusion包含一个是轻量自适应编码器和一个是双编码器融合模块(DEF),它们首先将前景特征风格化,然后风格化特征用于引导和谐化过程。训练时除了扩散模型的噪声损失(noise loss),还引入了两个额外的风格损失:AdaIN风格损失和对比风格损失,以平衡风格迁移和内容维持两部分。

Adaptive Encoder

轻量自适应编码器是受条件扩散模型(T2I-Adapter)的启发,旨在从合成图像中提取所需的条件信息,即背景风格、图像内容。它以合成图像和前景掩码的串联作为输入,产生添加给去噪编码器特征图的残差。

之前多用文本来约束降噪过程,本文扔掉了文本CLIP编码器,改用图片和mask的拼接来提供信息。介绍模型架构,说\(F^i_c\)共有4个,模型中不同层的输出结果,分辨率不同

Dual Encoder Fusion Module

图3 Dual Encoder Fusion (DEF) 架构,左边蓝黄两个块又细分为前景、背景特征,前景的作query背景作key,value进行交叉注意力,然后拼接过全连接再跟黄色的背景特征以及蓝色一整块结合得到粉色。

基于自适应编码器和扩散模型中的去噪编码器,作者引入了一个双编码器融合(DEF)模块来融合两个编码器的信息。具体而言,给定两个编码器提取的图像特征,双编码器融合模块将背景风格融入前景内容中并生成风格化的前景特征。图中是将自适应编码器的\(F^i_c\)和相应的降噪特征图\(F^i_{z_t}\)编码为新的降噪特征图\(\hat{F}^i_{z_t}\)。然后,来自两个编码器的风格化前景特征被组合在一起,在去噪步骤中提供多步引导。

说是直接相加或拼接 \(F^i_c,\; F^i_{z_t}\) 的效果很差,考虑到CNN无法建模长距离依赖...策略是浅层的(i=1,2)特征直接相加来保留局部结构,深层的(3,4)使用DEF模块来捕捉全局风格。

Stylized Feature Extraction 以 \(F^i_c\) 为例,要提取前景背景特征就通过mask+flatten,如背景特征 \(F^i_{c,b} = Flatten(F^i_c \circ (1-M))\),然后就能送入Transformer...
Stylized Feature Fusion Transformer输出靠全连接结合,再直接加上蓝黄的一部分

Objective Function

为了利用预训练的稳定扩散模型(SD)中丰富的先验知识并减轻训练负担,作者冻结了SD的模型参数,并仅在训练过程中更新自适应编码器和双编码器融合模块。扩散模型中使用的标准噪声损失只能从潜空间重建图片特征,无法将背景风格迁移到前景上。因此进一步引入了两个额外的风格损失,即AdaIN损失和对比风格损失,以平衡前景对象的风格和内容。

Noise Loss. DDPM的降噪是要去掉\(z'_T\)的噪声,最终重建原始合成图片\(z'_0\),因此该目标函数是要预测第t步的噪声,其中y是条件信息(合成图片和前景mask)

公式8

AdaIN Loss 公式8的noise loss只涉及潜空间,而风格损失无法直接在潜空间计算。给定解码器输出的图片\(\hat{I}_0 = \mathcal{D}(\hat{z}^t_0)\),这里标错了?图2中是\(\tilde{I}_0\)

公式9

其中\(\phi^l\)表示预训练VGG-19里第l层ReLU,\(I_b\)是完整的背景图片,\(\bar{M}^l\)是下采样到相应尺寸的前景mask。AdaIN损失将前景对象的多尺度统计数据(例如均值、方差)与背景绘画进行对齐,看起来是约束生成图片中前景部分的均值方差与背景图片一致,确实有AdaIN的感觉,但这是不是等于加了个AdaIN层呢。

Contrastive Style Loss 对比风格损失旨在将前景风格推向背景风格。同样把\(\hat{I}_0\)输入VGG,从特征图中裁出前景的部分,再将其投影为anchor向量\(f_q\),同样地从\(I_b\)的输出特征里抽取正样本\(f^+_b\),从其他风格图片里抽取负样本\(f^-_b\)。

图4 对比风格损失中 anchor, 正样本, 负样本 三元组的构建

公式10

其中温度\(\eta\)调节推拉力度,将其设置为0.2

Content Loss. 在平衡noise loss和风格损失时,内容细节可能被过度保留,导致风格迁移不充足,因此减少了noise loss的权重并引入内容损失。这玩意也是风格迁移常用的,维持高层级内容信息且不会牺牲风格:

\[\mathcal{L}_{con} = \| \phi^4(\hat{I}_0) - \phi^4(I_c) \|^2_2 \tag{11} \]

其中\(\phi^4\)的定义和公式9一样

Total Loss. 通过噪声损失、风格损失和内容损失,PHDiffusion能够理解背景风格并保持前景内容。在测试中PHDiffusion可以直接用于生成协调的图像,避免了额外的耗时推理优化,总损失如下:

\[\mathcal{L}_{

标签:Diffusion,编码器,Painterly,Harmonization,前景,损失,风格,模型,图片
From: https://www.cnblogs.com/Stareven233/p/17777720.html

相关文章

  • Stable Diffusion新玩法火了!给几个词就能生成动图,连动图人物的表情和动作都能随意控制
    作者|小戏单说大模型AI的发展对人们想象力释放的助力,基于StableDiffusion模型的方法首当其冲。透过文本描述到图像生成技术,大模型为我们的想象力打开了一个恢弘的梦幻世界。透过点滴文字,就有可能重现禁锢在我们脑海中无法释放的光怪陆离。而最近,StableDiffusion持续进化,......
  • diffusion扩散模型\datawhale组队学习——v3先运行一半(下)
    微调:好像是用新数据训练旧模型的管道。微调的参数有:图形大小:image_size数据批次:batch_size为减轻显卡压力,将数据批次再切分为2(n)倍,num_epochs相对应的,权重更新频率也乘2(n)倍,grad_accumulation_steps总感觉对模型影响不大捏?难道是为了加大图形质量和效果,就相应地延长训练时......
  • 简单有效!Direct Inversion: 三行代码提升基于Diffusion的图像编辑效果
    前言 本文介绍了由香港中文大学和粤港澳大湾区数字经济院联合提出的基于Diffusion的Inversion方法DirectInversion,可以在现有编辑算法上即插即用,无痛提点。本文转载自PaperWeekly作者:KK仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术......
  • 使用 DDPO 在 TRL 中微调 Stable Diffusion 模型
    引言扩散模型(如DALL-E2、StableDiffusion)是一类文生图模型,在生成图像(尤其是有照片级真实感的图像)方面取得了广泛成功。然而,这些模型生成的图像可能并不总是符合人类偏好或人类意图。因此出现了对齐问题,即如何确保模型的输出与人类偏好(如“质感”)一致,或者与那种难......
  • diffusion扩散模型\datawhale组队学习——v3先运行一半
    今天我们一起学习如何对模型微调和引导。微调,用原模型,跑新数据,得到新输出。引导,引导生成过程,改变输出结果。 作者之前用过sd模型,不同的采样方法在不同的采样步数下有不同的效果。首先采样步数并非越高越好或越低越好,有一个最佳使用区间,其次,不同采样方法有自己不同的最佳采样......
  • diffusion扩散模型\datawhale组队学习——v2-抄别人代码还要矫情一下
    如果想学diffusion,又没有买纸质书咋办捏?datawhale为我们提供了大佬的中文笔记!学习来源:https://relph1119.github.io/my-team-learning/#/diffusion_models_learning51/ch03/ch03 甚至比看github的代码还方便。但是又不得不矫情一下,跟着做还有点问题。(小弟就不放大佬的笔记......
  • prompt提示工程/diffusion扩散模型/datawhale组队学习///day1 看直播
    今日学习来源【纯干货】提示工程(PromptEngineering)-AI编程新范式_哔哩哔哩_bilibili 抄一下评论区的课代表: -0:00......
  • Stable-diffusion WebUI API调用方法
    写这篇文章的主要原因是工作中需要写一个用训练好的模型批量生图的脚本,开始是想用python直接加载模型,但后来发现webui的界面中有不少好用的插件和参数,所以最终改成调用WebUI接口的方式来批量生图。Stable-diffusion的webui界面使用比较方便,但是它的api文档比较简陋,很多功能需要......
  • IDM:Implicit Diffusion Models for Continuous Super-Resolution超分辨率
    摘要当今超分辨领域的模型普遍存在过度平滑(难以保持放大后图像的锐利和纹理,导致高频信息丢失和视觉上变得平滑)和伪影(生成的高分辨率图像中可能出现的不希望出现的失真或瑕疵,包括模糊、马赛克效应或者不自然纹理等)的现象,作者据此提出了IDM模型,IDM模型是在一个统一的端到端框架中集......
  • 论文阅读(一)—— Adding Conditional Control to Text-to-Image Diffusion Models
    ......