一种人脸关键点检测方法、装置、电子设备及存储介质转让专利

申请号 : CN202410021113.3

文献号 : CN117523645B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王念欧郦轲刘文华万进

申请人 : 深圳市宗匠科技有限公司

摘要 :

本发明公开了一种人脸关键点检测方法、装置、电子设备及存储介质;该方法包括:获取原始人脸图像,对原始人脸图像进行缩放,得到目标人脸图像;将目标人脸图像输入到主干网络中进行特征提取,得到多级特征;对多级特征进行编码生成编码特征,对编码特征进行合并生成粗粒度热力图,对多级特征进行细粒度特征提取,得到细粒度热力图;基于粗粒度热力图和细粒度热力图确定至少一个人脸关键点坐标;将各人脸关键点坐标进行缩放还原,确定人脸关键点在原始人脸图像中的目标人脸关键点坐标,解决了人脸关键点检测准确性较低的问题,通过粗粒度热力图对人脸关键点进行粗略定位,通过细粒度热力图对亚像素坐标进行表示,实现对人脸关键点的准确识别。

权利要求 :

1.一种人脸关键点检测方法,其特征在于,包括:

获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;

将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;

对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;

基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;

将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标;

所述对所述多级特征进行细粒度特征提取,得到细粒度热力图,包括:将所述多级特征依次输入到特征解码模块中进行解码处理,得到多维度的解码特征,其中,所述特征解码模块包括:顺次连接的第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层;

对所述多维度的解码特征按第一维度进行加权运算,将多维度的解码特征合并为一个维度的解码特征,生成细粒度热力图;

所述下采样模块处理数据的过程为:数据输入到顺次连接的两个卷积块中得到第三卷积特征,将数据输入到一个卷积块中得到第四卷积特征,对所述第三卷积特征进行卷积处理,得到卷积结果,将所述卷积结果和所述第四卷积特征进行跳跃链接,通过卷积对跳跃链接结果进行下采样,得到所述下采样模块的输出结果;

所述主干网络和所述特征解码模块的参数在模型训练时通过分类损失函数调整,所述分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,所述像素的概率为像素的置信度。

2.根据权利要求1所述的方法,其特征在于,所述主干网络包括:预处理模块和三个沙漏网络,所述预处理模块和各所述沙漏网络顺次连接;所述多级特征包括:第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征;

所述将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征,包括:将所述目标人脸图像输入到所述预处理模块中进行特征提取,得到预处理特征数据;

将所述预处理特征数据输入到第一个沙漏网络中,得到第一多尺度特征数据;

将所述第一多尺度特征数据输入到第二个沙漏网络中,得到第二多尺度特征数据;

将所述第二多尺度特征数据输入到第三个沙漏网络中,得到第三多尺度特征。

3.根据权利要求2所述的方法,其特征在于,所述预处理模块包括:卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块;

所述将所述目标人脸图像输入到所述预处理模块中进行特征提取,得到预处理特征数据,包括:将所述目标人脸图像输入到依次连接的卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块中进行处理,得到所述第三个残差模块输出的预处理特征数据;

其中,所述第一个残差模块、所述第二个残差模块和所述第三个残差模块为结构相同的残差模块,所述残差模块处理数据的过程为:数据输入到顺次连接的三个卷积块中得到第一卷积特征,数据输入到一个卷积块中得到第二卷积特征,将所述第一卷积特征和所述第二卷积特征进行跳跃链接,通过激活函数对跳跃链接结果进行非线性修正,得到所述残差模块的输出结果。

4.根据权利要求2所述的方法,其特征在于,所述对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,包括:通过特征编码模块对所述第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征分别提取特征图,对各所述特征图进行拼接得到多维度的编码特征;

将所述多维度的编码特征按第一维度进行加权运算,将多维度的编码特征合并为一个维度的编码特征,生成粗粒度热力图。

5.根据权利要求4所述的方法,其特征在于,所述特征编码模块的参数在模型训练时通过分类损失函数调整,所述分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,所述像素的概率为像素的置信度。

6.根据权利要求1所述的方法,其特征在于,所述基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标,包括:基于所述粗粒度热力图确定至少一个第一关键点候选坐标;

针对每个第一关键点候选坐标,基于所述细粒度热力图的大小对所述第一关键点候选坐标进行分割,得到分割后的热力图,将所述细粒度热力图中的第二关键点候选坐标在分割后的热力图中的对应坐标确定为人脸关键点坐标。

7.一种人脸关键点检测装置,其特征在于,包括:

人脸图像获取模块,用于获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;

多级特征提取模块,用于将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;

热力图生成模块,用于对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;

关键点检测模块,用于基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;

目标坐标确定模块,用于将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标;

所述热力图生成模块,包括:

解码特征确定单元,用于将所述多级特征依次输入到特征解码模块中进行解码处理,得到多维度的解码特征,其中,所述特征解码模块包括:顺次连接的第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层;

细热度图生成单元,用于对所述多维度的解码特征按第一维度进行加权运算,将多维度的解码特征合并为一个维度的解码特征,生成细粒度热力图;

