掌桥专利:专业的专利平台
掌桥专利
首页

基于预训练语言模型的三维场景生成方法及相关组件

文献发布时间:2024-04-18 19:59:31


基于预训练语言模型的三维场景生成方法及相关组件

技术领域

本申请涉及人工智能领域,特别涉及一种基于预训练语言模型的三维场景生成方法及相关组件。

背景技术

人工智能内容生成(AIGC,Artificial Intelligence Generated Content)是一项利用人工智能技术自动生产数字化内容的技术,包括文本、音频、图像以及3D(ThreeDimensions,三维)场景,3D场景包括场景空间布局和场景中包括的3D物体。在当今的深度学习技术中,3D场景的生成受到了广泛关注。从无条件生成到有条件生成,技术不断演进,为3D场景生成带来了新的可能性。无条件生成通过学习数据分布直接生成新的3D场景,但缺乏对生成结果的精细控制,难以满足特定需求。相比之下,有条件生成结合了条件输入,通过合理的条件引入方式,可以更精确地控制生成的3D场景,具有更高的应用价值。

然而,现有的基于文本描述生成3D场景的方法往往将整个文本描述作为一个整体进行生成,得到与文本描述对应的3D场景,导致在生成细节方面存在明显不足,特别是在复杂的3D场景的生成中表现欠佳。

因此,如何提供一种基于预训练语言模型的三维场景生成方法以更好地保留细节信息是本领域技术人员亟需解决的技术问题。

发明内容

本申请的目的是提供一种基于预训练语言模型的三维场景生成方法及相关组件,采用分而治之的思想,更注重对第一文本描述信息的解析和理解,将其分解为多个细节,并通过分步骤生成场景空间布局和三维物体的三维物体数据,最后再将其融合,使最终得到的目标三维场景的细节更准确。

为解决上述技术问题,本申请提供了一种基于预训练语言模型的三维场景生成方法,包括:

获取用户输入的第一文本描述信息,基于预训练语言模型对所述第一文本描述信息进行解析,得到场景空间信息和多个三维物体的第二文本描述信息,目标三维场景中包括场景空间和所述场景空间中的多个所述三维物体;

根据各所述第二文本描述信息生成与各所述三维物体对应的三维物体数据;

根据所述场景空间信息和所述第二文本描述信息生成三维场景空间布局,所述三维场景空间布局包括各个所述三维物体在所述场景空间中的空间位置;

将所述三维场景空间布局和所述三维物体数据融合,得到所述目标三维场景。

在一种实施例中,根据所述场景空间信息和所述第二文本描述信息生成三维场景空间布局,包括:

根据所述场景空间信息和所述第二文本描述信息生成多个不同的所述三维场景空间布局;

将所述三维场景空间布局和所述三维物体数据融合,得到所述目标三维场景,包括:

将各个所述三维场景空间布局和所述三维物体数据融合,得到多个不同的待选三维场景;

根据所述第一文本描述信息对多个所述待选三维场景进行评估,根据评估结果确定所述目标三维场景。

在一种实施例中,对多个所述待选三维场景进行评估,根据评估结果确定所述目标三维场景,包括:

根据所述第一文本描述信息对多个所述待选三维场景进行打分,将得分最高的所述待选三维场景确定为所述目标三维场景。

在一种实施例中,所述场景空间信息包括场景空间的第一三维尺寸信息,所述第二文本描述信息包括所述三维物体的第二三维尺寸信息、所述三维物体在所述目标三维场景的位置特征信息;根据所述场景空间信息和所述第二文本描述信息生成多个不同的所述三维场景空间布局,包括:

根据所述第一三维尺寸信息、所述第二三维尺寸信息、所述位置特征信息将所述三维物体在所述场景空间中进行不同的组合,得到多个所述三维场景空间布局。

在一种实施例中,将所述三维物体在所述场景空间中进行不同的组合的过程遵循预设布局原则,所述预设布局原则为:各所述三维物体紧邻所述场景空间中的地面或天花板或其它三维物体的表面,各所述三维物体与所述地面或所述天花板或所述其它三维物体在空间上不交叠。

在一种实施例中,根据所述第一三维尺寸信息、所述第二三维尺寸信息、所述位置特征信息将所述三维物体在所述场景空间中进行不同的组合,得到多个所述三维场景空间布局,包括:

根据所述第二三维尺寸信息计算各所述三维物体的体积;

按照体积由大到小的顺序依次将各个所述三维物体放置至所述场景空间中。

在一种实施例中,按照体积由大到小的顺序依次将各个所述三维物体放置至所述场景空间中,包括:

按照体积由大到小的顺序查找满足初始放置条件的第一三维物体,所述初始放置条件为所述三维物体紧邻所述场景空间的地面或天花板;

根据所述场景空间的第一三维尺寸信息和所述第一三维物体的三维尺寸信息随机确定所述第一三维物体的第一空间位置,根据所述第一空间位置将所述第一三维物体放置在所述场景空间中;

按照体积由大到小的顺序依次查找除所述第一三维物体之外的满足后期放置条件的第二三维物体,所述后期放置条件为所述三维物体紧邻所述地面或天花板或已放置的三维物体表面;

确定所述第二三维物体的第二空间位置,并根据所述第二空间位置将所述第二三维物体放置至所述场景空间中,直至完成所有三维物体的放置。

在一种实施例中,根据所述场景空间的第一三维尺寸信息和所述第一三维物体的三维尺寸信息随机确定所述第一三维物体的第一空间位置,根据所述第一空间位置将所述第一三维物体放置在所述场景空间中之后,还包括:

根据所述第一空间位置和所述第一三维物体的三维尺寸信息更新所述场景空间的空间占用信息;

确定所述第二三维物体的第二空间位置,并根据所述第二空间位置将所述第二三维物体放置至所述场景空间中,包括:

从所述场景空间中未被占用的空间中确定所述第二三维物体的第二空间位置,并根据所述第二空间位置将所述第二三维物体放置至所述场景空间中。

在一种实施例中,根据所述场景空间的第一三维尺寸信息和所述第一三维物体的三维尺寸信息随机确定所述第一三维物体的第一空间位置,根据所述第一空间位置将所述第一三维物体放置在所述场景空间中,包括:

根据所述场景空间的第一三维尺寸信息和所述第一三维物体的三维尺寸信息随机确定所述第一三维物体的第一重心位置;

根据所述第一重心位置、第一预设角度和所述第一三维物体的三维尺寸信息确定所述第一三维物体的第一空间位置;

根据所述第一空间位置将所述第一三维物体放置在所述场景空间中;

从所述场景空间中未被占用的空间中确定所述第二三维物体的第二空间位置,并根据所述第二空间位置将所述第二三维物体放置至所述场景空间中,包括:

从所述场景空间中未被占用的空间中随机确定所述第二三维物体的第二重心位置;

根据所述第二重心位置、第二预设角度和所述第二三维物体的三维尺寸信息确定所述第二空间位置;

判断所述第二空间位置是否与所述场景空间中的地面、天花板及已放置的其他三维物体存在冲突;

若存在,则重新进入从所述场景空间中未被占用的空间中随机确定所述第二三维物体的第二重心位置的步骤;

若不存在,则根据所述第二空间位置将所述第二三维物体放置至所述场景空间中。

在一种实施例中,根据所述第一空间位置和所述第一三维物体的三维尺寸信息更新所述场景空间的空间占用信息之前,还包括:

将所述场景空间划分为多个空间网格;

根据所述第一空间位置和所述第一三维物体的三维尺寸信息更新所述场景空间的空间占用信息,包括:

根据所述第一空间位置和所述第一三维物体的三维尺寸信息确定所述第一三维物体占用的空间网格;

将已占用的空间网格的状态更新为占用状态;

判断所述第二空间位置是否与所述场景空间中的地面、天花板及已放置的其他三维物体存在冲突,包括:

随机从所述第二空间位置中获取若干个采样点,确定所述采样点对应的待比较空间网格;

判断所述待比较空间网格是否存在状态为所述占用状态的空间网格;

若所述待比较空间网格存在状态为占用状态的空间网格,则判定存在冲突,否则判定不存在冲突。

在一种实施例中,根据所述第一文本描述信息对多个所述待选三维场景进行评估,根据评估结果确定所述目标三维场景,包括:

将所述第一文本描述信息和多个所述待选三维场景输入至评分网络模型;

根据所述评分网络模型输出的结果确定各个待选三维场景与所述第一文本描述信息的相似度;

