一种眨眼检测方法和装置与流程

文档序号:16427433发布日期:2018-12-28 19:53阅读:213来源:国知局
一种眨眼检测方法和装置与流程
本申请涉及互联网
技术领域
,尤其涉及一种眨眼检测方法和装置。
背景技术
由于眼部动作包含了丰富的情感和生理信息,因此,可以通过眨眼动作来代替传统的按键操作,直接进行人与程序的交互操作,可以显著提升用户体验。目前,可以在穿戴式设备(如智能眼镜等)中植入传感器,使得穿戴式设备可以检测到眼电波形信号,并基于眼电波形信号的幅度变化与眨眼类型的对应关系,来判断当前是否产生眨眼动作,其检测结果准确,检测效率较高。但是,上述实现方式需要使用穿戴式设备才能够实现眨眼检测,而对于使用终端设备(如移动终端、pc等)的用户来说,当用户未使用穿戴式设备时,就无法检测到该用户是否产生眨眼动作,即上述穿戴式设备的应用场景有限。例如,用户通过移动终端玩游戏时,就无法通过眨眼动作来控制游戏操作。技术实现要素:本申请提供一种眨眼检测方法,应用于终端设备,所述方法包括:采集多帧检测图像;获取检测图像的眼睛特征向量;将多帧检测图像的眼睛特征向量组成第一特征向量集合;通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;所述映射关系为第二特征向量集合与眨眼状态的映射关系。本申请提供一种眨眼检测方法,应用于终端设备,所述方法包括:采集多帧检测图像;获取检测图像的眼睛特征向量;将多帧检测图像的眼睛特征向量组成第一特征向量集合;通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;所述映射关系为第二特征向量集合与眨眼状态的映射关系;从命令集合中查询到与所述眨眼状态对应的操作命令;其中,所述命令集合用于记录眨眼状态与操作命令的对应关系;执行查询到的操作命令。本申请提供一种眨眼检测方法,应用于终端设备,所述方法包括:采集多帧检测图像;获取检测图像的眼睛特征向量;将多帧检测图像的眼睛特征向量组成第一特征向量集合;通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;所述映射关系为第二特征向量集合与眨眼状态的映射关系;在所述眨眼状态为眨眼时,模拟用户或者鼠标的点击操作。本申请提供一种眨眼检测方法,应用于服务端,所述方法包括:采集多帧样本图像;获取样本图像的眼睛特征向量;将多帧样本图像的眼睛特征向量组成第二特征向量集合;生成所述第二特征向量集合与多帧样本图像对应的眨眼状态的映射关系;通过通知消息将所述第二特征向量集合与所述眨眼状态的映射关系发送给终端设备,以使所述终端设备根据所述映射关系检测用户的眨眼状态。本申请提供一种眨眼检测装置,应用于终端设备,所述装置包括:采集模块,用于采集多帧检测图像;获取模块,用于获取检测图像的眼睛特征向量;组合模块,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系。本申请提供一种眨眼检测装置,应用于终端设备,所述装置包括:采集模块,用于采集多帧检测图像;获取模块,用于获取检测图像的眼睛特征向量;组合模块,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系;查询模块,用于从命令集合中查询到与所述眨眼状态对应的操作命令;其中,所述命令集合用于记录眨眼状态与操作命令的对应关系;处理模块,用于执行查询到的操作命令。本申请提供一种眨眼检测装置,应用于终端设备,所述装置包括:采集模块,用于采集多帧检测图像;获取模块,用于获取检测图像的眼睛特征向量;组合模块,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系;处理模块,用于在所述眨眼状态为眨眼时,模拟用户或者鼠标的点击操作。本申请提供一种眨眼检测装置,应用于服务端,所述装置包括:采集模块,用于采集多帧样本图像;获取模块,用于获取样本图像的眼睛特征向量;组合模块,用于将多帧样本图像的眼睛特征向量组成第二特征向量集合;生成模块,用于生成所述第二特征向量集合与多帧样本图像对应的眨眼状态的映射关系;发送模块,用于通过通知消息将所述第二特征向量集合与所述眨眼状态的映射关系发送给终端设备,以使终端设备根据所述映射关系检测用户眨眼状态。基于上述技术方案,本申请实施例中,针对用户未使用穿戴式设备的应用场景,可以通过终端设备直接检测到用户是否产生眨眼动作,在用户操作终端设备上的应用程序时,就可以基于眨眼动作来控制应用程序的操作。而且,眨眼动作检测的准确率较高、可靠性较高、计算开销小,占用终端设备的资源少。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。图1是本申请一种实施方式中的眨眼检测方法的流程图;图2是本申请另一种实施方式中的眨眼检测方法的流程图;图3是本申请另一种实施方式中的眨眼检测方法的流程图;图4是本申请另一种实施方式中的眨眼检测方法的流程图;图5a-图5c是本申请另一种实施方式中的眨眼检测方法的流程图;图6是本申请一种实施方式中的终端设备的硬件结构图;图7是本申请一种实施方式中的眨眼检测装置的结构图;图8是本申请另一种实施方式中的眨眼检测装置的结构图;图9是本申请另一种实施方式中的眨眼检测装置的结构图;图10是本申请一种实施方式中的服务端的硬件结构图;图11是本申请一种实施方式中的眨眼检测装置的结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。本申请实施例提出一种眨眼检测方法,该方法用于检测用户的眨眼状态(如眨眼或者未眨眼),继而根据眨眼状态控制终端设备上的应用程序的操作。为了实现眨眼状态的检测,涉及到训练阶段和检测阶段。在训练阶段,可以生成第二特征向量集合与眨眼状态的映射关系,而在检测阶段,可以基于第一特征向量集合查询该映射关系,继而得到与该第一特征向量集合对应的眨眼状态。而且,在本申请实施例中,可以将训练阶段得到的特征向量集合称为第二特征向量集合,并将检测阶段得到的特征向量集合称为第一特征向量集合,第一特征向量集合和第二特征向量集合只是为了区分方便给出的示例,对此不做限制。以下对训练阶段的处理过程以及检测阶段的处理过程进行详细说明。针对训练阶段,在一个例子中,可以由终端设备执行训练过程,此方式对终端设备的性能要求较高,而且,每个支持眨眼检测的终端设备都会执行训练过程。在另一个例子中,可以由服务端执行训练过程,并将训练过程生成的映射关系发送给每个支持眨眼检测的终端设备,这样,每个终端设备不用单独执行训练过程,只需要服务器执行训练过程即可,从而减轻终端设备的处理压力。参见图1所示,为本申请实施例中的针对训练阶段的眨眼检测方法的流程图,在此实施例中,以终端设备执行训练过程为例,该方法可以包括:步骤101,终端设备采集多帧样本图像。其中,该样本图像是指标记有眨眼状态的视频图像。例如,用户a做一个眨眼动作,终端设备可以采集用户a的连续多帧视频图像,这些视频图像的眨眼状态就是眨眼,且将标记有眨眼的视频图像作为样本图像。又例如,用户a不做眨眼动作,终端设备可以采集用户a的连续多帧视频图像,这些视频图像的眨眼状态就是未眨眼,且将标记有未眨眼的视频图像作为样本图像。其中,终端设备可以对大量用户执行采集多帧样本图像的步骤,并执行后续步骤,这些用户可以是不同性别、不同年龄的用户,这些用户可以包括戴眼镜的用户、不戴眼镜的用户,对此用户类型不做限制。用户的数量可以根据实际需要选择,对此用户数量不做限制,而且,用户数量越多,则训练结果也越准确。为了方便描述,后续以针对一个用户采集多帧样本图像为例进行说明。步骤102,终端设备获取样本图像的眼睛特征向量。其中,该眼睛特征向量可以包括但不限于以下之一或者任意组合:眼睛状态(如睁开或者闭合)、连通域的重心位置、黑色像素比例增长率。为了获取样本图像的眼睛状态,可以采用如下方式:通过特征分类器对样本图像进行特征检测,根据样本图像的特征检测结果获取样本图像的眼睛状态。其中,为了获取样本图像的连通域的重心位置,可以采用如下方式:针对样本图像,获取该帧样本图像与上一帧样本图像的差值图像,将该差值图像的连通域的重心位置确定为该帧样本图像的连通域的重心位置。其中,为了获取样本图像的黑色像素比例增长率,可以采用如下方式:针对样本图像,对该帧样本图像进行二值化处理,得到二值化图像,统计该二值化图像中的黑色像素比例值;根据该帧样本图像对应的黑色像素比例值、上一帧样本图像对应的黑色像素比例值,获取该帧样本图像的黑色像素比例增长率。其中,针对获取样本图像的眼睛状态、连通域的重心位置、黑色像素比例增长率的过程,将在本申请后续实施例中进行详细说明,在此不再赘述。在一个例子中,上述获取样本图像的眼睛状态、连通域的重心位置黑色像素比例增长率的过程,是针对多帧样本图像中的每帧样本图像,获取样本图像的眼睛状态、连通域的重心位置黑色像素比例增长率,对此过程不再赘述。步骤103,终端设备将多帧样本图像的眼睛特征向量组成第二特征向量集合。例如,终端设备先生成一个第二特征向量集合,然后按照样本图像的采集顺序,依次将这多帧样本图像的眼睛特征向量记录到第二特征向量集合。步骤104,终端设备生成第二特征向量集合与眨眼状态的映射关系。其中,该眨眼状态是指这多帧样本图像对应的眨眼状态,如眨眼或者未眨眼等。终端设备对大量用户执行步骤101-步骤104后,可以生成表1所示的映射关系。例如,终端设备采集200个眨眼用户的样本图像,得到200个第二特征向量集合,这200个第二特征向量集合的眨眼状态就是眨眼,在表1中记录200个第二特征向量集合与眨眼的对应关系。终端设备采集300个未眨眼用户的样本图像,得到300个第二特征向量集合,这300个第二特征向量集合的眨眼状态就是未眨眼,在表1中记录300个第二特征向量集合与未眨眼的对应关系。表1第二特征向量集合眨眼状态特征向量集合1眨眼……特征向量集合200眨眼特征向量集合201未眨眼……特征向量集合500未眨眼参见图2所示,为本申请实施例中的针对训练阶段的眨眼检测方法的流程图,在此实施例中,以服务端执行训练过程为例,该方法可以包括:步骤201,服务端采集多帧样本图像。步骤202,服务端获取样本图像的眼睛特征向量。步骤203,服务端将多帧样本图像的眼睛特征向量组成第二特征向量集合。步骤204,服务端生成第二特征向量集合与眨眼状态的映射关系。其中,步骤201-步骤204的处理,与步骤101-步骤104的处理类似,只是执行主体由终端设备变更为服务端,对此步骤201-步骤204不再重复赘述。步骤205,服务端向终端设备(如每个支持眨眼检测的终端设备)发送通知消息,该通知消息携带第二特征向量集合与眨眼状态的映射关系。步骤206,终端设备从该通知消息中解析出第二特征向量集合与眨眼状态的映射关系,并生成第二特征向量集合与眨眼状态的映射关系。基于图1所示的流程或者图2所示的流程,终端设备可以生成第二特征向量集合与眨眼状态的映射关系,至此完成训练阶段。而在检测阶段,终端设备可以通过第一特征向量集合查询该映射关系,继而得到与第一特征向量集合对应的眨眼状态。参见图3所示,为本申请实施例中的针对检测阶段的眨眼检测方法的流程图,该检测阶段可以应用在终端设备,该方法可以包括:步骤301,终端设备采集多帧检测图像。其中,检测图像是指未标记有眨眼状态的视频图像。例如,为了获知用户a是否眨眼,终端设备可以采集用户a的连续多帧视频图像,这些视频图像作为检测图像,且需要基于检测图像分析出用户a的眨眼状态是眨眼,还是未眨眼。在一个例子中,终端设备采集的检测图像的数量,与步骤101/步骤201中采集的样本图像的数量,可以相同,也可以不同,如二者的数量均为20帧。步骤302,终端设备获取检测图像的眼睛特征向量。其中,该眼睛特征向量可以包括但不限于以下之一或者任意组合:眼睛状态(如睁开或者闭合)、连通域的重心位置、黑色像素比例增长率。为了获取检测图像的眼睛状态,可以采用如下方式:通过特征分类器对检测图像进行特征检测,根据检测图像的特征检测结果获取检测图像的眼睛状态。为了获取检测图像的连通域的重心位置,可以采用如下方式:针对检测图像,获取该帧检测图像与上一帧检测图像的差值图像,将该差值图像的连通域的重心位置确定为该帧检测图像的连通域的重心位置。为了获取检测图像的黑色像素比例增长率,可以采用如下方式:针对检测图像,对该帧检测图像进行二值化处理,得到二值化图像,统计该二值化图像中的黑色像素比例值;根据该帧检测图像对应的黑色像素比例值、上一帧检测图像对应的黑色像素比例值,获取该帧检测图像的黑色像素比例增长率。其中,针对获取检测图像的眼睛状态、连通域的重心位置、黑色像素比例增长率的过程,将在本申请后续实施例中进行详细说明,在此不再赘述。步骤303,终端设备将多帧检测图像的眼睛特征向量组成第一特征向量集合。例如,终端设备先生成一个第一特征向量集合,然后按照检测图像的采集顺序,依次将这多帧检测图像的眼睛特征向量记录到第一特征向量集合。步骤304,终端设备通过第一特征向量集合查询映射关系(即步骤104/步骤206中生成的映射关系),确定与该第一特征向量集合对应的眨眼状态。假设连通域的重心位置包括连通域重心的横坐标数值和纵坐标数值,则终端设备可以将多帧检测图像的眼睛状态、连通域重心的横坐标数值、连通域重心的纵坐标数值、黑色像素比例增长率分别记录到第一特征向量集合。例如,假设第一帧检测图像的眼睛特征向量为(0、0.3、0.4、15%),第二帧检测图像的眼睛特征向量为(1、0.3、0.1、3%),第三帧检测图像的眼睛特征向量为(0、0.3、0.6、25%),则第一特征向量集合可以为(0、0.3、0.4、15%、1、0.3、0.1、3%、0、0.3、0.6、25%),0表示眼睛状态为睁开,1表示眼睛状态为闭合。然后,在通过该第一特征向量集合查询映射关系时,假设映射关系中存在“(0、0.3、0.4、15%、1、0.3、0.1、3%、0、0.3、0.6、25%)与眨眼”的映射关系,则终端设备可以确定出与该第一特征向量集合对应的眨眼状态为眨眼。经过训练阶段和检测阶段,可以检测出用户的眨眼状态,并根据眨眼状态控制终端设备上的应用程序的操作。而且,针对用户未使用穿戴式设备的应用场景,可以通过终端设备直接检测到用户是否产生眨眼动作,在用户操作终端设备上的应用程序时,就可以基于眨眼动作来控制应用程序的操作。而且,眨眼动作检测的准确率较高、可靠性较高、计算开销小,占用终端设备的资源少。在上述训练阶段,若由终端设备执行训练过程,可以为终端设备安装摄像头,以使终端设备采集多帧样本图像;若由服务端执行训练过程,可以为服务端安装摄像头,以使服务端采集多帧样本图像。而且,针对终端设备/服务端采集的样本图像,可能包含人脸、身体等区域,而进行眨眼检测时,可以只针对眼睛区域进行眨眼检测,因此,还可以采用图4所示的流程,对终端设备/服务端采集的样本图像(即步骤101/步骤201)进行处理,以得到只针对眼睛区域的样本图像,然后获取该样本图像的眼睛特征向量(即步骤102/步骤202)。步骤401,终端设备/服务端对样本图像进行人脸检测,得到人脸区域图像。由于终端设备/服务端采集的样本图像,可能包含人脸、身体等区域,因此,可以对样本图像进行人脸检测,得到只包含人脸区域的图像,这个图像称为人脸区域图像。针对对样本图像进行人脸检测的方式,可以采用adaboost等人脸检测算法,对此算法不做限制,只要能够基于样本图像得到人脸区域图像即可。在一个例子中,考虑到终端设备/服务端采集到的样本图像的尺寸可能较大,因此,为了减少计算量,在步骤401之前,还可以对该样本图像进行缩放处理,如将样本图像的宽缩放到320像素,等比例缩放样本图像的高,或者将样本图像的高缩放到240像素,等比例缩放样本图像的宽。然后,终端设备/服务端对缩放后的样本图像进行人脸检测,得到人脸区域图像,即执行步骤401。例如,假设终端设备/服务端采集到的样本图像的尺寸为960*480,则可以将样本图像的尺寸缩放为320*160,或者将样本图像的尺寸缩放为480*240。步骤402,终端设备/服务端从该人脸区域图像中获取出眼睛区域图像。由于人脸区域可能包括眼睛、鼻子、嘴巴、眉毛、耳朵等区域,因此,终端设备/服务端还可以从人脸区域图像获取出眼睛区域图像。例如,按照五官统计学比例,从人脸区域图像裁剪出眼睛区域图像,该眼睛区域图像不包括鼻子、嘴巴、眉毛、耳朵等区域,可以只包括眼睛区域,对此裁剪方式不做限制。步骤403,终端设备/服务端对该眼睛区域图像进行预处理。其中,对眼睛区域图像进行预处理的方式可以包括但不限于:对眼睛区域图像进行去噪处理、图像增强处理、亮度变换处理等。针对去噪处理、图像增强处理、亮度变换处理的具体实现,可以采用传统方式,在此不再详加赘述。进一步的,终端设备/服务端可以对预处理后的眼睛区域图像进行分析,以得到样本图像对应的眼睛特征向量,也就是执行上述步骤102/步骤202。与上述训练过程类似的,在上述检测阶段,针对终端设备采集的检测图像,同样可能包含人脸、身体等区域,因此,终端设备还可以对检测图像进行如下处理,以得到只针对眼睛区域的检测图像:终端设备对检测图像进行人脸检测,得到人脸区域图像;终端设备从该人脸区域图像中获取出眼睛区域图像;终端设备对该眼睛区域图像进行预处理,从而得到只针对眼睛区域的检测图像。进一步的,终端设备还可以对预处理后的眼睛区域图像进行分析,以得到该检测图像对应的眼睛特征向量,也就是执行上述步骤302,在此不再详加赘述。针对训练阶段,以下结合具体应用场景,对终端设备/服务端获取样本图像的眼睛状态、连通域的重心位置、黑色像素比例增长率的过程进行说明。情况一、参见图5a所示,为获取样本图像的眼睛状态的示意图。步骤5011,终端设备/服务端训练出一个特征分类器。其中,该特征分类器可以用于记录图像特征与眼睛状态(如睁开或者闭合)的对应关系。特征分类器可以为haar(哈尔)分类器、或者svm(supportvectormachine,支持向量机)分类器、或者随机森林分类器,对此特征分类器的类型不做限制。针对特征分类器的训练过程,终端设备/服务端可以先采集训练图像(如一帧训练图像,为了与上述样本图像进行区分,可以将标记有眼睛状态的视频图像称为训练图像,并将标记有眨眼状态的视频图像称为样本图像),该训练图像是指标记有眼睛状态的视频图像。例如,当用户a的眼睛状态为睁开时,可以采集用户a的一帧视频图像,该视频图像的眼睛状态就是睁开,且将标记有“睁开”的视频图像作为训练图像。而且,终端设备/服务端可以对大量用户执行采集训练图像的步骤,用户数量可以根据实际需要选择,对此用户数量不做限制,为了方便描述,后续以针对一个用户采集训练图像为例进行说明。然后,终端设备/服务端获取该训练图像的图像特征,该图像特征可以为纹理特征(纹理特征是一种全局特征,描述训练图像所对应景物的表面性质,需要在包含多个像素点的区域中进行统计计算),对此图像特征的获取方式不做限制,如可以采用灰度共生矩阵的纹理特征分析方法、几何法、模型法等方式。然后,终端设备/服务端可以训练出特征分类器,该特征分类器用于记录训练图像的图像特征与该训练图像的眼睛状态(如睁开或者闭合)的对应关系。步骤5012,终端设备/服务端通过特征分类器对样本图像进行特征检测。步骤5013,终端设备/服务端根据样本图像的特征检测结果,获取样本图像的眼睛状态,该样本图像的眼睛状态可以为睁开或者闭合。由于步骤5011中已经基于训练图像训练出特征分类器,且该特征分类器可以记录图像特征与眼睛状态的对应关系。基于此,终端设备/服务端在采集到样本图像后,可以将样本图像输出给特征分类器,由特征分类器对样本图像进行特征检测,得到样本图像的图像特征(即特征检测结果),对此“特征分类器对样本图像进行特征检测”的方式,可以采用灰度共生矩阵的纹理特征分析方法、几何法、模型法等方式,在此不再赘述。然后,特征分类器可以通过样本图像的图像特征查询“图像特征与眼睛状态的对应关系”,从而得到与该图像特征对应的眼睛状态,而这个眼睛状态也就是该样本图像的眼睛状态。情况二、参见图5b所示,为获取样本图像的连通域的重心位置的示意图。在图5b中,涉及到该帧样本图像与上一帧样本图像,该帧样本图像也就是当前帧的样本图像,而上一帧样本图像也就是该帧样本图像的上一帧样本图像。例如,假设采集到第一帧样本图像、第二帧样本图像、第三帧样本图像,在对第一帧样本图像进行处理时,该帧样本图像是第一帧样本图像,上一帧样本图像可以为默认图像,该默认图像可以根据实际需要进行选择,可以预先配置在终端设备/服务端。在对第二帧样本图像进行处理时,该帧样本图像是第二帧样本图像,上一帧样本图像为第一帧样本图像。在对第三帧样本图像进行处理时,该帧样本图像是第三帧样本图像,上一帧样本图像为第二帧样本图像。又例如,假设采集到第一帧样本图像、第二帧样本图像、第三帧样本图像,则将第二帧样本图像和第三帧样本图像作为待处理的样本图像,不将第一帧样本图像作为待处理的样本图像。在对第二帧样本图像进行处理时,该帧样本图像是第二帧样本图像,上一帧样本图像为第一帧样本图像。在对第三帧样本图像进行处理时,该帧样本图像是第三帧样本图像,上一帧样本图像为第二帧样本图像。步骤5021,针对样本图像,终端设备/服务端获取该帧样本图像与上一帧样本图像的差值图像,该差值图像又可以称为差别图像。终端设备/服务端先获取该帧样本图像中的每个像素点的灰度值、上一帧样本图像中的每个像素点的灰度值;然后,针对每个像素点,使用该帧样本图像中的灰度值减去上一帧样本图像中的灰度值,得到的灰度值就是该像素点在差值图像的灰度值;基于每个像素点在差值图像的灰度值,就可以得到差值图像。步骤5022,终端设备/服务端将该差值图像的连通域的重心位置确定为该帧样本图像的连通域的重心位置,其中,连通域的重心位置可以包括连通域重心的横坐标数值和连通域重心的纵坐标数值,在后续过程中,可以将连通域重心的横坐标数值记为位置x,并可以将连通域重心的纵坐标数值记为位置y。具体的,如果用户未眨眼(如始终睁眼或者闭眼),则样本图像的各像素点的灰度值未发生变化,该帧样本图像的每个像素点的灰度值与上一帧样本图像的灰度值相同,因此,每个像素点在差值图像的灰度值均为0,这样,可以将差值图像的所有像素点组成的区域作为连通域,并获取该连通域的重心位置(即质心位置)。如果用户眨眼(如从睁眼到闭眼或者从闭眼到睁眼),则该帧样本图像在眨眼区域的像素点的灰度值与上一帧样本图像的灰度值不同,因此,眨眼区域的像素点在差值图像的灰度值不为0;而且,该帧样本图像在其它区域(眨眼区域之外的区域)的像素点的灰度值与上一帧样本图像的灰度值相同,因此,其它区域的像素点在差值图像的灰度值为0;基于此,可以将灰度值不为0的像素点组成的区域作为连通域,并获取连通域的重心位置(即质心位置)。在一种实现方式中,在得到位置x和位置y之后,可以直接将位置x和位置y作为最终输出的重心位置。在另一种实现方式中,在得到位置x和位置y之后,还可以先判断位置x和位置y是否位于指定区间(如指定区间0.0-1.0);如果是,则可以将位置x和位置y作为最终输出的重心位置;如果否,则可以对位置x和位置y进行归一化处理,以使归一化处理后的位置x和位置y位于指定区间,并将归一化处理后的位置x和位置y作为最终输出的重心位置。在对位置x和位置y进行归一化处理的过程中,可以对位置x和位置y进行缩放处理,以使归一化处理后的位置x和位置y位于指定区间。例如,当位置x为3,位置y为2时,可以将位置x和位置y缩小10倍,这样,归一化处理后的位置x为0.3,归一化处理后的位置y为0.2;或者,可以将位置x和位置y缩小5倍,这样,归一化处理后的位置x为0.6,归一化处理后的位置y为0.4。当然,上述归一化方式只是几个示例,对此归一化方式不做限制。情况三、参见图5c所示,为获取样本图像的黑色像素比例增长率的示意图。在图5c中,涉及到该帧样本图像与上一帧样本图像,其解释参见情况二。步骤5031,针对样本图像,终端设备/服务端对该帧样本图像进行二值化处理,得到二值化图像,该二值化图像也就是一个黑白图像。具体的,终端设备/服务端可以统计该帧样本图像的每个像素点的灰度值,然后,若灰度值大于预设阈值(可以根据经验进行配置),则将该灰度值调整为第一数值(如255),若灰度值不大于预设阈值,则将该灰度值调整为第二数值(如0)。在针对每个像素点进行上述处理后,得到的图像就是二值化图像,该二值化图像的灰度值只有两个数值,第一数值表现为白,第二数值表现为黑。步骤5032,终端设备/服务端统计该二值化图像中的黑色像素比例值。在二值化图像中,包括灰度值为第一数值的像素点和灰度值为第二数值的像素点,而灰度值为第一数值的像素点是白色像素点,灰度值为第二数值的像素点是黑色像素点。基于此,灰度值为第二数值的像素点数量/(灰度值为第一数值的像素点数量+灰度值为第二数值的像素点数量),也就是黑色像素比例值。步骤5033,终端设备/服务端根据该帧样本图像对应的黑色像素比例值、上一帧样本图像对应的黑色像素比例值,获取该帧样本图像的黑色像素比例增长率。即:(该帧样本图像对应的黑色像素比例值-上一帧样本图像对应的黑色像素比例值)/上一帧样本图像对应的黑色像素比例值,就是黑色像素比例增长率。基于上述情况一、情况二、情况三,终端设备/服务端可以得到样本图像的眼睛状态、位置x、位置y、黑色像素比例增长率,然后,可以依次将多帧样本图像的眼睛状态、位置x、位置y、黑色像素比例增长率记录到第二特征向量集合,从而得到第二特征向量集合与眨眼状态的映射关系。例如,针对标记有眨眼的3帧样本图像,假设第一帧样本图像的眼睛特征向量为(0、0.3、0.4、15%),第二帧样本图像的眼睛特征向量为(1、0.3、0.1、3%),第三帧样本图像的眼睛特征向量为(0、0.3、0.6、25%),则第二特征向量集合可以为(0、0.3、0.4、15%、1、0.3、0.1、3%、0、0.3、0.6、25%),0表示眼睛状态为睁开,1表示眼睛状态为闭合。然后,可以生成第二特征向量集合(0、0.3、0.4、15%、1、0.3、0.1、3%、0、0.3、0.6、25%)与眨眼状态的映射关系。在上述实施例中,选取眼睛状态作为眼睛特征向量的原因是:当用户眨眼时,则眼睛状态会发生变化,如“睁开-闭合-睁开”,当用户未眨眼时,则眼睛状态不会发生变化,如“睁开-睁开-睁开”、“闭合-闭合-闭合”等,这样,就可以将眼睛状态作为眼睛特征向量的一个指标,从而检测出用户是否发生眨眼。此外,选取连通域的重心位置作为眼睛特征向量的原因是:当用户眨眼时,则连通域的重心位置会发生变化,当用户未眨眼时,则连通域的重心位置不会发生变化,这样,就可以将连通域的重心位置作为眼睛特征向量的一个指标,从而检测出用户是否发生眨眼。此外,选取黑色像素比例增长率作为眼睛特征向量的原因是:当用户眨眼时,则黑色像素比例增长率会发生变化,当用户未眨眼时,则黑色像素比例增长率不会发生变化,这样,就可以将黑色像素比例增长率作为眼睛特征向量的一个指标,从而检测出用户是否发生眨眼。以上过程介绍了在训练阶段,终端设备/服务端获取样本图像的眼睛状态、连通域的重心位置、黑色像素比例增长率的示例,同样的,在检测阶段,终端设备也可以获取到检测图像的眼睛状态、连通域的重心位置、黑色像素比例增长率,具体的实现方式与上述过程类似,在此不再重复赘述。经过上述训练阶段和检测阶段,终端设备就可以检测出用户的眨眼状态,然后还可以基于眨眼状态来控制应用程序的操作,以下对此操作过程进行说明。在一个例子中,终端设备检测出眨眼状态之后,可以从命令集合中查询到与该眨眼状态对应的操作命令,并执行查询到的操作命令,继而通过该操作命令控制应用程序的操作;其中,该命令集合可以用于记录眨眼状态与操作命令的对应关系。在另一个例子中,终端设备检测出眨眼状态之后,在眨眼状态为眨眼时,可以直接模拟用户或者鼠标的点击操作,而不再查询命令集合。以下结合几个具体应用,对眨眼状态与操作命令的对应关系进行说明。应用1:为了使用眨眼动作控制拍照程序(如具有拍照功能的app)的操作,可以在命令集合中预先记录“眨眼与拍照”的对应关系,这样,针对“执行查询到的操作命令”的过程,可以包括但不限于:在眨眼状态为眨眼时,延迟m秒(如3秒)后执行拍照操作。基于此,即使终端设备与用户的距离可以较远,用户也不用手动操作终端设备以对用户进行拍照,只需要给终端设备一个眨眼动作,就可以控制终端设备对用户进行拍照,从而显著提高用户使用感受。应用2:为了使用眨眼动作控制终端设备(如需要使用鼠标进行操作的pc等)上的应用程序(需要通过鼠标控制的程序,如游戏app等)的操作,可以在命令集合中预先记录“眨眼与点击”的对应关系,这样,针对“执行查询到的操作命令”的过程,可以包括但不限于:在眨眼状态为眨眼时,模拟鼠标的点击操作。基于此,用户不用手动操作鼠标,只需要给终端设备一个眨眼动作,就可以控制终端设备模拟鼠标的点击操作,从而显著提高用户使用感受。应用3:为了使用眨眼动作控制终端设备(如需要手动点击的移动终端等)上的应用程序(需要通过手动点击的程序,如游戏app等)的操作,则可以在命令集合中预先记录“眨眼与点击”的对应关系,这样,针对“执行查询到的操作命令”的过程,可以包括但不限于:在眨眼状态为眨眼时,模拟用户的点击操作。基于此,用户不用手动操作终端设备,只需要给终端设备一个眨眼动作,就可以控制终端设备模拟用户的点击操作,从而显著提高用户使用感受。应用4:为了使用眨眼动作控制直播程序(如具有直播互动功能的app)的操作,可以在命令集合中预先记录“眨眼与表情”的对应关系,这样,针对“执行查询到的操作命令”的过程,可以包括但不限于:在眨眼状态为眨眼时,控制虚拟游戏人物的表情。基于此,只需要给终端设备一个眨眼动作,就可以控制终端设备输出虚拟游戏人物的表情,继而可以在直播程序中显示该虚拟游戏人物的表情,使得观看直播的其它用户查看到该虚拟游戏人物的表情。基于与上述方法同样的申请构思,本申请实施例还提供一种眨眼检测装置120,该眨眼检测装置120应用在终端设备10。眨眼检测装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的终端设备10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为眨眼检测装置120所在的终端设备10的一种硬件结构图,除图6所示的处理器11、非易失性存储器12外,终端设备10还可以包括其它硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,终端设备10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图7所示,为本申请提出的眨眼检测装置的结构图,所述装置包括:采集模块1201,用于采集多帧检测图像;获取模块1202,用于获取检测图像的眼睛特征向量;组合模块1203,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块1204,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系。在一个例子中,所述眨眼检测装置还包括:生成模块(在图中未视出);所述生成模块,用于生成第二特征向量集合与眨眼状态的映射关系;所述生成模块,具体用于采集多帧样本图像;获取样本图像的眼睛特征向量;将多帧样本图像的眼睛特征向量组成第二特征向量集合;生成所述第二特征向量集合与多帧样本图像对应的眨眼状态的映射关系;或者,接收服务端发送的通知消息;从所述通知消息中解析第二特征向量集合与眨眼状态的映射关系;生成所述第二特征向量集合与所述眨眼状态的映射关系。所述检测图像的眼睛特征向量包括以下之一或者任意组合:眼睛状态,所述眼睛状态为睁开或者闭合;连通域的重心位置;黑色像素比例增长率;所述获取模块1202,具体用于在获取检测图像的眼睛特征向量的过程中,通过特征分类器对检测图像进行特征检测,并根据检测图像的特征检测结果获取检测图像的眼睛状态;和/或,针对检测图像,获取该帧检测图像与上一帧检测图像的差值图像,并将所述差值图像的连通域的重心位置确定为该帧检测图像的连通域的重心位置;和/或,针对检测图像,对该帧检测图像进行二值化处理,得到二值化图像,并统计所述二值化图像中的黑色像素比例值,并根据该帧检测图像对应的黑色像素比例值、上一帧检测图像对应的黑色像素比例值,获取该帧检测图像的黑色像素比例增长率。如图8所示,为本申请提出的眨眼检测装置的结构图,所述装置包括:采集模块1205,用于采集多帧检测图像;获取模块1206,用于获取检测图像的眼睛特征向量;组合模块1207,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块1208,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系;查询模块1209,用于从命令集合中查询到与所述眨眼状态对应的操作命令;所述命令集合用于记录眨眼状态与操作命令的对应关系;处理模块1210,用于执行查询到的操作命令。其中,所述处理模块1210,可具体用于在执行查询到的操作命令的过程中,在所述眨眼状态为眨眼时,延迟m秒后执行拍照操作;或者,在所述眨眼状态为眨眼时,模拟鼠标的点击操作;或者,在所述眨眼状态为眨眼时,模拟用户的点击操作;或者,在所述眨眼状态为眨眼时,控制虚拟游戏人物的表情。如图9所示,为本申请提出的眨眼检测装置的结构图,所述装置包括:采集模块1211,用于采集多帧检测图像;获取模块1212,用于获取检测图像的眼睛特征向量;组合模块1213,用于将多帧检测图像的眼睛特征向量组成第一特征向量集合;确定模块1214,用于通过所述第一特征向量集合查询映射关系,确定与所述第一特征向量集合对应的眨眼状态;其中,所述映射关系具体为第二特征向量集合与眨眼状态的映射关系;处理模块1215,用于在所述眨眼状态为眨眼时,模拟用户或者鼠标的点击操作。基于与上述方法同样的申请构思,本申请实施例还提供一种眨眼检测装置220,该眨眼检测装置220可以应用在服务端20。眨眼检测装置220可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务端20的处理器21,读取非易失性存储器22中对应的计算机程序指令形成的。从硬件层面而言,如图10所示,为眨眼检测装置220所在的服务端20的一种硬件结构图,除图10所示的处理器21、非易失性存储器22外,服务端20还可以包括其它硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,服务端20还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图11所示,为本申请提出的眨眼检测装置的结构图,所述装置包括:采集模块2201,用于采集多帧样本图像;获取模块2202,用于获取样本图像的眼睛特征向量;组合模块2203,用于将多帧样本图像的眼睛特征向量组成第二特征向量集合;生成模块2204,用于生成所述第二特征向量集合与多帧样本图像对应的眨眼状态的映射关系;发送模块2205,用于通过通知消息将所述第二特征向量集合与所述眨眼状态的映射关系发送给终端设备,以使所述终端设备根据所述映射关系检测用户眨眼状态。所述样本图像的眼睛特征向量包括以下之一或者任意组合:眼睛状态,所述眼睛状态为睁开或者闭合;连通域的重心位置;黑色像素比例增长率;所述获取模块2202,可具体用于在获取样本图像的眼睛特征向量的过程中,通过特征分类器对样本图像进行特征检测,并根据样本图像的特征检测结果获取样本图像的眼睛状态;和/或,针对样本图像,获取该帧样本图像与上一帧样本图像的差值图像,将差值图像的连通域的重心位置确定为该帧样本图像的连通域的重心位置;和/或,针对样本图像,对该帧样本图像进行二值化处理,得到二值化图像,并统计所述二值化图像中的黑色像素比例值;根据该帧样本图像对应的黑色像素比例值、上一帧样本图像对应的黑色像素比例值,获取该帧样本图像的黑色像素比例增长率。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1