CN117058491B - 基于递归神经网络的结构化网格布局生成方法及设备 - Google Patents
基于递归神经网络的结构化网格布局生成方法及设备 Download PDFInfo
- Publication number
- CN117058491B CN117058491B CN202311318101.9A CN202311318101A CN117058491B CN 117058491 B CN117058491 B CN 117058491B CN 202311318101 A CN202311318101 A CN 202311318101A CN 117058491 B CN117058491 B CN 117058491B
- Authority
- CN
- China
- Prior art keywords
- layout
- training
- structured grid
- tree
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000000306 recurrent effect Effects 0.000 title claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 33
- 238000012549 training Methods 0.000 claims abstract description 146
- 239000013598 vector Substances 0.000 claims abstract description 99
- 230000008447 perception Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于递归神经网络的结构化网格布局生成方法及设备,方法包括获取训练结构化网格布局的训练布局树;将训练布局树输入初始生成网络模型中的递归编码模块,得到训练潜在编码向量;将训练潜在编码向量输入变分自编码器生成感知编码向量;将感知编码向量输入初始生成网络模型中的递归解码模块得到预测布局树;基于训练布局树和预测布局树训练初始生成网络模型,得到生成网络模型;基于生成网络模型生成结构化网格布局。本申请中的生成网络模型以递归方式自下而上的将结构化网格布局嵌入到潜在编码空间,以学***面布局,提高了网格布局的生成能力。
Description
技术领域
本申请涉及计算机图像学技术领域,特别涉及一种基于递归神经网络的结构化网格布局生成方法及设备。
背景技术
二维布局(2D Layout)指的是元素在场景或者文档中的抽象定位,布局可以包括文档、杂志、海报、图形用户界面(GUI)等不同的类型,被广泛应用于包装、广告、活动邀请和个人网站等等。在二维布局生成过程中,在生成布局过程中忽略了元素间全局关系或者多个元素间的相互关系,这使得生成方法在布局变化较大的数据集(如杂志数据集)上的生成能力较差。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种基于递归神经网络的结构化网格布局生成方法及设备。
为了解决上述技术问题,本申请实施例第一方面提供了一种基于递归神经网络的结构化网格布局生成方法,所述基于递归神经网络的结构化网格布局生成方法包括:
获取预设训练数据集中的训练结构化网格布局的训练布局树;
将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量;
将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量;
将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树;
基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型;
基于所述生成网络模型,生成结构化网格布局。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述递归编码模块包括几何编码器、类别编码器、元素编码器以及排列编码器,所述几何编码器和类别编码器均与所述元素编码器相连接,所述元素编码器用于对训练布局树中的叶子节点进行编码,所述排列编码器用于对训练布局树中的分支节点进行编码,其中,所述排列编码器包括水平排列编码器、垂直排布编码器以及堆叠排布编码器。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述递归编码模块包括几何解码器、类别解码器、元素解码器、排列解码器以及辅助分类器,所述几何解码器和类别解码器均与所述元素编解码器相连接,所述元素解码器用于对训练布局树中的叶子节点进行编码,所述排列解码器用于对训练布局树中的分支节点进行编码,其中,所述排列解码器包括水平排列解码器、垂直排布解码器以及堆叠排布解码器,所述辅助分类器包括节点类型分类器和孩子判别器。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述生成网络模型对应的损失函数包括几何损失项、节点类别损失项、语义类别损失项、孩子节点判别损失项和训练潜在编码向量的散度损失项。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述获取预设训练数据集中的训练结构化网格布局的训练布局树具体包括:
对于预设训练数据集中的训练结构化网格布局,采用水平和垂直递归拆分方式拆分将训练结构化网格布局划分为若干布局元素,并获取各布局元素间的排列关系;
基于所述若干布局元素以及排列关系生成训练布局树,其中,所述训练布局树中的叶子节点用于布局元素的几何信息以及节点类型,所述训练布局树中的分支节点用于存储布局元素间的排列关系以及节点类型。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述布局元素的几何信息包括布局元素的位置信息以及尺寸信息,作为训练布局树中的第一个子节点的布局元素的位置信息为相对于训练结构化网格布局的包围盒的位置,作为训练布局树中的其余子节点的布局元素的位置信息为相对于其左邻右舍节点的位置信息。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述基于所述生成网络模型,生成结构化网格布局具体包括:
获取用于生成结构化网格布局的潜在编码向量;
基于所述潜在编码向量输入所述生成网络模型中的递归解码模块,通过递归解码模块结构化布局树;
基于所述结构化布局树生成结构化网格布局。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述获取用于生成结构化网格布局的潜在编码向量具体包括:
在所述生成网络模型对应的潜在编码空间中进行随机采样,以得到用于生成结构化网格布局的潜在编码向量。
所述的基于递归神经网络的结构化网格布局生成方法,其中,所述获取用于生成结构化网格布局的潜在编码向量具体包括:
获取第一结构化网格布局和第二结构化网格布局;
获取所述第一结构化网格布局对应的第一布局树和所述第二结构化网格布局对应的第二布局树;
将所述第一布局树和所述第二布局树分别输入所述生成网络模型中的递归编码模块,通过所述递归编码模块确定第一布局树对应的第一潜在编码向量和所述第二布局树对应的第二潜在编码向量;
基于所述第一潜在编码向量和所述第二潜在编码向量,确定用于生成结构化网格布局的潜在编码向量。
本申请实施例第二方面提供了一种终端设备,其包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上任一所述的基于递归神经网络的结构化网格布局生成方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种基于递归神经网络的结构化网格布局生成方法及设备,所述方法包括获取预设训练数据集中的训练结构化网格布局的训练布局树;将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量;将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量;将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树;基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型;基于所述生成网络模型,生成结构化网格布局。本申请中的生成网络模型以递归方式自下而上的将结构化网格布局嵌入到潜在编码空间,以学***面布局,这样可以提高网格布局的生成能力,特别是对于布局变化较大的数据集。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的基于递归神经网络的结构化网格布局生成方法的流程图。
图2为一个训练结构化网格布局的示意图。
图3为图2对应的训练布局树的示意图。
图4为图3的层次结构示意图。
图5为训练结构化网格布局的整体布局示意图。
图6为垂直划分的节点相对位置关系示意图。
图7为水平划分的节点相对位置关系示意图。
图8为堆叠划分的节点相对位置关系示意图。
图9为生成网络模型的工作原理示意图。
图10为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种基于递归神经网络的结构化网格布局生成方法及设备,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,二维布局(2D Layout)指的是元素在场景或者文档中的抽象定位,布局可以包括文档、杂志、海报、图形用户界面(GUI)等不同的类型,被广泛应用于包装、广告、活动邀请和个人网站等等。在二维布局生成过程中,在生成布局过程中忽略了元素间全局关系或者多个元素间的相互关系,这使得生成方法在布局变化较大的数据集(如杂志数据集)上的生成能力较差。
为了解决上述问题,在本申请实施例中,获取预设训练数据集中的训练结构化网格布局的训练布局树;将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量;将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量;将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树;基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型;基于所述生成网络模型,生成结构化网格布局。本申请中的生成网络模型以递归方式自下而上的将结构化网格布局嵌入到潜在编码空间,以学***面布局,这样可以提高网格布局的生成能力,特别是对于布局变化较大的数据集。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种基于递归神经网络的结构化网格布局生成方法,所述方法可以应用版面生成(如,自动生成杂志版面等),也可以是应用于界面生成(如,自动生成app的显示界面等)。如图1所示,所述方法包括:
S10、获取预设训练数据集中的训练结构化网格布局的训练布局树。
具体地,训练布局树为依据训练结构化网格布局中的元素关系转换得到的普通树结构,其中,训练布局树包括分支节点和叶子节点,分支节点用于存储训练结构化网格布局中的布局元素间的排列关系,叶子节点用于存储训练结构化网格布局中的布局元素,并且一个父节点可以对应有多个字节点。例如,如图2所示的训练结构化网格布局对应的训练布局树为如图3所示的布局树,图3中最下排的两个叶子节点表示图2中的两个布局元素,最下排的两个叶子节点连接的分支节点表示这两个叶子节点间的排列关系,其中,V表示垂直关系,H表示水平关系,S表示堆叠关系。
在本申请实施例中,所述获取预设训练数据集中的训练结构化网格布局的训练布局树具体包括:
S11、对于预设训练数据集中的训练结构化网格布局,采用水平和垂直递归拆分方式拆分将训练结构化网格布局划分为若干布局元素,并获取各布局元素间的排列关系;
S12、基于所述若干布局元素以及排列关系生成训练布局树。
具体地,在步骤S11中,水平和垂直递归拆分方式可以先按照垂直方向进行拆分,然后再对于拆分得到的每个组成部分按照水平方向拆分,或者是,先按照水平方向进行拆分,然后再对于拆分得到的每个组成部分按照垂直方向拆分等。在本申请实施例中,采用水平和垂直递归拆分方式拆分将训练结构化网格布局划分为若干布局元素具体为先将全部元素沿垂直方向拆分得到若干子元素,然后对于包含有多个布局元素的子元素按照水平方向拆分,以拆分得到若干布局元素以及各布局元素之间的排列关系。此外,值得说明的是,当包含有多个布局元素的子元素无法拆分时,判定为该子元素包含堆叠元素,对于包含堆叠元素的子元素可以将子元素中的最大元素作为一个布局元素,然后对剩余元素进行递归划分,也可以是将子元素中的最小元素作为一个布局元素,然后对剩余元素进行递归划分。在本实施例中,将子元素中的最大元素作为一个布局元素,然后对剩余元素进行递归划分,直至所有元素均被分离。
举例说明:如图2所示的训练结构化网格布局,将全部元素沿垂直方向拆分成三个子元素,分别记为子元素a、子元素b和子元素c,其中,子元素a包括一个布局元素,子元素b和子元素c包含多个布局元素。分别将子元素b和子元素c沿着水平方向进行拆分,其中,子元素b被拆分为两个布局元素,子元素c被拆分为一个布局元素和一个包含有多个元素的子元素d。子元素d无法按照垂直方向或者水平方向进行拆分,从而判定子元素d包含有堆叠元素。将子元素d包括两个布局元素,将子元素d按照堆叠方式拆分为两个布局元素,完成对图2所示的训练结构化网格布局得到如图3所示的训练布局树,其中,如图3所示的训练布局树可以表示如图4所示的层次结构。
进一步,在步骤S12中,在获取到所有布局元素和排列关系后,采用叶子节点表示布局元素,采用分支节点表示元素的排列关系,按照布局元素间的排列关系构建训练布局树,并为训练布局树中的每个节点配置节点信息。其中,叶子节点配置的节点信息包括布局元素的几何信息和节点类型,分支节点配置的节点信息包括排列关系以及节点类型。也就是说,训练布局树中的叶子节点用于布局元素的几何信息以及节点类型,所述训练布局树中的分支节点用于存储布局元素间的排列关系以及节点类型。
排列关系按照训练结构化网格布局的划分方式包括水平排列H、垂直排列V和堆叠排列S,节点类型按照训练结构布局中的各节点作用划分为排列类型和元素类型,其中,排列类型为用于存储排列关系的节点,元素类型为用于存储布局元素的几何信息的节点。所述几何信息包括布局元素的尺寸信息和布局元素的位置信息,尺寸信息用于反映布局元素的大小,位置信息用于放映布局元素在训练结构化网格布局中的位置。由此,几何信息可以表示为(x,y,w,h),其中,x和y是布局元素的边界框左上角的位置坐标,w和h是节点宽高的相对大小。当然,在实际应用中,x和y也可以为布局元素的边界框其他位置的坐标,例如,中心点坐标,右上角坐标等。
在本申请实施例中,几何信息中的布局元素的位置信息为布局元素的边界框左上角坐标,其中,边界框左上角坐标可以为绝对位置坐标,也可以是相对位置坐标。本申请实施例为了更好地捕捉排列模式以及节点之间的相对位置关系,几何信息中存储布局元素的相对位置,其中,训练布局树中的第一个孩子的位置信息是相对于父母的位置信息,其他孩子的位置信息是相对于左邻右舍的兄弟姐妹的位置信息,第一个孩子指的是每次划分时被第一个作为叶子节点的布局元素。此外,为了更便于确定相对位置,可先将子节点的几何图形和其父节点的几何图形归一化。
举例说明:图6中的1号孩子的边界框左上角坐标相对于其父节点的边界框左上角坐标,2号孩子的边界框左上角坐标相对于1号孩子的边界框左上角坐标,3号的边界框左上角坐标相对于2号孩子的边界框左上角坐标,其中,图5中的1号孩子的父节点的边界框为图5中的训练结构网格布局的边界框。图7中的3号孩子的边界框左上角坐标相对于2号孩子的边界框左上角坐标。图8中的2号孩子的边界框左上角坐标相对于1号孩子的边界框左上角坐标。
S20、将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量。
具体地,递归编码模块用于对训练布局树进行递归编码,其中,递归编码是根据训练布局树中的各节点间的排列关系进行的。例如,如图4所示的训练布局树,会按照从叶子节点到根节点的顺序依次编码,即如图9所示,先并行对第一分支、第二分支和第三分支的叶子节点进行编码,然后第二分支的叶子节点编码后,基于作为分支节点S的子节点的叶子节点的编码向量对分支节点S进行编码,然后再基于作为分支节点H的子节点的分支节点S和叶子节点的编码向量对分支节点H进行编码;第三分支的叶子节点编码后,基于节奏节点的编码向量对分支节点H进行编码,最好基于作为分支节点V的子节点的两个分支节点H和一个叶子节点的编码项对分子节点V进行编码,以得到训练潜在编码向量。
在本实施例中,由于叶子节点存储的布局元素的几何信息和节点信息,分支节点存储的是排列关系,并且排列关系包括水平排列、垂直排列和堆叠排列。从而,如图9所示,所述递归编码模块包括几何编码器、类别编码器、元素编码器以及排列编码器,所述几何编码器和类别编码器均与所述元素编码器相连接,所述元素编码器用于对训练布局树中的叶子节点进行编码,所述排列编码器用于对训练布局树中的分支节点进行编码,其中,所述排列编码器包括水平排列编码器、垂直排布编码器以及堆叠排布编码器。
几何编码器用于将几何信息映射到几何特征编码,即几何编码器的输入项为几何信息(x,y,w,h),输出信息为几何特征编码,其中,几何编码器可以采用单层感知机等。类别编码器用于将训练布局树中叶子结点的语义标签转换为类别标签特征编码,其中,类别编码器的输入项为叶子结点中的语义标签的one-hot向量,类别编码器可以采用单层感知机等。语义标签为训练网格结构中的布局元素所携带的,用于反映布局元素中需要填充的布局数据的数据类型,例如,语义标签为文本类型、图片类型、标题类型等。
元素编码器的输入项为几何特征编码和标签特征编码,通过元素编码器将几何特征编码和标签特征编码转换为叶子节点的特征编码,其中,元素编码器可以采用单层感知机等。排列编码器用于将输入项映射为分支节点的特征编码,其中,排列编码器包括水平排列编码器、垂直排列编码器和堆叠排列编码器,各排列编码器均可以采用具有一个隐藏层的多层感知机。
S30、将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量。
具体地,变分自编码器用于学习训练潜在编码向量的数据分布规律,以得到训练数据集对应的潜在编码空间,以便于训练后的初始生成网络模型中的递归解码模块可以根据在潜在编码空间中采样的潜在编码向量生成结构化网格布局。此外,值得说明的是,变分自编码器在采用经过训练的生成网络模型生成结构化网格布局时不使用,其仅是用于在训练过程中生成潜在编码空间。在本申请实施例中,通过递归编码模块和变分自编码器将训练结构化网格布局嵌入到结构感知布局空间(即潜在编码空间),以训练结构化网格布局被表示为遵循高斯分布的固定长度编码。在本实施例中,变分自编码器可以包括采样编码器和采集解码器,采样编码器和采样解码器相连接。
S40、将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树。
具体地,所述递归解码模块与递归编码模块相对应,并按照递归编码模块的反方向对感知编码向量进行解码,以得到各分支节点和各叶子节点,并将各分子节点和各叶子节点按照排列关系进行排列以得到预测布局树。此外,由于节点中存在分子节点和叶子节点,并各节点之间存在父子关系,从而在通过递归解码模型进行解码时,需要对解码得到节点的节点类型和是否为子节点进行判断,从而递归解码模块相对于递归编码模块而言,其需要包括用于确定节点类型的节点类型分类器,以及用于判定节点是否为孩子节点的孩子判别器。
基于此,所述递归编码模块包括几何解码器、类别解码器、元素解码器、排列解码器以及辅助分类器,所述几何解码器和类别解码器均与所述元素编解码器相连接,所述元素解码器用于对训练布局树中的叶子节点进行编码,所述排列解码器用于对训练布局树中的分支节点进行编码,其中,所述排列解码器包括水平排列解码器、垂直排布解码器以及堆叠排布解码器,所述辅助分类器包括节点类型分类器和孩子判别器。其中,各解码器的结构与其对应的编码器的结构相对应,编码器作用为用于编码,解码器作用为用于解码,这里就不在赘述。
节点类型分类器可以采用具有一个隐藏层的多层感知机,节点类型分类器的输入项为节点特征编码,输出为用于表示节点类型的向量。孩子判别器可以采用单层感知机,其输入可以为特征编码,输出项为用于表示子特征编码有效性的数值,当数值为有效数值时,说明节点为孩子节点,反之,当数值不为有效数值时,说明节点不为孩子节点。
S50、基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型。
具体地,生成网络模型的训练过程所采用的损失函数包括几何损失项、节点类别损失项、语义类别损失项、孩子节点判别损失项和训练潜在编码向量的散度损失项。其中,损失函数可以表示:
,
其中,表示损失函数,/>表示几何损失项,/>表示节点类别损失项,/>表示语义类别损失项,/>表示散度损失项,/>表示孩子节点判别损失项,/>,/>,/>,/>,均表示权重系数,例如,/>,/>,/>,/>,/>分别为1,0.3,0.3,0.4,0.004。
进一步,几何损失项可以采用L2损失,具体公式如下:
,
其中,n是布局中的节点总数,,/>,/>,/>表示第i个元素的几何坐标,/>,,/>,/>表示网络预测出的第i个元素的几何坐标。该损失用于监督输入布局和输出布局中节点的几何信息。
节点类别损失项可以使用交叉熵损失,具体公式如下:
,
其中,n是布局中的分支节点总数,m代表节点的类别数量,在本算法中有三种类别,和/>分别是第i个样本中第j个类别标签的基准值和预测值。该损失用于监督输入布局和输出布局中,分支节点的类别判断。
语义类别损失项可以采用使用交叉熵损失,用于监督输入布局和输出布局中叶子节点的类别判断,具体公式可以参照节点类别损失项。孩子节点判别损失项/>可以采用使用交叉熵损失等。
KL散度损失项用于优化根节点的潜在编码空间,具体公式如下:
,
其中,z是潜在编码,x是输入数据,是潜在编码z的先验分布,在本算法中为标准正态分布,/>和/>是编码器网络对第i个潜在编码的均值和方差的输出,d是潜在空间的维度。
本申请实施例确定生成网络模型具备结构化网格布局的生成能力,可以随机生成一个潜在编码特征,通过递归解码模块生成新的结构化网格布局;也可以输入两个结构化网格布局,通过模型编码器获得其潜在编码后对其潜在编码进行插值,由于生成网络模型可以很好的构建编码潜在空间,因此可以通过解码器对插值之后的潜在编码进行解码以获得新的结构化网格布局。
S60、基于所述生成网络模型,生成结构化网格布局。
具体地,所述生成网络模型为经过步骤S10-S50训练得到的,通过生成网络模型生成结构化网格布局。其中,在生成结构化网格布局后,可以直接根据所述结构化网格布局来进行下游操作,例如,生成显示界面,或者生成排布页面等。也就说,在基于所述生成网络模型,生成结构化网格布局后,还可以包括基于所述结构化网格布局生成显示界面或者排布页面等,这样既可以提高显示界面或者排布页面的生成效率,又可以提高显示界面或者排布页面的多样性。
进一步,通过生成网络模型生成结构化网格布局可以根据仅适用生成网络模型中的递归解码模块,通过递归解码模块来生新的结果网格布局结构。作为递归解码模块的输入项的潜在编码向量可以是在生成网络模型对应的潜在编码空间中采样得到的,也可以是基于两个结构化网格布局以及生成网络模型中的递归编码模块确定的等。当然,所述生成网络模型还可以用于对结构化网格布局进行重构,即将结构化网格布局输入递归编码模块,通过递归编码模块编码得到潜在编码向量,然后将潜在编码向量输入递归解码模块,通过递归解码模块输出重构的结构化网格布局。该重构过程普遍用于对生成网络模型的验证过程中,在实际应用过程中,普遍是采用生成网络模型来生成新的结构化网格布局,从而下面重点对基于生成网络模型生成新的结构化网格布局的过程进行说明。
在本实施例的一个实现方式中,所述基于所述生成网络模型,生成结构化网格布局具体包括:
S41、获取用于生成结构化网格布局的潜在编码向量;
S42、基于所述潜在编码向量输入所述生成网络模型中的递归解码模块,通过递归解码模块结构化布局树;
S43、基于所述结构化布局树生成结构化网格布局。
具体地,所述潜在编码向量为用于生成结构化网格布局,其中,所述潜在编码向量的数据分布满足生成网络模型对应的潜在编码空间要求,潜在编码向量的向量长度等于潜在编码空间中编码向量的向量长度。所述的潜在编码向量可以是在生成网络模型对应的潜在编码空间中采样得到的,即在所述生成网络模型对应的潜在编码空间中进行随机采样,以得到用于生成结构化网格布局的潜在编码向量。此外,潜在编码向量也可以是基于两个结构化网格布局以及生成网络模型中的递归编码模块确定的。相应的,所述获取用于生成结构化网格布局的潜在编码向量具体包括:
S411、获取第一结构化网格布局和第二结构化网格布局;
S412、获取所述第一结构化网格布局对应的第一布局树和所述第二结构化网格布局对应的第二布局树;
S413、将所述第一布局树和所述第二布局树分别输入所述生成网络模型中的递归编码模块,通过所述递归编码模块确定第一布局树对应的第一潜在编码向量和所述第二布局树对应的第二潜在编码向量;
S414、基于所述第一潜在编码向量和所述第二潜在编码向量,确定用于生成结构化网格布局的潜在编码向量。
具体地,所述第一结构化网格布局和第二结构化网格布局的网格布局不同,第一布局树和第二布局树的构建过程与上述训练布局树的构建过程相同,第一潜在编码向量和第二潜在编码向量的生成过程与上述训练潜在编码向量的生成过程相同,这里就不再赘述。在获取到第一潜在编码向量和第二潜在编码向量后,可以通过将第一潜在编码向量和第二潜在编码向量进行插值的方式生成潜在编码向量,或者是将潜在第一潜在编码向量和第二潜在编码向量进行加权的方式生成潜在编码向量等,其中,基于第一潜在编码向量和第二潜在编码向量生成的潜在编码向量的数据分布符合生成网络模型对应的潜在向量空间。
综上所述,本实施例提供了一种基于递归神经网络的结构化网格布局生成方法及设备,所述方法包括获取预设训练数据集中的训练结构化网格布局的训练布局树;将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量;将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量;将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树;基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型;基于所述生成网络模型,生成结构化网格布局。本申请中的生成网络模型以递归方式自下而上的将结构化网格布局嵌入到潜在编码空间,以学***面布局,这样可以提高网格布局的生成能力,特别是对于布局变化较大的数据集。
基于上述基于递归神经网络的结构化网格布局生成方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于递归神经网络的结构化网格布局生成方法中的步骤。
基于上述基于递归神经网络的结构化网格布局生成方法,本申请还提供了一种终端设备,如图10所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种基于递归神经网络的结构化网格布局生成方法,其特征在于,所述基于递归神经网络的结构化网格布局生成方法包括:
获取预设训练数据集中的训练结构化网格布局的训练布局树;
将所述训练布局树输入初始生成网络模型中的递归编码模块,通过所述递归编码模块对所述训练布局树进行编码,以得到训练潜在编码向量;
将所述训练潜在编码向量输入变分自编码器,通过变分自编码器生成感知编码向量;
将所述感知编码向量输入初始生成网络模型中的递归解码模块,通过递归解码模块对所述感知编码向量进行解码,以得到预测布局树;
基于所述训练布局树和所述预测布局树对所述初始生成网络模型进行训练,以得到经过训练的生成网络模型;
基于所述生成网络模型,生成结构化网格布局;
其中,所述获取预设训练数据集中的训练结构化网格布局的训练布局树具体包括:
对于预设训练数据集中的训练结构化网格布局,采用水平和垂直递归拆分的方式,将训练结构化网格布局划分为若干布局元素,并获取各布局元素间的排列关系;
基于所述若干布局元素以及排列关系生成训练布局树,其中,所述训练布局树中的叶子节点用于存储布局元素的几何信息以及节点类型,所述训练布局树中的分支节点用于存储布局元素间的排列关系以及节点类型,节点类型按照训练结构布局中的各节作用划分为排列类型和元素类型,排列类型用于存储排列关系的节点,元素类型用于存储布局元素的几何信息的节点;
排列关系包括水平排列H、垂直排列V和堆叠排列S,当包含有多个布局元素的子元素无法按照水平方向或垂直方向拆分时,判定该子元素包含堆叠排列元素,对于包含堆叠排列元素的子元素,将子元素中最大元素作为一个布局元素,或者将子元素中最小元素作为一个布局元素,对剩余元素进行递归划分;
所述递归编码模块包括几何编码器、类别编码器、元素编码器以及排列编码器,所述几何编码器和类别编码器均与所述元素编码器相连接,所述元素编码器用于对训练布局树中的叶子节点进行编码,所述排列编码器用于对训练布局树中的分支节点进行编码,其中,所述排列编码器包括水平排列编码器、垂直排布编码器以及堆叠排布编码器;几何编码器的输入项为几何信息(x,y,w,h),x和y是布局元素的边界框左上角的位置坐标,w和h是布局元素宽高的相对大小,输出信息为几何特征编码;类别编码器用于将训练布局树中叶子节点的语义标签转换为类别标签特征编码;元素编码器的输入项为几何特征编码和类别标签特征编码,输出信息为叶子节点的特征编码。
2.根据权利要求1所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述递归解码模块包括几何解码器、类别解码器、元素解码器、排列解码器以及辅助分类器,所述几何解码器和类别解码器均与所述元素解码器相连接,所述元素解码器用于对训练布局树中的叶子节点进行解码,所述排列解码器用于对训练布局树中的分支节点进行解码,其中,所述排列解码器包括水平排列解码器、垂直排布解码器以及堆叠排布解码器,所述辅助分类器包括节点类型分类器和孩子判别器。
3.根据权利要求1-2任意一项所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述生成网络模型对应的损失函数包括几何损失项、节点类别损失项、语义类别损失项、孩子节点判别损失项和训练潜在编码向量的散度损失项。
4.根据权利要求1所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述布局元素的几何信息包括布局元素的位置信息以及尺寸信息,作为训练布局树中的第一个子节点的布局元素的位置信息为相对于训练结构化网格布局的包围盒的位置,作为训练布局树中的其余子节点的布局元素的位置信息为相对于其左邻右舍节点的位置信息。
5.根据权利要求1所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述基于所述生成网络模型,生成结构化网格布局具体包括:
获取用于生成结构化网格布局的潜在编码向量;
基于所述潜在编码向量输入所述生成网络模型中的递归解码模块,通过递归解码模块结构化布局树;
基于所述结构化布局树生成结构化网格布局。
6.根据权利要求5所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述获取用于生成结构化网格布局的潜在编码向量具体包括:
在所述生成网络模型对应的潜在编码空间中进行随机采样,以得到用于生成结构化网格布局的潜在编码向量。
7.根据权利要求5所述的基于递归神经网络的结构化网格布局生成方法,其特征在于,所述获取用于生成结构化网格布局的潜在编码向量具体包括:
获取第一结构化网格布局和第二结构化网格布局;
获取所述第一结构化网格布局对应的第一布局树和所述第二结构化网格布局对应的第二布局树;
将所述第一布局树和所述第二布局树分别输入所述生成网络模型中的递归编码模块,通过所述递归编码模块确定第一布局树对应的第一潜在编码向量和所述第二布局树对应的第二潜在编码向量;
基于所述第一潜在编码向量和所述第二潜在编码向量,确定用于生成结构化网格布局的潜在编码向量。
8.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的基于递归神经网络的结构化网格布局生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318101.9A CN117058491B (zh) | 2023-10-12 | 2023-10-12 | 基于递归神经网络的结构化网格布局生成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318101.9A CN117058491B (zh) | 2023-10-12 | 2023-10-12 | 基于递归神经网络的结构化网格布局生成方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117058491A CN117058491A (zh) | 2023-11-14 |
CN117058491B true CN117058491B (zh) | 2024-04-02 |
Family
ID=88664902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311318101.9A Active CN117058491B (zh) | 2023-10-12 | 2023-10-12 | 基于递归神经网络的结构化网格布局生成方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117058491B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268422A (zh) * | 2017-03-24 | 2019-09-20 | 谷歌有限责任公司 | 利用强化学习的设备布局优化 |
CN114117572A (zh) * | 2021-11-23 | 2022-03-01 | 西南交通大学 | 一种基于条件变分自动编码器的布局场景生成方法 |
US11443098B1 (en) * | 2017-02-08 | 2022-09-13 | Amazon Technologies, Inc. | Federated recursive user interface element rendering |
CN115202661A (zh) * | 2022-09-15 | 2022-10-18 | 深圳大学 | 一种具有层次结构布局的混合生成方法及相关设备 |
CN116341480A (zh) * | 2023-05-29 | 2023-06-27 | 华中科技大学 | 数字芯片布局布线全局优化方法及*** |
FR3131580A1 (fr) * | 2021-12-30 | 2023-07-07 | Fives Syleps | Procede et systeme de palettisation heterogene |
-
2023
- 2023-10-12 CN CN202311318101.9A patent/CN117058491B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11443098B1 (en) * | 2017-02-08 | 2022-09-13 | Amazon Technologies, Inc. | Federated recursive user interface element rendering |
CN110268422A (zh) * | 2017-03-24 | 2019-09-20 | 谷歌有限责任公司 | 利用强化学习的设备布局优化 |
CN114117572A (zh) * | 2021-11-23 | 2022-03-01 | 西南交通大学 | 一种基于条件变分自动编码器的布局场景生成方法 |
FR3131580A1 (fr) * | 2021-12-30 | 2023-07-07 | Fives Syleps | Procede et systeme de palettisation heterogene |
CN115202661A (zh) * | 2022-09-15 | 2022-10-18 | 深圳大学 | 一种具有层次结构布局的混合生成方法及相关设备 |
CN116341480A (zh) * | 2023-05-29 | 2023-06-27 | 华中科技大学 | 数字芯片布局布线全局优化方法及*** |
Non-Patent Citations (4)
Title |
---|
"GRAINS: Generative Recursive Autoencoders for INdoor Scenes";MANYI LI et al;《arXiv》;第1-21页 * |
"Hierarchical Layout Blending with Recursive Optimal Correspondence";PENGFEI XU et al;ACM Trans. Graph;第41卷(第6期);第249:1-249:15页 * |
"READ: Recursive Autoencoders for Document Layout Generation";Akshay Gadi Patil et al;《arXiv》;第1-10页 * |
Akshay Gadi Patil et al."READ: Recursive Autoencoders for Document Layout Generation".《arXiv》.2020,第1-10页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117058491A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657230B2 (en) | Referring image segmentation | |
CN109960810B (zh) | 一种实体对齐方法及装置 | |
CN111651573B (zh) | 一种智能客服对话回复生成方法、装置和电子设备 | |
CN110968775A (zh) | 商品属性生成模型的训练方法及生成、搜索方法和*** | |
CN114529773A (zh) | 基于结构单元的表格识别方法、***、终端及介质 | |
CN114596566A (zh) | 文本识别方法及相关装置 | |
CN107292369A (zh) | 标识码的生成方法及装置 | |
CN114639109A (zh) | 一种图像处理方法、装置、电子设备和存储介质 | |
CN117058491B (zh) | 基于递归神经网络的结构化网格布局生成方法及设备 | |
CN110852102B (zh) | 一种中文的词性标注方法、装置、存储介质及电子设备 | |
CN117423124A (zh) | 基于表格图像的表格数据处理方法和装置、设备及介质 | |
CN112395407A (zh) | 企业实体关系的抽取方法、装置及存储介质 | |
CN114065771A (zh) | 一种预训练语言处理方法及设备 | |
CN116977714A (zh) | 图像分类方法、装置、设备、存储介质和程序产品 | |
CN116452707A (zh) | 基于表格的文本生成方法、装置及其应用 | |
CN113554549B (zh) | 文本图像的生成方法、装置、计算机设备和存储介质 | |
CN115601235A (zh) | 一种图像超分辨率网络训练方法、装置、设备及存储介质 | |
CN114387603A (zh) | 用于对汉字进行检纠错的方法、***和计算设备 | |
CN112395422A (zh) | 文本信息提取方法及装置 | |
CN117690192B (zh) | 多视图实例-语义共识挖掘的异常行为识别方法和设备 | |
CN114091662B (zh) | 一种文本图像生成方法、装置及电子设备 | |
CN118155231B (zh) | 文档的识别方法、装置、设备、介质及产品 | |
CN115659918A (zh) | 一种文档转换模型的训练方法、文档转换方法及相关产品 | |
CN118155018A (zh) | 基于大模型提示的静态图分割数据集制作方法及*** | |
CN115098812A (zh) | 一种招标网页的正文抽取方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |