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

论文阅读笔记——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.xdnf.cn/news/686593.html

相关文章:

  • macOS 风格番茄计时器:设计与实现详解
  • Spring Boot项目中实现单点登录(SSO)完整指南
  • Opera Neon发布该公司首款“AI代理”浏览器
  • 性能指标 P99(99th Percentile)​​
  • Vue内置指令与自定义指令
  • 模型微调参数入门:核心概念与全局视角
  • SpringBoot实战:高效获取视频资源
  • 浏览器之禁止打开控制台【F12】
  • Linux中基础IO(下)
  • 怎么快速判断一款MCU能否跑RTOS系统
  • FeignClient发送https请求时的证书验证原理分析
  • 初识 Pytest:测试世界的智能助手
  • 互联网大厂Java求职面试实战:Spring Boot微服务架构及Kafka消息处理示例解析
  • 《异常链与统一异常处理机制设计:让 Java 项目更清晰可靠》
  • AI 赋能数据可视化:漏斗图制作的创新攻略
  • ABAQUS三维功能梯度多孔结构材料FGM轴压模拟
  • Spring AI 整合聊天模型之智谱AI
  • CloudCompare|点测量功能源码分析
  • 如何手搓一个查询天气的mcp server
  • 嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题
  • Spring AI 官方文档 AIGC入门到实战 (1) 认识Spring AI
  • Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程
  • 探索C++标准模板库(STL):String接口实践+底层的模拟实现(中篇)
  • 0527漏洞原理:XSS笔记
  • 《深入解析UART协议及其硬件实现》-- 第二篇:UART硬件架构设计与FPGA实现
  • pikachu靶场通关笔记05 XSS关卡01-反射型GET
  • WPS自动换行
  • Rust 学习笔记:循环和迭代器的性能比较
  • Windows下安装并使用kubectl查看K8S日志
  • 可视化提示词(Prompt)在训练过程中的优化过程:visualize_prompt_evolution