具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
具体实现中,本申请实施例中描述的电子设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器)的计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的电子设备。然而,应当理解的是,电子设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
可以在电子设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。术语“对象”可以表示重建的目标,其可以采用各种目标类型,例如人体、动物、器官或一般物体等。
图1示出了根据本申请实施例的基于点云数据重建对象的方法的一示例的流程图。关于本申请实施例方法的执行主体,其可以是各种具有处理能力或计算能力的三维重建设备或处理器,其可以采用各种非限制性的设备类型,例如台式机、笔记本电脑等。
步骤110中,获取针对待重建对象具有重叠区域的至少的第一点云和第二点云。其中,第一点云所对应的第一深度相机与第二点云所对应的第二深度相机同侧放置。应理解的是,第一深度相机和第二深度相机的放置位置可以不必是严格并列平行的同侧放置,允许存在一些空间上对位的偏差距离,也依然能够得到较精确的重建对象模型,并且也不需要对第一深度相机和第二深度相机进行外参标定。
在一些实施方式中,第一深度相机可以采集待重建对象的至少一帧深度图像,第二深度相机可以采集待重建对象同侧的至少一帧深度图像,三维重建设备可以将深度图像转换为对应待重建对象同侧的第一点云和第二点云,第一点云和第二点云之间可以重叠,以利用重叠区域的点来重建物体的同一表面区域。
步骤120中,根据第一深度相机和第二深度相机的视差角范围更新第一点云和第二点云,以去除第一点云和第二点云中的视野遮挡点。更具体地,根据对应第一深度相机的第一视角范围更新第二点云,以去除第二点云中相对于第一深度相机的视野遮挡点,并根据对应第二深度相机的第二视角范围更新第一点云,以去除第一点云中相对于第二深度相机的视野遮挡点。这里,术语“视野遮挡点”可以表示点云中在相机的最佳视野或可视角度范围之外的点云数据。
示例性地,可以将第二点云中的在第一深度相机的视场角范围之外的点云进行消除,或者还可以将第一点云中的在第二深度相机的视场角范围之外的点云进行消除,使得更新后的第一点云和第二点云为第一深度相机与第二深度相机之间的公共可视点云。
需说明的是,在本申请实施例的一个示例中,深度相机的视角范围可以是与业务场景或需求相关的,并可以根据业务需求或场景而进行适应性调整。在本申请实施例的另一示例中,第一视角范围为第一深度相机的视场角,以及第二视角范围为第二深度相机的视场角;此外,在第一深度相机的视场角与第二深度相机的视场角之间存在重合角度,使得第一深度相机和第二深度相机可以同时采集到针对物体同一表面区域的深度图像。
在步骤130中,配准经更新的第一点云和第二点云,以重建对象模型。这里,可以采用目前相关技术中的一些点云匹配算法或模型来对第一点云或第二点云进行配准,或者也可以采用如在下文中展开的全新的配准算法进行相应的配准操作,且都属于本申请实施例的实施范围内。
在本申请实施例中,经更新的第一点云和第二点云是在不同深度相机中的针对待重建对象同侧的公共可视点云,保障了配准阶段的不同点云是针对物体表面的同一个区域的,能有效提高配准精度,保障所重建的对象模型的效果。
图2示出了根据本申请实施例的基于点云数据重建对象的方法的一示例的流程图。基于点云数据重建对象的方法200可以包括点云构建阶段210、点云更新阶段220和点云配准阶段230。通过上述各个阶段的操作,三维重建设备可以从深度图像中重建出相应的对象模型。在下文结合本申请实施例的描述中,将仅以人体对象为例来描述对象重建过程的相关细节。
在点云构建阶段210中,基于第一深度相机和第二深度相机获取多帧人体同侧深度图像,并分别通过点云转换而生成相应的人体同侧点云。
在一个实施例中,可以利用至少两个深度相机(例如,并列放置的且具有重叠视场的相机)分别对人体进行拍摄,以分别得到相应的人体同一侧的深度图像,进而可以通过点云转换将深度图像转换为相应的第一点云和第二点云。需要说明的是,亦可利用单个深度相机采集人体同侧图像进而获取重叠区域的点云数据,此处不作限制。
优选地,可以通过以下方式将深度图像转换为相应的点云:
其中,(xs,ys,zs)为深度相机坐标系下的点云三维坐标,z为每个像素上的深度,(u,v)为像素坐标,(u0,v0)为图像主点坐标,dx和dy为深度相机的传感器像元在两个方向上的物理尺寸,f’为焦距(单位为毫米)。
因此,可以通过上述方式将多帧人体同侧的深度图像分别转换为相应的点云。
在点云更新阶段220中,确定第一点云相对于第二深度相机的世界坐标系的相对角度,并将在第二深度相机的视角范围之外的点数据进行消除,以及确定第二点云相对于第一深度相机的世界坐标系的相对角度,并将在第一深度相机的视角范围之外的点数据进行消除,获取重叠视场的点云区域。
图3示出了根据本申请实施例的对第一点云和第二点云进行更新的一示例的流程图。如图3所示,在步骤310中,确定对象的参考几何特征在第一点云中的第一参考特征点云结构,并确定对象的参考几何特征在第二点云中的第二参考特征点云结构。需要说明的是,对象的参考几何特征在世界客观空间是恒定的,并可以采用各种参考几何类型(例如,点、线、面或体),并且其所对应的特征类型也可以是多样化的,例如对象的质心、主干轴等等。此外,可以采用预先设置的针对参考几何特征的提取模型来确定点云中的参考特征点云结构,例如当参考几何特征是对象的质心时,可以通过提取模型确定点云中对应质心的点云结构。
具体地,可以按照预设的协方差矩阵计算模型,确定第一点云所对应的M个第一正交基以及第二点云所对应的M个第二正交基,其中M为大于1的自然数。
示例性地,可以分别计算人体第一点云和第二点云的协方差矩阵Cov(X,Y,Z),并对其进行特征分解为:
其中,e1、e2、e3是协方差矩阵的3个正交基,λ1、λ2、λ3是协方差矩阵在各个正交基方向上的分量大小。
应当理解的是,
其余同理。其中,
和
分别表示待计算的点云坐标平均值,
表示深度图像的深度平均值,n表示点云个数。
因此,通过代入第一点云和第二点云对应的数值,可以得到第一点云和第二点云各自的正交基。然后,可以利用分解后的特征获取第一点云和第二点云的质心。需要说明的是,由于第一点云和第二点云均是基于同一人体同侧的深度图像获取的,基于同一人体的重心和身体主轴应当一致,所以第一点云和第二点云的质心应保持重合。
在一个实施例中,可以利用协方差矩阵分解出的三个正交基e1、e2、e3来确定第一点云和第二点云的质心。进而,利用质心及三个正交基e1、e2、e3构建第一点云中的第一参考特征点云结构以及第二点云中的第二参考特征点云结构。
在步骤320中,基于第一参考特征点云结构构建第一世界坐标系,并基于第二参考特征点云结构构建第二世界坐标系。
具体地,可以利用三个正交基e1、e2、e3组成第一点云和第二点云三个主方向的世界坐标系,并且该世界坐标系的原点即为第一点云和第二点云的质心特征。示例性地,e1、e2、e3的方向分别是垂直于地面、指向身体侧面、指向身体朝向,此时利用第一点云和第二点云分别获取的三个正交基e1、e2、e3各自组成第一点云和第二点云3个主方向的坐标系,该坐标系的原点为e1、e2和e3所在坐标轴的交点,即分别为第一点云和第二点云的质心,进而,分别构建第一世界坐标系和第二世界坐标系。
在步骤330中,将第一点云投射至第二世界坐标系以得到相应的第三点云,并将第二点云投射至第一世界坐标系以得到相应的第四点云。其中,由于获取的第一深度图像和第二深度图像为人体同侧且具有重叠区域的深度图像。因此,第一点云和第二点云各自的和e3对应的两个坐标轴是相互平行且近似重合的,而在e1对应的坐标轴上只有平移。
优选地,可以获取第一深度相机所对应的相机坐标系与世界坐标系的变换关系,以及第二深度相机所对应的相机坐标系与世界坐标系的变换关系。进而,基于上述变换关系,将第一点云投影至第二点云的世界坐标系下,并将第二点云投影至第一点云的世界坐标系下,以分别获取第三点云和第四点云。
更具体地,假设第一点云的相机坐标为A,第二点云的相机坐标为B,则第一相机和第二相机的相机坐标系与世界坐标系的变换关系可表示为:
CA=MAA (3)
CB=MBB (4)
其中,矩阵
T=-Q-
Tc,Q=(e1 e2 e3)
T,c为质心坐标,其均与深度相机无关,因此被称为相机外参,也可以被理解为两个坐标系原点之间的距离。
进而,可以获取深度图像与点云的映射关系,并根据该映射关系和相机坐标系下的深度图像,可获取相机坐标系下的第一点云和第二点云。进一步地,利用相机坐标系与世界坐标系的变换关系,可将相机坐标系下的第一点云和第二点云变换为世界坐标系下的第一点云和第二点云,从而基于世界坐标系投影之后可以得到相应的第三点云和第四点云。
在步骤340中,在第三点云中筛除在第一视角范围之外的第一遮挡点云数据,以更新第一点云,以及在第四点云中筛除在第二视角范围之外的第二遮挡点云数据,以更新第二点云。
在一个实施例中,假设第一点云在第二点云的世界坐标系下对应的第三点云为PA,以及第二点云在第一点云世界坐标系下对应的第四点云为PB,则:
其中,F为相机视角范围(例如,可采用视场角FOV)内筛选点云对应的矩阵。进一步地,可以在投影点云中筛除在相机视角范围之外的点云数据,以消除遮挡点。
具体地,可以依次获取以第三点云中的各个第一点数据为起点、并以第二世界坐标系的原点为终点的第一向量,并确定各个所获取的第一点数据的第一点云法向量;然后,在各个第二点数据中,筛除对应第一向量与第一点云法向量之间的夹角大于第一视角范围的点数据。另一方面,可以依次获取以第四点云中的各个第二点数据为起点、并以第一世界坐标系的原点为终点的第二向量,并确定各个所获取的第二点数据的第二点云法向量;然后,在各个第二点数据中,筛除对应第二向量与所述第二点云法向量之间的夹角大于第二视角范围的点数据。
示例性地,以世界坐标系的原点为视点O,可以在第三点云(或第四点云)中逐点计算以点Pi为起点、视点O为终点的向量PiO,在该点处的点云法向量记为Ni,从视点O出发获取满足夹角<PiO,Ni>小于90°(例如,其可以被设置成其他的角度值)的点Pi,得到公共可视点云S:
S=I(P)={Pi|cos(<PiO,Ni>)>0,Pi∈P} (7)
相应地,可以将第三点云和第四点云中对应夹角<PiO,Ni>大于或等于90°的点均识别为视野遮挡点,并可以进行相应的遮挡点消除操作,消除第一点云和第二点云的遮挡点。
在点云配准阶段230中,可以将遮挡点消除后的第一点云和第二点云进行配准,以重建对象模型。
具体地,可以将回归消除遮挡点后的点云(即第三点云和第四点云)回归至原有深度相机(即第一深度相机和第二深度相机)的相机坐标系,并进行点云配准从而确定相应的重建模型。
图4示出了基于消除了视野遮挡点的同侧点云重建对象模型的一示例的流程图。如图4所示,在步骤410中,将第三点云投影至第一深度相机的相机坐标系,以得到相应的第五点云。在步骤420中,将第四点云投影至所述第二深度相机的相机坐标系,以得到相应的第六点云。在步骤430中,配准第五点云和第六点云中的相应点数据,以重建对象模型。
具体地,假设第五点云为UA,第六点云为UB,则第五点云和第六点云可表示为:
UA=MBSA (8)
UB=MASB (9)
在一个实施例中,第五点云和第六点云为第一点云和第二点云的公共可视点集,可利用迭代最近点(iterative closest point,ICP)算法配准第五点云和第六点云。
具体地,ICP算法的核心为最小化目标函数,以第五点云(或第六点云)为参考点云,可以得到相应的目标函数为:
其中,R为旋转矩阵,T为平移矩阵,pt i和ps i为第五点云和第六点云中的第i对对应点,Np表征第五点云和第六点云之间共有Np对对应点。
优选地,对应点为第五点云和第六点云中的最邻近点,即计算第五点云和第六点云中最邻近点的欧式距离,若欧式距离在预设距离阈值以内,则两个点为对应点。应理解的是,预设距离阈值可以是根据对最终结果的精度要求而进行相应设置,在此应不予限制。
需说明的是,可根据目标函数对矩阵[R,T]进行计算,其中R和T只有6个自由度,对应点的数量是庞大的。因此,可利用最小二乘等方法求解矩阵的最优解,以提高点云配准精度,此处不作限制。
进一步地,根据第五点云和第六点云的对应点配准第五点云和第六点云,以通过公共可视点获取拟合的第五点云和第六点云,获取第五点云与第六点云之间的变换矩阵[R,T],进而可直接对第一点云和第二点云进行配准,以获取人体重建模型。
在本文中的上述实施例的描述中,为了简洁描述的目的,仅以两片点云的情况进行了示例性阐述。而应理解的是,对于超过两片点云,如3片点云或3片以上的点云,只要具有重叠视场角FOV,亦可利用上述方式来实现配准在同一世界坐标系中并重建相应的三维对象模型。由此,在同侧多相机人体点云配准场景中,只要不同的深度相机之间具有重叠视场角FOV,而不需要预先知道相机之间的位姿,便能够实现高精度的点云配准结果。
图5示出了根据本申请实施例的基于点云数据重建对象的装置的一示例的结构框图。基于点云数据重建对象的装置500包括深度相机510、点云转换单元520、点云更新单元530和点云配准单元540,其中:
深度相机510,至少包括同侧放置的第一深度相机和第二深度相机,用于获取待重建对象的具有重叠视场的至少第一深度图像和第二深度图像;
点云转换单元520,将所述第一深度图像和第二深度图像转换为第一点云和第二单元;
点云更新单元530,被配置为根据所述第一深度相机和所述第二深度相机的视差角范围更新所述第一点云和所述第二点云,以去除所述第一点云和所述第二点云中的视野遮挡点;
点云配准单元540,被配置为配准经更新的第一点云和第二点云,以重建对象模型。
在一个实施例中,深度相机还包括投影单元、采集单元及深度计算单元,其中:
投影单元,用于向待重建对象投影红外光束;
采集单元,用于接收经待重建对象反射回的红外光束;
深度计算单元,用于根据反射回的红外光束计算生成深度图像。
更具体地,可以通过投影单元、采集单元、深度计算单元及点云转换单元的协调操作,确定多个待重建对象同侧点云。通过投影单元,可以向待重建的对象的同侧投影红外光束。通过采集单元,可以分别采集经目标待重建对象同侧反射回的红外光束,其中所采集的红外光线之间可以存在重叠。通过深度计算单元,可以形成待重建对象同侧深度图像。通过点云转换单元,可以将多个待重建对象同侧图像分别转换为相应的同侧点云。
示例性地,可以通过以下方式来获取人体同侧的深度图像:
其一,投影单元向目标人体同侧投影投射结构光光束,采集单元接收经人体同侧反射回的光束并形成电信号,并通过电信号传输至深度计算单元。深度计算单元对该电信号进行处理,计算出反映该光束的强度信息以形成结构光图案。然后,基于结构光图案进行匹配计算或三角法计算,得到多个像素点的深度值以获取目标人体的同侧深度图像。
其二,投影单元向人体同侧投射红外光束,采集单元接收经人体同侧反射回的光束并形成电信号,并通过电信号传输至深度计算单元。应当理解的是,红外光束可包括脉冲型和连续波型,此处不作限制。深度计算单元对该电信号进行处理以计算出相位差,并基于该相位差间接计算光束由投影单元发射到采集单元接收所用的飞行时间。然后,基于该飞行时间计算出多个像素点的深度值以获取目标人体同侧的深度图像。
其三,投影单元向人体同侧投射红外脉冲光束,采集单元接收经人体同侧反射回的光束并形成电信号,并通过电信号传输至深度计算单元。深度计算单元对电信号进行计数以获取波形直方图,并根据直方图直接计算由投影单元发射到采集单元接收所用的飞行时间。然后,基于该飞行时间计算出多个像素点的深度值以获取目标人体的同侧的深度图像。
应理解的是,上述获取同侧深度图像或点云数据的操作仅用作示例,并且还可以采用其他可行的方式来得到获取人体同侧点云,且都属于本申请实施例的实施范围内。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及所带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6是本申请实施例的电子设备的一示例的示意图。如图6所示,该实施例的电子设备600包括:处理器610、存储器620以及存储在所述存储器620中并可在所述处理器610上运行的计算机程序630。所述处理器610执行所述计算机程序630时实现上述基于点云数据重建对象的方法实施例中的步骤,例如图1所示的步骤110至130。或者,所述处理器610执行所述计算机程序630时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元520至540的功能。
示例性的,所述计算机程序630可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器620中,并由所述处理器610执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序630在所述电子设备600中的执行过程。
在本申请实施例的一个示例中,所述计算机程序630可以被分割成点云转换程序模块、点云更新程序模块和点云配准程序模块,各程序模块具体功能如下:
点云转换程序模块,用于将具有重叠视场的第一深度图像和第二深度图像转换为第一点云和第二单元;其中,所述第一深度图像和所述第二深度图像分别是由同侧放置的第一深度相机和第二深度相机所获取的;
点云更新程序模块,用于根据所述第一深度相机和所述第二深度相机的视差角范围更新所述第一点云和所述第二点云,以去除所述第一点云和所述第二点云中的视野遮挡点;
点云配准程序模块,用于配准经更新的第一点云和第二点云,以重建对象模型。
所述电子设备600可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器610、存储器620。本领域技术人员可以理解,图6仅是电子设备600的示例,并不构成对电子设备600的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器610可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器620可以是所述电子设备600的内部存储单元,例如电子设备600的硬盘或内存。所述存储器620也可以是所述电子设备600的外部存储设备,例如所述电子设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器620还可以既包括所述电子设备600的内部存储单元也包括外部存储设备。所述存储器620用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器620还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。