[AIGC知识] layout理解

发布于:2025-02-11 ⋅ 阅读:(84) ⋅ 点赞:(0)

前言

要开组会了,随便讲个凑数吧。
参考论文 https://arxiv.org/html/2303.17189?

什么是layout数据?

像下图这样,Layout是每个图片的布局,其中包含一些物体的相应边界框和类别
在这里插入图片描述

layout信息如何整合表示并作为条件加入到网络中去的?

a. layout信息包含内容

布局 l = { o 1 , o 2 , ⋯   , o n } l = \{o_1, o_2, \cdots, o_n\} l={o1,o2,,on} 是一组 n n n 对象。
每个对象 o i o_i oi 被表示为 o i = { b i , c i } o_i = \{b_i, c_i\} oi={bi,ci}
其中 b i = ( x 0 i , y 0 i , x 1 i , y 1 i ) ∈ [ 0 , 1 ] 4 b_i=(x_0^i, y_0^i, x_1^i, y_1^i) \in [0, 1]^4 bi=(x0i,y0i,x1i,y1i)[0,1]4 表示边界框(bbox),
并且 c i ∈ [ 0 , C + 1 ] c_i \in [0, \mathcal{C}+ 1] ci[0,C+1] 是其类别id。

b.将layout填充为一个固定长度的序列

l l l 填充到固定长度的 k k k 中,方法是将 o l o_l ol 在前面,一些填充 o p o_p op 在最后,
其中 o l o_l ol 表示存在这个对象, o p o_p op 表示不存在这个对象。
比如 b l = ( 0 , 0 , 1 , 1 ) b_l=(0,0,1,1) bl=(0,0,1,1) c l = 0 c_l = 0 cl=0 表示覆盖整个图像的对象,
b p = ( 0 , 0 , 0 , 0 ) b_p=(0,0,0,0) bp=(0,0,0,0) c p = C + 1 c_p = \mathcal{C} + 1 cp=C+1 表示没有形状或不出现在图像中的空对象。
最终填充完成后就是一个由 k k k 个对象组成的填充的 l = { o 1 , o 2 , ⋯   , o k } l = \{o_1, o_2, \cdots, o_k\} l={o1,o2,,ok}

c.将序列转变为矩阵

通过投影矩阵 W b ∈ R 4 × d z W_b \in \mathbb{R}^{4 \times d_z} WbR4×dz W c ∈ R 1 × d z W_c \in \mathbb{R}^{1 \times d_z} WcR1×dz
用公式
B L = b W B C L = c W C L = B L + C L B_{L} = b W_{B} \\ C_{L} = c W_{C} \\ L = B_{L} + C_{L} \\ BL=bWBCL=cWCL=BL+CL
将布局 l l l 变换为布局嵌入 L = { O 1 , O 2 , ⋯   , O k } ∈ R k × d z L = \{O_1, O_2, \cdots, O_k\} \in \mathbb{R}^{k \times d_z} L={O1,O2,,Ok}Rk×dz

d.使用transfomer嵌入到unet网络中。

L ′ = L F M ( L ) L'=LFM(L) L=LFM(L),其中输出 L ′ = { O 1 ′ , O 2 ′ , ⋯   , O k ′ } ∈ R k × d z L' = \{O'_1, O'_2, \cdots, O'_k\} \in \mathbb{R}^{k \times d_z} L={O1,O2,,Ok}Rk×dz
LFM是基于多层自注意力机制的模块。

最终这4个步骤从下图可以看出来。
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到