首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

头部姿势识别方法、装置、计算机设备及存储介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:平安科技(深圳)有限公司

摘要:本申请涉及图像检测领域,基于光流法追踪视频中的角点,并根据角点移动数据识别头部姿势,实现了根据视频识别头部姿势。具体公开了一种头部姿势识别方法、装置、计算机设备及存储介质,该方法包括:按照时间顺序获取多个视频帧,并检测视频帧中是否包括人脸区域;若在一视频帧中检测到人脸区域,基于角点检测算法从人脸区域确定若干角点,各角点在视频帧中的位置为基准位置;基于光流法计算下一视频帧的角点移动数据,角点移动数据包括视频帧中各角点相对于相应基准位置的总移动向量;根据预设处理规则对角点移动数据进行处理,得到特征向量;若特征向量满足预设的识别阈值条件,将特征向量输入训练好的SVM分类器以获取视频帧对应的头部姿势类别。

主权项:1.一种头部姿势识别方法,其特征在于,包括:按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;根据预设处理规则对所述角点移动数据进行处理,得到特征向量;若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别;所述头部姿势类别包括头向上、头向下、头向右、头向左中的任意一种;所述若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,包括以下至少一种:若在多个视频帧中的一视频帧中第一次检测到人脸区域,则基于角点检测算法从所述人脸区域中确定若干角点;若在连续的多个视频帧中均检测到人脸区域,则基于角点检测算法从所述多个视频帧中的任意一帧对应的人脸区域中确定若干角点;若在一视频帧中检测到正脸状态的人脸区域,则基于角点检测算法从所述人脸区域中确定若干角点;所述若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别,包括:若所述特征向量未落入预设范围的分量数目不小于预设数目,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别;所述预设范围是根据所述特征向量所处坐标系中矩形窗指示的预定义的阈值窗确定的。

