一种红外手势识别的人机交互方法与流程

文档序号:12595072阅读:902来源:国知局
一种红外手势识别的人机交互方法与流程

本发明涉及人工智能领域,特别是一种红外手势识别的人机交互方法。



背景技术:

现有的红外手势控制没有对系统进行实时校正适应不同亮度环境,不能进行感应距离的自定义,且均为单点检测,无法进行复杂手势的识别。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术不足,提供一种红外手势识别的人机交互方法。

为解决上述技术问题,本发明所采用的技术方案是: 一种红外手势识别的人机交互方法,包括以下步骤:

1)将N个检测点编号设为D1~DN,每个检测点上安装一个红外发射模块和红外接收模块;其中,编号为D1~D(N/2)的检测点均匀分布于电路板上;编号为D(N/2+1)~DN的检测点中,至少一个检测点为基准点,其余检测点为自定义检测点;

2)红外接收模块通过采样电阻将手势感应信号转换成电压反馈至MCU;

3)MCU获取各个红外接收模块的反馈电压值,切换检测点,实现对固定检测点矩阵、基准点、自定义检测点矩阵的信号循环扫描采集,完成固定检测点矩阵、基准点、自定义检测点矩阵中所有检测点信号的采集,并以消息池的形式存储采集的信号;

4)对消息池进行分析,对比定义的有效手势,执行与当前有效手势相对应的命令。

所述固定检测点矩阵中的红外发射接收模块形成一条直线。

本发明中,所述固定检测点矩阵中的检测点中心在一条直线上;或者所述固定检测点矩阵中的检测点中心在同一个圆的圆周上;或者所述固定检测点矩阵中的检测点分为两组,该两组检测点中心的连线构成一条折线;或者所述固定检测点矩阵中的检测点中心在一段弧线上。

步骤4)后,MCU在执行当前有效手势对应的命令时,均使用蜂鸣器或者语音模块进行声音提示,同时使用显示器给出图形提示。

每隔时间T,利用模拟选择器切换检测点,控制对应红外发射模块的发射管导通;每隔时间T,利用模拟选择开关选择当前检测通道获取对应红外接收模块的反馈电压值。本发明中,T为3ms。

每隔50ms对消息池进行一次分析,即解析手势的周期为50ms。

所述有效手势包括基本手势和复杂手势,所述复杂手势由所述基本手势组合得到;所述基本手势包括垂直运动手势和水平运动手势;靠近固定检测点矩阵/自定义检测点矩阵或者远离固定检测点矩阵/自定义检测点矩阵定义为垂直运动手势,顺序进入固定检测点矩阵/自定义检测点矩阵中检测点的感应距离内定义为水平运动手势。

垂直运动手势包括垂直靠近手势和垂直远离手势,手势靠近检测点反馈电压逐渐增大,手势远离检测点反馈电压逐渐减小;水平运动手势的感应距离为手动校正的单检测点感应距离。

完成一次垂直运动手势或水平运动手势的时间为0.5~3s,本发明中设定为2s。

所述水平运动手势的水平运动距离为连续感应成功的4个检测点的连线长度。

所述垂直运动手势的感应区域设置如下:以成功感应的检测点中最远的两个检测点的距离为直径,以该直径确定一个圆,以该圆内检测点的个数为垂直运动手势的检测点数量;所述成功感应的检测点是指手势靠近时反馈电压逐渐增大或者手势远离时反馈电压逐渐减小的检测点。

使用基准点对所述感应距离进行手动校正:即手停留在检测点某一感应距离处保持距离稳定超过设定的单检测点校正感应时间,则此检测点手动校正成功,此感应距离即为水平运动手势感应距离的阈值,对所有检测点依次进行校正,一个检测点校正成功后自动切换至下一个需要校正的检测点,直到所有的检测点校正完成。

本发明中,单检测点校正感应时间为2s。

与现有技术相比,本发明所具有的有益效果为:本发明使用检测点矩阵,实现了复杂手势(组合手势和3D手势)的操作,降低系统误触发的几率;通过自定义检测矩阵,实现了任意可能的复杂手势操作;实现了手势感应距离的手动设定和校正;使用循环扫描的方式实现检测点矩阵信息的更新,任何有效手势均可定义与其对应的执行命令,不同应用系统定义不同的执行命令。

附图说明

图1为16个检测点矩阵手势控制系统示意图;

图2为本发明在制氧机上的应用示意图;

图3为本发明交互系统电路结构框图。

具体实施方式

本发明的实现过程如下:

S1、提供16个红外发射接收模块(包括发射端和接收端)组成检测矩阵(编号D1~D16)。检测点D1~D8组成一条直线均匀分布于电路板上作为板上固定检测点矩阵;D9和D10作为基准点,可固定于板上或引出;D11~D16作为自定义检测点矩阵,引出电路板随意固定。如图1所示。

S2、检测点通过采样电阻将手势感应信号转换成电压反馈至MCU。

