OminiControl:AI图像生成框架,实现图像主题控制和空间精确控制

76 阅读4分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:OminiControl 支持主题驱动控制和空间对齐控制,适用于多种图像生成任务。
  2. 技术:通过参数重用机制和统一序列设计,实现高效的多模态注意力交互。
  3. 应用:适用于艺术创作、游戏开发、电影制作、广告营销等多个领域。

正文(附运行示例)

OminiControl 是什么

公众号: 蚝油菜花 - OminiControl

OminiControl 是一个高度通用且参数高效的图像生成框架,专为扩散变换器模型如 FLUX.1 设计,能够实现对图像生成过程的精细控制。OminiControl 支持主题驱动控制和空间控制,例如边缘引导和绘画生成,仅需在基础模型中增加 0.1% 的参数。

OminiControl 能够将提供的素材主体无缝融入新生成的图片中,同时保持图像的高质量和主题的一致性。OminiControl 提供一个超过 20 万张图像的 Subjects200K 数据集,支持主题一致生成任务的研究。

OminiControl 的主要功能

  • 主题驱动控制:根据用户提供的主体图像和文本提示生成新的图像,保留主体特征的同时按照文本描述修改背景或场景。
  • 空间对齐控制:支持如边缘引导、绘画生成等需要精确空间对应的图像生成任务。
  • 多模态注意力交互:将条件图像、噪声图像和文本条件标记统一处理,实现直接的多模态注意力交互,提高信息交换和控制信号传播的效率。
  • 参数效率:与其他方法相比,OminiControl 引入极小比例的额外参数(0.1%),实现高效的图像条件控制。
  • 灵活性和统一性:提供一个统一的架构处理空间对齐和非空间对齐的控制任务,增加系统的灵活性。

OminiControl 的技术原理

  • 参数重用机制:利用模型已有的 VAE 编码器处理条件图像,将其编码为与噪声图像标记相同的潜在空间中的标记。
  • 统一序列设计:将噪声图像标记、文本标记和条件图像标记合并为一个统一序列,让条件图像直接参与多模态注意力机制。
  • 自适应位置嵌入:为条件图像标记分配位置索引,确保与噪声图像标记有效交互,对于空间对齐任务和非空间对齐任务都至关重要。
  • 条件强度因子:引入偏置项调整注意力权重,支持在推理期间手动调整条件图像的影响力度。
  • 多模态注意力操作:在 DiT 的每个 Transformer 块中,基于注意力机制实现图像和文本条件标记之间的交互。

如何运行 OminiControl

环境设置(可选)

  1. 环境设置
conda create -n omini python=3.10
conda activate omini
  1. 安装依赖
pip install -r requirements.txt

使用示例

  1. 主题驱动生成examples/subject.ipynb
  2. 图像修复examples/inpainting.ipynb
  3. 空间对齐任务examples/spatial.ipynb

Gradio 应用

运行 Gradio 应用进行主题驱动生成:

python -m src.gradio.gradio_app

主题驱动生成的指南

  1. 输入图像会自动居中裁剪并调整大小为 512x512 分辨率。
  2. 编写提示时,使用 this itemthe objectit 等短语来指代主体。例如:
    • A close up view of this item. It is placed on a wooden table.
    • A young lady is wearing this shirt.
  3. 模型目前主要适用于物体而非人类主体,因为训练数据中缺乏人类数据。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