掌桥专利:专业的专利平台
掌桥专利
首页

红外三维扫描简化结构及在空中触摸屏和按键中应用

文献发布时间:2023-06-19 09:49:27


红外三维扫描简化结构及在空中触摸屏和按键中应用

技术领域

本发明涉及计算机三维交互领域,主要涉及三维立体定位和空中触控技术,具体涉及基于红外扫描的三维空中定位与非接触空中触控的实现结构及其方法。

背景技术

三维交互一直是计算机智能互动领域研究的重要课题。实现三维交互的技术难点之一是人体(特别是臂、手、手指)的准确可靠定位。目前,三维空中定位主要用3D图像传感器实现,微软的Kinect是其典型代表。这种定位技术仍存在定位不准、误定位等问题,尤其是其定位具有方向性的固有缺陷无法解决。

另一方面,触控技术是一种极有发展前途的交互式输入技术,触摸屏技术近年来发展十分迅速。目前触摸屏技术已发展到近二十种,技术相对成熟的触摸屏主要有电阻式、电容式、表面声波式、红外线式等类型。这些触控装置都是平面的触摸屏,且都需要直接触摸到触摸屏的表面才能完成触控。公共场所现有的ATM机、机场和火车站的查询终端及取票机上的触摸屏及按键和电梯、门禁等的控制按钮,都会产生病毒和细菌的交叉感染。应用需求呼唤非接触空中操作的新技术产生。现有触控技术(包括各种利用图像获取及处理的方法)都无法可靠、有效、方便地实现按钮、键盘、触摸屏的非接触空中操作。电阻式、表面声波式、红外线式等触摸屏必须接触才能操作;电容屏实现非接触操作的距离很短(一般不超过3厘米),容易误操作,不能实用;使用图像处理技术的装置不是无法避免误遮挡就是应用场所难于安装。

因此,现有技术有待改进和发展。

发明内容

本发明为了解决上述现有技术存在的不足之处,提出一种红外三维扫描简化结构及在空中触摸屏和按键中应用,以期有效实现三维空中定位与立体触控,从而不仅能为实现不限制方向的体感动作识别、实现远距离三维手势触控操作打下基础,而且能有效实现显示屏的非接触空中触控和按键的非接触空中按击,利用这种红外三维扫描简化结构的非接触空中触摸屏和非接触空中按键能低成本、可靠、方便的实现显示屏、按键的隔空操作,从而解决公共场所点击触摸屏、按键产生的病毒和细菌的交叉感染问题。

本发明为达到上述发明目的,采用如下技术方案:

本发明一种红外三维扫描简化结构的特点是,设置一长方体红外扫描区,所述长方体红外扫描区的底面和顶面分别布置有L×D个红外发射管和L×D个红外接收管;以第c层的底边前L-k个红外发射管和顶边后L-k个红外发射管形成斜向L-k束扫描线的第c层斜向红外扫描层,k为斜向扫描线的红外发射管和红外接收管的位置差;以第c层的底边中间L-2k个红外发射管和顶边中间L-2k个红外发射管形成垂直L-2k束扫描线的第c层的垂直红外扫描层;c=1,2,…,D;所述第c层的底边第i个红外发射管与顶边第i个红外接收管之间形成垂直的第i束扫描线;所述第c层的底边第j个红外发射管与顶边第j+k个红外接收管之间形成斜向的第j束扫描线;以所述垂直的第i束扫描线和斜向的第j束扫描线之间交点(i,j′)为第c层上的第i行第j列的扫描交叉点;i=k+1,k+2,…,L-k;j=1,2,…,L-k。

本发明一种红外空中非接触触摸屏的特点是,将所述的红外三维扫描简化结构平行设置在显示屏幕的正前方,使得所述长方体红外扫描区的顶面和底面处于所述显示屏幕的上下两边之间形成所述红外空中非接触触摸屏,令所述显示屏幕的长度为Lengh,高度为Hight,所述显示屏幕与空中非接触触控之间的距离最大值为Depth,令红外发光管和红外接收管的直径均为d;则L=[Lengh/d]+2k,D=[Depth/d],其中,k为所述显示屏幕的任一侧垂直边缘之外的红外发光管或红外接收管的个数,[x]表示取不小于x的最大整数;且所述长方体红外扫描区的底面和顶面之间的安装距离为Hight。