S3、单片机通过ADC获取单个检测点的反馈电压值,通过74HC138和74HC4051切换检测点实现对检测点矩阵的信号循环扫描采集,完成检测点矩阵所有检测点信号的采集,检测矩阵的信息会以信息池的形式存储在单片机的RAM中。

S4、单片机对检测点矩阵的信息池进行分析,获取当前有效手势,执行与当前手势相对应的命令,同时分析无效手势。

S5、使用基准点1(D9)和基准点2(D10)手动校正检测点矩阵的所有检测点感应距离。

S6、单片机执行当前手势对应的命令或者处理无效手势,均会使用蜂鸣器或语音进行声音提示,使用LED或LCD给出图形提示。

S7、系统提供开关量输出、PWM输出。

本发明使用8个检测点(不限于8个)组成板上检测点矩阵;检测点矩阵为单线形,可使用直线、圆、弧、折线和其他单线图形;检测点矩阵为双线形,可使用平行、交叉、对称和其他双线图形;检测点矩阵可为多线形图形。使用6个检测点(不限于6个)组成外置的自定义检测点矩阵;外置的检测点可随意固定,组成任意3D检测矩阵。选取1或2个检测点作为基准点,用于手动进行红外感应距离校正命令的识别。

使用基准点进入和退出手动校正感应距离模式;在2秒钟之内完成手同时靠近基准点1和基准点2后再离开的动作则进入检测点感应距离校正模式,使用同样的动作退出校正模式。进入校正模式后,程序会控制切换检测点,依次完成对所有检测点的手动校正。进入、退出校正模式和单点校正完成,单片机均会控制蜂鸣器输出固定声音进行提示,控制LED或者LCD给出图形提示。如图3所示。

本发明中,采样电阻的大小只取决于感应灵敏度的要求,不受制于感应距离。感应距离的识别依赖于程序处理。

单片机控制产生驱动检测点矩阵各检测点红外发射管的导通信号时序,通过循环扫描的方式获得整个系统检测矩阵所有检测点的反馈电压值,使整个系统的功耗降至最低。

单片机每隔3ms控制74HC138切换检测点,控制对应红外发射管导通;本系统16个检测点共使用2块74HC138。单片机每隔3ms控制模拟开关74HC4051切换AD值的采集通道,获取当前通道的反馈电压值;本系统16个检测点共使用2块74HC4051。

单片机控制检测点的采集时序为通过74HC138选择点亮的发射管与通过74HC4051选择的接收通道一一对应。

单片机对检测点矩阵进行一个周期的扫描更新一次检测点矩阵的信息;通过软件在单片机的RAM内设置检测点的消息池,每个检测点均有对应的信息空间;每隔一个扫描周期,消息池的内容会更新为检测点当前的信息。所有有效手势的分析识别均依赖于单片机对消息池的分析,与实际检测点的位置无关;实际的手势可进行自由定义,实现3D手势的最大可能性。

本发明中,PWM输出能控制输出电压的线性平滑调整。

以图2的制氧机的手势操作为例:

本系统设置2个检测基准点(D9和D10),设置8个检测点D1~D8组成检测矩阵。使用手势操作替换现有所有按键操作。

手势定义如下:

手靠近D9为此感应点的一次垂直靠近手势

手靠近D9后再离开为此感应点的一次垂直手势操作;

手靠近D10为此感应点的一次垂直靠近手势;

手靠近D10后再离开为此感应点的一次垂直手势操作;

D1-D2-D3-D4顺序感应为左手向右短挥动作;

D4-D3-D2-D1顺序感应为左手向左短挥动作;

D5-D6-D7-D8顺序感应为右手向右短挥动作;

D8-D7-D6-D5顺序感应为右手向左短挥动作;

D1-D2-D3-D4-D5-D6-D7-D8顺序感应为左手向右长挥动作;

D8-D7-D6-D5-D4-D3-D2-D1顺序感应为右手向左长挥动作。

使用手势操控制氧机的具体操作如下:

(1)在开机状态下,使用基准点进入系统手动校正模式。在2秒时间内左手和右手分别完成对D9和D10的垂直手势操作,则进入检测点感应距离校正模式。此时蜂鸣器响500ms,制氧机LCD给出提示进入检测点感应距离手动校正模式,同时指示当前正在校正的检测点。依次完成所有检测点校正后,使用进入检测点校正模式的方式退出校正模式。

(2)使用手势操作制氧机的具体操作如下:

左手向左短挥,右手向右短挥,制氧机开机进入制氧模式;

左手向右短挥,右手向左短挥,制氧机关机退出制氧模式;

进入制氧模式后:

左手向左短挥,流量减1L;

左手向右短挥,流量加1L;

右手向左短挥,定时时间减30分钟;

右手向右短挥,定时时间加30分钟;

左手向右长挥,循环开关雾化功能;

右手向左长挥,循环开关负离子功能;

在2秒内顺序完成对D9的垂直靠近手势操作和左手向左短挥手势,控制制氧机语音播报当前流量和氧浓度信息。

在2秒内顺序完成对D10的垂直靠近手势操作和右手向右短挥手势,控制制氧机智能语音播报音量大小的循环调节。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1