【技术实现步骤摘要】
al.ediffi:Text
‑
to
‑
image
[0011]diffusionmodelswithanensembleofexpertdenoisers.arXivpreprintarXiv:2211.01324,2022.2,3
[0012][4]RobinRombach,AndreasBlattmann,DominikLorenz,PatrickEsser,andBjornOmmer.High
‑
resolutionimagesynthesiswithlatentdiffusionmodels.InCVPR,pages10684
[0013]10695,2022.2,3,7
[0014]现有的技术方案中,自
RobinRombach
提出用
stablediffusion
进行文本生成图像,到后期
RobinRombach
提出
StableDiffusionXL
,是对
stablediffuson
原先的
U
‑
Net
,
VAE
,
CLIPTextEncoder
三大件都做了改进,并增加一个单独的基于
Latent
的
Refiner
模型,来提升图像的精细化程度
。
[0015]对于
SDXL
,虽然改进
U
‑
net />网络,加了
BasicTransformerBlocks
,是由
SelfAttention
,
CrossAttention
和
FeedForward
三个组件构成,并且使用了循环残差模式,虽然增强了模型的学习和表达能力,但对于具有多样性和可控性的图像生成没有改进;在最后级联一个单独的基于
Latent
的
Refiner
模型用来提升图像的精细化程度,但这个模型是最基础的扩散模型,对于提升精细化程度作用比较小
。
技术实现思路
[0016]本专利技术提出一种基于改进的
stablediffusion
的文本生成图像的方法,在
stablediffusion
进行文本生成图像中,通过改进的
U
‑
net
网络并在图像生成之后再级联
DiffuseGAE
模型,来更好地捕捉图像的语义和结构信息,实现更具有多样性和可控性的图像生成并提高生成图像的质量
。
[0017]本专利技术所采用的技术方案是:一种基于改进的
stablediffusion
的文本生成图像的方法,包括以下步骤:
[0018]步骤1:使用提前训练好的
AutoEncoder
自编码器将图像从像素空间映射到潜在空间,学习图像的隐式表达,此时图像的大小将从
[B,C,W,H]转换为
[B,Z,H/8,W/8],其中
Z
为潜在表示向量
。
[0019]步骤2:使用
CLIP
文本编码器将提示词描述编码成一个
768
维的文本向量:
τθ
(y)。
[0020]步骤3:在潜在空间对潜在空间向量
Z
进行扩散,得到一系列扩散后的潜在空间向量
Z,Z1,...,ZT。
[0021]步骤4:将扩散后的潜在向量
ZT
作为输入,文本信息和用户提供的空间条件可以包括目标对象的边界框或者其他空间信息作为条件,进入
DBU
‑
net
网络
。
将扩散后的潜在向量
ZT
作为输入,经过卷积操作得到特征图
F
,维度为
[B,C,H/8,W/8],经过3个
ResCrossAttentionDownBlocks
,每个块中包含
timeembeddingstructure、
自注意力模块
(SelfAttention)、
双交叉注意力模块
(DualCcross
‑
Attention)
和边框约束
(Box)。
每个块的输出为经过多次下采样后的特征图,维度为
[B,C,H/(82^i),W/(82^i)],其中
i
为块的索引
(
从0开始
)。ResCrossAttentionDownBlocks
的具体操作如下,首先将时间步长信息转换为特定维度的向量,并将该向量与特征图相加得到
F
time
,然后对
F
time
进行注意力计算,公式如下:
[0022]线性变换
:
[0023]Q
=
Linear(F
time
)
[0024]K
=
Linear(F
time
)
[0025]V
=
Linear(F
time
)
[0026]相似度得分矩阵
:
[0027][0028]其中,
S_{i,j}
表示位置
(i,j)
与所有其他位置的相似度得分
。
[0029]注意力权重加权融合:
[0030][0031]将得到的注意力特征图
F
selfattention
与文本向量进行一个双交叉注意力
(DCA)
计算
。
首先通过卷积将文本向量扩展为与注意力特征图相同的维度,然后一起进行通道交叉注意力
(CCA)
操作,具体是,对注意力图
F
selfattention
进行层归一化
(LN)
操作,将将文本向量与注意力特征图沿通道维度进行拼接,得到一个新的张量
T
c
,其中
c
表示拼接的通道维度,将注意力特征图
F
selfattention
作为
Query
,而
T
c
作为
Key
和
Value
,利用深度可分离卷积对注意力特征图
F
selfattention
进行自注意力计算,公式如下:
[0032]Q
i
=
DConv1D
Qi
(F
selfattention
)K
=
DConv1D
K
(T
c
...
【技术保护点】
【技术特征摘要】
1.
一种基于改进的
stablediffusion
的文本生成图像的方法,包括以下步骤:步骤1:使用训练好的
AutoEncoder
自编码器将图像从像素空间映射到潜在空间,学习图像的隐式表达,图像的大小将从
[B,C,W,H]
转换为
[B,Z,H/8,W/8]
,其中
Z
为潜在表示向量;步骤2:使用
CLIP
文本编码器将提示词描述编码成一个
768
维的文本向量:
τθ
(y)
;步骤3:在潜在空间对潜在空间向量
Z
进行扩散,得到一系列扩散后的潜在空间向量
Z,Z1,...,ZT
;步骤4:将扩散后的潜在向量
ZT
作为输入,文本信息和用户提供的空间条件进入
DBU
‑
net
网络,将扩散后的潜在向量
ZT
作为输入,经过卷积操作得到特征图
F
,维度为
[B,C,H/8,W/8]
,经过3个
ResCrossAttentionDownBlocks
得到特征图步骤5:将特征图与用户提供的空间条件输入到
Box
模块中输出特征图步骤6:通过
U
‑
net
网络的解码器部分,生成潜在向量
ZT
‑1,继续循环执行上面的步骤,直到生成
Z
,并将
Z
通过解码器进行解码得到图像
X1
;步骤7:将图像
X1
放入到级联的
DiffuseGAE
模块中,
X1
经过
Encoder
得到初始的潜在代码
zesm
,
zsem
被传递给
GAE
进行进一步的特征解耦和控制,
GAE
的结构包括一个
Encoder
部分和一个
Decoder
部分,
Encoder
将
zsem
作为输入,并通过
MLP
块和
Bottleneck
块提取特征,
Decoder
将解耦后的特征重组为新的潜在代码
zdis
,
zdis
作为条件扩散模型的条件,对
X1
加噪完的图像
XT
进行图像生成,最后输出为图像
X。2.
如权利要求1所述的基于改进的
stablediffusion
的文本生成图像的方法,其特征在于,每个
ResCrossAttentionDownBlocks
中包括
time embedding structure、
自注意力模块
、
双交叉注意力模块和边框约束,每个块的输出为经过多次下采样后的特征图,维度为
[B,C,H/(82^i),W/(82^i)]
,其中
i
为块的索引
。3.
如权利要求2所述的基于改进的
stablediffusion
的文本生成图像的方法,其特征在于,
ResCrossAttentionDownBlocks
的操作如下,首先将时间步长信息转换为特定维度的向量,并将该向量与特征图相加得到
F
time
,然后对
F
time
进行注意力计算,公式如下:线性变换
:Q
=
Linear(F
time
)K
=
Linear(F
time
)V
=
Linear(F
time
)
相似度得分矩阵
:
其中,
S_{i,j}
表示位置
(i,j)
与所有其他位置的相似度得分,注意力权重加权融合:将得到的注意力特征图
F
selfattention
与文本向量进行一个双交叉注意力
(DCA)
计算,首先通过卷积将文本向量扩展为与注意力特征图相同的维度,然后一起进行通道交叉注意力
(CCA)
操作,具体是,对注意力图
F
selfattention
进行层归一化
(LN)
操作,将将文本向量与注意力特征图沿通道维度进行拼接,得到一个新的张量
T
c
,其中
c
表示拼接的通道维度,将注意力特征图
F
selfattention
作为
Query
,而
T
c...
【专利技术属性】
技术研发人员:王杰,姜明新,杜强,黄俊闻,项靖,洪远,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。