手势识别方法、手势控制方法、装置、介质与终端设备与流程

文档序号:20513926发布日期:2020-04-24 18:51阅读:147来源:国知局
手势识别方法、手势控制方法、装置、介质与终端设备与流程

本公开涉及计算机视觉技术领域,尤其涉及一种手势识别方法、手势控制方法、手势识别装置、手势控制装置、计算机可读存储介质与终端设备。



背景技术:

手势控制是指在不接触终端设备的情况下,利用计算机视觉、图形学等技术来识别人的操作手势,并转化为对设备的控制指令,是继鼠标、键盘和触控屏之后新的交互方式,其能够摆脱传统交互方式对于输入设备的依赖,提高交互的多样性。

手势识别是手势控制的前提。现有的手势识别方法大多基于摄像头拍摄图像中的手势定位和特征提取。随着终端设备上摄像头的像素数越来越高,图像分辨率越来越高,使得手势识别过程的数据处理量越来越高,耗时越来越长,从而影响了手势识别的实时性,导致手势控制存在一定的延迟,用户体验较差;并且上述方法对硬件的处理性能要求较高,不利于部署在移动终端等场景中。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开提供了一种手势识别方法、手势控制方法、手势识别装置、手势控制装置、计算机可读存储介质与终端设备,进而至少在一定程度上改善现有的手势识别方法数据处理量较高、耗时较长的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种手势识别方法,应用于具备摄像头的终端设备,所述方法包括:获取由所述摄像头采集的多帧原始图像;分别从所述多帧原始图像中提取人脸图像,得到多帧人脸图像;检测每帧人脸图像中的手部关键点,并根据所述手部关键点在所述多帧人脸图像中的位置变化,生成手部轨迹;对所述手部轨迹进行识别,得到手势识别结果。

根据本公开的第二方面,提供一种手势控制方法,应用于具备摄像头的终端设备,所述方法包括:当开启手势控制功能时,根据上述手势识别方法得到手势识别结果;执行所述手势识别结果对应的控制指令。

根据本公开的第三方面,提供一种手势识别装置,配置于具备摄像头的终端设备,所述装置包括:原始图像获取模块,用于获取由所述摄像头采集的多帧原始图像;人脸图像提取模块,用于分别从所述多帧原始图像中提取人脸图像,得到多帧人脸图像;手部轨迹生成模块,用于检测每帧人脸图像中的手部关键点,并根据所述手部关键点在所述多帧人脸图像中的位置变化,生成手部轨迹;手部轨迹识别模块,用于对所述手部轨迹进行识别,得到手势识别结果。

根据本公开的第四方面,提供一种手势控制装置,配置于具备摄像头的终端设备,所述装置包括:原始图像获取模块,用于当开启手势控制功能时,获取由所述摄像头采集的多帧原始图像;人脸图像提取模块,用于分别从所述多帧原始图像中提取人脸图像,得到多帧人脸图像;手部轨迹生成模块,用于检测每帧人脸图像中的手部关键点,并根据所述手部关键点在所述多帧人脸图像中的位置变化,生成手部轨迹;手部轨迹识别模块,用于对所述手部轨迹进行识别,得到手势识别结果;控制指令执行模块,用于执行所述手势识别结果对应的控制指令。

根据本公开的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述手势识别方法或手势控制方法。

根据本公开的第六方面,提供一种终端设备,包括:处理器;存储器,用于存储所述处理器的可执行指令;以及摄像头;其中,所述处理器配置为经由执行所述可执行指令来执行上述手势识别方法或手势控制方法。

本公开的技术方案具有以下有益效果:

根据上述手势识别方法、手势控制方法、手势识别装置、手势控制装置、计算机可读存储介质与终端设备,由摄像头采集多帧原始图像,分别提取人脸图像,并从每帧人脸图像中检测手部关键点,再根据手部关键点的位置变化生成手部轨迹,最后对手部轨迹进行识别,得到手势识别结果。由于用户在进行手势操作时,手部一般位于脸部的前方或附近,从原始图像中提取人脸图像以检测手部关键点,相当于对原始图像进行了裁剪,裁减掉了和手势识别无关的区域,从而降低了图像处理的数据量,使系统仅需在人脸图像中进行手势识别,减小了过程耗时,提高了手势识别的实时性,且对硬件的处理性能要求不高,有利于部署在移动终端等轻量化场景中。进一步的,基于实时性较强的手势识别,当用户做出手势操作后,可以立即执行手势识别结果对应的控制指令,从而实现快速的交互响应,改善交互延迟问题,提高用户体验,对于体感游戏等具有较高的实用性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本示例性实施方式中一种手势识别方法的流程图;

