Project Icon

B-LoRA

图像风格内容分离的创新技术

B-LoRA是一种创新的图像处理技术,结合Stable Diffusion XL和Low-Rank Adaptation,实现单一输入图像的风格与内容隐式分离。这种方法支持图像风格迁移、文本引导的图像风格化和一致性风格生成等多样化应用。B-LoRA为图像编辑和创意设计领域提供了新的可能性,能够有效地处理和转换图像的视觉元素。

使用B-LoRA实现隐式风格-内容分离

arXiv 在Colab中打开 HuggingFace演示

预览图

这个仓库包含了B-LoRA方法的官方实现,该方法可以对单一输入图像进行隐式风格-内容分离,适用于各种图像风格化任务。B-LoRA利用Stable Diffusion XL (SDXL)和低秩适应(LoRA)的能力,将图像的风格和内容组件解耦,从而实现图像风格转换、基于文本的图像风格化和一致风格生成等应用。

🔧 2024年5月21日:重要更新 🔧

diffusers和PEFT的新版本存在一些问题,导致微调过程收敛速度不如预期。目前,我们已上传了论文中使用的原始训练脚本。

请注意,我们使用的是旧版本的diffusers (0.25.0),并且没有使用PEFT。

入门指南

前提条件

  • Python 3.11.6+
  • PyTorch 2.1.1+
  • 其他依赖项(在requirements.txt中指定)

安装

  1. 克隆此仓库:

    git clone https://github.com/yardenfren1996/B-LoRA.git
    cd B-LoRA
    
  2. 安装所需的依赖项:

    pip install -r requirements.txt
    

    (Windows 10用户请参考这里

使用方法

  1. 训练B-LoRAs

    要为给定的输入图像训练B-LoRAs,运行:

    accelerate launch train_dreambooth_b-lora_sdxl.py \
     --pretrained_model_name_or_path="stabilityai/stable-diffusion-xl-base-1.0" \
     --instance_data_dir="<示例图像路径>" \
     --output_dir="<输出目录路径>" \
     --instance_prompt="<提示词>" \
     --resolution=1024 \
     --rank=64 \
     --train_batch_size=1 \
     --learning_rate=5e-5 \
     --lr_scheduler="constant" \
     --lr_warmup_steps=0 \
     --max_train_steps=1000 \
     --checkpointing_steps=500 \
     --seed="0" \
     --gradient_checkpointing \
     --use_8bit_adam \
     --mixed_precision="fp16"
    

这将优化内容和风格的B-LoRA权重,并将它们存储在output_dir中。 需要替换的参数包括instance_data_diroutput_dirinstance_prompt(在我们的论文中,我们使用A [v]

应用图

  1. 推理

    对于基于参考风格图像的图像风格化(1),运行:

    python inference.py --prompt="A <c> in <s> style" --content_B_LoRA="<内容B-LoRA路径>" --style_B_LoRA="<风格B-LoRA路径>" --output_path="<输出目录路径>"
    

    这将生成具有第一个B-LoRA内容和第二个B-LoRA风格的新图像。 注意,你需要根据优化提示词替换提示中的cs

    对于基于文本的图像风格化(2),运行:

    python inference.py --prompt="A <c> made of gold" --content_B_LoRA="<内容B-LoRA路径>" --output_path="<输出目录路径>"
    

    这将生成具有给定B-LoRA内容和文本提示指定风格的新图像。

    对于一致风格生成(3),运行:

    python inference.py --prompt="A backpack in <s> style" --style_B_LoRA="<风格B-LoRA路径>" --output_path="<输出目录路径>"
    

    这将生成具有指定内容和给定B-LoRA风格的新图像。

    inference.py文件中可以设置的其他参数包括:

    1. --content_alpha--style_alpha用于控制适配器的强度。
    2. --num_images_per_prompt用于指定输出图像的数量。

    (关于a111和comfy,请参见此问题

引用

如果你在研究中使用了B-LoRA,请引用以下论文:

@misc{frenkel2024implicit,
      title={Implicit Style-Content Separation using B-LoRA}, 
      author={Yarden Frenkel and Yael Vinker and Ariel Shamir and Daniel Cohen-Or},
      year={2024},
      eprint={2403.14572},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

许可证

本项目采用MIT许可证

联系方式

如果你有任何问题或建议,请随时提出issue或联系作者:yardenfren@gmail.com

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号