将相似度最大的待选三维场景确定为所述目标三维场景。

在一种实施例中,根据各所述第二文本描述信息生成与各所述三维物体对应的三维物体数据之后,还包括:

将各所述三维物体数据转换为对应的三维物体点云数据;

将各个所述三维场景空间布局和所述三维物体数据融合,得到多个不同的待选三维场景,包括:

将各个所述三维场景空间布局和所述三维物体点云数据融合,得到多个不同的待选三维场景。

在一种实施例中,将各个所述三维场景空间布局和所述三维物体点云数据融合,得到多个不同的待选三维场景之后,还包括:

获取各所述待选三维场景的待选三维场景点云数据;

将所述第一文本描述信息和多个所述待选三维场景输入至评分网络模型,包括:

将所述第一文本描述信息和多个所述待选三维场景点云数据输入至所述评分网络模型。

在一种实施例中,根据所述评分网络模型输出的结果确定各个待选三维场景与所述第一文本描述信息的相似度,包括:

获取所述评分网络模型输出的与所述第一文本描述信息对应的第一描述子向量;

获取所述评分网络模型输出的与各个所述待选三维场景对应的第二描述子向量;

计算所述第一描述子向量和各个所述第二描述子向量的相似度。

在一种实施例中,将所述第一文本描述信息和多个所述待选三维场景输入至评分网络模型之前,还包括:

构建初始评分网络模型,并对所述初始评分网络模型进行优化;

将满足预设条件的评分网络模型确定为最终评分网络模型;

将所述第一文本描述信息和多个所述待选三维场景输入至评分网络模型,包括:

将所述第一文本描述信息和多个所述待选三维场景输入至所述最终评分网络模型。

在一种实施例中,所述初始评分网络模型包括第一网络结构和第二网络结构,所述第一网络结构包括依次连接的语言模型和若干个多层感知机,所述第二网络结构包括依次连接的若干个所述多层感知机、池化层和若干个所述多层感知机;

将所述第一文本描述信息和多个所述待选三维场景输入至所述最终评分网络模型,包括:

将所述第一文本描述信息输入至所述第一网络结构;

将多个所述待选三维场景输入至所述第二网络结构;

根据所述评分网络模型输出的结果确定各个待选三维场景与所述第一文本描述信息的相似度,包括:

获取所述第一网络结构输出的与所述第一文本描述信息对应的第一描述子向量;

获取所述第二网络结构输出的与各个所述待选三维场景对应的第二描述子向量,所述第一描述子向量的维度和所述第二描述子向量的维度相同;

计算所述第一描述子向量和各个所述第二描述子向量的相似度。

在一种实施例中,计算所述第一描述子向量和各个所述第二描述子向量的相似度,包括:

计算所述第一描述子向量和各所述第二描述子向量间的第一余弦距离;

将相似度最大的待选三维场景确定为所述目标三维场景,包括:

将所述第一余弦距离最小的待选三维场景确定为所述目标三维场景。

在一种实施例中,对所述初始评分网络模型进行优化,包括:

利用对比损失函数对所述初始评分网络模型进行优化;

将满足预设条件的评分网络模型确定为最终评分网络模型,包括:

将所述对比损失函数的输出值小于第一阈值的评分网络模型确定为最终评分网络模型。

在一种实施例中,利用对比损失函数对所述初始评分网络模型进行优化,包括:

将待训练的三维场景数据和待训练的三维场景对应的第三文本描述信息输入至所述初始评分网络模型,通过初始评分网络模型计算所述对比损失函数的输出值;

在所述对比损失函数的输出值大于第二阈值时,使用第一负样本和预设正样本对所述初始评分网络模型进行优化,所述第二阈值大于所述第一阈值;

在所述对比损失函数的输出值不大于所述第二阈值时,使用第二负样本和所述预设正样本对所述评分网络模型进行优化;

其中,正样本为三维场景数据与文本描述信息相符的样本数据,负样本为三维场景数据与文本描述信息不相符的样本数据,所述第一负样本对应的文本描述信息与所述第三文本描述信息之间的相似度小于所述第二负样本对应的文本描述信息与所述第三文本描述信息之间的相似度。

在一种实施例中,还包括:

提取各负样本的文本描述信息对应的第三描述子向量;

提取所述第三文本描述信息对应的第四描述子向量;

计算各所述第三描述子向量和所述第四描述子向量间的第二余弦距离;

将所述第二余弦距离大于第三阈值的负样本作为所述第一负样本;

将所述第二余弦距离不大于所述第三阈值的负样本作为所述第二负样本。

为解决上述技术问题,本申请还提供了一种基于预训练语言模型的三维场景生成系统,包括:

解析单元,用于获取用户输入的第一文本描述信息,基于预训练语言模型对所述文本描述信息进行解析,得到场景空间信息和多个三维物体的第二文本描述信息,所述目标三维场景中包括场景空间和所述场景空间中的多个所述三维物体;

三维物体数据生成单元,用于根据各所述第二文本描述信息生成与各所述三维物体对应的三维物体数据;

布局生成单元,用于根据所述场景空间信息和所述第二文本描述信息生成三维场景空间布局,所述三维场景空间布局包括各个所述三维物体在所述场景空间中的空间位置;

场景生成单元,用于将所述三维场景空间布局和所述三维物体数据融合,得到所述目标三维场景。

为解决上述技术问题,本申请还提供了一种基于预训练语言模型的三维场景生成装置,包括:

存储器,用于存储计算机程序;

处理器,用于在执行计算机程序时,实现上述所述的基于预训练语言模型的三维场景生成方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于预训练语言模型的三维场景生成方法的步骤。

本申请提供了一种基于预训练语言模型的三维场景生成方法及相关组件,涉及人工智能领域,解决现有三维场景生成精度低的问题。该方案通过获取目标三维场景的第一文本描述信息,对其进行解析,得到场景空间信息和三维物体的第二文本描述信息,可以更精确地了解目标三维场景的要求和构成;根据解析得到的信息生成三维场景空间布局,并根据第二文本描述信息生成相应的三维物体数据,最后通过融合得到最终的目标三维场景。本申请采用分而治之的思想,更注重对第一文本描述信息的解析和理解,将其分解为多个细节,并通过分步骤生成场景空间布局和三维物体的三维物体数据,最后再将其融合,使最终得到的目标三维场景的细节更准确。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种基于预训练语言模型的三维场景生成方法的流程图;

图2为本申请提供的一种基于预训练语言模型的三维场景生成方法的整体示意图;

图3为本申请提供的一种生成多个三维场景空间布局的示意图;

图4为本申请提供的一种评分网络模型的结构示意图;

图5为本申请提供的一种优化过程中的样本选择示意图;

图6为本申请提供的一种基于预训练语言模型的三维场景生成系统的示意图;

图7为本申请提供的一种基于预训练语言模型的三维场景生成装置的示意图。

具体实施方式

本申请的核心是提供一种基于预训练语言模型的三维场景生成方法及相关组件,采用分而治之的思想,更注重对第一文本描述信息的解析和理解,将其分解为多个细节,并通过分步骤生成场景空间布局和三维物体的三维物体数据,最后再将其融合,使最终得到的目标三维场景的细节更准确。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,本申请提供了一种基于预训练语言模型的三维场景生成方法,包括:

S11:获取用户输入的第一文本描述信息,基于预训练语言模型对第一文本描述信息进行解析,得到场景空间信息和多个三维物体的第二文本描述信息,目标三维场景中包括场景空间和场景空间中的多个三维物体。

本步骤涉及获取用户输入的第一文本描述信息,并对该信息进行解析。这个步骤的目的是理解并提取出场景空间信息以及多个三维物体的第二文本描述信息。具体来说,本步骤首先获取用户输入的第一文本描述信息:这一步骤通过各种途径(如用户输入等)获取描述目标三维场景的文本信息;例如,这个第一文本描述信息可以是关于场景的整体特征、主题、布局等方面的描述。然后,基于预训练语言模型对第一文本描述信息进行解析:在这一步骤中,使用预训练语言模型来对第一文本描述信息进行解析和理解,预训练语言模型是通过大规模文本数据进行训练得到的模型,它能够学习到语义和语法规则,从而理解文本的含义。最后,得到场景空间信息和多个三维物体的第二文本描述信息:通过解析第一文本描述信息,可以获得与场景空间有关的信息,例如场景的大小、形状、位置等。同时,还可以提取出多个三维物体的第二文本描述信息,这些描述信息可能包括每个物体的属性、形状、颜色、位置等。

