发明内容
本说明书一个或多个实施例提供一种基于隐私保护的人脸识别交互方法、装置、设备以及存储介质,用以解决如下技术问题:需要隐私性更好的人脸识别交互方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互方法,包括:
采集用户的人脸图像;
确定所述人脸图像中的人脸关键点;
根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互装置,包括:
采集模块,采集用户的人脸图像;
人脸关键点确定模块,确定所述人脸图像中的人脸关键点;
人脸关键区域确定模块,根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
隐私保护模块,针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
展示模块,向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
采集用户的人脸图像;
确定所述人脸图像中的人脸关键点;
根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
采集用户的人脸图像;
确定所述人脸图像中的人脸关键点;
根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:通过识别出用户人脸中的部分关键区域,并对关键区域之外的其他全部区域进行隐私保护,很好地避免了用户进行人脸识别时所处环境暴露,也很好地避免了用户的整个人脸完全暴露,不仅如此,由于用户仍然能够清晰地看到自己的人脸关键区域,能辨认出自己而不会感觉违和,因此,对于用户自身更有安心感和舒适感,也便于用户配合人脸识别过程的完成,兼顾了隐私性和用户实际体验。
具体实施方式
本说明书实施例提供一种基于隐私保护的人脸识别交互方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互方法的流程示意图。该方法可以应用于不同的业务领域,比如,身份认证领域、互联网金融业务领域、电商业务领域、即时通讯业务领域、游戏业务领域、公务业务领域等。该流程可以由相应领域的计算设备(比如,支付业务对应的智能客服服务器或者智能移动终端等)执行,流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
图1中的流程可以包括以下步骤:
S102:采集用户的人脸图像。
用户在进行身份认证等业务时,主动发起人脸识别请求,或同意系统发出的人脸识别请求,客户端可以通过操作系统调用启动摄像头,当摄像头在初始化并完成参数设置后,开始检测人脸,采集用户的人脸图像。
具体地,若检测过程中,用户当前所在的附近环境还存在有其他人,则摄像头的视野中可能会识别到多个人脸区域,各人脸区域分别属于不同的人。由于是用户发起的人脸识别,因此该用户会有意识的靠近摄像头。基于此,在视野中识别最显著的人脸区域(通常是该用户的整张人脸),作为用户的人脸图像。最显著可以指代在摄像头视野中面积占比最大的人脸区域。其中,可以通过Dlib算法等相关算法进行人脸检测,确定最显著的人脸区域。
进一步地,还可以对最显著的该人脸区域的清晰度、采集范围等进行质量检测。比如,通过预先训练的质量模型进行质量分预测,若是质量分小于预设阈值,则可以提示用户通过调整摄像头角度、人脸与摄像头之间的距离、环境光照程度等来改善质量分。若是大于预设阈值,则认为该人脸区域所在的图像为质量合格的人脸图像。
S104:确定所述人脸图像中的人脸关键点。
人脸关键点指的是预先在人脸图像中定位出的一些具有特殊语义信息的位置点,比如,鼻尖、眉毛、嘴角、眼角等,常用的关键点个数包括5点、68点、106点等,当然,也可以根据实际需求进行相应关键点的标注。
S106:根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域。
若确定的关键点数量较少,则可以将关键点所在位置附近的区域作为人脸关键区域,此时所确定出的人脸关键区域精度较差,但是其所占用的处理资源较少。若确定的关键点数量较多,则可以将临近的关键点进行连线,将连线所组成的区域作为人脸关键区域,此时所确定出的人脸关键区域精度较高,但是其所占用的处理资源较多,在此可以根据实际需求进行选择。
需要说明的是,人脸关键区域指的是一个完整的人脸区域中的部分区域,比如,至少部分五官区域、用户脸上比较独特的区域(比如,某痣、胎记、斑点、胡须、伤疤等所在区域),上述实施例中的最显著的人脸区域指的是采集到的人脸图像的多个人脸区域中最显著的人脸区域,人脸关键区域就是从最显著的人脸区域中提取得到的。
在本说明书一个或多个实施例中,预先根据训练样本,生成具有普适参考性的标准人脸图像(可以按照不同人种、不同国家、不同肤色生成对应的标准人脸图像),然后将当前用户的人脸图像与对应的标准人脸图像进行比对,比对过程中为了提高效率,可以根据人脸确定的关键点进行比对,将区别最大的部分区域(比如,眼睛区域、人中区域、比如某个痣或者胎记所在区域等)作为人脸关键区域,这部分区域有助于帮助用户迅速察觉到个性化差别,能够确定这是自己的人脸,从而心理上产生安心感和可靠感。
S108:针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理。
在采集到的人脸图像中,主要包括两个部分:背景区域和人脸区域。对于用户来说,背景区域中有可能会存在有一些因素,容易暴露用户的隐私,比如,当用户在家中时,背景区域中可能会包括家具、衣物、装饰品等容易暴露用户家庭环境隐私的物品,而当用户在户外时,背景区域中可能会包括地理标志、所处环境等容易暴露用户所在位置隐私的标识。除了背景区域外,人脸区域当然也会暴露用户的面部隐私。
传统的人脸识别过程中,不进行隐私保护,容易使用户隐私泄露。图2a和图2b分别为本说明书一个或多个实施例提供的,一种应用场景下的两种隐私保护方案的示意图。第一种如图2a所示,将人脸全部隐藏在雾化的界面后,只能略微看到大概轮廓,虽然增加了隐私保护,但是对用户反馈的刷脸信息非常少,使得安全感和交互体验变差。第二种如图2b所示,将采集到的人脸图像,以圆形或者其他的形状,缩小在交互界面上展示的区域,只显示圆形内部的区域,此时,只将部分背景区域进行了隐私保护,仍有部分靠近人脸的背景区域未进行隐私保护,而且并未对人脸进行隐私保护,其隐私保护的效果较为有限。
基于此,对提出的这两种隐私保护方法进行进一步地改进,针对人脸图像中已经提取出了人脸关键区域,在此可以将人脸区域中除了关键区域之外的区域称作非关键区域,只针对非关键区域进行隐私保护,能够在保证用户交互体验的同时,对用户隐私进行有效保护。非关键区域包括两部分,分别是全部的背景区域和人脸区域中除了人脸关键区域之外的其他区域,在这样的处理下,背景区域与人脸非关键区域融为一体,不仅很协调也提高了隐私性,而且又突出了人脸关键区域,由于用户很熟悉自己的脸,因此对于用户本人很容易反应过来,能够脑补完整人脸,而对于其他人,由于人脸区域缺失,认知的准确会受到影响,更何况连可以参考的清晰背景也没有。
对非关键区域的隐私保护可以包括多种形式,比如,可以对非关键区域进行模糊处理、通过别的色块或图像进行遮盖处理等,以此起到对用户的隐私保护。
S110:向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
在本说明书一个或多个实施例中,对非关键区域进行隐私保护处理时,采用图像模糊处理的方式进行隐私处理,既能够起到隐私保护的效果,也可能向用户展示一个大概轮廓,保证了用户的交互体验。
具体地,根据人脸图像生成对应的掩码图,在该掩码图中,人脸关键区域和非关键区域具有不同的掩码。根据掩码图,即可通过预定的模糊处理算法,对人脸图像进行图像模糊处理。
图3为本说明书一个或多个实施例提供的,一种应用场景下的图像模糊处理的示意图,在此以图3所示的图像模糊处理方案进行举例说明。对原始的人脸图像进行关键点定位,得到68个关键点。然后对关键点进行筛选,将下巴以及其他不需要的关键点去除。然后根据剩余的关键点确定人脸关键区域,并生成对应的掩码图。在该掩码图中,人脸关键区域所在的位置的值为1,剩下的非关键区域的值为0。基于该掩码图以及原始的人脸图像,将掩码图中值为0的区域通过高斯滤波算法进行模糊处理,值为1的区域不进行处理,即可完成对人脸图像中人脸关键区域之外的非关键区域的隐私保护。其中,可以用如下的高斯滤波算法进行模糊处理:
该式用于生成二维高斯核,将该核算子以卷积形式作用于原人脸图像,即可得到滤波后的模糊图像。
在向用户展示隐私保护处理后的区域的过程中,用户有可能会根据人脸识别过程中的指示,或者由于其他原因,人脸的位置、角度等产生了相应的变化。此时,掩码图可以是固定不动的,虽然对于隐私保护的效果较差,但是能够节约计算资源。或者,掩码图随着用户人脸区域在摄像头视野中的变化而实时变化,向用户展示的画面也会随之变化,能够提高隐私保护的效果。
在本说明书一个或多个实施例中,针对不同的系统或场景,可能需要用户在人脸识别过程中,面部的五官执行一些动作,比如,提示用户进行眨眼睛、张嘴、微笑等。若是检测到针对用户的五官动作指令下发时,可以根据该指令对需要图像模糊处理的区域进行动态调整。在此需要说明的是,五官动作指令指的仅是针对五官的相关指令,其他的比如转头、远离摄像头等,并不属于该指令。
具体地,检测到五官动作指令下发时,根据该指令动态地调整相应的掩码图,来调整需要进行图像模糊处理的区域,使得在下发了该指令后,用户还未执行之前的等待执行阶段内,仅保留该指令对应的五官区域不进行图像模糊处理,即使剩余的区域中包含有人脸关键区域,也要进行图像模糊处理。由此可以增加用户对于五官动作指令对应的该区域的关注度,方便用户快速地理解指令,熟悉了之后甚至于可以不用听指令,直接看清晰区域的变化就知道应该做怎样的动作,从而使得人机交互过程更加顺畅,并且由于用户的关注度主要在该区域,即使将其他区域全部进行图像模糊处理,对用户的交互体验也不会产生太大影响,还能够进一步地增加对于用户隐私保护的程度。比如,五官动作指令为“请眨眼”,则在掩码图中,将人脸关键区域动态调整为只包含眼睛所在的区域,根据该掩码图,在等待执行阶段将眼睛区域之外的区域全部进行图像模糊处理。
在等待执行阶段之后,用户根据五官动作指令执行相关动作的操作阶段,可以仍然保持该动态调整后的图像模糊处理区域,或者调整至动态调整前的图像模糊处理区域,在此不做限定。类似地,在用户执行完该指令之后,执行下一个指令之前,图像模糊处理区域可以保持动态调整之后的区域,也可以回归至动态调整之前的区域。
在本说明书一个或多个实施例中,系统还可能会向用户发送一些指令,使得用户在执行该指令的过程中视线产生偏移,在此将该指令称作视线偏移指令。视线偏移指令中包括两部分,一部分是不属于五官动作指令的指令,比如,转头、抬头等,此时即可根据该视线偏移指令进行相应处理。视线偏移指令中还包括一部分指令,该部分指令同时属于五官动作指令,比如,闭眼、转动眼球等,此时可以设置两者之间的优先级,比如,将视线偏移指令的优先级设置的高于五官动作指令的优先级,碰到该部分的指令后,优先按照视线偏移指令的处理方式进行处理。
具体地,在检测到向用户下发视线偏移指令时,与五官动作指令时的处理方式类似地,对掩码图进行动态调整,在视线偏移指令的等待执行阶段,将需要进行图像模糊处理的区域扩大至全部区域。由于用户在执行视线偏移指令的过程中,视线会产生偏移,不再注视着摄像头以及终端。此时,将图像模糊处理的区域扩大至全部区域,不仅不会对用户的交互体验产生影响(因为用户此时通常不会看屏幕),而且还可以进一步地增加隐私保护的程度,尤其适用于针对实时在场的旁人,提高人脸识别的隐私性。比如,当视线偏移指令为让用户向左转头时,在用户右方如果还存在其他人,则很容易窥探到用户的人脸图像。此时,通过更改动态调整掩码,将图像模糊处理的区域扩大至全部区域,能够更加有效地对用户的隐私进行保护。
在本说明书一个或多个实施例中,还需要说明的是,对于五官动作指令和视线偏移指令所进行的相应处理中,通过动态调整掩码图,将需要进行图像模糊处理的区域进行调整,这一处理过程,也可以不采用模糊处理的方式,而是通过其他的方式(比如直接覆盖),动态地调整需要进行隐私保护的区域。
在本说明书一个或多个实施例中,考虑在非关键区域中,背景区域相比与人脸关键区域以外的人脸区域,其存在更多的外部因素,更容易暴露用户的隐私。基于此,在生成的掩码图中,对于非关键区域中的这两个部分(背景区域、人脸关键区域以外的人脸区域),其具有不同的掩码。在根据掩码图进行图像模糊处理的过程中,对这两个部分进行不同程度的图像模糊处理,而且背景区域的图像模糊处理程度要高于人脸关键区域以外的人脸区域的图像模糊处理程度。其中,图像越模糊,能够识别出的信息越少,表示图像模糊处理的程度越高。
相比于对这两个部分采用同样程度的图像模糊处理,能够更加灵活地对用户隐私的保护程度进行调整。若是认为当前隐私保护程度不足,可以在保持人脸关键区域以外的人脸区域的图像模糊处理程度不变的情况下,增加对于背景区域的图像模糊处理程度,能够在保持用户交互体验不降低(没有增加人脸关键区域以外的人脸区域的图像模糊处理程度)的前提下,增加隐私保护程度。若是认为当前用户的交互体验太差,可以在保证背景区域的图像模糊处理程度不变的前提下,减少对于人脸关键区域以外的人脸区域的图像模糊处理程度,能够在不降低对用户的隐私保护(没有降低背景区域的图像模糊处理程度)的前提下,增加用户的交互体验。
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图4、图5所示。
图4为本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互装置的结构示意图,所述装置包括:
采集模块402,采集用户的人脸图像;
人脸关键点确定模块404,确定所述人脸图像中的人脸关键点;
人脸关键区域确定模块406,根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
隐私保护模块408,针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
展示模块410,向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
可选地,所述采集模块402,响应于用户的操作,启动摄像头检测人脸;
通过所述检测,确定所述摄像头的视野中最显著的人脸区域;
通过对所述最显著的人脸区域进行质量预测,获得所述用户的质量合格的人脸图像,其中,所述人脸关键区域是从所述最显著的人脸区域中确定的。
可选地,人脸关键区域确定模块406,获取生成的标准人脸图像;
根据所述人脸关键点,将所述用户的人脸图像与所述标准人脸图像进行比对,将比对出的区别最大的至少部分区域作为人脸关键区域。
可选地,所述隐私保护模块408,针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行图像模糊处理。
可选地,所述隐私保护模块408,根据所述人脸图像生成对应的掩码图,在所述掩码图中需要进行图像模糊处理的区域与剩余区域具有不同的掩码;
根据所述掩码图,通过预定的模糊处理算法,对所述人脸图像进行图像模糊处理。
可选地,所述模糊处理算法包括高斯滤波算法。
可选地,所述人脸关键区域属于人脸五官区域;
所述装置还包括:
第一动态调整模块412,当检测到针对用户的五官动作指令下发时,通过根据所述五官动作指令动态调整所述掩码图,以将所述需要进行图像模糊处理的区域动态调整;
通过所述动态调整,在所述五官动作指令的等待执行阶段,仅保留所述五官动作指令对应的五官区域不进行图像模糊处理。
可选地,还包括:
第二动态调整模块414,当检测到针对用户的视线偏移指令下发时,通过动态调整所述掩码图,以将所述需要进行图像模糊处理的区域动态调整;
通过所述动态调整,在所述视线偏移指令的等待执行阶段,将所述需要进行图像模糊处理的区域扩大至全部区域。
可选地,所述隐私保护模块408,在所述掩码图中,所述背景区域以及所述人脸关键区域以外的人脸区域具有不同的掩码;
对所述背景区域以及所述人脸关键区域以外的人脸区域进行不同程度的图像模糊处理,所述背景区域对应的图像模糊处理程度高于所述人脸关键区域以外的人脸区域对应的图像模糊处理程度。
图5为本说明书一个或多个实施例提供的一种基于隐私保护的人脸识别交互设备的结构示意图,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
采集用户的人脸图像;
确定所述人脸图像中的人脸关键点;
根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
基于同样的思路,本说明书一个或多个实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
采集用户的人脸图像;
确定所述人脸图像中的人脸关键点;
根据所述人脸关键点,在所述人脸图像的人脸区域中确定部分区域,作为人脸关键区域;
针对所述人脸图像中的背景区域,以及所述人脸关键区域以外的人脸区域进行隐私保护处理;
向所述用户展示所述人脸关键区域,以及所述隐私保护处理后的区域,以便完成对所述用户的人脸识别过程。
在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)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、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),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。