一种用户的识别方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种用户的识别方法、装置及设备。
背景技术
人脸识别技术因为其识别率的越来越高和应用的便利性而得到了越来越广泛的应用,例如,视频监控、访问控制、智能身份证等。目前,随着摄像头的普及,越来越多的场景如无人值守的自助类商业场景、安防场景都需要在用户无感知的情况下,识别出出现在摄像头中的用户的身份。
目前,常用的用户识别方案中,会预先设置用户的人脸图像数据库,当需要对某一个用户进行识别时,需要输入该用户的图像,然后,将输入的图像与人脸图像数据库内的所有带有用户标识的人脸图像进行遍历比对,然后,将人脸图像数据库内与输入的图像相同或最相近的人脸图像对应的用户标识作为输入的图像对应的用户标识,从而确定该用户的身份。
然而,人脸图像数据库中往往存在大量的人脸图像(如数十亿级别的人脸图像),这样,通过上述方式对用户进行识别,需要消耗较多的时间(由于需要进行遍历比对),而且会消耗大量计算资源,从而使得用户的识别过程繁杂,识别效率低下且准确率较低。因此,需要提供一种识别效率更高、准确率更高的用户识别方案。
发明内容
本说明书实施例的目的是提供一种用户的识别方法、装置及设备,以提供一种识别效率更高、准确率更高的用户识别方案。
为实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种用户的识别方法,所述方法包括:
获取目标用户的图像;
从所述目标用户的图像中提取所述目标用户的生物特征;
根据预定分类模型和所述目标用户的生物特征,对所述目标用户的图像进行分类,得到所述目标用户的图像所属的第一类别;
将所述第一类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第一类别相匹配的目标检索候选图像及用户标识;
基于检索决策规则和所述匹配结果,对所述目标用户进行识别。
可选地,所述基于检索决策规则和所述匹配结果,对所述目标用户进行识别,包括:
根据所述用户标识,对所述目标检索候选图像进行聚合处理,得到不同用户标识对应的聚合结果;
基于检索决策规则和所述聚合结果,对所述目标用户进行识别。
可选地,所述聚合结果包括一个或多个聚合特征,
所述基于检索决策规则和所述聚合结果,对所述目标用户进行识别,包括:
通过检索决策规则对不同用户标识对应的聚合特征进行评估,得到评估结果;
基于所述评估结果对所述目标用户进行识别。
可选地,所述聚合特征为最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量。
可选地,所述方法还包括:
获取多个用户的生物特征,所述生物特征是从所述用户的图像中提取;
根据预定分类模型和每个用户的生物特征,对每个用户的图像进行分类,得到每个用户的图像所属的第二类别;
将所述第二类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第二类别相匹配的检索候选图像及所述检索候选图像对应的用户标识;
根据检索候选图像对应的用户标识和每个用户的用户标识,从所述检索候选图像中确定用于训练检索规则的黑样本数据和白样本数据;
基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则。
可选地,所述基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则,包括:
利用所述黑样本数据和白样本数据,通过预定的二分类相关算法对所述检索规则进行训练,得到所述检索决策规则。
可选地,所述获取多个用户的生物特征之后,所述方法还包括:
根据k最近邻kNN算法和所述多个用户的生物特征,对所述多个用户的图像进行聚类,建立所述分类模型。
可选地,所述kNN算法包括局部敏感性哈希LSH算法、粗量化积量化算法、KD-TREE算法和DAG算法。
可选地,所述生物特征为面部特征。
可选地,预定类别为所述第一类别或所述第二类别,目标图像为所述目标检索候选图像或所述检索候选图像,且所述目标检索候选图像属于所述第一类别,所述检索候选图像属于所述第二类别,
所述将所述预定类别与候选图像数据库进行匹配,得到匹配结果,包括:
从所述候选图像数据库中,获取与所述预定类别相同的候选图像;
分别获取每个所述候选图像与待识别用户的图像之间的相似度数值;
将大于预定相似度阈值的相似度数值对应的所述候选图像作为所述目标图像,并获取所述目标图像对应的用户标识。
可选地,所述相似度数值为欧式距离或余弦数值。
本说明书实施例提供的一种用户的识别装置,所述装置包括:
第一图像获取模块,用于获取目标用户的图像;
特征提取模块,用于从所述目标用户的图像中提取所述目标用户的生物特征;
第一分类模块,用于根据预定分类模型和所述目标用户的生物特征,对所述目标用户的图像进行分类,得到所述目标用户的图像所属的第一类别;
第一匹配模块,用于将所述第一类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第一类别相匹配的目标检索候选图像及用户标识;
识别模块,用于基于检索决策规则和所述匹配结果,对所述目标用户进行识别。
可选地,所述识别模块,包括:
聚合单元,用于根据所述用户标识,对所述目标检索候选图像进行聚合处理,得到不同用户标识对应的聚合结果;
识别单元,用于基于检索决策规则和所述聚合结果,对所述目标用户进行识别。
可选地,所述聚合结果包括一个或多个聚合特征,所述识别模块,包括:
评估单元,用于通过检索决策规则对不同用户标识对应的聚合特征进行评估,得到评估结果;
所述识别单元,用于基于所述评估结果对所述目标用户进行识别。
可选地,所述聚合特征为最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量。
可选地,所述装置还包括:
特征获取模块,用于获取多个用户的生物特征,所述生物特征是从所述用户的图像中提取;
第二分类模块,用于根据预定分类模型和每个用户的生物特征,对每个用户的图像进行分类,得到每个用户的图像所属的第二类别;
第二匹配模块,用于将所述第二类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第二类别相匹配的检索候选图像及所述检索候选图像对应的用户标识;
样本确定模块,用于根据检索候选图像对应的用户标识和每个用户的用户标识,从所述检索候选图像中确定用于训练检索规则的黑样本数据和白样本数据;
训练模块,用于基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则。
可选地,所述训练模块,用于利用所述黑样本数据和白样本数据,通过预定的二分类相关算法对所述检索规则进行训练,得到所述检索决策规则。
可选地,所述装置还包括:
模型建立模块,用于根据k最近邻kNN算法和所述多个用户的生物特征,对所述多个用户的图像进行聚类,建立所述分类模型。
可选地,所述kNN算法包括局部敏感性哈希LSH算法、粗量化积量化算法、KD-TREE算法和DAG算法。
可选地,所述生物特征为面部特征。
可选地,预定类别为所述第一类别或所述第二类别,目标图像为所述目标检索候选图像或所述检索候选图像,且所述目标检索候选图像属于所述第一类别,所述检索候选图像属于所述第二类别,所述装置还包括:
匹配模块,用于从所述候选图像数据库中,获取与所述预定类别相同的候选图像;分别获取每个所述候选图像与待识别用户的图像之间的相似度数值;将大于预定相似度阈值的相似度数值对应的所述候选图像作为所述目标图像,并获取所述目标图像对应的用户标识。
可选地,所述相似度数值为欧式距离或余弦数值。
本说明书实施例提供的一种用户的识别设备,所述用户的识别设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标用户的图像;
从所述目标用户的图像中提取所述目标用户的生物特征;
根据预定分类模型和所述目标用户的生物特征,对所述目标用户的图像进行分类,得到所述目标用户的图像所属的第一类别;
将所述第一类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第一类别相匹配的目标检索候选图像及用户标识;
基于检索决策规则和所述匹配结果,对所述目标用户进行识别。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取的目标用户的图像,从目标用户的图像中提取目标用户的生物特征,然后,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别,将第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与第一类别相匹配的目标检索候选图像及用户标识,最后,基于检索决策规则和匹配结果,对目标用户进行识别,这样,首先通过分类模型确定目标用户的图像所属的类别,然后,再通过确定的类别,从候选图像数据库中检索出相应的候选图像,最后通过检索决策规则判定目标用户为检索出的候选图像中的哪一个或哪一些候选图像对应的用户,以完成对目标用户的识别,通过预定分类模型和检索决策规则的使用,简化了用户识别的过程,并且提高了对用户识别的准确率,而且,通过预定分类模型和检索决策规则可以快速完成在候选图像数据库中大量图像中的检索和对目标用户的决策,使得用户的识别被快速完成,从而提高了用户识别的效率并减少了资源消耗。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种用户的识别方法实施例;
图2为本说明书一种检测应用程序的界面示意图;
图3为本说明书另一种用户的识别方法实施例;
图4为本说明书一种目标用户的识别过程的处理逻辑示意图;
图5为本说明书一种用户的识别装置实施例;
图6为本说明书一种用户的识别设备实施例。
具体实施方式
本说明书实施例提供一种用户的识别方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种用户的识别方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于快速完成对用户的识别等处理中,为了提高用户的识别效率,本实施例中以执行主体为服务器为例进行说明,对于终端设备的情况,可以根据下述相关内容处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S102中,获取目标用户的图像。
其中,目标用户可以是需要检索或需要识别其身份的用户。目标用户的图像可以是待检索或待识别的目标用户的图像,该图像中可以包括目标用户的面部图像、虹膜图像、指纹图像或数据和掌纹图像或数据等中的一种或多种。
在实施中,可以通过多种方式触发用户识别或生物识别机制执行,例如,可以预先设置有用于用户识别或生物识别的应用程序,如图2所示,用户可以通过该应用程序中的相应按键,主动上传待检索或待识别的目标用户的图像(具体如目标用户的人脸图像等),上传完成后,可以点击该应用程序中的识别或检索按键,此时,该应用程序获取用户上传的待检索或待识别的目标用户的图像,可以将其发送给服务器,服务器可以接收待检索或待识别的目标用户的图像。
或者,当需要对某用户(即目标用户)的身份进行验证时(比如,目标用户在线购物完成进行结算时,或目标用户在线下店铺购物完成进行结算时等),执行身份验证的终端设备可以启动其摄像设备,并通过该摄像设备拍摄目标用户的图像(具体如目标用户的人脸图像等),拍摄完成后,可以将拍摄的目标用户的图像发送给服务器,服务器可以接收拍摄的目标用户的图像。
需要说明的是,在实际应用中,除了可以通过上述方式触发用户识别或生物识别机制执行外,还可以通过其它方式触发用户识别或生物识别机制执行,例如在安防场景中的用户身份验证或身份核实的情况触发等,本说明书实施例对此不做限定。
在步骤S104中,从目标用户的图像中提取目标用户的生物特征。
其中,生物特征可以包括面部特征、虹膜特征、指纹特征和掌纹特征等中的一种或多种。生物特征可以包括几何特征和代数特征等,几何特征可以是以目标用户的人体器官(如面部器官等)的形状及其几何关系为基础的特征,包括几何特征曲率和几何特征点等。几何特征曲率可以是人体器官的轮廓线曲率。几何特征点可以包括相应的人体器官,以及预期相邻的其它人体器官之间的相对位置和距离等,例如,面部几何特征点可以包括眼睛、鼻子、嘴巴等各个器官,以及它们之间的相对位置和距离等。上述特征具有位置、视点和大小等不变性。选取的几何特征可以具有一定的独特性,这样可以反映出不同用户之间的差别,同时又具有一定的弹性以消除时间跨度、光照等因素的影响。代数特征是将包含生物特征的目标用户的图像用特定的变换方法投影在降维子空间而形成的特征,例如,经过奇异值变换得到的奇异值特征,或经过K-L变换得到的特征,或经过小波变换后得到的小波特征等,此外,目标用户的生物特征还可以包括颜色特征、形状特征、纹理特征和空间关系特征等。
在实施中,通过上述步骤S102的处理,服务器获取到目标用户的图像后,可以对获取的图像进行分析,具体可以包括:首先,可以对该图像进行人体器官检测,如果该图像中存在某指定的人体器官的图像,则可以确定该人体器官的位置、大小和位姿等,例如,可以在该图像中确定目标用户的面部(如果存在)的位置、大小、位姿等。然后,对于检测到的指定的人体器官的图像进行特征提取,提取出其中的高维特征,从而得到该图像中包含的生物特征,其中,对图像进行特征提取的方式可以包括多种,例如,通过预先训练的特征提取模型或人脸识别模型等对人脸图像进行特征提取,其中,可以通过深度学习的方式建立并训练特征提取模型或人脸识别模型等,深度学习具体可以通过多种方式实现,例如稀疏编码方式或受限玻尔兹曼机方式等。或者,可以通过如傅里叶Fourier变换算法、窗口傅里叶Fourier变换(Gabor)算法或小波变换算法等算法提取图像中的生物特征。
在步骤S106中,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别。
其中,预定分类模型可以是任意分类模型,如朴素贝叶斯分类模型、Logistic回归分类模型、决策树分类模型或支持向量机分类模型等,具体可以根据实际情况设定,本说明书实施例对此不做限定。第一类别可以是预定分类模型所确定的类别中的任意类别,第一类别可以根据预定分类模型在使用的过程中产生,该类别可以是根据实际情况设置为常用的类别,例如服饰类、数码产品类或食品类等,还可以通过不同的标记设置的不同类别等,例如类别1、类别2或类别3等。
在实施中,可以预先通过选取的样本数据对预定分类模型进行训练,得到训练后的分类模型,其中的样本数据可以是预先选取的多个不同用户的相关数据,例如带有某指定生物特征的图像的数据等,也可以是上述多个不同用户的相关数据经过某种处理后得到的数据等,如对上述多个不同用户的相关数据进行特征提取,得到相应的用户特征,该用户特征的数据可以作为上述样本数据等。此外,除了可以通过上述方式获取分类模型外,还可以通过其它渠道直接获取能够直接使用的分类模型,这样,就不需要在本地建立和训练分类模型。
通过上述方式得到分类模型后,可以将上述得到的目标用户的生物特征输入到该分类模型中进行计算,从而对目标用户的图像进行分类。通过分给模型的计算,可以得到相应的计算结果,可以将得到的计算结果作为目标用户的图像所属的类别(即第一类别)。其中,在对目标用户的图像进行分类的过程中,可以通过多种具体的实现方式来确定目标用户的图像所属的类别,例如,可以为不同的类别设置相应的数值范围,当分类模型对目标用户的生物特征进行计算得到相应的数值后,可以将得到的数值与不同类别的数值范围进行比对,从而确定目标用户的图像所属的第一类别,或者也可以将目标用户的生物特征和不同的类别进行向量化处理,然后,可以通过计算向量之间的距离的方式确定目标用户的图像所属的第一类别,具体可以根据实际情况选取相应的实现方式,本说明书实施例对此不做限定。
在步骤S108中,将上述第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与该第一类别相匹配的目标检索候选图像及目标检索候选图像对应的用户标识。
其中,候选图像数据库可以是预先建立的用于存储不同用户的图像的数据库,为了能够获得较好的用户识别或检索的结果,且避免出现游离数据(指包含某生物特征(如面部特征等)的图像数目较少的用户)等干扰,可以选取至少包含有预定数目的用户的图像作为候选图像数据库,其中,预定数目根据实际情况设定。候选图像数据库还可以是经过某种处理后得到的数据库,例如,初始数据库为用户的图像构成的数据库,其中的每个图像可以包括以下信息:如,{图像标识,用户标识,图像特征(或生物特征)},其中,图像标识可以是图像的名称或编码等,用户标识可以是用户的身份证号码、社会保障卡(即社保卡)号码或姓名等,图像特征或生物特征可以通过多维浮点数组表征,例如600维浮点数组或800维浮点数组等。等候选图像数据库可以是对删除初始数据库中的图像进行分类后得到的数据库,这样,候选图像数据库中的图像会包含有类别信息,如其中的每个图像可以包括以下信息:{图像标识,用户标识,类别信息}。目标检索候选图像可以是候选图像数据库中的一个或多个图像。由于候选图像数据库中的图像均为已知图像(即已知图像中的用户为哪一个用户),而目标检索候选图像是候选图像数据库中的图像,因此,目标检索候选图像也是已知图像,即目标检索候选图像对应的用户标识是已知的。
在实施中,通过上述步骤S106的处理确定目标用户的图像所属的第一类别后,可以在候选图像数据库中查找与第一类别相同或相近的类别对应的图像,可以将查找到的图像确定为目标检索候选图像,并从目标检索候选图像中提取目标检索候选图像对应的用户标识,即可以从目标检索候选图像中包含的信息{图像标识,用户标识,类别信息}中提取其中的用户标识。可以将查找到的目标检索候选图像和目标检索候选图像对应的用户标识作为匹配结果输出。
在步骤S110中,基于检索决策规则和上述匹配结果,对目标用户进行识别。
其中,检索决策规则可以用于从得到的多个检索结果中选取一个或多个检索结果,进而确定最终结果的规则。检索决策规则可以通过专家知识的方式确定,例如,某用户标识的图像的数量大于5个,同时该用户标识的图像与目标用户的图像之间的相似度数值大于预定阈值(例如80或90等),则可以确定目标用户为该用户标识对应的用户等,或者,也可以是通过某种算法(如二分类相关算法等)建立的模型等。
在实施中,服务器中可以预先存储有检索决策规则,其中,如果检索决策规则为某算法建立的模型,则可以预先通过选取的样本数据对检索决策规则进行训练,得到训练后的检索决策规则。然后,可以通过检索决策规则对上述匹配结果中的目标检索候选图像进行分析,具体分析方式可以多种多样,例如可以计算目标检索候选图像与目标用户的图像之间的相似度,和/或,统计目标检索候选图像中不同用户标识的图像的数量等。最终,通过上述分析结果,并可以结合检索决策规则确定目标用户属于目标检索候选图像中哪个用户标识对应的用户,从而得到目标用户的识别结果。此时,可以输入识别结果,该识别结果可以是用户标识,也可以是带有用户标识的目标检索候选图像等。
本说明书实施例提供一种用户的识别方法,通过获取的目标用户的图像,从目标用户的图像中提取目标用户的生物特征,然后,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别,将第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与第一类别相匹配的目标检索候选图像及用户标识,最后,基于检索决策规则和匹配结果,对目标用户进行识别,这样,首先通过分类模型确定目标用户的图像所属的类别,然后,再通过确定的类别,从候选图像数据库中检索出相应的候选图像,最后通过检索决策规则判定目标用户为检索出的候选图像中的哪一个或哪一些候选图像对应的用户,以完成对目标用户的识别,通过预定分类模型和检索决策规则的使用,简化了用户识别的过程,并且提高了对用户识别的准确率,而且,通过预定分类模型和检索决策规则可以快速完成在候选图像数据库中大量图像中的检索和对目标用户的决策,使得用户的识别被快速完成,从而提高了用户识别的效率并减少了资源消耗。
实施例二
如图3所示,本说明书实施例提供一种用户的识别方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于快速完成对用户的识别等处理中,为了提高用户的识别效率,本实施例中以执行主体为服务器为例进行说明,对于终端设备的情况,可以根据下述相关内容处理,在此不再赘述。该方法具体可以包括以下步骤:
本说明书实施例中,预定分类模型和检索决策规则分别为通过相应的算法建立的模型为例进行说明,对于其它情况下的预定分类模型和检索决策规则可以参照下述相关内容或上述实施例一中的相关内容处理,在此不再赘述。此外,在对目标用户进行识别之前,可以先建立预定分类模型和检索决策规则,具体可以参见下述步骤S302~步骤S316的处理。
在步骤S302中,获取多个用户的生物特征,该生物特征是从用户的图像中提取。
其中,生物特征可以为面部特征,相应的,用户的图像可以是用户的人脸图像等,本实施例中以面部特征为例进行详细说明,对于其它类型的生物特征,可以根据实际情况和下述相关内容处理,在此不再赘述。
在实施中,多个用户的图像(即人脸图像)可以通过多种方式获取,例如,可以通过购买或奖励的方式从不同的用户处购买其个人的包含其面部的图像,或者,用户注册某网站或应用程序时上传的其个人的包含其面部的图像,如注册支付宝时上传用户的人脸图像等,或者,用户主动上传的其个人的包含其面部的图像等。其中,具体通过何种方式获取多个用户的图像,本说明书实施例对此不做限定。
获取到多个用户的人脸图像后,可以对每个人脸图像进行分析,如进行人脸检测,以确定图像中面部的位置、大小、位姿等,然后,对于检测到的人脸的图像进行特征提取,从中提取出高维特征,其中,对人脸图像进行特征提取的方式可以包括多种,例如,通过预先训练的特征提取模型或人脸识别模型等对人脸图像进行特征提取等。可以通过上述提供的体征提取方式分别对每个人脸图像进行特征提取,得到每个人脸图像的图像特征,可以将其作为生物特征。通过上述特征提取后,可以对获取的用户的图像中包含的信息进行调整,即用户的图像中包含的信息可以为{图像标识,用户标识,图像特征(或生物特征)},其中,如前所述,图像特征或生物特征可以通过多维浮点数组表征,例如600维浮点数组或800维浮点数组等,如图4所示,可以使用上述调整后的多个用户的人脸图像构建人脸特征库。
在步骤S304中,根据k最近邻kNN算法和多个用户的生物特征,对多个用户的图像进行聚类,建立分类模型。
其中,kNN(k-NearestNeighbor)算法可以包括多种,例如局部敏感性哈希LSH(Locality Sensitive Hashing)算法、粗量化积量化算法、KD-TREE(K-Dimensional-TREE,KD树)算法和DAG算法等,具体通过哪种算法实现,可以根据实际情况确定,本说明书实施例对此不做限定。
在实施中,可以通过kNN算法针对上述构建的人脸特征库进行量化建模处理,具体地,可以对上述人脸特征库中的人脸图像的相关数据进行向量化处理,得到每个人脸图像的特征向量,然后,可以基于人脸图像的特征向量,利用kNN算法,对上述人脸特征库中的人脸图像进行聚类,可以将两图像的相似度大于预定阈值的人脸图像聚合到一起,这样,多个属于同一个用户标识的人脸图像应该可以被聚为一类,生成基于kNN算法的分类模型。
例如,可以采用粗量化积量化算法针对上述构建的人脸特征库进行量化建模处理,即基于人脸图像的特征向量,采用粗量化积量化算法对上述人脸特征库中的人脸图像进行聚类,生成粗量化中心模型和积量化码本模型,上述两个模型即可以作为分类模型。
此外,通过上述方式生成基于kNN算法的分类模型后,还可以通过其它用户图像对生成的分类模型进行验证,在验证结果达到预定要求后,可以将分类模型投入后续的使用中,如果验证结果未达到预定要求,则可以重新生成分类模型或者可以更换其它kNN算法创建分类模型等,直到验证结果达到预定要求为止。
通过上述方式建立分类模型后,可以将上述人脸特征库中的人脸图像进行分类,确定人脸特征库中的每个人脸图像的类别信息,相应的,人脸图像中包含的信息可以变为{图像标识,用户标识,类别信息},可以使用上述分类后的多个用户的人脸图像构建候选图像数据库。在实际应用中,人脸图像中的类别信息还可以采用量化ID(Identity,身份标识)表示。
在步骤S306中,根据预定分类模型和每个用户的生物特征,对每个用户的图像进行分类,得到每个用户的图像所属的第二类别。
其中,第二类别可以是预定分类模型所确定的类别中的任意类别,该类别可以是根据实际情况设置为常用的类别,还可以通过不同的标记设置的不同类别,如类别1或类别2等。
上述步骤S306的具体处理过程可以参见上述实施例一中步骤S106的相关内容,在此不再赘述。
在步骤S308中,将上述第二类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与上述第二类别相匹配的检索候选图像及该检索候选图像对应的用户标识。
其中,检索候选图像可以是候选图像数据库中的图像。
上述步骤S308的具体处理过程可以参见上述实施例一中步骤S108的相关内容,在此不再赘述。
上述步骤S308的具体处理方式,除了可以通过上述方式实现外,还可以通过其它多种方式实现,以下提供一种可选的处理方式,具体可以参见以下步骤一~步骤三的处理。
步骤一,从候选图像数据库中,获取与上述第二类别相同的候选图像。
在实施中,通过上述步骤S306的处理得到第二类别后,可以从候选图像数据库中查找类别信息为第二类别的图像,可以将查找到的图像作为候选图像。例如,{图像1,用户1,第二类别}、{图像2,用户2,第二类别}、{图像3,用户1,第二类别}、{图像4,用户3,第二类别}等。
步骤二,分别获取与第二类别相同的每个候选图像与用户的图像之间的相似度数值。
其中,相似度数值可以为欧式距离或余弦数值等。相似度数值的获取可以通过相应的相似度算法实现,例如欧式距离对应的算法或余弦数值对应的算法等。
在实施中,为了从候选图像中查找到与用户的图像相同或相似的图像,可以通过相关度算法计算候选图像中每个候选图像与用户的图像之间的相似度,得到相应的相似度数值。例如,可以将候选图像对应的向量和用户的图像对应的向量代入到欧式距离的计算公式中进行计算,得到上述两个向量之间的距离(即欧式距离),可以将得到的上述两个向量的欧式距离作为候选图像与用户的图像之间的相似度数值。
步骤三,将大于预定相似度阈值的相似度数值对应的候选图像作为检索候选图像,并获取检索候选图像对应的用户标识。
其中,相似度阈值可以根据实际情况设定,具体如80或90等。
在实施中,通过上述步骤二的处理得到每个候选图像与用户的图像之间的相似度数值后,可以将得到的相似度数值与相似度阈值进行比较(在实际应用中,可以将每个相似度数值与相似度阈值进行比较,也可以是将计算得到的相似度数值进行算数平均或几何平均,得到相似度均值,可以将该相似度均值与相似度阈值进行比较等),如果某候选图像对应的相似度数值不大于相似度阈值,则可以去除该候选图像;如果某候选图像对应的相似度数值大于相似度阈值,则可以将该候选图像选取为检索候选图像,并可以从检索候选图像的相关信息中获取检索候选图像对应的用户标识,可以将获取的检索候选图像,以及检索候选图像对应的用户标识作为上述匹配结果。
基于上述处理方式,如针对用户的人脸图像1,可以从候选图像数据库中匹配到多个检索候选图像(例如100个检索候选图像),相应的匹配结果可以通过以下数据结构呈现:{图像1,检索候选图像1,检索候选图像1对应的用户标识,检索候选图像1对应的相似度数值(如欧氏距离等)},{图像2,检索候选图像2,检索候选图像2对应的用户标识,检索候选图像2对应的相似度数值},{图像3,检索候选图像3,检索候选图像3对应的用户标识,检索候选图像3对应的相似度数值},……,{图像100,检索候选图像100,检索候选图像100对应的用户标识,检索候选图像100对应的相似度数值}。
在实际应用中,针对将大于预定相似度阈值的相似度数值对应的候选图像作为检索候选图像的处理,可以包括一种可选的处理方式,即可以将相似度数值的最小值对应的候选图像作为检索候选图像。
另外,通过上述方式获取的检索候选图像的数量可能会比较多,而且检索候选图像的分布可能会比较繁杂,因此,可以将具有相同用户标识的检索候选图像聚合在一起,这样可以将分散的检索候选图像划分到多个小组中,每个小组可以具有相同的用户标识,以方便后续可以更加方便快捷的选取黑样本数据和白样本数据。
在步骤S310中,根据检索候选图像对应的用户标识和每个用户的用户标识,从检索候选图像中确定用于训练检索规则的黑样本数据和白样本数据。
其中,检索规则可以是用于构建检索决策规则而建立的初始状态的检索决策规则,检索规则可以是基于某种算法建立的检索模型等,其中的算法可以根据实际情况选取,本说明书实施例对此不做限定。
在实施中,由于检索候选图像对应的用户标识不一定是用户的图像对应的用户标识,因此,可以比对检索候选图像对应的用户标识和每个用户的用户标识,可以将与用户的图像具有相同用户标识的检索候选图像的相关数据标记为白样本数据,将与用户的图像具有不同用户标识的检索候选图像的相关数据标记为黑样本数据。通过上述处理过程可以完成对检索候选图像的打标处理,以便后续对检索规则的训练。
在步骤S312中,基于黑样本数据和白样本数据对检索规则进行训练,得到检索决策规则。
在实施中,可以将每个黑样本数据和每个白样本数据分别输入到检索规则中进行计算,在实际应用中,检索规则中可以包括一个或多个待定参数,通过将每个黑样本数据和每个白样本数据输入到检索规则中,使得可以构成一个方程或多个方程组成的方程组,可以对构成的一个方程或方程组进行求解,得到检索规则中一个或多个待定参数对应数值。可以将得到的数值代替检索规则中的一个或多个待定参数,从而可以得到不含有待定参数的检索规则,即为检索决策规则。
在实际应用中,上述步骤S312的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:利用黑样本数据和白样本数据,通过预定的二分类相关算法对检索规则进行训练,得到检索决策规则。
其中,二分类相关算法可以包括逻辑回归算法等。
在实际应用中,通过上述处理过程,得到的检索决策规则的效果可以参见下表1所示。
表1
通过上述处理得到分类模型和检索决策规则后,可以基于分类模型和检索决策规则,对目标用户进行识别,如图4所示,具体可以参见以下步骤S314~步骤S328的处理。
在步骤S314中,获取目标用户的图像。
在步骤S316中,从目标用户的图像中提取目标用户的生物特征。
通过上述步骤S316的处理提取目标用户的生物特征后,目标用户的图像中包含的相关信息可以包括{目标用户的图像标识,目标用户的用户标识,图像特征(或生物特征)}。
在步骤S318中,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别。
其中,第一类别与上述第二类别相同,也可以与上述第二类别不同。
通过上述步骤S318的处理对目标用户的图像进行分类后,目标用户的图像中包含的相关信息可以包括{目标用户的图像标识,目标用户的用户标识,第一类别}。
在步骤S320中,从候选图像数据库中,获取与第一类别相同的候选图像。
在步骤S322中,分别获取与第一类别相同的每个候选图像与目标用户的图像之间的相似度数值。
其中,相似度数值可以为欧式距离或余弦数值。
在步骤S324中,将大于预定相似度阈值的相似度数值对应的候选图像作为目标检索候选图像,并获取目标检索候选图像对应的用户标识。
需要说明的是,在实际应用中,针对将大于预定相似度阈值的相似度数值对应的候选图像作为目标检索候选图像的处理,可以包括一种可选的处理方式,即可以将相似度数值的最小值对应的候选图像作为目标检索候选图像。
上述步骤S314~步骤S324的具体处理过程可以参见上述实施例一,以及实施例二中的上述相关内容,在此不再赘述。
在步骤S326中,根据用户标识,对目标检索候选图像进行聚合处理,得到不同用户标识对应的聚合结果。
在实施中,考虑到通过上述方式获取的目标检索候选图像的数量可能会比较多,而且目标检索候选图像的分布可能会比较繁杂,为此,可以根据目标检索候选图像对应的用户标识,对目标检索候选图像进行聚合处理,即可以将具有相同用户标识的目标检索候选图像聚合在一起,这样,可以将分散的目标检索候选图像划分到多个小组中,每个小组可以具有相同的用户标识。
在步骤S328中,基于检索决策规则和上述聚合结果,对目标用户进行识别。
在实施中,可以将上述每个小组中的目标检索候选图像的相关数据输入到检索决策规则中进行计算,得到每个小组中的每个目标检索候选图像对应的计算结果,可以基于每个小组中的每个目标检索候选图像的权重等信息,确定每个小组与目标用户之间的关联程度等信息(在实际应用中,为了使得该信息更加直观,可以通过数值的方式表征),或者,也可以计算每个小组中的每个目标检索候选图像对应的计算结果的平均值(可以是算数平均值,也可以是几何平均值等),可以将得到的平均值作为每个小组与目标用户之间的关联程度,可以将关联程度的数值的最大值对应的小组的用户标识确定为目标用户的用户标识,从而可以完成对目标用户的识别。
上述步骤S328的具体处理方式,除了可以通过上述方式实现外,还可以通过其它多种方式实现,以下提供一种可选的处理方式,即在实际应用中,在对目标检索候选图像进行聚合处理的过程中,可以产生一种或多种聚合特征,具体如,最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量等,可以基于上述一种或多种聚合特征对目标用户进行识别,具体可以参见以下步骤一和步骤二的处理。
步骤一,通过检索决策规则对不同用户标识对应的聚合特征进行评估,得到评估结果。
在实施中,可以通过检索决策规则分别对每个小组中的目标检索候选图像对应的一种或多种聚合特征进行评估,具体地,可以通过检索决策规则分别对某个小组对应的最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量等聚合特征进行评分,通过得到的评分值可以进一步确定该小组对应的用户标识是目标用户的用户标识的可信概率,然后,可以通过上述处理方式,分别得到其它小组对应的用户标识是目标用户的用户标识的可信概率,此时,可以对不同的小组建立如下的相关信息{目标用户的图像标识,小组对应的用户标识,可信概率},可以将该相关信息作为评估结果,或者,也可以将该相关信息中的可信概率作为评估结果。
步骤二,基于上述评估结果对目标用户进行识别。
在实施中,检索决策规则中可以设置有可信概率阈值,该可信概率阈值可以根据实际情况设定,具体如90%或95%等。然后,可以将每个小组对应的可信概率与上述可信概率阈值进行比较,如果某小组对应的可信概率大于可信概率阈值(如大于90%等),则可以确定该小组对应的用户标识即为目标用户的用户标识,从而完成对目标用户的识别,如果某小组对应的可信概率不大于可信概率阈值(如小于或等于90%等),则可以认为不能够将该小组对应的用户标识作为目标用户的用户标识,此时,可以再对其它小组进行判断。
本说明书实施例提供一种用户的识别方法,通过获取的目标用户的图像,从目标用户的图像中提取目标用户的生物特征,然后,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别,将第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与第一类别相匹配的目标检索候选图像及用户标识,最后,基于检索决策规则和匹配结果,对目标用户进行识别,这样,首先通过分类模型确定目标用户的图像所属的类别,然后,再通过确定的类别,从候选图像数据库中检索出相应的候选图像,最后通过检索决策规则判定目标用户为检索出的候选图像中的哪一个或哪一些候选图像对应的用户,以完成对目标用户的识别,通过预定分类模型和检索决策规则的使用,简化了用户识别的过程,并且提高了对用户识别的准确率,而且,通过预定分类模型和检索决策规则可以快速完成在候选图像数据库中大量图像中的检索和对目标用户的决策,使得用户的识别被快速完成,从而提高了用户识别的效率并减少了资源消耗。
实施例三
以上为本说明书实施例提供的用户的识别方法,基于同样的思路,本说明书实施例还提供一种用户的识别装置,如图5所示。
该用户的识别装置包括:第一图像获取模块501、特征提取模块502、第一分类模块503、第一匹配模块504和识别模块505,其中:
第一图像获取模块501,用于获取目标用户的图像;
特征提取模块502,用于从所述目标用户的图像中提取所述目标用户的生物特征;
第一分类模块503,用于根据预定分类模型和所述目标用户的生物特征,对所述目标用户的图像进行分类,得到所述目标用户的图像所属的第一类别;
第一匹配模块504,用于将所述第一类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第一类别相匹配的目标检索候选图像及用户标识;
识别模块505,用于基于检索决策规则和所述匹配结果,对所述目标用户进行识别。
本说明书实施例中,所述识别模块505,包括:
聚合单元,用于根据所述用户标识,对所述目标检索候选图像进行聚合处理,得到不同用户标识对应的聚合结果;
识别单元,用于基于检索决策规则和所述聚合结果,对所述目标用户进行识别。
本说明书实施例中,所述聚合结果包括一个或多个聚合特征,所述识别模块505,包括:
评估单元,用于通过检索决策规则对不同用户标识对应的聚合特征进行评估,得到评估结果;
所述识别单元,用于基于所述评估结果对所述目标用户进行识别。
本说明书实施例中,所述聚合特征为最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量。
本说明书实施例中,所述装置还包括:
特征获取模块,用于获取多个用户的生物特征,所述生物特征是从所述用户的图像中提取;
第二分类模块,用于根据预定分类模型和每个用户的生物特征,对每个用户的图像进行分类,得到每个用户的图像所属的第二类别;
第二匹配模块,用于将所述第二类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第二类别相匹配的检索候选图像及所述检索候选图像对应的用户标识;
样本确定模块,用于根据检索候选图像对应的用户标识和每个用户的用户标识,从所述检索候选图像中确定用于训练检索规则的黑样本数据和白样本数据;
训练模块,用于基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则。
本说明书实施例中,所述训练模块,用于利用所述黑样本数据和白样本数据,通过预定的二分类相关算法对所述检索规则进行训练,得到所述检索决策规则。
本说明书实施例中,所述装置还包括:
模型建立模块,用于根据k最近邻kNN算法和所述多个用户的生物特征,对所述多个用户的图像进行聚类,建立所述分类模型。
本说明书实施例中,所述kNN算法包括局部敏感性哈希LSH算法、粗量化积量化算法、KD-TREE算法和DAG算法。
本说明书实施例中,所述生物特征为面部特征。
本说明书实施例中,预定类别为所述第一类别或所述第二类别,目标图像为所述目标检索候选图像或所述检索候选图像,且所述目标检索候选图像属于所述第一类别,所述检索候选图像属于所述第二类别,所述装置还包括:
匹配模块,用于从所述候选图像数据库中,获取与所述预定类别相同的候选图像;分别获取每个所述候选图像与待识别用户的图像之间的相似度数值;将大于预定相似度阈值的相似度数值对应的所述候选图像作为所述目标图像,并获取所述目标图像对应的用户标识。
本说明书实施例中,所述相似度数值为欧式距离或余弦数值。
本说明书实施例提供一种用户的识别装置,通过获取的目标用户的图像,从目标用户的图像中提取目标用户的生物特征,然后,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别,将第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与第一类别相匹配的目标检索候选图像及用户标识,最后,基于检索决策规则和匹配结果,对目标用户进行识别,这样,首先通过分类模型确定目标用户的图像所属的类别,然后,再通过确定的类别,从候选图像数据库中检索出相应的候选图像,最后通过检索决策规则判定目标用户为检索出的候选图像中的哪一个或哪一些候选图像对应的用户,以完成对目标用户的识别,通过预定分类模型和检索决策规则的使用,简化了用户识别的过程,并且提高了对用户识别的准确率,而且,通过预定分类模型和检索决策规则可以快速完成在候选图像数据库中大量图像中的检索和对目标用户的决策,使得用户的识别被快速完成,从而提高了用户识别的效率并减少了资源消耗。
实施例四
以上为本说明书实施例提供的用户的识别装置,基于同样的思路,本说明书实施例还提供一种用户的识别设备,如图6所示。
所述用户的识别设备可以为上述实施例提供的服务器或终端设备。
用户的识别设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对用户的识别设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在用户的识别设备上执行存储器602中的一系列计算机可执行指令。用户的识别设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
具体在本实施例中,用户的识别设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对用户的识别设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标用户的图像;
从所述目标用户的图像中提取所述目标用户的生物特征;
根据预定分类模型和所述目标用户的生物特征,对所述目标用户的图像进行分类,得到所述目标用户的图像所属的第一类别;
将所述第一类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第一类别相匹配的目标检索候选图像及用户标识;
基于检索决策规则和所述匹配结果,对所述目标用户进行识别。
本说明书实施例中,所述基于检索决策规则和所述匹配结果,对所述目标用户进行识别,包括:
根据所述用户标识,对所述目标检索候选图像进行聚合处理,得到不同用户标识对应的聚合结果;
基于检索决策规则和所述聚合结果,对所述目标用户进行识别。
本说明书实施例中,所述聚合结果包括一个或多个聚合特征,
所述基于检索决策规则和所述聚合结果,对所述目标用户进行识别,包括:
通过检索决策规则对不同用户标识对应的聚合特征进行评估,得到评估结果;
基于所述评估结果对所述目标用户进行识别。
本说明书实施例中,所述聚合特征为最大相似度、最小相似度、相似度标准差、目标检索候选图像的数量。
本说明书实施例中,还包括:
获取多个用户的生物特征,所述生物特征是从所述用户的图像中提取;
根据预定分类模型和每个用户的生物特征,对每个用户的图像进行分类,得到每个用户的图像所属的第二类别;
将所述第二类别与候选图像数据库进行匹配,得到匹配结果,所述匹配结果包括与所述第二类别相匹配的检索候选图像及所述检索候选图像对应的用户标识;
根据检索候选图像对应的用户标识和每个用户的用户标识,从所述检索候选图像中确定用于训练检索规则的黑样本数据和白样本数据;
基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则。
本说明书实施例中,所述基于所述黑样本数据和白样本数据对所述检索规则进行训练,得到所述检索决策规则,包括:
利用所述黑样本数据和白样本数据,通过预定的二分类相关算法对所述检索规则进行训练,得到所述检索决策规则。
本说明书实施例中,所述获取多个用户的生物特征之后,还包括:
根据k最近邻kNN算法和所述多个用户的生物特征,对所述多个用户的图像进行聚类,建立所述分类模型。
本说明书实施例中,所述kNN算法包括局部敏感性哈希LSH算法、粗量化积量化算法、KD-TREE算法和DAG算法。
本说明书实施例中,所述生物特征为面部特征。
本说明书实施例中,预定类别为所述第一类别或所述第二类别,目标图像为所述目标检索候选图像或所述检索候选图像,且所述目标检索候选图像属于所述第一类别,所述检索候选图像属于所述第二类别,
将所述预定类别与候选图像数据库进行匹配,得到匹配结果,包括:
从所述候选图像数据库中,获取与所述预定类别相同的候选图像;
分别获取每个所述候选图像与待识别用户的图像之间的相似度数值;
将大于预定相似度阈值的相似度数值对应的所述候选图像作为所述目标图像,并获取所述目标图像对应的用户标识。
本说明书实施例中,所述相似度数值为欧式距离或余弦数值。
本说明书实施例提供一种用户的识别设备,通过获取的目标用户的图像,从目标用户的图像中提取目标用户的生物特征,然后,根据预定分类模型和目标用户的生物特征,对目标用户的图像进行分类,得到目标用户的图像所属的第一类别,将第一类别与候选图像数据库进行匹配,得到匹配结果,该匹配结果包括与第一类别相匹配的目标检索候选图像及用户标识,最后,基于检索决策规则和匹配结果,对目标用户进行识别,这样,首先通过分类模型确定目标用户的图像所属的类别,然后,再通过确定的类别,从候选图像数据库中检索出相应的候选图像,最后通过检索决策规则判定目标用户为检索出的候选图像中的哪一个或哪一些候选图像对应的用户,以完成对目标用户的识别,通过预定分类模型和检索决策规则的使用,简化了用户识别的过程,并且提高了对用户识别的准确率,而且,通过预定分类模型和检索决策规则可以快速完成在候选图像数据库中大量图像中的检索和对目标用户的决策,使得用户的识别被快速完成,从而提高了用户识别的效率并减少了资源消耗。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。