图2示出本示例性实施方式中一种手势识别方法的子流程图;

图3示出本示例性实施方式中提取手部候选区域的示意性流程图;

图4示出本示例性实施方式中手势识别的示意性流程图;

图5示出本示例性实施方式中一种手势控制方法的流程图;

图6示出本示例性实施方式中一种手势识别装置的结构框图;

图7示出本示例性实施方式中一种手势控制装置的结构框图;

图8示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;

图9示出本示例性实施方式中一种用于实现上述方法的终端设备。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

本公开的示例性实施方式提供一种手势识别方法,可以应用于具备摄像头的终端设备,如手机、平板电脑、数码相机、虚拟现实设备等。图1示出了该手势识别方法的一种流程,可以包括以下步骤s110至s140:

步骤s110,获取由摄像头采集的多帧原始图像。

手势是一个动作,需要多帧画面才能完整地记录手势。本示例性实施方式中,当手势识别功能开启时,摄像头可以采集固定帧数的原始图像,例如10帧、50帧等;或者可以通过配套的红外传感器等感应摄像头前方是否存在物体,当感应到物体时(一般默认为手部),启动摄像头采集原始图像,当感应到物体移开时,摄像头停止采集,从而得到多帧原始图像。在一种可选的实施方式中,在采集原始图像后,可以进行适当的丢帧,例如每三帧保留一帧,以减少后续的处理量,且对于手势识别影响较小,具体的丢帧率视摄像头采集原始图像的帧数而定,本公开不做限定。

步骤s120,分别从上述多帧原始图像中提取人脸图像,得到多帧人脸图像。

其中,人脸区域可以通过颜色与形状检测而识别,例如预先设定人脸部分的颜色范围和形状范围,检测原始图像中是否存在同时满足颜色范围和形状范围的局部区域,该局部区域即人脸区域。也可以采用深度学习技术,例如通过yolo(youlookonlyonce,一种实时目标检测的算法框架,包括v1、v2、v3等多个版本,本公开可以采用其中任一个版本)、ssd(singleshotmultiboxdetector,单步多框目标检测)、r-cnn(region-convolutionalneuralnetwork,区域卷积神经网络,或fastr-cnn、fasterr-cnn等改进版本)等神经网络进行人脸区域的检测。当检测到人脸区域时,可以将人脸区域用矩形框进行标注,并提取出来作为人脸图像。为了便于后续处理,可以根据预设尺寸(或分辨率)提取人脸图像或将人脸图像进行采样,使每帧人脸图像的尺寸(或分辨率)相同。

在一种可选的实施方式中,可以在终端设备上设置硬件人脸检测模块(hardwarefacedetection,hwfd),将采集的多帧原始图像输入hwfd后,输出人脸区域坐标,将坐标映射到原始图像中,可以提取出人脸图像。

在一种可选的实施方式中,在步骤s110之后,可以将所采集的多帧原始图像的分辨率调整为预设分辨率,在步骤s120中,可以对调整分辨率后的原始图像执行人脸图像的提取。预设分辨率可以根据步骤s120所采用的算法标准而定。例如:采用yolo进行人脸检测,yolo的输入层设置为640*480,则预设分辨率可以采用640*480;如果终端的摄像头为1600万像素,则其采集的原始图像分辨率为4608*3456,系统可以将原始图像进行下采样处理,得到640*480的图像,以输入yolo进行处理。通常预设分辨率低于原始图像本身的分辨率,这样相当于对原始图像进行了压缩,降低了原始图像的数据量,有利于提高处理效率。

步骤s130,检测每帧人脸图像中的手部关键点,并根据手部关键点在多帧人脸图像中的位置变化,生成手部轨迹。

其中,手部关键点的选取可以根据场景需求以及图像质量情况而定,例如可以选取21个骨骼点为手部关键点,包括每个手指4个关节特征点与手心特征点,或者也可以根据需要仅选取一部分骨骼点,例如在进行食指手势识别时,可以仅将食指的关节特征点或指尖点作为手部关键点。

在一种可选的实施方式中,手部关键点的检测可以通过形状检测而实现。例如:对人脸图像进行指尖形状检测,检测人脸图像中具有弧形的区域,并将这些区域的弧形与预设的标准指尖弧形进行匹配,匹配度较高的区域的弧形顶部即为指尖点(即手部关键点)。或者对人脸图像进行手指形状检测,将与标准手指形状较为相似的区域确定为手指区域,可以指定手指区域的圆形边界点为手部关键点。或者对人脸图像中的图形进行椭圆拟合,并将所拟合的椭圆的长轴端点作为手部关键点。

