一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于人脸特征点检测的脸控鼠标方法及系统与流程

2021-12-18 02:09:00 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种基于人脸特征点检测的脸控鼠标方法及系统。


背景技术:

2.鼠标操作是计算机最常用的输入方式之一,但对于部分用户或在部分使用场景中,外部的鼠标硬件往往不是最优的选择,针对这一问题,现有技术中也提出了注入手势控制、微表情控制等对鼠标进行控制的方式,但由于识别准确率的限制,要实现较高的准确率,往往需要用户购买昂贵的设备,增加了用户的使用成本,导致难以进行市场推广,因此需要一种在保证准确率的基础上用较低成本完成鼠标控制的脸控鼠标方法及系统。


技术实现要素:

3.有鉴于此,本说明书一个或多个实施例的目的在于提出一种基于人脸特征点检测的脸控鼠标方法及系统,以解决现有的脸控鼠标系统成本高的问题。
4.基于上述目的,本说明书一个或多个实施例提供了一种基于人脸特征点检测的脸控鼠标方法,包括:
5.获取用户面部图像;
6.识别出用户面部图像中的五个特征点,五个特征点包括两个外眼角特征点、一个鼻尖特征点和两个嘴角特征点;
7.识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令;
8.识别两个外眼角之间的第一距离,和两个嘴角之间的第二距离;
9.根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数;
10.根据用户的选择,切换单击、双击和右键点击模式;
11.若判定触发累积数在第一设定值以上,且处于单击模式,则发出鼠标左键按压指令,直到判定触发累积数在第二设定值以下时,发出鼠标释放指令;
12.若判定触发累积数在第一设定值以上,且处于双击模式,则发出鼠标双击指令;
13.若判定触发累积数在第一设定值以上,且处于右键点击模式,则发出鼠标右键点击指令。
14.优选地,识别出用户面部图像中的五个特征点后,本方法还包括:
15.建立面部图像坐标系,得到五个特征点的坐标,包括两个外眼角特征点p1(x1,y1)和p2(x2,y2),鼻尖特征点p3(x3,y3),两个嘴角特征点p4(x4,y4)和p5(x5,y5)。
16.优选地,识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令包括:
17.记录鼻尖特征点当前帧坐标p3(x3,y3)和鼻尖特征点前一帧坐标计算
鼠标移动量(v
x
,v
y
),其中v
x
和v
y
的计算负荷以下公式:
[0018][0019][0020]
其中k1为x轴上的线性权重,k2为y轴上的线性权重,α1为x轴上的非线性权重,α2为y轴上的非线性权重,vx为x轴上鼠标光标的移动量,vy为y轴上鼠标光标的移动量。
[0021]
优选地,根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数包括:
[0022]
将p
1 p2线段长记为l1,将p
4 p5线段长记为l2;
[0023]
计算p
4 p5线段长与p
1 p2线段的比例
[0024]
若β>a,则判断用户微笑表情,触发累积数的计数count 1;
[0025]
若b<β≤a,则判断用户无表情,触发累积数的计数count

