三维模型生成方法、装置、计算机设备及存储介质与流程

文档序号:22549723发布日期:2020-10-17 02:24阅读:155来源:国知局
三维模型生成方法、装置、计算机设备及存储介质与流程

本公开涉及三维重建技术领域,具体而言,涉及一种三维模型生成方法、装置、计算机设备及存储介质。



背景技术:

数字化人脸三维模型生成在影视,游戏,虚拟社交等领域有着重要的作用。基于单张图片人脸生成(重建)的方法由于数据采集仅依赖廉价的网络摄像头,且方便在移动端应用,因而有着巨大的应用价值。

当前的人脸三维模型生成方法,存在生成的人脸三维模型精度低的问题。



技术实现要素:

本公开实施例至少提供一种三维模型生成方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种三维模型生成方法,包括:获取包括第一人脸的第一图像;基于所述第一图像,确定包括第一人脸的轮廓信息的第一点云数据;基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸的细节信息的第二点云数据;基于所述第一反射率信息以及所述第二点云数据,生成所述第一人脸的三维模型。

首先基于第一图像,确定包括第一人脸的轮廓信息的第一点云数据,然后基于第一点云数据以及第一图像,确定第一人脸的第一反射率信息、以及包括第一人脸的细节信息的第二点云数据,并基于第一反射率信息以及第二点云数据得到三维模型,使得得到的第一人脸的三维模型中,既包括了第一人脸的反射率信息,又包含了第一人脸的轮廓信息和细节信息,因而生成的第一人脸的三维模型具有更高的真实度。

一种可能的实施方式中,所述基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸细节信息的第二点云数据,包括:基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图;对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息;以及对所述第一人脸纹理图进行人脸细节的预测处理,并基于所述人脸细节的预测处理的结果,得到所述第一人脸的第二点云数据。

这样,通过对第一人脸纹理图的第一反射率信息和人脸细节的预测处理,得到包括了人脸轮廓、人脸细节、以及人脸反射率的第二点云数据,该第二点云数据能够更精确的表征人脸的三维模型。

一种可能的实施方式中,所述第一点云数据包括:构成所述第一人脸的多个第一点云点分别在相机坐标系下的三维坐标值、以及不同所述第一点云点之间的连接关系信息。

一种可能的实施方式中,所述基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图,包括:基于多个所述第一点云点分别在相机坐标系下的三维坐标值,将多个所述第一点云点分别与所述第一图像中的多个第一像素点进行对齐处理;基于对齐处理的结果、不同所述第一点云点之间的连接关系信息以及所述第一图像中各个第一像素点的第一像素值,确定构成所述第一人脸的多个面片分别对应的第二像素值;其中,任一所述面片为由至少三个具有连接关系的第一点云点构成;基于所述多个面片分别对应的第二像素值,生成所述第一人脸纹理图。

这样,生成的第一人脸纹理图中会尽可能的保留第一图像中的特征,进而能够基于第一人脸纹理图更好的得到人脸的三维模型。

一种可能的实施方式中,所述人脸细节的预测处理的结果包括:所述第一人脸的第一人脸细节信息;所述基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据,包括:将所述第一点云数据以及所述第一人脸细节信息进行融合处理,得到所述第二点云数据。

一种可能的实施方式中,所述第一人脸细节信息包括:多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离;所述对所述第一点云数据以及所述第一人脸细节信息进行融合处理,生成所述第二点云数据,包括:基于多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离、以及所述每个点云点在相机坐标系中的三维坐标值,对每个所述第一点云点在所述相机坐标系中的位置进行调整;基于多个所述第一点云点的调整结果,得到所述第二点云数据。

一种可能的实施方式中,所述对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息,包括:利用预先训练的第一神经网络对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息。

一种可能的实施方式中,采用下述方式训练所述第一神经网络:获取包括第二人脸的第二图像,并基于所述第二图像,得到包括第二人脸的轮廓信息的第三点云数据;基于所述第三点云数据,得到第二人脸的第二人脸纹理图;利用待训练的第三神经网络,对所述第二人脸纹理图进行反射率的预测处理、以及光照的预测处理,得到所述第二人脸的第二反射率信息、及所述第二人脸的第一光照信息;以及,利用待训练的第一神经网络,对所述第二人脸纹理图进行反射率的预测处理,得到所述第二人脸的第三反射率信息;利用所述第二反射率信息、所述第一光照信息以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练,得到训练好的第一神经网络。

一种可能的实施方式中,所述利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练,包括:利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失;以及,利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失;基于所述第一损失,更新所述待训练的第三神经网络,并基于所述第二损失,更新所述待训练的第一神经网络的网络参数;经过对所述待训练的第三神经网络和所述待训练的第一神经网络的网络参数的多轮更新,得到所述训练好的第一神经网络。

一种可能的实施方式中,所述利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失,包括:基于所述第三点云数据,确定所述第三点云数据中多个第三点云点分别对应的第二法向量;基于所述第二法向量、所述第二反射率信息、以及所述第一光照信息,生成所述第二人脸的第三人脸纹理图;基于所述第二人脸纹理图以及所述第三人脸纹理图,生成所述第一损失。

