调整模型训练方法、装置、计算机设备及存储介质转让专利

申请号 : CN202310391218.3

文献号 : CN116109799B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周昆丘祖聪蒋念娟吕江波沈小勇

申请人 : 深圳思谋信息科技有限公司上海思谋科技有限公司

摘要 :

本申请涉及一种调整模型训练方法。所述方法包括:获取目标对象的视角图像,对应初始三维网格的初始坐标集合和中间坐标集合;将中间坐标集合输入到初始第一模型,得到调整参数,基于调整参数对初始坐标集合进行调整,得到调整坐标集合;将调整坐标集合投影到视角图像所在的视角平面,得到投影坐标集合;针对视角图像中的每个像素点,基于投影坐标集合中包围像素点的包围顶点,与像素点之间的位置关系,得到像素点的预测像素值;基于视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型;目标第一模型用于对初始三维网格进行调整。采用本方法能够提高三维网格的准确性。

权利要求 :

1.一种调整模型训练方法,其特征在于,所述方法包括:

获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合;所述中间坐标集合为对所述初始坐标集合进行融合处理得到的结果;

将所述中间坐标集合输入到初始第一模型,得到调整参数,基于所述调整参数对所述初始坐标集合进行调整,得到调整坐标集合;

将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合;

针对所述视角图像中的每个像素点,获取所述像素点对应包围顶点的投影坐标,基于所述像素点的像素点二维坐标,与对应的所述包围顶点的投影坐标之间的位置关系,得到所述像素点的像素点三维坐标和法向量,基于所述像素点的像素点三维坐标和法向量,得到所述像素点的预测像素值;

基于所述视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型;所述目标第一模型用于对所述初始三维网格进行调整。

2.根据权利要求1所述的方法,其特征在于,所述基于所述视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型包括:针对所述视角图像中的每一个像素点,将所述像素点的预测像素值减去像素值,得到所述像素点对应的差异值;

对所述视角图像中各个像素点对应的差异值进行统计,得到所述视角图像的误差损失;

根据所述误差损失对所述初始第一模型的模型参数进行调整,直至满足训练停止条件,得到目标第一模型。

3.根据权利要求1所述的方法,其特征在于,所述基于所述像素点的像素点二维坐标,与对应的所述包围顶点的投影坐标之间的位置关系,得到所述像素点的像素点三维坐标和法向量包括:基于所述像素点二维坐标和所述投影坐标,计算所述像素点相对于所述包围顶点的质心坐标;

基于所述质心坐标和所述包围顶点的调整坐标,得到所述像素点的像素点三维坐标;

基于所述包围顶点的调整坐标,计算所述包围顶点组成面片的面片法向量,基于所述包围顶点对应的各个面片的面片法向量,得到所述包围顶点的顶点法向量;

基于所述质心坐标和所述包围顶点的顶点法向量,得到所述像素点的法向量。

4.根据权利要求1所述的方法,其特征在于,所述基于所述像素点的像素点三维坐标和法向量,得到所述像素点的预测像素值包括:将所述像素点的像素点三维坐标和法向量,输入初始第二模型,得到所述像素点的预测像素值;

基于所述视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型,包括:基于所述视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型和初始第二模型进行训练,得到目标第一模型和目标第二模型。

5.根据权利要求1所述的方法,其特征在于,所述将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合包括:获取所述视角图像对应的相机参数;所述相机参数中包括内参和外参;

对所述内参与所述外参进行融合,得到投影参数;

基于所述投影参数,将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合。

6.根据权利要求1所述的方法,其特征在于,所述获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合包括:获取所述目标对象各个视角对应的视角图像和相机参数;

分别对每张所述视角图像进行前景后景分割,得到每张所述视角图像对应的分割图像;

基于各个所述视角对应的分割图像和相机参数,对所述目标对象进行三维重建,得到所述目标对象对应的初始三维网格;

基于所述初始三维网格中每个顶点的初始顶点坐标,得到所述初始三维网格对应的初始坐标集合;

基于所述初始三维网格中每条边对应的顶点与顶点之间的连接信息,得到所述初始三维网格对应的连接关系;

基于所述连接关系,对所述初始坐标集合进行融合处理,得到中间坐标集合。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述中间坐标集合输入所述目标第一模型,得到目标调整参数;

基于所述目标调整参数,对所述初始坐标集合进行调整,得到目标调整坐标集合;

基于所述目标调整坐标集合和所述初始三维网格对应的连接关系,得到目标三维网格。

8.一种调整模型训练装置,其特征在于,所述装置包括:

获取模块,用于获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合;所述中间坐标集合为对所述初始坐标集合进行融合处理得到的结果;

输入模块,用于将所述中间坐标集合输入到初始第一模型,得到调整参数,基于所述调整参数对所述初始坐标集合进行调整,得到调整坐标集合;

投影模块,用于将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合;

预测模块,用于针对所述视角图像中的每个像素点,获取所述像素点对应包围顶点的投影坐标,基于所述像素点的像素点二维坐标,与对应的所述包围顶点的投影坐标之间的位置关系,得到所述像素点的像素点三维坐标和法向量,基于所述像素点的像素点三维坐标和法向量,得到所述像素点的预测像素值;

训练模块,用于基于所述视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型;所述目标第一模型用于对所述初始三维网格进行调整。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书 :