2。
[0026]
优选地,第一设定值为5,第二设定值为2。
[0027]
优选地,根据用户的选择,切换单击、双击和右键点击模式包括:
[0028]
在ui界面中向用户提供分别与单击、双击和右键点击模式对应的控制按钮,并将各控制按钮设置为单选式。
[0029]
优选地,本方法还包括:
[0030]
根据用户面部图像中五个特征点的变化,计算用户头部是否俯仰过度;
[0031]
若判定为俯仰过度,则对脸控鼠标单击、双击和右键点击操作进行锁定。
[0032]
优选地,根据用户面部图像中五个特征点的变化,计算用户头部是否俯仰过度包括:
[0033]
计算p
1 p
2 p3构成的三角形的面积s1;
[0034]
计算p
3 p
4 p5构成的三角形的面积s2;
[0035]
计算面积s1与面积s2的比值
[0036]
判断γ是否超过设定阈值,若γ超过设定阈值或s2为0,则判定为俯仰过度。
[0037]
优选地,识别出用户面部图像中的五个特征点包括:
[0038]
采用mediapipe人脸网状识别技术得出用户面部图像中的五个特征点。
[0039]
本说明书还提供一种基于人脸特征点检测的脸控鼠标系统,包括:
[0040]
图像获取模块,用于获取用户面部图像;
[0041]
特征点识别模块,用于识别出用户面部图像中的五个特征点,五个特征点包括两个外眼角特征点、一个鼻尖特征点和两个嘴角特征点;
[0042]
移动指令控制模块,用于识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令;
[0043]
计数模块,用于识别两个外眼角之间的第一距离,和两个嘴角之间的第二距离,并
根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数;
[0044]
模式切换模块,用于根据用户的选择,切换单击、双击和右键点击模式;
[0045]
点击指令控制模块,用于在判定触发累积数在第一设定值以上,且处于单击模式时,发出鼠标左键按压指令,直到判定触发累积数在第二设定值以下时,发出鼠标释放指令;
[0046]
在判定触发累积数在第一设定值以上,且处于双击模式时,发出鼠标双击指令;
[0047]
在判定触发累积数在第一设定值以上,且处于右键点击模式时,发出鼠标右键点击指令。
[0048]
从上面所述可以看出,本说明书一个或多个实施例提供的基于人脸特征点检测的脸控鼠标方法及系统,通过获取面部图像,并对面部图像进行面部识别,得到对应两个外眼角、一个鼻尖和两个嘴角的五个特征点,通过识别鼻尖特征点的移动量,基于预设模型计算出对应的鼠标光标移动量,并发出移动指令,通过判断用户是否作出微笑表情,并对微笑表情的触发累积数进行计数,分别执行鼠标单击、双击和右键点击指令,并且通过鼠标点击后持续按压和鼻尖控制鼠标光标移动的方式,实现鼠标的拖动指令,进而实现脸控鼠标,相比于现有的面部表情控制鼠标的方式,成本较低且识别准确率高、速度快,适用于市场推广。
附图说明
[0049]
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本说明书一个或多个实施例的脸控鼠标方法流程示意图;
[0051]
图2为本说明书一个或多个实施例的五个特征点示意图;
[0052]
图3为本说明书一个或多个实施例的微笑表情判断示意图;
[0053]
图4为本说明书一个或多个实施例的俯仰过度判断示意图。
具体实施方式
[0054]
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
[0055]
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0056]
本说明书实施例提供一种基于人脸特征点检测的脸控鼠标方法,包括以下步骤:
[0057]
s101获取用户面部图像;
[0058]
举例来说,可通过摄像头、手机摄像镜头等方式获取用户面部图像。
[0059]
s102识别出用户面部图像中的五个特征点,该五个特征点包括两个外眼角特征点、一个鼻尖特征点和两个嘴角特征点。
[0060]
举例来说,识别特征点的算法可采用mediapipe人脸网状识别技术(mediapipe face mesh),上述两个外眼角又称为外眦或小眼角。
[0061]
s103识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令。
[0062]
s104识别两个外眼角之间的第一距离,和两个嘴角之间的第二距离;
[0063]
s105根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数;
[0064]
s106根据用户的选择,切换单击、双击和右键点击模式;
[0065]
s107若判定触发累积数在第一设定值以上,且处于单击模式,则发出鼠标点击指令,直到判定触发累积数在第二设定值以下时,发出鼠标释放指令;
[0066]
s108若判定触发累积数在第一设定值以上,且处于双击模式,则发出鼠标双击指令;
[0067]
s109若判定触发累积数在第一设定值以上,且处于右键点击模式,则发出鼠标右键点击指令。
[0068]
本说明书实施例提供的基于人脸特征点检测的脸控鼠标方法,通过获取面部图像,并对面部图像进行面部识别,得到对应两个外眼角、一个鼻尖和两个嘴角的五个特征点,通过识别鼻尖特征点的移动量,基于预设模型计算出对应的鼠标光标移动量,并发出移动指令,通过判断用户是否作出微笑表情,并对微笑表情的触发累积数进行计数,分别执行鼠标单击、双击和右键点击指令,并且通过鼠标点击后持续按压和鼻尖控制鼠标光标移动的方式,实现鼠标的拖动指令,进而实现脸控鼠标,相比于现有的面部表情控制鼠标的方式,成本较低且识别准确率高,适用于市场推广。
[0069]
作为一种实施方式,识别出用户面部图像中的五个特征点后,本方法还包括:
[0070]
建立面部图像坐标系,得到所述五个特征点的坐标,包括两个外眼角特征点p1(x1,y)1和p2(x2,y2),鼻尖特征点p3(x3,y3),两个嘴角特征点p4(x4,y4)和p5(x5,y5)。
[0071]
举例来说,面部图像坐标系的原点可设置为面部图像的最左上角一点,则在该实施例中,五个特征点均位于该面部图像坐标系的第四象限。
[0072]
则识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令包括:
[0073]
记录鼻尖特征点当前帧坐标p3(x3,y3)和鼻尖特征点前一帧坐标计算鼠标移动量(v
x
,v
y
),其中v
x
和v
y
的计算负荷以下公式:
[0074]
[0075][0076]
其中k1为x轴上的线性权重,k2为y轴上的线性权重,α1为x轴上的非线性权重,α2为y轴上的非线性权重,vx为x轴上鼠标光标的移动量,vy为y轴上鼠标光标的移动量。
[0077]
k1,k2,α1和α2均为预先设置的常量,通过调整k1和k2,可以调节鼠标光标移动的灵敏度,通过调节α1和α2,可以调节鼠标光标移动的速度,且由于鼠标光标移动量通过非线性计算所得,提高了鼠标移动的响应灵敏度。
[0078]
作为一种实施方式,根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数包括:
[0079]
将p
1 p2线段长记为l1,将p
4 p5线段长记为l2;
[0080]
计算p
4 p5线段长与p
1 p2线段的比例
[0081]
若β>a,则判断用户微笑表情,触发累积数的计数count 1;
[0082]
若b<β≤a,则判断用户无表情,触发累积数的计数count