在一种可选的实施方式中,参考图2所示,可以通过以下步骤s210和s220具体实现手部关键点的检测:

步骤s210,对每帧人脸图像进行区域特征检测,以从每帧人脸图像中提取出手部候选区域;

步骤s220,在手部候选区域中检测手部关键点。

其中,区域特征检测是指从人脸图像中分割出很多局部区域,对每个局部区域的特征进行提取和识别,当检测到包含手部特征的局部区域时,将该局部区域作为手部候选区域。然后在手部候选区域中进一步检测手部关键点,可以提高手部关键点的检测精度。

进一步的,步骤s210可以具体通过以下步骤实现:

通过卷积层从人脸图像中提取特征;

通过rpn(regionproposalnetwork,区域生成网络)对所提取的特征进行处理,得到候选框;

通过分类层对候选框进行分类,得到手部候选区域;

通过回归层优化手部候选区域的位置和尺寸。

上述过程可以参考图3所示,整体上可以采用r-cnn(或fastr-cnn、fasterr-cnn)。将人脸图像输入后,首先经过卷积层进行卷积处理(通常还包括池化层的池化处理),提取出图像特征。特征进入rpn,rpn可以进行候选框的提取,一般提取候选框的数量较多,在此过程中还可以利用nms(non-maximumsuppression,非极大值抑制)算法进行候选框的优化,以得到更准确的候选框。此时提取的候选框包括各个类别,例如不仅有手部候选框,可能还有鼻子、嘴巴、眼镜等部位的候选框,将这些候选框输入分类层,可以对各个候选框进行分类,由此得到手部候选框(即手部候选区域)。分类层可以采用softmax(归一化指数)函数等,针对于人脸图像中可能存在的目标类别,分别输出概率值,概率值最高的类别为候选框的类别。可以将非手部类别的候选框删除,仅保留手部候选框。最后将手部候选区域输入回归层,回归层可以对手部候选区域的位置和尺寸进行精细调整,得到手部候选区域的坐标数组(x,y,w,h),其中x和y表示手部候选区域的位置坐标(通常是左上角点的坐标),w和h表示手部候选区域的宽和高。

上述r-cnn可以通过大量的人脸图像样本训练得到。将r-cnn设置为图3所示的结构,包括基础网络、卷积层(和池化层)、rpn、分类层、回归层,通过人为在图像中标注手部候选区域得到标签,以图像样本和标签进行训练,更新网络参数,得到可用的r-cnn。

需要说明的是,图2的方法可以对每帧人脸图像使用,在每一帧都检测手部关键点。但是考虑到部分帧可能不存在手部,或者图像质量较差,导致无法检测到手部,在一种可选的实施方式中,如果从当前帧人脸图像中提取的手部候选区域为空值,则以上一帧检测的手部关键点作为当前帧的手部关键点。其中,手部候选区域为空值即检测不到手部的情况,此时可以直接将上一帧的手部关键点复制到当前帧。这样可以提高算法的鲁棒性。

需要补充的是,如果手部候选区域为空值的帧数达到预设阈值,说明检测不到手部的帧数较多,则可以清空之前检测到的数据,重新检测,或者输出手势识别不成功的结果,在用户界面中显示相应信息,如“手势识别失败,请重新做出手势”。

在手部候选区域中检测手部关键点也可以通过r-cnn等模型实现,将手部关键点作为待检测的目标,通过图像特征的提取与处理,可以输出目标所在的区域,从而标记出手部关键点。

通过在每帧人脸图像中确定手部关键点的位置,将该位置在不同帧之间的变化形成手部轨迹,手部轨迹可以是数组、向量或图片等形式,本公开对此不做限定。

步骤s140,对手部轨迹进行识别,得到手势识别结果。

手部轨迹反映了用户的手势操作动作,因而对其进行识别,可以识别出用户所做的手势,得到手势识别结果。

在一种可选的实施方式中,可以将步骤s130中生成的手部轨迹与预设的标准轨迹进行匹配,标准轨迹可以包括左右摇手、左右摇手指、上下滑动手指、张开手部等。如果存在某一标准轨迹和手部轨迹的匹配率达到一定的阈值,则判断手部轨迹为该标准轨迹,输出该标准轨迹所代表的手势作为手部轨迹的手势识别结果。

在一种可选的实施方式中,步骤s140可以具体通过以下步骤实现:

将手部轨迹映射到位图中,得到手部轨迹位图;

通过贝叶斯分类器对手部轨迹位图进行处理,得到手势识别结果。