调整模型训练方法、装置、计算机设备及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种调整模型训练方法、装置、计算机设备及存储介质。

背景技术

[0002] 随着计算机技术的发展,出现了三维重建技术,三维重建技术是指根据目标对象的多张二维图像恢复目标对象三维结构的技术,采用目标对象的多视图像对目标对象进行三维重建,得到目标对象的三维网格。
[0003] 传统技术中,使用MVS(Multi‑view stereo,多视点立体视觉)算法从多视角图像中采集图像数据集,然后使用图像数据集来构建图像的三维网格,三维网格中存在局部细节模糊的现象,三维网格的准确性较低。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高三维网格准确性的调整模型训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005] 第一方面,本申请提供了一种调整模型训练方法。所述方法包括:
[0006] 获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合;所述中间坐标集合为对所述初始坐标集合进行融合处理得到的结果;
[0007] 将所述中间坐标集合输入到初始第一模型,得到调整参数,基于所述调整参数对所述初始坐标集合进行调整,得到调整坐标集合;
[0008] 将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合;
[0009] 针对所述视角图像中的每个像素点,基于所述投影坐标集合中包围所述像素点的包围顶点,与所述像素点之间的位置关系,得到所述像素点的预测像素值;
[0010] 基于所述视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型;所述目标第一模型用于对所述初始三维网格进行调整。
[0011] 在一个实施例中,所述基于所述投影坐标集合中包围所述像素点的包围顶点,与所述像素点之间的位置关系,得到所述像素点的预测像素值包括:
[0012] 获取所述像素点对应包围顶点的投影坐标;
[0013] 基于所述像素点的像素点二维坐标,与对应的所述包围顶点的投影坐标之间的位置关系,得到所述像素点的像素点三维坐标和法向量;
[0014] 基于所述像素点的像素点三维坐标和法向量,得到所述像素点的预测像素值。
[0015] 在一个实施例中,所述基于所述像素点的像素点二维坐标,与对应的所述包围顶点的投影坐标之间的位置关系,得到所述像素点的像素点三维坐标和法向量包括:
[0016] 基于所述像素点二维坐标和所述投影坐标,计算所述像素点相对于所述包围顶点的质心坐标;
[0017] 基于所述质心坐标和所述包围顶点的调整坐标,得到所述像素点的像素点三维坐标;
[0018] 基于所述包围顶点的调整坐标,计算所述包围顶点组成面片的面片法向量,基于所述包围顶点对应的各个面片的面片法向量,得到所述包围顶点的顶点法向量;
[0019] 基于所述质心坐标和所述包围顶点的顶点法向量,得到所述像素点的法向量。
[0020] 在一个实施例中,所述基于所述像素点的像素点三维坐标和法向量,得到所述像素点的预测像素值包括:
[0021] 将所述像素点的像素点三维坐标和法向量,输入初始第二模型,得到所述像素点的预测像素值;
[0022] 基于所述视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型,包括:
[0023] 基于所述视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型和初始第二模型进行训练,得到目标第一模型和目标第二模型。
[0024] 在一个实施例中,所述将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合包括:
[0025] 获取所述视角图像对应的相机参数;所述相机参数中包括内参和外参;
[0026] 对所述内参与所述外参进行融合,得到投影参数;
[0027] 基于所述投影参数,将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合。
[0028] 在一个实施例中,所述获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合包括:
[0029] 获取所述目标对象各个视角对应的视角图像和相机参数;
[0030] 分别对每张所述视角图像进行前景后景分割,得到每张所述视角图像对应的分割图像;
[0031] 基于各个所述视角对应的分割图像和相机参数,对所述目标对象进行三维重建,得到所述目标对象对应的初始三维网格;
[0032] 基于所述初始三维网格中每个顶点的初始顶点坐标,得到所述初始三维网格对应的初始坐标集合;
[0033] 基于所述初始三维网格中每条边对应的顶点与顶点之间的连接信息,得到所述初始三维网格对应的连接关系;
[0034] 基于所述连接关系,对所述初始坐标集合进行融合处理,得到中间坐标集合。
[0035] 在一个实施例中,所述调整模型训练方法还包括:
[0036] 将所述中间坐标集合输入所述目标第一模型,得到目标调整参数;
[0037] 基于所述目标调整参数,对所述初始坐标集合进行调整,得到目标调整坐标集合;
[0038] 基于所述目标调整坐标集合和所述初始三维网格对应的连接关系,得到目标三维网格。
[0039] 第二方面,本申请还提供了一种调整模型训练装置。所述装置包括:
[0040] 获取模块,用于获取目标对象的视角图像,以及所述目标对象对应初始三维网格的初始坐标集合和中间坐标集合;所述中间坐标集合为对所述初始坐标集合进行融合处理得到的结果;
[0041] 输入模块,用于将所述中间坐标集合输入到初始第一模型,得到调整参数,基于所述调整参数对所述初始坐标集合进行调整,得到调整坐标集合;
[0042] 投影模块,用于将所述调整坐标集合投影到所述视角图像所在的视角平面,得到投影坐标集合;
[0043] 预测模块,用于针对所述视角图像中的每个像素点,基于所述投影坐标集合中包围所述像素点的包围顶点,与所述像素点之间的位置关系,得到所述像素点的预测像素值;
[0044] 训练模块,用于基于所述视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于所述误差损失对所述初始第一模型进行训练,得到目标第一模型;所述目标第一模型用于对所述初始三维网格进行调整。
[0045] 第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各方面提供的调整模型训练方法中的步骤。
[0046] 第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各方面提供的调整模型训练方法中的步骤。
[0047] 上述调整模型训练方法、装置、计算机设备、存储介质和计算机程序产品,将中间坐标集合输入到初始第一模型,初始第一模型为未经过训练的第一模型,得到的调整参数准确性较低,基于调整参数对初始坐标集合进行调整,从而导致得到的调整坐标集合的准确性较低,根据调整坐标集合中的包围顶点与像素点之间的位置关系,得到像素点的预测像素值,进一步导致预测像素值的准确较低,由于预测像素值的准确性较低,所以像素点的像素值和预测像素值之间会存在差异,将视角图像中各个像素点的像素值与预测像素值之间的总差异作为误差损失,使用误差损失对初始第一模型进行训练,训练的目的是为了降低像素值和预测像素值之间的差异,训练的本质为提高初始第一模型的准确性,使用目标对象的多张视角图像对初始第一模型进行多次训练,提高了目标第一模型的准确性。使用目标第一模型对初始三维网格进行调整,即使用目标第一模型输出的调整参数对初始坐标集合进行调整,使用准确性较高的调整参数对初始坐标集合进行调整,得到目标调整坐标集合,可以理解为,在传统方法构建的初始三维网格的基础上,使用目标第一模型对初始三维网格中顶点坐标进行优化,提高了目标调整坐标集合的准确性,根据目标调整坐标集合得到的目标三维网格,相比于初始三维网格,准确性更高。