全文数据:头部姿势识别方法、装置、计算机设备及存储介质技术领域本申请涉及计算机视觉技术领域,尤其涉及一种头部姿势识别方法、装置、计算机设备及存储介质。背景技术现在头部姿势识别通常是利用惯性测量单元InertialMeasurementUnit组成的头戴式硬件如发卡,帽子等等来测量头部发生各种姿势时的速度,加速度,角速度以及头部俯仰角pitch,偏航角yaw,翻滚角roll等3D角度信息来提取多维特征,如图1所示;然后用机器学习的方法采用主成分分析,GMM模型,等对收集到的数据进行特征向量提取筛选以及分类;最终得出对于不同头部姿势的预测分类。因此现有的头部姿势识别需要依赖于可穿戴设备,在一定程度上可能会影响到使用者的感受,引起不适性,而且限制了头部姿势识别的应用范围。发明内容本申请实施例提供一种头部姿势识别方法、装置、计算机设备及存储介质,能够较佳地实现根据视频识别头部姿势。第一方面,本申请提供了一种头部姿势识别方法,所述方法包括:按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;根据预设处理规则对所述角点移动数据进行处理,得到特征向量;若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。第二方面,本申请提供了一种头部姿势识别装置,所述装置包括:视频帧获取模块,用于按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;基准确定模块,用于若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;光流追踪模块,用于基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;特征处理模块,用于根据预设处理规则对所述角点移动数据进行处理,得到特征向量;姿势识别模块,用于若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。第三方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现上述的头部姿势识别方法。第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现上述的头部姿势识别方法。本申请公开了一种头部姿势识别方法、装置、计算机设备及存储介质,通过人脸检测确定姿势识别的基准视频帧,然后基于光流法追踪各视频帧中的角点,以得到各视频帧的角点移动数据,然后将角点移动数据对应的满足识别阈值条件的特征向量输入训练好的SVM分类器以获取视频帧对应的头部姿势类别,实现了根据视频识别头部姿势,不需要依赖可穿戴设备,使得头部姿势识别的应用范围更广。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为基于惯性测量单元获取头部姿势的示意图;图2为本申请一实施例的头部姿势识别方法的流程示意图;图3为图2中检测角点的子流程示意图;图4为图2中计算角点移动数据的一实施方式的子流程示意图;图5为图2中计算角点移动数据的另一实施方式的子流程示意图;图6为图2中对角点移动数据进行处理得到特征向量的子流程示意图;图7为本申请另一实施例的头部姿势识别方法的流程示意图;图8为SVM分类器的示意图;图9为本申请再一实施例的头部姿势识别方法的流程示意图;图10为本申请又一实施例的头部姿势识别方法的流程示意图;图11为本申请一实施例提供的头部姿势识别装置的结构示意图;图12为本申请另一实施例提供的头部姿势识别装置的结构示意图;图13为本申请一实施例提供的一种计算机设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作步骤,也不是必须按所描述的顺序执行。例如,有的操作步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。本申请的实施例提供了一种头部姿势识别方法、装置、计算机设备及存储介质。其中,该头部姿势识别方法可以应用于终端或服务器中,以实现根据目标人物的实时视频或非实时视频识别该目标任务的头部姿势。例如,头部姿势识别方法用于服务器,当然可以用于终端,比如手机、笔记本、台式机等。但为了便于理解,以下实施例将以应用于终端的头部姿势识别方法进行详细介绍。下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请参阅图2,图2是本申请的实施例提供的一种头部姿势识别方法的流程示意图。如图2所示,头部姿势识别方法包括以下步骤S110-步骤S150。步骤S110、按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域。在一些实施方式中,通过摄像头实时采集多个视频帧,可以一次性采集多个视频帧,也可以采集一帧处理一帧然后采集下一帧;在另一些实施方式中,终端或服务器本地存储有一段视频或者从网络中读取一段视频,然后从视频中获取多个视频帧,具体的,可以获取若干连续的视频帧也可以间隔获取若干视频帧。在一些实施例中,若获取预设的识别触发指令,则按照时间顺序获取视频帧,然后逐帧检测各视频帧中是否存在人脸,即视频帧中是否包括人脸区域。在一些实施方式中,用基于Dlib这一包含机器学习算法的C++开源工具包的人脸检测器或者基于opencv的Haar级联人脸检测器来实现检测视频帧中是否包括人脸区域。示例性的,如果在获取多个视频帧中均未检测到人脸,则返回表示未检测到脸部的提示信息;此时无需进行后续步骤进行头部姿势识别。在一些实施方式中,如果某一时刻对获取的某一个视频帧进行人脸检测时检测到这一个视频帧中包括人脸区域,则进行步骤S120。在一些实施方式中,如果某一时刻对获取的某一个视频帧进行人脸检测时检测到这一个视频帧中包括人脸区域,则继续对接下来的视频帧继续进行人脸检测,若有连续的多个视频帧均包括人脸区域,则进行步骤S120。可以避免人脸短暂出现触发头部姿势识别的步骤启动。步骤S120、若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点。在一些实施方式中,如果第一次在某视频帧中检测到人脸区域,则立即通过角点检测算法对该视频帧进行角点检测;在另一些实施方式中,在连续的多个视频帧均检测到了人脸区域,可以通过角点检测算法对该多个视频帧中的任意一帧进行角点检测。示例性的,若在一视频帧中检测到正脸状态的人脸区域,才基于角点检测算法从所述人脸区域确定若干角点。示例性的,可以将进行角点检测的视频帧标记为基准视频帧。例如,可以存储所述基准视频帧的帧信息,如时间标签、视频帧的编号等至预设的存储区域。具体的,基于角点检测算法对基准视频帧进行角点检测,可以确定至少位于人脸区域的若干角点。例如,对基准视频帧中人脸所在的矩阵区域进行角点的检测。角点可以为图像中边缘与边缘之间的点,这种点比较明显,是很适合用光流法进行追踪的。示例性的,基于Shi-Tomasi角点检测法来检测基准视频帧中人脸所在区域的若干角点。各所述角点在所述视频帧中的位置为基准位置。具体的,基于角点检测算法在基准视频帧中确定的各角点的位置为基准位置。在一些实施方式中,如图3所示,步骤S120若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,包括步骤S121-步骤S123。步骤S121、若在一视频帧中检测到人脸区域,对所述人脸区域进行人脸识别以获取所述视频帧对应的用户信息。在本实施方式中,在用户具有预设的权限时才需要对该用户的头部姿势进行识别。示例性的,先从某一视频帧中的人脸区域提取人脸特征,然后将提取的人脸特征与用户数据存储区域中的用户人脸特征进行比较,得到与提取的人脸特征最接近的用户人脸特征对应的用户信息。步骤S122、根据所述用户信息判断对应的用户是否具有预设权限。示例性的,在用户数据存储区域还存储了与各用户信息对应的权限数据。根据视频帧对应的用户信息可以查询对应的用户是否具有所需要的权限,如头部姿势识别权限或者与头部姿势识别权限相关联的控制权限等。步骤S123、若判定所述用户具有预设权限,基于角点检测算法从所述人脸区域检测若干角点。如果步骤S122判定所述用户具有预设权限,则基于角点检测算法从所述人脸区域检测若干角点,便于后续的角点跟踪步骤。示例性的,如图3所示,在步骤S122根据所述用户信息判断对应的用户是否具有预设权限之后,还包括步骤S124。步骤S124、若判定所述用户不具有预设权限,输出用于表示所述用户不具有预设权限的信息。如果步骤S122判定所述用户不具有预设权限,则输出相应的信息提示视频帧对应的用户不具有预设权限。当基准视频帧中人脸所在区域的角点检测完成之后,在剩余的视频帧中对角点进行追踪。例如,对任意两个相邻视频帧而言,寻找当前帧中与前一帧角点对应的角点;从而可以计算出基准视频帧之后至少一个视频帧中与所述若干角点对应的角点,以及相应角点的移动向量。步骤S130、基于光流法计算下一视频帧的角点移动数据。在一些实施例中,基于卢卡斯-卡纳德Lucas-Kanade,LK光流法实现对角点的追踪。光流Opticalfloworopticflow是关于视域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的移动。光流是空间运动物体在观测成像平面上的像素移动的“瞬时速度”。光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“移动”。研究光流场的目的就是为了从图片序列中近似得到不能直接得到的运动场。光流法实现对角点的追踪是基于光强的不变性,具体基于以下两个假设实现:一是在相邻帧之中,某一点的光强不随着时间的变化而变化,而是相对保持恒定而且相邻视频帧的取帧时间连续,或者,相邻帧之间物体的运动比较微小;二是当某一点在连续帧中移动时,该点周围的点和这个点有着相同的运动趋势,即保持空间一致性。在理想情况下,摄像机记录了头部姿势的改变,头部区域从某一视频帧的某个位置移动到下一个视频帧的另一个位置,但是头部的区域是不变的,也就是人脸区域在图片的像素点的亮度值即光强是不变的。即有亮度不变公式如下所示:Ix,y,t=I0x+dx,y+dy,t+dt其中,Ix,y,t表示在某一视频帧中的某一点的光强,I0x,y,t表示在该视频帧的前一视频帧中该点的光强,dx、dy、dt分别表示两个帧之间该点在X、Y方向上移动的距离以及时间的改变量,dt可以为两帧之间的时间差。通过对上述亮度不变公式两侧做泰勒级数展开,消除公共项Ix,y,t,并且对t求导,可以得到光流约束方程,反映了光强与速度的一个对应关系:Ixu+Iyv+It=0其中,Ix和Iy分别表示两个帧之间该点光强在X和Y方向上的梯度值,u和v分别表示该点在两个帧之间移动的速度在X和Y方向上的分量,u和v为需要求解的未知数。根据空间一致性假设,角点和角点周围的点移动有着相同的轨迹,可以通过联立某角点和该角点周围八个点的光流方程,通过共九个方程求解出两个未知数u和v。具体的,有即其中表示该角点的速度矢量。光流法计算的目的,就是使得的值最小,以获取角点的速度矢量得到角点的速度矢量后,可以计算该角点在相邻两个视频帧之间的移动向量,包括在X和Y方向上的分量分别为dx、dy。示例性的,基于光流法可以计算各角点在前述基准视频帧,即所述基准位置对应的视频帧和基准视频帧之后第一个视频帧之间的移动向量,也可以计算各角点在基准视频帧之后第一个视频帧和基准视频帧之后第二个视频帧之间的移动向量,还可以计算各角点在基准视频帧之后第N个视频帧和基准视频帧之后第N+1个视频帧之间的移动向量,可以把相邻视频帧之间的移动向量定义为单步移动向量。示例性的,基于光流法可以计算各角点在基准视频帧和基准视频帧之后第一个视频帧之间的移动向量,即基准视频帧之后第一个视频帧中各角点的单步移动向量;然后可以通过将各角点的基准位置和相应的单步移动向量相加得到各角点在所述第一个视频帧中的位置。示例性的,基准视频帧中某角点的基准位置为x,y,该角点在基准视频帧和第一个视频帧之间的单步移动向量为wx,wy,则所述第一个视频帧中相应角点的位置为x+wx,y+wy。之后,根据所述第一个视频帧中相应角点的位置,可以基于光流法计算各角点在基准视频帧之后第一个视频帧和第二个视频帧之间的移动向量,即基准视频帧之后第二个视频帧中各角点的单步移动向量;然后可以通过将各角点在第一个视频帧中的位置和相应的单步移动向量相加得到各角点在所述第二个视频帧中的位置。以此类推,根据基准视频帧之后第N个视频帧中相应角点的位置,可以基于光流法计算各角点在基准视频帧之后第N个视频帧和第N+1个视频帧之间的移动向量,即基准视频帧之后第N+1个视频帧中各角点的单步移动向量。然后可以通过将各角点在第N个视频帧中的位置和第N+1个视频帧对应的单步移动向量对应相加得到各角点在所述第N+1个视频帧中的位置。具体的,步骤S130计算的某一视频帧,如基准视频帧之后第N个视频帧的角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量,即某角点从基准视频帧中的基准位置移动到第N个视频帧中相应位置的总移动向量。在一些实施例中,如图4所示,步骤S130基于光流法计算下一视频帧的角点移动数据,包括步骤S131-步骤S133。步骤S131、获取下一视频帧。示例性的,步骤S131获取的下一视频帧为基准视频帧之后第N+1个视频帧。N为自然数。示例性的,N为0时,基准视频帧之后第N+1个视频帧为基准视频帧之后的第1个视频帧;基准视频帧之后第N个视频帧为基准视频帧本身。步骤S132、基于光流法计算所述下一视频帧中各角点的单步移动向量。具体的,所述单步移动向量为所述下一视频帧中各角点相对于前一帧中相应角点的移动向量。示例性的,单步移动向量包括相邻视频帧之间角点在X方向和Y方向上移动的距离,此时单步移动向量包括两个元素。示例性的,基于卢卡斯-卡纳德Lucas-Kanade,LK光流法计算第N+1个视频帧中各角点的单步移动向量,单步移动向量为第N+1个视频帧中各角点相对于第N个视频帧中相应角点的移动向量,即各角点从基准视频帧之后第N个视频帧移动到第N+1个视频帧中相应位置的移动向量。示例性的,基准视频帧之后第N个视频帧中各角点的位置可以根据第N-1个视频帧中各角点的位置与第N个视频帧对应单步移动向量对应相加得到。基于光流法,可以根据第N个视频帧中各角点的位置计算第N+1个视频帧中各角点的单步移动向量。步骤S133、将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据。示例性的,将步骤S132计算得到的第N+1个视频帧中各角点的单步移动向量与第N个视频帧角点移动数据中相应角点的总移动向量对应叠加,以得到第N+1个视频帧中各角点的总移动向量,即各角点从基准视频帧中的基准位置移动到第N+1个视频帧中相应位置的总移动向量。在一些实施方式中,步骤S130基于光流法计算基准视频帧之后第一个视频帧的角点移动数据。在本实施方式中,N等于0,基准视频帧之后第N个视频帧为基准视频帧本身,步骤S131获取的下一视频帧为基准位置对应的视频帧之后的第一个视频帧,即基准视频帧之后的第一个视频帧。在本实施方式中,步骤S133中所述下一视频帧的前一帧视频帧,即第N个视频帧为基准视频帧本身,第0个视频帧的总移动向量例如可以初始化为全零的向量。单步移动向量与所全零的总移动向量对应叠加,得到的仍是对应的单步移动向量。因此,在通过步骤S132基于光流法计算基准视频帧之后的第一个视频帧中各角点的单步移动向量之后,如图5所示,步骤S133将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据,包括:步骤S1331、若获取的下一视频帧为所述基准位置对应的视频帧之后的第一个视频帧,将所述单步移动向量作为总移动向量存储为所述下一视频帧的角点移动数据。在一些实施例中,若步骤S131获取的所述下一视频帧不为所述基准位置对应的视频帧之后的第一个视频帧,将所述基准位置对应的视频帧之后各视频帧的单步移动向量之和作为总移动向量存储为所述下一视频帧的角点移动数据。步骤S140、根据预设处理规则对所述角点移动数据进行处理,得到特征向量。在一些实施方式中,对于不同情形下步骤S110获取的多个视频帧,步骤S120所确定角点的数目可能也不同;可以根据预设处理规则对步骤S130计算的某一视频帧的角点移动数据进行处理,以得到预设格式的特征向量。在一些实施方式中,如图6所示,步骤S140根据预设处理规则对所述角点移动数据进行处理,得到特征向量,包括:步骤S141、获取所述角点移动数据中总移动向量的数目。步骤S130计算的角点移动数据包括相应视频帧中各角点的总移动向量,示例性的,角点移动数据包括100个角点各自对应的总移动向量,则所述角点移动数据中总移动向量的数目为100。步骤S142、将所述角点移动数据中所有的总移动向量相加,以得到移动总向量。示例性的,角点移动数据中各角点对应的总移动向量均包括各角点在X方向和Y方向上相对于相应基准位置的移动距离;因此各角点的总移动向量相加得到的移动总向量也包括两个元素,分别对应于X方向和Y方向。例如,100个角点各自对应的总移动向量x1,y1、x2,y3、……x100,y100相加以得到移动总向量x0,y0。步骤S143、将所述移动总向量除以所述总移动向量的数目,以得到所述下一视频帧对应的特征向量。示例性的,将移动总向量x0,y0除以角点移动数据中总移动向量的数目100,得到相应视频帧对应的特征向量,表示该视频帧所有角点相对于基准位置在X方向和Y方向上的平均移动距离;从而对于不同情形下步骤S110获取的多个视频帧,均可在步骤S140得到预设格式的特征向量,便于后续识别。步骤S150、若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。在本实施例中,通过预设的识别阈值条件,以消除头部较小的抖动引起头部姿势识别结果的误判。在一些实施例中,如图7所示,步骤S150若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别,包括:步骤S151、若所述特征向量中未落入阈值范围的分量数目不小于预设数目,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。在一些实施方式中,步骤S140得到的特征向量包括多个分量,对于多个分量设置至少一阈值范围,各分量对应的阈值范围可以相同也可以不相同。示例性的,特征向量包括对应于X方向和Y方向的两个分量;如图8所示,坐标系中间的方框表示了两个分量对应的阈值范围;对应于X方向的分量的阈值范围为负50至正50,对应于X方向的分量的阈值范围为负25至正25。示例性的,如果某视频帧的特征向量在X和Y方向上的分量的绝对值均小于对应的预设阈值,则判定该视频帧的特征向量不满足识别阈值条件,表示头部未动作或者头部有小抖动,还达不到进行头部姿势识别的程度。示例性的,若所述特征向量中有分量未落入阈值范围,即未落入阈值范围的分量数目不小于1,则判定所述特征向量满足预设的识别阈值条件,表示头部有较大幅度的移动,需要进行头部姿势识别;具体可以将该特征向量输入训练好的SVMSupportVectorMachine分类器,即支持向量机以获取所述视频帧对应的头部姿势类别。SVM是一种快速可靠的分类算法,可以在数据量有限的情况下很好地完成任务;是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。SVM分类器是将实例,即特征向量表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。如图8所示为通过训练数据集对SVM分类器训练完成后的效果示意图,训练后可以得到四分类训练器,可以理解为四个onevsrestSVM。训练数据集包括多个对应于不同头部姿势的特征向量,例如训练数据集包括若干头向上UP,头向下DOWN,头向右RIGHT,头向左LEFT各类别头部姿势对应的特征向量以及特征向量的标注。坐标系中间的矩形窗表示预定义的阈值窗,只有超过窗的特征向量才判定满足预设的识别阈值条件,才能被输入SVM分类器进行头部姿势的预测;如果某特征向量不满足预设的识别阈值条件,就判定该特征向量对应的是头部的小抖动;只有运动幅度超过定义的阈值的移动才会被输入SVM分类器做关于头部姿势的识别。将某视频帧对应的特征向量输入训练好的SVM分类器后,训练好的SVM分类器可以输出该视频帧对应的头部姿势类别。在一些实施例中,如图9所示,步骤S140根据预设处理规则对所述角点移动数据进行处理,得到特征向量之后,还包括:步骤S160、若所述特征向量不满足预设的识别阈值条件,返回所述基于光流法获取下一视频帧的角点移动数据的步骤继续执行,直至所述特征向量满足预设的识别阈值条件。在一些实施方式中,步骤S130基于光流法计算得到了基准位置对应的视频帧之后的第一个视频帧,即基准视频帧之后的第一个视频帧的角点移动数据,步骤S140根据预设处理规则对所述角点移动数据进行处理,得到特征向量;但是该第一个视频帧对应的特征向量不满足预设的识别阈值条件,则需要获取基准视频帧之后第二个视频帧对应的特征向量,以判断其是否满足预设的识别阈值条件;若第二个视频帧对应的特征向量仍不满足预设的识别阈值条件,则需要获取基准视频帧之后第三个视频帧对应的特征向量,依次类推直至基准视频帧之后某一个视频帧对应的特征向量满足预设的识别阈值条件,则通过步骤S150将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。具体的,若步骤S131获取的下一视频帧为所述基准位置对应的视频帧之后的第一个视频帧,则在步骤S130基于光流法计算该视频帧的角点移动数据以及步骤S140对所述角点移动数据进行处理得到特征向量之后,如果该特征向量不满足预设的识别阈值条件,则返回步骤S131继续获取该视频帧的下一视频帧,即基准视频帧之后的第二个视频帧。之后步骤S132基于光流法计算该第二个视频帧中各角点的单步移动向量,然后步骤S133将计算出的单步移动向量与步骤S1331得到的第一个视频帧的总移动向量对应叠加,并将叠加得到的结果作为该第二个视频帧的总移动向量存储为第二个视频帧的角点移动数据,之后在对第二个视频帧的角点移动数据进行处理得到特征向量。在其他一些实施例中,如图10所示,步骤S110按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域,包括:步骤S111、若获取到识别触发指令,通过摄像头按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域。示例性的,若用户将手机由下向上拿起至用户的面前,手机的处理器通过重力传感器等检测到这一动作,则手机的处理器获取到了识别触发指令;然后手机的处理器通过手机的摄像头采集视频帧,以及按照图像采集的顺序检测各帧图像中是否存在用户的人脸。在本实施例中,步骤S150若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别,之后,还包括:步骤S170、根据所述视频帧对应的头部姿势类别,启动所述头部姿势类别对应的应用程序。示例性的,步骤S150获取到某一视频帧对应的头部姿势类别之后,可以输出头部姿势类别,以作为其他处理任务的触发指令。例如将不同的头部姿势类别与相应的应用程序绑定,则根据识别到的用户的头部姿势类别,可以启动对应的应用程序。示例性的,对于手部残疾的人可以用头部姿势控制手机,或者与其他辅助机器人相结合,完成控制功能提升生活质量和独立生活能力。上述实施例提供的头部姿势识别方法,通过人脸检测确定姿势识别的基准视频帧,然后基于光流法追踪各视频帧中的角点,以得到各视频帧的角点移动数据,然后将角点移动数据对应的满足识别阈值条件的特征向量输入训练好的SVM分类器以获取视频帧对应的头部姿势类别,实现了根据视频识别头部姿势,不需要依赖可穿戴设备,使得头部姿势识别的应用范围更广。请参阅图11,图11是本申请一实施例提供的一种头部姿势识别装置的结构示意图,该头部姿势识别装置可以配置于服务器或终端中,用于执行前述的头部姿势识别方法。如图11所示,该头部姿势识别装置包括:视频帧获取模块110、基准确定模块120、光流追踪模块130、特征处理模块140、姿势识别模块150。视频帧获取模块110,用于按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域。基准确定模块120,用于若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置。在一些实施方式中,如图12所示,基准确定模块120包括:人脸识别子模块121,用于若在一视频帧中检测到人脸区域,对所述人脸区域进行人脸识别以获取所述视频帧对应的用户信息;权限判断子模块122,用于根据所述用户信息判断对应的用户是否具有预设权限;角点检测子模块123,用于若判定所述用户具有预设权限,基于角点检测算法从所述人脸区域检测若干角点。光流追踪模块130,用于基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量。在一些实施方式中,如图12所示,光流追踪模块130包括:视频帧获取子模块131,用于获取下一视频帧;单步计算子模块132,用于基于光流法计算所述下一视频帧中各角点的单步移动向量,所述单步移动向量为所述下一视频帧中各角点相对于前一帧中相应角点的移动向量;向量叠加子模块133,用于将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据。在一些实施方式中,若视频帧获取子模块131获取的下一视频帧为所述基准位置对应的视频帧之后的第一个视频帧,向量叠加子模块133用于将所述单步移动向量作为总移动向量存储为所述下一视频帧的角点移动数据。特征处理模块140,用于根据预设处理规则对所述角点移动数据进行处理,得到特征向量。在一些实施方式中,如图12所示,特征处理模块140包括:数目获取子模块141,用于获取所述角点移动数据中总移动向量的数目;向量加法子模块142,用于将所述角点移动数据中所有的总移动向量相加,以得到移动总向量;向量生成子模块143,用于将所述移动总向量除以所述总移动向量的数目,以得到所述下一视频帧对应的特征向量。姿势识别模块150,用于若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。在一些实施方式中,如图12所示,姿势识别模块150包括:姿势识别子模块151,用于若所述特征向量中未落入阈值范围的分量数目不小于预设数目,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。在一些实施方式中,如图12所示,该头部姿势识别装置还包括返回模块160。返回模块160,用于若所述特征向量不满足预设的识别阈值条件,返回所述基于光流法获取下一视频帧的角点移动数据的步骤继续执行,直至所述特征向量满足预设的识别阈值条件。需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。示例性的,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备上运行。请参阅图13,图13是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备可以是服务器或终端。参阅图13,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种头部姿势识别方法。处理器用于提供计算和控制能力,支撑整个计算机设备的运行。内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种头部姿势识别方法。该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。应当理解的是,处理器可以是中央处理单元CentralProcessingUnit,CPU,该处理器还可以是其他通用处理器、数字信号处理器DigitalSignalProcessor,DSP、专用集成电路ApplicationSpecificIntegratedCircuit,ASIC、现场可编程门阵列Field-ProgrammableGateArray,FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;根据预设处理规则对所述角点移动数据进行处理,得到特征向量;若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。具体的,处理器实现根据预设处理规则对所述角点移动数据进行处理,得到特征向量之后,还实现:若所述特征向量不满足预设的识别阈值条件,返回所述基于光流法获取下一视频帧的角点移动数据的步骤继续执行,直至所述特征向量满足预设的识别阈值条件。具体的,处理器实现若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域检测若干角点时,具体实现:若在一视频帧中检测到人脸区域,对所述人脸区域进行人脸识别以获取所述视频帧对应的用户信息;根据所述用户信息判断对应的用户是否具有预设权限;若判定所述用户具有预设权限,基于角点检测算法从所述人脸区域检测若干角点。具体的,处理器实现基于光流法计算下一视频帧的角点移动数据时,具体实现:获取下一视频帧;基于光流法计算所述下一视频帧中各角点的单步移动向量,所述单步移动向量为所述下一视频帧中各角点相对于前一帧中相应角点的移动向量;将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据。具体的,若处理器实现获取下一视频帧时,获取的下一视频帧为所述基准位置对应的视频帧之后的第一个视频帧,则处理器在实现将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据时,用于实现:将所述单步移动向量作为总移动向量存储为所述下一视频帧的角点移动数据。具体的,处理器实现所述根据预设处理规则对所述角点移动数据进行处理,得到特征向量时,具体实现:获取所述角点移动数据中总移动向量的数目;将所述角点移动数据中所有的总移动向量相加,以得到移动总向量;将所述移动总向量除以所述总移动向量的数目,以得到所述下一视频帧对应的特征向量。具体的,处理器实现所述若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别时,具体实现:若所述特征向量中未落入阈值范围的分量数目不小于预设数目,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROMRAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本申请各个实施例或者实施例的某些部分所述的方法,如:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项头部姿势识别方法。其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡SmartMediaCard,SMC,安全数字SecureDigital,SD卡,闪存卡FlashCard等。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

