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

手势识别方法及其电子设备和可读介质与流程

2022-06-11 23:06:55 来源:中国专利 TAG:


1.本技术涉及计算机领域,尤其涉及一种手势识别方法及其电子设备和可读介质。


背景技术:

2.手势识别是通过算法来识别人类手势,手势识别可以来自人类的身体各部位的运动,用户可以使用简单的手势实现人机交互,让计算机理解人类的行为。目前,手势识别主要通过视觉传感器采集手部图像,进一步对手部图像进行分割并对分割结果进行分析,从而得到手势识别结果。
3.但是当用户与电子设备有一定距离时,背景范围扩大会导致电子设备拍摄的图片中背景元素复杂,使得手势识别的准确率降低。


技术实现要素:

4.本技术实施例提供了一种手势识别方法及其电子设备和可读介质,本技术实施例通过融合用户的人体轮廓图像和手部图像就可以识别出较为复杂的手势动作,从而丰富人体轮廓和手势定义,提高手势识别率和用户体验。
5.第一方面,本技术的手势识别方法包括:
6.获取电子设备的用户的第一图像,并从所述第一图像中识别出所述用户的人体关节点坐标,其中,所述第一图像包括用户的至少一个手部和对应的手臂,所述人体关节点坐标包括所述用户的至少一个手腕关节点坐标;
7.基于所述至少一个手腕关节点坐标获取包括用户至少一个手部的第二图像,其中,所述第二图像中所述手部所占面积大于二分之一;
8.从所述第二图像中识别出对应的手部关节点坐标;
9.基于所述手部关节点坐标以及所述第一图像中识别出的人体关节点坐标中的多个人体关节点坐标,确定手势识别结果。
10.在本技术的一些实施例中,所述第一图像是用户的人体轮廓图像,人体轮廓图像可以是用户的全身轮廓图像,也可以是用户的局部轮廓图像,其中,局部轮廓包括用户做出手势的手部和与手部相连的躯干的图像,例如,用户的局部图像可以是用户的上肢图像(包括手臂和手部)。所述第二图像是用户的手部图像。
11.所述人体轮廓图像通过人体姿态识别算法识别出用户的人体关节点坐标,人体姿态识别算法可以包括单镜头多盒检测器(single shot multibox detector, ssd)、区域卷积神经网络(region convolutional neural network,r-cnn)、快速区域卷积神经网络(fast region convolutional neural network,fast r-cnn)等,所述手部图像通过手势识别算法识别出手部的21个关节点坐标,手势识别算法可以是轻量化网络(mobile-net)。
12.在本技术的一些实施例中,通过手部的21个手部关节点坐标和手部相应的手臂多个关节点坐标得到手势识别结果,其中,手臂的关节点可以是肩关节、肘关节和腕关节。
13.此外,本技术实施例可以通过智能电视等电子设备拍摄用户的人体轮廓图像和手
部图像,然后智能电视再识别所拍摄图像中的人体关节点和手部关节点,本技术实施例还可以由智能电视拍摄用户的人体轮廓图像和手部图像,然后由服务器识别所拍摄图像中的人体关节点和手部关节点,服务器将手势识别结果发送给智能电视,智能电视根据手势识别结果执行相应操作。
14.在上述第一方面的一种实现中,所述电子设备设置有第一摄像头和第二摄像头,并且所述电子设备通过第一摄像头采用第一镜头焦距拍摄所述第一图像;以及
15.所述基于所述至少一个手腕关节点坐标获取包括用户至少一个手部的第二图像包括:
16.所述电子设备基于所述至少一个手腕关节点坐标调节所述第二摄像头的拍摄角度;
17.所述第二摄像头采用第二镜头焦距拍摄至少一个手部的第二图像,其中,所述第一镜头焦距小于所述第二镜头焦距。
18.在本技术的一些实施例中,第一摄像头可以是广角摄像头,其焦距可以是 0-35mm之间,广角摄像头的视角大,用于拍摄用户的人体轮廓图像,第二摄像头可以是长焦摄像头,长焦摄像头的视角小,用于拍摄用户的手部图像。广角摄像头和长焦摄像头可以同时拍摄用户的人体轮廓图像和手部图像,智能电视可以同时获得清晰的人体轮廓图像和手部图像,提高手势识别的结果。
19.在上述第一方面的一种实现中,所述第二摄像头位于所述电子设备的外部,并且所述电子设备通过自动旋转装置调节所述第二摄像头的拍摄角度。
20.在本技术的一些实施例中,广角摄像头设置在智能电视的内部,长焦摄像头外接智能电视,在广角摄像头拍摄的人体轮廓图像手部不完整的情况下,智能电视可以通过自动旋转装置转动长焦摄像头,使得长焦摄像头一直跟随手部移动,从而获得完整的手部动作图像。
21.在上述第一方面的一种实现中,所述自动旋转装置为云台。
22.在本技术的一些实施例中,云台包括但不限于固定云台、电动云台等,其中,固定云台可以调整长焦摄像头的水平和俯仰的角度,达到最好的工作姿态锁定长焦摄像头,适用于识别范围小的情况。电动云台可以扩大长焦摄像头203b的识别范围,电动云台既能水平旋转也能上下旋转,并且可以接受来自控制器的信号精确运行定位。
23.在上述第一方面的一种实现中,所述基于所述至少一个手腕关节点坐标获取包括用户至少一个手部的第二图像包括:
24.所述电子设备采用所述电子设备的摄像头拍摄用户的第一图像;
25.所述电子设备基于所述至少一个手腕关节点坐标确定手部位置,所述电子设备的摄像头根据所述手部位置剪裁所述第一图像;
26.所述电子设备的摄像头以预设倍数的数码变焦放大所述裁剪后的第一图像得到所述第二图像,其中,所述第二图像包括用户至少一个手部。
27.在上述第一方面的一种实现中,所述基于所述手部关节点坐标以及所述第一图像中识别出的人体关节点坐标中的多个人体关节点坐标,确定手势识别结果,包括:
28.根据多帧第二图像的手部关节点坐标确定手部动作;
29.根据多帧第一图像的人体关节点坐标确定手部对应手臂的手臂动作;
30.根据所述手部动作和所述手臂动作确定手势识别结果。
31.在上述第一方面的一种实现中,所述根据所述多帧第二图像的手部关节点坐标确定手部动作,包括:
32.根据所述多帧第二图像的手部关节点坐标确定所述手部中每根手指的状态,并基于所述每根手指的状态确定手部动作。
33.在上述第一方面的一种实现中,所述根据所述多帧第二图像的手部关节点坐标确定所述手部中每根手指的状态,并基于所述每根手指的状态确定手部动作,包括:
34.如果所述手指的指尖关节点的纵坐标大于第一关节点、第二关节点以及手指根部关节点的纵坐标,则手指状态为伸直状态;
35.如果所述手指的指尖关节点的纵坐标小于第一关节点、第二关节点或手指根部关节点的纵坐标,则手指状态为弯曲状态。
36.在上述第一方面的一种实现中,所述根据多帧第一图像的人体关节点坐标确定手部对应手臂的手臂动作,包括:
37.确定所述第二图像中所述手部的中心点坐标,其中,所述中心点坐标为所述手部关节点坐标的平均坐标;
38.基于所述多帧第一图像中的人体关节点及所述手部的中心点的坐标变化情况,确定所述手部对应手臂的手臂动作。
39.在上述第一方面的一种实现中,所述基于所述多帧第一图像中的人体关节点及所述手部的中心点的坐标变化情况,确定所述手部对应手臂的手臂动作,包括:
40.如果所述多帧第一图像中人体关节点及所述手部中心点的坐标变化小于设定阈值,确定手臂动作为保持不动;
41.如果所述多帧第一图像中人体关节点及所述手部中心点的坐标变化大于设定阈值,确定手臂动作为空中挥动。
42.例如,“拜拜”的手臂姿态是“肘关节保持不动,腕关节带动手臂在空中画一个曲线”,“擦除”的手臂姿态是“腕关节不动,手部在空中画一个曲线”,通过结合手臂的运动姿态和手部状态可以识别出相应的手势。虽然二者的手部动作都是“五指张开”,但是如果手臂姿态是“肘关节保持不动,腕关节带动手臂在空中画一个曲线”,就是“拜拜”意图,如果手臂姿态是“腕关节不动,手部在空中画一个曲线”,就是“擦除”意图。
43.在上述第一方面的一种实现中,所述电子设备为智能电视或者显示器,并且所述手势识别结果包括下列中的至少一项:
44.翻页、擦除、调节音量大小、点击。
45.第二方面,一种电子设备,所述电子设备包括:
46.存储器,存储有指令;
47.处理器,所述处理器和存储器耦合,当所述存储器存储的程序指令被所述处理器处理执行时使得所述电子设备执行上述第一方面所述的手势识别方法。
48.在上述第二方面的一种实现中,所述电子设备还包括:
49.第一摄像头,用于采用第一镜头焦距拍摄所述第一图像;
50.第二摄像头,用于采用第二镜头焦距拍摄至少一个手部的第二图像,其中,所述第一镜头焦距小于所述第二镜头焦距。
51.第三方面,一种可读介质,所述可读介质存储有指令,其特征在于,当所述指令在所述可读介质上运行时,使得所述可读介质执行上述第一方面所述的手势识别方法。
附图说明
52.图1a根据本技术一些实施例,提供一种手势识别的方法流程图。
53.图1b根据本技术一些实施例,提供一种手势识别的应用场景图。
54.图1c根据本技术一些实施例,提供一种手势识别的方法流程图。
55.图2根据本技术一些实施例,提供一种智能电视200的结构示意图。
56.图3a根据本技术一些实施例,提供一种手势识别方法的流程图。
57.图3b根据本技术一些实施例,提供一种手势识别方法的流程图。
58.图3c根据本技术一些实施例,提供一种手势识别方法的流程图。
59.图4a根据本技术一些实施例,提供一种包括用户人体轮廓的人体轮廓图。
60.图4b根据本技术一些实施例,提供一种包括用户手部的手部图。
61.图4c根据本技术一些实施例,提供一种音量调节示意图。
62.图5根据本技术一些实施例,提供一种人体轮廓的人体关节点示意图。
63.图6根据本技术一些实施例,提供一种手部的手部关节点示意图。
64.图7根据本技术一些实施例,提供一种人体轮廓和手部关节点示意图。
65.图8根据本技术一些实施例,提供一种人体轮廓和手部融合示意图。
66.图9根据本技术一些实施例,提供一种智能电视200的显示界面示意图。
67.图10根据本技术一些实施例,提供一种智能电视200与服务器300交互示意图。
68.图11根据本技术一些实施例,提供另一种手势识别方法的流程图。
69.图12根据本技术一些实施例,提供另一种手势识别方法的流程图。
70.图13根据本技术一些实施例,提供另一种手势识别方法的流程图。
71.图14根据本技术一些实施例,提供了一种智能电视200的软件系统。
具体实施方式
72.下面结合附图和具体实施例对本技术实施例做进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术实施例,而非对本技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术实施例相关的部分而非全部结构。
73.本技术的实施例公开了一种手势识别方法。具体地,通过融合用户的人体轮廓图像和用户的手部图像来识别用户的手势意图,从而提高手势识别的准确率。本技术实施例的人体轮廓图像可以包括手部和对应手臂的图像,为便于描述,下文以人体轮廓图像为例进行说明。
74.例如,一组相似的手势动作的意图定义如下:
75.(a)“拜拜”意图:人体上臂带动手部做平行人体躯干的挥动动作,挥动的手部为五指张开。
76.(b)“擦除”意图:人体腕部带动手部做平行人体躯干的挥动动作,挥动的手部为五指张开。
77.在本技术的一些实施例中,如图1a所示,识别上述相似的手势动作的方法包括:
78.a101:摄像头采集用户的图像。
79.a102:手部探测器从采集的图像中识别并返回手部边界框。
80.a103:手部标记模块对返回的标记信息进行骨骼关节点标记并返回标记信息。
81.a104:手势识别模块对a102和a103返回的关节点结果进行排列,分类成不同的手势,输出手势的意图。
82.显然,图1a只识别用户的手部动作,用户挥动的手部都是张开,无法识别出用户手势的意图是“拜拜”还是“擦除”。本技术实施例提供一种手势识别方法,识别用户手部动作的同时,再结合用户的手臂动作就可以识别出上述两个手势动作,如果是上臂带动手部做平行人体躯干的挥动动作,就是“拜拜”意图,如果是腕部带动手部做平行人体躯干的挥动动作,就是“擦除”意图。本技术实施例通过融合用户的人体轮廓图像和手部图像就可以识别出较为复杂的手势动作,从而丰富人体轮廓和手势定义,提高手势识别率和用户体验。
83.图1b根据本技术实施例示出了一种手势识别应用场景10。如图1b所示,用户100通过智能电视200收看电视节目,在收看电视节目的过程中,用户100 可以通过手势对智能电视200下达指令实现人机交互。例如,用户可以左右挥动手臂,智能电视200在采集用户图像后,通过预设的神经网络模型处理获取的用户图像,确定用户的指令为切换频道,从而根据确定的指令来切换频道。本技术实施例的手势识别方法,如图1c所示,智能电视200可以通过广角摄像头采集人体轮廓图像(c101),再通过长焦摄像头采集用户的手部图像(c102),结合用户的人体姿态识别,例如,通过识别用户100的手臂在空中挥动,再融合用户的手部动作进行手势识别(c103)。本技术实施例的手势识别方法可以识别出“挥手”这类较复杂的手势,不仅提高了手势识别的准确率,而且增加了用户的人机交互体验。
84.需要说明的是,本技术的具体实施例中电子设备200包括但不限于智能电视、平板电脑、智能手机、笔记本电脑、台式电脑等电子设备。在下文的描述中,为了简化说明,以智能电视200为例说明本技术的技术方案。
85.图2根据本技术的一些实施例,示出了一种智能电视200的结构示意图。具体地,如图2所示,智能电视200包括处理器201,存储器202,摄像头203,电源开关204,通信处理模块205,显示屏206和音频模块207等。其中,摄像头203可以包括广角摄像头203a和长焦摄像头203b等。
86.处理器201可用于读取和执行计算机可读指令。具体实现中,处理器201 可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器 201的硬件架构可以是专用集成电路(asic)架构、mips架构、arm架构或者np 架构等等。
87.处理器201可以包括一个或多个处理单元,例如:处理器201可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphicsprocessing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也
area network,lan)通信处理模块(未示出)。
99.无线通信处理模块还可以包括蜂窝移动通信处理模块(未示出)。蜂窝移动通信处理模块可以通过蜂窝移动通信技术与其他设备(如服务器)进行通信。
100.有线lan通信处理模块可用于通过有线lan和同一个lan中的其他设备进行通信,还可用于通过有线lan连接到广域网(wide area network,wan),可与 wan中的设备通信。
101.显示屏206可用于显示图像,视频等。显示屏206可以采用液晶显示屏 (liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled)显示屏,有源矩阵有机发光二极体(active-matrix organic light emitting diode,amoled)显示屏,柔性发光二极管(flexible light-emitting diode,fled)显示屏,量子点发光二极管(quantum dot light emitting diodes, qled)显示屏等。
102.音频模块210可用于通过音频输出接口输出音频信号,这样可使得智能电视 200支持音频播放。音频模块还可用于通过音频输入接口接收音频数据。音频模块207包括但不限于:麦克风、扬声器、受话器等。
103.可以理解的是,图2示意的结构并不构成对智能电视200的具体限定。在本技术另外一些实施例中,智能电视200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
104.下面基于上述图2所示的结构,根据图3a并结合具体场景,详细介绍本技术的技术方案。如图3a所示,本技术的手势识别方案包括:
105.a301:智能电视200通过广角摄像头203a采集包括用户100人体轮廓的人体轮廓图像。
106.在本技术的一些实施例中,智能电视200可以通过广角摄像头203a获取用户100的人体轮廓图像,其中,广角摄像头203a的焦距可以在0-35mm之间,可以理解,焦距越小,摄像头的拍摄视角越大,因此,智能电视200通过广角摄像头203a可以拍摄到包括用户100的人体轮廓和用户100周围背景的全景图像,例如,如图4a所示,广角摄像头203a采集的图像中既包括用户100的轮廓,还包括用户100周围的背景。
107.可以理解的是,本技术实施例所述的人体轮廓图像可以是用户的全身轮廓图像,也可以是用户的局部轮廓图像,其中,局部轮廓包括用户做出手势的手部和与手部相连的躯干的图像,例如,用户的局部图像可以是用户的上肢图像(包括手臂和手部)。
108.a302:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标。
109.其中,人体姿态识别模型可以基于卷积神经网络和监督学习,检测出用户 100的人体关节点坐标,具有极好的鲁棒性,人体姿态识别模型包括但不限于ssd、 r-cnn、fast r-cnn等,本技术实施例对人体姿态识别模型不做限定。
110.例如,ssd模型对用户100的人体轮廓图像的人体关节点进行识别,得到用户100的人体轮廓图像中人体关节点坐标。
111.在本技术的一些实施例中,如图5所示,人体轮廓可以与以下多个关节点对应:脊柱基关节0、脊柱中点关节1、脊柱肩关节2、脖关节3、头关节4、左肩关节5、右肩关节8、左肘关节6、右肘关节9、左腕关节7、右腕关节10、左髋关节11、右髋关节15、左膝关节12、右膝关
节15、左脚踝关节13、右脚踝关节17、左脚关节14和右脚关节18。并且,ssd模型输出每个关节对应的坐标,例如,脊柱基关节0的坐标是(x0,y0)、脊柱中点关节1的坐标是(x1,y1)、
……
、右脚关节18的坐标是(x
18
,y
18
)。
112.需要说明的是,为了提高用户100的人体轮廓图像中人体关节点坐标的准确度,可以将用户100的人体轮廓图像输入ssd模型之前,对用户100的人体轮廓图像进行预处理,其中,预处理包括归一化处理、图像增强处理和图像去噪处理等,然后将预处理后的用户100的人体轮廓图像输入ssd模型,ssd模型对预处理后的用户100的人体轮廓图像的人体关节点进行识别,得到用户100的人体轮廓图像中人体关节点坐标。
113.可以理解的是,用户100的人体轮廓图像中人体关节点坐标可以是图5中 19个关节点的坐标,也可以是上述19个关节点坐标中部分关节点坐标,还可以是人体中其他关节点坐标,本技术实施例对人体关节点坐标的位置和数量不做限定。
114.a303:智能电视200的长焦摄像头203b基于手腕关节点坐标采集包括用户 100手部的手部图像。
115.在本技术的一些实施例中,广角摄像头203a采集用户100的人体轮廓图像后,并经过人体姿态识别模型识别得到人体关节点坐标,通过人体关节点坐标中的手腕关节点坐标可以确定用户100的手部在人体轮廓中的具体位置,例如,如图5所示,通过左腕关节7或右腕关节10可以确定左手或右手在人体轮廓中的位置(图中虚框表示手部位置)。然后,智能电视200的处理器201可以控制长焦摄像头203b的拍摄角度,使得长焦摄像头203b能够精准拍摄用户100的手部图像,由于长焦摄像头203b的焦距大,可以采集更清晰的手部图像。例如,如图4b所示,长焦摄像头203b只采集用户100的手部图像,几乎没有与手部图像无关的其他图像。
116.a304:智能电视200通过预设的手势识别模型识别用户100的手部图像中的手部关节点坐标。
117.其中,用户100的人体轮廓图的手腕关节点坐标可以确定用户100的手部位置,在本技术的一些实施例中,可以认为用户100的手腕关节点位置就是用户 100的手部所在位置,同时长焦摄像头203b聚焦采集用户100的手部图像,智能电视200通过预设的手势识别模型得到用户100的手部关节点坐标,并通过手部关节点坐标对用户的手势进行识别,也就是说,在同一时刻通过广角摄像头采集用户的人体轮廓图像,通过长焦摄像头采集用户的手部图像。
118.在本技术的一些实施例中,手势识别模型可以是mobile-net,mobile-net 模型对用户的手部图像输出结果进行回归,可以得到手部图像中的手部关节点的坐标信息。
119.例如,图6为用户的右手图像经过mobile-net模型识别后的结果,其中,右手图像包括21个关节点,并使用数字0-20对右手图像中的手部关节点进行标注,例如,手部的根部标注为0,然后从拇指的第一个关节点到小指的最后一个关节点依次标注为1-20,相应的手部关节点坐标按照手部关节点标注的数字顺序依次为(a1,b1)、(a2,b2)、
……
、(a
19
,b
19
)、(a
20
,b
20
)。
120.a305:智能电视200融合用户100的人体轮廓图像和手部图像,识别用户 100手势。
121.在本技术的一些实施例中,处理器201可以结合用户100的手臂姿态和手部状态,识别用户的手势意图。下面分别说明处理器201如何识别用户100的手部状态和手臂姿态。
122.(1)智能电视200确定每根手指状态从而识别手部状态,并且不同的手部状态表示执行智能电视200不同的操作指令。例如,指令智能电视200切换频道时,手部动作可以是五指张开;例如,指令智能电视200调节音量时(如图4c所示),手部动作可以是五指弯曲;例如,指令为点击智能电视200显示的选项按钮时,手部动作可以是只伸出食指,其余四指弯曲。
123.智能电视200首先确定每根手指的状态,然后对每根手指的状态进行编码,得到编码结果,再基于编码结果确定手部状态。
124.具体的,手指状态可以是伸直状态或弯曲状态,如果手指的指尖纵坐标均大于第一关节点、第二关节点以及手指根部关节点的纵坐标,则手指的状态为伸直状态;如果指尖的纵坐标小于第一关节点、第二关节点或者手指根部关节点的纵坐标,则手指的状态为弯曲状态。
125.例如,在图6中,以o点为原点的直角坐标系,水平方向为x轴,垂直方向为y轴,由此可以确定手部21个关节点坐标。中指的指尖可以是图中的关节点 12、中指的第一关节点可以是图中的关节点11、中指的第二关节点可以是图中的关节点10、中指的根部关节点可以是图中的关节点9。如果中指的关节点12 的纵坐标大于中指的关节点11、关节点10以及关节点9,则可以确定中指的状态为伸直状态;如果中指的关节点12的纵坐标小于中指的关节点11、关节点10 或关节点9中任一个纵坐标,则可以确定中指的状态为弯曲状态。
126.然后根据每根手指的状态对每根手指进行编码,从而得到每个手指的编码结果。例如,可以用“1”表示手指的状态为伸直状态,可以用“0”表示手指的状态为弯曲状态,进一步可以得到整个手部的状态编码,可以看出,如图5所示的手部图像的手部状态编码为“11111”,其中,手部状态编码从左至右分别对应手部的小指、无名指、中指、食指和拇指。
127.智能电视200根据编码结果确定手部状态,例如,得到的编码结果是“11111”,表示手部张开,例如,得到的编码结果是“00000”,表示手部弯曲,例如,得到的编码结果是“00010”,表示手部只伸出食指。
128.此外,对于上文中提到的两组相似的手势动作“拜拜”和“擦除”,二者的手部动作都是“五指张开”,其编码结果是“11111”。
129.(2)智能电视200可以通过识别手臂的运动轨迹判断手臂姿态,并且不同的手臂姿态表示执行智能电视200的不同的操作指令。例如,指令智能电视200 切换频道时,手臂姿态可以是在空中从左到右滑动;例如,指令智能电视200 调节音量时,手臂姿态可以是在空中从上到下滑动;例如,指令为点击智能电视 200显示的选项按钮,手臂姿态可以是在空中保持不动。
130.在本技术的一些实施例中,如图7所示,处理器201通过右肘关节9、右腕关节10和手部21个关节点601识别手臂姿态,其中,可以通过计算手部21个关节点601的平均坐标作为手部的掌心a(图中未示出)的坐标,再根据多帧图像中右肘关节9、右腕关节10和掌心a的坐标变化,判断手臂姿态。
131.如图8所示,选取连续5帧图像,分别是图像帧701、图像帧702、图像帧 703、图像帧704和图像帧705,然后判断每帧图像中右肘关节9、右腕关节10 和掌心a在同一坐标系的坐标变化,例如,在图像701中,右肘关节9、右腕关节10、掌心a的坐标分别是在图像702中,右肘关节9、右腕关节10、掌心a的坐标分别
是在图像703中,右肘关节9、右腕关节10、掌心a的坐标分别是是在图像704中,右肘关节9、右腕关节10、掌心a的坐标分别是是在图像705中,右肘关节9、右腕关节10、掌心a的坐标分别是
132.例如,对于右肘关节9,从图像701至图像705,横坐标的变化很小,在阈值δx9以内,纵坐标的变化也很小,在阈值δy9以内,可以认为右肘关节9在空中保持不动。
133.例如,对于右腕关节10,从图像701至图像705,横坐标在不断增大,并且变化幅度大于阈值δx
10
,纵坐标先增大后减小,并且变化幅度大于阈值δy
10
,可以认为右腕关节10在空中的运动轨迹是一个曲线(如图中710所示)。
134.例如,对于右掌心a,从图像701至图像705,横坐标在不断增大,并且变化幅度大于阈值δxa,纵坐标先增大后减小,并且变化幅度大于阈值δya,可以认为右掌心a在空中的运动轨迹是一个曲线(如图中720所示)。
135.基于上述5帧图像中右肘关节9、右腕关节10、掌心a的坐标变化,智能电视200可以判定右手臂在空中姿态是右肘关节保持不动,右腕关节带动右手部在空中画了了一个曲线。
136.此外,对于上文中提到的两组相似的手势动作“拜拜”和“擦除”,其中,“拜拜”的手臂姿态是“肘关节保持不动,腕关节带动手臂在空中画一个曲线”,“擦除”的手臂姿态是“腕关节不动,手部在空中画一个曲线”,具体的判断过程请参考上述实施例的描述,在此不做赘述。
137.需要说明的是,上述实施例中选取连续5帧图像只是示例性的,还可以是其他数量的图像,通过坐标变化的方式判断手臂姿态也是示例性,还可以是其他方式,本技术实施例对此不做限制。
138.(3)智能电视200结合手臂的运动姿态和手部状态识别出用户100的手势。
139.例如,手臂的运动姿态是“右肘关节保持不动,右腕关节带动右手部在空中画了了一个曲线,同时手部编码结果是“11111”,表示手部状态为手部张开,可以认为用户“手部张开在空中挥动”,手势识别的结果是“挥手”动作,基于预设的规则,“挥手”动作可以表示切换电视频道。
140.此外,对于上文中提到的两组相似的手势动作“拜拜”和“擦除”,通过结合手臂的运动姿态和手部状态可以识别出相应的手势。虽然二者的手部动作都是“五指张开”,但是如果手臂姿态是“肘关节保持不动,腕关节带动手臂在空中画一个曲线”,就是“拜拜”意图,如果手臂姿态是“腕关节不动,手部在空中画一个曲线”,就是“擦除”意图。
141.a306:智能电视200根据用户100手势识别结果执行相应的操作。
142.例如,智能电视200识别用户100的手势是“挥手”动作,基于“挥手”手势执行操作是切换到下一个频道,则智能电视200切换到下一个频道,例如,如图9所示,智能电视200切
换的电视频道是cctv5。
143.可以理解的是,虽然上述实施例介绍的是用户通过单手操作进行手势识别,在本技术的其他实施例中,用户也可以通过双手操作进行手势识别,例如,用户双手举起并且五指张开在空中挥动,表示向智能电视发送关机指令。双手操作进行手势识别的过程可以参考单手操作,在此不做赘述。
144.从上述实施例可以看出,智能电视200对用户100的手势进行识别时至少需要两个摄像头,一个广角摄像头203a用于采集用户100的人体轮廓图像,一个长焦摄像头203b用于采集用户100的手部图像。但在本技术另外一些实施例中,智能电视200可以只通过一个摄像头就可以对用户100进行手势识别,下面结合图3b介绍本技术的技术方案,如图3b所示,手势识别的技术方案包括:
145.b301:智能电视200通过广角摄像头203a采集包括用户100的人体轮廓的人体轮廓图像,具体的采集过程请参考图3a中a301的描述,在此不做赘述。
146.b302:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标,具体过程请参考图3a 中a302的描述,在此不做赘述。
147.b303:处理器201基于人体轮廓图像的手腕关节点坐标处理人体轮廓图像,得到包括用户100手部的手部图像。
148.在本技术的一些实施例中,处理器201首先根据手腕关节点坐标确定用户 100的手部位置,然后通过数码裁剪得到用户100的手部图像,再通过预设倍数的数码变焦放大手部图像。
149.例如,如图5所示,广角摄像头203a根据左腕关节7或右腕关节10,确定用户100的左手位置或右手位置。以右腕关节10为例,广角摄像头203a通过数码裁剪得到右手部区域(图5中右腕关节10的虚框所示),然后以预设倍数(例如,10倍)对右手部进行放大得到放大后的右手部图像(如图5所示),最后将放大后的右手部图像输入手势识别模型进行手势识别。
150.可以看出,广角摄像头203a通过数码裁剪得到用户100的手部图像,将与手部图像无关的图像信息过滤,再通过数码变焦使得手部图像放大,有利于通过手势识别模型标注手部图像的手部关节点坐标。
151.需要说明的是,本技术实施例通过一个广角摄像头203a的数码裁剪和数码变焦功能得到用户100的手部图像,在本技术的其他实施例中,可以通过一个长焦摄像头203b的数码裁剪和数码变焦功能得到用户100的手部图像,具体使用哪种摄像头可以根据具体情况设定,本技术实施例对此不做限制。
152.b304:智能电视200通过预设的手势识别模型识别用户100的手部图像,得到用户100的手部关节点坐标,具体过程请参考图3a中a304的描述,在此不做赘述。
153.b305:智能电视200融合用户100的人体轮廓图像和手部图像,识别用户 100的手势,具体融合过程参考图3a中a305的描述,在此不做赘述。
154.b306:智能电视200根据用户100的手势执行相应的操作,具体过程参考 3a中a306的描述,在此不做赘述。
155.下面介绍本技术实施例的另一个技术方案,智能电视200包括广角摄像头203a,并
且外接长焦摄像头203b,在广角摄像头203a拍摄的人体轮廓图像中手臂不完整时,此时智能电视200可以借助自动旋转装置使得长焦摄像头203b跟随用户100的手部移动,从而能够一直采集用户100的完整手部图像。下面结合图3c介绍本技术的技术方案,如图3c所示,手势识别的技术方案包括:
156.c301:智能电视200通过广角摄像头203a采集包括用户100的人体轮廓的人体轮廓图像,具体过程参考图3a中a301的描述,在此不做赘述。
157.c302:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标,具体过程请参考图3a 中a302的描述,在此不做赘述。
158.c303:智能电视200的长焦摄像头203b基于手腕关节点坐标判断用户100 的手部移动是否在长焦摄像头203b的识别范围以内;
159.如果用户100的手部移动在长焦摄像头203b的识别范围以内,则执行c304;否则,执行c305。
160.c304:处理器201根据用户100的人体轮廓图像的手腕关节点坐标,确定手部在人体轮廓中的位置,长焦摄像头203b采集用户100完整手部图像,继续执行c306。
161.c305:如果用户100的手部移动超出长焦摄像头203b的识别范围,长焦摄像头203b借助自动旋转装置转动摄像头,持续跟踪用户100的手部动作,以采集用户100的完整手部图像,采集用户100完整手部图像,继续执行c306。
162.在本技术的一些实施例中,自动旋转装置可以是云台(tripod head,th),云台是长焦摄像头203b的支撑平台,云台包括但不限于固定云台、电动云台等,其中,固定云台可以调整长焦摄像头203b的水平和俯仰的角度,达到最好的工作姿态锁定长焦摄像头203b,适用于识别范围小的情况。电动云台可以扩大长焦摄像头203b的识别范围,电动云台既能水平旋转也能上下旋转,并且可以接受来自控制器的信号精确运行定位。
163.例如,用户100的手部移动超出长焦摄像头203b的拍摄范围,此时可以通过电动云台的旋转,旋转可以是左右旋转或上下旋转,使得长焦摄像头203b能够跟踪用户100的手部移动,以拍摄用户100的完整手部图像。
164.c306:智能电视200通过预设的手势识别模型识别用户100的手部图像,得到用户100的手部关节点坐标,具体过程请参考图3a中a304的描述,在此不做赘述。
165.c307:智能电视200融合用户100的人体轮廓图像和手部图像,识别用户 100的手势,具体融合过程参考图3a中a305的描述,在此不做赘述。
166.c308:智能电视200根据用户100的手势执行相应的操作,具体过程参考图 3a中a306的描述,在此不做赘述。
167.在上述实施例中,仅通过智能电视200就可以完成用户的手势识别,在本技术的另外一些实施例中,可以通过智能电视200拍摄用户的人体轮廓图像和手部图像,然后发送给服务器300完成手势识别,最后服务器300将手势识别的结果发送给智能电视200,智能电视200基于手势识别的结果执行相应的操作。
168.如图10所示,本技术实施例提供的另一种手势识别的技术方案包括:
169.1002:智能电视200和服务器300建立通信连接。
170.1004:智能电视200采集包括用户轮廓的人体轮廓图像,具体过程请参考图3a的描
述,在此不做赘述。
171.1006:智能电视200向服务器300发送包括用户轮廓的人体轮廓图像。
172.1008:服务器300通过预设的人体姿态识别模型识别用户的人体轮廓图像,得到人体关节点坐标,具体过程请参考图3a的描述,在此不做赘述。
173.1010:服务器300向智能电视200发送人体关节点中的手腕关节点坐标。
174.1012:智能电视200基于手腕关节点坐标采集包括用户手部的手部图像,具体过程请参考图3a的描述,在此不做赘述。
175.1014:智能电视200向服务器300发送包括用户手部的手部图像。
176.1016:服务器300通过预设的手势识别模型识别用户的手部图像,得到用户的手部关节点坐标,具体过程请参考图3a的描述,在此不做赘述。
177.1018:服务器300融合用户的人体轮廓图像和手部图像,得到手势识别结果,具体过程请参考图3a的描述,在此不做赘述。
178.1020:服务器300向智能电视200发送手势识别结果。
179.1022:智能电视200基于手势识别结果执行相应操作,具体过程请参考图 3a的描述,在此不做赘述。
180.可以理解是,图10是基于图3a完成手势识别,实际上图3b和图3c也可以通过智能电视和服务器完成手势识别,在此不做赘述。
181.如图11所示,本技术实施例提供的另一种手势识别的技术方案包括:
182.1101:智能电视200通过广角摄像头203a采集包括用户100人体轮廓的人体轮廓图像,具体过程请参考图3a中a301的描述,在此不做赘述。
183.1102:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,具体过程请参考图3a中a302的描述,在此不做赘述。
184.1103:智能电视200通过预设的人体姿态识别模型标记用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标,具体过程请参考图3a 中a302的描述,在此不做赘述。
185.1104:智能电视200的长焦摄像头203b基于手腕关节点坐标采集包括用户 100手部的手部图像,具体过程请参考图3a中a303的描述,在此不做赘述。
186.1105:智能电视200通过预设的手势识别模型识别用户100的手部图像,具体过程请参考图3a中a304的描述,在此不做赘述。
187.1106:智能电视200通过预设的手势识别模型标记用户100的手部图像,得到手部关节点坐标,具体过程请参考图3a中a304的描述,在此不做赘述。
188.1107:智能电视200融合用户100的人体轮廓图像和手部图像,具体过程请参考图3a中a305的描述,在此不做赘述。
189.1108:智能电视200识别用户100的手势意图,具体过程请参考图3a中a305 的描述,在此不做赘述。
190.下面介绍本技术另一个手势识别方案,该手势识别方案可以识别“拜拜”和“擦除”这类不易区分的手势动作,如图12所示,本技术实施例提供的另一种手势识别的技术方案包括:
191.1201:智能电视200通过广角摄像头203a采集包括用户100人体轮廓的人体轮廓图
像,具体过程请参考图3a中a301的描述,在此不做赘述。
192.1202:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,具体过程请参考图3a中a302的描述,在此不做赘述。
193.1203:智能电视200通过预设的人体姿态识别模型标记用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标,具体过程请参考图3a 中a302的描述,在此不做赘述。
194.1204:智能电视200的长焦摄像头203b基于手腕关节点坐标采集包括用户 100手部的手部图像,具体过程请参考图3a中a303的描述,在此不做赘述。
195.1205:智能电视200通过预设的手势识别模型识别用户100的手部图像,具体过程请参考图3a中a304的描述,在此不做赘述。
196.1206:智能电视200通过预设的手势识别模型标记用户100的手部图像,得到手部关节点坐标,具体过程请参考图3a中a304的描述,在此不做赘述。
197.1207:智能电视200融合用户100的人体轮廓图像和手部图像,具体过程请参考图3a中a305的描述,在此不做赘述。
198.1208:智能电视200识别用户100的手势意图,具体过程请参考图3a中a305 的描述,在此不做赘述。
199.如图13所示,本技术实施例提供的另一种手势识别的技术方案包括:
200.1301:智能电视200通过广角摄像头203a采集包括用户100人体轮廓的人体轮廓图像,具体过程请参考图3a中a301的描述,在此不做赘述。
201.1302:智能电视200通过预设的人体姿态识别模型识别用户100的人体轮廓图像,具体过程请参考图3a中a302的描述,在此不做赘述。
202.1303:智能电视200通过预设的人体姿态识别模型标记用户100的人体轮廓图像,得到用户100的人体轮廓图像的人体关节点坐标,具体过程请参考图3a 中a302的描述,在此不做赘述。
203.1304:智能电视200的长焦摄像头203b基于手腕关节点坐标采集包括用户 100手部的手部图像,具体过程请参考图3a中a303的描述,在此不做赘述。
204.1305:智能电视200通过预设的手势识别模型识别用户100的手部图像,具体过程请参考图3a中a304的描述,在此不做赘述。
205.1306:智能电视200通过预设的手势识别模型标记用户100的手部图像,得到手部关节点坐标,具体过程请参考图3a中a304的描述,在此不做赘述。
206.1307:智能电视200融合用户100的人体轮廓图像和手部图像,具体过程请参考图3a中a305的描述,在此不做赘述。
207.1308:智能电视200识别用户100的手势意图,具体过程请参考图3a中a305 的描述,在此不做赘述。
208.1309:如果用户的手部移动超出智能的长焦摄像头识别的范围,则执行1310。
209.1310:长焦摄像头203b借助自动旋转装置转动摄像头,持续跟踪用户100 的手部动作,以采集用户100的完整手部图像,采集用户100完整手部图像,继续执行1304,具体过程请参考图3c中c305的描述,在此不做赘述。
210.现参考图14,智能电视200的软件系统可以采用分层架构,事件驱动架构,微核架
构,微服务架构,或云架构。本技术的实施例以分层架构的android系统为例,示例性说明终端设备的软件结构。图14是本技术的实施例的智能电视200 的软件结构框图。
211.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
212.应用程序层可以包括一系列应用程序包。
213.如图14所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
214.应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
215.如图14所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
216.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
217.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
218.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
219.电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
220.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
221.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
222.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
223.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
224.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
225.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎 (例如:sgl)等。
226.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和 3d图层的融合。
227.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg, png等。
228.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
229.2d图形引擎是2d绘图的绘图引擎。
230.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
231.在说明书对“一些实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本技术的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一些实施例中”的出现不一定全部指代同一个实施例。
232.本技术还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括由被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡、专用集成电路(asic)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
233.本技术所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本技术中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在下一个描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本技术的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本技术实施例。
234.另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本技术旨在说明而非限制本技术所讨论的概念的范围。
再多了解一些

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

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

相关文献