通过本步骤的解析和理解,能够将目标三维场景的文本描述信息转化为细粒度的场景空间信息和多个三维物体的第二文本描述信息。这为后续的场景生成和布局提供了基础,以便更准确地生成最终的三维场景。

其中,使预训练语言模型对第一文本描述信息进行解析的具体操作步骤可以如下:

(1)构造上下文提示:通过构造上下文提示,能够使预训练语言模型理解任务需求,并且给出用户想要的结果。因此,面向复杂3D场景包含3D个体信息的生成任务,可以设计如下上下文提示:

“假定你是一个场景设计师,能够设计出符合用户描述的3D场景,并且给出场景及其包含物体的细粒度文本描述。在生成一个场景包含3D个体信息时,假定包含3个物体,那么你必须按照如下格式输出:“[‘场景详细描述’,‘尺度大小’],[{‘物体1名称’:[‘数量’,‘详细描述’,‘尺度大小’,‘是否贴合地面’,‘是否贴合天花板’]},{‘物体2名称’:[‘数量’,‘详细描述’,‘尺度大小’,‘是否贴合地面’,‘是否贴合天花板’},{‘物体3名称’:[‘数量’,‘详细描述’,‘尺度大小’,‘是否贴合地面’,‘是否贴合天花板’}]”。如果包含n个物体,则需要输出n个物体的结果。其中‘尺度大小’需要根据世界常识推断出一个合理的尺寸,格式为[长,宽,高],单位为m,‘是否贴合地面’和‘是否贴合天花板’需要根据场景描述及世界常识推理出一个合理的结果,内容为‘是’或者‘否’。”;

(2)构造实例:在对预训练语言模型进行规则说明后,需要进一步给出一个实例,便于预训练语言模型理解任务,比如构造的实例如下:

“假定你需要设计‘一个摆满餐具的餐桌’场景,那么你可能输出的一个结果如下:‘[[传统中式风格的餐桌,木制的有花纹,桌上有一个透明水杯、一个泼墨山水画的盘子和一双木制的筷子。],[2.5,2.5,2.5]],[{餐桌:[1,[木制,有四条腿,桌面有花纹,桌面较厚],[1.2,1.2,0.7],是,否]},{水杯:1,[透明水杯,没有手柄],[0.1,0.1,0.15],否,否},{盘子:1,[白色的盘子,中间有泼墨山水画图案],[0.15,0.15,0.02],否,否},{筷子:1,[木制的盘子],[0.15,0.03,0.01],否,否}]’”;

(3)进行新的提问:将上下文提示以及实例,先输入给预训练语言模型,预训练语言模型就具备了对场景及其包含物体进行细粒度文本描述的能力。针对用户新的场景描述需求,可以直接向预训练语言模型提问(即是输入上述描述的第一文本描述信息),例如“如果需要设计‘一只小猫在地板上吃鱼’的场景,那么应当输出什么?”,得到针对任意复杂场景及其包含物体的细粒度文本描述(也即场景空间信息和第二文本描述信息)。

S12:根据场景空间信息和第二文本描述信息生成三维场景空间布局,三维场景空间布局包括各个三维物体在场景空间中的空间位置。

具体来说,首先可以解析场景空间信息,在这一步骤中,通过解析第一文本描述信息,获得场景空间信息,例如场景的大小、形状、位置等。这些信息将为后续的布局生成提供基础;还可以解析三维物体的第二文本描述信息:通过解析第一文本描述信息,可以提取出多个三维物体的第二文本描述信息,这些描述信息可能包括每个物体的大小、形状、位置等。这些信息将用于确定每个三维物体在场景空间中的位置和姿态。最后生成三维场景空间布局:在这一步骤中,根据场景空间信息和三维物体的第二文本描述信息,生成三维场景空间布局,具体来说,可以采用一些布局算法(如基于网格的布局算法)来确定各个三维物体在场景中的位置和姿态,以便能够正确地反映其在文本描述中所表达的含义。此外,还可以优化三维场景空间布局:在这一步骤中,通过对生成的三维场景空间布局进行优化,进一步提升其质量。例如,可以对每个物体的位置和姿态进行微调,以便更好地反映其在文本描述中所表达的含义。

S13:将三维场景空间布局和三维物体数据融合,得到目标三维场景。

在这一步骤中,首先需要将每个三维物体的具体属性、位置和与场景空间的关系进行综合考虑,然后将这些信息与场景空间布局进行结合,以确保三维物体与场景空间的整体一致性和合理性。通过这一融合步骤,最终得到的目标三维场景将包括准确的细节信息,使得整个生成的场景更加真实和精确。

综上,本申请采用分而治之的思想,更注重对第一文本描述信息的解析和理解,将其分解为多个细节,并通过分步骤生成场景空间布局和三维物体的三维物体数据,最后再将其融合,使最终得到的目标三维场景的细节更准确。

在上述实施例的基础上:

在一种实施例中,根据场景空间信息和第二文本描述信息生成三维场景空间布局,包括:

根据场景空间信息和第二文本描述信息生成多个不同的三维场景空间布局;

将三维场景空间布局和三维物体数据融合,得到目标三维场景,包括:

将各个三维场景空间布局和三维物体数据融合,得到多个不同的待选三维场景;

根据第一文本描述信息对多个待选三维场景进行评估,根据评估结果确定目标三维场景。

具体地,将三维场景空间布局和三维物体数据融合,从而得到目标三维场景的过程可以包括生成多个不同的三维场景空间布局,将这些布局和三维物体数据进行融合,得到多个不同的待选三维场景。这意味着根据输入的文本描述信息,可以存在多种不同的方式来布置场景中的各个三维物体,以满足文本描述信息的要求。那么同样的,将三维场景空间布局和三维物体数据融合,得到目标三维场景,也就是将把多个不同的三维场景空间布局与三维物体数据进行融合,从而得到多个不同的待选三维场景,也即意味着每种布局都将与三维物体数据相结合,产生多个备选的三维场景。

之后,将会将根据第一文本描述信息对多个待选三维场景进行评估。评估标准可以是对每个待选场景与描述信息的匹配度、视觉逼真度等方面进行综合分析。最终,根据评估结果确定符合要求的目标三维场景。

如图3所示,图3中生成了m套不同的细粒度文本描述(也即包括场景空间信息和m套不同的第二文本描述信息),进而基于此m套不同的细粒文本描述生成m个不同的三维场景空间布局。

本实施例能够根据文本描述信息生成多个备选的三维场景,并通过评估确定最终的目标三维场景,为基于文本描述信息的三维场景生成提供了更大的灵活性和精确性。

在一种实施例中,对多个待选三维场景进行评估,根据评估结果确定目标三维场景,包括:

根据第一文本描述信息对多个待选三维场景进行打分,将得分最高的待选三维场景确定为目标三维场景。

本实施例中,对多个待选三维场景进行评估的步骤如下:首先,根据第一文本描述信息对多个待选三维场景进行打分;也即对每个待选三维场景进行分析和评估,以确定其与第一文本描述信息的匹配程度或符合度;这可以涉及对待选场景的布局、物体位置、场景空间信息等多个方面的比较和评估;然后,将得分最高的待选三维场景确定为目标三维场景;通过对每个待选场景进行打分评估,最终确定符合第一文本描述信息的最佳三维场景;这一步确保生成的三维场景最符合所需的场景描述和要求,提高了方法生成的三维场景的匹配准确性和质量。

综上,本实施例提供了对多个待选三维场景进行评估和选择的详细步骤,以确保最终生成的目标三维场景符合需求并具有最佳的匹配程度。

如图2所示,本实施例的总体流程包括:获取用户输入的针对目标三维场景的第一文本描述信息;基于预训练语言模型的场景细粒度文本描述生成算法得到包含三维物体的细粒度的第二文本描述信息和场景空间信息;然后再基于文本驱动的3D物体生成方法或基于文本的3D物体检索方法得到场景包含三维物体的三维物体数据;最后基于大规模预训练模型指导的三维场景空间布局生成算法得到大量待选三维场景集合;利用三维场景的评分网络模型确定得分最高的待选三维场景即为用户需要的目标三维场景。

在一种实施例中,场景空间信息包括场景空间的第一三维尺寸信息,第二文本描述信息包括三维物体的第二三维尺寸信息、三维物体在目标三维场景的位置特征信息;根据场景空间信息和第二文本描述信息生成多个不同的三维场景空间布局,包括:

根据第一三维尺寸信息、第二三维尺寸信息、位置特征信息将三维物体在场景空间中进行不同的组合,得到多个三维场景空间布局。

在这种实施例中,场景空间信息包括了场景空间的第一三维尺寸信息,而第二文本描述信息包括了三维物体的第二三维尺寸信息和三维物体在目标三维场景的位置特征信息。根据这些信息,首先生成多个不同的三维场景空间布局,这是通过利用第一三维尺寸信息和第二三维尺寸信息以及位置特征信息,将三维物体在场景空间中进行不同的组合来实现的,这样可以得到多个不同的三维场景空间布局,从而为后续步骤提供多个待选的三维场景。

接下来,这些多个待选的三维场景将根据第一文本描述信息进行评估。评估的结果将被用来确定最终的目标三维场景。这样就可以根据预训练语言模型和输入的文本描述信息,自动化地生成适合描述的三维场景,为虚拟现实、游戏开发等领域提供了一种高效的场景生成方法。

在一种实施例中,将三维物体在场景空间中进行不同的组合的过程遵循预设布局原则,预设布局原则为:各三维物体紧邻场景空间中的地面或天花板或其它三维物体的表面,各三维物体与地面或天花板或其它三维物体在空间上不交叠。

本实施例中描述了在生成三维场景空间布局的过程中,需要遵循的预设布局原则。这个预设布局原则包括三个要素:首先,各三维物体紧邻场景空间中的地面或天花板或其它三维物体的表面;其次,各三维物体与地面或天花板或其它三维物体在空间上不交叠。

具体而言,这个预设布局原则确保了生成的三维场景空间布局在视觉上看起来合理和真实。第一要素保证了三维物体在场景空间中有明确的位置,并且与其它物体或者场景的地面或天花板有明确定义的关系。第二要素则进一步增强了真实感,避免了三维物体在空间中交叠或者重叠,使得生成的三维场景空间布局更加逼真和自然。

因此,遵循预设布局原则可以保证所生成的目标三维场景符合人们对于真实世界场景的认知和观感,提高了生成的三维场景的真实感和可信度。

在一种实施例中,根据第一三维尺寸信息、第二三维尺寸信息、位置特征信息将三维物体在场景空间中进行不同的组合,得到多个三维场景空间布局,包括:

根据第二三维尺寸信息计算各三维物体的体积;

按照体积由大到小的顺序依次将各个三维物体放置至场景空间中。

本实施例根据第一三维尺寸信息、第二三维尺寸信息和位置特征信息将三维物体进行不同的组合,以生成多个三维场景空间布局。具体步骤包括:根据第二三维尺寸信息计算各三维物体的体积;按照体积由大到小的顺序依次将各个三维物体放置至场景空间中。

本实施例能够根据物体的体积大小来进行布局,从而更好地利用场景空间并确保场景布局的合理性。例如,较大的物体可能需要更大的空间来容纳,且应该优先放置以避免空间浪费或布局不合理的情况发生。这样的方法可以提高三维场景生成的效率和质量,使得最终生成的场景更加合理和符合实际需求。

在一种实施例中,按照体积由大到小的顺序依次将各个三维物体放置至场景空间中,包括:

按照体积由大到小的顺序查找满足初始放置条件的第一三维物体,初始放置条件为三维物体紧邻场景空间的地面或天花板;

根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一空间位置,根据第一空间位置将第一三维物体放置在场景空间中;

按照体积由大到小的顺序依次查找除第一三维物体之外的满足后期放置条件的第二三维物体,后期放置条件为三维物体紧邻地面或天花板或已放置的三维物体表面;

确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中,直至完成所有三维物体的放置。

本实施例中,按照体积由大到小的顺序查找满足初始放置条件的第一三维物体。初始放置条件是指三维物体需要紧邻场景空间的地面或天花板。接下来,根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息,随机确定第一三维物体的第一空间位置;这意味着在场景空间中,为第一三维物体选择一个合适的位置进行放置。然后,按照体积由大到小的顺序依次查找除第一三维物体之外的满足后期放置条件的第二三维物体,后期放置条件是指三维物体需要紧邻地面、天花板或已放置的三维物体的表面。确定第二三维物体的第二空间位置,并根据该位置将第二三维物体放置至场景空间中。这个过程会不断重复,直至完成所有三维物体的放置。

综上,本实施例描述了一种按照体积从大到小的顺序放置三维物体的方法,同时要求满足初始放置条件和后期放置条件,通过该方法可以生成多个不同的三维场景空间布局。

在一种实施例中,根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一空间位置,根据第一空间位置将第一三维物体放置在场景空间中之后,还包括:

根据第一空间位置和第一三维物体的三维尺寸信息更新场景空间的空间占用信息;

确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中,包括:

从场景空间中未被占用的空间中确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中。

本实施例首先根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息,通过随机确定第一三维物体的第一空间位置来放置第一个物体到场景空间中。

在放置第一个物体后,还需要更新场景空间的空间占用信息,以记录已经被占用的空间。接下来,按照体积由大到小的顺序,在场景空间中未被占用的空间中确定第二三维物体的第二空间位置,并将第二三维物体放置至场景空间中。

整个过程会依次进行,直至所有的三维物体都被放置完毕。通过这种方式,可以生成多个不同的三维场景空间布局,以满足不同的需求和要求。

需要注意的是,该实施例中的放置过程遵循预设布局原则,即各三维物体紧邻场景空间中的地面或天花板或其他三维物体的表面,且各三维物体与地面或天花板或其他三维物体在空间上不交叠。

这种基于预训练语言模型的三维场景生成方法可以广泛应用于虚拟现实、游戏开发、建筑设计等领域,为用户提供丰富多样、逼真细致的三维场景体验。

在一种实施例中,根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一空间位置,根据第一空间位置将第一三维物体放置在场景空间中,包括:

根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一重心位置;

根据第一重心位置、第一预设角度和第一三维物体的三维尺寸信息确定第一三维物体的第一空间位置;

根据第一空间位置将第一三维物体放置在场景空间中;

从场景空间中未被占用的空间中确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中,包括:

从场景空间中未被占用的空间中随机确定第二三维物体的第二重心位置;

根据第二重心位置、第二预设角度和第二三维物体的三维尺寸信息确定第二空间位置;

判断第二空间位置是否与场景空间中的地面、天花板及已放置的其他三维物体存在冲突;

若存在,则重新进入从场景空间中未被占用的空间中随机确定第二三维物体的第二重心位置的步骤;

若不存在,则根据第二空间位置将第二三维物体放置至场景空间中。

本实施例是关于根据场景空间信息和三维物体的尺寸信息确定物体在场景中的放置位置的具体实现方式。首先,对于第一三维物体,通过随机确定其重心位置和预设角度,然后根据这些信息确定其空间位置,并将其放置在场景空间中。接着,对于第二三维物体,同样需要寻找场景空间中未被占用的空间来确定其放置位置。这需要随机确定第二三维物体的重心位置和预设角度,并根据这些信息判断其空间位置,以确保与地面、天花板和其他已放置物体不发生冲突。如果存在冲突,则重新确定第二三维物体的重心位置,直到找到合适的位置将其放置在场景空间中。

本实施例可以有效地将多个三维物体按照一定的规则和条件放置在目标三维场景空间中,确保它们之间不会出现重叠或者位置不合适的问题。这有助于生成符合要求的三维场景布局,提高了生成三维场景的准确性和效率。

在一种实施例中,根据第一空间位置和第一三维物体的三维尺寸信息更新场景空间的空间占用信息之前,还包括:

将场景空间划分为多个空间网格;

根据第一空间位置和第一三维物体的三维尺寸信息更新场景空间的空间占用信息,包括:

根据第一空间位置和第一三维物体的三维尺寸信息确定第一三维物体占用的空间网格;

将已占用的空间网格的状态更新为占用状态;

判断第二空间位置是否与场景空间中的地面、天花板及已放置的其他三维物体存在冲突;

随机从第二空间位置中获取若干个采样点,确定采样点对应的待比较空间网格;

判断待比较空间网格是否存在状态为占用状态的空间网格;

若待比较空间网格存在状态为占用状态的空间网格,则判定存在冲突,否则判定不存在冲突。

本实施例中主要描述处理三维场景空间的空间占用信息和冲突检测的实现方式。首先将整个场景空间划分为多个空间网格,这样可以将场景空间离散化,方便进行后续的空间占用信息管理和冲突检测。当确定放置第一三维物体时,根据第一空间位置和第一三维物体的三维尺寸信息,确定第一三维物体占用的空间网格,并将这些空间网格的状态更新为占用状态,表示这些网格已经被该物体占据。在确定放置第二三维物体时,需要判断第二空间位置是否与场景空间中的地面、天花板及已放置的其他三维物体存在冲突。具体步骤如下:从第二空间位置中随机获取若干个采样点;确定采样点对应的待比较空间网格;判断待比较空间网格是否存在状态为占用状态的空间网格;若待比较空间网格存在状态为占用状态的空间网格,则判定存在冲突,否则判定不存在冲突。

通过上述步骤,可以有效地对不同三维物体的空间位置进行检测,确保它们在放置时不会发生重叠或与场景空间的其他部分产生冲突,从而保证生成的三维场景布局是合理且符合预期的。

在一个可选实施例中,生成基于空间几何约束的3D场景空间布局自动生成的步骤包括:(1)设置场景空间的范围;(2)向场景空间中放置初始的第一三维物体;(3)像场景空间中放置其余的第二三维物体。

具体地,令当前3D场景空间的尺度大小为:S

(1)设置3D场景空间范围

首先,获取场景空间信息及包含三维物体的细粒度的第二文本描述信息。针对每一个场景空间,获取场景空间的尺度信息S

再次,设置场景空间的范围。令世界坐标系下x轴指向前面,y轴指向右面,z轴指向上面。根据3D场景空间的尺度大小S

最后,创建布局原则。在放置3D物体时,为构建满足自然规律的3D场景布局,设立两个原则:一是不悬浮原则,也即场景空间中的每一个三维物体,必须紧贴地面,或者紧贴天花板,或者紧贴其他3D物体中的一个或多个;二是不碰撞原则,也即每一个3D物体与其他3D物体之间均不能发生碰撞。

(2)放置初始得到第一三维物体

令根据体积排序后的物体顺序object_1、object_2、…、object_k,作为待放置3D物体的列表。本实施例首先选择体积最大的3D物体object_1,判断其是否可以放置。根据其细粒度属性中‘是否贴合地面’,‘是否贴合天花板’的描述,判断将其放置在地面还是紧贴天花板:如果‘是否贴合地面’的描述为‘是’,则将该物体的底部紧贴地面;如果‘是否贴合天花板’的描述为‘是’,则将该物体的顶部贴合天花板;如果这两项属性描述均为否,则选择体积第二大的物体object_2,继续判断这两种属性,看是否存在描述为‘是’的属性,直至寻找到该两种属性中至少有一个为‘是’的3D物体。如果选择既不在地面上也不紧贴天花板的3D物体作为初始的第一三维物体,那么由于不存在其他3D物体,该3D物体则变成悬浮状态,会与不悬浮原则发生冲突。因此,本实施例按照上面介绍的方式选择初始的第一三维物体。

选择好初始的第一三维物体后,就可以确定第一三维物体所处的3D空间位置,以第一三维物体的重心表示:P

之后,将object_1从待放置3D物体列表去除并更新3D空间的占用情况。为了更方便地计算空间占用情况,本实施例将复杂场景的3D空间进行体素化表示,也即将空间划分成r×r×r的空间网格,每一个空间网格的尺度为S

(3)放置剩余的第二3D物体

为了放置剩余的第二3D物体,需要同时满足两个原则,也即首先根据不悬浮原则得到一些3D物体可以放置的位置,其次根据不碰撞原则判断当前位置是否合理,来得到3D物体最终的放置位置。因此,本实施例提出了一种基于空间几何约束的3D物体放置方法,具体步骤如下:

首先,为满足不悬浮原则,本实施例提出一种基于邻接关系的3D物体候选位置生成方法。根据细粒度属性中‘是否贴合地面’,‘是否贴合天花板’的描述,可以分为三种情况:第一种,贴合地面。此时需要避免与现有地面被占用的空间发生冲突,因此,可以通过在xy平面随机采样点,直到该采样点不落在3D空间底部被占用的网格内,得到对应的xy平面坐标。由于紧贴地面,z坐标也可以对应确定。第二种,贴合天花板。此时需要避免与现有天花板被占用的空间发生冲突,因此,可以通过在xy平面随机采样点,直到该采样点不落在3D空间顶部被占用的网格内,得到对应的xy平面坐标。由于紧贴天花板,z坐标也可以对应确定。第三种,既不贴合地面,也不贴合天花板,由于不能悬浮,该三维物体仅可能与现有已放置的三维物体邻接。因此,可以遍历场景中已放置的三维物体,根据xy平面的面积,确定当前的三维物体是否能够放置在已放置的三维物体上方,再在已放置的三维物体顶部随机采样一点得到xy平面坐标。由于紧邻,z坐标也可以对应确定。以上三种情况下,都可以得到待放置物体的一个不悬浮的3D空间位置。针对3D物体的旋转,本实施例设置旋转顺序,也即由0度、15度直到180度共12种情况,第一个候选放置位置的旋转角度可以为0度,其次也可以为15度,依次执行。最终,本实施例能够得到一系列待放置3D物体可能的放置位置及旋转角度。

其次,为满足不碰撞原则,本实施例提出一种基于3D空间占据情况的快速碰撞检测方法,能够判断给定的一组3D物体位置和旋转参数,能否被放置于当前3D场景。如果满足则放置当前3D物体,如果不满足则重新生成候选位置并进行碰撞判断,直至找到合法的候选位置。为避免陷入无限循环,可以设置最大候选位置生成数量candidate

a)计算旋转前待放置3D物体内部的采样点。结合待放置3D物体在空间中的位置P

b)计算旋转后的采样点。根据以上规则先得到一个采样点p