权利要求:1.一种头部姿势识别方法,其特征在于,包括:按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;根据预设处理规则对所述角点移动数据进行处理,得到特征向量;若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。2.如权利要求1所述的头部姿势识别方法,其特征在于:所述根据预设处理规则对所述角点移动数据进行处理,得到特征向量之后,还包括:若所述特征向量不满足预设的识别阈值条件,返回所述基于光流法获取下一视频帧的角点移动数据的步骤继续执行,直至所述特征向量满足预设的识别阈值条件。3.如权利要求1所述的头部姿势识别方法,其特征在于:所述若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域检测若干角点,包括:若在一视频帧中检测到人脸区域,对所述人脸区域进行人脸识别以获取所述视频帧对应的用户信息;根据所述用户信息判断对应的用户是否具有预设权限;若判定所述用户具有预设权限,基于角点检测算法从所述人脸区域检测若干角点。4.如权利要求2所述的头部姿势识别方法,其特征在于:所述基于光流法计算下一视频帧的角点移动数据,包括:获取下一视频帧;基于光流法计算所述下一视频帧中各角点的单步移动向量,所述单步移动向量为所述下一视频帧中各角点相对于前一帧中相应角点的移动向量;将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据。5.如权利要求4所述的头部姿势识别方法,其特征在于:所述将所述单步移动向量与所述下一视频帧的前一帧视频帧的总移动向量对应叠加,并将叠加得到的所述下一视频帧的总移动向量存储为所述下一视频帧的角点移动数据,包括:若获取的下一视频帧为所述基准位置对应的视频帧之后的第一个视频帧,将所述单步移动向量作为总移动向量存储为所述下一视频帧的角点移动数据。6.如权利要求1-5中任一项所述的头部姿势识别方法,其特征在于:所述根据预设处理规则对所述角点移动数据进行处理,得到特征向量,包括:获取所述角点移动数据中总移动向量的数目;将所述角点移动数据中所有的总移动向量相加,以得到移动总向量;将所述移动总向量除以所述总移动向量的数目,以得到所述下一视频帧对应的特征向量。7.如权利要求1-5中任一项所述的头部姿势识别方法,其特征在于:所述若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别,包括:若所述特征向量中未落入阈值范围的分量数目不小于预设数目,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。8.一种头部姿势识别装置,其特征在于,包括:视频帧获取模块,用于按照时间顺序获取多个视频帧,并检测所述视频帧中是否包括人脸区域;基准确定模块,用于若在一视频帧中检测到人脸区域,基于角点检测算法从所述人脸区域确定若干角点,各所述角点在所述视频帧中的位置为基准位置;光流追踪模块,用于基于光流法计算下一视频帧的角点移动数据,所述角点移动数据包括所述视频帧中各角点相对于相应基准位置的总移动向量;特征处理模块,用于根据预设处理规则对所述角点移动数据进行处理,得到特征向量;姿势识别模块,用于若所述特征向量满足预设的识别阈值条件,将所述特征向量输入训练好的SVM分类器以获取所述视频帧对应的头部姿势类别。9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1-7中任一项所述的头部姿势识别方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:若所述计算机程序被处理器执行,实现如权利要求1-7中任一项所述的头部姿势识别方法。

百度查询: 平安科技(深圳)有限公司 头部姿势识别方法、装置、计算机设备及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。