当 BLIP-2 遇上 Diffusion!可控图像生成的最优解,图像主题、风格任意切换,指哪改哪

news2025/2/28 5:16:39
夕小瑶科技说 原创
作者 | 智商掉了一地、ZenMoore

关于 P 图,本懒人想说的简直太多了,之前想换个背景总会把主体抠成毛边,随着最近越来越多的强大图像或多模态工具的诞生,人们在图像创作方面的技术实力越来越强大。比如,现在有许多智能 P 图工具,可以自动识别图像中的人物和背景,并将其快速地抠出。

越来越多的基于深度学习的图像生成模型也得到了发展,包括利用 GAN 进行图像生成、将文本转化为图像的模型等等。这些技术的发展,为普通人的图像创作带来了更多的可能性和创造力。而 BLIP-2 在多模态文本生成上的表现已经广为人知,当它与 Diffusion 技术结合使用时,或许会进一步提升“指哪儿改哪儿”的效果

如图1所示,最近有一篇文章利用预训练的主题表示,在有效的微调或零样本学习的情况下进行主题驱动的生成。此外,该模型还可以作为一种基础的主题驱动的文本到图像生成模型,通过与 ControlNet 和 prompt-to-prompt 等技术相结合,支持控制生成和图像编辑等应用。

图1 BLIP-Diffusion 模型的应用场景和能力

话不多说,咱们先来看看它的 demo 展示~

论文题目:
BLIP-Diffusion: Pre-trained Subject Representation for Controllable Text-to-Image Generation and Editing

论文链接:
https://arxiv.org/abs/2305.14720

Demo 地址:
https://dxli94.github.io/BLIP-Diffusion-website/

代码地址:
https://github.com/salesforce/LAVIS/tree/main/projects/blip-diffusion

大模型研究测试传送门

ChatGPT传送门(免墙,可直接测试):

https://yeschat.cn

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):

https://gpt4test.com

Demo 体验

1.主题驱动的文本-图像生成

这里有一项挑战,你能猜出哪个是真正的主题图片吗?

给定一个或几个主题的图像,该模型可以根据文本提示生成主题的新颖呈现。这个在 DreamBooth 数据集上的视觉效果,似乎已经到了能以假乱真的程度!

2.zero-shot 主题驱动的图像操作

  • 主题驱动的样式转移:通过主题嵌入插值实现新主题的创造,比如下图左边,拖动滑动条就能实现狗狗和猫咪之间的切换。
  • 主题插值:主题驱动的风格迁移,下图右边可以实现用主题图像(如火焰、花朵、玻璃瓶等)控制图片为指定风格。

3.主题驱动的图像编辑

这是首个由主题驱动的图像编辑模型,通过用一个输入参考图像指定的主题替换文本中指定的另一个主题来编辑源图像。它可以根据用户提供的主题视觉效果进行编辑无需手动 Mask。而且,编辑后的图有着较为自然的姿势、光线和风格,让图像更加逼真。这群小动物看起来真的是 Q 萌的,比起原图不止一点点可爱!!落日中的草莓蛋糕看起来似乎也没 P 图痕迹!

这也意味着用户不需要花费很多时间和精力来编辑图像,只需提供一个主题视觉效果,这个模型就能够自动地生成一个完美的、自然适合的图像,或许能为用户的图像编辑和设计需求带来很大的便利。

论文速览

如图 2 所示,BLIP-Diffusion 的预训练有两个阶段:

  1. 多模态表示学习阶段:使用 BLIP-2 进行多模态表示学习,为输入的图像产生文本对齐的视觉特征;
  2. 主题表示学习阶段:训练 Diffusion 模型,以使用 BLIP-2 的特征生成新的主题呈现,即通过组合具有随机背景的主题来合成输入图像。

图2 BLIP-DIffusion 的两阶段预训练

如图 3 所示,这样的合成对将前景主体和背景环境有效地分开,避免了主体不相关信息被编码到主题提示中。

图3

在图 4 中,BLIP-Diffusion 可以通过其他现有的可控生成技术进行即时扩展,以实现更先进的多模态可控图像生成/编辑功能。

  • 左边:将 BLIP-Diffusion 和 ControlNet 相结合,实现了结构和主题的可控制生成,这个模型保留了基础扩散模型的建模能力,并且不需要重新调整 ControlNet 参数。
  • 右边:则将协同注意力控制技术与 prompt-to-prompt 相结合,可以用于主题驱动的图像编辑,该模型在去噪步骤中演示了混合使用具有主题表示和没有主题表示的潜在映射。