c)计算采样点所处的空间网格。根据p

d)判断空间网格占用状态。如果该空间网格被占用,说明3D场景空间在该空间网格的位置已经存在3D物体,那么该3D物体该组3D物体放置参数,不能够被放置于3D场景,碰撞判断结果返回失败,则重新执行第一步,也即重新生成一组3D物体放置参数;

如果该空间网格没有被占用,则重新执行步骤c、d、e,也即再采样一个新的点,判断新的采样点是否能够放置于3D场景;只要存在一个采样点所处的空间网格被占用,那么该碰撞判断结果就返回失败;针对所有采样点集合,如果对应的空间网格均没有被占用,说明针对该组3D物体放置参数,可以将当前物体放置于当前场景,碰撞判断结果返回成功。

将所有剩余物体均放置于场景后,可以得到一组3D场景空间布局。

针对每一套细粒度的场景空间信息和第二文本描述信息,多次用上述三维场景空间布局方法得到对应的三维场景空间布局,最终可以得到m个不同的三维场景空间布局。

在一种实施例中,根据第一文本描述信息对多个待选三维场景进行评估,根据评估结果确定目标三维场景,包括:

将第一文本描述信息和多个待选三维场景输入至评分网络模型;

根据评分网络模型输出的结果确定各个待选三维场景与第一文本描述信息的相似度;