本发明一种基于所述的红外空中非接触触摸屏的触控点精确定位方法的特点是:通过红外三维扫描获取触控物靠近显示屏的最前端遮挡情况,再使用触控物遮挡红外对管的比例计算触控点的三维精确定位坐标;令触控物的直径不小于2d;令所述红外空中非接触触摸屏的触控精度为横向h个点、纵向v个点,且h远大于H,v远大于L;对所述红外空中非接触触摸屏中所有的红外接收管的强度值做归一化处理,使得红外接收管全遮挡时为0,红外接收管无遮挡时为100;在每个扫描周期p下,所述触控点精确定位是按如下步骤进行:

步骤A、按照垂直和斜向逐层扫描所述红外空中非接触触摸屏;

步骤B、令第1层为最靠近所述显示屏幕的红外扫描层,获得所述触控物所在最靠近所述显示屏幕的垂直红外扫描层,记为第w层;

步骤C、如果第w层的垂直红外扫描层中仅存在一个部分遮挡的红外接收管,则记为第一种遮挡情况;如果第w层的垂直红外扫描层中存在多个部分遮挡的红外接收管,则记为第二种遮挡情况;如果第w层的垂直红外扫描层中存在全遮挡的红外接收管,则记为第三种遮挡情况;

步骤D、若为第一种遮挡情况,则w赋值w+1,将第一种遮挡情况转换为第二种或第三种遮挡情况;

步骤E、若为第二种或第三种遮挡情况,则记在第w层所遮挡的红外接收管的序号依次记为q,q+1,…q+m;第q个红外接收管到第q+m个红外接收管的信号强度值为v