图4 用 BLIP-Diffusion 技术控制图像生成

实验结果

图5 与现有技术的比较

图6 主题驱动的文本-图像生成的补充结果

表1 DreamBench 上的比较结果和样本对象的zero-shot(红色)/微调(蓝色)设置下的对齐度量

表2 消融实验结果和不同预训练 step 对主题表征学习的影响

小结

诚如作者所言,BLIP-Diffusion 表明 BLIP-2 是一种相当通用的多模态表示学习框架,与其他主题驱动的生成模型不同,BLIP-Diffusion 引入了一个新的多模态编码器它经过预训练提供主题表示。它不仅具有最先进的多模态到文本生成能力,而且灵活地与现有技术(如ControlNet 和 prompt-to-prompt)相结合,还可以解锁一系列令人印象深刻的多模态到图像生成能力。

回顾近期的诸多模型与工具,随着多模态技术的不断完善和发展,其在图像创作领域的应用潜力也随之呈现。通过将文本、图像、音频等多种信息进行融合和编码,多模态模型能够生成更加精准和丰富的图像内容。这种技术对与图像相关的行业,例如广告、设计和影视等领域,都是个好消息。也许随着时间的推移,我们可以看到更多多模态模型带来的创新和发展~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/581725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python中cwd的介绍与使用

Python中cwd的介绍与使用 在Python编程中,经常需要获取当前工作目录(current working directory,缩写为cwd),以便进行文件操作、路径拼接等操作。本文将介绍如何使用Python中的os模块和pathlib模块获取和修改cwd&…

整型在内存中的存储,整型最大值最小值的推导,以及大小端的介绍

整数在内存中的存储 我们知道C语言有以下基本的整型类型&#xff1a; char //字符型 short //短整型 int //整型 long //长整型 long long //更长的整型我们可以用操作符sizeof和在<limits.h>头文件下&#xff0c;可以查看到各基本数据类型的所占字节的大小以及整形所…

【笔记整理】常见聚类算法

【笔记整理】常见聚类算法 文章目录 【笔记整理】常见聚类算法一、均值偏移 - Mean-shift&#xff08;★★★★&#xff09;1、概述 & 图解&#xff08;“偏心”&#xff09;2、公式 & 步骤1&#xff09;基本公式&#xff08;“偏移量更新圆心”&#xff09;2&#xff…

chatgpt赋能python:Python两数相加代码:基础知识和实现方法

Python两数相加代码&#xff1a;基础知识和实现方法 简介 Python是一门高级编程语言&#xff0c;以其简洁、易读的语法和强大的库而被广泛应用于数据分析、机器学习、Web开发等领域。在这篇文章中&#xff0c;我们将介绍如何使用Python编写一个简单的两数相加代码&#xff0c…

约瑟夫环的线性解法

参考:https://www.luogu.com.cn/problem/P8671 参考:https://zhuanlan.zhihu.com/p/121159246 参考:https://blog.csdn.net/doge__/article/details/82429348 #include <bits/stdc.h> using namespace std; int n,k,s; int main(){cin>>n>>k;for(int i2;i&…

chatgpt赋能python:Python中的importmath

Python中的import math Python是一种高级编程语言&#xff0c;有众多强大的功能库可供使用。其中一个非常常用的功能库就是math。math库提供了许多用于进行数学运算的函数。在本文中&#xff0c;我们将介绍Python中的import math。 什么是import math&#xff1f; 在Python中…

chatgpt赋能python:Python中Decode函数详解:什么是Decode函数,它有什么作用?

Python中Decode函数详解&#xff1a;什么是Decode函数&#xff0c;它有什么作用&#xff1f; 介绍Decode函数 在Python编程中&#xff0c;我们经常需要处理文本数据。数据的处理可能涉及到不同的编码格式&#xff0c;比如ASCII、UTF-8、GBK等等。而Decode函数就是Python中用于…

安装并新建windows下wxwroks7.0 bootrom工程

双击steup.exe 直接next 直接next 选择typical&#xff0c;然后next I accept 安装完成finish 现在双击Workbench 4&#xff0c;新建vxworks7.0工程&#xff0c;会出现下面的情况&#xff0c;因为没有licence 安装licence&#xff0c;将zwrsLicense-vx7-perm.lic粘贴到安装目…

chatgpt赋能python:Python中的Dash框架:数据可视化新选择