所述下采样模块处理数据的过程为:数据输入到顺次连接的两个卷积块中得到第三卷积特征,将数据输入到一个卷积块中得到第四卷积特征,对所述第三卷积特征进行卷积处理,得到卷积结果,将所述卷积结果和所述第四卷积特征进行跳跃链接,通过卷积对跳跃链接结果进行下采样,得到所述下采样模块的输出结果;

所述主干网络和所述特征解码模块的参数在模型训练时通过分类损失函数调整,所述分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,所述像素的概率为像素的置信度。

8.一种电子设备,其特征在于,所述电子设备包括:

至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑6中任一项所述的人脸关键点检测方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1‑6中任一项所述的人脸关键点检测方法。

说明书 :

一种人脸关键点检测方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种人脸关键点检测方法、装置、电子设备及存储介质。

背景技术

[0002] 随着社会的发展,人们对美的追求也越来越高,拥有一张光滑细腻的脸庞已经成为许多人梦寐以求的目标。为了达成这个目标,人们投入大量的精力和财力去护肤,护肤不仅涉及到外表美观,还与身体健康密切相关。每个人的肤质、环境和生活方式都不同,对护肤的需要也有所区别,所以精准护肤是非常重要的,皮肤精准检测是精准护肤的前提。对于皮肤分析来说,人脸关键点检测的准确性非常重要,通过面部特征定位技术可以进一步在脸部区域中找到眼睛、鼻子、嘴巴等关键点的位置。这些关键点的位置信息可以用于校正图像的角度或缩放比例,使得皮肤区域更加清晰地显示出来,以便于后续的皮肤分析。
[0003] 目前,深度学习方法在人脸关键点定位的表现最为突出,主要分为两类:基于坐标回归和基于热图的回归,基于热图的回归克服了基于坐标回归缺乏空间和上下文信息的缺点,彻底改变了人脸对齐的任务。但在图像大小调整和网络降采样中,由于忽略亚像素坐标,存在量化误差,在图像分辨率较大时,量化误差会更高。因此,如何精准对人脸关键点进行检测成为有待解决的问题。

发明内容

[0004] 本发明提供了一种人脸关键点检测方法、装置、电子设备及存储介质,以解决人脸关键点检测准确性较低的问题。
[0005] 根据本发明的一方面,提供了一种人脸关键点检测方法,包括:
[0006] 获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;
[0007] 将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;
[0008] 对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;
[0009] 基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;
[0010] 将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标。
[0011] 根据本发明的另一方面,提供了一种人脸关键点检测装置,包括:
[0012] 人脸图像获取模块,用于获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;
[0013] 多级特征提取模块,用于将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;
[0014] 热力图生成模块,用于对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;
[0015] 关键点检测模块,用于基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;
[0016] 目标坐标确定模块,用于将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标。
[0017] 根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
[0018] 至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
[0019] 其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的人脸关键点检测方法。
[0020] 根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的人脸关键点检测方法。
[0021] 本发明实施例的技术方案,通过获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标,解决了人脸关键点检测准确性较低的问题,通过采集原始人脸图像,对原始人脸图像进行尺寸缩放,得到目标人脸图像;通过主干网络对目标人脸图像进行特征提取,得到多级特征,通过对多级特征进行编码生成编码特征并通过对编码特征进行特征合并生成粗粒度热力图,实现人脸关键点的粗略定位,通过对多级特征进行细粒度特征提取,得到细粒度热力图,对亚像素坐标进行表示,结合粗粒度热力图和细粒度热力图进行人脸关键点识别,实现对人脸关键点的准确识别;最后将各人脸关键点坐标进行缩放还原,确定原始人脸图像中的目标人脸关键点坐标,实现对人脸关键点的精度定位,提高人脸关键点的识别准确性。
[0022] 应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0023] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是根据本发明实施例一提供的一种人脸关键点检测方法的流程图;
[0025] 图2是根据本发明实施例二提供的一种人脸关键点检测方法的流程图;
[0026] 图3是根据本发明实施例二提供的一种预处理模块的结构示意图;
[0027] 图4是根据本发明实施例二提供的一种残差模块的结构示意图;
[0028] 图5是根据本发明实施例二提供的一种特征解码模块的结构示意图;
[0029] 图6是根据本发明实施例二提供的一种下采样模块的结构示意图;
[0030] 图7是根据本发明实施例二提供的一种像素概率软化的示意图;
[0031] 图8是根据本发明实施例二提供的一种实现人脸关键点识别的示意图;
[0032] 图9是根据本发明实施例二提供的一种粗粒度热力图的示意图;
[0033] 图10是根据本发明实施例二提供的一种细粒度热力图的示意图;
[0034] 图11是根据本发明实施例三提供的一种人脸关键点检测装置的结构示意图;
[0035] 图12是实现本发明实施例的人脸关键点检测方法的电子设备的结构示意图。

具体实施方式

