一种手势识别的方法与流程

文档序号:33246538发布日期:2023-02-17 23:26阅读:64来源:国知局
一种手势识别的方法与流程

1.本发明涉及视频处理技术领域,特别涉及一种手势识别的方法。


背景技术:

2.随着人工智能的发展,将手势识别技术发展成为遥控工具,让用户可以灵活、随心所欲地与周围的数码设备互动成为了新的目标。现有技术中,手势图像信息由一个或多个摄像头采集,采集的数据进行预处理,包括去噪和信息增强。然后,利用分割算法获取图像中的目标手势。通过视频处理和分析得到当前手势的分类和描述,最后通过手势识别算法对目标手势进行识别。基于手势的手势识别主要由手势分割、手势分析和手势识别三部分组成。然而,目前存在的一些手势识别方法复杂耗时,对技术要求较高。


技术实现要素:

3.为了解决上述现有技术中的问题,本技术的目的在于:通过本技术中的手势识别的检测方式,解决识别过程复杂,识别精度不高的问题。
4.具体地,本发明提供一种手势识别的方法,所述方法包括:
5.s1,手部识别,通过识别手部检测神经网络检测出所有手部所在位置;
6.s2,手部关键点识别,将步骤s1中识别出的手部信息传入手部关键点检测神经网络,检测出手部的21个关键点的信息,分别记为关键点0、关键点1、
……
关键点20;
7.s3,手势识别,建立手势位置坐标,进一步包括:
8.s3.1,区分左右手:分别通过表示食指根部位置的关键点5记为x5与中指根部位置的关键点9记为x9、关键点9与无名指根部位置的关键点13记为x
13
、关键点13与小拇指根部位置的关键点17记为x
17
的x坐标关系来判断左右手,即:
9.当x5《x9,x9《x
13
,x
13
《x
17
同时满足时,判断为左手;
10.当x5》x9,x9》x
13
,x
13
》x
17
同时满足时,判断为右手;
11.s3.2,关键点校准:区分出左右手后,分别根据左右手的手部标准关键点坐标,将检测出的手部关键点进行校准,所述手部标准关键点表示手指全部向上的关键点即手部竖直图像中手部关键点,坐标中以所述手部标准关键点作为基准,对检测出的手部关键点进行校准;
12.s3.3,判断手指状态:根据手指的对应关键点的坐标位置关系,判断各个手指的状态是打开状态还是闭合状态;
13.s3.4,判断手势:通过五个手指的状态来判断手势。
14.所述步骤s1中检测出所有手部所在位置,进一步包括:
15.手部检测神经网络为应用大量含有手部的图片数据并通过监督学习的方法即大量数据的迭代训练出的一个数学模型,该模型能够准确且有效的得出图片中手部位置,这个模型的输入就是图片,输出结果就是手部在图片中的位置;
16.如图2所示,用图片来解释,将图片输入到手部检测神经网络中,网络的最终输出
是框定手部轮廓的矩形框的左上角和右下角的坐标x0,y0,x1,y1,这就得到了图片中手掌的所在区域及位置,其中卷积神经网络计算过程是一系列的乘加运算,模型中的参数都是通过长时间大量数据不断优化迭代出来的,训练的手部检测模型即卷积神经网络的输出就是图片中手部区域矩形框的左上右下坐标。
17.所述步骤s2中所述手部关键点检测神经网络,进一步包括:
18.利用卷积神经网络,训练一个检测手部关键点位置信息的网络模型,如图3所示,网络输出是42个数,其中,因一个点的表示为[x,y]需要俩个数,所以21个关键点对应的就是42个数,可以表示为x0[x,y],x1[x,y],
……
,x
20
[x,y],21个关键点的坐标信息,所述s1步骤检测出人体手部区域后,将手部区域抠出来,如图4所示,将图片输入到关键点卷积神经网络,即得到想要的手部关键点的信息,所述21个关键点均位于手掌掌心一侧。
[0019]
所述步骤s3.2中所述的手部标准关键点以竖直展开的手部图片中标注的关键点为基准参考,如图4所示。
[0020]
所述步骤s3.2中所述的校准,进一步包括:
[0021]
如果图片中手部图像是具有一定角度的手掌,例如横向的如图5所示,也就是图4旋转了90度,我们就把这种关键点转化成如图4所示的竖直的图像中的手部标准关键点,因为后部分的逻辑处理是建立在手部标准关键点上的,转化的过程:通过求出非标准手势关键点与手部标准关键点的变换矩阵,直接用非标准的关键点乘以变换矩阵,就可以将有角度的手掌关键点转化成标准的(竖直)的关键点,这个就是所说的“校准”。
[0022]
所述步骤s3.3进一步包括:
[0023]
(1)食指
[0024]
使用表示食指第一关节部的关键点6、食指第二关节部的关键点7、食指指尖的关键点8、中指第一关节部的关键点10、中指第二关节部的关键点11、中指指尖的关键点12的x和y坐标来判断:
[0025]
当y7《y6,y8《y6,x6《x
10
,x7《x
11
,x8《x
12
同时满足时,
[0026]
或y7《y6,y8《y6,x6》x
10
,x7》x
11
,x8》x
12
同时满足时,食指状态为打开状态,其他情况下均为闭合状态;
[0027]
所述图像坐标系主要基于二维图像,如图6所示,使用的是横向为x轴,纵向为y轴,以左上角定点为(0,0)点,x的值越往右越大,y的值越往下越大,例如以上y7《y6,y8《y6,相当于y6点要低于y7和y8,如果满足,则认为该手指状态为打开,后面的判断条件x6《x
10
,x7《x
11
,x8《x
12
的作用是为了更严谨一些,用于区分左右手;
[0028]
(2)中指
[0029]
使用表示食指第一关节部的关键点6、食指第二关节部的关键点7、食指指尖的关键点8、中指第一关节部的关键点10、中指第二关节部的关键点11、中指指尖的关键点12的x和y坐标来判断:
[0030]
当y
11
《y
10
,y
12
《y
10
,x
10
《x6,x
11
《x7,x
12
《x8同时满足时,
[0031]
或y
11
《y
10
,y
12
《y
10
,x
10
》x6,x
11
》x7,x
12
》x8同时满足时,中指状态为打开状态,其他情况下均为闭合状态;
[0032]
(3)无名指
[0033]
使用无名指第一关节部的关键点14、无名指第二关节部的关键点15、无名指指尖
的关键点16的y坐标来判断:
[0034]
当y
15
《y
14
,y
16
《y
14
同时满足时,无名指状态为打开状态,其他情况下均为闭合状态;
[0035]
(4)小拇指
[0036]
判断表示食指第一关节部的关键6、中指第一关节部的关键点10、无名指第一关节部的关键点14的x坐标:
[0037]
当x6》0,x
10
》0,x
14
》0同时满足时,判断小拇指第一关节部的关键点18、小拇指第二关节部的关键点19、小拇指指尖的关键点20的y坐标关系:
[0038]
当y
19
《y
18
,y
20
《y
18
同时满足时,小拇指状态为打开状态;
[0039]
当x6》0,x
10
》0,x
14
》0不能同时满足时,判断关键点18、关键点19、关键点20的y坐标关系:
[0040]
当y
19
《y
18
,y
20
《y
18
同时满足并且(x
18-x
19
)《2即关键点18与19的x坐标距离小于2,(x
19-x
20
)《2即关键点19与20的x坐标距离小于2,同时满足,小拇指状态为打开状态;其余情况下均为闭合状态;
[0041]
(5)大拇指
[0042]
判断食指第一关节部的关键6、中指第一关节部的关键点10、无名指第一关节部的关键点14、小拇指第一关节部的关键点18的x坐标:
[0043]
第一种情况:
[0044]
当x6》0,x
10
》0,x
14
》0,x
18
》0同时满足时,判断关键点2、关键点3、关键点4的x和y坐标关系:x3《x2,x4《x2同时满足或x3》x2,x4》x2同时满足或|nx
2-nx3|《1即关键点2与3的x坐标距离小于1,|nx
2-nx4|《1即关键点2与4的x坐标距离小于1,|ny
2-ny3|《1.5即关键点2与3的y坐标距离小于1.5,|ny
2-ny4|《1.5即关键点2与4的y坐标距离小于1.5,同时满足时,大拇指状态为打开状态;
[0045]
第二种情况:
[0046]
当x6》0,x
10
》0,x
14
》0,x
18
》0不能同时满足时,判断关键点2、关键点3、关键点4的x和y坐标关系:x3《x2,x4《x2,(ny2-ny3)》1.5,(ny2-ny3)》1.5同时满足或x3《x2,x4《x2,(ny
2-ny3)》1.5,(ny
2-ny3)》1.5同时满足,大拇指状态为打开状态;其余情况均为闭合状态。
[0047]
所述步骤s3.4中,一个手指为打开状态则手势标记为one,二个手指为打开状态则手势标记为two,三个手指为打开状态则手势标记为three,四个手指为打开状态则手势标记为four,五个手指均为打开状态则该手势标记为five。
[0048]
由此,本技术的优势在于:本技术的方法能准确的识别手部及关键点,并且通过校准能更好判断关键点位置,可以更简捷快速的判断出手势。
附图说明
[0049]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
[0050]
图1是本发明的方法流程图。
[0051]
图2是本发明方法实施例中手的示意图。
[0052]
图3是本发明方法中未完全展开的手部关键点示意图。
[0053]
图4是本发明方法中手部标准关键点的竖直手部图像的图片示意图。
[0054]
图5是本发明中横向的手部图像的图片示意图。
[0055]
图6是本发明方法中图像坐标系的示意图。
[0056]
图7是本发明方法中的简述流程的示意图。
具体实施方式
[0057]
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
[0058]
如图1所示,本发明涉及一种手势识别的方法,所述方法包括:
[0059]
s1,手部识别,通过识别手部检测神经网络检测出所有手部所在位置;
[0060]
s2,手部关键点识别,将步骤s1中识别出的手部信息传入手部关键点检测神经网络,检测出手部的21个关键点的信息,分别记为关键点0、关键点1、
……
关键点20;
[0061]
s3,手势识别,建立手势位置坐标,进一步包括:
[0062]
s3.1,区分左右手:分别通过表示食指根部位置的关键点5记为x5与中指根部位置的关键点9记为x9、关键点9与无名指根部位置的关键点13记为x
13
、关键点13与小拇指根部位置的关键点17记为x
17
的x坐标关系来判断左右手,即:
[0063]
当x5《x9,x9《x
13
,x
13
《x
17
同时满足时,判断为左手;
[0064]
当x5》x9,x9》x
13
,x
13
》x
17
同时满足时,判断为右手;
[0065]
s3.2,关键点校准:区分出左右手后,分别根据左右手的手部标准关键点坐标,将检测出的手部关键点进行校准;
[0066]
s3.3,判断手指状态:根据手指的对应关键点的坐标位置关系,判断各个手指的状态是打开状态还是闭合状态;
[0067]
s3.4,判断手势:通过五个手指的状态来判断手势。
[0068]
所述步骤s1中检测出所有手部所在位置,进一步包括:
[0069]
手部检测神经网络为应用大量含有手部的图片数据并通过监督学习的方法即大量数据的迭代训练出的一个数学模型,该模型能够准确且有效的得出图片中手部位置,这个模型的输入就是图片,输出结果就是手部在图片中的位置;
[0070]
如图2所示,用图片来解释,将图片输入到手部检测神经网络中,网络的最终输出是框定手部轮廓的矩形框的左上角和右下角的坐标x0,y0,x1,y1,这就得到了图片中手掌的所在区域及位置,其中卷积神经网络计算过程是一系列的乘加运算,模型中的参数都是通过长时间大量数据不断优化迭代出来的,训练的手掌检测模型即卷积神经网络的输出就是图片中手部区域矩形框的左上右下坐标。
[0071]
所述步骤s2中所述手部关键点检测神经网络,进一步包括:
[0072]
利用卷积神经网络,训练一个检测手部关键点位置信息的网络模型,如图3所示,网络输出是42个数,表示为x0[x,y],x1[x,y],
……
,x
20
[x,y],21个关键点的坐标信息,所述s1步骤检测出人体手部区域后,将手部区域抠出来,就如图4所示,将图片输入到关键点卷积神经网络,即得到想要的手部关键点的信息。
[0073]
如图4所示,所述21个关键点均位于手掌掌心一侧,包括:
[0074]
关键点0:记为x0,取手腕中心点;
[0075]
关键点1:记为x1,取手腕中心点与大拇指根部位置的中心点;
[0076]
关键点2:记为x2,取大拇指根部位置的点,
[0077]
关键点3:记为x3,取大拇指根部与大拇指指尖之间的关节部的点;
[0078]
关键点4:记为x4,取大拇指指尖位置的点;
[0079]
关键点5:记为x5,取食指根部位置的点;
[0080]
关键点6:记为x6,取食指根部与食指指尖之间的第一关节部的点;
[0081]
关键点7:记为x7,取食指根部与食指指尖之间的第二关节部的点;
[0082]
关键点8:记为x8,取食指指尖位置的点;
[0083]
关键点9:记为x9,取中指根部位置的点;
[0084]
关键点10:记为x
10
,取中指根部与中指指尖之间的第一关节部的点;
[0085]
关键点11:记为x
11
,取中指根部与中指指尖之间的第二关节部的点;
[0086]
关键点12:记为x
12
,取中指指尖位置的点;
[0087]
关键点13:记为x
13
,取无名中指根部位置的点;
[0088]
关键点14:记为x
14
,取无名指根部与无名指指尖之间的第一关节部的点;
[0089]
关键点15:记为x
15
,取无名指根部与无名指指尖之间的第二关节部的点;
[0090]
关键点16:记为x
16
,取无名指指尖位置的点;
[0091]
关键点17:记为x
17
,取小拇指指根部位置的点;
[0092]
关键点18:记为x
18
,取小拇指指根部与小拇指指尖之间的第一关节部的点;
[0093]
关键点19:记为x
19
,取小拇指指根部与小拇指指尖之间的第二关节部的点;
[0094]
关键点20:记为x
20
,取小拇指指尖位置的点。
[0095]
所述步骤s3.2中所述的手部标准关键点为竖直展开的手部图片中标注的关键点为基准参考,如图4所示。
[0096]
所述步骤s3.2中所述的校准,进一步包括:
[0097]
如果图片中手部图像是具有一定角度的手掌,例如横向的如图5所示,也就是图4旋转了90度,我们就把这种关键点转化成如图4所示的竖直的图像中的手部标准关键点,因为后部分的逻辑处理是建立在手部标准关键点上的,转化的过程:通过求出非标准手势关键点与手部标准关键点的变换矩阵,直接用非标准的关键点乘以变换矩阵,就可以将有角度的手掌关键点转化成标准的(竖直)的关键点,这个就是所说的“校准”。其中,求变换矩阵,首先变换矩阵是一个线性变换的矩阵表示,常用的几何变换都是线性变换,在二维空间中,线性变换可以用2
×
2的变换矩阵表示。例如,这里简单的可以用到的是旋转变换,其变换公式为x'=xcosθ-ysinθ与y'=xsinθ+ycosθ,用矩阵表示为:
[0098][0099]
如上式,知道右边x,y为检测出的手部关键点,左边的x’,y’表示手部标准关键点,这两个值都知道了,就可以逆向求出中间这个变换矩阵。
[0100]
所述步骤s3.3进一步包括:
[0101]
手指的打开状态主要依据图像坐标系中检测出的手部关键点的y坐标的大小关系判断,此外,相邻手指的判断可加也可不加,加上则更优,依据x值的判断分出左右手和手掌或手背;
[0102]
(1)食指
[0103]
使用表示食指第一关节部的关键点6、食指第二关节部的关键点7、食指指尖的关键点8、中指第一关节部的关键点10、中指第二关节部的关键点11、中指指尖的关键点12的x和y坐标来判断:
[0104]
当y7《y6,y8《y6,x6《x
10
,x7《x
11
,x8《x
12
同时满足时,
[0105]
或y7《y6,y8《y6,x6》x
10
,x7》x
11
,x8》x
12
同时满足时,食指状态为打开状态,其他情况下均为闭合状态;
[0106]
所述图像坐标系主要基于二维图像,使用的是图像坐标系,如图6所示,横向为x轴,纵向为y轴,以左上角定点为(0,0)点,x的值越往右越大,y的值越往下越大,例如以上y7《y6,y8《y6,相当于y6点要低于y7和y8,如果满足,则认为该手指状态为打开,后面的判断条件x6《x
10
,x7《x
11
,x8《x
12
的作用是为了更严谨一些,用于区分左右手;
[0107]
(2)中指
[0108]
使用表示食指第一关节部的关键点6、食指第二关节部的关键点7、食指指尖的关键点8、中指第一关节部的关键点10、中指第二关节部的关键点11、中指指尖的关键点12的x和y坐标来判断:
[0109]
当y
11
《y
10
,y
12
《y
10
,x
10
《x6,x
11
《x7,x
12
《x8同时满足时,
[0110]
或y
11
《y
10
,y
12
《y
10
,x
10
》x6,x
11
》x7,x
12
》x8同时满足时,中指状态为打开状态,其他情况下均为闭合状态;
[0111]
(3)无名指
[0112]
使用无名指第一关节部的关键点14、无名指第二关节部的关键点15、无名指指尖的关键点16的y坐标来判断:
[0113]
当y
15
《y
14
,y
16
《y
14
同时满足时,无名指状态为打开状态,其他情况下均为闭合状态;
[0114]
手指的打开状态主要靠y值的大小关系判断,相邻手指的判断可加也可不加,加上更加严谨一些,这里也可以加上,x
14
《x
10
,x
15
《x
11
,x
16

