动态视角条件下实现平面目标三维跟踪和增强现实的方法与流程

文档序号:14475337阅读:220来源:国知局
动态视角条件下实现平面目标三维跟踪和增强现实的方法与流程

本发明涉及一种虚拟图像处理技术,尤其涉及一种动态视角条件下实现平面目标三维跟踪和增强现实的方法。



背景技术:

基于现有技术可知,增强现实技术是一种能在真实场景图像中融合虚拟信息,进而对真实场景图像起到增强效果的计算机辅助技术。在实际应用中,为了实现虚拟信息与图像中真实场景的完美融合,需要实时而准确地获取到图像中场景或目标相对于相机的位姿信息。

目前,基于平面目标跟踪的增强现实应用种类较多,比如ar魔法书、ar涂涂乐、ar模型展览等等;这些增强现实应用基本上都是采用基于边或特征点信息的平面目标跟踪方法;然而,基于边的平面目标跟踪方法受边的限制较大,无法跟踪局部闭塞和混乱场景中的平面目标,而且对于相机抖动带来的边缘模糊比较敏感,很容易出现跟踪失败;基于特征点的平面目标跟踪方法,受目标纹理的限制较大,无法跟踪纹理较少和金属类的平面目标;而且在目标较小和图像轻度模糊时,一般的orb、fast等特征点的匹配结果较差,很容易发生跟踪失败,而稳定性能较好的sift特征点,系统的计算开销特别大,无法满足实时性要求。



技术实现要素:

针对背景技术中的问题,本发明提出了一种动态视角条件下实现平面目标三维跟踪和增强现实的方法,所涉及的硬件包括图像采集模块、显示模块、人机对话模块和处理模块;所述图像采集模块、显示模块和人机对话模块均与处理模块连接;其创新在于:被跟踪的对象记为平面目标,所述平面目标为二维平面结构,所述二维平面结构的几何中心和几何尺寸已知;将所述平面目标设置在一平面场景中,跟踪过程中,平面目标静止不动;所述方法包括:

1)在平面目标表面选定4个或4个以上的点位作为识别点;

2)以平面目标的几何中心为原点o,平面目标所在平面为xoy平面,建立三维笛卡尔坐标系;所述三维笛卡尔坐标系简记为3d坐标系;根据各个识别点在平面目标上的分布位置得到各个识别点的3d坐标,将各个识别点所对应的3d坐标导入处理模块;识别点在3d坐标系中的坐标即为3d坐标;

3)建立用于后期增强现实三维渲染的虚拟模型;所述虚拟模型预存在处理模块中;

4)为图像采集模块的像平面生成二维笛卡尔坐标系,所述二维笛卡尔坐标系简记为2d坐标系;所述2d坐标系预存在处理模块中;

5)控制图像采集模块驻停在某一位置,然后通过图像采集模块获取首帧图像并将首帧图像传输至处理模块,处理模块控制显示模块对首帧图像进行显示;所述识别点全部位于首帧图像的画面中;

6)操作人员通过显示模块观察首帧图像,然后通过操作人机对话模块,在首帧图像上标记出多个跟踪点位,以及设定好跟踪点位与识别点的对应关系,至此,跟踪点位和相应的识别点就形成了对应关系,此对应关系简记为2d-3d关系;首帧图像的画面中与识别点对应的点位即为跟踪点位,跟踪点位与识别点一一对应;

7)处理模块在2d坐标系上为每个跟踪点位生成相应的跟踪区,各个跟踪区互不干涉,跟踪点位位于相应跟踪区的中心;图像采集模块的像平面上与跟踪区对应的区域记为识别区;然后,处理模块根据识别区内的灰度分布,为每个跟踪区生成相应的灰度梯度上下文;然后,处理模块为每个跟踪区分配独立的stc处理单元,并用灰度梯度上下文对相应的stc处理单元进行初始化;跟踪点位在2d坐标系中的坐标记为2d坐标,stc处理单元初始化后,stc处理单元采用stc跟踪算法解算出相应的2d坐标并对stc跟踪算法内的2d坐标的数值进行更新;

8)处理模块根据2d坐标、2d-3d关系、图像采集模块的内参矩阵和图像采集模块的畸变矩阵,采用pnp算法解算出平面目标相对于所述像平面的位姿矩阵;同时,处理模块根据stc跟踪算法内的2d坐标的数值,对各个跟踪区的位置进行更新;

9)处理模块根据所述内参矩阵、畸变矩阵和位姿矩阵,将所述虚拟模型注册至首帧图像中,得到三维增强现实视图,处理模块控制显示模块对三维增强现实视图进行显示;

10)之后,控制图像采集模块运动并实时获取图像数据;每收到一帧图像数据,处理模块就按如下方式对图像数据进行处理:

a)处理模块根据相应识别区内的灰度分布,为每个跟踪区生成相应的灰度梯度上下文,然后将灰度梯度上下文发送给对应的stc处理单元;stc处理单元采用stc跟踪算法解算出相应跟踪点位当前的2d坐标并对stc跟踪算法内的2d坐标的数值进行更新;

