一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

三维建模方法和装置、计算机可读存储介质及计算机设备与流程

2021-12-01 01:42:00 来源:中国专利 TAG:


1.本公开涉及计算机视觉技术领域,尤其涉及三维建模方法和装置、计算机可读存储介质及计算机设备。


背景技术:

2.三维建模是计算机视觉和计算机图形学中的重要研究内容,三维建模一般是指通过目标对象的图像重建出该目标对象的三维模型。在相关技术中,由于目标对象的图像往往只识别到目标对象上的部分关键点所在的区域,从而建模出的目标对象的三维模型的完整度较低。


技术实现要素:

3.第一方面,本公开实施例提供一种三维建模方法,所述方法包括:基于目标对象的目标图像,确定所述目标对象上的第一区域的第一关键点的信息,所述目标图像中包括所述第一区域;基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息;基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,得到所述目标对象的三维模型。
4.本公开实施例首先基于目标对象的目标图像获取目标对象上的第一区域的第一关键点的信息,再基于第一关键点中的参考关键点的信息补全第二关键点的信息。经过关键点补全,获得的关键点的信息更加完整,因此,相比于仅基于第一关键点的信息进行三维建模得到的三维模型而言,基于所述第一关键点的信息和所述第二关键点的信息进行三维建模所得到的三维模型的完整度更高。
5.在一些实施方式中,所述第一关键点中包括一个参考关键点;所述基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息,包括:获取所述第二关键点与所述参考关键点之间的第一距离估计值;基于所述第一距离估计值以及所述参考关键点的信息确定所述第二关键点的信息。本实施例仅采用一个参考关键点即可对第二关键点的信息进行补全,补全过程复杂度低且易实现,从而降低了三维建模的复杂度,提高了三维建模效率。
6.在一些实施方式中,所述第一关键点的数量大于或等于2;所述第一关键点中包括两个参考关键点;所述基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息,包括:获取两个所述参考关键点之间的第一距离;基于所述第一距离以及预先确定的尺度因子,确定所述第二关键点与所述第一关键点中的目标关键点之间的第二距离,所述尺度因子用于表征所述第一距离与所述第二距离之间的比例关系;所述目标关键点为两个所述参考关键点中的任意一个关键点,或者所述目标关键点为所述第一关键点中除所述参考关键点以外的其他关键点;基于所述第二距离以及所述目标关键点的信息确定所述第二关键点的信息。
7.本实施例将第一距离与所述第二距离之间的比例关系作为尺度因子来对两个参
考关键点之间的第一距离进行映射,得到第二关键点与目标关键点之间的第二距离,由于目标对象的各关键点之间的距离的比例的变化范围一般较小,因此,通过上述方式能够准确地确定第二距离,从而能够准确地确定第二关键点的信息,提高了三维建模的准确度。
8.在一些实施方式中,所述方法还包括:获取两个所述参考关键点之间的第二距离估计值;获取所述第二关键点与所述目标关键点之间的第三距离估计值;基于所述第二距离估计值与所述第三距离估计值之间的比例关系确定所述尺度因子。本实施例通过第二距离估计值与第三距离估计值之间的比例关系能够得到较为准确的尺度因子,从而进一步提高第二关键点的信息的准确度。
9.在一些实施方式中,所述第二距离估计值基于多个样本对象中每个样本对象的两个第一样本关键点之间的距离确定;两个所述第一样本关键点与两个所述参考关键点分别对应;所述第三距离估计值基于所述每个样本对象的第二样本关键点与第三样本关键点之间的距离确定;所述第二样本关键点与所述第二关键点相对应,所述第三样本关键点与所述目标关键点相对应。
10.在一些实施方式中,所述参考关键点包括第一参考关键点和第二参考关键点,所述第二关键点的信息包括所述第二关键点在第一方向上的信息和所述第二关键点在第二方向上的信息;所述基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息,包括:基于所述第一参考关键点的信息确定所述第二关键点在第一方向上的信息;基于所述第二参考关键点的信息确定所述第二关键点在第二方向上的信息。通过在两个方向上分别确定第二关键点的信息,能够进一步提高第二关键点的信息的准确度,从而提高三维建模的准确度。
11.在一些实施方式中,所述方法还包括:基于所述第二关键点的信息以及待补全的第三关键点与所述第二关键点之间的距离确定所述第三关键点的信息;所述基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,包括:基于所述第一关键点的信息、所述第二关键点的信息和所述第三关键点的信息,对所述目标对象进行三维建模。在得到第二关键点的信息之后,可以以第二关键点的信息为基础确定第三关键点的信息,从而对更多的关键点进行补全,进一步提高了三维模型的完整度。
12.在一些实施方式中,所述基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息,包括:将关键点信息输入预先训练的神经网络,所述关键点信息包括所述参考关键点的信息以及所述第二关键点的信息的初始值,一个关键点的信息包括所述关键点的位置信息和置信度信息,所述第二关键点的置信度信息的初始值小于预设的置信度阈值;获取所述神经网络基于所述参考关键点的信息输出的所述第二关键点的信息。通过神经网络可以自动实现关键点补全过程,且神经网络在进行关键点补全的过程中采用了关键点的置信度,从而能够自动确定哪些关键点是需要补全的关键点。
13.在一些实施方式中,所述方法还包括:在获取所述神经网络基于所述参考关键点的信息输出的所述第二关键点的信息之后,将所述第二关键点的置信度信息设置为大于所述置信度阈值的值;所述基于所述第一关键点的信息、所述第二关键点的信息和所述第三关键点的信息,对所述目标对象进行三维建模,包括:基于所述第一关键点的信息、置信度大于所述置信度阈值的第二关键点的信息和所述第三关键点的信息,对所述目标对象进行三维建模。通过重新设置补全后的第二关键点的置信度,能够自动将补全后的第二关键点
的信息作为已知信息来对第三关键点进行补全,无需人工选择。
14.在一些实施方式中,所述基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,包括:基于所述目标图像确定所述目标对象的初始形变参数以及初始动作参数,所述初始形变参数用于表征所述目标对象的体型,所述初始动作参数用于表征所述目标对象执行的动作;基于所述目标图像中的目标对象与所述目标对象的三维模型之间的差异、所述第一关键点的信息以及所述第二关键点的信息,对所述初始形变参数和所述初始动作参数进行优化,得到优化形变参数和优化动作参数;基于优化形变参数和优化动作参数对所述目标对象进行三维建模。通过本实施例的方案,能够获得较为准确的优化形变参数和优化动作参数,从而提高三维建模的准确度。
15.在一些实施方式中,所述方法还包括:基于所述目标图像确定所述目标对象的第一掩膜;基于所述初始形变参数和初始动作参数对所述目标对象进行三维建模,得到所述目标对象的初始三维模型,并基于所述初始三维模型确定所述目标对象的第二掩膜;基于所述第一掩膜与所述第二掩膜,确定所述目标图像中的目标对象与所述目标对象的三维模型之间的差异。
16.在一些实施方式中,所述方法还包括:基于所述目标对象的三维模型对所述目标对象进行动作识别和/或行为预测;和/或基于获取的参考动作序列对所述目标对象的三维模型进行动作迁移处理。
17.第二方面,本公开实施例提供一种三维建模装置,所述装置包括:第一确定模块,用于基于目标对象的目标图像,确定所述目标对象上的第一区域的第一关键点的信息,所述目标图像中包括所述第一区域;第二确定模块,用于基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息;三维建模模块,用于基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,得到所述目标对象的三维模型。
18.第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
19.第四方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
22.图1是相关技术中的三维建模的示意图。
23.图2是本公开实施例的三维建模方法的流程图。
24.图3a是本公开实施例的人体关键点拓扑结构的示意图。
25.图3b是本公开实施例的建筑物的关键点的示意图。
26.图4是本公开实施例的目标对象的图像的示意图。
27.图5是本公开实施例的三维建模结果的示意图。
28.图6是本公开实施例的完整流程图。
29.图7是本公开实施例的三维建模装置的框图。
30.图8是本公开实施例的计算机设备的结构示意图。
具体实施方式
31.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
32.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
33.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
35.三维建模一般是指通过目标对象的图像重建出该目标对象的三维模型。在相关技术中,通过三维建模只能重建出图像中包括的目标对象的局部区域对应的三维模型,例如,图1中(1

a)所示的图像只包括目标对象的上半身(从头部到腰部的部分),而不包括目标对象的下半身(腿部、脚部),因此,如图1中(1

b)所示,通过三维建模也只能得到目标对象的上半身的三维模型,而不能得到目标对象的下半身的三维模型。
36.为了提高三维建模得到的三维模型的完整度,本公开实施例提供一种三维建模方法,参见图2,所述方法包括:步骤201:基于目标对象的目标图像,确定所述目标对象上的第一区域的第一关键点的信息,所述目标图像中包括所述第一区域;步骤202:基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息;步骤204:基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,得到所述目标对象的三维模型。
37.本公开实施例首先基于目标对象的目标图像获取目标对象上的第一区域的第一关键点的信息,再基于第一关键点中的参考关键点的信息补全第二关键点的信息。经过关键点补全,获得的关键点的信息更加完整,因此,相比于仅基于第一关键点的信息进行三维建模得到的三维模型而言,基于所述第一关键点的信息和所述第二关键点的信息进行三维建模所得到的三维模型的完整度更高。
38.在步骤201中,目标对象可以包括人、动物等活体,也可以包括非活体,例如,建筑物、桌子等。目标对象可以包括一个或多个关键点。对于包括骨骼的目标对象,所述目标对象的关键点可以包括所述目标对象的骨骼关键点。例如,在目标对象为完整人体的情况下,完整人体的拓扑结构可包括多个关键点,在一些实施例中,所述多个关键点可以包括人的头部关键点、颈部关键点、四肢关键点、躯干关键点等。图3a示出了一种关键点分布示意图。图中,黑点所示的关键点,数字表示关键点的编号,各关键点及其对应的编号分别为:0