将相似度最大的待选三维场景确定为目标三维场景。

本实施例中,首先将第一文本描述信息和多个待选三维场景输入至评分网络模型,评分网络模型用于对每个待选三维场景进行打分,得到各个待选三维场景与第一文本描述信息的相似度。然后根据评分网络模型输出的结果,对各个待选三维场景与第一文本描述信息的相似度进行确定。具体来说,根据评分网络模型的结果给每个待选三维场景打分,得到一个相似度值,表示该待选三维场景与第一文本描述信息的相似度程度。这个相似度值越高,说明该待选三维场景越符合第一文本描述信息的要求。最后,从所有待选三维场景中选择相似度最高的场景作为目标三维场景。在评估过程中,相似度最大的待选三维场景被认为是最符合第一文本描述信息的场景,因此会被选中作为目标三维场景。

通过上述步骤,可以对多个待选三维场景进行快速而准确地评估,从而找到最符合第一文本描述信息的场景,并将其选作目标三维场景。这种评估方法可以提高场景生成的准确性和效率。

在一种实施例中,根据各第二文本描述信息生成与各三维物体对应的三维物体数据之后,还包括:

将各三维物体数据转换为对应的三维物体点云数据;

将各个三维场景空间布局和三维物体数据融合,得到多个不同的待选三维场景,包括:

将各个三维场景空间布局和三维物体点云数据融合,得到多个不同的待选三维场景。

本实施例中,在获取目标三维场景的第一文本描述信息,并基于预训练语言模型对第一文本描述信息进行解析,得到场景空间信息和多个三维物体的第二文本描述信息后,根据各第二文本描述信息生成与各三维物体对应的三维物体数据。这些数据可以是三维模型、点云数据等形式。

其次,对各三维物体数据进行处理,将其转换为对应的三维物体点云数据。点云数据是一种以点的形式表示物体表面形状和几何信息的数据形式。将三维物体数据转换为点云数据可以减少数据量,简化模型,提高场景生成的效率。

最后,将各个三维场景空间布局和三维物体点云数据融合,得到多个不同的待选三维场景。具体来说,根据场景空间信息和第二文本描述信息生成多个不同的三维场景空间布局,然后将各个三维物体点云数据与各个三维场景空间布局进行融合,得到多个不同的待选三维场景。这些待选三维场景包含了不同的物体点云数据和场景空间布局,可以提供给评分网络模型进行评估,找到最符合第一文本描述信息的场景。

通过上述步骤,可以将各三维物体数据转换为对应的三维物体点云数据,并将各个三维场景空间布局和三维物体点云数据融合得到多个不同的待选三维场景。这种处理方法可以减少数据量,简化模型,提高场景生成的效率。

在一种实施例中,将各个三维场景空间布局和三维物体点云数据融合,得到多个不同的待选三维场景之后,还包括:

获取各待选三维场景的待选三维场景点云数据;

将第一文本描述信息和多个待选三维场景输入至评分网络模型,包括:

将第一文本描述信息和多个待选三维场景点云数据输入至评分网络模型。

本实施例中提到了对多个待选三维场景的评估方法。首先在获取多个待选三维场景的待选三维场景点云数据之后,这些点云数据包含了每个待选场景的详细信息,如场景的形状、结构等。然后,将这些点云数据以及第一文本描述信息输入至评分网络模型中进行评估。

评分网络模型可以是基于机器学习的模型,其目的是根据输入的待选三维场景点云数据和第一文本描述信息来判断每个待选场景与描述信息的匹配程度。评分网络模型会对每个待选场景进行评分,评分结果可以反映出待选场景与描述信息的相似度或匹配程度。

最终,根据评分网络模型输出的结果,确定相似度最高的待选三维场景为目标三维场景。这个评估方法可以帮助自动化生成三维场景,并且确保生成的场景符合用户的描述需求。

在一种实施例中,根据评分网络模型输出的结果确定各个待选三维场景与第一文本描述信息的相似度,包括:

获取评分网络模型输出的与第一文本描述信息对应的第一描述子向量;

获取评分网络模型输出的与各个待选三维场景对应的第二描述子向量;

计算第一描述子向量和各个第二描述子向量的相似度。

本实施例描述了一种评分网络模型的应用方法。具体地,首先获取评分网络模型输出的与第一文本描述信息对应的第一描述子向量;接着获取评分网络模型输出的与各个待选三维场景对应的第二描述子向量;然后计算第一描述子向量和各个第二描述子向量的相似度。

评分网络模型负责将第一文本描述信息和多个待选三维场景进行匹配和评分。首先,通过对第一文本描述信息进行编码,对输入的文本进行特征提取和表示,得到第一描述子向量。接着,对每个待选三维场景进行编码,提取场景的特征表示,得到对应的第二描述子向量。最后,通过计算第一描述子向量和每个第二描述子向量之间的相似度,可以确定每个待选三维场景与第一文本描述信息的匹配程度。

本实施例通过评分网络模型的输出结果,可以量化地评估每个待选三维场景与给定文本描述的匹配度,从而确定最合适的目标三维场景。

在一种实施例中,将第一文本描述信息和多个待选三维场景输入至评分网络模型之前,还包括:

构建初始评分网络模型,并对初始评分网络模型进行优化;

将满足预设条件的评分网络模型确定为最终评分网络模型;

将第一文本描述信息和多个待选三维场景输入至评分网络模型,包括:

将第一文本描述信息和多个待选三维场景输入至最终评分网络模型。

本实施例描述了对评分网络模型的构建和优化过程,以及最终评分网络模型的确定。首先需要构建一个初始评分网络模型。评分网络模型是用来评估第一文本描述信息和待选三维场景之间的相似度的工具。构建初始评分网络模型时,可以选择适当的深度学习模型结构,并进行初始化,这个初始评分网络模型可能并不完善,需要经过后续的优化过程。

接下来,对初始评分网络模型进行优化。优化的目标是提高评分网络模型的准确性和鲁棒性,使其能够更好地判断第一文本描述信息和待选三维场景之间的相似度。在优化过程中,可以使用训练数据集进行反向传播和参数更新,通过迭代的方式逐渐优化评分网络模型。

在优化过程中,可以采用各种方法来提高评分网络模型的性能,例如增加训练数据量,调整模型结构和超参数,引入正则化技术等。通过不断迭代优化,可以使评分网络模型逐渐收敛,并且在评估第一文本描述信息和待选三维场景相似度时表现更好。

最后,根据预设条件,确定最终评分网络模型。在多次优化迭代之后,可以根据一些指标或者评价标准来选择最佳的评分网络模型作为最终模型使用。这个最终评分网络模型经过了构建和优化过程,具备了更好的性能和鲁棒性,可以用于评估第一文本描述信息和待选三维场景之间的相似度。

总之,本实施例评分网络模型的构建、优化和最终确定的过程,旨在提高评分网络模型的性能,使其能够更好地评估第一文本描述信息和待选三维场景之间的相似度。

在一种实施例中,初始评分网络模型包括第一网络结构和第二网络结构,第一网络结构包括依次连接的语言模型和若干个多层感知机,第二网络结构包括依次连接的若干个多层感知机、池化层和若干个多层感知机;

将第一文本描述信息和多个待选三维场景输入至最终评分网络模型,包括:

将第一文本描述信息输入至第一网络结构;

将多个待选三维场景输入至第二网络结构;

根据评分网络模型输出的结果确定各个待选三维场景与第一文本描述信息的相似度,包括:

获取第一网络结构输出的与第一文本描述信息对应的第一描述子向量;

获取第二网络结构输出的与各个待选三维场景对应的第二描述子向量,第一描述子向量的维度和第二描述子向量的维度相同;

计算第一描述子向量和各个第二描述子向量的相似度。

本实施例限定初始评分网络模型由两个网络结构组成,即第一网络结构和第二网络结构。如图4所示,第一网络结构是一个由语言模型和若干个多层感知机(MLP,Multilayer Perceptron)依次连接而成的结构。语言模型负责通过预训练语言模型对第一文本描述信息进行解析,得到与第一文本描述信息相关的特征表示。MLP则负责进一步处理这些特征表示,提取更高级的语义信息。

第二网络结构也是由若干个MLP、池化层和若干个MLP依次连接而成的结构。在这个结构中,待选三维场景被输入至第二网络结构,经过一系列的MLP和池化层的处理,提取出与各个待选三维场景相关的特征表示。

在最终评分网络模型中,将第一文本描述信息输入至第一网络结构,将多个待选三维场景输入至第二网络结构。通过这样的输入方式,可以分别获取第一网络结构输出的与第一文本描述信息对应的第一描述子向量和第二网络结构输出的与各个待选三维场景对应的第二描述子向量。需要注意的是,第一描述子向量的维度和第二描述子向量的维度是相同的。

最后,根据评分网络模型输出的结果,可以计算第一描述子向量和各个第二描述子向量之间的相似度。通过比较这些相似度,可以确定各个待选三维场景与第一文本描述信息的相似程度,从而选择相似度最大的待选三维场景作为目标三维场景。

本实施例中的评分网络模型对待选三维场景点云数据和第一文本描述信息进行处理,具体地,首先将融合后的待选三维场景点云数据进行统一目标点云数目采样,假定允许的待选三维场景的点云数目采样为n个。假定当前待选三维场景包含k个物体,每个物体的点云数目为n

针对采样后得到的n×6维度3D场景点云,本实施例使用多层MLP网络,将输入的初始点云由n×6转换到n×2048维描述子,再通过一层池化层转换到1×2048维描述子,再经过多层MLP网络转换到最终的256维描述子。

在一种实施例中,计算第一描述子向量和各个第二描述子向量的相似度,包括:

计算第一描述子向量和各第二描述子向量间的第一余弦距离;