[0036] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0037] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0038] 实施例一
[0039] 图1为本发明实施例一提供的一种人脸关键点检测方法的流程图,本实施例可适用于对人脸关键点进行检测的情况,该方法可以由人脸关键点检测装置来执行,该人脸关键点检测装置可以采用硬件和/或软件的形式实现,该人脸关键点检测装置可配置于电子设备中。如图1所示,该方法包括:
[0040] S101、获取原始人脸图像,对原始人脸图像进行缩放,得到目标人脸图像。
[0041] 在本实施例中,原始人脸图像具体可以理解为用于进行关键点识别的原始的采集图像,可以直接通过对人脸进行图像采集得到。目标人脸图像具体可以理解为对原始人脸图像的尺寸进行缩放后得到的图像。
[0042] 通过图像采集装置采集原始人脸图像,图像采集装置可以设置在固定位置或者移动设备上,图像采集装置可以是照相机、摄像机、红外热成像等等。图像采集装置可以设定一定采集条件,在触发采集条件后采集图像,采集的图像可以直接作为原始人脸图像进行关键点检测,也可以保存到指定的内存空间中,在满足检测条件时从内存空间中读取图像,并作为原始人脸图像进行关键点检测。由于原始人脸图像的尺寸可能不符合关键点检测算法处理所要求的尺寸,因此,对原始人脸图像的尺寸进行缩放,例如,放大或者缩小,得到目标人脸图像。目标人脸图像的尺寸大小通常是固定的,因此,在获取到原始人脸图像后,只需要根据原始人脸图像的尺寸和目标人脸图像的尺寸计算缩放比例,然后根据缩放比例对原始人脸图像进行尺寸缩放,得到目标人脸图像。本申请实施例针对分辨率较高的图像,可以通过缩小比例将其处理为目标人脸图像进行检测,降低误差。
[0043] 本申请技术方案中对图像的获取、存储、使用、处理等均符合国家法律法规的相关规定。
[0044] S102、将目标人脸图像输入到主干网络中进行特征提取,得到多级特征。
[0045] 在本实施例中,主干网络具体可以理解为用于对图像进行特征提取的网络,主干网络可以由不同功能的模块组成;多级特征具体可以理解为不同层级的特征数据。
[0046] 预先构建主干网络,并经过训练后确定主干网络的网络参数,在关键点识别时,直接将目标人脸图像输入到预先训练好的主干网络中进行特征提取,通过主干网络从多个层级上对目标人脸图像进行特征提取,得到多级特征。
[0047] S103、对多级特征进行编码生成编码特征,对编码特征进行合并生成粗粒度热力图,对多级特征进行细粒度特征提取,得到细粒度热力图。
[0048] 在本实施例中,编码特征具体可以理解为对特征进行编码处理后得到的特征数据;粗粒度热力图具体可以理解为用于粗略对关键点进行表示的热力图;细粒度热力图具体可以理解为用于精准对关键点进行表示的热力图;其中,粗粒度热力图用于表示整数坐标,细粒度热力图用于表示亚像素坐标,整个粗粒度热力图表示对应的粗粒度热力图中的一个像素,小于一个像素且在粗粒度热力图中被忽略的亚像素坐标将由细粒度热力图表示。
[0049] 对多级特征进行特征提取,得到的特征数据进行拼接、融合等处理,得到编码特征;编码特征中包括多个维度的特征,对编码特征按照维度进行合并处理,得到粗粒度热力图。同时,通过特征解码对多级特征进行细粒度特征提取,细粒度特征提取可以通过预先构建的网络模型实现,通过对多级特征进行细粒度特征提取,生成细粒度热力图。本申请实施例中的粗粒度热力图和细粒度热力图的生成顺序没有严格的先后顺序,可以并行执行。
[0050] S104、基于粗粒度热力图和细粒度热力图确定至少一个人脸关键点坐标。
[0051] 在本实施例中,人脸关键点坐标具体可以理解为人脸关键点的坐标,人脸关键点可以是眼睛、眉毛、鼻子、嘴巴等等。人脸关键点坐标可以是二维、三维等,每个人脸关键点坐标对应一个人脸关键点,人脸关键点的数量可以是一个或者多个,可以预先设置,相应的,人脸关键点坐标的数量可以是一个或者多个。粗粒度热力图和细粒度热力图可以是多维度,每个维度对应一个人脸关键点。
[0052] 基于粗粒度热力图确定关键点的粗略坐标,基于细粒度热力图确定粗略坐标对应的亚像素坐标,通过粗略坐标对人脸关键点进行粗略定位,在粗略坐标的基础上通过亚像素坐标进行精准定位,得到精准的人脸关键点坐标。在确定人脸关键点坐标时,可以分别对每个维度进行分析,确定此维度对应的人脸关键点坐标,进而得到每个人脸关键点坐标。
[0053] S105、将各人脸关键点坐标进行缩放还原,确定人脸关键点在原始人脸图像中的目标人脸关键点坐标。
[0054] 在本实施例中,目标人脸关键点坐标具体可以理解为原始人脸图像中的人脸关键点的坐标。
[0055] 由于确定的人脸关键点坐标为目标人脸图像中的坐标,由于目标人脸图像和原始人脸图像的尺寸可能不同,因此,需要将坐标映射到原始人脸图像中,因此,对各人脸关键点坐标进行缩放还原。对人脸关键点坐标进行缩放还原可以是直接按照尺寸缩放时的缩放比例进行还原,例如,原始人脸图像除以缩放比例进行缩放得到目标人脸图像,在缩放还原时,将人脸关键点坐标乘以缩放比例得到目标人脸关键点坐标。
[0056] 本发明实施例提供了一种人脸关键点检测方法,解决了人脸关键点检测准确性较低的问题,通过采集原始人脸图像,对原始人脸图像进行尺寸缩放,得到目标人脸图像;通过主干网络对目标人脸图像进行特征提取,得到多级特征,通过对多级特征进行编码生成编码特征并通过对编码特征进行特征合并生成粗粒度热力图,实现人脸关键点的粗略定位,通过对多级特征进行细粒度特征提取,得到细粒度热力图,对亚像素坐标进行表示,结合粗粒度热力图和细粒度热力图进行人脸关键点识别,实现对人脸关键点的准确识别;最后将各人脸关键点坐标进行缩放还原,确定原始人脸图像中的目标人脸关键点坐标,实现对人脸关键点的精度定位,提高人脸关键点的识别准确性。
[0057] 实施例二
[0058] 图2为本发明实施例二提供的一种人脸关键点检测方法的流程图,本实施例在上述实施例的基础上进行细化。如图2所示,该方法包括:
[0059] S201、获取原始人脸图像,对原始人脸图像进行缩放,得到目标人脸图像。
[0060] 示例性的,原始人脸图像的高为2160,宽为3840;目标人脸图像的高为288,宽为512。
[0061] S202、将目标人脸图像输入到主干网络中进行特征提取,得到多级特征。
[0062] 可选的,主干网络包括:预处理模块和三个沙漏网络,预处理模块和各沙漏网络顺次连接;多级特征包括:第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征。
[0063] 可选的,将目标人脸图像输入到主干网络中进行特征提取,得到多级特征,包括A1‑A4步骤:
[0064] A1、将目标人脸图像输入到预处理模块中进行特征提取,得到预处理特征数据。
[0065] 在本实施例中,预处理模块为深度学习神经网络,可以预先构建并通过模型训练得到。预处理特征数据具体可以理解为经过预处理模块处理得到的特征数据。预先构建预处理模块,并经过模型训练得到预处理模块的参数,将目标人脸图像输入到训练好的预处理模块中,预处理模块对目标人脸图像进行特征提取,提取图像中的特征得到预处理特征数据。
[0066] 可选的,预处理模块包括:卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块;
[0067] 将目标人脸图像输入到预处理模块中进行特征提取,得到预处理特征数据,包括:
[0068] 将目标人脸图像输入到依次连接的卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块中进行处理,得到第三个残差模块输出的预处理特征数据;
[0069] 其中,第一个残差模块、第二个残差模块和第三个残差模块为结构相同的残差模块,残差模块处理数据的过程为:数据输入到顺次连接的三个卷积块中得到第一卷积特征,数据输入到一个卷积块中得到第二卷积特征,将第一卷积特征和第二卷积特征进行跳跃链接,通过激活函数对跳跃链接结果进行非线性修正,得到残差模块的输出结果。
[0070] 预处理模块中的卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块顺次连接,数据从卷积块输入,从第三个残差模块输出。示例性的,图3提供了一种预处理模块的结构示意图。目标人脸图像依次经过卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块进行处理,得到预处理特征数据。其中,第一个残差模块、第二个残差模块和第三个残差模块为结构相同的残差模块,不同的残差模块的参数可能不同,可以根据实际数据处理需求设置。
[0071] 在本实施例中,第一卷积特征具体可以理解为经过三个卷积块处理后得到的特征数据;第二卷积特征具体可以理解为经过一个卷积块处理后得到的特征数据,各卷积块的结构相同,各卷积块的参数可以相同,也可以不同,根据实际需求设置。
[0072] 残差模块处理数据的过程为:上一阶段得到的数据输入到残差模块中,首先输入到顺次连接的三个卷积块中,数据经过三个卷积块的顺次处理得到第一卷积特征,同时,数据输入到一个卷积块中,经过此卷积块的处理得到第二卷积特征,将第一卷积特征和第二卷积特征进行跳跃链接,通过激活函数对跳跃链接结果进行非线性修正,得到残差模块的输出结果。
[0073] 示例性的,图4提供了一种残差模块的结构示意图,如图所示,残差模块的输入为上一阶段的提取的特征x,经过3个卷积块处理,得到第一卷积特征x1 =F((F(F(x)));经过一个卷积块的残差链接,得到第二卷积特征x2 = F(x);第一卷积特征和所述第二卷积特征经过跳跃链接,得到跳跃链接结果x3= x1+x2;通过激活函数对跳跃链接结果进行非线性修正,得到残差模块的输出结果。
[0074] A2、将预处理特征数据输入到第一个沙漏网络中,得到第一多尺度特征数据。
[0075] 在本实施例中,第一多尺度特征数据具体可以理解为由沙漏网络对预处理特征数据从不同层级进行特征提取得到的数据。将预处理特征数据输入到第一个沙漏网络中,沙漏网络具有堆成的编码和解码结构,可以捕获多尺度的特征信息,并在多个层级上进行特征的提取和融合,预处理特征数据经过第一个沙漏网络处理后得到第一多尺度特征数据。
[0076] A3、将第一多尺度特征数据输入到第二个沙漏网络中,得到第二多尺度特征数据。
[0077] 在本实施例中,第二多尺度特征数据具体可以理解为由沙漏网络对第一多尺度特征数据从不同层级进行特征提取得到的数据。将第一多尺度特征数据输入到第二个沙漏网络中进行特征提取,提取出多层级的第二多尺度特征数据。
[0078] A4、将第二多尺度特征数据输入到第三个沙漏网络中,得到第三多尺度特征。
[0079] 在本实施例中,第三多尺度特征数据具体可以理解为由沙漏网络对第二多尺度特征数据从不同层级进行特征提取得到的数据。将第二多尺度特征数据输入到第三个沙漏网络中进行特征提取,提取出多层级的第三多尺度特征数据。
[0080] 本申请实施例中的沙漏网络为Hourglass网络,Hourglass 是一种经典的用于人体姿态估计的深度卷积神经网络。Hourglass网络为对称沙漏结构,每个模块由对称的编码器和解码器组成;编码器用于提取特征并逐渐减少分辨率,解码器则用于将低分辨率特征恢复到原始分辨率,并融合多尺度信息。Hourglass网络可以进行多尺度特征融合,Hourglass 结构允许在不同层级同时使用多尺度的特征信息,从而提高了网络对不同尺度特征的感知能力。Hourglass网络包括残差连接和跳跃连接,每个 Hourglass 模块中通常包含了残差连接,有助于网络的训练和梯度传播;同时,跳跃链接使得网络能够利用不同层级的特征信息。
[0081] S203、对多级特征进行编码生成编码特征,对编码特征进行合并生成粗粒度热力图,对多级特征进行细粒度特征提取,得到细粒度热力图。
[0082] 可选的,对多级特征进行编码生成编码特征,对编码特征进行合并生成粗粒度热力图,包括B1‑B2步骤:
[0083] B1、通过特征编码模块对第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征分别提取特征图,对各特征图进行拼接得到编码特征。
[0084] 在本实施例中,特征编码模块具体可以理解为对特征数据进一步进行特征提取的神经网络模型中的模块。预先构建特征编码模块,并经过训练确定特征编码模块的参数,将第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征分别输入到特征编码模块中进行特征图提取,得到三个特征图,将三个特征图进行拼接,得到多维度的编码特征。示例性的,特征图的尺寸为1×8×72×128,其中,1为维度,8为人脸关键点的数量,72为高,128为宽;拼接后得到的编码特征的尺寸在3×8×72×128,其中,3为维度,8为人脸关键点的数量,72为高,128为宽。
[0085] B2、将编码特征按第一维度进行加权运算,生成粗粒度热力图。
[0086] 将编码特征按照第一维度进行加权运算,加权系数可以预先设置,通过将编码特征按第一维度进行加权运算,将三个维度的数据加权运算,合并为一个维度,生成粗粒度热力图,粗粒度热力图的尺寸为8×72×128,其中N=8,h0=72,w0=128,N为人脸关键点的数量,h0为粗粒度热力图的高,w0为粗粒度热力图的宽。
[0087] 可选的,对多级特征进行细粒度特征提取,得到细粒度热力图,包括C1‑C2步骤:
[0088] C1、将多级特征依次输入到特征解码模块中进行解码处理,得到解码特征,其中,特征解码模块包括:顺次连接的第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层。
[0089] 在本实施例中,特征解码模块具体可以理解为对特征数据进行解码处理的神经网络模型中的模块;解码特征具体可以理解为对多级特征进行解码处理后得到的特征数据。预先构建特征解码模块,并通过模型训练确定特征解码模块的参数,将多级特征输入到预先训练好的特征解码模块中进行解码处理,得到解码特征。
[0090] 特征解码模块包括:第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层,第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层顺次连接,多级特征从第一个卷积块输入,依次经过第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层的处理后,从卷积层输出解码特征。示例性的,图5提供了一种特征解码模块的结构示意图。
[0091] 当多级特征包括第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征数据时,分别将第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征数据输入到特征解码模块中进行解码处理,得到对应的解码特征,示例性的,解码特征的尺寸为3×8×9×16。
[0092] C2、对解码特征按第一维度进行加权运算,生成细粒度热力图。
[0093] 将解码特征按照第一维度进行加权运算,加权系数可以预先设置,解密特征的加权系数与编码特征的加权系数可以相同,也可以不同。通过将解码特征按第一维度进行加权运算,将三个维度的数据加权运算,合并为一个维度,生成细粒度热力图。解码特征的尺寸为3×8×9×16,细粒度热力图的尺寸为8×9×16,其中N=8,h1=9,w1=16,N为人脸关键点的数量,h1为细粒度热力图的高,w1为细粒度热力图的宽。
[0094] 可选的,下采样模块处理数据的过程为:数据输入到顺次连接的两个卷积块中得到第三卷积特征,将数据输入到一个卷积块中得到第四卷积特征,对第三卷积特征进行卷积处理,得到卷积结果,将卷积结果和第四卷积特征进行跳跃链接,通过卷积对跳跃链接结果进行下采样,得到下采样模块的输出结果。
[0095] 在本实施例中,第三卷积特征具体可以理解为经过二个卷积块处理后得到的特征数据;第四卷积特征具体可以理解为经过一个卷积块处理后得到的特征数据。下采样模块中的各卷积块的结构相同,各卷积块的参数可以相同,也可以不同,与残差模块中的卷积块的结构相同,参数可以相同,也可以不同,根据实际需求灵活设置。
[0096] 数据输入到顺次连接的两个卷积块中,经过两个卷积块的顺次处理得到第三卷积特征,对第三卷积特征进行卷积处理,得到卷积结果,卷积处理可以通过卷积层实现;同时,数据输入到一个卷积块中,经过此卷积块的处理得到第四卷积特征,将卷积结果和第四卷积特征进行跳跃链接,通过卷积的处理方式对跳跃链接结果进行下采样,得到下采样模块的输出结果。
[0097] 示例性的,图6提供了一种下采样模块的结构示意图,输入为上一阶段的提取的特征y,经过两个卷积块处理,得到第三卷积特征y1 =(F(F(y)),对第三卷积特征进行卷积处理,得到卷积结果y2=C(y1);上一阶段的提取的特征y经过一个卷积块的残差链接,得到第四卷积特征y3=F(y);对卷积结果和第四卷积特征进行跳跃链接,得到跳跃链接结果y4=y2+y3;通过卷积对跳跃链接结果进行下采样,得到下采样模块的输出结果。
[0098] 可选的,主干网络、特征编码模块和特征解码模块的参数在模型训练时通过分类损失函数调整,分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,像素的概率为像素的置信度。
[0099] 主干网络、特征编码模块和特征解码模块的结构预先构建,在训练过程中通过计算分类损失函数调整主干网络、特征编码模块和特征解码模块的参数。分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,即在训练过程中,模型输出人脸关键点坐标的同时输出预测的标签概率,训练前对训练样本进行标定,确定关键点的标签概率,现有技术在标定时,直接对关键点坐标的像素点的概率赋值为1或者0,此种方式模型预测精度较差。本申请实施例为了指导热图值的分布,引入了基于软标签的分类损失函数,允许更灵活地处理值之间的关系,而不是严格地将值分成不同的类别,对关键点标签,即标定的真实关键点坐标相邻的热图像素的概率进行软化,减小关键点标签概率的值,将减小的概率值赋值给关键点标签相邻的像素。示例性的,图7提供了一种像素概率软化的示意图,真实的关键点标签概率为0.6,周围4个热图像素标签概率为0.1。在计算分类损失函数时,基于软化后的关键点标签的概率,以及关键点标签相邻的像素的概率进行计算。
[0100] 根据argmax函数的特性和热力图有限分辨率的启发,本申请将热图的预测作为一个分类问题来解决,热图中,使用像素的每个位置表示一个类别,并将像素的置信度视为区间类别的概率。因此,类别的数量是十进制热图的高度和宽度的乘积,细粒度热力图中所有间隔构成粗粒度热力图中的一个像素。
[0101] 本申请实施例提供的分类损失函数可以称为坐标软分类损失,其使得学习相对分布成为可能。
[0102] 交叉熵损失公式计算:
[0103]
[0104] 其中,CELoss表示交叉熵损失函数值,yi表示标定的第i个训练样本中关键点标签概率,f(xi)表示模型预测的第i个训练样本的标签概率,N为样本数量。其中,N为训练过程中输入到模型中同一批次的训练样本的数量,训练过程中,批量向模型中输入训练样本,本步骤所述的模型指由主干网络、特征编码模块和特征解码模块构成的人脸特征点检测的整体模型。
[0105] 示例性的,图8提供了一种实现人脸关键点识别的示意图,以原始人脸图像的高hr为2160,宽wr为3840,目标人脸图像的高h为288,宽w为512为例。将采集到的原始人脸图像进行等比缩小,将其转换为目标人脸图像,将目标人脸图像输入到主干网络中进行特征提取,得到多级特征;对多级特征进行特征编码,经过处理后得到粗粒度热力图;同时对多级特征进行特征解码,经过处理后得到细粒度热力图;训练过程中,粗粒度热力图和细粒度热力图结合计算分布损失函数,基于分布损失函数调整模型的参数;在预测过程中,粗粒度热力图和细粒度热力图结合确定人脸关键点坐标,实现人脸关键点预测。
[0106] S204、基于粗粒度热力图确定至少一个第一关键点候选坐标。
[0107] 在本实施例中,第一关键点候选坐标具体可以理解为人脸关键点的粗略坐标。基于粗粒度热力图进行判断,确定概率最高的像素点确定为粗略的人脸关键点,将其坐标确定为第一关键点候选坐标。以粗粒度热力图为8×72×128为例,第一关键点候选坐标有8个,对应8个人脸关键点,每个维度的热力图对应一个第一关键点候选坐标。
[0108] 示例性的,图9提供了一种粗粒度热力图的示意图,图中为一个维度的热力图,黑色区域为第一关键点候选坐标对应的区域。
[0109] S205、针对每个第一关键点候选坐标,基于细粒度热力图的大小对第一关键点候选坐标进行分割,得到分割后的热力图,将细粒度热力图中的第二关键点候选坐标在分割后的热力图中的对应坐标确定为人脸关键点坐标。
[0110] 在本实施例中,第二关键点候选坐标具体可以理解为对人脸关键点进行精细定位的亚像素坐标。对于每个第一关键点候选坐标,基于细粒度热力图的大小对第一关键点候选坐标进行分割,将第一关键点候选坐标对应的区域分割为多个区域,区域的数量等于细粒度热力图的高乘以宽,得到分割后的热力图。确定细粒度热力图中概率最大的像素点坐标为第二关键点候选坐标,进一步确定第二关键点候选坐标在分割后的热力图中的对应坐标,将此坐标确定为人脸关键点坐标。以细粒度热力图为8×9×16为例,第二关键点候选坐标同样有8个,对应8个人脸关键点,每个维度的热力图对应一个第二关键点候选坐标。
[0111] 示例性的,图10提供了一种细粒度热力图的示意图,图中为一个维度的热力图,黑色区域为第二关键点候选坐标对应的区域。图10提供的细粒度热力图为图9中的一个像素,即图9中的黑色区域。通过确定细粒度热力图中的第二关键点候选坐标在粗粒度热力图的第一关键点候选坐标的区域的坐标,得到人脸关键点坐标。
[0112] 人脸关键点预测的粗粒度热力图和细粒度热力图都以激活最大的位置作为坐标结果,从粗粒度热力图解码的位置是次优坐标,最终的预测用粗粒度坐标和细粒度归一化分数坐标的和来表示,即,整个粗粒度热力图表示对应的粗粒度热力图中的一个像素,而小于一个像素且在粗粒度热力图中被忽略的亚像素坐标将由细粒度热力图表示。
[0113] 以粗粒度热力图的尺寸为h0×w0,细粒度热力图的尺寸为h1×w1为例,粗粒度热力图中的一个特征点区域用(1/h0,1/w0)表示,即粗粒度热力图中的一个区域的大小为(1/h0,1/w0);粗粒度热图中的所有坐标都将按(hr/h0  ,wr/w0)进行缩放得到原始人脸图像的坐标;同理原始人脸图像精细化坐标可用(hr/h0×h1,wr/w0×w1)表示。
[0114] S206、将各人脸关键点坐标进行缩放还原,确定人脸关键点在原始人脸图像中的目标人脸关键点坐标。
[0115] 将各人脸关键点坐标进行等比例还原,确定目标人脸关键点坐标,此坐标即可以代表原始人脸图像中的人脸关键点,实现人脸关键点的检测。
[0116] 本实施例中所采用的卷积块为CBL模块,CBL模块包括卷积层、批归一化和激活函数,激活函数可以是Relu激活函数。
[0117] 本发明实施例提供了一种人脸关键点检测方法,解决了人脸关键点检测准确性较低的问题,将细粒度的人脸关键点检测无缝集成到经典的沙漏网络中;通过粗粒度热力图和细粒度热力图实现二阶段精细化定位,表示利用嵌套热图来共同表示坐标标签,即通过粗粒度热力图表示整数坐标,通过细粒度热力图表示亚像素坐标,细粒度热力图的范围在相应的粗粒度热力图中构成一个像素。通过将偏移回归问题转化为区间分类任务,坐标软分类将像素的置信度视为区间的概率;坐标软分类应用分布损失函数,通过生成的软标签利用高斯分布函数来指导偏移量热图的训练,使得学习坐标偏移量的分布更加容易,对人脸关键点的定位误差更小,提高人脸关键点的识别准确性。
[0118] 实施例三
[0119] 图11为本发明实施例三提供的一种人脸关键点检测装置的结构示意图。如图11所示,该装置包括:人脸图像获取模块31、多级特征提取模块32、热力图生成模块33、关键点检测模块34和目标坐标确定模块35。
[0120] 其中,人脸图像获取模块31,用于获取原始人脸图像,对所述原始人脸图像进行缩放,得到目标人脸图像;
[0121] 多级特征提取模块32,用于将所述目标人脸图像输入到主干网络中进行特征提取,得到多级特征;
[0122] 热力图生成模块33,用于对所述多级特征进行编码生成编码特征,对所述编码特征进行合并生成粗粒度热力图,对所述多级特征进行细粒度特征提取,得到细粒度热力图;
[0123] 关键点检测模块34,用于基于所述粗粒度热力图和所述细粒度热力图确定至少一个人脸关键点坐标;
[0124] 目标坐标确定模块35,用于将各所述人脸关键点坐标进行缩放还原,确定人脸关键点在所述原始人脸图像中的目标人脸关键点坐标。
[0125] 本发明实施例提供了一种人脸关键点检测装置,解决了人脸关键点检测准确性较低的问题,通过采集原始人脸图像,对原始人脸图像进行尺寸缩放,得到目标人脸图像;通过主干网络对目标人脸图像进行特征提取,得到多级特征,通过对多级特征进行编码生成编码特征并通过对编码特征进行特征合并生成粗粒度热力图,实现人脸关键点的粗略定位,通过对多级特征进行细粒度特征提取,得到细粒度热力图,对亚像素坐标进行表示,结合粗粒度热力图和细粒度热力图进行人脸关键点识别,实现对人脸关键点的准确识别;最后将各人脸关键点坐标进行缩放还原,确定原始人脸图像中的目标人脸关键点坐标,实现对人脸关键点的精度定位,提高人脸关键点的识别准确性。
[0126] 可选的,所述主干网络包括:预处理模块和三个沙漏网络,所述预处理模块和各所述沙漏网络顺次连接;所述多级特征包括:第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征;
[0127] 可选的,多级特征提取模块,包括:
[0128] 预处理特征提取单元,用于将所述目标人脸图像输入到所述预处理模块中进行特征提取,得到预处理特征数据;
[0129] 第一多尺度数据提取单元,用于将所述预处理特征数据输入到第一个沙漏网络中,得到第一多尺度特征数据;
[0130] 第二多尺度数据提取单元,用于将所述第一多尺度特征数据输入到第二个沙漏网络中,得到第二多尺度特征数据;
[0131] 第三多尺度数据提取单元,用于将所述第二多尺度特征数据输入到第三个沙漏网络中,得到第三多尺度特征。
[0132] 可选的,所述预处理模块包括:卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块;
[0133] 预处理特征提取单元,具体用于:将所述目标人脸图像输入到依次连接的卷积块、第一个残差模块、最大池化层、第二个残差模块和第三个残差模块中进行处理,得到所述第三个残差模块输出的预处理特征数据;
[0134] 其中,所述第一个残差模块、所述第二个残差模块和所述第三个残差模块为结构相同的残差模块,所述残差模块处理数据的过程为:数据输入到顺次连接的三个卷积块中得到第一卷积特征,数据输入到一个卷积块中得到第二卷积特征,将所述第一卷积特征和所述第二卷积特征进行跳跃链接,通过激活函数对跳跃链接结果进行非线性修正,得到所述残差模块的输出结果。
[0135] 可选的,热力图生成模块,包括:
[0136] 编码特征确定单元,用于通过特征编码模块对所述第一多尺度特征数据、第二多尺度特征数据和第三多尺度特征分别提取特征图,对各所述特征图进行拼接得到编码特征;
[0137] 粗热度图生成单元,用于将所述编码特征按第一维度进行加权运算,生成粗粒度热力图。
[0138] 可选的,热力图生成模块,包括:
[0139] 解码特征确定单元,用于将所述多级特征依次输入到特征解码模块中进行解码处理,得到解码特征,其中,所述特征解码模块包括:顺次连接的第一个卷积块、最大池化层、下采样模块、第二个卷积块和卷积层;
[0140] 细热度图生成单元,用于对所述解码特征按第一维度进行加权运算,生成细粒度热力图。
[0141] 可选的,所述下采样模块处理数据的过程为:数据输入到顺次连接的两个卷积块中得到第三卷积特征,将数据输入到一个卷积块中得到第四卷积特征,对所述第三卷积特征进行卷积处理,得到卷积结果,将所述卷积结果和所述第四卷积特征进行跳跃链接,通过卷积对跳跃链接结果进行下采样,得到所述下采样模块的输出结果。
[0142] 所述主干网络、特征编码模块和特征解码模块的参数在模型训练时通过分类损失函数调整,所述分类损失函数基于对关键点标签相邻的像素的概率进行软化确定,所述像素的概率为像素的置信度。
[0143] 可选的,关键点检测模块,包括:
[0144] 候选坐标确定单元,用于基于所述粗粒度热力图确定至少一个第一关键点候选坐标;
[0145] 关键点坐标确定单元,用于针对每个第一关键点候选坐标,基于所述细粒度热力图的大小对所述第一关键点候选坐标进行分割,得到分割后的热力图,将所述细粒度热力图中的第二关键点候选坐标在分割后的热力图中的对应坐标确定为人脸关键点坐标。
[0146] 本发明实施例所提供的人脸关键点检测装置可执行本发明任意实施例所提供的人脸关键点检测方法,具备执行方法相应的功能模块和有益效果。
[0147] 实施例四
[0148] 图12示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0149] 如图12所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
[0150] 电子设备40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0151] 处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如人脸关键点检测方法。
[0152] 在一些实施例中,人脸关键点检测方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到RAM 43并由处理器41执行时,可以执行上文描述的人脸关键点检测方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行人脸关键点检测方法。
[0153] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0154] 用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0155] 在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0156] 为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0157] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
[0158] 计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0159] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0160] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。