前言
要开组会了,随便讲个凑数吧。
参考论文 https://arxiv.org/html/2303.17189?
什么是layout数据?
像下图这样,Layout是每个图片的布局,其中包含一些物体的相应边界框和类别

layout信息如何整合表示并作为条件加入到网络中去的?
a. layout信息包含内容
布局 l={o1,o2,⋯ ,on}l = \{o_1, o_2, \cdots, o_n\}l={o1,o2,⋯,on} 是一组 nnn 对象。
每个对象 oio_ioi 被表示为 oi={bi,ci}o_i = \{b_i, c_i\}oi={bi,ci},
其中 bi=(x0i,y0i,x1i,y1i)∈[0,1]4b_i=(x_0^i, y_0^i, x_1^i, y_1^i) \in [0, 1]^4bi=(x0i,y0i,x1i,y1i)∈[0,1]4 表示边界框(bbox),
并且 ci∈[0,C+1]c_i \in [0, \mathcal{C}+ 1]ci∈[0,C+1] 是其类别id。
b.将layout填充为一个固定长度的序列
将 lll 填充到固定长度的 kkk 中,方法是将 olo_lol 在前面,一些填充 opo_pop 在最后,
其中 olo_lol 表示存在这个对象,opo_pop 表示不存在这个对象。
比如 bl=(0,0,1,1)b_l=(0,0,1,1)bl=(0,0,1,1)、cl=0c_l = 0cl=0 表示覆盖整个图像的对象,
而bp=(0,0,0,0)b_p=(0,0,0,0)bp=(0,0,0,0)、cp=C+1c_p = \mathcal{C} + 1cp=C+1 表示没有形状或不出现在图像中的空对象。
最终填充完成后就是一个由 kkk 个对象组成的填充的 l={o1,o2,⋯ ,ok}l = \{o_1, o_2, \cdots, o_k\}l={o1,o2,⋯,ok}。
c.将序列转变为矩阵
通过投影矩阵 Wb∈R4×dzW_b \in \mathbb{R}^{4 \times d_z}Wb∈R4×dz 和 Wc∈R1×dzW_c \in \mathbb{R}^{1 \times d_z}Wc∈R1×dz ,
用公式
BL=bWBCL=cWCL=BL+CL
B_{L} = b W_{B} \\
C_{L} = c W_{C} \\
L = B_{L} + C_{L} \\
BL=bWBCL=cWCL=BL+CL
将布局 lll 变换为布局嵌入 L={O1,O2,⋯ ,Ok}∈Rk×dzL = \{O_1, O_2, \cdots, O_k\} \in \mathbb{R}^{k \times d_z}L={O1,O2,⋯,Ok}∈Rk×dz。
d.使用transfomer嵌入到unet网络中。
L′=LFM(L)L'=LFM(L)L′=LFM(L),其中输出 L′={O1′,O2′,⋯ ,Ok′}∈Rk×dzL' = \{O'_1, O'_2, \cdots, O'_k\} \in \mathbb{R}^{k \times d_z}L′={O1′,O2′,⋯,Ok′}∈Rk×dz
LFM是基于多层自注意力机制的模块。
最终这4个步骤从下图可以看出来。


455

被折叠的 条评论
为什么被折叠?