其中,位图的尺寸可以预先设定,也可以和人脸图像或手部候选区域的尺寸相同。手部轨迹为手部关键点的位置变化,将每帧的位置映射到位图中,并按顺序连接,相当于在位图中表示手部轨迹,将该位图称为手部轨迹位图。

贝叶斯分类器是基于已知的概率和误判损失来选择最优类别,使分类的风险最小化。参考以下公式:

h表示贝叶斯分类器,x是样本,λij是指将cj误分为ci时产生的损失,p(cj|x)是误分类时产生的期望损失,n是样本的个数。将手部轨迹位图输入贝叶斯分类器,可以输出手势识别结果。

图4示出了手势识别方法的一种示意性流程。如图所示,摄像头采集原始图像后,可以按照预设分辨率进行分辨率调整,以缩小图像;然后通过hwfd从调整分辨率后的原始图像中提取人脸图像,使得后续处理集中在原始图像的局部区域中;再从人脸图像中检测并提取手部候选区域,以进一步缩小图像范围;从手部候选区域检测手部关键点,并根据不同帧之间手部关键点的位置变化确定手部轨迹,以映射为手部轨迹位图;将手部轨迹位图输入贝叶斯分类器,通过贝叶斯分类器的处理,输出手势识别结果。

在一种可选的实施方式中,上述终端设备可以包括多个摄像头。在得到手势识别结果后,可以根据手势识别结果在上述多个摄像头之间进行切换。例如手势识别结果为左右摇动手指时,触发终端设备切换到主摄像头,手势识别结果为上下滑动手指时,触发终端设备切换到长焦摄像头等等。这样用户在相距终端设备一定距离的情况下,可以面对摄像头通过手势进行操作,较为方便。

在本示例性实施方式的手势识别方法中,由摄像头采集多帧原始图像,分别提取人脸图像,并从每帧人脸图像中检测手部关键点,再根据手部关键点的位置变化生成手部轨迹,最后对手部轨迹进行识别,得到手势识别结果。由于用户在进行手势操作时,手部一般位于脸部的前方或附近,从原始图像中提取人脸图像以检测手部关键点,相当于对原始图像进行了裁剪,裁减掉了和手势识别无关的区域,从而降低了图像处理的数据量,使系统仅需在人脸图像中进行手势识别,减小了过程耗时,提高了手势识别的实时性,且对硬件的处理性能要求不高,有利于部署在移动终端等轻量化场景中。

本公开的示例性实施方式还提供一种手势控制方法,可以应用于具备摄像头的终端设备。该手势控制方法可以包括:

当开启手势控制功能时,根据本示例性实施方式中的手势识别方法得到手势识别结果;

执行手势识别结果对应的控制指令。

其中,开启手势控制功能包括但不限于:启动具有手势控制功能的游戏程序时,终端自动开启手势控制功能;在拍照或浏览网页等界面中,用户选择开启手势控制功能。程序中可以预先设置手势和控制指令的对应关系,例如挥动手掌对应于截屏指令,向下滑动手指对应于翻页指令等,则在识别出用户的手势时,可以根据手势识别结果快速找到并执行对应的控制指令。特别的,在拍照界面中,可以允许用户通过特定手势控制进行拍照,例如用户做出竖大拇指手势时,触发终端设备自动按下拍照快门键;或者当终端设备配置多个摄像头时,允许用户通过特定手势控制摄像头切换,例如用户摇动手指时,触发终端设备在主摄像头、长焦摄像头、广角摄像头之间切换,从而为用户拍照操作提供便利。

图5示出了手势控制方法的一种流程,可以包括以下步骤s510至s550:

步骤s510,当开启手势控制功能时,获取由摄像头采集的多帧原始图像;

步骤s520,分别从上述多帧原始图像中提取人脸图像,得到多帧人脸图像;

步骤s530,检测每帧人脸图像中的手部关键点,并根据手部关键点在多帧人脸图像中的位置变化,生成手部轨迹;

步骤s540,对手部轨迹进行识别,得到手势识别结果;

步骤s550,执行手势识别结果对应的控制指令。

在本示例性实施方式的手势控制方法中,基于实时性较强的手势识别,当用户做出手势操作后,可以立即执行手势识别结果对应的控制指令,从而实现快速的交互响应,改善交互延迟问题,提高用户体验,对于体感游戏等具有较高的实用性。

本公开的示例性实施方式还提供一种手势识别装置,可以配置于具备摄像头的终端设备。如图6所示,该手势识别装置600可以包括:

原始图像获取模块610,用于获取由摄像头采集的多帧原始图像;

