【文档智能】LACE:帮你自动生成文档布局的方法浅尝

前言

往期很多文章都介绍了【文档智能】上布局识别(版式分析)的技术思路,版式分析是通过对文档版式进行布局识别,识别文档中的元素类型的过程。这次来看看一个有趣的思路,通过已有的元素类型,来生成可控的文档的布局

介绍之前,先概述下一些基础的概念。

  • 可控布局生成:在图形设计(例如文档和网页设计)中创建元素的合理视觉排列的过程,同时考虑到代表设计意图的约束条件。

  • FID评价指标:FID(Fréchet Inception Distance)是一种用于评估生成模型和真实数据分布之间差异的指标。FID是通过计算两个分布之间的Fréchet距离来衡量生成模型和真实数据分布之间的差异。Fréchet距离是一种度量两个分布之间距离的方法,它考虑到了两个分布的均值和协方差矩阵,可以更好地描述两个分布之间的差异。FID作为一种评估指标,被广泛用于生成模型的训练和评估中。它可以帮助我们更准确地评估生成模型的质量,并选择更好的生成模型。同时,FID也是一种客观的评估指标,可以避免人为主观因素对评估结果的影响。

  • 布局生成扩散模型架构

    标准 Transformer 模型通常不直接处理时间序列数据,但布局生成扩散模型需要考虑时间因素,因为扩散过程是时间依赖的。因此,模型通过时间嵌入将时间信息编码到模型中。

背景

现有的扩散模型在处理布局属性时,要么将它们视为离散变量,要么视为连续变量,并且在数据损坏过程中使用基于类别和高斯噪声的机制。这些不同的损坏机制在生成过程中产生不同的模式。具体来说,离散扩散从空白画布开始,逐步添加元素,而连续扩散则从随机布局开始,并随着时间的推移将其细化为有组织的布局,这在建模方面更加灵活。

连续扩散和离散扩散中潜在状态在布局生成中的比较

然而,尽管扩散模型在 FID 分数上取得了最先进的成绩,但它们在对齐和最大交并比(MaxIoU)分数上的表现通常不如早期的基于 Transformer 的模型,尤其是在无条件生成方面。这些指标可以用于在连续扩散模型中的约束优化,以提高布局的美学质量。但是,由于量化几何属性的不可微性,离散模型无法利用这一优化潜力。相比之下,连续扩散模型在任务统一方面面临挑战,因为高斯分布的样本空间和数据分布(画布范围和概率单纯形)是不同的。

为了解决这些问题,提出一个统一的模型-LACE,旨在连续空间中生成各种任务的几何和分类属性。LACE 模型采用连续扩散模型作为基础,并引入了可微的美学约束函数来增强模型性能。此外,还设计了全局对齐损失成对重叠损失,这些在训练和后处理阶段作为约束函数

一、方法

1.1 连续扩散模型

连续扩散模型是一种生成模型,它通过一个正向和逆向的马尔可夫过程来描述数据的生成过程。

训练目标(损失函数):

1.2 连续布局生成

连续布局生成是指在布局元素的生成过程中,使用连续的变量来表示元素的属性,如大小和位置,而不是将它们离散化到固定的几个选项中。这种方法允许模型在更精细的粒度上进行控制,从而提高生成布局的质量和灵活性。

  • 布局的定义与表示

    布局由多个元素组成,每个元素由类别标签 $ c_i $和边界框 $ b_i 定义。其中, 定义。其中, 定义。其中, c_i $ 表示元素类型,$ b_i $ 由中心坐标$ (x, y) $和大小比例(宽高比)定义。

  • 布局的连续变量表示

    与传统的离散扩散方法不同,本方法将边界框属性视为连续的大小和位置比例,范围从 0 到 1。这允许模型在更大的搜索空间内优化美学质量。

  • 条件生成

    为了处理条件生成任务,作者采用条件掩码作为数据增强手段,通过掩码固定部分元素的标签或大小属性,或者固定所有属性。

1.3 重建和美学约束

引入重建损失以鼓励模型在每个时间步骤上合理预测原始数据。总损失由简化损失 $ L_{simple} $ 和重建损失 $ L_{rec} $ 组成:

L = L s i m p l e + L r e c L=L_{simple}+L_{rec} L=Lsimple+Lrec

