当前位置: 首页 > news >正文

InstructPix2Pix(CVPR2023)-图像编辑论文解读

文章目录

  • 1.摘要
  • 2.背景
  • 3.算法
    • 3.1 生成多模态训练集
      • 3.1.1生成指令及成对caption
      • 3.1.2 依据成对的caption生成成对的图像
    • 3.2 InstructPix2Pix
  • 4.实验结果
    • 4.1基线比较
    • 4.2消融实验
  • 5.结论

论文: 《InstructPix2Pix: Learning to Follow Image Editing Instructions》
github: https://github.com/timothybrooks/instruct-pix2pix

1.摘要

本文提出一种根据人类引导编辑图像的方法InstructPix2Pix:输入一张图片及告诉模型做什么的引导语,我们的模型将会跟随引导语编辑图像。为获得解决该问题的训练集,作者结合两个大预训练模型的知识:GPT-3、Stable Diffusion,用于生成图像编辑数据集。InstructPix2Pix在生成数据集上训练,但是可泛化到真实数据并且实现用户引导。因为该方案在前向过程进行编辑,无需finetune或转换,可在秒级完成图像编辑。作者展示了令人信服的编辑结果。

2.背景

GPT捕获关于语言的知识,Stable Diffusion捕获关于图像的知识,两者结合用于生成跨越两模态的成对训练集。
InstructPix2Pix在前向过程直接进行图像编辑,无需额外样例图、对输入/输出图的描述或逐样本finetune。
尽管InstructPix2Pix利用生成数据进行训练,但可零样本泛化到真实图片中。可进行各种编辑任务:替换目标、改变图片风格、改变背景、艺术风格等等,如图1所示。
在这里插入图片描述

3.算法

作者将基于引导的图像编辑任务看作有监督学习问题:
1. 生成成对训练集,包括图像编辑指令及编辑前后的图像;图2a-c
2. 在生成数据集训练图像编辑扩散模型;图2-d

在这里插入图片描述

3.1 生成多模态训练集

3.1.1生成指令及成对caption

一个LLM可利用输入图caption生成编辑指令及编辑后图片caption。如图2a所示,输入caption:“photograph ofa girl riding a horse”,LLM可生成编辑指令“have her ride a dragon”及编辑后输出caption:“photograph ofa girl riding a dragon”。
上述过程用到的语言模型通过在小批量人工编写的数据集上finetune GPT-3获得的。该finetune数据集,作者通过在LAION-Aesthetics V2 6.5+中采样700条输入caption获得。如表1所示。受益于GPT-3广博的知识和概括能力,我们finetune的模型能够生成合理instruction及caption。
在这里插入图片描述

3.1.2 依据成对的caption生成成对的图像

将一对caption转换为对应图像的挑战在于当prompt发生变化时,不能保证图像一致性。比如:“a picture ofa cat”及“a picture ofa black cat”可能会生成非常不同的猫,不利于训练模型进行图像编辑。因此作者使用Prompt-to-Prompt,使得生成图像尽量相似,如图3展示使用Prompt-to-Prompt前后结果。Prompt-to-Prompt中参数p可控制两张图相似性,作者对每个caption对生成100个样本对,随机参数 p ∼ U ( 0.1 , 0.9 ) p ∼ U(0.1, 0.9) pU(0.1,0.9),通过CLIP进行过滤样本
在这里插入图片描述

3.2 InstructPix2Pix

为了支持图像作为条件输入,作者在第一个卷积层增加channel,将 z t z_t zt ϵ ( c I ) \epsilon(c_I) ϵ(cI) concat
Classifier-free扩散引导用于平衡生成样本质量及多样性,联合训练扩散模型用于有条件及无条件去噪,推理时将两估计得分结合,通过参数 s s s控制,如式2所示
在这里插入图片描述
对于本任务,得分网络 e θ ( z t , c I , c T ) e_θ(z_t, c_I, c_T) eθ(zt,cI,cT) 有两个条件,作者引入两个引导参数 S I 、 S T S_I、S_T SIST,更改后的得分估计如式3,图4展示两参数影响。
在这里插入图片描述
在这里插入图片描述