b)处理模块根据2d坐标、2d-3d关系、图像采集模块的内参矩阵和图像采集模块的畸变矩阵,采用pnp算法解算出平面目标相对于所述像平面的位姿矩阵;同时,处理模块根据stc跟踪算法内的2d坐标的数值,对各个跟踪区的位置进行调节;

c)处理模块根据所述内参矩阵、畸变矩阵和位姿矩阵,将所述虚拟模型注册至当前帧图像中,得到三维增强现实视图,处理模块控制显示模块对三维增强现实视图进行显示。

本发明的原理是:在前述方案中,多个stc处理单元能够对多个跟踪点位进行一对一的实时跟踪,于是我们就可以实时获取到各个跟踪点位在像平面上的位置(也即2d坐标),由于跟踪点位与识别点存在2d-3d关系,在图像采集模块的内参矩阵和畸变矩阵已知的情况下,利用pnp算法就能解算出平面目标相对于像平面的位姿矩阵,进而就能实现虚拟模型的显示视角对拍摄视角的三维跟踪,同时,也就能够以正确的角度显示出渲染后的增强现实效果;从方案中可见,采用多个stc处理单元对多个跟踪点位进行实时跟踪是方案的核心,这种处理方式使得我们可以通过多点视觉跟踪来解决三维跟踪问题,由于stc跟踪算法的固有优点和各个点位的分散分布特性,使得本发明可以不受边和特征点的限制,而且能稳定、精确、实时地实现对平面目标的三维跟踪;现有技术在应用stc跟踪算法时,一般采用灰度上下文来获得上下文先验模型,由灰度特征得到的统计相关性对光照变化的鲁棒性不佳,于是,发明人采用了对光照变化定鲁棒性更好的梯度特征来替换灰度特征,以解决剧烈的光照变化对stc跟踪算法的影响。4个坐标是pnp算法解算位姿矩阵的最低要求,因此本发明采用了4个或4个以上的识别点,识别点数量越多,精确性肯定越好,但需注意的是,识别点也并非越多越好,识别点过多会导致运算开销较大,处理的实时性将会降低,具体实施时,可根据硬件性能,合理选择识别点数量。

优选地,所述灰度梯度上下文由灰度上下文计算像素梯度而得。

优选地,所述步骤3)结束后,采用7×9的黑白块方格标定板对图像采集模块的像平面进行标定并获取图像采集模块的内参矩阵和图像采集模块的畸变矩阵,然后按步骤4)中方式进行操作。在本发明的主方案中,图像采集模块的内参矩阵和畸变矩阵是作为已知条件存在的,在实际工程,有可能图像采集模块的内参矩阵和畸变矩阵无法书面获知,为了提高方法的通用性,于是发明人在主方案基础上又引入了前述的优选方案,通过这种方式,处理模块就能对图像采集模块的性能参数进行自动识别。

优选地,所述跟踪区的像素尺寸为60×60。经多次试验验证,跟踪区的像素尺寸过小时,特征信息太少跟踪误差较大,跟踪区的像素尺寸过大,运算开销和时延都较大,跟踪区的像素尺寸为60×60,是多次试验得到的优选参数。

本发明的有益技术效果是:提出了一种动态视角条件下实现平面目标三维跟踪和增强现实的方法,该方法能够通过多点视觉跟踪来实现三维跟踪,不受边和特征点的限制,而且能稳定、精确、实时地实现对平面目标的三维跟踪。

附图说明

图1、图像采集模块和平面目标相对位置示意图;

图2、三维笛卡尔坐标系示意图;

图3、首帧图像示意图;

图中各个标记所对应的名称分别为:平面目标1,图像采集模块2,识别区3,识别点p1、p2、p3、p4,3d坐标k1、k2、k3、k4,

具体实施方式

一种动态视角条件下实现平面目标三维跟踪和增强现实的方法,所涉及的硬件包括图像采集模块、显示模块、人机对话模块和处理模块;所述图像采集模块、显示模块和人机对话模块均与处理模块连接;其创新在于:被跟踪的对象记为平面目标,所述平面目标为二维平面结构,所述二维平面结构的几何中心和几何尺寸已知;将所述平面目标设置在一平面场景中,跟踪过程中,平面目标静止不动;所述方法包括:

1)在平面目标表面选定4个或4个以上的点位作为识别点;

2)以平面目标的几何中心为原点o,平面目标所在平面为xoy平面,建立三维笛卡尔坐标系;所述三维笛卡尔坐标系简记为3d坐标系;根据各个识别点在平面目标上的分布位置得到各个识别点的3d坐标,将各个识别点所对应的3d坐标导入处理模块;识别点在3d坐标系中的坐标即为3d坐标;

3)建立用于后期增强现实三维渲染的虚拟模型;所述虚拟模型预存在处理模块中;