一种可能的实施方式中,所述利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失,包括:基于所述第二反射率信息、以及所述第三反射率信息,确定第一子损失;基于所述第二法向量、所述第三反射率信息、以及所述第一光照信息,生成所述第二人脸的第四人脸纹理图,并基于所述第四人脸纹理图、以及所述第二人脸纹理图,生成第二子损失;以及基于所述第四人脸纹理图的特征图、和所述第二人脸纹理图的特征图,生成第三子损失;基于所述第一子损失、所述第二子损失、和所述第三子损失,得到所述第二损失。

一种可能的实施方式中,所述对所述人脸纹理图进行细节预测处理,并基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据,包括:利用预先训练的第二神经网络对所述第一人脸纹理图进行细节预测处理,得到所述第一人脸的第一人脸细节信息。

一种可能的实施方式中,采用下述方式训练所述第二神经网络:利用待训练的第二神经网络,对所述第二人脸纹理图进行细节预测处理,得到所述第二人脸的第二人脸细节信息;将所述第二人脸的第二人脸细节信息、以及所述第三点云数据进行融合,得到第二人脸的第四点云数据;基于所述第四点云数据、所述第三反射率信息、以及所述第一光照信息,生成第五人脸纹理图;基于所述第五人脸纹理图、以及所述第二人脸纹理图,训练所述待训练的第二神经网络;得到训练好的第二神经网络。

第二方面,本公开实施例还提供一种三维模型生成装置,包括:获取模块,用于获取包括第一人脸的第一图像,并基于所述第一图像,得到包括第一人脸的轮廓信息的第一点云数据;确定模块,用于基于所述第一点云数据以及所述第一图像,得到所述第一人脸的第一反射率信息、以及包括所述第一人脸的细节信息的第二点云数据;融合模块,用于基于所述第一反射率信息以及所述第二点云数据,得到所述第一人脸的三维模型。

一种可能的实施方式中,所述确定模块,在基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸细节信息的第二点云数据时,用于:基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图;对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息;以及对所述第一人脸纹理图进行人脸细节的预测处理,并基于所述人脸细节的预测处理的结果,得到所述第一人脸的第二点云数据。

一种可能的实施方式中,所述第一点云数据包括:构成所述第一人脸的多个第一点云点分别在相机坐标系下的三维坐标值、以及不同所述第一点云点之间的连接关系信息。

一种可能的实施方式中,所述确定模块,在基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图时,用于:基于多个所述第一点云点分别在相机坐标系下的三维坐标值,将多个所述第一点云点分别与所述第一图像中的多个第一像素点进行对齐处理;基于对齐处理的结果、不同所述第一点云点之间的连接关系信息以及所述第一图像中各个第一像素点的第一像素值,确定构成所述第一人脸的多个面片分别对应的第二像素值;其中,任一所述面片为由至少三个具有连接关系的第一点云点构成;基于所述多个面片分别对应的第二像素值,生成所述第一人脸纹理图。

一种可能的实施方式中,所述人脸细节的预测处理的结果包括:所述第一人脸的第一人脸细节信息;所述确定模块,在基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据时,用于:将所述第一点云数据以及所述第一人脸细节信息进行融合处理,得到所述第二点云数据。

一种可能的实施方式中,所述第一人脸细节信息包括:多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离;所述确定模块,在对所述第一点云数据以及所述第一人脸细节信息进行融合处理,生成所述第二点云数据时,用于:基于多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离、以及所述每个点云点在相机坐标系中的三维坐标值,对每个所述第一点云点在所述相机坐标系中的位置进行调整;基于多个所述第一点云点的调整结果,得到所述第二点云数据。

一种可能的实施方式中,所述确定模块,在对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息时,用于:利用预先训练的第一神经网络对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息。

一种可能的实施方式中,还包括第一训练模块,用于采用下述方式训练所述第一神经网络:获取包括第二人脸的第二图像,并基于所述第二图像,得到包括第二人脸的轮廓信息的第三点云数据;基于所述第三点云数据,得到第二人脸的第二人脸纹理图;利用待训练的第三神经网络,对所述第二人脸纹理图进行反射率的预测处理、以及光照的预测处理,得到所述第二人脸的第二反射率信息、及所述第二人脸的第一光照信息;以及,利用待训练的第一神经网络,对所述第二人脸纹理图进行反射率的预测处理,得到所述第二人脸的第三反射率信息;利用所述第二反射率信息、所述第一光照信息以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练,得到训练好的第一神经网络。

一种可能的实施方式中,所述第一训练模块,在利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练时,用于:利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失;以及,利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失;基于所述第一损失,更新所述待训练的第三神经网络,并基于所述第二损失,更新所述待训练的第一神经网络的网络参数;经过对所述待训练的第三神经网络和所述待训练的第一神经网络的网络参数的多轮更新,得到所述训练好的第一神经网络。

一种可能的实施方式中,所述第一训练模块,在利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失时,用于:基于所述第三点云数据,确定所述第三点云数据中多个第三点云点分别对应的第二法向量;基于所述第二法向量、所述第二反射率信息、以及所述第一光照信息,生成所述第二人脸的第三人脸纹理图;基于所述第二人脸纹理图以及所述第三人脸纹理图,生成所述第一损失。

