一种面部识别模型的训练方法、装置以及设备与流程

文档序号:30733935发布日期:2022-07-13 03:51阅读:76来源:国知局
一种面部识别模型的训练方法、装置以及设备与流程

1.本说明书涉及互联网技术领域,尤其涉及一种面部识别模型的训练方法、装置以及设备。


背景技术:

2.随着深度学习的巨大进步,面部识别技术取得了显著的发展,被广泛应用于身份认证的实际应用中,比如手机解锁、闸机认证、支付等场景。但是由于大规模训练的面部识别模型一直是一个黑盒系统,可解释性较差,尤其是对于近亲或者相似脸人群,差异相当微妙,缺乏量化的可解释依据。
3.基于此,需要一种对于识别结果可解释性高的面部识别模型的训练方案。


技术实现要素:

4.本说明书一个或多个实施例提供一种面部识别模型的训练方法、装置、设备以及存储介质,用以解决如下技术问题:需要一种对于识别结果可解释性高的面部识别模型的训练方案。
5.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
6.在第一方面,本说明书实施例提供一种面部识别模型的训练方法,包括:获取包括面部关键点的训练样本;将所述训练样本划分为多个子图像;根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集;采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量;根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。
7.在第二方面,本说明书实施例提供一种面部识别模型的训练装置,包括:获取模块,获取包括面部关键点的训练样本;划分模块,将所述训练样本划分为多个子图像;分类模块,根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集;生成模块,采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量;训练模块,根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。
8.在第三方面,本说明书实施例提供的一种电子设备,包括:
9.至少一个处理器;以及,
10.与所述至少一个处理器通信连接的存储器;其中,
11.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
12.在第四方面,本说明书实施例提供一种非易失性计算机存储介质存储有计算机可执行指令,当计算机读取存储介质中的计算机可执行指令后,该指令使得一个或多个处理器执行如第一方面所述的方法。
13.本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:通过获取包括面部关键点的训练样本;将所述训练样本划分为多个子图像;根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集;采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量;根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。从而实现对于训练得到的目标模型,在使用时可以对于每个待识别图像所包含的图像子集,量化其与待确认图像对应区域的相似度,给出明确的相似度计算和可解释原因,提高模型的可解释性。
附图说明
14.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1为本说明书实施例提供的一种面部识别模型的训练方法的流程示意图;
16.图2a为本说明书实施例所采用的一种划分子图像的示意图;
17.图2b为本说明书实施例所采用的另一种划分子图像的示意图;
18.图3为本说明书实施例所提供的一种目标模型进行用户识别的示意图;
19.图4为本说明书实施例提供的一种面部识别模型的训练装置的结构示意图;
20.图5为本说明书实施例提供的一种电子设备的结构示意图。
具体实施方式
21.本说明书实施例提供一种面部识别模型的训练方法、装置、设备以及存储介质。
22.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.在第一方面,如图1所示,图1为本说明书实施例提供的一种面部识别模型的训练方法的流程示意图,具体包括以下步骤:
24.s101:获取包括面部关键点的训练样本。
25.训练样本是一张面部图像。在实际应用中,训练样本的集合可以是大规模的面部图像的集合,集合中包含的训练样本的数量可以到达十亿数量级。例如,可以获取千万个不同标识的用户,每个用户下给出100张左右的面部图像作为训练样本。
26.即训练样本中包含有用户标识。训练的结果要求模型对于任意给定的训练样本,可以将其准确的分类至用户标识所对应的类别中。
27.对于任意给定的训练样本,可以采用已经成熟的关键点检测模型对其中所包含的头部、肩部和面部中的关键点进行标定。例如,可以采用基于dlib库的关键点检测模型或者深度对齐网络(deep alignment network,dan)标定关键点,在标定关键点的同时,关键点
检测模型还可以给出任意关键点的语义(即该关键点所属的子区域)。
28.例如,对于关键点1,其对应的语义可能是“眼角周边”,对于关键点2,其对应的语义可能是“鼻子”等等。
29.以及,在对任意的训练样本进行关键点识别之前,还可以对其进行预处理,例如,去掉训练样本中的背景部分(可以采用对人体轮廓以外的区域进行黑化处理),仅保留人的头肩区域,从而得到预处理后的训练样本,以便关键点检测模型更好的进行关键点识别。
30.s103,将所述训练样本划分为多个子图像。
31.具体的划分的方式可以根据实际需要进行确定,划分得到的子图像可以具有重叠的部分,也可以没有重叠的部分。
32.例如,在一种划分方式中,可以无视人脸和头肩关键点,只用固定长宽的指定窗口大小,进行从训练样本的坐标原点开始,采用指定的步长,将将所述训练样本划分为指定窗口大小的多个子图像。如图2a所示,图2a为本说明书实施例所采用的一种划分子图像的示意图。
33.在这种划分方式下,一张子图像中可能会同时包括有属于不同区域的关键点,例如,子图像2中即可能同时包括有眼角周边和鼻子所对应的关键点。以及,对于划分得到的子图像的数量,也可以预先指定。
34.在另一种划分方式中,可以首先将训练样本划分为具有确定语义的多个子区域。例如,将训练样本基于像素坐标进行分割,生成对应的“鼻子”、“眼睛”、“嘴巴”等等多个子区域,进而在每个子区域中进行图像分割,生成多个子图像。
35.在这种划分方式下,换分得到的子图像中的关键点一般都是同一个类别的,即在子区域“鼻子”中进行划分后得到的子图像中的关键点均是对应于“鼻子”,而在子区域“眼睛”中所进行划分后得到的子图像中的关键点均是对应于“眼睛”。如图2b所示,图2b为本说明书实施例所采用的另一种划分子图像的示意图。
36.在这种划分方式下,由于每个子图像中基本包含的都是同一类别的关键点,因此,可以更容易判定该子图像所对应的类别。
37.s105,根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集。
38.如前所述,在不同的划分方式下,子图像中可能包含的关键点的类别是多样的。特别在在图2a中所示意的划分方式下,某些子图像中可能同时会包括三至四种类别的关键点,此时,则需要对子图像进行明确的分类,从而生成对应的多个图像子集,或者也可以称为图像ptach。
39.需要说明的是,每一个类别的图像子集,其同样具有明确的语义,例如,图像子集1的语义可能是“鼻子”,而图像子集2的语义可能是“眼角周边”等等。
40.对应于前述的划分方式,对于图像子集的类别的确定也可以采用不同的方式。在如图2a所示意的划分方式下,可以确定所述子图像中所包括的关键点所属的面部子区域;将数量最多的关键点所属的面部子区域确定该子图像所属的类别。
41.例如,假设获取得到的一张子图像中所包括的关键点所属的面部子区域分别有子区域1、子区域2和子区域3,子图像中一共包含有关键点10个关键点,其中,属于子区域1、2和3的关键点数量分别为2个、5个和3个,那么,则可以知道在该子图像中子区域2中所包含
的关键点数量最多,从而将该子图像所属的类别确定为“子区域2所对应的类别”。
42.进一步的,若采用的是如图2b所示的方式进行划分,那么容易理解在该划分方式下,由于子区域已经被预先划分,因此任意的子图像中所包含的数量最多的关键点实际上即为同一类别。
43.例如,对于子区域1中划分得到的任意子图像,其中包含数量最多的关键点所属的面部子区域显然是“子区域1”,此时,即可以直接将该子图像所属的类别确定为“子区域1所对应的类别”。
44.s107,采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量。
45.在得到多个图像子集之后,即可以采用初始模型对每个图像子集中所包含的子图像进行特征提取,从而得到每个图像子集所对应的局部特征向量。
46.由于每个图像子集对应的是一个具有明确语义的子区域,因此,每个局部特征向量同样也是具有明确语义的。例如,从“眼部周边”所对应的图像子集中所提取得到的局部特征向量其可以明确的视为具有语义“眼部周边”,并且可以与其它图像中所提取得到的“眼部周边”特征向量进行相似度比较。具体的相似度计算可以采用诸如欧氏距离或者余弦距离等等计算方式。
47.具体所采用的初始模型的形式可以基于实际需要进行搭建。例如,可以采用基于自动编码和解码的初始模型,通过对图像子集中所包含的子图像进行编码,得到输入特征,进而对输入特征进行解码之后,还原得到对应的预测子图像。
48.由于在一个图像子集中其包含的子图像的数量通常较多,因此,对于每一个子图像而言,在通过前述的编码和解码之后,还原得到的仍然是一个子区域中的部分图像,即对于一个子图像而言,在编码和解码的过程中即可以得到对应该子图像的子特征向量。进而可以对一个图像子集中所对应的n个子图像进行重复的编码和解码,从而生成对应的n个子特征向量,从而可以融合n个多个子图像所对应的多个子特征向量(例如,可以进行均值叠加),生成该图像子集所对应的局部特征向量、采用编码和解码的模型,从而可以使得人脸识别训练不再强依赖于最后的softmax分类计算。
49.s109,根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。
50.具体的训练方式即为,在获取得到全局特征向量之后,即找到与所述全局特征向量相似度最大的另一向量,并将其分类至所述另一向量所属的用户标识下。由于训练样本本身即携带有用户标识,因此,可以最终判别分类结果的准确性。
51.当分类结果的准确性不满足预设要求时,即可以首先获取训练样本所属用户的目标向量,并根据全局特征向量和目标向量的差异对编码器和解码器进行训练,直至分类结果的准确性达到预设要求,则将此时的模型视为可用的目标模型。
52.通过获取包括面部关键点的训练样本;将所述训练样本划分为多个子图像;根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集;采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量;根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。从而实现对于训练得到的目标模型,在使用时可
以对于每个待识别图像所包含的图像子集,量化其与待确认图像对应区域的相似度,给出明确的相似度计算和可解释原因,提高模型的可解释性。
53.在一种实施方式中,在在将所述训练样本划分为多个子图像之前,还可以对训练样本进行对齐(alignment)操作,生成对齐后的训练样本。进而,在划分时即可以将所述对齐后的训练样本划分为多个子图像。
54.具体的对齐操作可以包括将倾斜的图像进行旋转校正,从而使得头部居中对齐(即脸部对称轴为训练样本的居中竖直线)。以及,还可以对图像进行缩放,以使得人脸区域中的特定区域处于特定位置上,例如,可以对训练样本进行缩放或者平移,以使得鼻子顶点处于图像正中等等。通过对齐操作,可以使得任意的训练样本的各区域的语义相同,从而有利于后续对划分得到的子图像进行分类。
55.在一种实施例中,在采用初始模型对子图像进行编码和解码之前,还可以对图像子集中的子图像进行随机的局部遮挡。遮挡的区域大小可以根据实际需要进行设定,例如,经验表明,可以随机遮挡子图像中的70%至80%的区域大小,对于模型训练的收敛有更好的效果。
56.遮挡的方式可以是首先确定子图像中所包含的像素点的数量,进而随机选取相邻的70%至80%的像素点,将选中的像素点采用同一种颜色(例如,白色或者蓝色等等)的像素点进行覆盖,从而完成对于子图像的遮挡。
57.在实际的刷脸过程中,经常会存在用户在使用了口罩、面纱等遮挡了部分人脸的情形下进行刷脸,一些恶意用户也可能采用部分面部特征的方式进行攻击。因此,通过局部遮挡的方式进行编码和解码,来实现特征提取可以有效的应对实际中的口罩人脸、遮挡人脸等问题。
58.在一种实施例中,对于初始模型中的局部特征向量在融合生成训练样本所对应的全局特征向量时,还可以训练每个图像子集所对应的局部特征向量的权重分布参数。即,对于m个图像子集而言,在模型中可以存在可训练的权重分布参数w=(w1,w2,
……
wm),任意的w1至wm即为对应的图像子集所提取得到的局部特征向量的权重。
59.从而在训练的过程中即可以通过调整编码器和解码器来微调每个图像子集的特征表达来,以及通过训练权重分布参数来微调最终融合得到的全局特征向量。在实际应用中,通常某些人脸中的某些区域对于面部识别具有更重要的参考意义,因此,其对应的图像子集所提取得到的局部特征向量通常也具有更高的权重值。例如,眼周区域和鼻子区域通常会具有更高的权重值。
60.在训练得到目标模型之后,即还可以采用该目标模型来对待识别图像进行识别了。具体而言,去流程包括:获取待识别图像;获取所述待识别图像所对应的待确认图像;采用所述目标模型生成所述待识别图像所对应的多个第一局部特征向量,以及,采用所述目标模型生成所述待确认图像所对应的多个第二局部特征向量;分别确定所述多个第一局部特征向量和所述多个第二局部特征向量之间的多个局部相似度;融合所述多个局部相似度生成识别结果。
61.在前述过程中,待识别图像即为设备扫描人脸所获取得到的面部图像,而待确认图像即为预先存储于服务端或者设备中的带有用户标识的面部图像。
62.在实际应用中,当用户是通常是通过自身设备的客户端来进行面部识别时,可以
基于客户端所对应的用户标识从服务端中获取得到待确认图像;在打卡或者面部认证等场景中,即可以首先从预先存储的图像中筛选得到与待识别图像相似度较高的若干图像作为待确认图像。
63.进而,即目标模型即可以采用如前述训练时类似的步骤,分别对待识别图像像和待确认图像进行类似的处理:即首先识别得到图像中的关键点,并对待识别图像像和待确认图像进行划分,得到包含多个关键点的多个子图像,进而对子图像基于关键点进行分类,从而得到对应的具有语义的多个图像子集,再通过对图像子集中的子图像进行编码和解码,提取得到各子图像所对应的局部特征向量。
64.通过前述方式,即可以分别得到数量相同且子区域对应的多个第一局部特征向量和多个第二局部特征向量,且子区域对应的第一局部特征向量和第二局部特征向量其具有相同的语义(例如,可以是眼角周边)。
65.从而可以融合比较每个对应区域的局部特征向量的相似度,来综合判断待识别图像和待确认图像的相似度。例如,可以直接对每个局部特征向量的相似度进行相加,而得到待识别图像和待确认图像的相似度,当待识别图像和待确认图像的相似度大于预设阈值时,即认为二者是同一用户,否则,不是同一用户。
66.如图3所示。图3为本说明书实施例所提供的一种目标模型进行用户识别的示意图。在该示意图中,将待识别图像和待确认图像一共分别了眼睛、眼角周边、鼻子、嘴巴、耳朵等五个子区域,进而同时对于五个子区域的相似度并相加来判定待识别图像是否和待确认图像属于同一用户。
67.在一种实施例中,在融合所述多个局部相似度生成识别结果时,还可以采用前述的权重分布参数来进行融合。需要说明的是,在这个过程中,权重分布参数是已经被训练好的固定参数,不会基于待识别图像的不同而发生变化。例如,假设权重分布参数为w=(1,1,2,3,1),同时计算得到的五个子区域的相似度为s=(0.7,0.8,0.9,0.9,0.6),则最终的相似度即为w点乘s=0.7+1*0.8+2*0.9+3*0.9+0.6=6.8。通过该方式,可以突出在面部识别中具有显著参考意义的局部特征向量的作用,使得识别结果更加准确。
68.在一种实施例中,还可以选用特定的部分的局部特征向量来进行综合判定。例如,用户有可能对面部进行了部分遮挡,此时,提取不到待识别图像中的嘴巴区域和耳朵区域的特征,那么,此时,即可以考虑仅采用其它子区域所对应的局部特征向量进行相似度的对比来综合判定。
69.续前例,而言此时,若假设眼睛、眼角周边、鼻子、嘴巴、耳朵等五个子区域的权重分布参数不变,仍为w=(1,1,2,3,1),则可以不采用嘴巴区域和耳朵区域的权重参数,此时,即采用w=(1,1,2)与其余三个子区域的相似度s=(0.7,0.8,0.9)的点乘进行综合判定。若点乘结果与子区域数量的均值超过预设值,即可以认定识别结果为属于同一用户。
70.在一种实施例中,还可以采用指定的子区域的相似度进行判定,若在待识别的图像中不能提取得到被指定的子区域中的局部特征向量(即被指定的子区域可能被遮挡),则认定为无法进行判断,而发出提示,要求用户展示被遮挡的子区域。
71.例如,可以预先指定采用鼻子、眼睛、眼角周边和嘴巴4个子区域进行相似度识别,若用户带了口罩,则可能无法获取得到嘴巴所对应的局部特征向量,此时,即可以提示用户应摘下口罩,展示嘴部,从新进行扫描。又例如,可以预先指定采用鼻子、眼睛、眼角周边和
嘴巴4个子区域中的任意三个子区域进行相似度识别,从而,当从待识别图像中仅能获取到两个子区域的局部特征向量时才发出提示。通过该方式,可以基于实际场景的需要,调节面部识别时所需要的区域,提高用户体验。
72.此外,基于前述的方案,若在用户识别的过程中发生了错误识别,例如,将一些相似的不同人的人脸判定为同一个人,此时,在本说明书实施例的方式中,则可以基于后台数据的提取,明确目标模型是基于哪些区域的相似才发生了错误判定,从而能够量化可解释的依据,提高用户对于面部识别的安全感,有利于目标模型的推广和迭代优化。
73.在第二方面,基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图4、图5所示。
74.图4为本说明书实施例提供的一种面部识别模型的训练装置的结构示意图,所述装置包括:
75.获取模块401,获取包括面部关键点的训练样本;
76.划分模块403,将所述训练样本划分为多个子图像;
77.分类模块405,根据所述子图像中所包括的关键点确定任意的子图像所属的类别,生成对应于多个不同类别的多个图像子集;
78.生成模块407,采用初始模型确定所述多个图像子集所对应的局部特征向量,融合所述局部特征向量生成所述训练样本所对应的全局特征向量;
79.训练模块409,根据所述全局特征向量对所述初始模型进行分类训练,生成可用的目标模型。
80.可选地,所述划分模块403,采用指定的步长,将所述训练样本划分为指定窗口大小的多个子图像;或者,将所述训练样本划分为具有确定语义的多个子区域,针对任意子区域,将该子区域划分为指定窗口大小的多个子图像。
81.可选地,所述装置还包括对齐模块411,将所述训练样本进行对齐操作,生成对齐后的训练样本;相应的,将所述训练样本划分为多个子图像,包括:将所述对齐后的训练样本划分为多个子图像。
82.可选地,所述分类模块405,确定所述子图像中所包括的关键点所属的面部子区域;将数量最多的关键点所属的面部子区域确定为该子图像所属的类别。
83.可选地,所述生成模块407,针对任意的图像子集,采用初始模型对该图像子集中所包含的子图像进行编码和解码,生成子图像所对应的子特征向量;融合多个子图像所对应的多个子特征向量,生成该图像子集所对应的局部特征向量。
84.可选地,所述生成模块407,对所述子图像进行随机区域的遮挡,生成遮挡后的子图像;采用初始模型对所述遮挡后的子图像进行编码和解码。
85.可选地,所述生成模块407,确定所述局部特征向量所对应的权重分布参数,根据所述权重分布参数对局部特征向量进行加权合并,生成所述训练样本所对应的全局特征向量;相应的,所述训练模块409,根据所述全局特征向量对所述权重分布参数进行训练
86.可选地,所述装置还包括识别模块413,获取待识别图像;获取所述待识别图像所对应的待确认图像;采用所述目标模型生成所述待识别图像所对应的多个第一局部特征向量,以及,采用所述目标模型生成所述待确认图像所对应的多个第二局部特征向量;分别确定所述多个第一局部特征向量和所述多个第二局部特征向量之间的多个局部相似度;融合
所述多个局部相似度生成识别结果。
87.可选地,所述生成模块407,采用所述目标模型所确定的局部特征向量所对应的权重分布参数;根据所述权重分布参数对所述多个局部相似度进行加权,生成识别结果。
88.在第三方面,如图5所示,图5为本说明书实施例提供的一种电子设备的结构示意图,所述设备包括:
89.至少一个处理器;以及,
90.与所述至少一个处理器通信连接的存储器;其中,
91.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
92.在第四方面,基于同样的思路,本说明书实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,当计算机读取存储介质中的计算机可执行指令后,该指令使得一个或多个处理器执行如第一方面所述的方法。
93.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
94.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实
现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
95.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
96.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
97.本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
98.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
99.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
100.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
101.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
102.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
103.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
104.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
105.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
106.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
107.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
108.以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1