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

论文阅读笔记——In-Context Edit

ICEdit 论文阅读笔记
指令图像编辑现有方法的局限:

  • 微调类方法(InstructPix2Pix、Emu Edit、 Ultra Edit):需要大规模数据和算力、精度高但效率低且泛化性低;
  • 免训练方法(Prompt-to-Prompt、 StableFlow):高效但难以理解复杂语义、编辑质量低。
    ICEdit 则关注如何在不牺牲编辑精度和泛化能力的前提下,极大提升训练和推理效率,实现高质量、低成本、易扩展的指令图像编辑范式。与以前的方法相比,ICEdit只有 1% 的可训练参数(200 M)和 0.1% 的训练数据(50 k),仅用 9s 推理。
    在这里插入图片描述

将编辑指令嵌入专为语境化编辑设计的生成提示中,构建如下提示模板:“a side-by-side image of the same {subject}: the left depicts the original {description}, while the right mirrors the left but applies {edit instruction}.” 分析 IC 提示下编辑指令对应的注意力图,发现待修改区域呈现更显著的激活值。借鉴大语言模型的上下文能力,构建双联画的输入。
在这里插入图片描述

本文设计了两种框架:

  • T2I DiT:通过一种隐式的参考图像注入方法,将参考图像的特征融入到双联画的左边图像表示中,从而在右边图像生成时能够保留参考图像的风格和特征。具体而言,对参考图像进行反演,保留各层步骤的注意力值,将反演得到的注意力值注入代表双莲花左侧的 token,来重建参考图像。但这引入了额外的图像翻转步骤,增加了计算开销,且结果不够稳定。
  • Impainting DiT:预设一张并排图像,左侧为图像,右侧为 Mask,使用相同的 IC 提示指导修复,让模型在 Mask 区域生成指令编辑结果。计算成本较低,且结果更稳定,但保留参考图像风格能力较弱。

最终采用 Impainting DiT 的方式 I t = E ( I s , T e ) = D ( I I C , M , T I C ) I_t=E(I_s,T_e)=D(I_{IC},M,T_{IC}) It=E(Is,Te)=D(IIC,M,TIC) DiT 采用 FLUX.1 Fill。
经过实验,在某些任务(风格转换和移除)上,使用单一 LoRA 效果不好,认为不同的任务需要不同的潜在特征操作,采取 LoRA-MoE,嵌入到 DiT 模块的注意力投影层中,在其他层使用标准 LoRA 进行调整。

在这里插入图片描述

O u t p u t = B a s e L a y e r ( x ) + α ∑ i = 1 N G ( x ) i ⋅ B i ⋅ A i ⋅ x Output=BaseLayer(x)+\alpha \sum_{i=1}^NG(x)_i·B_i·A_i·x Output=BaseLayer(x)+αi=1NG(x)iBiAix
其中 B i ∈ R d × r A i ∈ R r × k B_i \in \mathbb{R}^{d×r}\quad A_i\in\mathbb{R}^{r×k} BiRd×rAiRr×k 为 LoRA 参数, x ∈ R k x \in \mathbb{R}^k xRk 是输入标记。路由分类器为每个专家分配一个选择概率 G ( x ) G(x) G(x),最终输出各个专家的加权和。同时 G ( x ) i = s o f t m a x ( T o p K ( g ( x ) , k ) ) G(x)_i=softmax(TopK(g(x),k)) G(x)i=softmax(TopK(g(x),k))
由于在实验中发现,少数推理步骤即可对齐指令,并且与 Rectified Flow-based DiT 一致。与需要多步来实现细节和质量的生成任务不同,只需要少数步骤来评估编辑的成功。具体而言,少步去噪+VLM 筛选,提升编辑鲁棒性和主观质量(符合人类偏好)。

  • 微调数据仅 5 万条,参数量仅为全量微调的 1%。
  • 支持 text-to-image 和 inpainting 两种 DiT 框架,兼容多种编辑场景。
  • 推理时可选用如 Qwen-VL-72B 等大模型作为 VLM 评判器。

实验结果

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/2391690.html

相关文章:

  • Debian 系统 Python 开发全解析:从环境搭建到项目实战
  • Next.js 15 与 Apollo Client 的现代集成及性能优化
  • 【后端高阶面经:MongoDB篇】41、MongoDB 是怎么做到高可用的?
  • IO Vs NIO
  • offset 家族和 client 家族
  • DMBOK对比知识点整理(4)
  • day12 leetcode-hot100-21(矩阵4)
  • Java基础 Day24
  • 提问:鲜羊奶是解决育儿Bug的补丁吗?
  • 关于数据仓库、数据湖、数据平台、数据中台和湖仓一体的概念和区别
  • Hive 分桶(Bucketing)深度解析:原理、实战与核心概念对比
  • 网络协议DHCP
  • 什么是可重组机器人?
  • 4、docker compose
  • Node.js全局对象详解:console、process与核心功能
  • 测试策略:AI模型接口的单元测试与稳定性测试
  • SQL里几种JOIN连接
  • 基于通义千问的儿童陪伴学习和成长的智能应用架构。
  • 生产环境Mysql推荐配置参数
  • LVS-DR 负载均衡群集
  • 理解并解决高丢包率问题,构建清晰流畅的实时音视频通话
  • Ubuntu系统Todesk进度卡在100%
  • [Dify] 如何应对明道云API数据过长带来的Token超限问题
  • Axure动态面板学习笔记
  • eNSP企业综合网络设计拓扑图
  • 工程化架构设计:Monorepo 实战与现代化前端工程体系构建
  • BugKu Web渗透之备份是个好习惯
  • 华为AP6050DN无线接入点瘦模式转胖模式
  • uniapp 配置本地 https 开发环境(基于 Vue2 的 uniapp)
  • 十、【核心功能篇】项目与模块管理:前端页面开发与后端 API 联调实战