Python中的Dash框架&#xff1a;数据可视化新选择 随着大数据时代的到来&#xff0c;数据可视化成为日益重要的一环。Python早已成为数据科学家和工程师的首选语言之一&#xff0c;然而如何将数据转化为可视化图表呢&#xff1f;这时候&#xff0c;Dash框架应运而生。 什么是…

AHB-to-APB Bridge——08burst_test(rdy、nrdy、slverr、tight)、地址

-------------- burst_test:与single_test不同的是&#xff0c;需要在run_phase中使用fork join 让AHB侧和APB侧同时工作&#xff08;不能等AHB都发完APB才工作&#xff09;&#xff1b;num_apb_seq为APB已传输的个数&#xff0c;当APB侧传输数据的个数&#xff0c;大于或等于A…

dbn_svm电池容量soc预测,深度信念网络DBN+支持向量机SVM的电池容量SOC预测

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) LSTM长短期神经网络的原理 DBN+SVM的时间序列电容预测 基本结构 主要参数 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,本文用DBN提取特征,用SVM分类,…

chatgpt赋能python:Python中0.0和0的相同性探究

Python中0.0和0的相同性探究 Python是一种动态且解释型的编程语言&#xff0c;被广泛应用于编写Web应用程序、数据分析、人工智能等领域。当我们在Python中进行数值比较时&#xff0c;可能会遇到这样一个问题&#xff1a;0.0和0是否相同&#xff1f;本文将会进行探究&#xff…

【Python】一个简单的小程序,实现批量修改图片格式(附完整代码及程序)

程序下载地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1ser7iEMRS54syvwl1cck1Q?pwdjr66 提取码&#xff1a;jr66 一、完整代码 如果想要测试代码&#xff0c;记得在使用前先保证已经安装了Python的PIL模块 import os from tkinter import Tk, Button, messa…

数据库基础——7.多表查询

这篇文章来讲一下数据库中的多表查询 目录 1. 一个案例引发的多表连接 1.1 案例说明 1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解 1.3 案例分析与问题解决 2. 多表查询分类讲解 2.1 等值连接 vs 非等值连接 2.1.1等值连接 2.1.2 非等值连接 2.2 自连接 vs…

chatgpt赋能python:PythonDemo:快速了解Python编程语言

Python Demo&#xff1a;快速了解Python编程语言 如果你是一个对编程感兴趣的人&#xff0c;或者正在学习编程&#xff0c;那么你一定听说过Python这个编程语言。Python是一个非常易学易用的语言&#xff0c;同时也是非常流行的语言之一。Python具有众多的库和框架&#xff0c…

从RE到RSE:聊聊无线产品EMC认证测试中的辐射项(下)

当无线产品开启个人通信时代之际&#xff0c;EUT这个载体变了&#xff0c;辐射发射测试标准要不要变&#xff1f;怎么变&#xff1f; 回答这个问题的不再是ANSI和CISPR&#xff0c;而是联合国下属机构国际电信联盟无线电通信部门&#xff08;ITU-R&#xff09;以及著名的移动通…

Django学习笔记002之resetfull应用

学习目标&#xff1a; 学习resetfull接口 掌握Django web基础设施 学习内容&#xff1a; 1.学习resetfull接口 简介 人工智能解释&#xff1a; 应用场景 以下是人工智能使用Django框架实现的restfull接口代码&#xff1a; #views.py from django.http import JsonRespon…

maven环境变量配置zsh: command not found: mvn。

在输入命令vim ~/.zshrc的时候出现下面的报错&#xff1a; 解决办法 第一步输入下面的命令vim -r 文件名&#xff08;文件名也就是第二行双引号里面的所有字母字符&#xff09; 第二步输入下面的命令rm -f xx.swp 在配置好maven的环境变量但是在输入mvn -v的时候会报错 zsh:…

浅读《简约之美-软件设计之道》

浅读《简约之美-软件设计之道》 大家好&#xff0c;我是Lampard~ 这个周末阅读了一本程序设计相关的书籍《简约之美-软件设计之道》&#xff0c;它原著是《The Science of Software Development》&#xff0c;由余晟大大翻译。 这本书只有数十页&#xff0c;和它的命名一样追求…

Linux---GUN binutils

文章目录 一、GUN binutis概述二、工具集详细说明nm指令使用size指令使用objdump指令使用addr2line指令使用readelf指令使用strip指令使用 一、GUN binutis概述 什么是GUN binutis?它是一个二进制工具集&#xff0c;默认情况下所有 Linux 发行版中都会安装这些二进制工具。实际…