重建损失函数改进:为了解决全局对齐和重叠问题,在重建损失中加入了全局对齐约束重叠约束两种美学约束

  • 对齐约束

    对齐损失用于评估布局元素之间的对齐情况,定义了六种对齐类型:左对齐 (L)、水平中心对齐 (XC)、右对齐 ®、顶部对齐 (T)、垂直中心对齐 (YC)、底部对齐 (B)。

  • 重叠约束

    防止生成布局中的元素重叠,使用均值成对交并比损失函数。

  • 时间依赖的约束权重

    由于约束函数在参数空间内引入了许多局部最小值,直接在嘈杂的布局上应用对齐和重叠损失会阻碍准确的重建,为了缓解这个问题,引入了时间依赖的约束权重。

    展示了正向过程中的时间依赖约束权重和平均成对交并比(Mean Pairwise IoU)

    在逆向过程中,布局的粗糙结构已经显现

    只在较小的时间$ t $ 下实施约束,以便在噪声较低的预测 $( \tilde{x}_0 ) $中微调不对齐的坐标。根据经验选择了 $ \omega_t = (1 - \bar{\alpha}_t) $作为常数 β 计划的约束权重系列。约束权重系列的 β 计划被设定为,当 $ t $较小且损坏过程尚未引入太多重叠时,权重激活约束。

二、实验

2.1 定量结果

2.2 LACE 和 LayoutDM 在条件生成任务中的定性比较

局限性及展望

尽管 LACE 在布局生成方面展示了进步,但它有一些限制。首先,它将布局元素限制为矩形形状,限制了表示的灵活性。此外,它缺乏背景和内容意识。该模型还仅处理有限数量的元素,并依赖标签集。这些限制可能限制了其在复杂、多样化设计场景中的应用。未来的工作可以采用任意形状更好地反映现实世界图形设计场景,因为大多数现有工作依赖于矩形框来表示元素。

参考文献

  • paper:TOWARDS ALIGNED LAYOUT GENERATION VIA DIFFUSION MODEL WITH AESTHETIC CONSTRAINTS,https://arxiv.org/pdf/2402.04754
  • code:https://github.com/puar-playground/LACE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

赠你一只金色的眼 - 富集分析和表达数据可视化

GOplot包介绍 GOplot包用于生物数据的可视化。更确切地说,该包将表达数据与功能分析的结果整合并进行可视化。但是要注意该包不能用于执行这些分析,只能把分析结果进行可视化。在所有科学领域,由于空间限制和结果所需的简洁性,切…

Agent如何帮助大模型“增强记忆”?

Agent如何帮助大模型“增强记忆”? 原创 格林 神州问学 2024年07月08日 17:50 日本 记忆反馈 >规划? 来源|神州问学 引言 去年6月份,Lilian发布了关于LLM驱动的Agent的结构和组件,其中包括规划、行动、工具还有记忆&#xff…

带有子节点的树状表的父节点拖动排序#Vue3#Sortable插件

带有子节点的树状表的父节点拖动排序#Vue3#Sortable插件 使用Sortable插件这里要保证获取到的是父节点的下标&#xff0c;属性newDraggableIndex获取到的就是只有父节点的下标。设置子节点不能被拖动&#xff0c;最后在逐个调用接口进行数据库中顺序的更新。 <template>…

【Python】已解决:SyntaxError: invalid character in identifier

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;SyntaxError: invalid character in identifier 一、分析问题背景 在Python编程中&#xff0c;SyntaxError: invalid character in identifier是一个常见的编译…

面经-计算机网络-数据结构-堆

1.什么是堆 堆是一种满足以下条件的树&#xff1a; 堆中的每一个节点值都大于等于&#xff08;或小于等于&#xff09;子树中所有节点的值。或者说&#xff0c;任意一个节点的值都大于等于&#xff08;或小于等于&#xff09;所有子节点的值。 2.堆的用途 当我们只关心所有数…

tk Text文本框赋值,清空

import tkinter as tk# 创建主窗口 root tk.Tk() root.title("文本框内容赋值示例")# 创建一个Text小部件 text_area tk.Text(root, height10, width50) text_area.pack()# 将内容赋值给Text小部件 text_area.insert(tk.END, "这是文本框中的内容。\n")#…

android CameraX构建相机拍照

Android CameraX 是一个 Jetpack 支持库&#xff0c;旨在简化相机应用的开发工作。它提供了一致且易用的API接口&#xff0c;适用于大多数Android设备&#xff0c;并可向后兼容至Android 5.0&#xff08;API级别21&#xff09;。 CameraX解决了在多种设备上实现相机功能时所遇…

26.5 Django模板层

1. 模版介绍 在Django中, 模板(Templates)主要用于动态地生成HTML页面. 当需要基于某些数据(如用户信息, 数据库查询结果等)来动态地渲染HTML页面时, 就会使用到模板.以下是模板在Django中使用的几个关键场景: * 1. 动态内容生成: 当需要根据数据库中的数据或其他动态数据来生…

