400万样本,数据才是AIGC的王道!UltraEdit:基于指令的细粒度图像编辑数据集
一、概述
UltraEdit 是一种大规模的、自动生成的数据集,专门用于基于指令的图像编辑。该数据集包含了约400万个编辑样本,覆盖了750,000个独特的指令,涵盖了9种以上的编辑类型。UltraEdit 的核心优势在于其利用大型语言模型(LLMs)的创造力和人类评估者提供的上下文编辑示例,提供了更广泛的编辑指令;其数据源基于真实图像,包括照片和艺术作品,这比仅由文本到图像模型生成的数据集提供了更大的多样性并减少了偏见;此外,它还支持基于区域的编辑,并增强了高质量的自动生成区域注释。
项目地址:https://ultra-editing.github.io/
代码地址:https://github.com/HaozheZhao/UltraEdit
论文地址:https://arxiv.org/pdf/2407.05282
效果:
代码中也给出了通过UltraEdit训练集训练的SD3的模型,并且提供了一个gradio的界面,我部署测试了下这个模型,整体来说效果还过得去,当然这个模型不是重点。
二、原理
核心点:
- 多样性编辑指令:结合了大型语言模型和人类评估者生成的编辑指令,提高了指令的多样性和质量。
- 真实图像基础:使用真实图像作为数据源,减少了模型训练时的偏见,提高了生成样本的多样性。
- 基于区域的编辑支持:通过高质量的自动生成区域注释,增强了对特定区域编辑的支持。
UltraEdit架构:
- 图上部:使用 LLM 和上下文示例来根据收集的图像标题生成编辑说明和目标标题
- 手动创建初始指令:首先,通过人工创建数百条编辑指令。这些指令是与人类评估者合作产生的,他们根据COCO数据集中的图像和标题来编写合适的编辑指令。
- 利用LLM扩展指令:然后,使用大型语言模型(LLM)来扩展这些人工编写的指令,生成更多样的编辑示例。这一步骤通过结合上下文学习(in-context learning)和LLM的创造力,显著增加了指令的多样性。
- 生成指令和标题:LLM不仅生成编辑指令,还生成编辑后的图像的标题。这些标题用于后续的图像生成和评估过程。
- 指令和标题的输出格式:输出格式遵循“原始图像标题;编辑指令;新图像标题”的模式,确保结果的一致性和实用性。
- 图中部:使用P2P控制和现成的T2I扩散模型生成源图像和目标图像
- 使用真实图像作为锚点:在生成编辑样本时,不完全依赖T2I模型合成所有图像,而是使用真实图像作为锚点,以减少这些模型可能存在的偏见。
- 图像-图像扩散流程:使用常规的Img2Img扩散流程,将噪声扰动的潜在嵌入和源标题作为条件,生成源图像。
- 提示到提示(P2P)控制:使用P2P控制和目标标题生成目标图像,这一步骤在相同的潜在空间中进行,确保了源图像和目标图像的一致性。
- 使用SDXL-Turbo作为扩散骨干:利用SDXL-Turbo模型进行高质量的图像生成,只需2-4步扩散步骤,就能保持与SDXL相当的生成质量。
- 图下部:根据指令生成一个编辑区域,然后调用修改后的修复扩散管道来生成图像
- 对象检测与编辑对象识别:使用“recognize-anything”模型对源图像进行对象检测,识别出图像中的所有对象。结合LLM、对象列表、源标题、目标标题和编辑指令,确定需要编辑的具体对象或区域。
- 编辑区域的生成:对于需要变换的对象,使用GroundingDINO和SAM技术来获得对象的边界框和精细掩码。如果编辑指令涉及整个图像的变换,整个图像被定义为编辑区域。利用这些掩码生成一个软掩码,以便在生成过程中平滑地过渡编辑区域和非编辑区域。
- 修改的图像生成流程:采用修改后的图像生成流程,交替进行常规扩散步骤和仅在编辑区域内的修复扩散步骤。这一流程通过考虑编辑区域的掩码来引导图像的生成,从而在指定区域内实现精确编辑。
- 软掩码的融合:将精细掩码与边界框掩码融合,创建一个软掩码,用于在生成过程中指示哪些区域应该被编辑。
高质量图像生成的评估和筛选:
个人认为数据集的质量评估在UltraEdit数据集的构建过程中扮演着最关键的角色,确保了生成的图像编辑样本符合高标准的质量和准确性。为了保证数据集的质量,UltraEdit数据集做了如下工作:
1、自动化质量评估指标
- CLIP图像相似度(CLIP Image Similarity):评估生成图像与目标图像在视觉上的相似度。
- DINOv2相似度(DINOv2 Similarity):衡量生成图像与源图像在语义上的相似性。
- 结构相似性指数(SSIM):量化生成图像与源图像在像素级别的一致性,确保图像质量。
- CLIP方向相似度(CLIP Directional Similarity, CLIPdir):评估图像变化与标题变化之间的一致性,确保生成图像遵循编辑指令。
2、生成过程的迭代与筛选
- 多次迭代:对于每个编辑指令,扩散模型多次迭代生成多个图像变体。
- 基于指标的筛选:使用上述自动化度量标准筛选出高质量图像。
3、编辑区域的准确性
- 区域掩码的精确性:确保生成的编辑区域掩码准确反映了需要编辑的图像部分。
- 编辑操作的精度:评估编辑操作是否精确地在指定区域内执行。
三、效果
数据集的对比
- 定量评估
定性评估
四、小结
文章主要目的是构建精细化编辑的数据集,以下是主要关键点:
- 使用大语言模型LLM 来根据收集的图像标题生成编辑说明和目标标题
- 使用自由形式编辑来生成数据集,不依赖于特定的图像区域或掩码
- 使用区域编辑的方式来生成数据集,专注于图像的特定区域或对象的生成
- 评估和筛选出高质量的数据集
个人认为,这篇文章很有价值,因为数据才是AIGC最基础最需要做的工作,但是靠人工来整理收集还是效率太低了,结合大模型与文生图模型来做一部分数据整理的工作简直不要太爽,但是如何保证生图的质量非常关键,一是生图模型有较好的效果,二是数据质量评估体系的建立是否完善。
本文转自 AI生成未来 ,作者:grooter