背景技术
随着图像处理技术的发展,越来越多的动作行为可以被例如安装摄像头的图像处理系统识别到,比如人脸识别、汽车违章抓拍识别等。
目前,业界出现了一种新的手势识别方式,具体地,在设定范围内,用户进行悬浮手势比划,由摄像头对手势进行图像采集,并传送给处理器进行处理、比较,以确定出与手势对应的识别结果。采用该方式,用户不需要用手指触摸实体电路或者去按电路上的按钮,只需在一定的空间内用手指比划,以输入信息。
目前业界实现进行手势识别的方式主要是根据电路中内嵌的摄像头作为探测器,经过复杂的软件算法和自身存储单元中的图片进行对比,得出一个近似的结果。参见图1,为现有技术进行手势识别的方法流程图,该方法包括以下步骤:
步骤101,用户在设定范围内进行悬浮手势比划。
例如,在摄像头的朝向区域内且距离摄像头足够近的范围内,用户进行悬浮手势比划。
步骤102,电路中的摄像头进行图像采集,将图像数据传送给电路中的处理器。
步骤103,处理器将采集的图像数据与存储器的库文件中保存的图片进行对比,如果两者图片中的手势近似相同,则将库文件中相应图片指示的内容作为手势识别结果。
具体地,对于某一手势识别结果,如数字“2”,进行比对时,需要基于多张采集的图像数据与库文件中的图片进行比较,库文件中,用于确定数字“2”的图片假设有8张;如果采集的所有图像数据与库文件中的用于确定数字“2”的图片相近,则确定用户的输入为“2”。
这种识别方式有三个缺点:
1,电路中必须有摄像头,而且要有一定精度,成本高;
2,电路中的存储器需要足够大的容量,以存储库文件,用来对比,无形中增加了存储器的容量,增加了成本;
3,对比图形的软件算法复杂,需要有大量的实验为依托,软件成本高,技术难度大。
综上,目前的方案都需要摄像头协助进行手势识别,具有成本较高、实现难度大的缺陷。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
现有方案需要摄像头以协助进行手势识别,其成本较高,且需要进行多种图片的识别对比,技术难度较大。为了解决该问题,本发明提供了一种新的悬浮手势识别方案,该方案无需设置摄像头,而是设置成本较低的探测器单元,由探测器单元获取感应信号的方向,然后由微处理器基于方向确定手势识别结果。参见图2,为本发明为进行手势识别的装置结构示意图,该装置包括微处理器和分布设置的至少两个探测器单元,微处理器与每个探测器单元连接;图2为设置有四个探测器单元的实例;
所述探测器单元,探测感应信号,捕获感应信号的方向,将方向发送给所述微处理器;
所述微处理器,获取各探测器单元捕获感应信号的先后顺序,结合先后顺序、探测器单元分布位置以及来自各探测器单元的感应信号的方向,确定出感应信号的笔画流程,作为手势识别结果。
为了进一步提高识别准确性,所述微处理器在确定出感应信号的笔画流程之后,还将笔画流程与预先设定的各标准笔画对象进行比对,将匹配的标准笔画对象作为最终的手势识别结果。
用户进行手势比划,输入的内容由诸多笔画组成,每一笔画都有各自的方向;本发明由探测器单元探测关于人体移动的感应信号,并捕获感应信号的方向,每个探测器单元负责捕获各自感应范围内的手势移动方向。
根据实际需求,手势识别结果可以是由笔画组成的各种笔画对象,例如符号、字母、文字、数字等。下面具体以数字为例进行说明,其他笔画对象与数字类似。
数字手势识别的核心是识别“0-9”的10个数字,而根据发光二极管(LED,LightEmitting Diode)灯显示数字的原理,可以把0-9中的任何一个数字转化成有规律的水平线、垂直线组成的数字,比如数字“5”,可以用图3中的笔画显示。这样,人手在空间中按照水平、垂直的方向连续完成一系列动作,就可以完成“0-9”的十个数字的描述。
当所述标准笔画对象为数字时,所述微处理器接收来自各探测器单元的感应信号的方向,并且,微处理器还对监控各探测器单元捕获感应信号的情况,记录各探测器单元捕获感应信号的先后顺序;然后,按照先后顺序,在与探测器单元的分布位置对应的位置,确定与来自探测器单元的感应信号的方向一致的笔画,得到0-9中的一个完整数字笔画对象。
进一步地,每个探测器单元一次传送给所述微处理器的方向包括从左至右、从右至左、从下至上、从上至下中的至少一个。
装置中包含的探测器单元个数及位置可根据需要设置,至少为两个,例如包含四个;可分别设置在四方形感应界面的四个角上,或者,在四方形感应界面的每个边上的中央分别设置一个探测器单元,图2即为在长方形电路单板的每个边中央分别设置一个探测器单元的装置结构实例。
进一步地,每个探测器单元中可设置两个被动探测子单元,其中一个被动探测子单元水平放置,用于捕获水平方向的感应信号,另一个被动探测子单元垂直放置,用于捕获垂直方向的感应信号。
所述被动探测子单元可包括被动红外探测器(PIR,Passive infrareddetectors)、放大器和比较器;
所述PIR,进行人体红外感应,产生关于红外感应信号方向的模拟信号,将模拟信号发送给所述放大器;
所述放大器,对来自所述PIR的模拟信号进行放大,将放大后的模拟信号发送给所述比较器;
所述比较器,将来自所述放大器的模拟信号转换成方波信号,从方波信号确定感应信号的方向,发送给所述微处理器。
PIR具有对人体进行红外感应的功能;放大器对来自PIR的关于红外感应信号方向的模拟信号进行放大;比较器将来自放大器的模拟信号转换成方波信号,不同的方向有各自不同的方波,得到方波信号后,便可确定出方波信号对应的方向。
PIR采用被动红外技术实现,PIR的原理如下:
凡是温度超过绝对0℃(-273℃)的物体都能产生热辐射(红外光谱),而温度低于1725℃的物体产生的热辐射光谱集中在红外光区域,因此自然界的所有物体都能向外辐射红外热,不同温度的物体,其释放的红外能量的波长是不一样的,因此红外波长与温度的高低是相关的。而任何物体由于本身的物理和化学性质的不同、本身温度不同所产生的红外辐射的波长和距离也不尽相同,通常分为三个波段。
近红外:波长范围0.75~3μm;
中红外:波长范围3~25μm;
远红外:波长范围25~1000μm;
人体辐射的红外光波长3~50μm,其中8~14μm占46%,峰值波长在9.5μm。在被动探测子单元中有一个关键性的元件,即热释电红外传感器(也就是PIR),它能将波长为8-12um之间的红外信号变化转变为电信号,并能对自然界中的白光信号具有抑制作用,因此在被动探测子单元的警戒区内,当无人体移动时,热释电红外感应器感应到的只是背景温度,当人体进人警戒区,通过菲涅尔透镜,热释电红外感应器感应到的是人体温度与背景温度的差异信号,因此,被动探测子单元的红外探测的基本概念就是感应移动物体与背景物体的温度的差异。被动探测子单元通常都设置有菲涅尔透镜,菲涅尔透镜有两种形式,即折射式和反射式。菲涅尔透镜作用有两个:一是聚焦作用,即将热释的红外信号折射(或反射)在PIR上,第二个作用是将警戒区内分为若干个明区和暗区,使进入警戒区的移动物体能以温度变化的形式在PIR上产生变化热释红外信号,这样PIR就能产生变化的电信号。
从PIR传出的是模拟信号,通常比较微弱,只有几mV。进一步地,可经过放大器把信号进行放大整理,以输出给后级进行处理。这种放大器业界很多种,价格十分低廉,不一一列举。比如ROHM公司的一款专业PIR红外放大器,专门匹配放大PIR的输出信号;并且根据PIR监测到的波形区别,后续的比较器有一个专门的引脚可以输出是向左移动还是向右移动。利用这个特性,本发明采用两个被动探测子单元组成一个探测器单元,这样,可以检测手势是水平、还是垂直,并且是从左向右,还是从右向左,是从上到下,还是从下到上。被动探测器子单元可具体采用图4所示的电路结构。
图4中,左边虚线框标出的是PIR;右边虚线框标出部分包括放大器和比较器。PIR采集人体红外信号后从A1P_IN输入模拟信号给放大器,经过放大器内部的两个运放AMP1、AMP2实现放大的功能;C4、R1、C5、C6、R3、C7、C8、R2、R4、R5是放大器外围的需要加的电路,是配合AMP1、AMP2实现放大功能的必备元器件。经过放大后的模拟信号传输给芯片内部后级的比较器,比较器的输入是0.6倍VDD,放大后的模拟信号比这个值大就判断为正值,即高电平;反之比这个电平小就判断为负值,即低电平。另外比较器还对输入的红外信号的运动方向进行判断,并由T_OUT脚(Moving detection output)输出确定的方向。
采用图4所示芯片识别人体运动方向的时序图参见图5,从图5中可以看到,在PIR前面的手势,从左到右和从右到左会感应出完全不同的、相反的两种模拟电平,即图中A1P_IN指示的信号;放大器芯片会识别出这些变化并加以判断后输出,即图中A2_OUT指示的信号;然后比较器将来自放大器的模拟信号转换成方波信号,即图中VREF_H side和VREF_Lside指示的方波信号;不同的感应方向有各自不同的方波,得到方波信号后,便可确定出方波信号对应的方向,这里根据T_OUT脚的输出便可获知左边一列的方波信号对应的方向为从左到右,右边一列的方波信号对应的方向为从右到左。
由探测器单元识别人体移动并捕获移动的方向后,微处理器便可基于方向确定出手势识别结果。下面结合图2的实例进行说明。当在感应界面的中央水平比划一条横线时,比如从左到右(从右到左类似),探测器单元2和探测器单元4将检测到信号,但是两个探测器单元识别的有一定差异,具体如下:探测器单元4将首先检测到信号,探测器单元2滞后一定的时间检测到信号;利用这个时间差,整个系统便可识别出手势是从电路单板的哪个方向进入,从哪个方向离开。然后,对于探测器单元2和探测器单元4,可判断感应到的手势的方向,是从左到右,还是从右到左;各个探测器单元内都分别集成传感器的用意就在这里,因为一个传感器是无法识别360°范围的。最后,各个探测器单元把各自监测到的信号方向传递给微处理器,微处理器将根据这些探测器单元反馈的信息整体判断手势的笔画对象。
这样,通过低成本的电路即可实现数字手势识别的功能。下表是0-9十个数字的判断方法,以及手势动作分解。
表1 0-9十个数字的判断方法,以及手势动作分解
表中的水平具体为从左到右,或从右到左;表中的垂直具体为从上到下或从下到上;这里为了简化起见,没有进行完整的描述。
以“2”为例,微处理器监测到工作的探测器单元的先后顺序为:#1、#2、#4、#3,各探测器单元捕获的移动方向分别为:#1水平、#2垂直-水平、#4水平-垂直、#3水平;然后,按照#1、#2、#4、#3的先后顺序,在与各探测器单元的分布位置对应的位置,确定与相应移动方向一致的笔画,即依次是#1水平、#2垂直-水平、#4水平-垂直、#3水平,得到“2”的完成数字笔画对象。
本发明中使用的处理器是MCU系统,即业界的单片机,是一种低成本、应用非常广泛的系统。
本发明在装置中分布设置多个探测器单元,由探测器单元探测感应信号,捕获感应信号的方向,将方向发送给微处理器;微处理器获取各探测器单元探测感应信号的先后顺序,结合先后顺序、探测器单元分布位置以及来自各探测器单元的感应信号的方向,确定出感应信号的笔画流程;微处理器将笔画流程与预先设定的各标准笔画对象进行比对,将匹配的标准笔画对象作为手势识别结果。采用本发明方案,由探测器单元获取感应信号的方向,然后由微处理器基于方向确定手势识别结果;这样,无需摄像头的参与,并且,无需用于存储大量图片的存储器,从而,节省了成本;并且,微处理器基于方向确定出感应信号的笔画流程后,将笔画流程与预先设定的各标准笔画对象进行比对,无需进行多种图片的识别和对比,进而,简化了识别操作。
本发明还提供了一种新的悬浮手势识别方法,该方法无需设置摄像头,用户不需要用手指触摸实体电路或者去按电路上的按钮,只需在一定的空间内用手指进行比划,通过相应的电路和微处理器即可实现识别手势所比划的结果。参见图6,为本发明基于图2的装置进行手势识别的方法示意性流,其包括以下步骤:
步骤601,探测器单元探测感应信号,捕获感应信号的方向,将方向发送给微处理器。
步骤602,微处理器获取各探测器单元探测感应信号的先后顺序,结合先后顺序、探测器单元分布位置以及来自各探测器单元的感应信号的方向,确定出感应信号的笔画流程,作为手势识别结果。
为了进一步提高识别准确性,所述确定出感应信号的笔画流程之后,该方法还包括:微处理器将笔画流程与预先设定的各标准笔画对象进行比对,将匹配的标准笔画对象作为最终的手势识别结果
根据实际需求,手势识别结果可以是由笔画组成的各种笔画对象,例如符号、字母、文字、数字等。下面具体以数字为例进行说明,其他笔画对象与数字类似。
当所述标准笔画对象为数字笔画时,所述确定出感应信号的笔画流程包括:
按照先后顺序,在与探测器单元的分布位置对应的位置,确定与来自探测器单元的感应信号的方向一致的笔画,得到一个完整数字笔画对象。
进一步地,每个探测器单元一次传送给微处理器的方向包括从左至右、从右至左、从下至上以及从上至下中的至少一个。
进一步地,所述探测器单元探测感应信号,捕获感应信号的方向包括:
进行人体红外感应,产生关于红外感应信号方向的模拟信号;
对模拟信号进行放大,将放大后的模拟信号转换成方波信号,从方波信号确定感应信号的方向,发送给微处理器。
采用本发明方案进行手势识别,无需摄像头,只需要几个简单的被动红外器件和一个模拟运放、一个单片机,成本低;并且,无需对比库文件,只需要一套进行笔画检测用的代码程序,算法简单,容量小,不增加额外硬件费用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。