4)为图像采集模块的像平面生成二维笛卡尔坐标系,所述二维笛卡尔坐标系简记为2d坐标系;所述2d坐标系预存在处理模块中;

5)控制图像采集模块驻停在某一位置,然后通过图像采集模块获取首帧图像并将首帧图像传输至处理模块,处理模块控制显示模块对首帧图像进行显示;所述识别点全部位于首帧图像的画面中;

6)操作人员通过显示模块观察首帧图像,然后通过操作人机对话模块,在首帧图像上标记出多个跟踪点位,以及设定好跟踪点位与识别点的对应关系,至此,跟踪点位和相应的识别点就形成了对应关系,此对应关系简记为2d-3d关系;首帧图像的画面中与识别点对应的点位即为跟踪点位,跟踪点位与识别点一一对应;

7)处理模块在2d坐标系上为每个跟踪点位生成相应的跟踪区,各个跟踪区互不干涉,跟踪点位位于相应跟踪区的中心;图像采集模块的像平面上与跟踪区对应的区域记为识别区;然后,处理模块根据识别区内的灰度分布,为每个跟踪区生成相应的灰度梯度上下文;然后,处理模块为每个跟踪区分配独立的stc处理单元,并用灰度梯度上下文对相应的stc处理单元进行初始化;跟踪点位在2d坐标系中的坐标记为2d坐标,stc处理单元初始化后,stc处理单元采用stc跟踪算法解算出相应的2d坐标并对stc跟踪算法内的2d坐标的数值进行更新;

8)处理模块根据2d坐标、2d-3d关系、图像采集模块的内参矩阵和图像采集模块的畸变矩阵,采用pnp算法解算出平面目标相对于所述像平面的位姿矩阵;同时,处理模块根据stc跟踪算法内的2d坐标的数值,对各个跟踪区的位置进行更新;

9)处理模块根据所述内参矩阵、畸变矩阵和位姿矩阵,将所述虚拟模型注册至首帧图像中,得到三维增强现实视图,处理模块控制显示模块对三维增强现实视图进行显示;

10)之后,控制图像采集模块运动并实时获取图像数据;每收到一帧图像数据,处理模块就按如下方式对图像数据进行处理:

a)处理模块根据相应识别区内的灰度分布,为每个跟踪区生成相应的灰度梯度上下文,然后将灰度梯度上下文发送给对应的stc处理单元;stc处理单元采用stc跟踪算法解算出相应跟踪点位当前的2d坐标并对stc跟踪算法内的2d坐标的数值进行更新;

b)处理模块根据2d坐标、2d-3d关系、图像采集模块的内参矩阵和图像采集模块的畸变矩阵,采用pnp算法解算出平面目标相对于所述像平面的位姿矩阵;同时,处理模块根据stc跟踪算法内的2d坐标的数值,对各个跟踪区的位置进行调节;

c)处理模块根据所述内参矩阵、畸变矩阵和位姿矩阵,将所述虚拟模型注册至当前帧图像中,得到三维增强现实视图,处理模块控制显示模块对三维增强现实视图进行显示。

进一步地,所述灰度梯度上下文由灰度上下文计算像素梯度而得。

进一步地,所述步骤3)结束后,采用7×9的黑白块方格标定板对图像采集模块的像平面进行标定并获取图像采集模块的内参矩阵和图像采集模块的畸变矩阵,然后按步骤4)中方式进行操作。

进一步地,所述跟踪区的像素尺寸为60×60。

参见图1,图中的平面目标为平面矩形结构,将平面目标的四个顶角分别作为四个识别点,为其建立三维笛卡尔坐标系如图2所示,图1中的四个识别点p1、p2、p3、p4分别与图2中的四个3d坐标k1、k2、k3、k4对应,参见图3,图中四个方框区域即为与四个识别点一一对应的四个识别区,识别区的中心即为相应的跟踪点位;由于平面目标是静止不动的,因此四个识别点的3d坐标是不变的,当图像采集模块运动时,跟踪点位在图像上的位置也会随之变化,由于处理模块是对图像数据进行逐帧处理,对单帧图像而言,每个跟踪点位的2d坐标是唯一的,因此,根据每帧图像所对应的四个2d坐标即可解算出相应的位姿矩阵,再结合stc处理单元的跟踪性能,我们就能实时解算出各个跟踪点位相对于每帧图像的2d坐标,最终就能实现对平面目标的三维跟踪,在实现了三维跟踪的条件下,我们就能够实时调节虚拟模型在图像中的显示视角,使得虚拟模型与真实的平面目标完美融合,进而就实现了平面目标的三维跟踪,并获得了相应的增强现实效果。

本发明除了可以应用于游戏娱乐领域外,还可应用于工业领域,比如,可以以零部件安装部位上的某一区域作为跟踪目标,为相应的零部件及其安装位置和安装方式制作三维模型,装配操作人员可通过三维增强现实视图直观、形象地看到如何安装零部件。

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