将相似度最大的待选三维场景确定为目标三维场景,包括:

将第一余弦距离最小的待选三维场景确定为目标三维场景。

本实施例中,首先计算第一描述子向量和各个第二描述子向量之间的第一余弦距离。余弦距离是一种衡量向量相似性的度量方式,可用于计算向量之间的夹角。具体计算步骤如下:获取第一描述子向量和各个第二描述子向量的数值表示;根据向量的数值表示,计算第一描述子向量和各个第二描述子向量之间的余弦相似度;将得到的余弦相似度转换为余弦距离;比较所有待选三维场景对应的余弦距离,找到余弦距离最小的待选三维场景;将余弦距离最小对应的待选三维场景确定为目标三维场景。

通过计算第一描述子向量和各个第二描述子向量之间的余弦距离,可以评估它们之间的相似性。余弦距离越小,表示两个向量越相似。因此,根据余弦距离最小的待选三维场景来确定目标三维场景,可以选择与第一文本描述信息最相似的场景作为最终生成的三维场景。

在一种实施例中,对初始评分网络模型进行优化,包括:

利用对比损失函数对初始评分网络模型进行优化;

将满足预设条件的评分网络模型确定为最终评分网络模型,包括:

将对比损失函数的输出值小于第一阈值的评分网络模型确定为最终评分网络模型。

本实施例描述了对初始评分网络模型的优化和确定最终评分网络模型的方法。首先对初始评分网络模型进行优化的方法是利用对比损失函数。对比损失函数是一种在训练神经网络时用来度量相似性的方法,通过比较两个输入数据之间的相似度来更新网络参数。在本实施例中,对比损失函数可以用来度量第一文本描述信息和多个待选三维场景之间的相似度,从而优化评分网络模型。通过不断迭代训练,可以使评分网络模型更好地捕捉文本描述信息和三维场景之间的关联,从而提高评分的准确度。

接着,根据对比损失函数的输出值确定最终评分网络模型的方法是将对比损失函数的输出值与设定的第一阈值进行比较。如果对比损失函数的输出值小于设定的第一阈值,那么该评分网络模型就会被确定为最终评分网络模型。这个阈值的设定可以根据具体的应用场景和需求来确定,一般可以通过实验和验证来选择最佳的阈值。确定了最终评分网络模型之后,就可以将第一文本描述信息和多个待选三维场景输入至最终评分网络模型进行评估,从而确定目标三维场景。

总之,本实施例提供的利用对比损失函数优化初始评分网络模型和确定最终评分网络模型的方法,从而能够更准确地评估三维场景与文本描述信息之间的相似度,为生成目标三维场景提供了有效的手段。

在一种实施例中,利用对比损失函数对初始评分网络模型进行优化,包括:

将待训练的三维场景数据和待训练的三维场景对应的第三文本描述信息输入至初始评分网络模型,通过初始评分网络模型计算对比损失函数的输出值;

在对比损失函数的输出值大于第二阈值时,使用第一负样本和预设正样本对初始评分网络模型进行优化,第二阈值大于第一阈值;

在对比损失函数的输出值不大于第二阈值时,使用第二负样本和预设正样本对评分网络模型进行优化;

其中,正样本为三维场景数据与文本描述信息相符的样本数据,负样本为三维场景数据与文本描述信息不相符的样本数据,第一负样本对应的文本描述信息与第三文本描述信息之间的相似度小于第二负样本对应的文本描述信息与第三文本描述信息之间的相似度。

为了更好的加速训练效果,保证更快地收敛,本实施例提出了一种先易后难的训练策略,也即先选择简单负样本,再选择困难负样本的训练策略。在训练的早期阶段,评分网络模型尚不具备抽取描述性足够强的描述子,如果提供的是容易混淆的负样本,会极大干扰网络的训练。而在此时如果提供一些差异性非常大的负样本,会使网络更容易区分正负样本。当训练一段时间后,评分网络模型具有了一定的显著性描述子抽取能力,此时提供一些容易混淆的负样本,会进一步增强评分网络模型的能力,实现对较难负样本抽取差异性大的描述子向量。

因此,在对比损失函数的优化过程中,首先将待训练的三维场景数据和待训练的三维场景对应的第三文本描述信息输入至初始评分网络模型,通过初始评分网络模型计算对比损失函数的输出值。当对比损失函数的输出值大于设定的第二阈值时,也即训练初期的时候,使用第一负样本和预设的正样本对初始评分网络模型进行优化。而当对比损失函数的输出值不大于第二阈值时,使用第二负样本和预设的正样本对评分网络模型进行优化。

其中,正样本是指三维场景数据与文本描述信息相符的样本数据,而负样本是指三维场景数据与文本描述信息不相符的样本数据。在这里,第一负样本对应的文本描述信息与第三文本描述信息之间的相似度小于第二负样本对应的文本描述信息与第三文本描述信息之间的相似度。这些样本的选择和使用是为了在优化过程中引入不同程度的难度,以帮助评分网络模型更好地学习样本之间的差异性。

通过这种方式,可以指导评分网络模型更加准确地学习三维场景数据与文本描述信息之间的关联,从而提高生成目标三维场景的准确度和质量。

在一种实施例中,还包括:

提取各负样本的文本描述信息对应的第三描述子向量;

提取第三文本描述信息对应的第四描述子向量;

计算各第三描述子向量和第四描述子向量间的第二余弦距离;

将第二余弦距离大于第三阈值的负样本作为第一负样本;

将第二余弦距离不大于第三阈值的负样本作为第二负样本。

本实施例描述了一种区分第一负样本和第二负样本的具体方式,具体地额,首先提取各负样本的文本描述信息对应的第三描述子向量,并提取第三文本描述信息对应的第四描述子向量。然后,计算每个第三描述子向量与第四描述子向量之间的第二余弦距离。接下来,将第二余弦距离大于第三阈值的负样本作为第一负样本,将第二余弦距离不大于第三阈值的负样本作为第二负样本。

通过这种训练策略,评分网络模型可以根据样本之间的相似度进行优化,使得网络能够更好地区分正负样本,并生成与描述信息相符的描述子向量。这样,最终评分网络模型可以用于对多个待选三维场景进行评估,并选择与第一文本描述信息相似度最大的目标三维场景。

在一种可选的实施例中,在对评分网络模型进行训练时,提供正样本,也提供负样本,使正样本之间的距离越小越好,负样本之间的距离越大越好,同时为了避免负样本的损失无限大,可以设置最远距离d

