wuvin
Always take risks!
Toggle navigation
wuvin
主页
实验室的搬砖生活
机器学习
公开的学术内容
公开的其他内容
About Me
归档
标签
友情链接
ZYQN
ihopenot
enigma_aw
hzwer
杨宗翰
基于 Cross Attention 的 SD 控制
2023-04-23 19:33:17
1009
0
0
wuvin
# Prompt-to-Prompt Image Editing with Cross Attention Control * 最早的一篇吧 * ![title](https://leanote.com/api/file/getImage?fileId=64451807ab64411710aec836) * 文章发现attention map 控制了生成的语义,通过修改attention map 可以修改对应的生成结果。 * ![title](https://leanote.com/api/file/getImage?fileId=64451817ab64411710aec839) * ![title](https://leanote.com/api/file/getImage?fileId=644518c6ab64411710aec847) * ![title](https://leanote.com/api/file/getImage?fileId=64451900ab64411710aec84d) * ![title](https://leanote.com/api/file/getImage?fileId=6445190bab64411710aec84e) # eDiff-I: Text-to-Image Diffusion Models with an Ensemble of Expert Denoisers * 在去噪过程中采用不同的模型。初始训练一个通用模型,然后后面再分阶段特化。文章认为去噪模型前段再根据文字生成图像结构,后段在细化提升图像的质量。 * ![title](https://leanote.com/api/file/getImage?fileId=644b8740ab64411710af5dde) * 一个有趣的用法:prompt切换 * ![title](https://leanote.com/api/file/getImage?fileId=644b89abab64411710af5e1a) * 文章提出了Paint-with-words,因为SD里面的CrossAttention是 Spatial CrossAttention 与空间位置独立,所以很方便对于attention做文章。示意图中每一行对应一个像素,每一列对应输入的一个词,只需要增加对应位置对应词的权重就可以。 * ![title](https://leanote.com/api/file/getImage?fileId=64451a77ab64411710aec86b) * ![title](https://leanote.com/api/file/getImage?fileId=644b9b2cab64411710af5f67) # Editing Implicit Assumptions in Text-to-Image Diffusion Models * 这篇文章比较`政治正确`,就是某些物体生成会带有很强的bias。那么如何去纠正这些属性(真是讲了个很`正确`的故事)。 * ![title](https://leanote.com/api/file/getImage?fileId=644e52fbab64411710c5a060) * ![title](https://leanote.com/api/file/getImage?fileId=64451becab64411710aec887) * 处理策略是:微调cross attention的text部分权重,然后使得不含有特定概念的更加接近含有特定概念的(类似于潜在的知识蒸馏)。 * ![title](https://leanote.com/api/file/getImage?fileId=644e54f8ab64411710c5a087) * ![title](https://leanote.com/api/file/getImage?fileId=644e559aab64411710c5a094) * ![title](https://leanote.com/api/file/getImage?fileId=644e55a5ab64411710c5a095) # SVDiff: Compact Parameter Space for Diffusion Fine-Tuning * LoRA的竞品 * ![title](https://leanote.com/api/file/getImage?fileId=64451c29ab64411710aec88c) * 只更新中间对角线部分 * ![title](https://leanote.com/api/file/getImage?fileId=644e7feeab64411710c5a397) * 使用类似于Cut-mix来做数据增强,然后同时在Cross-Attention 层面让模型注意力增加到对应物体区域,这样还可以增加了物体之间对比的区分。 * ![title](https://leanote.com/api/file/getImage?fileId=64451c51ab64411710aec890) * 结合DDIM Invert,能有更细致的编辑效果。 * ![title](https://leanote.com/api/file/getImage?fileId=644e83a0ab64411710c5a3e1) # Training-Free Layout Control with Cross-Attention Guidance * 方法还是老一套,就是控制Cross-Attention,但是使用的是backward的导数,而不是直接修改的Spatial. * 定义了能量函数,使用能量函数的导数更新引导,其中A是Attention,B是bounding box区域,也就是**最大化boxding-box内部的Attention权重比例**。 * ![title](https://leanote.com/api/file/getImage?fileId=644e76a4ab64411710c5a2e6) * 和Classifier-Guidiance 类似,更新的是$Z_t$ 而不是Attention。 * ![title](https://leanote.com/api/file/getImage?fileId=644e76f4ab64411710c5a2ec) * ![title](https://leanote.com/api/file/getImage?fileId=64451c77ab64411710aec894) * 但本文额外分析了Start Token 和 End Token的特点,发现语义含量很高。 * ![title](https://leanote.com/api/file/getImage?fileId=64451c95ab64411710aec897) * 以下对比了开始和结束Token的重要性 * ![title](https://leanote.com/api/file/getImage?fileId=644e756fab64411710c5a2cb) * ![title](https://leanote.com/api/file/getImage?fileId=64451cb8ab64411710aec89a) * 实验对比证明backward很有用。 * ![title](https://leanote.com/api/file/getImage?fileId=644e7780ab64411710c5a2f6) * ![title](https://leanote.com/api/file/getImage?fileId=644e77d7ab64411710c5a2fc) * 可视化 cat 在每一个 timestep的attention map。 * ![title](https://leanote.com/api/file/getImage?fileId=64451ce4ab64411710aec89e) * 一些额外的实现细节:只Guide 上采样部分的attention map,只guide前10-20个timestep(因为决定了结构)。 # PAIR-Diffusion: Object-Level Image Editing with Structure-and-Appearance Paired Diffusion Models * ![title](https://leanote.com/api/file/getImage?fileId=64451d13ab64411710aec8a4) * 最大的问题是,这需要新的Diffusion架构,以及重新训练。 * ![title](https://leanote.com/api/file/getImage?fileId=64451d36ab64411710aec8a7) * 感觉不如 ControlNet+语义图 * ![title](https://leanote.com/api/file/getImage?fileId=644e7ee5ab64411710c5a380) * ![title](https://leanote.com/api/file/getImage?fileId=644e7ef1ab64411710c5a382) # Sketch-Guided Text-to-Image Diffusion Models * 按照Sketch的方式来控制结构,方法不是很优雅,需要训练一个Latent edge decetor。 * ![title](https://leanote.com/api/file/getImage?fileId=64451d53ab64411710aec8ab) * 根据predictor来最大化边缘。(其实变相就是最大化互信息) * ![title](https://leanote.com/api/file/getImage?fileId=644e6fd2ab64411710c5a269) * 显然效果没有超过前一个多少,同时又被ControlNet被刺了。 * ![title](https://leanote.com/api/file/getImage?fileId=644e7040ab64411710c5a271) # Zero-shot Image-to-Image Translation * 这个就是 Pix2Pix-Zero,huggingface上有pipeline。 * 想法很简单,就是用对话模型描述两个东西的区别,作为编辑的方向。(我觉得平均方向一定是最好用的。) * ![title](https://leanote.com/api/file/getImage?fileId=644e7a84ab64411710c5a328) * 首先对于图片先求逆,然后把逆的加噪图像提取对应的attention map,然后在用旧的Attention map去控制新的attention map的区域。求逆生成噪音部分,为了保证噪音的分布符合假设,增加了额外的$L_{pair}$和$L_{KL}$ 来提升逆出来的带噪音图像的质量。 * ![title](https://leanote.com/api/file/getImage?fileId=64451de7ab64411710aec8b5) * 效果对于已有物体似乎还可以,实测对于需要从无到有的非常不行。 * ![title](https://leanote.com/api/file/getImage?fileId=644e7ca1ab64411710c5a34d) # Video-P2P: Video Editing with Cross-attention Control * 把P2P任务拓展到Video. * ![title](https://leanote.com/api/file/getImage?fileId=644f29daab64411710c88e66) * 在视频上要交换概念还是交换Cross-Attention。当然本文处理了一些视频专有的问题,比如DDIM Inversion需要改进、来自T2I的T2V model,需要优化一个共享的Unconditional embedding。 * ![title](https://leanote.com/api/file/getImage?fileId=64451e23ab64411710aec8ba) * T2I 改成 T2V 部分是修改了原有的网络架构,继承了T2I的部分参数,然后再finetune。但每个视频需要花十分钟finetune这个model。 # MultiDiffusion: Fusing Diffusion Paths for Controlled Image Generation * 主要是**解决不同尺寸的图像问题**,以及新的与cross-attention无关的 **Region Prompt Control**。 * ![title](https://leanote.com/api/file/getImage?fileId=64451e4bab64411710aec8be) * ![title](https://leanote.com/api/file/getImage?fileId=64451e6aab64411710aec8c1) * 解决方法很naive,就是重叠区域应该同时尽可能接近两个patch的去噪方向。 * ![title](https://leanote.com/api/file/getImage?fileId=644e59c6ab64411710c5a0e2) * 这么简单的任务自然就有closeform,翻译过来就是按比例加权就行。 * ![title](https://leanote.com/api/file/getImage?fileId=644e5a18ab64411710c5a0e9) * 由于原本每个patch内部是可以有权重的!因此可以实现带语义的T2I的控制(也就是每个patch的text可以不一样)。 * ![title](https://leanote.com/api/file/getImage?fileId=644e5b71ab64411710c5a101) * 有一个额外的bootstrapping(其实就是生成时来一个纯色背景),来保证生成结果更加贴合bound。(**这不就是我要的嘛,一个不贴合bound的生成**) * ![title](https://leanote.com/api/file/getImage?fileId=644e5cb5ab64411710c5a119) * ![title](https://leanote.com/api/file/getImage?fileId=644e5ca8ab64411710c5a117) * 但这个方法似乎并不能解决全景图的分布问题,因为可能抬头和向前看起来没区别。 # DiffCollage: Parallel Generation of Large Content with Diffusion Models * 理论性更强的一篇,基于SDE的角度来看待这个问题。 * 大概为上一篇基于MSE的操作,提供了一定的理论基础。 * ![title](https://leanote.com/api/file/getImage?fileId=644e64eeab64411710c5a1ad) * 全景图是几个竖着一条的全景图模型合成的。 * ![title](https://leanote.com/api/file/getImage?fileId=644e64c9ab64411710c5a1a9) * ![title](https://leanote.com/api/file/getImage?fileId=644e64c1ab64411710c5a1a8) * 一点有意思的小Trick,基于CLIP Embedding插值来连接首尾。 * ![title](https://leanote.com/api/file/getImage?fileId=644e6494ab64411710c5a1a4) # Collage Diffusion * 看看如何**解决图层的问题** * ![title](https://leanote.com/api/file/getImage?fileId=64452061ab64411710aec8e4) * 控制和eDiffI很像,但是使用了正向样例和负向样例,来解决图层问题(简称为CA)。 * ![title](https://leanote.com/api/file/getImage?fileId=644bd754ab64411710b634a5) * 当然本文还用了Textual Inversion (TI)。SA是Spatial Attention。GH是Global image harmonization,也就是加噪音再去噪来提升整体和谐度的过程。LN: 为了处理每一个物体的Harmonization-Fidelity Tradeoff,每个物体有个参数 $t_o$ 决定了在哪个timestep开始加额外噪音(即在去噪之后再在mask范围内加一部分强度为$\sqrt{\sigma}(t-1)$的噪音。)对于每个像素,加噪音的时间取决于它所在图层的 $t_o$(当然还有一些额外的平滑)。 * ![title](https://leanote.com/api/file/getImage?fileId=644be97fab64411710b87395) * ![title](https://leanote.com/api/file/getImage?fileId=644bde51ab64411710b71e79) * 可以通过反复生成来提升质量。 * ![title](https://leanote.com/api/file/getImage?fileId=644bd9bbab64411710b68af4) # MasaCtrl: Tuning-Free Mutual Self-Attention Control for Consistent Image Synthesis and Editing * 通过修改SD的self-attention 实现tuning-free 的control。 * ![title](https://leanote.com/api/file/getImage?fileId=644c7bbfab64411710c57ed6) * 主要修改了 Self-Attention * ![title](https://leanote.com/api/file/getImage?fileId=6445216fab64411710aec8f6) * 文章立足点在于:1.结构信息在比较早期生成。2.两个类似的图片在self-attention部分很像。 * ![title](https://leanote.com/api/file/getImage?fileId=644e381bab64411710c59e7c) * 算法核心部分如下: * ![title](https://leanote.com/api/file/getImage?fileId=644e38b2ab64411710c59e87) * 效果对比: * ![title](https://leanote.com/api/file/getImage?fileId=644e38ffab64411710c59e8d) * 和ControlNet结合一下(ControlNet翻译姿势,本文提供材质一致),就能相对高质量的跳舞了 * ![title](https://leanote.com/api/file/getImage?fileId=644e3992ab64411710c59e9f) * 值得让人思考,是不是数据量越大,模型的可解释性反而越好? * 观看[project page](https://ljzycmd.github.io/projects/MasaCtrl/)的视频更能理解这个控制,感觉最大化了相同的材质。 # Unleashing Text-to-Image Diffusion Models for Visual Perception * 提出了VPD: Visual Perception with Pre-trained Diffusion Models。即使用预训练的 Diffusion 的attention完成各种视觉任务(分割、预测、单目深度)。 * ![title](https://leanote.com/api/file/getImage?fileId=644521f0ab64411710aec901) * 中间特征提取出来再训练(可惜需要再训练)。 * ![title](https://leanote.com/api/file/getImage?fileId=644bd121ab64411710b561b3) * 语义分割确实不错 * ![title](https://leanote.com/api/file/getImage?fileId=644bd146ab64411710b56696) * 单目深度也还行
上一篇:
RGBD 生成/预测
下一篇:
NeRF 编辑2023进展
0
赞
1009 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册