鼻子关键点,1

脖子关键点,2

右肩关键点,3

右手肘关键点,4

右手腕关键点,5

左肩关键点,6

左手肘关键点,7

左手腕关键点,8

臀中部关键点,9

臀右部关键点,10

右膝关键点,11

右脚踝关键点,12

臀左部关键点,13

左膝关键点,14

左脚踝关键点,15

右眼关键点,16

左眼关键点,17

右耳关键点,18

左耳关键点,19

左大脚趾关键点,20

左小脚趾关键点,21

左脚后跟关键点,22

右大脚趾关键点,23

右小脚趾关键点,24

右脚后跟关键点。当然,上述编号并非必须的,在实际应用中也可以采用其他方式对各关键点进行编号。在其他实施例中,所述多个关键点除了上述各个关键点以外,还可以包括其他关键点(例如,手指关键点)。或者,所述多个关键点可以包括上述的部分关键点以及其他关键点。
39.对于其他类型的目标对象,也可以采用目标对象上的角点作为目标对象的关键点,所述角点可以包括目标对象在目标图像上的像素值的角点,也可以包括目标对象的几何形状的拐点。在如图3b所示的建筑物的图像中,建筑物的关键点包括a、b、c、d等几何形状的拐点以及e、f等像素值的角点。
40.为了对目标对象进行三维建模,可以获取目标对象的目标图像。目标图像可以是rgb图像或者是灰度图像。目标图像可以是通过图像采集装置(例如,相机或者摄像头)采集得到的图像,也可以是通过手绘或其他方式得到的图像。通过对目标图像进行关键点检测,可以获取目标对象上的第一区域的至少一个第一关键点的信息,所述第一关键点的信息至少包括所述第一关键点的位置信息。由于拍摄角度和遮挡等原因,从目标图像中往往只能检测到目标对象的部分关键点。如图4所示,从图4中(4

a)所示的目标图像中仅能检测出目标对象的头部关键点、颈部关键点和肩部关键点;从图4中(4

b)所示的目标图像中仅能检测出目标对象的腿部以上关键点;从图4中(4

c)所示的目标图像中仅能检测出目标对象的右侧关键点。
41.除了图4所示的情况之外,目标图像中也可以包括目标对象的其他局部区域,此处不再一一列举。特别地,目标图像的数量可以大于1,不同的目标图像中可以包括目标对象上不同的局部区域,但多张目标图像中包括的局部区域的并集可能仍然不包括目标对象上的所有区域。
42.目标图像中包括的目标对象上的区域称为目标对象上的第一区域。例如,在图4中(4

a)所示的目标图像中,第一区域包括目标对象的头部区域、颈部区域和肩部区域。除了目标对象之外,目标图像中还可能包括一些背景区域。或者,目标图像中可能包括多个目标对象。为了便于处理,并减少背景区域和其他目标对象的影响,可以通过图像分割等方式从目标图像中提取出目标对象所在的图像区域,再进行后续处理。
43.在步骤202中,第一关键点可以包括至少一个参考关键点,参考关键点可以是任意的一个或多个第一关键点。待补全的第二关键点可以是目标对象上除第一区域以外的第二区域的至少一个关键点。例如,针对图4中(4

a)所示的目标图像,可以从该目标图像中检测
出目标对象的头部关键点、颈部关键点、左肩关键点和右肩关键点,并将上述四个关键点中的至少一个作为参考关键点,将目标对象上除上述四个关键点以外的其他至少任意一个关键点作为待补全的第二关键点。
44.在所述第一关键点中包括一个参考关键点的情况下,可以获取所述第二关键点与所述参考关键点之间的第一距离估计值;基于所述第一距离估计值以及所述参考关键点的信息确定所述第二关键点的信息。所述第一距离估计值可以预先确定并存储,并在需要补全第二关键点的信息时调用。下面对确定第一距离估计值的几种方式进行说明。
45.在一些实施方式中,所述第一距离估计值可以根据经验值确定。例如,所述第一距离估计值可以是一个固定值。在参考关键点为左肩关键点,第二关键点为右肩关键点的情况下,根据经验值可知,成年人的左肩关键点到右肩关键点之间的距离约为40cm,则可以将左肩关键点到右肩关键点之间的第一距离估计值确定为40cm。又例如,所述第一距离估计值可以是一个动态值。成年人的左肩关键点到右肩关键点之间的距离与该成年人的身高之间的比例约为0.225,则可以基于成年人的平均身高与0.225的乘积确定左肩关键点到右肩关键点之间的第一距离。再例如,所述第一距离估计值可以从一个预设区间内选取。假设成年人的左肩关键点到右肩关键点之间的距离在区间[35cm,45cm]之内,则可以从该区间内选取一个距离值(例如,最大值、最小值、中间值或者其他值)作为所述第一距离估计值。
[0046]
在一些实施方式中,可以分别获取多个样本对象中每个样本对象的第二样本关键点与第一样本关键点之间的距离估计值,基于各个样本对象对应的距离估计值确定所述第一距离估计值。其中,所述第二样本关键点为样本对象上对应于所述第二关键点的关键点,所述第一样本关键点为样本对象上对应于所述参考关键点的关键点。例如,可以将各个样本对象对应的距离估计值的平均值、最大值或者最小值确定为第一距离估计值,或者随机选择一个样本对象对应的距离估计值作为所述第一距离估计值。或者,可以确定多个样本对象的平均尺寸,并以所述平均尺寸下的样本对象的所述第二样本关键点与所述第一样本关键点的距离作为所述第一距离估计值。其中,多个样本对象的平均尺寸是指多个样本对象的尺寸的平均值。以目标对象是人为例,可以确定多个人的平均身高(即,多个人的身高的平均值),并选取一个身高为平均身高的人作为样本对象,将样本对象上的所述第二样本关键点与所述第一样本关键点之间的距离作为所述第一距离估计值。
[0047]
可以将物理空间中的真实对象作为样本对象,通过对样本对象的第二样本关键点与第一样本关键点之间的距离进行测量,得到所述第二样本关键点与第一样本关键点之间的距离估计值。也可以采集样本对象的图像,通过对图像进行关键点检测得到关键点信息,再基于检测得到的关键点信息确定所述第二样本关键点与第一样本关键点之间的距离估计值。样本图像的数量可以大于或等于1,各样本图像中包括的关键点可以相同,也可以不同。在一些实施例中,所述样本图像的数量为n(例如,100),从每张样本图像中均能够检测出样本对象上的所有关键点。
[0048]
进一步地,为了提高第一距离估计值的准确度,还可以基于目标对象的属性确定第一距离估计值。在目标对象为人的情况下,所述属性可以包括但不限于身高、体重、性别、年龄等。例如,可以分别为男性和女性确定不同的第一距离估计值,和/或为成年人和未成年人确定不同的第一距离估计值。每种属性的目标对象对应的第一距离估计值可以采用上述任意一种方式确定,此处不再赘述。
[0049]
在所述第一关键点的数量大于或等于2的情况下,所述第一关键点中可以包括两个参考关键点。可以获取两个所述参考关键点之间的第一距离;基于所述第一距离以及预先确定的尺度因子,确定所述第二关键点与所述第一关键点中的目标关键点之间的第二距离,所述尺度因子用于表征所述第一距离与所述第二距离之间的比例关系;基于所述第二距离以及所述目标关键点的信息确定所述第二关键点的信息。
[0050]
其中,在所述第一关键点的数量等于2的情况下,所述目标关键点可以是两个参考关键点中的任意一个参考关键点。在所述第一关键点的数量大于或等于3的情况下,所述目标关键点既可以是两个参考关键点中的任意一个参考关键点,也可以是第一关键点中除两个所述参考关键点以外的关键点。在一些实施例中,所述目标关键点与所述第二关键点为相邻的关键点。其中,两个关键点相邻是指这两个关键点在关键点拓扑结构图中直接相连,例如,图3a中编号为8的关键点分别与编号为1的关键点、编号为9的关键点和编号为12的关键点相邻。进一步地,相邻的两个关键点中包括一个父节点和一个子节点,可以根据节点的位置确定父节点和子节点。例如,对于人体关键点拓扑结构图而言,可以将位置处于上方的关键点确定为父节点,将位置处于下方的关键点确定为子节点。所述“上方”和“下方”可以基于关键点的位置的纵坐标确定,在不同的坐标系下,坐标与方位之间的关系可能不同。父节点与子节点可以根据实际情况自行定义,此处不再赘述。
[0051]
然而,本公开的方案不限于第二关键点与目标关键点相邻的情况,在其他实施例中,目标关键点也可以是预先选择的某个关键点,例如,颈部关键点。或者,目标关键点可以是与第二关键点在某个方向上对齐的关键点。其中,两个关键点在某个方向上对齐,是指这两个关键点在除该方向以外的其他方向上的位置偏移量较小。或者,目标关键点也可以是预先选择的一组关键点中的其中一个关键点,例如,颈部关键点、左眼关键点、右肩关键点中的其中一个关键点。在第二关键点与目标关键点不相邻的情况下,也可以采用上述实施例中所述的方式补全第二关键点的信息。
[0052]
由于各个参考关键点的信息可以通过对目标图像进行关键点检测得到,因此,可以基于关键点检测的结果确定两个所述参考关键点之间的第一距离。例如,可以分别确定两个所述参考关键点的坐标,再基于两个所述参考关键点的坐标确定两个所述参考关键点之间的欧氏距离,将欧式距离确定为所述第一距离。
[0053]
在一些实施方式中,所述尺度因子可以基于经验值确定。例如,假设两个所述参考关键点分别为左肩关键点和左手肘关键点,所述第二关键点为左手腕关键点,根据经验可知,左肩关键点和左手肘关键点之间的距离与左手肘关键点和左手腕关键点之间的距离之间的比例关系一般约为1:1,因此,可以将所述尺度因子确定为1。
[0054]
或者,在一些实施方式中,可获取两个所述参考关键点之间的第二距离估计值,并获取所述第二关键点与所述目标关键点之间的第三距离估计值,基于所述第二距离估计值与所述第三距离估计值之间的比例关系确定所述尺度因子。
[0055]
其中,获取所述第二距离估计值以及所述第三距离估计值的方式可以与获取第一距离估计值的方式相同。例如,可以根据经验值确定,或者,可以基于样本对象确定。
[0056]
在基于样本对象确定所述第二距离估计值以及所述第三距离估计值的实施例中,具体地,所述第二距离估计值可以基于多个样本对象中每个样本对象的两个第一样本关键点之间的距离确定;其中,两个所述第一样本关键点与两个所述参考关键点分别对应。所述
第三距离估计值可以基于所述每个样本对象的第二样本关键点与第三样本关键点之间的距离确定;其中,所述第二样本关键点与所述第二关键点相对应,所述第三样本关键点与所述目标关键点相对应。
[0057]
假设所述第二距离估计值和所述第三距离估计值分别记为d2和d3,则尺度因子s可以记为s=d2/d3。假设所述第一距离记为d1,则所述第二距离d2可以记为:d2=d1/s。或者,尺度因子s可以记为s=d3/d2,则所述第二距离d2可以记为:d2=d1*s。当然,本公开实施例中并不限于将第一距离与尺度因子的乘积或者商直接作为第二距离,例如,还可以在上述乘积或者商的基础上增加一个随机偏置量,或者对上述乘积或者商按照预设比例缩放以后作为第二距离,或者采用其他方式确定第二距离,此处不再一一列举。
[0058]
待补全的第二关键点可以是一个或多个。其中,不同的第二关键点的信息可以基于相同或不同的尺度因子确定。在一些实施例中,目标对象相对于某个对称轴是对称的。因此,可以确定目标对象一侧的第二关键点对应的尺度因子,并将与该第二关键点对称的关键点的尺度因子确定为相同的尺度因子。这样,对称的第二关键点可以共享同一个尺度因子。在一些实施例中,多个第二关键点的分布比较接近,例如,这多个第二关键点中相邻两个第二关键点之间的距离都比较接近,则这多个第二关键点可以共享同一个尺度因子。在一些实施例中,为了使获取的第二关键点的信息比较精确,也可以分别为每个第二关键点确定尺度因子。
[0059]
在上述实施例中,样本对象与目标对象可以是相同类别的对象,例如,都是人。或者,目标对象与样本对象也可以是不同类别的对象。例如,目标对象是人,样本对象是熊。可以随机确定样本对象,或者由用户根据需求来确定样本对象。由于不同类别的样本对象的关键点之间的距离往往不同,因此,采用不同类别的样本对象的关键点的信息来确定待补全的第二关键点的信息,获得的第二关键点的信息也不同,从而最终进行三维重建得到的三维模型的展示效果也不同。
[0060]
上述一个关键点(称为关键点a)与另一个关键点(称为关键点b)相对应,可以是指关键点a与关键点b为相同部位的关键点,例如,都是左肩关键点。或者,也可以是指关键点a与关键点b为对称的关键点。其中,两个关键点对称是指这两个关键点在所属对象上的位置相对称。例如,关键点a为目标对象上的左肩关键点,关键点b为样本对象上的右肩关键点。由于样本对象与目标对象的类别可能不同,因此,样本对象的关键点与目标对象的关键点的位置和数量都可能不同。可以预先建立样本对象的关键点与目标对象的关键点之间的对应关系,以便补全第二关键点的信息。
[0061]
为了提高关键点补全的效率,所述第一距离估计值、所述第二距离估计值、所述第三距离估计值和/或所述尺度因子可以预先获取并存储,并在需要确定待补全的第二关键点的信息时直接调用。
[0062]
在一些实施例中,所述参考关键点包括第一参考关键点和第二参考关键点,所述第二关键点的信息包括所述第二关键点在第一方向上的信息和所述第二关键点在第二方向上的信息。在确定待补全的第二关键点的信息时,可以基于所述第一参考关键点的信息确定所述第二关键点在第一方向上的信息,并基于所述第二参考关键点的信息确定所述第二关键点在第二方向上的信息。
[0063]
其中,所述第一方向与所述第二方向为不同的方向。在一些实施例中,第一方向与
第二方向正交。例如,第一方向为目标对象的鼻子关键点到目标对象的颈部关键点的连线所在的方向,第二方向为目标对象的脖子关键点与右肩关键点的连线所在的方向。在其他实施例中,也可以根据实际需要将其他方向确定为所述第一方向和所述第二方向,此处不再一一举例。在实际应用中,所述第一方向可以是垂直方向,所述第二方向可以是水平方向。
[0064]
第二关键点在各个方向上的信息可以基于相同的第一关键点的信息确定,也可以基于不同的第一关键点的信息确定。为了提高处理准确度,可以选取在第二方向上的相对位移量小于第一阈值的第一关键点的信息对来确定第二关键点在第一方向上的信息,并选取在第一方向上的相对位移量小于第二阈值的第一关键点的信息来确定第二关键点在第二方向上的信息。
[0065]
其中,确定第二关键点在各个方向上的信息的方式与前述实施例中确定第二关键点信息的方式类似,不同之处仅在于,在确定第二关键点在第一方向上的距离时,上述各种距离以及尺度因子为在所述第一方向上的投影距离以及所述第一方向上的尺度因子;在确定第二关键点在第二方向上的距离时,上述各种距离以及尺度因子为在所述第二方向上的投影距离以及所述第二方向上的尺度因子。
[0066]
例如,在所述第一关键点的数量大于或等于2,所述第一关键点中包括两个参考关键点的情况下,可以获取两个所述参考关键点之间的第一距离在所述第一方向上的第一投影距离,基于所述第一投影距离以及预先确定的所述第一方向上的尺度因子,确定所述第二关键点与所述第一关键点中的目标关键点之间的第二距离在所述第一方向上的第二投影距离,所述第一方向上的尺度因子用于表征所述第一投影距离与所述第二投影距离之间的比例关系。然后,可以基于所述第二投影距离以及所述目标关键点的信息确定所述第二关键点在第一方向上的信息。确定所述第二关键点在第二方向上的信息的方式类似,此处不再赘述。
[0067]
在包括至少两个方向的情况下,并非一定要基于每个方向的尺度因子来确定第二关键点的信息。例如,假设第一方向为垂直方向,第二方向为水平方向,针对图3a所示的关键点拓扑结构,在目标关键点是编号为8的关键点,待补全的第二关键点是编号为9的关键点的情况下,由于这两个关键点在垂直方向上几乎是对齐的,因此,可以只基于水平方向的尺度因子确定编号为9的关键点的信息。同理,在目标关键点是编号为9的关键点,待补全的第二关键点是编号为10的关键点的情况下,可以只基于垂直方向的尺度因子确定编号为9的关键点的信息。
[0068]
在步骤203中,可以基于所述目标图像确定所述目标对象的初始形变参数以及初始动作参数,所述初始形变参数用于表征所述目标对象的体型,所述初始动作参数用于表征所述目标对象执行的动作;基于所述目标图像中的目标对象与所述目标对象的三维模型之间的差异、所述第一关键点的信息以及所述第二关键点的信息,对所述初始形变参数和所述初始动作参数进行优化,得到优化形变参数和优化动作参数;基于优化形变参数和优化动作参数对所述目标对象进行三维建模。
[0069]
其中,初始形变参数是一组用于表征目标对象的尺寸的参数,对于目标对象为人的情况,初始形变参数可用于表征目标对象的体型胖瘦。初始动作参数中可以包括目标对象的每个关键点的旋转角度,还可以包括目标对象的全局旋转角度,通过初始动作参数可
以确定目标对象执行的动作,例如,打球、跳跃等。基于目标对象确定的初始形变参数以及初始动作参数可能具有一定的误差,因此需要进行优化。优化过程同时采用补全后的各个关键点信息以及所述目标图像中的目标对象与所述目标对象的三维模型之间的差异进行约束,从而使最终得到的三维模型与目标图像中的目标对象更加相符。
[0070]
在一些实施例中,所述目标图像中的目标对象与所述目标对象的三维模型之间的差异基于以下方式确定:基于所述目标图像确定所述目标对象的第一掩膜;基于所述初始形变参数和初始动作参数对所述目标对象进行三维建模,得到所述目标对象的初始三维模型,并基于所述初始三维模型确定所述目标对象的第二掩膜;基于所述第一掩膜与所述第二掩膜,确定所述目标图像中的目标对象与所述目标对象的三维模型之间的差异。
[0071]
在上述实施例中,所述第一掩膜与所述第二掩膜可以是像素尺寸相等的两张图像。第一掩膜和第二掩膜中属于目标对象的像素点的像素值为第一像素值(例如,0),不属于目标对象的像素点的像素值为第二像素值(例如,255),这样,可以用二值化的掩膜图像来表征基于目标图像确定的目标对象以及基于初始三维模型确定的目标对象。可以确定所述第一掩膜与所述第二掩膜之间的交并比,记为iou:;其中,a表示在第一掩膜中均属于目标对象的像素点的集合,b表示在第二掩膜中均属于目标对象的像素点的集合,s表示面积。可以基于所述交并比确定所述目标图像中的目标对象与所述目标对象的三维模型之间的差异。除了采用交并比之外,本公开实施例还可以采用其他方式确定所述目标图像中的目标对象与所述目标对象的三维模型之间的差异,此处不再一一列举。
[0072]
在得到优化形变参数和优化动作参数之后,可以基于优化形变参数和优化动作参数确定目标对象表面的三维点云,经过渲染后得到目标对象的三维模型。
[0073]
在一些实施例中,可以将关键点信息输入预先训练的神经网络,所述关键点信息包括所述参考关键点的信息以及所述第二关键点的信息的初始值,一个关键点的信息包括所述关键点的位置信息和置信度信息,所述第二关键点的置信度信息的初始值小于预设的置信度阈值;获取所述神经网络基于所述参考关键点的信息输出的所述第二关键点的信息。
[0074]
一个关键点的位置信息可以用于表征该关键点在预设坐标系下的位置,所述预设坐标系可以是目标图像对应的坐标系,也可以是世界坐标系或者其他坐标系,坐标系可以基于实际需要选择,并在不同的情况下通过坐标系之间的转换矩阵进行转换。参考关键点的位置信息可以基于目标图像确定,第二关键点的位置信息需要通过补全得到。本实施例中可以为第二关键点的位置信息设置一个初始值,例如[0,0],并通过关键点补全对该初始值进行修正,得到第二关键点最终的位置信息。
[0075]
一个关键点的置信度信息用于表征该关键点的位置信息的可信程度,可以采用一定范围内的数值表示置信度信息的取值,所述一定范围可以是0到1之间的范围,也可以是0到100的范围,或者其他范围。置信度信息的取值越大,表示关键点的位置信息越可信;反
之,置信度信息的取值越小,表示关键点的位置信息越不可信。一般来说,第一关键点能够直接从目标图像中检测得到,或者直接包括在目标图像中,因此,第一关键点的置信度信息取值较大。而第二关键点的初始位置信息是未经计算得到的,与该第二关键点的实际位置信息可能差异较大,因此,第二关键点的初始置信度信息的取值较小。
[0076]
在获取所述第二关键点的信息之后,可以将所述第二关键点的置信度信息设置为大于所述置信度阈值的值。这样,一方面便于区分第二关键点的位置信息是初始信息还是补全后计算得到的信息,另一方面便于将置信度阈值较高的第二关键点的位置信息用于计算其他关键点的信息。在一些实施例中,所述置信度阈值可以设置为0,即,第二关键点的初始置信度信息为0。在另一些实施例中,第二关键点补全后的置信度可以调整为1。当然,在实际应用中,也可以采用其他数值作为第二关键点的初始置信度以及调整后的置信度。
[0077]
在一些实施例中,得到第二关键点的信息之后,还可以基于所述第二关键点的信息以及待补全的第三关键点与所述第二关键点之间的距离确定所述第三关键点的信息。确定第三关键点的信息的具体方式可以参见确定第二关键点的信息的方式,此处不再赘述。
[0078]
在关键点的信息包括置信度的情况下,可以基于置信度大于所述置信度阈值的第二关键点的信息以及待补全的第三关键点与所述置信度大于所述置信度阈值的第二关键点之间的距离确定所述第三关键点的信息。
[0079]
然后,可以基于所述第一关键点的信息、所述第二关键点的信息以及所述第三关键点的信息,对所述目标对象进行三维建模,得到所述目标对象的三维模型。一些实施例的基于图1中(1

a)所示的目标图像进行三维建模得到的目标对象的三维模型如图5所示。可以看出,通过本实施例进行三维建模,可以重建出目标对象未包括在目标图像中的部分,从而提高三维建模得到的三维模型的完整度。应当说明的是,通过本实施例的方式可以仅对目标对象上的部分关键点进行补全,相应地,最终得到的三维模型中可以仅包括目标对象上的部分区域对应的三维模型。然而,无论补全之后得到的是目标对象上完整的全部关键点,还是目标对象上的部分关键点,相对于仅仅基于从目标图像上能够获得的关键点来进行三维建模,本公开的三维建模方法都能够提高三维模型的完整度。
[0080]
下面结合图6,以目标对象是人为例,对本公开的完整流程进行说明。
[0081]
对于输入的目标图像,首先进行关键点检测,检测得到的关键点保存在25*3大小的二维数组中,每个数据格式为[x,y,置信度信息],x,y为图像坐标点位置,置信度信息的范围为0到1。
[0082]
然后,进行关键点自适应补全。将关键点数组作为输入,关键点数组中包含未检测到的关键点(即第二关键点),未检测到的关键点对应的数组用[0,0,0]来表示。该步骤的输出为关键点补全后的数组,将未检测到的关键点补全,得到完整的关键点信息。
[0083]
关键点自适应补全的过程可分为以下三个步骤:(1)自适应尺度估计。构建一个包含100张完整单人图片的数据集,分别计算出人体各组相邻关键点的垂直距离的平均值和水平距离的平均值,例如,分别计算{0,1}、{1,2}、{1,5}、{1,8}等相邻关键点的垂直距离的平均值和水平距离的平均值。然后用各组相邻关键点垂直距离的平均值除以鼻子关键点与脖子关键点之间的垂直距离的平均值,得到各组相邻关键点的垂直方向的尺度因子。再用各组相邻关键点水平距离的平均值除以右肩关键点与脖子关键点之间的水平距离的平均值,得到各组相邻关键点的水平方向的尺度因
子。
[0084]
(2)关键点补全。利用上一步骤中得到的垂直方向的尺度因子和水平方向的尺度因子,对缺失的关键点进行补全。对于某个待补全的关键点来说,该待补全的关键点相对于相邻父节点的垂直距离等于该待补全的关键点对应的垂直方向的尺度因子乘以在该图像中鼻子关键点与脖子关键点之间的垂直距离,该待补全的关键点相对于相邻父节点的水平距离等于该待补全的关键点对应的水平方向的尺度因子乘以在该图像中右肩关键点与脖子关键点之间的水平距离。
[0085]
(3)置信度检测。遍历整个关键点数组,将数组中置信度为0的置信度信息调整为1。最后输出关键点补全后的数组。
[0086]
然后,进行三维建模。这一步的输入为补全后的人体关键点、初始动作参数以及初始形变参数,输出为6890个表示人体的三维点云,经过渲染后得到3d人体。在这一步骤中,使用补全的人体关键点的信息以及人体掩码来调整初始动作参数以及初始形变参数,最后经过渲染得到完整的人体三维模型。
[0087]
本公开实施例具有以下优点:(1)可以支持通过局部图像进行三维建模,得到目标对象的完整的三维模型,其中,通过局部图像仅能检测出目标对象的部分关键点。
[0088]
(2)重建出来的三维模型在动作方面可以与局部图像中的动作保持一致。
[0089]
(3)重建出来的三维模型在形体方面也可以与局部图像中的形体保持一致。
[0090]
本公开实施例可用于以下应用场景:(1)基于所述目标对象的三维模型对所述目标对象进行动作识别和/或行为预测。在实际运用中,目前都是基于全身人体来进行动作识别及行为预测。由于缺乏下半身的信息,基于半身人体来进行动作识别及行为预测是非常复杂的。使用本公开实施例的方式进行关键点补全及三维建模,可以实现比较精确的半身动作识别及行为预测。
[0091]
(2)获取参考动作序列;基于所述参考动作序列对所述目标对象的三维模型进行动作迁移处理。上述动作序列可以是关键点序列,即,多张关键点拓扑图组成的图像序列;也可以是目标对象的视频序列。例如,采用一张人体的半身照片和一段执行跳舞动作的参考动作视频,就可以得到半身照中全身人体的跳舞视频。
[0092]
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
[0093]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功
能和可能的内在逻辑确定。
[0094]
本公开实施例还提供一种三维建模装置,如图7所示,所述装置包括:第一确定模块701,用于基于目标对象的目标图像,确定所述目标对象上的第一区域的第一关键点的信息,所述目标图像中包括所述第一区域;第二确定模块702,用于基于所述第一关键点中的参考关键点的信息,确定待补全的第二关键点的信息;三维建模模块703,用于基于所述第一关键点的信息和所述第二关键点的信息,对所述目标对象进行三维建模,得到所述目标对象的三维模型。
[0095]
本公开实施例首先基于目标对象的目标图像获取目标对象上的第一区域的第一关键点的信息,再基于第一关键点中的参考关键点的信息补全第二关键点的信息。经过关键点补全,获得的关键点的信息更加完整,因此,相比于仅基于第一关键点的信息进行三维建模得到的三维模型而言,基于所述第一关键点的信息和所述第二关键点的信息进行三维建模所得到的三维模型的完整度更高。
[0096]
在一些实施方式中,所述第一关键点中包括一个参考关键点;所述第二确定模块用于:获取所述第二关键点与所述参考关键点之间的第一距离估计值;基于所述第一距离估计值以及所述参考关键点的信息确定所述第二关键点的信息。本实施例仅采用一个参考关键点即可对第二关键点的信息进行补全,补全过程复杂度低且易实现,从而降低了三维建模的复杂度,提高了三维建模效率。
[0097]
在一些实施方式中,所述第一关键点的数量大于或等于2;所述第一关键点中包括两个参考关键点;所述第二确定模块用于:获取两个所述参考关键点之间的第一距离;基于所述第一距离以及预先确定的尺度因子,确定所述第二关键点与所述第一关键点中的目标关键点之间的第二距离,所述尺度因子用于表征所述第一距离与所述第二距离之间的比例关系;所述目标关键点为两个所述参考关键点中的任意一个关键点,或者所述目标关键点为所述第一关键点中除所述参考关键点以外的其他关键点;基于所述第二距离以及所述目标关键点的信息确定所述第二关键点的信息。
[0098]
本实施例将第一距离与所述第二距离之间的比例关系作为尺度因子来对两个参考关键点之间的第一距离进行映射,得到第二关键点与目标关键点之间的第二距离,由于目标对象的各关键点之间的距离的比例的变化范围一般较小,因此,通过上述方式能够准确地确定第二距离,从而能够准确地确定第二关键点的信息,提高了三维建模的准确度。
[0099]
在一些实施方式中,所述装置还包括:第一获取模块,用于获取两个所述参考关键点之间的第二距离估计值;第二获取模块,用于获取所述第二关键点与所述目标关键点之间的第三距离估计值;第三确定模块,用于基于所述第二距离估计值与所述第三距离估计值之间的比例关系确定所述尺度因子。本实施例通过第二距离估计值与第三距离估计值之间的比例关系能够得到较为准确的尺度因子,从而进一步提高第二关键点的信息的准确度。
[0100]
在一些实施方式中,所述第二距离估计值基于多个样本对象中每个样本对象的两个第一样本关键点之间的距离确定;两个所述第一样本关键点与两个所述参考关键点分别对应;所述第三距离估计值基于所述每个样本对象的第二样本关键点与第三样本关键点之间的距离确定;所述第二样本关键点与所述第二关键点相对应,所述第三样本关键点与所
述目标关键点相对应。
[0101]
在一些实施方式中,所述参考关键点包括第一参考关键点和第二参考关键点,所述第二关键点的信息包括所述第二关键点在第一方向上的信息和所述第二关键点在第二方向上的信息;所述第二确定模块用于:基于所述第一参考关键点的信息确定所述第二关键点在第一方向上的信息;基于所述第二参考关键点的信息确定所述第二关键点在第二方向上的信息。通过在两个方向上分别确定第二关键点的信息,能够进一步提高第二关键点的信息的准确度,从而提高三维建模的准确度。
[0102]
在一些实施方式中,所述装置还包括:第四确定模块,用于基于所述第二关键点的信息以及待补全的第三关键点与所述第二关键点之间的距离确定所述第三关键点的信息;所述三维建模模块用于:基于所述第一关键点的信息、所述第二关键点的信息和所述第三关键点的信息,对所述目标对象进行三维建模。在得到第二关键点的信息之后,可以以第二关键点的信息为基础确定第三关键点的信息,从而对更多的关键点进行补全,进一步提高了三维模型的完整度。
[0103]
在一些实施方式中,所述第二确定模块用于:将关键点信息输入预先训练的神经网络,所述关键点信息包括所述参考关键点的信息以及所述第二关键点的信息的初始值,一个关键点的信息包括所述关键点的位置信息和置信度信息,所述第二关键点的置信度信息的初始值小于预设的置信度阈值;获取所述神经网络基于所述参考关键点的信息输出的所述第二关键点的信息。通过神经网络可以自动实现关键点补全过程,且神经网络在进行关键点补全的过程中采用了关键点的置信度,从而能够自动确定哪些关键点是需要补全的关键点。
[0104]
在一些实施方式中,所述装置还包括:设置模块,用于在获取所述神经网络基于所述参考关键点的信息输出的所述第二关键点的信息之后,将所述第二关键点的置信度信息设置为大于所述置信度阈值的值;所述三维建模模块用于:基于所述第一关键点的信息、置信度大于所述置信度阈值的第二关键点的信息和所述第三关键点的信息,对所述目标对象进行三维建模。通过重新设置补全后的第二关键点的置信度,能够自动将补全后的第二关键点的信息作为已知信息来对第三关键点进行补全,无需人工选择。
[0105]
在一些实施方式中,所述三维建模模块用于:基于所述目标图像确定所述目标对象的初始形变参数以及初始动作参数,所述初始形变参数用于表征所述目标对象的体型,所述初始动作参数用于表征所述目标对象执行的动作;基于所述目标图像中的目标对象与所述目标对象的三维模型之间的差异、所述第一关键点的信息以及所述第二关键点的信息,对所述初始形变参数和所述初始动作参数进行优化,得到优化形变参数和优化动作参数;基于优化形变参数和优化动作参数对所述目标对象进行三维建模。通过本实施例的方案,能够获得较为准确的优化形变参数和优化动作参数,从而提高三维建模的准确度。
[0106]
在一些实施方式中,所述装置还包括:第五确定模块,用于基于所述目标图像确定所述目标对象的第一掩膜;第六确定模块,用于基于所述初始形变参数和初始动作参数对所述目标对象进行三维建模,得到所述目标对象的初始三维模型,并基于所述初始三维模型确定所述目标对象的第二掩膜;第七确定模块,用于基于所述第一掩膜与所述第二掩膜,确定所述目标图像中的目标对象与所述目标对象的三维模型之间的差异。
[0107]
在一些实施方式中,所述装置还包括:后处理模块,用于基于所述目标对象的三维
模型对所述目标对象进行动作识别和/或行为预测;和/或基于获取的参考动作序列对所述目标对象的三维模型进行动作迁移处理。
[0108]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0109]
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
[0110]
图8示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器801、存储器802、输入/输出接口803、通信接口804和总线805。其中处理器801、存储器802、输入/输出接口803和通信接口804通过总线805实现彼此之间在设备内部的通信连接。
[0111]
处理器801可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器801还可以包括显卡,所述显卡可以是nvidia titan x显卡或者1080ti显卡等。
[0112]
存储器802可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器802可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器802中,并由处理器801来调用执行。
[0113]
输入/输出接口803用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0114]
通信接口804用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0115]
总线805包括一通路,在设备的各个组件(例如处理器801、存储器802、输入/输出接口803和通信接口804)之间传输信息。
[0116]
需要说明的是,尽管上述设备仅示出了处理器801、存储器802、输入/输出接口803、通信接口804以及总线805,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0117]
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
[0118]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0119]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
[0120]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0121]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0122]
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献