linux使用chattr与lsattr设置文件/目录防串改

背景 linux服务器下,防止某个文件/目录被串改(增删改),可以使用chattr与lsattr设置,这是一种保护机制,用于防止意外地修改或删除重要的文件内容。 chattr与lsattr使用 1.设置目录 图中/tmp/zhk,设置目录属性文件可能被设置为不可更改(immutable)或者只追加(append …

1.Frida框架-Frida环境搭建

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;微尘网校 前置条件&#xff1a;需要科学上网 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F…

python—读写csv文件

目录 csv库方法参数 读取数据 csv.reader方法 文件指定行或列数据读取操作 txt文件的readlines、read方法 csv.DictReader方法 写入数据 txt文件的write&#xff0c;writelines csv.writer方法 csv.DictWriter方法 读写联合(修改及插入数据) 读写csv 文件时&#xf…

【Notepad】Notepad_6.3.1 的中文版安装详情

目录 &#x1f33c;1. Notepad的认识 &#x1f33c;2. Notepad中文版安装详情 &#x1f33c;1. Notepad的认识 Notepad 是 Windows 操作系统中的一个文本编辑器程序&#xff0c;通常用于创建和编辑简单的文本文件&#xff0c;如文本文档 (.txt)。它非常轻量且功能简单&#…

【本地docker启动私有大模型】

一、最终效果 中英文对话 生成代码 二、资源配置 本文选择的模型运行内存需要 4G&#xff0c;因此宿主机建议内存大于8G&#xff0c;CPU建议 6 核以上&#xff1b; 参考博主该mac配置可以相对流畅运行。只需要 CPU资源&#xff0c;不需要 GPU。 三、搭建步骤 启动docker容…

Msfvenom制作自己的专属Shell

Msfvenom制作自己的专属Shell 如何通过Msfvenom来生成用户自己的专属Shell?有时候我们上传Shell到目标主机后&#xff0c;不仅我们自己可以连接&#xff0c;其他用户也可以连接&#xff0c;有时候会导致我们丢失该Shell&#xff0c;甚至该shell被用户发现并查杀。 实验环境 …

如何在 SwiftUI 中开发定制 MapKit 功能

文章目录 介绍地图样式imagery-map 地图交互地图控件总结 介绍 在上一篇文章中&#xff0c;我们探讨了 SwiftUI 中新的 MapKit API 的基础知识。现在&#xff0c;让我们深入 MapKit API 的定制点&#xff0c;以便根据我们的需求定制地图呈现。 地图样式 新的 MapKit API 引入…

LabVIEW开发阀门自动校准装置

1. 装置概述与目标 在工业和实验室环境中&#xff0c;阀门的准确性和稳定性对于流体控制和实验数据的可靠性非常重要。LabVIEW可以作为开发阀门自动校准装置的理想工具&#xff0c;提供高度可定制化的解决方案。 2. 硬件与设备选择 型号选择&#xff1a;为了实现阀门自动校准…

这8款宝藏软件,才是安卓手机必装App!

​AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 1.我的日记——My Diary My Diary 是一款带锁的免费安卓日记工具。 它可用于记录每日日记、秘密想法、旅程、心情追踪或任何私人时刻。 你可…

☺初识c++(语法篇)☺

目录 一命名空间&#xff08;namespace&#xff09;&#xff1a; 二cout与cin简述&#xff1a; 三缺省参数&#xff1a; 四函数重载&#xff1a; 五引用&#xff1a; 六内联函数: 七c中的nullptr简述&#xff1a; 一命名空间&#xff08;namespace&#xff09;&#xff1…

源码编译安装 LAMP

源码编译安装 LAMP Apache 网站服务基础Apache 简介安装 httpd 服务器 httpd 服务器的基本配置Web 站点的部署过程httpd.conf 配置文件 构建虚拟 Web 主机基于域名的虚拟主机基于IP 地址、基于端口的虚拟主机 MySQL 的编译安装构建 PHP 运行环境安装PHP软件包设置 LAMP 组件环境…

住宅代理、移动代理和数据中心代理之间的区别

如果您是一名认真的互联网用户&#xff0c;可能需要反复访问某个网站或服务器&#xff0c;可能是为了数据抓取、价格比较、SEO 监控等用例&#xff0c;而不会被 IP 列入黑名单或被 CAPTCHA 阻止。 代理的工作原理是将所有传出数据发送到代理服务器&#xff0c;然后代理服务器将…