4.实验结果

4.1基线比较

如图9,作者与Text2Live、SDEdit进行定性比较。尽管SDEdit能够保证内容一致,同时风格变化,但是它需要目标图的description而不是instruction。
在这里插入图片描述
与SDEdit定量比较如图8,纵轴表示CLIP图像相似性,通过计算CLIP image embedding余弦相似性实现,用于表示编辑后的图像与编辑前图像一致性;横轴表示CLIP图文相似性,用于表示编辑后图像与caption一致性。与SDEdit相比,作者所提方法在相同图文一致性时,具有更高的图像一致性。
在这里插入图片描述

4.2消融实验

图10展示消融实验量化结果,降低数据集大小将导致降低更大图像编辑能力,仅保证图像一致性,但无法保证图文一致性;移除数据集CLIP过滤,导致与输入图的一致性降低
在这里插入图片描述
图4展示两个引导参数 S I 、 S T S_I、S_T SIST影响,增大 S T S_T ST使得与instruction更加一致,增大 S I S_I SI使得与输入图更加一致

5.结论

作者证明大语言模型与文生图模型结合生成数据集,用于根据instruction训练扩撒模型。虽然能够进行令人信服的图像编辑,但是仍存在一些限制

  1. 受限于生成数据集图像质量
  2. 受限于模型泛化到新编辑instruction的能力
  3. 视觉变化与instruction做出正确关联度受限于finetune GPT-3人工编写的instruction、GPT-3的能力、Prompt-to-Prompt能力
  4. 在目标数量计数及空间推理方面存在问题。如图13
    在这里插入图片描述
  5. 在数据及预训练模型的偏置有可能继承至InstructPix2Pix中,如图14。
    在这里插入图片描述
    作者同时提出一些问题:如何根据instruction进行空间推理;如何将instruction与其他条件模态结合;如何评估基于instruction的图像编辑;强化学习策略可能用于改进模型与人类意图之间一致性。
http://www.lryc.cn/news/157050.html

相关文章:

  • 基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测
  • 一个新工具 nolyfill
  • vue的第2篇 开发环境vscode的安装以及创建项目空间
  • Java之包装类的详细解析
  • SpringBoot项目防止接口重复提交(简单拦截器实现方案)
  • C语言 数据结构与算法 I
  • PHP指定时间戳/日期加一天,一年,一周,一月
  • 前端框架 vue-admin-template的搭建运行
  • Git—版本控制系统
  • 【MySQL基础|第一篇】——谈谈SQL中的DDL语句
  • 移动安全测试框架-MobSF WINDOWS 环境搭建
  • QT连接OpenCV库完成人脸识别
  • 使用 ElasticSearch 作为知识库,存储向量及相似性搜索
  • 视频图像处理算法opencv在esp32及esp32s3上面的移植,也可以移植openmv
  • 2. postgresql并行扫描(1)——pg强制走并行扫描建表及参数配置
  • 【C++】动态内存管理
  • MATLAB R2023a完美激活版(附激活补丁)
  • 垃圾回收 - 标记压缩算法
  • Vue中过滤器如何使用?
  • 【爬虫】7.4. 字体反爬案例分析与爬取实战
  • Linux cat 的作用
  • Windows中的命令行提示符里的Start命令执行路径包含空格时的问题
  • 【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(上)
  • 学校宿舍智能水电表管理系统:为节约资源保驾护航
  • EasyFalsh移植使用方法
  • 函数栈帧(详解)
  • 【面试题总结1】-Static、Const、QT中基于TCP的通信服务器/客户端端操作
  • 镜像的基本命令(docker)
  • Liunx远程调试
  • Mac m1 安装rabbitmq+php-amqplib