附图说明

[0048] 图1为一个实施例中调整模型训练方法的应用环境图;
[0049] 图2为一个实施例中调整模型训练方法的流程示意图;
[0050] 图3为一个实施例中像素点三维坐标和法向量求解步骤的流程示意图;
[0051] 图4为一个实施例中初始坐标集合和中间坐标集合获取步骤的流程示意图;
[0052] 图5为一个实施例中飞机模型的四张视角图像;
[0053] 图6为一个实施例中飞机模型的初始三维网格图;
[0054] 图7为一个实施例中飞机模型的初始三维网格中局部放大图;
[0055] 图8为一个实施例中训练调整模型的系统流程图;
[0056] 图9为一个实施例中初始三维网格和目标三维网格的对比图;
[0057] 图10为一个实施例中三维网格调整装置的结构框图;
[0058] 图11为一个实施例中计算机设备的内部结构图。

具体实施方式

[0059] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0060] 本申请实施例提供的调整模型训练方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端和服务器均可单独用于执行本申请实施例中提供的调整模型训练方法。终端和服务器也可协同用于执行本申请实施例中提供的调整模型训练方法。例如,计算机设备获取目标对象的视角图像,以及目标对象对应初始三维网格的初始坐标集合和中间坐标集合,将中间坐标集合输入到初始第一模型,得到调整参数,基于调整参数对初始坐标集合进行调整,得到调整坐标集合,将调整坐标集合投影到视角图像所在的视角平面,得到投影坐标集合,针对视角图像中的每个像素点,基于投影坐标集合中包围像素点的包围顶点,与像素点之间的位置关系,得到像素点的预测像素值,基于视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型,使用目标第一模型对初始三维网格进行调整,得到目标三维网格。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0061] 在一个实施例中,如图2所示,提供了一种调整模型训练方法,该方法可应用于计算机设备,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。本实施例以该方法应用于计算机设备为例进行说明,包括步骤202到步骤210。
[0062] 步骤202,获取目标对象的视角图像,以及目标对象对应初始三维网格的初始坐标集合和中间坐标集合;中间坐标集合为对初始坐标集合进行融合处理得到的结果。
[0063] 其中,目标对象是指构建三维网格的对象。可以理解为,目标对象为一个三维实体。例如,手表、小狗、鲜花等。视角图像是指目标对象的某一个视角对应的平面图像。视角图像由多个像素点组成,每个像素点对应一个像素点二维坐标和一个像素值,像素点二维坐标代表该像素点在视角图像中的位置,像素值代表该像素点的颜色。三维网格是指三维空间中的网格结构,三维网格表征目标对象的三维结构。三维网格由若干个多边形面片组成,多边形面片由边、顶点和边包围的平面组成。例如,三维网格由多个三角形面片组成。初始坐标集合是指三维网格中所有顶点的顶点坐标组成的集合。初始坐标集合可以表示为数组或者矩阵等形式。中间坐标集合是指基于初始三维网格中的连接关系,对初始坐标集合进行融合处理,得到的结果。连接关系是指三维网格中所有顶点之间的连接关系。连接关系可以表示为边集合或者邻接矩阵等形式。
[0064] 示例性的,计算机设备获取目标对象多个视角的视角图像,基于多个视角图像,对目标对象进行三维网格重建,得到目标对象的初始三维网格,基于初始三维网格,得到初始三维网格的初始坐标集合,对初始坐标集合进行融合处理,得到中间坐标集合。
[0065] 步骤204,将中间坐标集合输入到初始第一模型,得到调整参数,基于调整参数对初始坐标集合进行调整,得到调整坐标集合。
[0066] 其中,初始第一模型是指未经过训练,对调整参数进行预测的神经网络模型。初始第一模型可以为GCN(Gateway Connection Network,图卷积神经网络)网络,由多层全连接神经网络组成,全连接神经网络是一种多层的感知机结构。调整参数是指用于对初始坐标集合进行调整的参数。调整参数可以表示为数组或者矩阵等形式。
[0067] 示例性的,计算机设备将中间坐标集合输入初始第一模型,初始第一模型输出调整参数,计算机设备将初始坐标集合与调整参数相加,得到调整坐标集合。
[0068] 步骤206,将调整坐标集合投影到视角图像所在的视角平面,得到投影坐标集合。
[0069] 其中,视角平面是指根据视角图像的相机参数所确定的平面。可以理解为,根据视角图像的相机参数,对调整坐标集合进行投影,投影点所在的平面。
[0070] 示例性的,计算机设备获取视角图像对应的相机参数,基于相机参数确定投影平面,将调整坐标集合投影到投影平面中,得到投影坐标集合。
[0071] 步骤208,针对视角图像中的每个像素点,基于投影坐标集合中包围像素点的包围顶点,与像素点之间的位置关系,得到像素点的预测像素值。
[0072] 其中,像素点是指组成图像的基本元素。可以理解为,组成图像最小的点。包围顶点是指像素点所在多边形面片的顶点。可以理解为,将调整坐标集合投影到视角图像所在的平面,得到视角平面的投影点,根据初始三维网格中顶点之间的连接关系,对投影点之间进行连接,得到多个多边形面片,将像素点所在多边形面片的顶点,作为该像素点的包围顶点。预测像素值是指像素点的预估像素值。可以理解为,根据像素点和像素点的包围顶点,对像素点的像素值进行预估,得到像素点的预估像素值。
[0073] 示例性的,计算机设备对于视角图像中的每个像素点,基于投影坐标集合和像素点二维坐标,确定像素点的包围顶点,根据包围顶点与像素点之间的位置关系,对该像素点在的像素值进行预测,得到像素点的预测像素值。
[0074] 步骤210,基于视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型;目标第一模型用于对初始三维网格进行调整。
[0075] 其中,误差损失是指视角图像中像素点的像素值和预测像素值之间的差异之和。
[0076] 示例性的,针对视角图像中的每一个像素点,计算机设备将像素点的预测像素值减去像素值,得到像素点对应的差异值,对视角图像中各个像素点对应的差异值进行统计,得到目标图像的误差损失,然后根据误差损失对初始第一模型的模型参数进行调整,直至满足训练停止条件,得到目标第一模型。
[0077] 在一个实施例中,误差损失的计算公式如下所示:
[0078]
[0079] 其中,Loss为误差损失,N为视角图像中像素点的总数,Ci为第i个像素点的预测像素值,Ci*为第i个像素点的像素值。
[0080] 在一个实施例中,基于视角图像的误差损失对初始第一模型中的模型参数进行调整,得到更新后的初始第一模型,获取目标对象的下一张视角图像,重复执行步骤204至步骤210,直至下一张视角图像为目标对象的最后一张视角图像,则停止训练,得到目标第一模型。
[0081] 在一个实施例中,基于视角图像的误差损失对初始第一模型中的模型参数进行调整,得到更新后的初始第一模型,获取目标对象的下一张视角图像,重复执行步骤204至步骤210,直至误差损失小于误差阈值,则停止训练,得到目标第一模型。
[0082] 上述调整模型训练方法中,将中间坐标集合输入到初始第一模型,初始第一模型为未经过训练的第一模型,得到的调整参数准确性较低,基于调整参数对初始坐标集合进行调整,从而导致得到的调整坐标集合的准确性较低,根据调整坐标集合中的包围顶点与像素点之间的位置关系,得到像素点的预测像素值,进一步导致预测像素值的准确较低,由于预测像素值的准确性较低,所以像素点的像素值和预测像素值之间会存在差异,将视角图像中各个像素点的像素值与预测像素值之间的总差异作为误差损失,使用误差损失对初始第一模型进行训练,训练的目的是为了降低像素值和预测像素值之间的差异,训练的本质为提高初始第一模型的准确性,使用目标对象的多张视角图像对初始第一模型进行多次训练,提高了目标第一模型的准确性。使用目标第一模型对初始三维网格进行调整,即使用目标第一模型输出的调整参数对初始坐标集合进行调整,使用准确性较高的调整参数对初始坐标集合进行调整,得到目标调整坐标集合,可以理解为,在传统方法构建的初始三维网格的基础上,使用目标第一模型对初始三维网格中顶点坐标进行优化,提高了目标调整坐标集合的准确性,根据目标调整坐标集合得到的目标三维网格,相比于初始三维网格,准确性更高。
[0083] 在一个实施例中,基于投影坐标集合中包围像素点的包围顶点,与像素点之间的位置关系,得到像素点的预测像素值包括:
[0084] 获取像素点对应包围顶点的投影坐标;基于像素点的像素点二维坐标,与对应的包围顶点的投影坐标之间的位置关系,得到像素点的像素点三维坐标和法向量;基于像素点的像素点三维坐标和法向量,得到像素点的预测像素值。
[0085] 其中,像素点二维坐标是指代表像素点在视角图像中位置的坐标。像素点三维坐标是指该像素点在三维网格中位置的坐标。法向量是指垂直于平面的直线所表示的向量。可以理解为,垂直于包围顶点和像素点所在平面的直线所表示的向量。
[0086] 示例性的,计算机设备基于投影坐标集合和像素点二维坐标,确定包围像素点的包围顶点,从投影坐标集合中获取包围顶点的投影坐标,根据像素点二维坐标与投影坐标之间的位置关系,计算像素点的像素点三维坐标和法向量,然后根据像素点的像素点三维坐标和法向量,对像素点的像素值进行预测,得到像素点的预测像素值。
[0087] 本实施例中,由于像素点的包围顶点与像素点的位置较近,所以像素点的像素值和三维坐标与包围顶点的比较接近,根据像素点与包围顶点之间的位置关系,基于包围顶点确定像素点在三维网格中的像素点三维坐标和像素值,提高了的像素点三维坐标和预测像素值的准确性。
[0088] 在一个实施例中,如图3所示,基于像素点的像素点二维坐标,与对应的包围顶点的投影坐标之间的位置关系,得到像素点的像素点三维坐标和法向量包括::
[0089] 步骤302,基于像素点二维坐标和投影坐标,计算像素点相对于包围顶点的质心坐标。
[0090] 其中,质心坐标是指在几何结构中,图形中的点相对各顶点的位置。
[0091] 示例性的,计算机设备根据像素点二维坐标和投影坐标,对像素点相对于包围顶点的质心坐标进行计算,得到质心坐标。
[0092] 步骤304,基于质心坐标和包围顶点的调整坐标,得到像素点的像素点三维坐标。
[0093] 示例性的,计算机设备基于质心坐标,确定每个包围顶点对应的调整系数,基于包围顶点对应的调整系数和调整坐标,确定像素点的像素点三维坐标。
[0094] 在一个实施例中,像素点的有三个包围顶点,像素点三维坐标的计算公式如下所示:
[0095] Vp=a0*P1+a1*P2+(1‑a0‑a1)*P3 公式(2)
[0096] 其中,Vp为像素点三维坐标,a0为质心坐标中的X轴坐标,a1为质心坐标中的Y轴坐标,P1、P2、P3分别为三个包围顶点的调整坐标。
[0097] 步骤306,基于包围顶点的调整坐标,计算包围顶点组成面片的面片法向量,基于包围顶点对应的各个面片的面片法向量,得到包围顶点的顶点法向量。
[0098] 其中,面片是指包围顶点形成的平面。例如,由三个包围顶点形成的三角形平面。包围顶点对应的各个面片是指以包围顶点为其中一个顶点的所有面片。
[0099] 示例性的,计算机设备基于两个包围顶点的调整坐标,得到两个包围顶点之间的直线向量,使用两个直线向量计算面片的面片法向量,基于上述方法,计算包围顶点对应的各个面片的面片法向量,针对每一个包围顶点,对包围顶点对应的各个面片的面片法向量进行平均,得到包围顶点的顶点法向量。
[0100] 步骤308,基于质心坐标和包围顶点的顶点法向量,得到像素点的法向量。
[0101] 示例性的,计算机设备基于质心坐标,分别确定每个包围顶点对应的调整系数,基于每个包围顶点对应调整系数和顶点法向量,确定像素点的法向量。
[0102] 在一个实施例中,像素点的有三个包围顶点,像素点的法向量的计算公式如下所示:
[0103] Np=a0*N1+a1*N2+(1‑a0‑a1)*N3 公式(3)
[0104] 其中,Np为像素点的法向量,a0为质心坐标中的X轴坐标,a1为质心坐标中的Y轴坐标,N1、N2、N3分别为三个包围顶点的顶点法向量。
[0105] 本实施例中,通过像素点的质心坐标以及对应包围顶点的投影坐标,确定像素点在三维网格中的像素点三维坐标,以及像素点在三维网格中的法线向量,为预测像素点的预测像素值提供了基础数据。
[0106] 在一个实施例中,基于像素点的像素点三维坐标和法向量,得到像素点的预测像素值包括:
[0107] 将像素点的像素点三维坐标和法向量,输入初始第二模型,得到像素点的预测像素值;基于视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型,包括:基于视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型和初始第二模型进行训练,得到目标第一模型和目标第二模型。
[0108] 其中,初始第二模型是指未经过训练,基于像素点的像素点三维坐标和法向量,对像素点在三维网格中的像素值进行预测的神经网络模型。初始第二模型可以为MLP(Multilayer Perceptron,多层感知机)神经网络模型。
[0109] 示例性的,计算机设备将像素点的像素点三维坐标和法向量,输入初始第二模型,得到像素点的预测像素值,针对视角图像中的每一个像素点,将像素点的预测像素减去像素值,得到像素点对应的差异值,将视角图像中各个像素点对应的差异值进行统计,得到视角图像的误差损失,基于误差损失对初始第一模型的模型参数和初始第二模型的模型参数进行调整,直至满足训练停止条件,得到目标第一模型和目标第二模型。
[0110] 本实施例中,通过多个视角图像对应的误差损失,对初始第一模型和初始第二模型进行训练,随着训练次数的增加,视角图像的误差损失逐渐减小,初始第一模型和初始第二模型预测的准确性逐渐提高,直至经过多次训练之后得到目标第一模型和目标第二模型,提高了目标第一模型和目标第二模预测的准确性。
[0111] 在一个实施例中,将调整坐标集合投影到目标视角所在的视角平面,得到投影坐标集合包括:
[0112] 获取视角图像对应的相机参数;相机参数中包括内参和外参;对内参与外参进行融合,得到投影参数;基于投影参数,将调整坐标集合投影到目标视角所在的视角平面,得到投影坐标集合。
[0113] 其中,相机参数是指拍摄视角图片时,相机的参数集合。相机参数包括内参和外参。内参是指相机的内参矩阵。一个相机的内参是固定的。外参是指代表拍摄视角图片时相机位姿的参数。外参由旋转矩阵和平移向量组成。
[0114] 示例性的,计算机设备获取视角图像对应的相机参数,将相机参数中的内参乘以外参,得到目标视角对应的投影参数,然后将投影参数乘以调整坐标集合,得到投影坐标集合。
[0115] 在一个实施例中,投影参数的计算公式和投影坐标集合的计算公式如下所示:
[0116] T=K*[R,t] 公式(4)
[0117] U=T*X 公式(5)
[0118] 其中,T为投影参数,R、t、K为相机参数,R为旋转矩阵,t为平移向量,k为内参矩阵,[R,t]为内参,U为投影坐标集合,投影坐标集合为一个N*2的矩阵,每一行的两个元素为一个顶点的二维坐标,X为调整坐标集合,调整坐标集合为一个N*3的矩阵,每一行的三个元素值为一个顶点的三维坐标。
[0119] 在一个实施例中,计算机获取目标视角对应的相机参数,基于相机参数和调整坐标集合计算投影坐标集合,计算公式如下所示:
[0120] U=K*[R,t]*X 公式(6)
[0121] 本实施例中,通过目标视角的相机参数,将调整坐标集合投影到目标视角所对应的视角平面,为确定像素点的包围顶点提供了准确的基础数据。
[0122] 在一个实施例中,如图4所示,获取目标对象的视角图像,以及目标对象对应初始三维网格的初始坐标集合和中间坐标集合包括:
[0123] 步骤402,获取目标对象各个视角对应的视角图像和相机参数。
[0124] 其中,视角是指拍摄视角图像时所选择的拍摄角度和位置。视角的选择会影响视角图像中目标对象的呈现效果和视觉传达效果。
[0125] 示例性的,计算机设备获取包含目标对象的多张视角图像,以及每张视角图像对应的相机参数,其中,多张视角图像为从不同视角对目标对象进行拍摄的图像。
[0126] 步骤404,分别对每张视角图像进行前景后景分割,得到每张视角图像对应的分割图像。
[0127] 其中,前景后景分割是指对图像中的前景和后景进行分离处理。可以理解为,图片中的目标对象为前景,除目标对象以外的背景为后景,将图像中的目标对象从图像中分离出来。分割图像是指仅包含目标对象的图片。
[0128] 示例性的,计算机设备分别对每张视角图像进行前景后景分割,得到每张视角图像对应的分割图像。
[0129] 步骤406,基于各个视角对应的分割图像和相机参数,对目标对象进行三维重建,得到目标对象对应的初始三维网格。
[0130] 其中,三维重建是指根据目标对象的多张二维图像恢复出目标对象的三维结构,得到代表目标对象三维结构的三维网格。
[0131] 示例性的,计算机设备使用各个视角对应的分割图像和相机参数,对目标对象进行三维重建,得到目标对象对应的初始三维网格。
[0132] 在一个实施中,初始三维网格由多个三角面片组成,每一个三角面片包含三条边和三个顶点。例如,飞机模型的其中四张视角图像如图5所示,构建的飞机模型的初始三维网格如图6所示,如图6所示的初始三维网格中的局部放大图如图7所示。
[0133] 步骤408,基于初始三维网格中每个顶点的初始顶点坐标,得到初始三维网格对应的初始坐标集合。
[0134] 示例性的,计算机设备获取初始三维网格中每个顶点的初始顶点坐标,将所有的初始顶点坐标组成初始坐标集合。
[0135] 在一个实施例中,计算机设备使用GAN(生成对抗网络,Generative Adversarial Network)提取初始三维网格中包含的边和顶点,以及顶点对应的初始顶点坐标,将初始三维网格中包含的边组成边集合,将初始三维网格中包含的顶点组成点集合,所有的初始顶点坐标组成初始坐标集合。
[0136] 步骤410,基于初始三维网格中每条边对应的顶点与顶点之间的连接信息,得到初始三维网格对应的连接关系。
[0137] 其中,连接信息是指顶点与顶点之间连接的信息。例如,顶点A与顶点B连接。
[0138] 示例性的,计算机设备针对每一个顶点,确定包含顶点的边,基于包含顶点的边,确定顶点对应的连接顶点,基于各个顶点对应的连接顶点,得到初始三维网格对应的连接关系。
[0139] 在一个实施例中,基于初始三维网格中每条边对应的顶点与顶点之间的连接信息,得到邻接矩阵,邻接矩阵的每一行代表一个顶点,每一列代表一个顶点,邻接矩阵中的每一个元素代表对应两个顶点之间的关系,如下所述:
[0140]
[0141] 其中,L(i,j)为i行j列的元素值,当第i行对应的顶点与第j行对应的顶点之间不存在连接关系,则L(i,j)的元素值为0;当第i行对应的顶点和第j行对应的顶点为同一个顶点,则L(i,j)的元素值为‑1;当第i行对应的顶点和第j行对应的顶点之间存在连接关系,则L(i,j)的元素值为1/K,K为第i行对应的顶点的度,即与第i行对应的顶点相连的边的数目。
[0142] 步骤412,基于连接关系,对初始坐标集合进行融合处理,得到中间坐标集合。
[0143] 其中,融合处理是指将顶点的坐标信息与连接关系进行聚合。
[0144] 示例性的,计算机设备基于设定的融合处理方式,使用连接关系分别对初始坐标集合中的每一个初始坐标进行融合处理,得到每一个初始坐标对应的中间坐标,将所有的中间坐标组成中间坐标集合。
[0145] 在一个实施例中,计算机设备首先将连接关系表示为邻接矩阵,将初始坐标集合表示为坐标矩阵,然后将邻接矩阵乘以坐标矩阵,得到中间坐标集合。
[0146] 本实施例中,通过目标对象对应的多张视角图像和对应相机参数,构建目标对象的初始三维网格,从初始三维网格中获取初始坐标集合和连接关系,基于三维网格中各个顶点之间的连接关系对初始坐标集合进行融合,在中间坐标集合中融合了顶点与顶点之间的连接关系,增加了中间坐标集合中包含的信息量,为后续初始第一模型的训练提供了信息丰富的基础数据。
[0147] 在一个实施例中,调整模型训练方法还包括:
[0148] 将中间坐标集合输入目标第一模型,得到目标调整参数;基于目标调整参数,对初始坐标集合进行调整,得到目标调整坐标集合;基于目标调整坐标集合和初始三维网格对应的连接关系,得到目标三维网格。
[0149] 示例性的,计算机设备将中间坐标集合输入目标第一模型,目标第一模型输出目标调整参数,计算机设备将初始坐标集合与目标调整参数相加,得到目标调整坐标集合,根据目标调整坐标集合确定每个顶点的位置,然后根据连接关系对顶点与顶点之间进行连接,得到目标三维网格。
[0150] 在本实施例中,使用目标第一模型对初始三维网格进行调整,即使用目标第一模型输出的调整参数对初始坐标集合进行调整,使用准确性较高的调整参数对初始坐标集合进行调整,得到目标调整坐标集合,可以理解为,在传统方法构建的初始三维网格的基础上,使用目标第一模型对初始三维网格中顶点坐标进行优化,提高了目标调整坐标集合的准确性,根据目标调整坐标集合得到的目标三维网格,相比于初始三维网格,准确性更高。
[0151] 在一个示例性地实施例中,计算机设备获取包含目标对象的多张视角图像,以及每张视角图像对应的相机参数,分别对每张视角图像进行前景后景分割,得到每张视角图像对应的分割图像,使用各个视角对应的分割图像和相机参数,对目标对象进行三维重建,得到目标对象对应的初始三维网格。
[0152] 为了提高三维网格的准确性,使用如图8所示的系统流程图对调整模型进行训练,并且使用训练后的目标调整模型对初始三维网格进行调整:
[0153] 计算机设备提取初始三维网格中包含的边和顶点,以及顶点对应的初始顶点坐标,将初始三维网格中包含的边组成边集合,将初始三维网格中包含的顶点组成点集合,将所有的初始顶点坐标组成初始坐标集合。针对每一个顶点,确定包含该顶点的边,基于包含该顶点的边,确定该顶点对应的连接顶点,基于顶点对应的连接顶点,采用公式(7)得到初始三维网格对应的邻接矩阵。
[0154] 将邻接矩阵乘以初始坐标集合,得到中间坐标集合,将中间坐标集合输入初始第一模型,得到调整参数,然后将初始坐标集合与调整参数相加,得到调整坐标集合。
[0155] 从多个视角对应的视角图像中随机选择出一张视角图像,然后获取视角图像中每一个像素点的像素值和像素点二维坐标,以及视角图像对应的相机参数,将相机参数代入公式(4),计算得到目标视角对应的投影参数,然后将调整坐标集合和投影参数代入公式(5),计算得到投影坐标集合。
[0156] 针对视角图像中的每一个像素点,基于邻近矩阵和投影坐标集合,确定像素点所位于的目标多边形面片,获取目标多边形面片对应的多个包围顶点,获取其中三个包围顶点的投影坐标,对像素点二维坐标和三个投影坐标进行计算,得到像素点相对于三个包围顶点的质心坐标。基于两个包围顶点的调整坐标,计算两个包围顶点之间的直线向量,基于两个直线向量,计算三角面片的面片法向量,基于上述方法,计算包围顶点对应的各个三角面片的面片法向量,对三角面片对应的面片法向量求平均,得到包围顶点的顶点法向量。将质心坐标和三个包围顶点对应的调整坐标代入公式(2),计算得到像素点的素点三维坐标,将质心坐标和三个包围顶点对应的法向量代入公式(3),计算得到像素点的法向量,然后将像素点的像素点三维坐标和法向量,输入初始第二模型,得到像素点的预测像素值,采用公式(1)计算得到视角图像对应的误差损失,基于误差损失对初始第一模型的模型参数和初始第二模型的模型参数进行调整。重复上述训练过程,直至训练次数达到预设次数,得到目标第一模型。
[0157] 将中间坐标集合输入目标第一模型,得到目标调整参数,将初始坐标集合与目标调整参数相加,得到目标调整坐标集合,根据目标调整坐标集合确定每个顶点的位置,然后根据邻接矩阵中顶点与顶点之间的连接关系,对顶点与顶点之间进行连接,得到目标三维网格。例如,图9中的第一幅图为目标对象的二维图像,第二幅图为目标对象对应的初始三维网格,第三幅图为目标对象对应的目标三维网格。
[0158] 在本实施例中,将中间坐标集合输入到初始第一模型,初始第一模型为未经过训练的第一模型,得到的调整参数准确性较低,基于调整参数对初始坐标集合进行调整,从而导致得到的调整坐标集合的准确性较低,根据调整坐标集合中的包围顶点与像素点之间的位置关系,得到像素点的预测像素值,进一步导致预测像素值的准确较低,由于预测像素值的准确性较低,所以像素点的像素值和预测像素值之间会存在差异,将视角图像中各个像素点的像素值与预测像素值之间的总差异作为误差损失,使用误差损失对初始第一模型进行训练,训练的目的是为了降低像素值和预测像素值之间的差异,训练的本质为提高初始第一模型的准确性,使用目标对象的多张视角图像对初始第一模型进行多次训练,提高了目标第一模型的准确性。使用目标第一模型对初始三维网格进行调整,即使用目标第一模型输出的调整参数对初始坐标集合进行调整,使用准确性较高的调整参数对初始坐标集合进行调整,得到目标调整坐标集合,可以理解为,在传统方法构建的初始三维网格的基础上,使用目标第一模型对初始三维网格中顶点坐标进行优化,提高了目标调整坐标集合的准确性,根据目标调整坐标集合得到的目标三维网格,相比于初始三维网格,准确性更高。
[0159] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0160] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的调整模型训练方法的三维网格调整装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个三维网格调整装置实施例中的具体限定可以参见上文中对于调整模型训练方法的限定,在此不再赘述。
[0161] 在一个实施例中,如图10所示,提供了一种三维网格调整装置,包括:获取模块1002、输入模块1004、投影模块1006、预测模块1008和训练模块1010,其中:
[0162] 获取模块1002,用于获取目标对象的视角图像,以及目标对象对应初始三维网格的初始坐标集合和中间坐标集合;中间坐标集合为对初始坐标集合进行融合处理得到的结果。
[0163] 输入模块1004,用于将中间坐标集合输入到初始第一模型,得到调整参数,基于调整参数对初始坐标集合进行调整,得到调整坐标集合。
[0164] 投影模块1006,用于将调整坐标集合投影到视角图像所在的视角平面,得到投影坐标集合。
[0165] 预测模块1008,用于针对视角图像中的每个像素点,基于投影坐标集合中包围像素点的包围顶点,与像素点之间的位置关系,得到像素点的预测像素值。
[0166] 训练模块1010,用于基于视角图像中各个像素点的像素值与预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型;目标第一模型用于对初始三维网格进行调整。
[0167] 在一个实施例中,预测模块1008还用于:获取像素点对应包围顶点的投影坐标;基于像素点的像素点二维坐标,与对应的包围顶点的投影坐标之间的位置关系,得到像素点的像素点三维坐标和法向量;基于像素点的像素点三维坐标和法向量,得到像素点的预测像素值。
[0168] 在一个实施例中,预测模块1008还用于:基于像素点二维坐标和投影坐标,计算像素点相对于包围顶点的质心坐标;基于质心坐标和包围顶点的调整坐标,得到像素点的像素点三维坐标;基于包围顶点的调整坐标,计算包围顶点组成面片的面片法向量,基于包围顶点对应的各个面片的面片法向量,得到包围顶点的顶点法向量;基于质心坐标和包围顶点的顶点法向量,得到像素点的法向量。
[0169] 在一个实施例中,预测模块1008还用于:将像素点的像素点三维坐标和法向量,输入初始第二模型,得到像素点的预测像素值;基于视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型进行训练,得到目标第一模型,包括:基于视角图像中各个像素点的像素值和预测像素值之间的差异,得到误差损失,基于误差损失对初始第一模型和初始第二模型进行训练,得到目标第一模型和目标第二模型。
[0170] 在一个实施例中,投影模块1006还用于:获取视角图像对应的相机参数;相机参数中包括内参和外参;对内参与外参进行融合,得到投影参数;基于投影参数,将调整坐标集合投影到视角图像所在的视角平面,得到投影坐标集合。
[0171] 在一个实施例中,获取模块1002还用于:获取目标对象各个视角对应的视角图像和相机参数;分别对每张视角图像进行前景后景分割,得到每张视角图像对应的分割图像;基于各个视角对应的分割图像和相机参数,对目标对象进行三维重建,得到目标对象对应的初始三维网格;基于初始三维网格中每个顶点的初始顶点坐标,得到初始三维网格对应的初始坐标集合;基于初始三维网格中每条边对应的顶点与顶点之间的连接信息,得到初始三维网格对应的连接关系;基于连接关系,对初始坐标集合进行融合处理,得到中间坐标集合。
[0172] 在一个实施例中,调整模型训练装置还包括调整模块,调整模块用于:将中间坐标集合输入目标第一模型,得到目标调整参数;基于目标调整参数,对初始坐标集合进行调整,得到目标调整坐标集合;基于目标调整坐标集合和初始三维网格对应的连接关系,得到目标三维网格。
[0173] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种调整模型训练方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0174] 本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0175] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0176] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0177] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0178] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0179] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0180] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0181] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。