Project Icon

photo-background-generation

基于文本引导的扩散模型实现对象背景一致性

该开源项目通过文本引导的扩散模型,解决显著对象背景生成中的'对象扩展'问题,保持对象身份和背景的一致性。适合商业广告等需要清晰度的场景。项目已被CVPR 2024采用,提供创新的背景生成方法。

项目介绍:Salient Object-Aware背景生成

photo-background-generation项目是基于《Salient Object-Aware Background Generation using Text-Guided Diffusion Models》这篇论文,该论文已经被接受在CVPR 2024的生成模型与计算机视觉研讨会上呈现。这个项目主要致力于解决一种被称为“物体扩展”的问题,该问题在为重点物体生成背景时使用重绘扩散模型时常常出现。

项目背景

在为显著物体生成背景图像时,现有的一些模型,比如Stable Inpainting模型,有时候会将显著物体任意扩展或者扭曲,这在要求保留物体本身特征的应用中是不可取的,例如电子商务广告中需要精准展现商品的场景。项目通过展示一些物体扩展的例子,来引发对这个问题的关注。

使用方法

该项目提供了具体的技术实现步骤,用户可以通过以下步骤来使用这个背景生成工具。

加载管道

首先,需要安装并加载DiffusionPipeline,通过指定模型ID,使用预训练模型来完成后续的背景图像生成。

from diffusers import DiffusionPipeline
model_id = "yahoo-inc/photo-background-generation"
pipeline = DiffusionPipeline.from_pretrained(model_id, custom_pipeline=model_id)
pipeline = pipeline.to('cuda')

图像加载与处理

接着,项目提供了一个函数用于加载图像并提取背景和前景。通过调用外部库来实现这种图像处理,包括调整图像大小以及获取前景掩码。

from PIL import Image, ImageOps
import requests
from io import BytesIO
from transparent_background import Remover

def resize_with_padding(img, expected_size):
    # 缩放图像并加上填充
    img.thumbnail((expected_size[0], expected_size[1]))
    # 计算填充长度
    delta_width = expected_size[0] - img.size[0]
    delta_height = expected_size[1] - img.size[1]
    pad_width = delta_width // 2
    pad_height = delta_height // 2
    padding = (pad_width, pad_height, delta_width - pad_width, delta_height - pad_height)
    return ImageOps.expand(img, padding)

# 示例图像处理
seed = 0
image_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Granja_comary_Cisne_-_Escalavrado_e_Dedo_De_Deus_ao_fundo_-Teres%C3%B3polis.jpg/2560px-Granja_comary_Cisne_-_Escalavrado_e_Dedo_De_Deus_ao_fundo_-Teres%C3%B3polis.jpg'
response = requests.get(image_url)
img = Image.open(BytesIO(response.content))
img = resize_with_padding(img, (512, 512))

# 背景检测模型加载
remover = Remover() # 默认设置
remover = Remover(mode='base') # 夜间版本检查点

# 获取前景掩码
fg_mask = remover.process(img, type='map') # 默认设置 - 透明背景

背景生成

最后一步则是背景生成。用户可以设置生成的种子值、提示词以及控制图像使用参数来指导生成过程,确保生成符合要求的背景图像。

seed = 13
mask = ImageOps.invert(fg_mask)
img = resize_with_padding(img, (512, 512))
generator = torch.Generator(device='cuda').manual_seed(seed)
prompt = 'A dark swan in a bedroom'
cond_scale = 1.0
with torch.autocast("cuda"):
    controlnet_image = pipeline(
        prompt=prompt, image=img, mask_image=mask, control_image=mask, num_images_per_prompt=1, generator=generator, num_inference_steps=20, guess_mode=False, controlnet_conditioning_scale=cond_scale
    ).images[0]
controlnet_image

项目引用

如果你觉得这个项目对你的研究或工作有帮助,请考虑引用论文:

@misc{eshratifar2024salient,
      title={Salient Object-Aware Background Generation using Text-Guided Diffusion Models}, 
      author={Amir Erfan Eshratifar and Joao V. B. Soares and Kapil Thadani and Shaunak Mishra and Mikhail Kuznetsov and Yueh-Ning Ku and Paloma de Juan},
      year={2024},
      eprint={2404.10157},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

项目维护者

许可证

此项目采用Apache 2.0开源许可证,具体信息请参阅许可证文件。

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

豆包MarsCode

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

Project Cover

AI写歌

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

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

阿里绘蛙

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

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

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

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