2。
[0083]
举例来说,a设置为0.4,b设置为0.2,该数值为实验得出的平均情况,可通过系统初始化引导的方式,引导用户测量该阈值,也可以根据实际判定情况进行调整。
[0084]
在实际使用中,根据图像采集方式的不同和器材条件的不同,每秒采集面部图像的帧数可以进行调整,如帧数为每秒5帧,则在检测到用户面部表情为微笑时,触发累积数count 1,在检测到用户面部无表情时,触发累积数的计数count

2。
[0085]
作为一种实施方式,上述第一设定值为5,第二设定值为2,则:
[0086]
若判定触发累积数≥5,且处于单击模式,则发出鼠标点击指令,直到判定触发累积数≤2时,发出鼠标释放指令,而在已经发出鼠标点击指令,而未发出鼠标释放指令的区间内,用户可以通过移动鼻尖的方式,控制鼠标在点击状态下移动,即完成拖动操作;
[0087]
若判定触发累积数≥5,且处于双击模式,则发出鼠标双击指令;
[0088]
若判定触发累积数≥5,且处于右键点击模式,则发出鼠标右键点击指令。
[0089]
作为一种实施方式,上述根据用户的选择,切换单击、双击和右键点击模式包括:
[0090]
在ui界面中向用户提供分别与单击、双击和右键点击模式对应的控制按钮,并将各控制按钮设置为单选式。
[0091]
举例来说,上述单选式,指的是用户同时只能在单击、双击和右键点击模式中选择一种,选择的方式还可以采用单选框等常见设置形式,具体不做限定。
[0092]
作为一种实施方式,本方法还包括:
[0093]
根据用户面部图像中五个特征点的变化,计算用户头部是否俯仰过度;
[0094]
若判定为俯仰过度,则对脸控鼠标单击、双击和右键点击操作进行锁定。
[0095]
若在用户头部俯仰过度时进行微笑表情的识别,则识别结果很多情况下是不准确的,为了避免产生误操作,故若判定为俯仰过度,则对脸控鼠标单击、双击和右键点击操作进行锁定,前述进行锁定,指的是在该情况下,用户不能通过面部表情进行脸控鼠标单击、双击和右键点击操作。
[0096]
举例来说,根据用户面部图像中五个特征点的变化,计算用户头部是否俯仰过度
包括:
[0097]
计算p
1 p
2 p3构成的三角形的面积s1;
[0098]
计算p
3 p
4 p5构成的三角形的面积s2;
[0099]
计算面积s1与面积s2的比值
[0100]
判断γ是否超过设定阈值,若γ超过设定阈值或s2为0,则判定为俯仰过度。
[0101]
如上述设定阈值可设置为0.1≤γ≤1.0。
[0102]
本说明书还提供一种基于人脸特征点检测的脸控鼠标系统,包括:
[0103]
图像获取模块,用于获取用户面部图像;
[0104]
特征点识别模块,用于识别出用户面部图像中的五个特征点,所述五个特征点包括两个外眼角特征点、一个鼻尖特征点和两个嘴角特征点;
[0105]
移动指令控制模块,用于识别鼻尖特征点的移动,并根据预设模型计算出对应的鼠标光标移动量,发出鼠标光标移动指令;
[0106]
计数模块,用于识别两个外眼角之间的第一距离,和两个嘴角之间的第二距离,并根据第一距离和第二距离的比值,判断用户是否微笑,并根据对用户是否微笑的判断,对触发累积数进行计数;
[0107]
模式切换模块,用于根据用户的选择,切换单击、双击和右键点击模式;
[0108]
点击指令控制模块,用于在判定触发累积数在第一设定值以上,且处于单击模式时,发出鼠标左键按压指令,直到判定触发累积数在第二设定值以下时,发出鼠标释放指令;
[0109]
在判定触发累积数在第一设定值以上,且处于双击模式时,发出鼠标双击指令;
[0110]
在判定触发累积数在第一设定值以上,且处于右键点击模式时,发出鼠标右键点击指令。
[0111]
本说明书提供的基于人脸特征点检测的脸控鼠标方法及系统,可以有效解决用户人脸去控制鼠标的功能,实时帧处理快,能够实现实时处理,鼠标移动量通过非线性计算所得,提高了鼠标移动的响应灵敏度,利用比例判断是否微笑,利用微笑动作控制鼠标不同点击模式(单击、双击、右击、拖动),利用特征点的面积比,判断用户头部俯仰是否过度,提高识别准确率。
[0112]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0113]
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,
对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0114]
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献