L=flag×dis(vec

其中,vec

如图5所示,在训练过程中样本的选择上,首先,以数据集中3D场景文本描述及对应的3D场景点云数据,作为正样本,以3D场景文本描述及不对应的3D场景点云数据作为负样本。

其次,为了进行由易到难的训练,本实施例提出根据3D场景文本描述的相似度筛选负样本的策略。先随机选择一个3D场景j,计算其文本描述与当前3D场景i的距离,如果小于一定阈值,则认为是较难负样本;如果大于一定阈值,则认为是较易负样本。具体地,scene

由于余弦函数的范围为[-1,1],因此,两个场景文本描述子的距离范围为[0,2],当距离为0时,说明

再次,在训练早期,根据上一步的负样本筛选策略,选择较易的负样本训练网络;此时,观察训练损失函数,当降至一定数值,也即小于第二阈值后,表明网络已经能够很容易地区分较易的负样本,此后,根据上一步的负样本筛选策略,选择较难的负样本训练网络,使网络能够区分相似样本,最终完成评分网络模型的训练。

为解决上述技术问题,如图6所示本申请还提供了一种基于预训练语言模型的三维场景生成系统,包括:

解析单元61,用于获取用户输入的第一文本描述信息,基于预训练语言模型对文本描述信息进行解析,得到场景空间信息和多个三维物体的第二文本描述信息,目标三维场景中包括场景空间和场景空间中的多个三维物体;

三维物体数据生成单元62,用于根据各第二文本描述信息生成与各三维物体对应的三维物体数据;

布局生成单元63,用于根据场景空间信息和第二文本描述信息生成三维场景空间布局,三维场景空间布局包括各个三维物体在场景空间中的空间位置;

场景生成单元64,用于将三维场景空间布局和三维物体数据融合,得到目标三维场景。

在一种实施例中,布局生成单元63,具体用于根据场景空间信息和第二文本描述信息生成多个不同的三维场景空间布局;

场景生成单元64,包括:

融合单元,用于将各个三维场景空间布局和三维物体数据融合,得到多个不同的待选三维场景;

评估单元,用于根据第一文本描述信息对多个待选三维场景进行评估,根据评估结果确定目标三维场景。

在一种实施例中,评估单元,具体用于根据第一文本描述信息对多个待选三维场景进行打分,将得分最高的待选三维场景确定为目标三维场景。

在一种实施例中,场景空间信息包括场景空间的第一三维尺寸信息,第二文本描述信息包括三维物体的第二三维尺寸信息、三维物体在目标三维场景的位置特征信息;布局生成单元63,具体用于根据第一三维尺寸信息、第二三维尺寸信息、位置特征信息将三维物体在场景空间中进行不同的组合,得到多个三维场景空间布局。

在一种实施例中,将三维物体在场景空间中进行不同的组合的过程遵循预设布局原则,预设布局原则为:各三维物体紧邻场景空间中的地面或天花板或其它三维物体的表面,各三维物体与地面或天花板或其它三维物体在空间上不交叠。

在一种实施例中,布局生成单元63,具体包括:

体积计算单元,用于根据第二三维尺寸信息计算各三维物体的体积;

放置单元,用于按照体积由大到小的顺序依次将各个三维物体放置至场景空间中。

在一种实施例中,放置单元,包括:

初始放置单元,用于按照体积由大到小的顺序查找满足初始放置条件的第一三维物体,初始放置条件为三维物体紧邻场景空间的地面或天花板;

第一位置确定单元,用于根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一空间位置,根据第一空间位置将第一三维物体放置在场景空间中;

剩余物体放置单元,用于按照体积由大到小的顺序依次查找除第一三维物体之外的满足后期放置条件的第二三维物体,后期放置条件为三维物体紧邻地面或天花板或已放置的三维物体表面;

第二位置确定单元,用于确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中,直至完成所有三维物体的放置。

在一种实施例中,还包括:

空间占用信息更新单元,用于根据第一空间位置和第一三维物体的三维尺寸信息更新场景空间的空间占用信息;

第二位置确定单元,具体用于从场景空间中未被占用的空间中确定第二三维物体的第二空间位置,并根据第二空间位置将第二三维物体放置至场景空间中。

在一种实施例中,第一位置确定单元,具体用于根据场景空间的第一三维尺寸信息和第一三维物体的三维尺寸信息随机确定第一三维物体的第一重心位置;根据第一重心位置、第一预设角度和第一三维物体的三维尺寸信息确定第一三维物体的第一空间位置;根据第一空间位置将第一三维物体放置在场景空间中;

第二位置确定单元,具体用于从场景空间中未被占用的空间中随机确定第二三维物体的第二重心位置;根据第二重心位置、第二预设角度和第二三维物体的三维尺寸信息确定第二空间位置;判断第二空间位置是否与场景空间中的地面、天花板及已放置的其他三维物体存在冲突;若存在,则重新进入从场景空间中未被占用的空间中随机确定第二三维物体的第二重心位置的步骤;若不存在,则根据第二空间位置将第二三维物体放置至场景空间中。

在一种实施例中,还包括:

网格划分单元,将场景空间划分为多个空间网格;

根据第一空间位置和第一三维物体的三维尺寸信息更新场景空间的空间占用信息,包括:

根据第一空间位置和第一三维物体的三维尺寸信息确定第一三维物体占用的空间网格;

将已占用的空间网格的状态更新为占用状态;

判断第二空间位置是否与场景空间中的地面、天花板及已放置的其他三维物体存在冲突,包括:

随机从第二空间位置中获取若干个采样点,确定采样点对应的待比较空间网格;

判断待比较空间网格是否存在状态为占用状态的空间网格;

若待比较空间网格存在状态为占用状态的空间网格,则判定存在冲突,否则判定不存在冲突。

在一种实施例中,评估单元,包括:

输入单元,用于将第一文本描述信息和多个待选三维场景输入至评分网络模型;

相似度确定单元,用于根据评分网络模型输出的结果确定各个待选三维场景与第一文本描述信息的相似度;

目标确定单元,用于将相似度最大的待选三维场景确定为目标三维场景。

在一种实施例中,还包括:

数据转换单元,用于将各三维物体数据转换为对应的三维物体点云数据;

融合单元,具体用于将各个三维场景空间布局和三维物体点云数据融合,得到多个不同的待选三维场景。

在一种实施例中,还包括:

获取单元,用于获取各待选三维场景的待选三维场景点云数据;

输入单元,具体用于将第一文本描述信息和多个待选三维场景点云数据输入至评分网络模型。

在一种实施例中,相似度确定单元,包括:

第一提取单元,用于获取评分网络模型输出的与第一文本描述信息对应的第一描述子向量;

第二提取单元,用于获取评分网络模型输出的与各个待选三维场景对应的第二描述子向量;

第一计算单元,用于计算第一描述子向量和各个第二描述子向量的相似度。

在一种实施例中,还包括:

模型构建及优化单元,用于构建初始评分网络模型,并对初始评分网络模型进行优化;

模型确定单元,用于将满足预设条件的评分网络模型确定为最终评分网络模型;

输入单元,具体用于将第一文本描述信息和多个待选三维场景输入至最终评分网络模型。

在一种实施例中,初始评分网络模型包括第一网络结构和第二网络结构,第一网络结构包括依次连接的语言模型和若干个多层感知机,第二网络结构包括依次连接的若干个多层感知机、池化层和若干个多层感知机;

输入单元,具体用于将第一文本描述信息输入至第一网络结构;将多个待选三维场景输入至第二网络结构;

相似度确定单元,包括:

第一提取单元,用于获取第一网络结构输出的与第一文本描述信息对应的第一描述子向量;

第二提取单元,用于获取第二网络结构输出的与各个待选三维场景对应的第二描述子向量,第一描述子向量的维度和第二描述子向量的维度相同;

第一计算单元,用于计算第一描述子向量和各个第二描述子向量的相似度。

在一种实施例中,第一计算单元,具体用于计算第一描述子向量和各第二描述子向量间的第一余弦距离;

目标确定单元,具体用于将第一余弦距离最小的待选三维场景确定为目标三维场景。

在一种实施例中,模型构建及优化单元,具体用于利用对比损失函数对初始评分网络模型进行优化;

模型确定单元,具体用于将对比损失函数的输出值小于第一阈值的评分网络模型确定为最终评分网络模型。

在一种实施例中,模型构建及优化单元,具体包括:

模型评价单元,用于将待训练的三维场景数据和待训练的三维场景对应的第三文本描述信息输入至初始评分网络模型,通过初始评分网络模型计算对比损失函数的输出值;

第一优化单元,用于在对比损失函数的输出值大于第二阈值时,使用第一负样本和预设正样本对初始评分网络模型进行优化,第二阈值大于第一阈值;

第二优化单元,用于在对比损失函数的输出值不大于第二阈值时,使用第二负样本和预设正样本对评分网络模型进行优化;

其中,正样本为三维场景数据与文本描述信息相符的样本数据,负样本为三维场景数据与文本描述信息不相符的样本数据,第一负样本对应的文本描述信息与第三文本描述信息之间的相似度小于第二负样本对应的文本描述信息与第三文本描述信息之间的相似度。

在一种实施例中,还包括:

第三提取单元,用于提取各负样本的文本描述信息对应的第三描述子向量;

第四提取单元,用于提取第三文本描述信息对应的第四描述子向量;

第二计算单元,用于计算各第三描述子向量和第四描述子向量间的第二余弦距离;

第一负样本确定单元,用于将第二余弦距离大于第三阈值的负样本作为第一负样本;

第二负样本确定单元,用于将第二余弦距离不大于第三阈值的负样本作为第二负样本。

对于基于预训练语言模型的三维场景生成系统的介绍请参照上述实施例,本申请在此不再赘述。

为解决上述技术问题,如图7所示,本申请还提供了一种基于预训练语言模型的三维场景生成装置,包括:

存储器71,用于存储计算机程序;

处理器72,用于在执行计算机程序时,实现上述的基于预训练语言模型的三维场景生成方法的步骤。

对于基于预训练语言模型的三维场景生成装置的介绍请参照上述实施例,本申请在此不再赘述。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的基于预训练语言模型的三维场景生成方法的步骤。

对于计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 两层充电式升降横移立体车库
  • 路侧式两层简易升降类车库
  • 一种基于超声波探测器的两层简易升降类立体车库
技术分类

06120116522815