z=d×(w-1)+d×(1-v

x=h/D×(q-1)+(h/D×(100-v

步骤F、按照步骤B-步骤E的过程对斜向红外扫描层进行处理,得到触控点在斜向方向上的坐标x′;再利用横向坐标x对应的垂线和坐标x′对应的斜线,得到两线交叉点(x,y);以所述触控点的横向坐标x、纵向坐标y和深度坐标z作为所述触控物的触控点的精确定位位置(x,y,z)。

本发明一种基于所述的触控点精确定位方法的空中触控物点击操作识别方法的特点是,通过获取触控物的触控点的三维精确定位位置,进而通过判断触控物向显示屏靠近的速度完成空中点击操作;定义点击操作是指在时间s内向所述显示屏幕快速靠近距离c;且s远大于扫描周期p;定义一整型数组int DepthArr[Len]和逻辑变量Hit,其中,Len表示时间s对应的扫描周期个数,且Len=[s/p];初始化数组DepthArr中所有元素均为Depth+1、Hit赋值false;在每个扫描周期p下,所述空中触控物点击操作识别方法按如下步骤进行:

步骤a、获取触控物的触控点的精确定位位置(x,y,z);若触控物不存在,则z赋值Depth+1;

步骤b、数组DepthArr向后移动一个元素,DepthArr[0]赋值z;

步骤c、令k=1、k=2、…,到k=Len-1,依次判断DepthArr[k]-DepthArr[0]是否大于c,若是,则Hit赋值true;

步骤d、如果Hit=true,且触控物的触控点向远离显示屏幕方向移动或停留在一定范围的区域内,则以当前触控点产生点击消息,并且Hit赋值false、DepthArr所有元素赋值z。

本发明一种红外空中按键的特点是,将权利要求1所述的红外三维扫描简化结构平行设置在所有按键所在平面的正前方,且所述红外三维扫描简化结构的扫描区域覆盖按键所在平面区域,且在红外发射管之间、红外接收管之间、各红外扫描层之间设置间隙,所述间隙在0到触控物的最小直径之间。

本发明所述的红外空中按键的多人按击操作实现方法的特点是,通过获得所有连续遮挡区域的最靠近按键的触控物中心点,再判断各个触控物中心点向各个按键靠近的速度以及在各个按键上的驻留时间完成各个按键的空中短按击和空中长按击操作;定义短按击操作是指在时间s1内向所述显示屏幕快速靠近距离c或在按键上方停留时间s2;定义长按击动作是指在按键上方停留时间s3,且s1远大于扫描周期p,s2远大于扫描周期p;s3远长于s2;

每一个按键均定义一个整型数组int DepthArr[Len]、时间计数器TimeCount和按击标志HitFlag,其中,Len表示时间s1对应的扫描周期个数,且Len=[s1/p];初始化所有DepthArr中的所有元素均赋值DepthMax+1、TimeCount赋值0、HitFlag赋值0,其中,DepthMax为所述显示屏幕与空中非接触触控之间的距离最大值;在每个扫描周期p下,所述多人按击操作实现方法是按如下步骤进行:

步骤1、获得所有连续遮挡区域的最靠近按键的触控物中心点的三维坐标(x

步骤2、令k=1、k=2、…,到k=t,依次判断第k个触控物中心点(x

步骤2.1、Button[i].TimeCount自加1,Button[i].DepthArr向后移动一个元素,Button[i].DepthArr[0]赋值z

步骤2.2、令j=1、j=2、…,到j=Len-1,依次判断Button[i].DepthArr[j]-Button[i].DepthArr[0]是否大于c,若大于c且Button[i].HitFlag=0,则Button[i].HitFlag赋值1;

步骤2.3、如果Button[i].HitFlag等于1,且触控物中心点向远离按键方向移动,则通过接口发出Button[i]的短按击消息,Button[i].HitFlag赋值2;

步骤2.4、如果Button[i].TimeCount×p>s2且Button[i].HitFlag<2,则通过接口发出Button[i]的短按击消息;Button[i].HitFlag赋值2;

步骤2.5、如果Button[i].TimeCount×p>s3且Button[i].HitFlag<3,则通过接口发出Button[i]的长按击消息,Button[i].HitFlag赋值3;

步骤3对无触控物落在按键上方的所有按键Button[i

与现有技术相比,本发明的有益效果在于:

1、本发明提出的红外三维扫描简化结构,将二维平面扫描结构推广到三维立体扫描结构,通过多层平面扫描,实现了三维空间的立体扫描,从而不仅进一步实现了非接触空中触摸屏和非接触空中按键,达到了低成本、可靠、方便的实现显示屏、按键的隔空操作的目的,而且为实现不限制方向的体感动作识别、远距离三维手势触控操作打下了基础。

2、本发明提出的红外三维扫描简化结构,与四周都布置红外发射与接收对管的三维立体扫描结构相比,虽扫描定位精度略差,但减少了近一半的红外发射与接收对管,减低了成本,而且适应左右或上下两边不能遮挡的特殊场合应用需求。

3、利用本发明红外三维扫描结构的非接触空中触摸屏,由于其三维特性,对空中触控的距离没有限制,有效解决了电容式触摸屏等因非接触距离过近而无法空中触控的问题。

4、利用本发明红外三维扫描结构的非接触空中触摸屏,使用其红外三维扫描结构及逐层扫描,通过本发明的触控点精确定位方法,达到了在三维空间中准确空中定位手指指尖的效果,有效解决了普通红外触摸屏很难非接触触控和非接触触控不准的问题。

5、利用本发明非接触空中触摸屏的空中触控物点击操作识别方法,通过记录一定时间内的手指指尖在空中的运动轨迹、进而判定点击速度的办法,实现了触摸屏的空中精准点击操作;本发明的非接触空中触摸屏点击操作实现方法,无论手指初始在三维扫描框外还是在三维扫描框内,都可准确方便地连续完成点击操作。

6、利用本发明红外三维扫描结构实现的红外空中按键,主要完成门禁、电梯及各楼层上按键的空中按击,根据按键的形状、大小及排列位置,只要求识别精度够用,确定红外管的间隙,既可保证识别手指及其位置的准确性,又可达到减少元器件开销、降低成本的作用。

7、本发明的红外空中按键的多人按击操作实现方法,通过记录每个按键上方按击者的手指指尖的位置及其轨迹,使用判断在空中的点击速度和在按键上驻留时间的方法完成多人按击操作的识别,具有非常好的实用性。这对于公共场所的电梯等中实施的空中按键能否真正实际使用至关重要。

8、本发明现的红外空中按键结构,与应用场所原有按键相容,不改变原有按键的位置,原有按键功能仍然保留,可大大方便应用的实施和减少扩充空中按键的成本。

附图说明

图1为本发明的红外三维空中定位简化结构示意图;

图2为本发明红外空中非接触触摸屏结构示意图;

图3为本发明手指最前面各种遮挡情况图;

图4为本发明红外空中按键结构示意图。

具体实施方式

本实施例中,一种红外三维扫描简化结构,是为适应特殊场合应用需求(左右或上下两边不能遮挡)和减少元器件数量,将专利号为201210177155.3的红外二维触摸屏的L个红外对管推广到L×D个红外对管,如图1所示,设置一长方体红外扫描区,为适应特殊场合应用需求(左右或上下两边不能遮挡)和减少元器件数量,只在长方体红外扫描区的底面和顶面(或者左右两面)分别布置有L×D个红外发射管和L×D个红外接收管;以第c层的底边前L-k个红外发射管和顶边后L-k个红外发射管形成斜向L-k束扫描线的第c层斜向红外扫描层,k为斜向扫描线的红外发射管和红外接收管的位置差;以第c层的底边中间L-2k个红外发射管和顶边中间L-2k个红外发射管形成垂直L-2k束扫描线的第c层的垂直红外扫描层;c=1,2,…,D;第c层的底边第i个红外发射管与顶边第i个红外接收管之间形成垂直的第i束扫描线;第c层的底边第j个红外发射管与顶边第j+k个红外接收管之间形成斜向的第j束扫描线;以垂直的第i束扫描线和斜向的第j束扫描线之间交点(i,j′)为第c层上的第i行第j列的扫描交叉点;i=k+1,k+2,…,L-k;j=1,2,…,L-k;

采用上述结构,使用逐层扫描,得到物体(一般为人体、手臂、手及手指,即触控物)在立体中的各层定位点。根据各层定位点,(1)可以完成人体的三维立体重构,进而实现各种体感动作,人体可以面对任意方向;(2)可以实现二维触摸屏的空中非接触操作;(3)可以实现空中按键,完成普通按键的空中按击。

本实施例中,一种红外空中非接触触摸屏,如图2所示,是将L×D个对管组成的红外三维扫描简化结构平行设置在显示屏幕的正前方,使得长方体红外扫描区的顶面和底面处于显示屏幕的上下两边之间形成红外空中非接触触摸屏,令显示屏幕的长度为Lengh,高度为Hight,显示屏幕与空中非接触触控之间的距离最大值为Depth,令红外发光管和红外接收管的直径均为d;则L=[Lengh/d]+2k,D=[Depth/d],[x]表示取不小于x的最大整数,k表示显示屏幕的任一侧垂直边缘之外的红外发光管或红外接收管的个数;且长方体红外扫描区的底面和顶面之间的安装距离为Hight。例如,显示屏长Lengh=309mm,高Hight=174mm,空中触控距离D=50mm,红外管直径d=5mm,则图2中L=[309/5]=62,D=[50/5]=10,k可以取5。长方体红外扫描区的底面和顶面之间的安装距离为174mm。

本实施例中,一种红外空中非接触触摸屏的触控点精确定位方法,是通过从前到后(或其它次序)的逐层扫描,每层依次垂直扫描和斜向扫描,再得到触控物靠近显示屏的最前端遮挡情况,进而使用触控物遮挡红外对管的比例计算触控点的三维精确坐标,实现三维空间的空中定位;具体的说,以三维扫描框空间中连续遮挡区域的最低点(最靠近屏幕的点)为这个区域的唯一触控点。不失一般性,假定触控物(一般为手指,对残疾人可以是其它形状)的直径不小于2倍的红外管的直径d;令红外空中非接触触摸屏的触控精度为横向h个点、纵向v个点,h≥H,v≥L,一般情况h远大于H,v远大于L;设触控点深度坐标用离屏幕的距离(单位为毫米)表示,对红外空中非接触触摸屏中所有的红外接收管的强度值做归一化处理,使得红外接收管全遮挡时为0,红外接收管无遮挡时为100;在每个扫描周期p下,触控点精确定位是按如下步骤进行:

步骤A、按照垂直和斜向逐层扫描红外空中非接触触摸屏;

步骤B、令第1层为最靠近显示屏幕的红外扫描层,获得触控物所在最靠近显示屏幕的垂直红外扫描层,记为第w层;

步骤C、如图3所示,如果第w层的垂直红外扫描层中仅存在一个部分遮挡的红外接收管,则记为第一种遮挡情况;如果第w层的垂直红外扫描层中存在多个部分遮挡的红外接收管,则记为第二种遮挡情况;如果第w层的垂直红外扫描层中存在全遮挡的红外接收管,则记为第三种遮挡情况;

步骤D、若为第一种遮挡情况,则w赋值w+1,将第一种遮挡情况转换为第二种或第三种遮挡情况;

步骤E、若为第二种或第三种遮挡情况,则记在第w层所遮挡的红外接收管的序号依次记为q,q+1,…q+m;第q个红外接收管到第q+m个红外接收管的信号强度值为v

z=d×(w-1)+d×(1-v

x=h/D×(q-1)+(h/D×(100-v

步骤F、按照步骤B-步骤E的过程对斜向红外扫描层进行处理,得到触控点在斜向方向上的坐标x′;再利用横向坐标x对应的垂线和坐标x′对应的斜线,得到两线交叉点(x,y);以触控点的横向坐标x、纵向坐标y和深度坐标z作为触控物的触控点的精确定位位置(x,y,z)。

式(2)中,h/D×(q-1)是没遮挡的前q-1个接收管所占水平方向的坐标点数;h/D×(100-v

本实施例中,一种基于触控点精确定位方法的空中触控物点击操作识别方法,主要是通过获取触控物的触控点的三维精确定位位置,进而通过判断触控物向显示屏靠近的速度完成空中点击操作;具体的说,定义点击操作是指在时间s内向显示屏幕靠近距离c毫米,且s远大于扫描周期p;一般可以取s为100ms,c为10mm。定义一整型数组int DepthArr[Len]和逻辑变量Hit,其中,Len表示时间s毫秒对应的扫描周期个数,且Len=[s/p];初始化数组DepthArr中所有元素均为Depth+1、Hit赋值false;其中Depth为三维扫描框深度(mm),在每个扫描周期p毫秒下,空中触控物点击操作识别方法按如下步骤进行:

步骤a、获取触控物的触控点的精确定位位置(x,y,z),z为手指触控点到显示屏的距离(mm),若触控物不存在,则z赋值Depth+1;

步骤b、数组DepthArr向后移动一个元素,DepthArr[0]赋值z;

步骤c、令k=1、k=2、…,到k=Len-1,依次判断DepthArr[k]-DepthArr[0]是否大于c,若是,则Hit赋值true;

步骤d、如果Hit=true,且触控物的触控点向远离显示屏幕方向移动或停留在一定范围的区域内,则以当前触控点产生点击消息,并且Hit赋值false、DepthArr所有元素赋值z。

上述点击操作实现方法,无论触控物初始在三维扫描框外还是在三维扫描框内,都可准确方便地连续完成点击操作。

本红外空中非接触触摸屏特别适合ATM机、机场和火车站等查询终端及取票机上十几吋的小显示屏中使用。

本实施例中,一种红外空中按键,主要实现门禁、电梯及各楼层上按键的空中按击,实现结构如图4所示,将红外三维扫描简化结构平行设置在所有按键所在平面的正前方,且红外三维扫描简化结构的扫描区域覆盖按键所在平面区域,在红外发射管之间、红外接收管之间、各红外扫描层之间设置间隙,间隙在0到触控物的最小直径之间,具体可以根据按键位置的精度要求确定。

当(红外管直径+2×间隙)不大于触控物最小直径时,可以使用三维空中精确定位方法对其进行精确定位。当(红外管直径+2×间隙)大于触控物最小直径时,不能用遮挡红外线多少完成连续的精确定位,只能用红外线遮挡与否确定定位位置。一般成人的手指直径大于10mm,使用红外管直径为5mm,则红外管间隙可以选择为2.5mm,可以使用三维空中精确定位方法对其进行精确定位。

本实施例中,一种红外空中按键的多人按击操作实现方法,是通过获得所有连续遮挡区域的最靠近按键的触控物中心点,再判断各个触控物中心点向各个按键靠近的速度以及在各个按键上的驻留时间完成各个按键的空中短按击和空中长按击操作;具体的说,假定选定的三维扫描框的定位精度满足按键的定位要求,并主要是通过判断手指快速靠近按键或在按键上停留一定时间,实现按击操作,具体的说,定义短按击操作是指在时间s1毫秒内向显示屏幕靠近距离c即c个深度单位,另外,在按键上方停留时间s2毫秒也为一个短按击动作;定义长按击动作是指在按键上方停留时间s3毫秒;且s1远大于扫描周期p;s3远长于s2;具体实施中,s1=0.1ms,s2=0.2ms,s3=1000ms,c表示1公分的深度单位值。

首先设置各按键的形状和位置,分四种形状,即矩形、圆形、三角形、异形。矩形记录四角的二维坐标;圆形设置中心点二维坐标及半径;三角形设置三角的二维坐标;异形设置按键周边的若干点坐标。根据这些设置,形成各按键的周边轮廓,对异形则是每个点与其最近的两点分别做直线拟合形成按键的周边轮廓。所有按键依次编号记为1,2,…,n,Button[k]表示第k个按键。

每一个按键均定义一个整型数组int DepthArr[Len]、时间计数器TimeCount和按击标志HitFlag,其中,Len表示时间s1对应的扫描周期个数,且Len=[s1/p];初始化所有DepthArr中的所有元素均赋值DepthMax+1、TimeCount赋值0、HitFlag赋值0,其中,DepthMax为所述显示屏幕与空中非接触触控之间的距离最大值;在每个扫描周期p下,所述多人按击操作实现方法是按如下步骤进行:

步骤1、获得所有连续遮挡区域的最靠近按键的触控物中心点的三维坐标(x

步骤2、令k=1、k=2、…,到k=t,依次判断第k个触控物中心点(x

步骤2.1、Button[i].TimeCount自加1,Button[i].DepthArr向后移动一个元素,Button[i].DepthArr[0]赋值z

步骤2.2、令j=1、j=2、…,到j=Len-1,依次判断Button[i].DepthArr[j]-Button[i].DepthArr[0]是否大于c,若大于c且Button[i].HitFlag=0,则Button[i].HitFlag赋值1;

步骤2.3、如果Button[i].HitFlag等于1,且触控物中心点向远离按键方向移动,则通过接口发出Button[i]的短按击消息,Button[i].HitFlag赋值2;

步骤2.4、如果Button[i].TimeCount×p>s2且Button[i].HitFlag<2,则通过接口发出Button[i]的短按击消息;Button[i].HitFlag赋值2;

步骤2.5、如果Button[i].TimeCount×p>s3且Button[i].HitFlag<3,则通过接口发出Button[i]的长按击消息,Button[i].HitFlag赋值3;

步骤3对无触控物落在按键上方的所有按键Button[i

空中按键的单人按击操作的实现:限制每一遍三维扫描只得到一个最靠近按键的手指中心点的三维坐标(x,y,z),使用上述处理过程,就可简单实现空中按键的单人按击操作。

本方法实现的空中按键,与原有按键相容,不改变原有按键的位置,原有按键功能仍然保留,这大大方便了应用的实施和可减少扩充空中按键的成本。

相关技术
  • 红外三维扫描简化结构及在空中触摸屏和空中按键中应用
  • 红外三维扫描结构及其在空中触摸屏和空中按键中的应用
技术分类

06120112316231