12
或x
14
》x
10
,x
15
》x
11
,x
16

12
,其中x值的判断分左右手和手掌或手背。
[0115]
(4)小拇指
[0116]
判断表示食指第一关节部的关键6、中指第一关节部的关键点10、无名指第一关节部的关键点14的x坐标:
[0117]
当x6》0,x
10
》0,x
14
》0同时满足时,判断小拇指第一关节部的关键点18、小拇指第二关节部的关键点19、小拇指指尖的关键点20的y坐标关系:
[0118]
当y
19
《y
18
,y
20
《y
18
同时满足时,小拇指状态为打开状态;
[0119]
当x6》0,x
10
》0,x
14
》0不能同时满足时,判断关键点18、关键点19、关键点20的y坐标关系:
[0120]
当y
19
《y
18
,y
20
《y
18
同时满足并且(x
18-x
19
)《2即关键点18与19的x坐标距离小于2,(x
19-x
20
)《2即关键点19与20的x坐标距离小于2,同时满足,小拇指状态为打开状态;其余情况下均为闭合状态;
[0121]
(5)大拇指
[0122]
判断食指第一关节部的关键6、中指第一关节部的关键点10、无名指第一关节部的关键点14、小拇指第一关节部的关键点18的x坐标:
[0123]
第一种情况:
[0124]
当x6》0,x
10
》0,x
14
》0,x
18
》0同时满足时,判断关键点2、关键点3、关键点4的x和y坐标关系:x3《x2,x4《x2同时满足或x3》x2,x4》x2同时满足或|nx
2-nx3|《1即关键点2与3的x坐标距离小于1,|nx
2-nx4|《1即关键点2与4的x坐标距离小于1,|ny
2-ny3|《1.5即关键点2与3的y坐标距离小于1.5,|ny
2-ny4|《1.5即关键点2与4的y坐标距离小于1.5,同时满足时,大拇指状态为打开状态;
[0125]
第二种情况:
[0126]
当x6》0,x
10
》0,x
14
》0,x
18
》0不能同时满足时,判断关键点2、关键点3、关键点4的x和y坐标关系:x3《x2,x4《x2,(ny2-ny3)》1.5,(ny2-ny3)》1.5同时满足或x3《x2,x4《x2,(ny
2-ny3)》1.5,(ny
2-ny3)》1.5同时满足,大拇指状态为打开状态;其余情况均为闭合状态。
[0127]
所述步骤s3.4中,判断手势:通过五个手指的状态来判断手势,例如,一个手指为打开状态则手势为“one”,二个手指为打开状态则手势为“two”,三个手指为打开状态则手势为“three”,四个手指为打开状态则手势为“four”,五个手指均为打开状态则该手势为“five”。
[0128]
如图7所示,本方法流程的简述如下:
[0129]
开始后,依次进行手部识别,手部关键点识别,区分左右手,关键点校准,判断手指状态,最终判断手势。
[0130]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1