一种可能的实施方式中,所述第一训练模块,在利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失时,用于:基于所述第二反射率信息、以及所述第三反射率信息,确定第一子损失;基于所述第二法向量、所述第三反射率信息、以及所述第一光照信息,生成所述第二人脸的第四人脸纹理图,并基于所述第四人脸纹理图、以及所述第二人脸纹理图,生成第二子损失;以及基于所述第四人脸纹理图的特征图、和所述第二人脸纹理图的特征图,生成第三子损失;基于所述第一子损失、所述第二子损失、和所述第三子损失,得到所述第二损失。

一种可能的实施方式中,所述确定模块,在所述对所述人脸纹理图进行细节预测处理,并基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据时,用于:利用预先训练的第二神经网络对所述第一人脸纹理图进行细节预测处理,得到所述第一人脸的第一人脸细节信息。

一种可能的实施方式中,还包括第二训练模块,用于采用下述方式训练所述第二神经网络:利用待训练的第二神经网络,对所述第二人脸纹理图进行细节预测处理,得到所述第二人脸的第二人脸细节信息;将所述第二人脸的第二人脸细节信息、以及所述第三点云数据进行融合,得到第二人脸的第四点云数据;基于所述第四点云数据、所述第三反射率信息、以及所述第一光照信息,生成第五人脸纹理图;基于所述第五人脸纹理图、以及所述第二人脸纹理图,训练所述待训练的第二神经网络;得到训练好的第二神经网络。

第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种三维模型生成方法的流程图;

图2示出了本公开实施例所提供的三维模型生成方法中,包括人脸的人脸图像、第一点云数据、第二点云数据、以及第二点云数据分别构成的图像的示例;

图3示出了本公开实施例所提供的三维模型生成方法中,对三维模型施加不同方向的光照得到三维模型的示例;

图4示出了本公开实施例所提供的一种获得第一反射率信息以及第二点云数据的具体方法的流程图;

图5示出了本公开实施例所提供的训练第一神经网络的具体方法的流程图;

图6示出了本公开实施例所提供的训练第二神经网络的具体方法的流程图;

图7示出了本公开实施例所提供的对第一神经网络和第二神经网络进行联合训练的具体示例;

图8出了本公开实施例所提供的三维模型生成装置的示意图;

图9示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

当前的通过二维图像生成人脸三维模型的方法主要包括基于实时求解的拟合方法和基于模型训练的回归学习方法。其中,基于实时求解的拟合方法由于计算量大,重建一个人脸往往需要几分钟的时间,耗时久且鲁棒性较差。基于模型训练的回归学习方法主要依赖深度学习技术通过大量训练数据学习复杂的映射函数来得到几何特征信息,而训练数据的获得需要依赖大量昂贵的单反相机组成的相机阵列进行采集,然后利用多视几何求解重建,并注册到统一的拓扑结构;这些训练数据不仅昂贵,获得周期长,而且受限于采集环境的有限,导致数量及多样性有限,因此难以直接进行监督训练。为了解决该问题,一些方法中利用合成三维数据进行重建,但合成数据与真实数据之间存在一定差异,造成模型得到的人脸三维模型与真实的人脸之间也存在较大差异,造成得到的三维人脸模型真实度较差。

另外,当前生成人脸三维模型的方法大多数只能恢复人脸的轮廓信息,很难得到人脸细节,因此造成得到的人脸三维模型真实度较差。

此外,在二维图像包括的人脸中可能会存在人脸被物体遮挡或者自遮挡的情况,当前生成人脸三维模型的方法不能很好的恢复被遮挡的部位,同样影响人脸三维模型的真实性。

