自动布局生成是我之前做banner生成中非常重要的一步,好的布局是成功的一半,在19年之前甚至更早时间,我们做这块主要是对标阿里的鹿班,那时候的技术方案主要是我之前发的smartbanner中,基本还是要靠模板以及相应的pipeline上的串联来达到生成的目的,是相对较长的链路,通常来说,算法自动生成的布局不可用性太高,自由度太大。布局生成以往主要还是通过GAN来做,比如layoutgan等,我们之前还是主要由模板等传统的约束逻辑来做,本文是基于diffusion model来做的,这块阿里妈妈也有很多落地的应用,还是能够很大程度上节省人力的。
1.introduction
布局生成任务考虑元素排列,每个元素都有一组属性,例如类别、位置或大小,根据任务的设置,可能会有可选的控制输入来指定部分元素或属性。
2.related work
2.1 layout generation
最近的布局生成方法考虑了无条件生成和在不同设置下的条件生成,例如类别或尺寸,关系约束,元素组成,细化等条件生成,将多个任务放在单个模型中。
2.2 discrete diffusion models
VQDiffusion
3.LayoutDM
在第一行中,layoutdm在离散状态空间中训练,从空白图逐步生成完整布局,在二行中,在抽样过程中,可以引导layoutdm执行各种条件生成任务,无需额外的训练或者外部模型。
3.1 Preliminary:discrete diffusion models
3.2 unconditional layout generation
一个布局是由l={(c1,b1),....(ce,be)}表示的元素集合,e是布局中元素的总数,c=(1...c)是布局中第i个元素的分类信息,bi是第i个元素的边界框,使用归一化坐标表示,中心点坐标和宽高。将布局生成视为生成token序列的方法。
在forward step中破坏布局,在reverse steps考虑所有元素和模态的方式去去噪布局,即重建布局。
layoutdm中的forward和reverse过程,从右往左是加噪过程,图像被添加噪声直到变成mask图片,从左往右是去噪图片,即重建布局。
3.3 conditional generation
在推理时,使用冻结layoutdm权重解决条件布局生成任务,在推理过程中向初始状态和采样状态中注入条件信息,不去修改去噪网络。