法律状态公告日
法律状态信息
法律状态
2016-12-21
未缴年费专利权终止 IPC(主分类):G06T17/00 授权公告日:20130731 终止日期:20151103 申请日:20101103
专利权的终止
2013-07-31
授权
授权
2011-05-11
实质审查的生效 IPC(主分类):G06T17/00 申请日:20101103
实质审查的生效
2011-02-16
公开
公开
技术领域
本发明属于计算机增强现实和计算机视觉领域,具体地说本发明涉及一种基于单应性矩阵的多平面动态的增强现实注册的方法,是增强现实应用的基础技术。
背景技术
增强现实系统有着广阔的发展前景,日益受到人们的关注,其在医疗研究、解剖训练、精密仪器制造、装配与维修、军事训练、工程设计和远程机器人等领域有着广泛的应用。由于要实现虚拟和现实物体完美结合,必须将虚拟物体合并到现实世界中准确的位置,增强现实系统中必须能够实时地检测观察者在场景中的位置、观察的角度,甚至是运动的方向,以便用来帮助系统决定显示何种虚拟物体,并按照观察者的视场重建坐标系,即三维注册技术是增强现实技术的基础。三维注册技术实质就是计算现实世界与虚拟世界的坐标系的映射关系,用矩阵来表示。而不同的矩阵也决定了三维注册技术方法选取的不同,其中矩阵表示有单应性矩阵,基本矩阵和本质矩阵。
单应性矩阵方法是最简单的三维注册方法,因为这个方法只需要利用已知的4对点就可以计算出现实世界与虚拟世界的坐标系的对应关系,但是这个方法必须要求选取的点是同一个平面上而且是非共线的点,这样传统的单应性矩阵计算方法只能针对摄像机的视角范围是在同一平面内或者寻找同一平面上的特殊的点的情况,例如使用检测棋盘格上的角点(参见Z.Zhang,“A Flexible New Technique for Camera Calibration,”IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.22,no.11,2000,pp.1330-1334)。另外,基于单应性矩阵的计算,对于多平面的三维注册,现今主要采用识别形状和纹理来进行多平面的识别与注册。对于识别形状的方法,往往在形状被部分遮挡的时候会注册失败(参见http://www.hitl.washington.edu/artoolkit/),对于识别纹理的方法,比较复杂,需要预先学习(参见Jacky Baltes.Camera Calibration Using Rectangular Textures.Springer Berlin Publish.2001)。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于单应性矩阵的多平面动态的增强现实注册的方法,在利用颜色信息的基础上识别特征点自动初始化,避免了一般注册方法初始化需要手动的缺点,同时利用形状信息进行重定位实现多平面的增强现实绘制,而且利用跟踪技术实时更新单应性矩阵计算结果,达到动态的增强现实效果。
本发明采用的技术方案:一种基于单应性矩阵的多平面动态的增强现实注册的方法,其特点在于步骤如下:首先进行场景特征的检测与识别,利用颜色信息识别出来的特征点进行单应性矩阵的初始化计算;然后根据特征点的跟踪实时的计算单应性矩阵,利用计算出来的结果来判断真实世界与虚拟世界的映射关系,从而进行虚拟模型的绘制;最后根据形状信息的识别来触发重定位。
所述的场景特征的检测与识别的方法如下:
(1)颜色空间转换:把存储的每一帧图像由RGB颜色空间格式转换成HSV颜色空间格式,解决RGB颜色图像存储格式对光照的敏感性而引起的颜色值域的变化;
(2)特征点检测:利用Harris角点检测的方法根据灰度的一阶差分以及滤波检测出图像中的角点特征;
(3)特征点识别:对于检测出来的特征角点,计算其邻域内颜色值,并利用排序算法找出其中邻域中特殊定义的颜色值最多的4个点,利用这4个点计算初始的单应性矩阵。
所述的实时计算单应性矩阵方法如下:利用KLT跟踪方法实时的跟踪同一平面的特征点,并根据初始单应性矩阵的计算结果以及公式其中为根据第0帧结果计算出的第i帧单应性矩阵结果,最后实时的更新单应性矩阵结果,从而实时的得到真实世界与虚拟世界的坐标映射关系。
所述的根据特定标志板上的形状信息的识别来触发重定位的方法如下:每帧图像都会检测本发明已定义好的形状信息,当检测到特殊的形状信息切换,都会触发系统进行重定位,即重新初始化,重新注册,实现真实世界与虚拟世界的坐标映射关系。
所述的实时跟踪同一平面的特征点方法如下:为了减少计算量,采用金字塔压缩的方法压缩图片,缩小搜索范围;针对跟踪后的特征点由于运动中产生误差以及非平面上的特征点都会造成其后单应性矩阵计算的错误,所以采用RANSAC方法剔除边界点以及错误的特征点。
本发明与现有技术相比的有益效果在于:
(1)利用颜色信息来进行特征点的检测与识别完成自动初始化计算,避免手动初始化;颜色空间选择HSV空间减轻颜色对于光照的敏感性;针对尺度变换的影响,采用邻域计算以及排序算法排除噪点,最后消除尺度变换的影响。
(2)对于动态的增强现实系统,KLT跟踪算法和RANSAC算法被用来实时的跟踪和选取同一平面的特征点来进行单应性矩阵的实时更新,以得到真实世界与虚拟世界的坐标系的映射关系来实现正确的增强现实绘制效果。
(3)对于单应性矩阵只能在单一的平面进行注册,简单的颜色信息被用来判别不同的平面。而颜色值域可能由于光照的影响发生变化而导致识别失败,采用形状信息(简单形状或者ARToo1kit中的标志形状)进一步判别位置信息,来触发重定位,进行多平面的注册效果。
附图说明
图1为本发明的整体过程示意图;
图2为本发明尺度影响示意图;
图3为本发明的标志板示意图;
图4,图5为本发明的最后绘制渲染示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述:
本发明实施过程包括三个主要步骤:自动初始化,实时更新单应性矩阵,重定位。如图1所示。
步骤一即自动初始化,主要分成三个阶段:
本发明为了克服传统的三维注册初始化的问题,即为了得到初始化的真实世界与虚拟世界的坐标系的映射关系,必须在真实世界中找到一些特征的物理坐标以及与这些选定的特征相对应的图像坐标,来建立真实世界与虚拟世界的坐标系的初始化的影射关系。一般传统的做法是自定义真实世界中的一些特征的物理坐标,然后手动的在初始化的帧图像上选取与真实世界中选取的特征相对应的点,以得到其图像坐标,建立关系,这样得到的初始化矩阵比较精确;也有的方法是利用形状或者纹理信息得到一些特殊的特征的图像坐标来进行初始化,这时候的初始化不需要手动,但是也有其缺点,预处理比较复杂,而且特别纹理上的特征不精确。本发明采取了用颜色的信息进行自动初始化,并利用概率和排序算法解决尺度变换的问题,具体的步骤如下:
第一个阶段:存储图像
本发明使用了工业相机以提高帧率以及分辨率,此工业相机需要硬件初始化后,将其本身数据结构存储为opencv的IplImage数据结构,色彩通道数为3,每帧图像存储为RGB颜色空间的表示格式R(k)。
第二个阶段:转换图像格式
颜色空间对于光照比较敏感,特别是传统的RGB颜色空间。由此将存储的RGB图像R(k)转换为HSV颜色空间图像V(k)。
第三个阶段:特征点检测识别
得到转换后的HSV颜色空间表示的图像,对图像进行Harris角点检测。根据灰度的一阶微分变换,检测出图像中的角点。由于角点是二维图像亮度变化剧烈的点或图像边缘曲线上曲率极大值的点,即是强烈变化区域的交叉点,所以颜色所属值域是不准确的。本发明采取检测角点周围的邻域点的颜色,确定一个阈值来识别所需要的初始化的已知点。
确定邻域是找寻已知点的核心。但是尺度变化导致了相同的邻域在不同的尺度下检测出的点是不同的,进而导致了会出现很多的噪点。如图2所示,abcd方框中是红颜色,取邻域为20个像素,在距离为1.2m的时候邻域范围大约为圆圈1;在相同邻域下,在距离为1m时邻域范围大约为圆圈2;这就导致了出现除a,b,c,d点外,还有很多噪点。
使用归一化方法解决尺度变化的问题。归一化方法就是确定总量以及分量。总量就是所有角点中邻域中检测出指定颜色的点的总数的最大值,分量就是角点邻域中检测出指定颜色的点的总数。用排序算法取出检测出来的总数的最大值作为总量值,然后用分量值除以总量值得到归一化后的值。本发明使用的是单应性矩阵去计算真实世界与虚拟世界之间的坐标系的映射关系,仅需要4对匹配点来更新计算单应性矩阵结果。要识别出来的4个点就是归一化后最大的前4个点。如图2,图3所示,分别为不同形式具有指定颜色的标志板,都可以准确的找出4个点。
步骤二:实时更新单应性矩阵。
计算单应性矩阵,实际上就是求取摄像机内外参数的过程。摄像机内参是关于摄像机焦距等物理参数,是三维注册前已经标定好的;摄像机外部参数主要是旋转和平移变量,主要表示了真实世界坐标系和虚拟世界坐标系的映射关系。在摄像机移动的过程中,外部参数是实时变化的,如果要得到正确的三维注册关系,得到真实的虚实融合绘制效果,单应性矩阵就需要实时的更新。
利用步骤一中的识别出来的4对点,可以计算出初始单应性矩阵,得到静止状态下摄像机的外部参数。随着摄像机的移动,已知的特征点可能会移出视角之外,而出现新的特征点。本发明采用KLT跟踪方法,跟踪初始帧的特征点,就可以实时的更新单应性矩阵的结果。但是传统的KLT跟踪方法有其缺陷,1)是当移动过快,跟踪将失败;2)是KLT只是跟踪上一帧的特征点,而单应性矩阵方法要求只能使用同一个平面上的点才能保证计算正确。针对问题1,本发明进行了出错处理,当跟踪到的点数少于20的时候,就重新检测角点,以现在的点为跟踪前一帧的点。因为跟踪的特征点起源就是角点,虽然相机移动较快导致跟踪失败,但是两帧之间变化不会相差很大,还是会有共同的角点,所以重新检测角点跟踪是合理的。针对问题2,使用RANSAC算法剔除一些非平面上的点以及解决问题1中的方法得到的不正确的点。
步骤三:重定位,分别为两种方法。
单应性矩阵虽然需要的匹配点的对数是最少的,但是却要满足严格约束,就是只能使用同一平面上的特征。当在多平面虚实融合绘制时,使用单应性矩阵计算就会导致失败。针对这个问题,本发明使用了重定位方法,当视角移向另一个平面时(此平面上有定义好的特殊形状或者颜色),就会进行重定位。
第一种方法:仅使用颜色。
假设在两个不同的平面分别绘制虚拟物体,本发明可以使用两种不同的颜色,例如红色和绿色。当视角中出现的颜色变化时,就会进入重定位模块,进行步骤一中的初始化标定,启动不同的绘制方案,进行虚实融合的绘制。
第二种方法:添加形状的识别。
由于视角转向不同的平面,可能引起不同环境下摄像机角度变化大时,灯光亮度变化也比较大的情况下,对于颜色值域,可能引起比较大的变化,导致检测的不准确,所以本发明在颜色属性信息的基础上添加了ARToolkit的标识检测模块。当出现不同的标识时,就会触发重定位模块,再根据识别出的特殊的4对匹配点进行初始化单应性矩阵计算,启动不同的绘制方案,进行虚实融合的绘制。图4,图5为虚实融合的绘制效果,图5背景是增加形状的标志,中间的大方框中为红色。
机译: 在平面中编辑视频序列的方法,涉及为视频序列的每个当前图像确定一系列变换,即单应性,并执行用于对一系列变换进行时间滤波的步骤
机译: 动态非平面表面上基于投影的增强现实的几何标定系统和方法
机译: 动态非平面表面上基于投影的增强现实的几何标定系统和方法