基于上述研究,本公开提供了一种三维模型生成方法,通过包括第一人脸的轮廓信息的第一点云数据、以及包括第一人脸的第一图像,确定第一人脸的第一反射率信息以及包括第一人脸细节信息的第二点云数据,并基于第一反射率信息和第二点云数据,生成第一人脸的三维模型;在该过程中,第一反射率信息能够表征人脸表面的纹理特征,而第二点云数据中包括了人脸的细节信息,因而将第一人脸的第一反射率信息和第一人脸细节信息进行融合得到的第一人脸的三维模型具有更高的真实度。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种三维模型生成方法进行详细介绍,本公开实施例所提供的三维模型生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(userequipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该三维模型生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

下面以执行主体为计算机设备为例对本公开实施例提供的三维模型生成方法加以说明。

参见图1所示,为本公开实施例提供的三维模型生成方法的流程图,所述方法包括步骤s101~s104其中:

s101:获取包括第一人脸的第一图像;

s102:基于所述第一图像,确定包括第一人脸的轮廓信息的第一点云数据;

s103:基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸的细节信息的第二点云数据;

s104:基于所述第一反射率信息以及所述第二点云数据,生成所述第一人脸的三维模型。

针对人脸获取的人脸图像(如图2中a所示)中,通常包括以下信息:反射率信息、光照信息、轮廓信息、纹理细节信息。光照信息用于表征人脸的不同部位由于光照和方向和人脸的面部轮廓、五官起伏所带来的光影变化;轮廓信息是指人脸的整体轮廓,如脸颊、五官、额头等脸部的外在轮廓,轮廓信息能够在较粗的尺度上表征人脸的结构;如图2中b所示,示出一种由第一点云数据构成的人脸轮廓的示例;反射率信息用于表征人脸的肌肤表面,如图2中c,示出一种由人脸的第一反射率信息构成的图像的示例;细节信息是指人脸细节,如皱纹、表情纹等,如图2中d所示,示出一种由第二点云数据构成的既包含了人脸轮廓信息、又包含了人脸细节信息的示例。将反射率信息、光照信息、轮廓信息、细节信息融合,即能够得到还原度较高的人脸图像。

为了基于二维的人脸图像,生成人脸的三维模型,例如可以基于包含人脸的图像,得到人脸的反射率信息、轮廓信息和细节信息,最终得到人脸的三维模型。

另外,还可以为人脸的三维模型施加不同角度的光照,得到加入光照信息后的三维模型,使得人脸的三维模型更具有真实度,如图3所示的示例中,为三维模型施分别施加了四种不同角度的光照后,得到的人脸的三维模型。

下面分别对上述s101~s104加以详细说明。

i:在上述s101中,针对不同的执行主体,获取第一图像的方式也有所区别;例如,在执行主体为终端设备的情况下,可以调用终端设备中安装的摄像头来实时获取包括第一人脸的第一图像,可以调用终端设备的相册获取第一图像,还可以接收其他设备发送的人脸图像等;在执行主体为服务器的情况下,服务器可以接收其他设备发送的第一图像,可以调用与服务器连接的数据库中存储的第一图像。

在一种可能的实施方式中,在获取第一图像时,首先获取包含第一人脸的原始图像,然后通过一定的人脸识别方法,识别人脸在原始图像中的位置,基于人脸在原始图像中的位置,截取包含第一人脸的第一图像。

ii:在上述s102中,例如可以利用任一种较粗粒度的人脸几何重建方法基于第一图像得到包括第一人脸的轮廓信息的第一点云数据。

例如三维变形模型(3dimensionmorphablemodel,3dmm)来对第一图像进行三维人脸重建,能够得到人脸图像中的低频信息,也即人脸的轮廓信息。

在利用3dmm获得第一点云数据时,3dmm中定义了多个第一点云点,不同的第一点云点之间具有直接或者间接的连接关系,至少三个第一点云点构成一个面片,通过多个第一点云点构成的多个面片,表征第一人脸的轮廓。3dmm能够对预先定义的多个第一点云点进行位置预测,得到每个第一点云点在自己的局部坐标系下的三维坐标值,然后,基于相机参数,将第一点云点在3dmm预测的局部坐标系下的坐标值,转换成在相机坐标系下的三维坐标值,进而,第一点云数据包括:构成人第一人脸的多个第一点云点分别在相机坐标系下的三维坐标值、以及不同第一点云点之间的连接关系信息。

这样,通过第一点云数据,即能够将第一人脸的轮廓信息表示出来。

iii:在上述s103中,参见图4所示例如可以采用下述方式获得第一反射率信息以及第二点云数据:

s401:基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图。

此处,基于第一点云数据以及第一图像,确定第一人脸的第一人脸纹理图时,例如可以采用下述方式:

基于多个所述第一点云点分别在相机坐标系下的三维坐标值,将多个所述第一点云点分别与所述第一图像中的多个第一像素点进行对齐处理;基于对齐处理的结果、不同所述第一点云点之间的连接关系信息以及所述第一图像中各个第一像素点的第一像素值,确定构成所述第一人脸的多个面片分别对应的第二像素值;其中,任一所述面片为由至少三个具有连接关系的第一点云点构成;基于所述多个面片分别对应的第二像素值,生成所述第一人脸纹理图。

在具体实施中,在将多个第一点云点分别与第一图像中的多个第一像素点进行对其处理时,例如可以对第一图像中的第一人脸进行关键点识别处理,确定第一人脸中的多个关键点分别在第一图像中对应的目标第一像素点。然后基于第一点云点和第一人脸中的多个关键点之间的对应关系,从多个第一点云点中,确定与各个关键点分别对应的目标第一点云点,然后针对每个关键点,将该关键点对应的目标第一像素点和目标第一点云点进行图像维度的对齐处理,最终得到各个第一点云点分别在第一图像中对应的第一像素点。

然后利用不同第一点云点之间的连接关系信息,从第一图像中拉取构成第一人脸的各个面片分别在第一图像中对应的像素值,并基于各个面片对应的像素值对各个面片进行颜色的渲染,最终得到第一人脸纹理图。

在得到的第一人脸纹理图中,既包含第一人脸的光照信息、又包含第一人脸的第一反射率信息。

承接上述s401,本公开实施例提供的获得第一反射率信息以及第二点云数据的方法中,还包括:

s402:对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息。

此处,例如可以利用预先训练的第一神经网络对第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息。

在具体实施中,参见图5所示,本公开实施例提供一种训练第一神经网络的具体方法,包括:

s501:获取包括第二人脸的第二图像,并基于所述第二图像,得到包括第二人脸的轮廓信息的第三点云数据。

此处,获取第二人脸的第三点云数据的方式,与上述实施例中获取第一人脸的第一点云数据的方式类似,在此不再赘述。

s502:基于所述第三点云数据,得到第二人脸的第二人脸纹理图。

此处,获取第二人脸的第二人脸纹理图的方式,与上述实施例中获取第一人脸的第一人脸纹理图的方式类似,在此不再赘述。

s503:利用待训练的第三神经网络,对所述第二人脸纹理图进行反射率的预测处理、以及光照的预测处理,得到所述第二人脸的第二反射率信息、及所述第二人脸的第一光照信息。

此处,示例性的,第三神经网络中预测反射率的部分例如可以抽象为下述公式(1)中所示的算子:主成分分析(principalcomponentsanalysis,pca)反射率模型:ra=ma+uapa(1)

其中,ma表示反射率模型中的中性反射率,ua表示反射率模型中的基。是的反射率的系数。

ma例如可以采用下述方式获得:采集199个人的人脸的反射率信息,计算199个人脸的反射率信息的平均值,得到ma。ua例如对采集到的199个人脸的反射率信息进行pca投影得到。ra表示第二人脸的第二反射率信息,其中包括第三点云数据中每个第三点云点分别对应的反射率值r。

第三神经网络能够预测得到pa,然后,基于上述公式(1)得到第一人脸的第一反射率信息。

本公开实施例中的光照例如为朗伯反射率,并使用二阶球谐(sh)基函数来表示第一光照信息,其包括第三点云数据中每个第三点云点分别对应的光照值。

s504:利用待训练的第一神经网络,对所述第二人脸纹理图进行反射率的预测处理,得到所述第二人脸的第三反射率信息。

此处,s504和s503无执行的先后顺序。

在具体实施中,待训练的第一神经网络,例如为具有unet结构的神经网络。在unet网络中包括多级特征提取层、以及与多级特征提取层中至少部分目标特征提取层分别对应的上采样层。

针对任一目标特征提取层而言,该目标特征提取输出的特征数据,会作为与其对应的上采样层的输入数据的一部分,参与上采样层中的上采样过程,进而能够将更多的特征信息保留在上采样层的输出数据中。

在本公开另一实施例中,在多个目标特征提取层中,至少有一个目标特征提取层输出的特征数据,会进行特征的翻转后,输入到与其对应的上采样层中,这样,能够利用人脸的对称特性,重建人脸存在自遮挡,或者别外物遮挡的部位。

此处,特征的翻转,例如为将特征图由变换至:

s505:利用所述第二反射率信息、所述第一光照信息以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练,得到训练好的第一神经网络。

此处,在利用第二反射率信息、第一光照信息以及第三反射率信息,对待训练的第一神经网络和待训练的第三神经网络进行联合训练时,例如采用下述步骤1~步骤3对应的方式:

步骤51:利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失。

具体地,在利用第二反射率信息、以及第一光照信息,确定待训练的第三神经网络的第一损失时,例如可以基于所述第三点云数据,确定所述第三点云数据中多个第三点云点分别对应的第二法向量;基于所述第二法向量、所述第二反射率信息、以及所述第一光照信息,生成所述第二人脸的第三人脸纹理图;基于所述第二人脸纹理图以及所述第三人脸纹理图,生成所述第一损失。

此处,对于任一第三点云点,由于该第三点云点可能同时归属于多个面片,因此,与该任一第三点云点对应的第二法向量,为该第三点云点归属的多个面片分别对应的法向量的均值。

第三点数据中,任一第三点云点在第三人脸纹理图中的渲染颜色满足下述公式(2):

其中,b=3,n表示第二法向量,r表示该任一第三点云点处的反射率信息;γ表示光照系数;h(n)表示该任一第三点云点处的光照信息。

所有第三点云点在第三人脸纹理图只能够的渲染颜色集合,并渲染成图像,即得到第三人脸纹理图。

然后基于第三人脸纹理图和第二人脸纹理图,生成第一损失。

此时,待训练的第三神经网络的第一损失epixel1满足下述公式(3):

epixel1=|it(uv)-isyn1(uv)|(3)

其中,it(uv)表示第二人脸纹理图;isyn1(uv)表示第三人脸纹理图。

在另一示例中,第三神经网络的成本代价函数eb-net满足下述公式(4):

eb-net=epixel1+waea(4)

其中,ea=||pa||2为正则项,wa为超参数。

步骤52:利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失。

其中,步骤51和步骤52无执行的先后顺序。

在具体实施行中,例如可以采用下述方式得到待训练的第一神经网络的第二损失:

基于所述第二反射率信息、以及所述第三反射率信息,确定第一子损失;基于所述第二法向量、所述第三反射率信息、以及所述第一光照信息,生成所述第二人脸的第四人脸纹理图,并基于所述第四人脸纹理图、以及所述第二人脸纹理图,生成第二子损失;以及基于所述第四人脸纹理图的特征图、和所述第二人脸纹理图的特征图,生成第三子损失;基于所述第一子损失、所述第二子损失、和所述第三子损失,得到所述第二损失。

示例性的,第一神经网络的代价函数ea-net满足下述公式(5):

其中,egan(g,d)即为第一子损失,且满足下述公式(6)

egan(g,d)=ex[logd(x)]+ez[log(1-d(g(z)))](5)

其中,g表示生成器,d表示判别器。z表示第三反射率信息;x表示第二反射率信息;e(·)表示期望。

eg满足下述公式(7):

eg=wpixelepixel2+wpercepepercep(7)

其中,epixel2即为第二子损失。

此处,基于第二法向量,第三反射率信息、以及第一光照信息,生成第四人脸纹理图的方式,与上述生成第三人脸纹理图的方式类似,在此不再赘述。另外,epixel2的具体计算方式,与上述epixel1类似,在此也不再赘述。

epercep即为第三子损失,又称感知损失,满足下述公式(8):

其中,isyn2(uv)表示第四人脸纹理图;f为一预训练的神经网络,fj表示该预训练的神经网络的第j层网络层输出的特征图。h、w和c表示第j层网络层输出的特征图的尺寸。wpixel和wpercep均为超参数。

示例性的,预训练的神经网络例如为在imagenet上训练的vgg-16。

步骤53:基于所述第一损失,更新所述待训练的第三神经网络,并基于所述第二损失,更新所述待训练的第一神经网络的网络参数;经过对所述待训练的第三神经网络和所述待训练的第一神经网络的网络参数的多轮更新,得到所述训练好的第一神经网络。

通过上述步骤51~步骤53,实现对第一神经网络的训练过程。

从上述第一神经网络的训练过程可以看到,本公开实施例是基于弱监督的原理,不需要对训练数据进行标注,从而实现了对第一神经网络和第二神经网络的训练。在训练过程中,首先利用现有的模型生成第三点云数据,然后基于第三点云数据,利用一训练阶段时使用的第三神经网络,来生成监督信息(如第一光照信息、第二反射率信息),进而通过第三神经网络生成的弱监督信息,来实现对第一神经网络和第二神经网络的训练。

承接上述s401,本公开实施例提供的获得第一反射率信息以及第二点云数据的方法中,还包括:

s403:对所述第一人脸纹理图进行人脸细节的预测处理,并基于所述人脸细节的预测处理的结果,得到所述第一人脸的第二点云数据。

此处,s402和s403无执行的先后顺序。

此处,脸细节的预测处理的结果包括:所述第一人脸的第一人脸细节信息。此时,在基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据时,例如包括:

将所述第一点云数据以及所述第一人脸细节信息进行融合处理,得到所述第二点云数据。

在一种实施例中,所述第一人脸细节信息包括:多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离。

此处,对于任一第一点云点而言,由于该第一点云点可能同时归属于多个面片,因此与该任一第一点云点对应的第一法向量,为该第一点云点归属的多个面片分别对应的第一法向量的均值。

在具体实施中,例如可以利用预先训练的第二神经网络对所述第一人脸纹理图进行细节预测处理,得到所述第一人脸的第一人脸细节信息。

参见图6所示,本公开实施例提供一种训练第二神经网络的具体方法,包括:

s601:利用待训练的第二神经网络,对所述第二人脸纹理图进行细节预测处理,得到所述第二人脸的第二人脸细节信息。

此处,第二人脸细节信息,例如包括:多个所述第三点云点中的每个第三点云点在与所述每个第三点云点对应的第二法向量方向的移动距离。

s602:将所述第二人脸的第二人脸细节信息、以及所述第三点云数据进行融合,得到第二人脸的第四点云数据。

示例性的,将第二人脸的第二人脸细节信息、以及第三点云数据进行融合,也即利用多个所述第三点云点中的每个第三点云点在与所述每个第三点云点对应的第二法向量方向的移动距离,对第三点云数据中各个第三点云点在相机坐标系中的位置进行调整,并基于多个第一点云点的调整结果,得到第二点云数据,从而使得得到的第四点云数据表征的人脸能够展现出人脸的细节信息。

s603:基于所述第四点云数据、所述第三反射率信息、以及所述第一光照信息,生成第五人脸纹理图;

此处,第五人脸纹理图的生成方式,与上述第三人脸纹理图的生成方式类似,在此不再赘述。

s604:基于所述第五人脸纹理图、以及所述第二人脸纹理图,训练所述待训练的第二神经网络;得到训练好的第二神经网络。

此处,例如可以利用第五人脸纹理图、以及第二人脸纹理图,得到第三损失,然后利用第三损失,调整待训练的第二神经网络的网络参数;经过对待训练的神经网络的网络参数的多轮调整,得到训练好的第二神经网络。

示例性的,第二神经网络的代价函数ed-net满足下述公式(9):

ed-net=wgardegard+wconsteconst+wsmoothesmooth(9)

其中,egard表示梯度损失,且满足:

表示梯度计算过程。算isyn3(uv)表示第五人脸纹理图。wgard、wconst、wsmooth分别表示不同损失项的权重,为超参数。

示例性的,在计算梯度的时候,例如可以将索贝尔sobel算子作为卷积核,并用该卷积核对第五人脸纹理图进行卷积处理,得到第五人脸纹理图的梯度信息。

第二人脸纹理图的梯度信息的计算方式,与第五人脸纹理图的梯度信息的获取方式类似。

econst=|δd|,使得δd被限制在一定的范围内,避免由于δd造成三维点云数据构造的人脸发生过大的形变,导致生成的三维模型和第二人脸之间差异过大。

esmooth表示平滑损失,表示位置接近的第三点云点之间的高度差不会太大。

在具体实施中,其中,v表示所有的第三点云点;vi表示第i个第三点云点;neib(vi)表示与第i个第三点云点之间有直接连接关系的所有第三点云点的集合。

示例性的,参见图7所示,还提供一种训练第一神经网络和第二神经网络的具体示例,在该实例中,在获取第二图像后,利用3dmm获取第二图像的第三点云数据,然后基于第三点云数据,确定第三点云数据中各个第三点云点的第二法向量,并基于第三点云数据和第二图像,得到第二人脸纹理图,然后将第二人脸纹理图分别输入至待训练的第一神经网络、第二神经网络和第三神经网络。

通过待训练的第三神经网络输出第一光照信息、和第二反射率信息,并基于第二法向量、第一光照信息和第二反射率信息,生成第三人脸纹理图,基于第三人脸纹理图和第二人脸纹理图,得到第一损失。基于第一损失更新待训练的第三神经网络的网络参数。

通过待训练的第一神经网络输出第三反射率信息;基于第二反射率信息、和第三反射率信息,得到第一子损失;根据第三反射率信息、第一光照信,生成第四人脸纹理图,并基于第四人脸纹理图和第二人脸纹理图,得到第二子损失,和第三子损失。基于第一子损失、第二子损失、第三子损失,更新待训练的第一神经网络的网络参数。

通过待训练的第三神经网络输出人脸细节信息,并将人脸细节信息和第三点云数据进行融合,得到第四点云数据。然后利用第四点云数据、东三反射率信息、和第一光照信息,得到第五人脸纹理图;并利用第五人脸纹理图和第二人脸纹理图,得到第三损失。基于第三损失,更新待训练的第二神经网络的网络参数。

通过对第一神经网络的网络参数、和第二神经网络的网络参数的多轮更新,得到训练好的第一神经网络和第二神经网络。

iv:在上述s104中,将第一反射率信息以及第二点云数据进行融合处理时,由于第一反射率信息中实际包括的第二点云数据中每个第一点云点对应的颜色,因此基于第一反射率信息,对各个第二点云点进行颜色的渲染,得到第一人脸的三维模型。

本公开实施例中,首先基于第一图像,确定包括第一人脸的轮廓信息的第一点云数据,然后基于第一点云数据以及第一图像,确定第一人脸的第一反射率信息、以及包括第一人脸的细节信息的第二点云数据,并对第一反射率信息以及第二点云数据进行融合处理,使得得到的第一人脸的三维模型中,既包括了第一人脸的反射率信息,又包含了第一人脸的轮廓信息和细节信息,因而生成的第一人脸的三维模型具有更高的真实度。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与三维模型生成方法对应的三维模型生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述三维模型生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图8所示,为本公开实施例提供的一种三维模型生成装置的示意图,所述装置包括:获取模块81、确定模块82、融合模块83;其中,

获取模块81,用于获取包括第一人脸的第一图像,并基于所述第一图像,得到包括第一人脸的轮廓信息的第一点云数据;

确定模块82,用于基于所述第一点云数据以及所述第一图像,得到所述第一人脸的第一反射率信息、以及包括所述第一人脸的细节信息的第二点云数据;

融合模块83,用于基于所述第一反射率信息以及所述第二点云数据,得到所述第一人脸的三维模型。

一种可能的实施方式中,所述确定模块82,在基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸细节信息的第二点云数据时,用于:

基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图;

对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息;以及

对所述第一人脸纹理图进行人脸细节的预测处理,并基于所述人脸细节的预测处理的结果,得到所述第一人脸的第二点云数据。

一种可能的实施方式中,所述第一点云数据包括:构成所述第一人脸的多个第一点云点分别在相机坐标系下的三维坐标值、以及不同所述第一点云点之间的连接关系信息。

一种可能的实施方式中,所述确定模块82,在基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一人脸纹理图时,用于::

基于多个所述第一点云点分别在相机坐标系下的三维坐标值,将多个所述第一点云点分别与所述第一图像中的多个第一像素点进行对齐处理;

基于对齐处理的结果、不同所述第一点云点之间的连接关系信息以及所述第一图像中各个第一像素点的第一像素值,确定构成所述第一人脸的多个面片分别对应的第二像素值;其中,任一所述面片为由至少三个具有连接关系的第一点云点构成;

基于所述多个面片分别对应的第二像素值,生成所述第一人脸纹理图。

一种可能的实施方式中,所述人脸细节的预测处理的结果包括:所述第一人脸的第一人脸细节信息;

所述确定模块82,在基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据时,用于:

将所述第一点云数据以及所述第一人脸细节信息进行融合处理,得到所述第二点云数据。

一种可能的实施方式中,所述第一人脸细节信息包括:多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离;

所述确定模块82,在对所述第一点云数据以及所述第一人脸细节信息进行融合处理,生成所述第二点云数据时,用于:

基于多个所述第一点云点中的每个第一点云点在与所述每个第一点云点对应的第一法向量方向的移动距离、以及所述每个点云点在相机坐标系中的三维坐标值,对每个所述第一点云点在所述相机坐标系中的位置进行调整;

基于多个所述第一点云点的调整结果,得到所述第二点云数据。

一种可能的实施方式中,所述确定模块82,在对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息时,用于:

利用预先训练的第一神经网络对所述第一人脸纹理图进行反射率信息的预测处理,得到所述第一人脸的第一反射率信息。

一种可能的实施方式中,还包括第一训练模块84,用于采用下述方式训练所述第一神经网络:

获取包括第二人脸的第二图像,并基于所述第二图像,得到包括第二人脸的轮廓信息的第三点云数据;

基于所述第三点云数据,得到第二人脸的第二人脸纹理图;

利用待训练的第三神经网络,对所述第二人脸纹理图进行反射率的预测处理、以及光照的预测处理,得到所述第二人脸的第二反射率信息、及所述第二人脸的第一光照信息;

以及,利用待训练的第一神经网络,对所述第二人脸纹理图进行反射率的预测处理,得到所述第二人脸的第三反射率信息;

利用所述第二反射率信息、所述第一光照信息以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练,得到训练好的第一神经网络。

一种可能的实施方式中,所述第一训练模块84,在利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,对所述待训练的第一神经网络和待训练的第三神经网络进行联合训练时,用于:

利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失;以及,利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失;

基于所述第一损失,更新所述待训练的第三神经网络,并基于所述第二损失,更新所述待训练的第一神经网络的网络参数;

经过对所述待训练的第三神经网络和所述待训练的第一神经网络的网络参数的多轮更新,得到所述训练好的第一神经网络。

一种可能的实施方式中,所述第一训练模块84,在利用所述第二反射率信息、所述第一光照信息,确定所述待训练的第三神经网络的第一损失时,用于:

基于所述第三点云数据,确定所述第三点云数据中多个第三点云点分别对应的第二法向量;

基于所述第二法向量、所述第二反射率信息、以及所述第一光照信息,生成所述第二人脸的第三人脸纹理图;

基于所述第二人脸纹理图以及所述第三人脸纹理图,生成所述第一损失。

一种可能的实施方式中,所述第一训练模块84,在利用所述第二反射率信息、所述第一光照信息、以及所述第三反射率信息,确定所述待训练的第一神经网络的第二损失时,用于:

基于所述第二反射率信息、以及所述第三反射率信息,确定第一子损失;

基于所述第二法向量、所述第三反射率信息、以及所述第一光照信息,生成所述第二人脸的第四人脸纹理图,并基于所述第四人脸纹理图、以及所述第二人脸纹理图,生成第二子损失;

以及基于所述第四人脸纹理图的特征图、和所述第二人脸纹理图的特征图,生成第三子损失;

基于所述第一子损失、所述第二子损失、和所述第三子损失,得到所述第二损失。

一种可能的实施方式中,所述确定模块82,在所述对所述人脸纹理图进行细节预测处理,并基于所述细节预测处理的结果,得到所述第一人脸的第二点云数据时,用于:

利用预先训练的第二神经网络对所述第一人脸纹理图进行细节预测处理,得到所述第一人脸的第一人脸细节信息。

一种可能的实施方式中,还包括第二训练模块85,用于采用下述方式训练所述第二神经网络:

利用待训练的第二神经网络,对所述第二人脸纹理图进行细节预测处理,得到所述第二人脸的第二人脸细节信息;

将所述第二人脸的第二人脸细节信息、以及所述第三点云数据进行融合,得到第二人脸的第四点云数据;

基于所述第四点云数据、所述第三反射率信息、以及所述第一光照信息,生成第五人脸纹理图;

基于所述第五人脸纹理图、以及所述第二人脸纹理图,训练所述待训练的第二神经网络;得到训练好的第二神经网络。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

本公开实施例还提供了一种计算机设备,如图9所示,为本公开实施例提供的计算机设备结构示意图,包括:

处理器11和存储器12;所述存储器12存储有所述处理器11可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行以实现下述步骤:

获取包括第一人脸的第一图像;

基于所述第一图像,确定包括第一人脸的轮廓信息的第一点云数据;

基于所述第一点云数据以及所述第一图像,确定所述第一人脸的第一反射率信息以及包括所述第一人脸的细节信息的第二点云数据;

基于所述第一反射率信息以及所述第二点云数据,生成所述第一人脸的三维模型。

上述指令的具体执行过程可以参考本公开实施例中所述的三维模型生成方法的步骤,此处不再赘述。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的三维模型生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例所提供的三维模型生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的三维模型生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。

本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1