人脸图像提取模块620,用于分别从上述多帧原始图像中提取人脸图像,得到多帧人脸图像;

手部轨迹生成模块630,用于检测每帧人脸图像中的手部关键点,并根据手部关键点在多帧人脸图像中的位置变化,生成手部轨迹;

手部轨迹识别模块640,用于对手部轨迹进行识别,得到手势识别结果。

在一种可选的实施方式中,原始图像获取模块610,还可以用于在获取由摄像头采集的多帧原始图像后,将多帧原始图像的分辨率调整为预设分辨率。

在一种可选的实施方式中,手部轨迹生成模块630,可以用于对每帧人脸图像进行区域特征检测,以从每帧人脸图像中提取出手部候选区域,以及在手部候选区域中检测手部关键点。

在一种可选的实施方式中,手部轨迹生成模块630,还可以用于如果从当前帧人脸图像中提取的手部候选区域为空值,则以上一帧检测的手部关键点作为当前帧的手部关键点。

在一种可选的实施方式中,手部轨迹生成模块630,可以通过执行以下步骤以提取手部候选区域:通过卷积层从人脸图像中提取特征;通过区域生成网络对所提取的特征进行处理,得到候选框;通过分类层对候选框进行分类,得到手部候选区域;通过回归层优化手部候选区域的位置和尺寸。

在一种可选的实施方式中,手部轨迹识别模块640,可以用于将手部轨迹映射到位图中,得到手部轨迹位图,以及通过贝叶斯分类器对手部轨迹位图进行处理,得到手势识别结果。

在一种可选的实施方式中,上述终端设备包括多个摄像头;手部轨迹识别模块640,还用于在得到手势识别结果后,根据手势识别结果在上述多个摄像头之间进行切换。

本公开的示例性实施方式还提供一种手势控制方法,可以配置于具备摄像头的终端设备。如图7所示,该手势控制装置700可以包括:

原始图像获取模块710,用于当开启手势控制功能时,获取由摄像头采集的多帧原始图像;

人脸图像提取模块720,用于分别从上述多帧原始图像中提取人脸图像,得到多帧人脸图像;

手部轨迹生成模块730,用于检测每帧人脸图像中的手部关键点,并根据手部关键点在多帧人脸图像中的位置变化,生成手部轨迹;

手部轨迹识别模块740,用于对手部轨迹进行识别,得到手势识别结果;

控制指令执行模块750,用于执行手势识别结果对应的控制指令。

在一种可选的实施方式中,上述控制指令可以包括摄像头切换指令。

在一种可选的实施方式中,原始图像获取模块710,还可以用于在获取由摄像头采集的多帧原始图像后,将多帧原始图像的分辨率调整为预设分辨率。

在一种可选的实施方式中,手部轨迹生成模块730,可以用于对每帧人脸图像进行区域特征检测,以从每帧人脸图像中提取出手部候选区域,以及在手部候选区域中检测手部关键点。

在一种可选的实施方式中,手部轨迹生成模块730,还可以用于如果从当前帧人脸图像中提取的手部候选区域为空值,则以上一帧检测的手部关键点作为当前帧的手部关键点。

在一种可选的实施方式中,手部轨迹生成模块730,可以通过执行以下步骤以提取手部候选区域:通过卷积层从人脸图像中提取特征;通过区域生成网络对所提取的特征进行处理,得到候选框;通过分类层对候选框进行分类,得到手部候选区域;通过回归层优化手部候选区域的位置和尺寸。

在一种可选的实施方式中,手部轨迹识别模块740,可以用于将手部轨迹映射到位图中,得到手部轨迹位图,以及通过贝叶斯分类器对手部轨迹位图进行处理,得到手势识别结果。

上述手势识别装置和手势控制装置中,各模块的具体细节已经分别在手势识别方法和手势控制方法部分的实施方式中详细说明,未披露的细节内容可以参见方法部分的实施方式相关内容,因而不再赘述。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。

参考图8所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本公开的示例性实施方式还提供了一种能够实现上述方法的终端设备,该终端设备可以是手机、平板电脑、数码相机等。下面参照图9来描述根据本公开的这种示例性实施方式的终端设备900。图9显示的终端设备900仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。

如图9所示,终端设备900可以以通用计算设备的形式表现。终端设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940和图像采集单元970,图像采集单元970包括至少一个摄像头。

存储单元920存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元910可以执行图1、图2或图5所示的方法步骤。

存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(rom)923。

存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

终端设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该终端设备900交互的设备通信,和/或与使得该终端设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口950进行。并且,终端设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与终端设备900的其它模块通信。应当明白,尽管图中未示出,可以结合终端设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。

此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1