一种基于3D传感器定位技术的人机互动系统及方法与流程

文档序号:12595386阅读:331来源:国知局
一种基于3D传感器定位技术的人机互动系统及方法与流程

本发明涉及一种人机互动技术,具体涉及一种可用于任意普通墙面的人机互动系统。



背景技术:

人机交互界面作为一个独立的、重要的研究领域是全世界电脑厂商一直关注的重点,并且它也成为近年来计算机行业众多商家竞争的又一块新的领域。计算机技术和人机交互界面技术的发展也同时引导了与其相关的软硬件技术的发展。上世纪90年代以来,计算机的软、硬件技术都取得了较快的发展,与此同时,计算机也进入了寻常百姓家,家家都有计算机,这要求了用户界面在系统设计和软件开发中有较高的用户体验。因此,触控与体感控制技术也应运而生。毫无疑问,作为虚拟现实技术和动作捕捉技术的一种新形式,体感传感器的触控技术在未来有着广阔的发展前景和应用途径,这会是传统的多媒体通信技术的进化和升级,它将不仅仅改变的是交流形式,更改变的是一种传播理念。它还可以利用新奇的视觉效应和精彩的动感效应将信息传播与互动用户放在一起,互动者在感受互动并且操控虚拟画面的整个过程中很自然地接受了画面中传递出的元素与信息,显然这种内在吸引力轻而易举的就能占据用户的内心,从而是其达到一种互动情感的共鸣。当前,体感控制属于多通道、多媒介智能人机交互技术阶段,在人们渐渐接受计算机和计算机不断适应人类的一整套交互过程中,体感交互技术有了更加新奇的手段:指尖的微小动作、空气中振动的声波等都可以完成信息传播,实现人与电脑之间的互动。

但是目前体感控制技术一般都是与屏幕(例如拼接屏幕)相联系的,如果能够将其扩展到任意普通墙面,实现人与任意墙面的互动,将能使传播形式更加丰富多彩。



技术实现要素:

本发明的发明目的是提供一种基于3D传感器定位技术的人机互动系统,通过对使用者的即时动态捕捉,并对使用者的外部动作做出精确感应,实现基于任意墙面的触控与体感控制。本发明的另一个目的是提供一种基于该系统的人机互动方法。

为达到上述发明目的,本发明采用的技术方案是:一种基于3D传感器定位技术的人机互动系统,包括控制主机、传感器、互动平面和控制软件,所述传感器为包括红外线摄像头和彩色摄影头的3D传感器,所述互动平面为普通墙面;设有投影装置,所述投影装置照射在所述互动平面上;设有红外笔,所述红外笔由使用者操控并照射在所述互动平面上。

一种基于3D传感器定位技术的人机互动方法,包括下列步骤:

(1) 对3D传感器进行几何校准;

(2) 创建互动区域:

将一墙面确定为互动平面,设置投影装置,使投影图像投射到所述互动平面上,形成互动桌面,设置3D传感器,使红外线摄像头和彩色摄像头覆盖整个互动桌面,所述红外线摄像头和彩色摄像头具有对应的坐标系;进行投影装置和3D传感器的几何映射关系校准,获得图像的映射变换矩阵;

(3) 使用者用红外笔照射互动平面,构成对互动平面的触摸事件,采用红外线摄像头获取互动平面上的红外图像,同时采用彩色摄像头获取实际互动画面,利用步骤(2)获得的映射变换矩阵,获得互动操作的红外笔的坐标位置,并获取使用者的手势;

(4) 根据步骤(3)获得的红外笔的触摸操作和/或使用者的手势,对投影内容进行控制;

(5) 重复步骤(3)、(4),实现人机互动。

上述技术方案中,步骤(2)中,图像的映射变换矩阵的获取方法是:

(a) 构建摄像头成像模型:

在摄像头坐标系中,Q(Xc, Yc, Zc)为互动面反射点,Q(Xc, Yc, Zc)在成像平面上形成一个二维坐标点q(Xu, Yu),f为摄像头焦距,则,;

(b) 构建投影装置成像模型:

在投影装置坐标系中,(Xp, Yp, Zp)为投影点的三维坐标,(Xg, Yg)为其在投影平面上的二维投影坐标,为投影装置焦距;

(c) 利用空间坐标系平移旋转得到坐标变换表达式,通过仿射变换,在确定三个特征点的基础上,得到图像的映射变换矩阵。

由于上述技术方案运用,本发明与现有技术相比具有下列优点:

1、本发明提供了一种基于3D传感器定位技术的人机互动系统,可将任何墙面变成触控屏,达到人机自然实时互动效果。

2、本发明利用投影技术、红外传感、运动捕捉、几何校准、图像处理、互动区域创建等多种混合技术,不需要使用例如拼接屏幕等设备,使用普通墙面即可达到精准的人机互动,拓展了人机互动技术的应用领域。

附图说明

图1是本发明实施例一的系统框架示意图;

图2是实施例的系统原理图;

图3是实施例中几何映射关系图;

图4是摄像头拍摄空间图像成像模型;

图5是实施例中基于3D传感器的定位互动效果示意图。

具体实施方式

下面结合附图及实施例对本发明作进一步描述:

实施例一:参见图1所示,一种基于3D传感器定位技术的人机互动系统,主要由硬件部分和软件部分组成。

硬件部分由三部分组成,分别是控制主机、3D传感器和互动平面。控制主机用于操作软件部分的控制软件以及显示部分。3D传感器为系统的主要传感器,可以用来捕捉信号,例如手势,人的动作,红外线信号等。互动平面一般选用普通墙面即可,作为互动设备的显示平面。

软件部分由两部分组成,分别是控制软件和显示软件。控制软件从3D传感器处采集到数据然后进行滤波,同时还包括数据通信的部分。控制软件可以对互动信号进行有效处理并与系统互动。显示软件用来控制显示部分,使画面能够出现在互动平面上,供使用者进行互动操作。

该互动系统功能示意图如图2所示。

红外笔在互动平面上操作,会在互动平面上形成红外的光斑。然后kinect的深度摄像头会对互动平面进行扫描,并把扫描到的信号传输到电脑中。电脑会先对收到的数据进行滤波处理,然后将处理好的数据传输到控制软件中。控制软件会控制互动平面上的互动操作,从而实现人机交互的功能。

本实施例中,3D传感器采用Kinect3D体感摄影机(开发代号“Project Natal”),Kinect有三个镜头,左右两边的镜头分别为红外线发射器和红外线感应器,配对使用可以进行定位控制,用来采集深度数据(即物体到摄像头的距离)。中间的镜头是RGB彩色摄影头,可以用来采集定位图像进而定位图像位置。彩色摄像头最大支持1280×960分辨率成像,红外摄像头最大支持640×480成像。Kinect还可以聚焦,底座电动马达可以调节转动,捕捉物体和图像。

本实施例实现人机互动的方法包括以下步骤:

1、3D传感器的几何校准

本发明以3D传感器所拍摄的图像作为媒介,分别编辑算法计算显示图像、投影图像与之的对应关系,最终实现原始图像与投影图像的对应校准。由于3D传感器自身的原因,拍摄出的图像与原图像相比会有一定程度的变形,此时就需要先对图像进行修正,即求出3D传感器图像本身的变化矩阵。首先,先测出方格纸的尺寸,并以某一角建立坐标系,将各个格点数据化,得到一个二维平面坐标矩阵。其次,用3D传感器在四个不同角度对方格纸进行拍摄,在摄像图片中以对应角为原点建立坐标系,得到各个格点对应的坐标,建立对应的二维平面坐标矩阵。最后,利用软件算出两个坐标矩阵间的转化矩阵,所得即3D传感器图像本身的变化矩阵,进而对拍摄图像的特征坐标矩阵要进行相机变化矩阵的逆变化,以得到真正的拍摄图像。

2、创建互动区域

(1) 互动区域:首先将投影仪、Kinect放置在距离互动墙面适当的位置,然后将投影仪、Kinect与电脑连接好。利用电脑与投影仪,将需要进行互动操作的电脑桌面投射到实验室的白色墙面上,然后将Kinect打开,使Kinect的RGB摄像头覆盖到整个互动桌面。

(2) 互动平面图像位置识别:

在完成上述互动区域的硬件搭建后,互动面的图像位置识别或者说是投影图像与Kinect摄像头采集图像的映射关系的确定是最为重要的一个环节。在进行互动时,计算机还要知道互动面上所有图像的准确位置和激光笔的准确位置,才能够判断用户的具体操作目的。首先对于投影图像的位置是确定,需要完成投影仪、Kinect摄像头系统的几何映射关系,如图3所示。

通过电脑给投影仪投射互动面,几何映射关系如图3,假设投影图像有一点M(x, y),这点在投到互动面上时位于位置P处,Kinect的RGB摄像头会接收到互动面反射的P点,从而在成像面上得到I(r, c)点。计算机需要知道每一个成像的像素点对应于实际投影图像中是哪一点,即需要进行图像的映射变换求出变换矩阵。

(3) 搭建Kinect摄像头成像模型和投影仪投射模型:

如图4所示是摄像头拍摄空间图像成像模型,假设摄像头坐标系为世界坐标系,Q(Xc, Yc, Zc)为互动面反射点也是投影点。在成像平面上形成一个二维坐标点q(Xu, Yu),f为摄像头焦距,如图所示,利用相似原理,可以得到如下关系表达式:

同理,投影仪的成像原理与相机相似,同样可以得到如下的关系表达式:

其中,(Xp, Yp, Zp)为投影仪坐标系为投影点的三维位置坐标,(,)为二维投影点的坐标。

要得到投影仪——摄像头系统中空间点的坐标表达式,需要将摄像机与投影仪坐标系变换一致。它们之间可以利用空间坐标系平移、旋转得到。坐标变换表达式如下所示:

联立上述方程(1),(2),(3),(4),(5)解得:

Kinect相机焦距f、投影仪焦距为已知,对于投影仪与Kinect的坐标变换矩阵,可通过标定试验给出,所以要求上述方程得到投影空间点的坐标即投影互动面上图像位置,只需要求出相机成像点坐标(,)和二维投影点的坐标(,)的关系,便能够得到空间点坐标。

(4) 仿射变换:仿射变换在数学上指的是两向量之间的映射变换关系。它实际由两部分组成,一是非奇异变换,另一个是平移。即一个任意的仿射变换都能表示为乘以一个矩阵 (线性变换) 接着再加上一个向量 (平移)。

事实上仿射变换代表的是两幅图像之间的关系。仿射变换可以用2×3的矩阵来表示。

,A矩阵表示图像映射线性变换的部分,B=[] ,B矩阵则代表平移的部分。两幅图像的变换关系可以看成点向量的关系,M、I为投影点和成像点,两点向量的仿射变换表达式如下:

(9)

(10)

本发明只需要在投影图像和成像图像上找出三个特征点,即可解出上述矩阵A和B,从而得到仿射变换矩阵,进而就可以得到投影图像和成像图像上所有坐标点的对应关系。

本发明利用Opencv来实现具体的仿射矩阵的求解,下面是关键部分程序实现及其说明。

//定义两个二维数组,存储两幅图像上选取的三个特征坐标点

srcTri[0] = Point2f( 0,0 );//源画面中心点为坐标原点

srcTri[1] = Point2f( src.cols-1, 0 );//源图像原点左一单位点坐标

srcTri[2] = Point2f( 0, src.rows-1 );//源图像原点下一单位点坐标

dstTri[0] = Point2f( 0,0 );//目标画面中心点为坐标原点

dstTri[1] = Point2f( dst.cols-1,0 ); //目标图像原点左一单位点坐标

dstTri[2] = Point2f(0, dst.rows-1); //目标像原点下一单位点坐标

// 利用函数getAffineTransform求得2×3仿射变换矩阵,赋值给warp_mat

warp_mat = getAffineTransform( srcTri, dstTri );

程序中加载的源图像为投影条纹图像,源图像上选取的三个点的坐标;目标图像为Kinect摄像头采集到的条纹图像,它储存在计算机中,选取相对应位置的三个点的坐标。程序根据调用这两张图像上的三组特征点来求解出仿射变换矩阵。在得到了仿射变换矩阵后,就可以利用公式(6)、(7)、(8)求得空间点即互动面上点的坐标,这样计算机就能够确定互动面图像的位置,从而也就是实现了互动区域的创建工作。

3、确定触摸事件

利用Kinect的红外接收摄像头与红外激光笔的配合来确定触摸事件和触摸方式。利用激光笔在互动墙面上进行点击时,把笔尖按到墙面,笔将发射出红外激光,打到墙上,墙面则将反射红外激光,反射的红外激光将被Kinect红外接收器接收到。Kinect包含有一对红外线发射器和红外线VGA摄像头组,利用Kinect这对红外接发射组,红外接收器可以通过接收红外发射器发出的红外线的反射光来进行深度图像分析以及定位。本发明没有用到Kinect红外线发射器,只用其接收器和互动参与者手中的红外激光笔进行配合。同时利用Kinect辅助开发工具Kinect for Windows developer Toolkit中的Depth-D3D功能,可以得到Kinect红外摄像头获取的红外图像,先拍摄出实际的互动画面,再利用Kinect辅助工具获取红外图像,进而获取互动操作的笔的位置,即坐标的位置。

根据红外图像,指定互动面左下角为坐标原点,计算机就能容易的找到互动者的触摸位置,在触摸位置坐标已知,互动面上各个图标位置已知的情况下,计算机就能准确判断出互动过程中,互动人员的触摸过程。Kinect在得到红外图像时,深度数据是第一次得到,每一帧的深度数据将根据预先得到的互动表面进行相互比较,以此确认是否存在“触摸”事件。通过将原始的、从深度数据中得来的、被认为是触摸事件的深度数据放入一个自定义的滤波功能块中,以此来去除外界噪声干扰的影响。基于软件平台的跟踪定位的效果图如图5所示。手置于人机互动区域,系统会自动对手势进行跟踪定位。图5中,轨迹线代表正在识别的手的轮廓,四边形代表系统将手定位在这个范围内,圆圈是对手指尖的定位,从而能达到精准人机互动的目的。

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