手掌位置确定方法、装置、电子设备及存储介质与流程

文档序号:29210677发布日期:2022-03-12 05:03阅读:110来源:国知局
手掌位置确定方法、装置、电子设备及存储介质与流程

1.本发明涉及人机交互领域,尤其涉及手掌位置确定方法、装置、电子设备及存储介质。


背景技术:

2.由于计算机视觉技术的发展,在人机交互领域,基于计算机视觉的手势控制已经成为被广泛应用的一种交互方式,手势控制通常是使用摄像头跟踪人体动作行为,通过人的动作姿态向设备发送控制指令。这样可以无需遥控器等控制设备,或鼠标键盘等传统输入输出设备,即可在一定距离范围内实现徒手遥控设备。但是,很多的手势识别场景都非常依赖于准确框出手的位置和大小,而目前常用的基于深度学习的目标检测算法通常只能大概框出手的位置和大小,其精度并不高,进而也会影响后续手势识别的准确性。因此,如何实现手掌位置的准确定位是一个值得研究的问题。


技术实现要素:

3.基于上述现状,本技术的主要目的在于提供手掌位置确定方法、装置、电子设备及存储介质,能够根据手掌关键点分析手的倾斜度,以该倾斜度确定可以定位手掌位置的矩形框,以确定手掌大小以及位置。
4.为实现上述目的,本技术采用的技术方案如下:
5.一种手掌位置确定方法,所述方法包括:
6.对包含目标手掌的待检测图像进行关键点检测,确定所述目标手掌的各个关键点;
7.对所述目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线;
8.根据多个所述线性拟合直线的斜率确定所述目标手掌的倾斜度;
9.依据所述倾斜度和所述目标手掌各个关键点的位置,得到指示所述目标手掌的大小和位置的位置框,所述位置框涵盖所述目标手掌的所有关键点。
10.在一种可能的实现方式中,对包含目标手掌的待检测图像进行关键点检测前,所述方法还包括:
11.通过目标检测定位模型对获取的图像进行目标手掌的预定位,得到预定位结果;
12.依据所述预定位结果从所述获取的图像中裁剪包含所述目标手掌的子图像,得到所述待检测图像。
13.在一种可能的实现方式中,所述根据多个所述线性拟合直线的斜率确定所述目标手掌的倾斜度包括:
14.根据所述多个线性拟合直线的斜率确定对应的多个倾斜角;
15.去除所述多个倾斜角中的离群值后,得到多个有效倾斜角;
16.对所述多个有效倾斜角求取平均值,得到平均角度,确定所述平均角度为所述目
标手掌的倾斜度。
17.在一种可能的实现方式中,所述依据所述倾斜度和所述目标手掌各个关键点的位置,得到指示所述目标手掌的大小和位置的位置框包括:
18.依据所述倾斜度,确定所述目标手掌的方向;
19.若所述目标手掌的方向为竖直或水平方向,根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框;
20.若所述目标手掌的方向不是竖直或水平方向,计算初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框。
21.在一种可能的实现方式中,所述依据所述倾斜度,确定所述目标手掌的方向包括:
22.当所述倾斜度符合第一预设条件时,判定所述目标手掌的方向为竖直或水平方向;
23.当所述倾斜度不符合第一预设条件,判定所述目标手掌的方向不是竖直或水平方向,其中,第一预设条件为:所述倾斜度对应的斜率值的绝对值大于等于第一预设阈值t1或小于1/t1。
24.在一种可能的实现方式中,所述根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框包括:
25.以所有关键点中的最小横坐标值作为第一横坐标值xs,最大横坐标值作为第二横坐标值xg;
26.以所有关键点中的最小纵坐标值作为第一纵坐标值ys,最大纵坐标值作为第二纵坐标值yg;
27.以(xs,ys)、(xs,yg)、(xg,ys)、(xg,yg)作为所述初始检测框的各个顶点坐标;
28.将所述初始检测框放大后,得到所述位置框。
29.在一种可能的实现方式中,所述计算所述初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框包括:
30.计算以平均斜率k为斜率的直线,经过所述目标手掌的所有关键点时所确定的第一最大截距pg和第一最小截距ps;所述平均斜率k根据所述目标手掌的倾斜度确定;
31.计算以所述平均斜率k的负倒数为斜率的直线,经过所述目标手掌的所有关键点时的第二最大截距tg和第二最小截距ts;
32.根据所述第一最大截距pg、所述第一最小截距ps、所述第二最大截距tg、所述第二最小截距ts以及所述平均斜率k确定所述初始检测框的四边对应的四个函数,所述四个函数为:y=x*k+ps、y=x*k+pg、y=-x/k+ts、y=-x/k+tg;
33.以所述四个函数围成的矩形框作为所述初始检测框;
34.将所述初始检测框放大后,得到所述位置框。
35.在一种可能的实现方式中,所述得到指示所述目标手掌的大小和位置的位置框包括:
36.生成涵盖所述目标手掌的所有关键点的矩形框;
37.将所述矩形框放大后得到所述位置框。
38.为实现上述目的,本技术还提供一种手掌位置确定装置,所述手掌位置确定装置包括:
39.关键点检测模块,用于对包含目标手掌的待检测图像进行关键点检测,确定所述目标手掌的各个关键点;
40.线性拟合模块,用于对所述目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线;
41.倾斜度确定模块,用于根据多个所述线性拟合直线的斜率确定所述目标手掌的倾斜度;
42.位置框生成模块,用于依据所述倾斜度和所述目标手掌各个关键点的位置,得到指示所述目标手掌的大小和位置的位置框,所述位置框涵盖所述目标手掌的所有关键点。
43.在一种可能的实现方式中,所述手掌位置确定装置还可以包括:
44.图像预定位模块,用于通过目标检测定位模型对获取的图像进行所述目标手掌的预定位,得到预定位结果;
45.子图像获取模块,用于依据所述预定位结果从所述获取的图像中裁剪包含所述目标手掌的子图像,得到所述待检测图像。
46.在一种可能的实现方式中,所述位置框生成模块生成涵盖所述目标手掌的所有关键点的位置框包括:
47.生成所述涵盖所述目标手掌的所有关键点的矩形框;
48.将所述矩形框放大后得到所述位置框。
49.在一种可能的实现方式中,所述倾斜度确定模块包括:
50.倾斜角确定单元,用于根据所述多个线性拟合直线的斜率确定对应的多个倾斜角;
51.有效判断单元,用于去除所述多个倾斜角中的离群值后,得到多个有效倾斜角;
52.倾斜度计算单元,用于对所述多个有效倾斜角求取平均值,得到平均角度,确定所述平均角度为所述目标手掌的倾斜度。
53.在一种可能的实现方式中,所述位置框生成模块包括:
54.方向确定单元,用于依据所述倾斜度,确定所述目标手掌的方向;
55.位置框计算单元,用于在所述目标手掌的方向为竖直或水平方向时,根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框;以及,
56.在所述目标手掌的方向不是竖直或水平方向时,计算所述初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框。
57.在一种可能的实现方式中,所述方向确定单元进行方向判断包括:
58.当所述倾斜度符合第一预设条件时,判定所述目标手掌的方向为竖直或水平方向;
59.当所述倾斜度不符合第一预设条件,判定所述目标手掌的方向不是竖直或水平方向,其中,第一预设条件为:所述倾斜度对应的斜率值的绝对值大于等于第一预设阈值t1或小于1/t1。
60.在一种可能的实现方式中,位置框计算单元包括:
61.坐标计算子单元,用于在所述目标手掌的方向为竖直或水平方向时:
62.以所有关键点中的最小横坐标值作为第一横坐标值xs,最大横坐标值作为第二横
坐标值xg;
63.以所有关键点中的最小纵坐标值作为第一纵坐标值ys,最大纵坐标值作为第二纵坐标值yg;
64.以(xs,ys)、(xs,yg)、(xg,ys)、(xg,yg)作为所述初始检测框的各个顶点坐标;
65.放大子单元,用于:
66.将所述初始检测框放大后,得到所述位置框。
67.在一种可能的实现方式中,所述位置框计算单元还包括:
68.函数求取单元,用于在所述目标手掌的方向不是竖直或水平方向时:
69.计算以平均斜率k为斜率的直线,经过所述目标手掌的所有关键点时所确定的第一最大截距pg和第一最小截距ps;所述平均斜率k根据所述目标手掌的倾斜度确定;
70.计算以所述平均斜率k的负倒数为斜率的直线,经过所述目标手掌的所有关键点时的第二最大截距tg和第二最小截距ts;
71.根据所述第一最大截距pg、所述第一最小截距ps、所述第二最大截距tg、所述第二最小截距ts以及所述平均斜率k确定所述初始检测框的四边对应的四个函数,所述四个函数为:y=x*k+ps、y=x*k+pg、y=-x/k+ts、y=-x/k+tg;
72.以所述四个函数围成的矩形框作为所述初始检测框。
73.为实现上述目的,本技术还提供一种电子设备,包括处理器,所述处理器用于实现如上所述的手掌位置确定方法。
74.为实现上述目的,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,执行如上所述的手掌位置确定方法。
75.有益效果:
76.本技术实施例采用上述手掌位置确定方法,先检测目标手掌的关键点,对目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线,由多个线性拟合直线确定目标手掌的倾斜度,结合各个关键点的位置,得到一个涵盖目标手掌所有关键点的位置框,可以指示目标手掌的大小和位置。基于初步检测得到的关键点来分析手掌的倾斜度,基于倾斜度,结合得到的关键点来划定位置框,可以确保得到的位置框的倾斜度、大小与目标手掌基本一致,定位也更为精确,后续基于该位置框进行手势识别以及目标手掌的持续追踪时,可以减少图像中背景环境的干扰或者避免遗漏关键点,确保特征的提取更为准确。
77.本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
78.以下将参照附图对根据本发明的优选实施方式进行描述。图中:
79.图1所示是本技术一实施方式中手掌位置确定方法的流程示意图;
80.图2所示是本技术一实施方式中一手掌21个关键点示意图;
81.图3所示是本技术一实施方式中对目标手掌各手指关键点进行线性拟合一示意
图;
82.图4所示是本技术一实施方式中针对图3中目标手掌生成的位置框一示意图;
83.图5所示是本技术一实施方式中手掌位置确定装置的功能框图;
84.图6所示是用来实现本技术公开实施例的电子设备的结构示意图。
具体实施方式
85.为了对本技术的技术方案进行更详细的说明,以促进对本技术的进一步理解,下面结合附图描述本技术的具体实施方式。但应当理解,所有示意性实施例及其说明用于解释本技术,并不构成对本技术的唯一限定。
86.本技术中,“第一”、“第二”、“第三”、“第四”等仅仅用于描述目的,并不能理解为指示或暗示相对重要性。
87.为便于对本技术公开的各个实施例进行理解,首先对本技术各个实施例所公开的手掌位置确定方法进行详细介绍。本技术各个实施例所提供的手掌位置确定方法的执行主体一般可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在具有一定计算能力的电子设备中,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机、智能交互显示设备等等的固定终端等。在一些可能的实现方式中,该手掌位置确定方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
88.请参考图1所示,为本技术一实施例所提供的一种手掌位置确定方法的流程示意图,所述方法包括步骤s100-s400:
89.s100,对包含目标手掌的待检测图像进行关键点检测,确定所述目标手掌的各个关键点;
90.s200,对所述目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线;
91.s300,根据多个所述线性拟合直线的斜率确定所述目标手掌的倾斜度;
92.s400,依据所述倾斜度和所述目标手掌各个关键点的位置,得到指示所述目标手掌的大小和位置的位置框,所述位置框涵盖所述目标手掌的所有关键点。
93.本技术实施例采用上述方法,先检测目标手掌的关键点,对目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线,由多个线性拟合直线确定目标手掌的倾斜度,结合各个关键点的位置,生成一个涵盖目标手掌所有关键点的位置框。基于初步检测得到的关键点来分析手掌的倾斜度,基于倾斜度,结合得到的所有关键点来划定位置框,可以确保得到的位置框的倾斜度、大小与目标手掌基本一致,定位也更为精确,基于该位置框进行手势识别以及目标手掌的持续追踪时,可以减少背景图像中背景环境的干扰或者避免遗漏关键点,确保特征的提取更为准确。
94.以下对步骤s100-s400进行详细的说明:
95.步骤s100中,关键点检测可以通过预先训练好的关键点检测模型进行,关键点检测模型可以采用深度神经网络模型,示例性的,可以采用例如resnet网络结构、mobilenet
网络结构、nasnet网络结构等深度神经网络模型。
96.关键点检测模型可以为不同数量的关键点检测模型,示例性的,可以为21个关键点检测模型,如图2所示,为常见的手掌21个关键点的示意图,本技术后续实施例中均以关键点检测模型输出21个关键点为例进行说明,但不代表本技术各实施例中只能采用21个关键点,本技术的手掌位置确定方法可以适用于采用任何数量的关键点检测模型,例如,也可以是14个关键点。
97.本实施例中,在步骤s100之前,还可以包括如下步骤:
98.s101,通过目标检测定位模型对获取的图像进行所述目标手掌的预定位,得到预定位结果;
99.s102,依据所述预定位结果从所述获取的图像中裁剪包含所述目标手掌的子图像,得到所述待检测图像。
100.上述步骤s101和s102中,通常采用摄像头拍摄电子设备控制者的动作的动态视频,从动态视频中可以获取到一帧一帧的图像,对每一帧获取的图像进行预处理,预处理包括如缩放、增强等操作。目标检测定位模型可以为预先训练好的神经网络模型,示例性的,可以采用例如yolo-v1/2/3/4网络结构,ssd网络结构,fpn网络结构等神经网络模型。训练好的目标检测定位模型可以对获取的图像中的目标手掌进行一个预定位,根据预定位的结果,通常可以生成一个较为粗略的检测框,框内可以包含目标手掌的位置,但通常该检测框都会比较大,包含较多的背景信息。根据包含目标手掌的检测框直接从获取的图像中的待定位图像裁剪出来一个子图像,子图像可以作为后续关键点检测模型的输入图像,即待检测图像。
101.可以理解,在本发明中,“生成”并不表示需要实际显示该检测框或位置框等,包括但不限于得到可确定检测框或位置框具体位置和范围的相应数据、或者直接绘制该检测框或位置框并显示。
102.上述步骤s101和s102中,对于待定位图像先通过训练好的神经网络模型进行预定位后裁剪出包含目标手掌的待检测图像,可以使得后续进行关键点检测时需要处理的图像数据较少,加快关键点的检测,也避免更多无关数据的混杂影响检测结果。
103.步骤s200中,取目标手掌掌根处的关键点,和其他每个手指上的4个关键点进行线性拟合,可以得到每个手指对应的线性拟合直线。本实施例中,在5个关键点全部使用的前提下,线性拟合的方式优先采用最小二乘法进行拟合。可以理解的是,在其他实施例中,也可以采用其他线性拟合的方式,包括但不限于梯度下降法、梯度下降法、高斯牛顿法等。
104.本实施例中,可以对5个手指均得到一个对应的线性拟合直线,也可以只对其中的某几个手指得到对应的线性拟合直线。
105.步骤s300中,每个线性拟合直线的斜率,对应着一个倾斜角,该倾斜角表示该手指与目标手掌所在平面坐标系横坐标轴x的夹角。对于多个倾斜角,可以通过求平均值的方式得到一个平均角度,本技术中,角度值或斜率值都可以作为衡量目标手掌的倾斜度的参数,因此,该平均角度,或是该平均角度对应的平均斜率,都可以作为目标手掌的倾斜度。
106.步骤s400中,确定了目标手掌的倾斜度后,可以基于该倾斜度绘制一个同样倾斜度的矩形框,同时,根据各个关键点的位置,也可以分析确定目标手掌的大小,由此确定矩形框的最小面积和中心位置,让矩形框内包含所有的关键点。示例性的,可以通过所有关键
点的中最上、最下、最右、最左四个点确定一个中心点,以该中心点为矩形框的中心点,并使矩形框的四边至少将上述四个点包含在内,以确保矩形框涵盖所有的关键点,上述矩形框可以直接作为位置框,也可以放大预设倍数后作为位置框。该位置框的准确性更高,在后续的手势识别或进行目标手掌的持续追踪时,可以以该位置框的识别结果为准,进一步从待检测图像中裁剪出一个更小的图像输入后续的其他模型中,这样,既可以减少计算量,也可以减少背景图像中背景环境的干扰或者避免遗漏关键点,确保特征的提取更为准确。
107.在一可选实施例中,步骤s200中,考虑拇指一般较为灵活,且与其他四指通常不在一个方向上,与手掌的方向也通常不在一个方向上,对于确认手掌的方向并无帮助,因此,可以只对除拇指外的其他4个拇指得到对应线性拟合直线,示例性的,如图3所示,所示是本实施例中对目标手掌各手指关键点进行线性拟合的示意图,如图3所示,可以在待检测图像中建立xy坐标系,对每个手指上的四个关键点和掌根处的关键点进行线性拟合,可以得到4个线性拟合直线l1、l2、l3、l4。
108.采用上述实施例的方案,可以减少线性拟合的计算数量,还可以避免对目标手掌的倾斜度的确定带来较大的误差,使得最终确定的位置框更为准确。
109.在一可选实施例中,步骤s300包括如下步骤:
110.s301,根据所述多个线性拟合直线的斜率确定对应的多个倾斜角;
111.s302,去除所述多个倾斜角中的离群值后,得到多个有效倾斜角;
112.s303,对所述多个有效倾斜角求取平均值,得到平均角度,确定所述平均角度为所述目标手掌的倾斜度。
113.在上述步骤s301-s303中,每个线性拟合直线的斜率对应可以确定该直线的倾斜角。示例性的,仍旧以图3中的4个线性拟合直线l1、l2、l3、l4为例,其分别对应有4个倾斜角a1、a2、a3、a4。对于a1、a2、a3、a4,通过聚类算法分析其中的离群值,去掉离群值,剩余的确定为有效倾斜角。示例性的,可以先求出a1、a2、a3、a4的平均值,分别计算a1、a2、a3、a4到该平均值的曼哈顿距离l1,求得平均曼哈顿距离lm,若对于某个倾斜角,l1≥t*lm,则判定该倾斜角为离群值。此处,t为指定阈值,可以根据需要剔除的离群值数量确定,通常为大于等于2的整数。本实施例中,由于倾斜角数量不多,因此,剔除的离群值一般为1个。剔除离群值后,对剩下的有效倾斜角求平均值(例如,算术平均值,加权平均值等),得到一个平均角度,一般情况下,该平均角度可以作为目标手掌的倾斜度。
114.采用上述实施例的方案,可以剔除掉误差较大的倾斜角,进一步提高目标手掌倾斜度的准确性,使得最终确定的位置框更为准确。同时,在计算位置框的过程中,也可以得到手掌的四指指向,对于特定场景中的手势识别具有一定的作用。
115.可以理解的是,如果采用斜率值作为衡量目标手掌的倾斜度的参数,则平均角度对应的平均斜率可以作为目标手掌的倾斜度。
116.在一可选实施例中,步骤s400包括如下步骤:
117.s401,依据所述倾斜度,确定所述目标手掌的方向;
118.s402,若所述目标手掌的方向为竖直或水平方向,根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框;
119.s403,若所述目标手掌的方向不是竖直或水平方向,计算初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框。
120.上述步骤s401-s403中,根据倾斜度,可以确定目标手掌的方向,例如,当采用角度值作为衡量倾斜度的参数时,如果平均角度为90度或0度,则说明时目标手掌竖直方向、水平方向,如果平均角度是0度到90度之间的其他角度,则说明不是竖直或水平方向。若目标手掌的方向为竖直或水平方向,则位置框可以为没有倾斜度的矩形框,此时,可以直接根据各个关键点的位置计算初始检测框的四个顶点位置。若目标手掌的方向为不是竖直或水平方向,此时,则需要计初始检测框四个边对应的函数,这四个边至少通过最上、最下、最右、最左四个点关键点的位置,斜率由目标手掌的倾斜度决定,确定四个函数后,则该函数对应的直线同时确定,此时,四个直线可以围合成一个矩形框,即初始检测框。由初始检测框可以生成位置框,例如,可以放大一定倍数后得到位置框,这样可以避免边缘点恰好在位置框的边界上,导致手势检测时遗漏关键点。在其他实施例中,初始检测框也可以直接作为位置框。
121.需要说明的是,本技术中,竖直方向是指手掌除拇指外的其他四个手指均为竖直向上或竖直向下方向,对应的,此时掌根处于上述四个手指的竖直向下方向或竖直向上方向上。水平方向是指手掌除拇指外的其他四个手指均为水平向左或水平向右方向,对应的,此时掌根处于上述四个手指的水平向右方向上或水平向左方向上。本技术中对于手掌掌心的朝向不做限制,可以是掌心朝向拍摄方向,也可以是掌心背向拍摄方向。
122.在上述实施例中,步骤s401包括:
123.s4011,当所述倾斜度符合第一预设条件时,判定所述目标手掌的方向为竖直或水平方向;
124.s4012,当所述倾斜度不符合第一预设条件,判定所述目标手掌的方向不是竖直或水平方向,其中,第一预设条件为:所述倾斜度对应的斜率值的绝对值大于等于第一预设阈值t1或小于1/t1。
125.上述步骤s401-s403中,倾斜度可以为角度值或斜率值,若对角度值进行判定,则需要对不同范围内的角度分别设定不同的判断标准(例如,90度和270度对应的判断标准不同,但都属于竖直方向),才可确定其方向,若以斜率值进行判断,则只需进行绝对值的判定即可统一判断标准,因此,在本实施例中,优选以斜率值进行方向判断。若倾斜度为平均角度,则先求得其对应的平均斜率,若倾斜度为平均斜率,则直接进行判定以平均斜率为对应的斜率值即可。假设平均斜率为k,根据该斜率的值,可以对目标手掌的方向进一步进行修正。当k的绝对值大于等于第一预设阈值t1(例如,取10,或更大的一个值,可以依据需要设定),说明倾斜度接近于90度或是270度,直接修正k=∞,并且,判定此时目标手掌的方向为竖直。当k绝对值小于等于1/t1,则可以认为倾斜角接近于0度或是180度,满足此条件的k可以判定目标手掌为水平方向,则直接修正k=0。如果k为大于1/t1,且小于t2,则无需修正。
126.在实际应用时,用户的手掌通常不会达到严格的竖直或水平方向,因此,可以允许存在一定的偏差,只要达到的一定的倾斜度,既可以认为手掌是竖直或水平方向,采用上述实施例的方法,更符合实际应用场景,基于此确定的手掌方向,在以后后续的手势识别和跟踪中,可以避免过于灵敏导致误识别。
127.在上述实施例中,步骤s402中,根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框包括:
128.s4021,以所有关键点中的最小横坐标值作为第一横坐标值xs,最大横坐标值作为
第二横坐标值xg;
129.s4022,以所有关键点中的最小纵坐标值作为第一纵坐标值ys,最大纵坐标值作为第二纵坐标值yg;
130.s4023,以(xs,ys)、(xs,yg)、(xg,ys)、(xg,yg)作为所述初始检测框的各个顶点坐标;
131.s4024,将所述初始检测框放大后,得到所述位置框。
132.上述步骤s4021-s4024中,初始检测框和位置框都为矩形框,当目标手掌为竖直或水平方向时,只要采用上述方式确定的顶点作为初始检测框的顶点,至少可以保证关键点不落在初始检测框之外。考虑到21个关键点也并无法覆盖整个目标手掌,且有些关键点可能恰好落在初始检测框的顶点处或边界处,因此,可以对初始检测框进行一定程度的放大,例如:放大系数h在1.05~1.5之间。具体的方式可以为:初始检测框中心不变,四边向外移动,使矩形框面积为初始检测框面积的h倍。
133.在上述实施例中,步骤s403中,计算所述初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框包括:
134.s4031,计算以平均斜率k为斜率的直线,经过所述目标手掌的所有关键点时所确定的第一最大截距pg和第一最小截距ps;所述平均斜率k根据所述所述目标手掌的倾斜度确定;
135.s4032,计算以所述平均斜率k的负倒数为斜率的直线,经过所述目标手掌的所有关键点时的第二最大截距tg和第二最小截距ts;
136.s4033,根据所述第一最大截距pg、所述第一最小截距ps、所述第二最大截距tg、所述第二最小截距ts以及所述平均斜率k确定所述初始检测框的四边对应的四个函数,所述四个函数为:y=x*k+ps、y=x*k+pg、y=-x/k+ts、y=-x/k+tg;
137.s4034,以所述四个函数围成的矩形框作为所述初始检测框;
138.s4035,将所述初始检测框放大后,得到所述位置框。
139.上述步骤s4031-s4035中,四个函数围成的矩形框可以参考图4所示,图4所示是本技术一实施方式中针对图3中目标手掌生成的位置框一示意图。如果所示,p0为通过上述方式求得的初始检测框,该初始检测框的四个边分别由y=x*k+ps、y=x*k+pg、y=-x/k+ts、y=-x/k+tg确定,上述四个边分别通过了21个关键点中最下、最上、最左、最右的四个点,围合成了一个矩形框,该初始检测框内涵盖了所有的21个关键点。按上述方法方式对该初始检测框进行放大后,可以得到最终的位置框p1。
140.在一可选实施例中,步骤s400中所述得到指示所述目标手掌的大小和位置的位置框包括:
141.生成所述生成涵盖所述目标手掌的所有关键点的矩形框;
142.将所述矩形框放大后得到所述位置框。
143.上述步骤中,矩形框相当于如前所述的初始检测框,考虑到即便是涵盖了所有关键点,也并无法覆盖整个目标手掌,且有些关键点可能恰好落在矩形框的顶点处或边界处,因此,可以对矩形框进行一定程度的放大,例如:放大系数h在1.05~1.5之间。具体的方式可以为:矩形框中心不变,各边向外移动,使位置框面积为矩形框面积的h倍。
144.请参考图5,所示是本技术一实施例提供的手掌位置确定装置的功能模块示意图,
如图所示,手掌位置确定装置100包括:
145.关键点检测模块110,用于对包含目标手掌的待检测图像进行关键点检测,确定所述目标手掌的各个关键点;
146.线性拟合模块120,用于对所述目标手掌掌根的关键点和同属一个手指的多个关键点进行线性拟合,得到与多个手指对应的线性拟合直线;
147.倾斜度确定模块130,用于根据多个所述线性拟合直线的斜率确定所述目标手掌的倾斜度;
148.位置框生成模块140,用于依据所述倾斜度和所述目标手掌各个关键点的位置,得到指示所述目标手掌的大小和位置的位置框,所述位置框涵盖所述目标手掌的所有关键点。
149.本实施例中,手掌位置确定装置100还可以包括:
150.图像预定位模块,用于通过目标检测定位模型对获取的图像进行所述目标手掌的预定位,得到预定位结果;
151.子图像获取模块,用于依据所述预定位结果从所述获取的图像中裁剪包含所述目标手掌的子图像,得到所述待检测图像。
152.在一可选实施例中,位置框生成模块140生成涵盖所述目标手掌的所有关键点的位置框包括:
153.生成所述生成涵盖所述目标手掌的所有关键点的矩形框;
154.将所述矩形框放大后得到所述位置框。
155.在一可选实施例中,倾斜度确定模块130包括:
156.倾斜角确定单元131,用于根据所述多个线性拟合直线的斜率确定对应的多个倾斜角;
157.有效判断单元132,用于去除所述多个倾斜角中的离群值后,得到多个有效倾斜角;
158.倾斜度计算单元133,用于对所述多个有效倾斜角求取平均值,得到平均角度,确定所述平均角度为所述目标手掌的倾斜度。
159.在一可选实施例中,位置框生成模块140包括:
160.方向确定单元141,用于依据所述倾斜度,确定所述目标手掌的方向;
161.位置框计算单元142,用于在所述目标手掌的方向为竖直或水平方向时,根据所述目标手掌各个关键点的位置计算初始检测框的四个顶点位置,根据初始检测框确定所述位置框;以及,
162.在所述目标手掌的方向不是竖直或水平方向时,计算所述初始检测框的四边对应的函数,依据所述初始检测框确定所述位置框。
163.在上述实施例中,方向确定单元141进行方向判断包括:
164.当所述倾斜度符合第一预设条件时,判定所述目标手掌的方向为竖直或水平方向;
165.当所述倾斜度不符合第一预设条件,判定所述目标手掌的方向不是竖直或水平方向。
166.在上述实施例中,位置框计算单元142包括:
167.坐标计算子单元1421,用于在所述目标手掌的方向为竖直或水平方向时:
168.以所有关键点中的最小横坐标值作为第一横坐标值xs,最大横坐标值作为第二横坐标值xg;
169.以所有关键点中的最小纵坐标值作为第一纵坐标值ys,最大纵坐标值作为第二纵坐标值yg;
170.以(xs,ys)、(xs,yg)、(xg,ys)、(xg,yg)作为所述初始检测框的各个顶点坐标;
171.放大子单元1422,用于:
172.将所述初始检测框放大后,得到所述位置框。
173.在上述实施例中,位置框计算单元142还包括:
174.函数求取单元1423,用于在所述目标手掌的方向不是竖直或水平方向时:
175.计算以平均斜率k为斜率的直线,经过所述目标手掌的所有关键点时所确定的第一最大截距pg和第一最小截距ps;所述平均斜率k根据所述目标手掌的倾斜度确定;
176.计算以所述平均斜率k的负倒数为斜率的直线,经过所述目标手掌的所有关键点时的第二最大截距tg和第二最小截距ts;
177.根据所述第一最大截距pg、所述第一最小截距ps、所述第二最大截距tg、所述第二最小截距ts以及所述平均斜率k确定所述初始检测框的四边对应的四个函数,所述四个函数为:y=x*k+ps、y=x*k+pg、y=-x/k+ts、y=-x/k+tg;
178.以所述四个函数围成的矩形框作为所述初始检测框。
179.上述各实施例中的手掌位置确定装置100具有的功能可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
180.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。
181.下面参考图6,其示出了适于用来实现本技术公开实施例的电子设备60的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本技术公开实施例的功能和使用范围带来任何限制。
182.如图6所示,电子设备60可以包括处理器(例如中央处理器、图形处理器等)601,其可以根据存储在存储器601中的不同应用程序代码而执行各种适当的动作和处理。所述存储器601可以包括随机访问存储器(ram)、只读存储器(rom)在ram 603中,存储有电子设备60操作所需的各种程序和数据。存储器601、处理器602以及通信接口603可以通过线连接,例如,通过总线604彼此相连。通信接口603可以允许电子设备60与其他设备进行无线或有线通信以交换数据。
183.在本技术的实施例中,处理器602执行存储器601中存储的应用程序代码时,可以执行如图1实施例所提供所述的手掌位置确定方法。
184.虽然图中示出了具有各种装置的电子设备60,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
185.特别地,根据本技术前述公开的实施例,上文参考图1实施例流程图描述的过程可以被实现为计算机程序。例如,本技术实施例还提供包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行图1实施例流程图的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信接口603从网络上被下载和安装,或者从存储器608被安装。在该计算机程序被处理器602执行时,执行上述实施例的方法中限定的上述功能。
186.需要说明的是,上述的计算机可读介质可以包括但不限于:可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器802也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器802还可以包括上述种类的存储器的组合
187.在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
188.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
189.在一可选实施例中,本技术实施例还提供了一种计算机存储介质,可以用于计算机软件指令,包含计算机程序,该计算机程序被处理器运行时,执行如上述实施例中所述的手掌位置确定方法。该存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
190.本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
191.应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本技术的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本技术的权利要求范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1