当前位置: 首页 > article >正文

[AIGC知识] layout理解

前言

要开组会了,随便讲个凑数吧。
参考论文 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个步骤从下图可以看出来。
在这里插入图片描述


http://www.kler.cn/a/449337.html

相关文章:

  • Canoe E2E校验自定义Checksum算法
  • 【杂谈】-为什么Python是AI的首选语言
  • OpenCV相机标定与3D重建(26)计算两个二维点集之间的部分仿射变换矩阵(2x3)函数 estimateAffinePartial2D()的使用
  • Hmsc包开展群落数据联合物种分布模型分析通用流程(Pipelines)
  • Unity中有什么情况下是需要用UniTask替代其他异步方式的吗?
  • NLP 中文拼写检测开源-01-基于贝叶斯公式的拼写检查器 CSC
  • istio-proxy不打印访问日志怎么解决?
  • 最长公共子序列【东北大学oj数据结构10-3】C++
  • 我的PHP学习之路:经验分享与建议
  • leetcode-15.三数之和-day15(debug中...)
  • 【PythonGui实战】自动摇号小程序
  • 数据结构与算法学习笔记----质数
  • Rocky DEM tutorial6_High pressure grinding roll_高压辊磨机
  • DCDC Buck模式的电感值参数计算
  • 如何高效利用Python爬虫按关键字搜索苏宁商品
  • CSPM认证最推荐学习哪个级别?
  • 解决react 路由切换,页面闪屏的bug
  • 复习打卡大数据篇——Hadoop HDFS 02
  • 流年运势API接口_解析个人命理十年大运PHP实现方法返回json数据
  • virtualbox7 使用 自带的nat网络配置 解决虚机上网问题
  • Qt中的QProcess与Boost.Interprocess:实现多进程编程
  • Opencv之对图片的处理和运算
  • 【初阶数据结构与算法】八大排序算法之交换排序(冒泡排序,快速排序---hoare、挖坑法、lomuto双指针3种版本)
  • RCE 命令执行漏洞 过滤模式 基本的过滤问题 联合ctf题目进行实践
  • 【蓝桥杯——物联网设计与开发】拓展模块4 - 脉冲模块
  • CentOS7网络配置,解决不能联网、ping不通外网、主机的问题