一种全景图特征匹配精度优化的方法及系统转让专利

申请号 : CN201611020915.4

文献号 : CN106780573B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张伟翁健贺玄煜俞晓东马静

申请人 : 山东大学

摘要 :

本发明公开了一种全景图特征匹配精度优化的方法及系统;建立图像金字塔逐层改善匹配结果;采用普通图像为媒介,获取全景图像上的颜色信息,通过NCC,优化特征点位置;由优化匹配改善相机参数等思路和方法;通过本发明,可以提高全景图像特征匹配的精度,充分利用全景图像丰富信息量特点的同时,提高了图像定位、三维场景重建的精度。

权利要求 :

1.一种全景图特征匹配精度优化的方法,其特征是,包括如下步骤:步骤(1):输入两幅全景图像:参考全景图像和目标全景图像;

步骤(2):每幅全景图像均提取若干个虚拟普通图像;

步骤(3):建立L层图像金字塔;

步骤(4):若干个虚拟普通图像作为输入,运行三维重建软件PMVS,得到相机参数和原始特征匹配结果;

步骤(5):从第L层图像金字塔开始,基于PMVS得到的3D点云,进行目标全景图像的特征匹配优化;

所述步骤(5)的步骤为:

步骤(51):从第L层图像金字塔开始,以每一个3D点Pi为中心构造一个长方形3D区域Qi,按照设定步长对长方形3D区域Qi进行采样,使长方形3D区域Qi投影到任意2D普通图像上产生n*n的色块qij;i的参数含义是第i个点,j的参数含义是第j幅图像;

步骤(52):将色块qij投影到对应的参考全景图像和目标全景图像上;

步骤(53):通过对比投影到参考全景图像的2D纹理Wr(i,j)和投影到目标全景图像上的

2D纹理Wt(i,j),修改目标全景图像上的特征坐标点pij;给每个目标全景图像上的色块一个偏移量Wtar(i+Δi,j+Δj),通过NCC算法搜索目标全景图像上与参考全景图像的2D纹理Wr(i,j)最为匹配的位置;

步骤(6):判断是否所有3D点都经过处理,若是就进入步骤(7);若否就返回步骤(5);

步骤(7):判断是否所有L层图像金字塔都迭代完,若是就采用光束平差法改善相机参数,进入步骤(8);若否,则L=L-1,返回步骤(5);

步骤(8):判断主循环次数是否等于设定次数,若是就将优化后的pij投影到目标全景图像上,最终获得精确的特征匹配;若否就返回步骤(4)。

2.如权利要求1所述的方法,其特征是,所述步骤(2)的虚拟普通图像就是虚拟的普通图像,虚拟的普通图像通过全景图像投影得到的,包括位置的坐标和代表颜色信息的矩阵。

3.如权利要求1所述的方法,其特征是,所述步骤(2)的步骤为:(21)首先找到虚拟普通图像上的点与球面上点的投影关系;

(22)得到普通图像与球形模型之间的投影关系后,普通图像上每一点的颜色即是该点所对应的球面坐标处的颜色值,为普通图像上每一个坐标填充颜色,就将普通图像提取出来。

4.如权利要求3所述的方法,其特征是,步骤(21)的步骤为:(211)忽略图像旋转,假设虚拟普通图像的中心在X轴上,且虚拟普通图像相切于球面;

(212)将虚拟普通图像上的一点p′影到单位球上,为m′;

(213)通过视角α和β,计算出旋转矩阵R;

(214)最终m的坐标为m=Rm′;

其中,α表示过相机中心点o和球形相机中心点O的直线在球形坐标系XOY面的投影与XOZ面的夹角;

β表示过相机中心点o和球形相机中心点O的直线与球形坐标系XOY面的夹角;

m表示空间中三维点M以球形相机中心点O为中心的球面投影。

5.如权利要求1所述的方法,其特征是,所述步骤(3)的步骤为:对参考全景图像、目标全景图像、若干个虚拟普通图像均建立L层图像金字塔,第L层表示当前的图像是原图像的

1/2L。

6.如权利要求1所述的方法,其特征是,所述步骤(4)的相机参数包括焦距和相机中心。

7.如权利要求1所述的方法,其特征是,所述步骤(52)的步骤为:将色块qij投影到对应的参考全景图像上,得到坐标,然后根据坐标采用双线性差值得到当前坐标的颜色值,并将当前坐标的颜色值存储到n*n*3的W(i,j)矩阵中,得到参考全景图像的2D纹理Wr(i,j);

将色块qij投影到对应的目标全景图像上,得到坐标,然后根据坐标采用双线性差值得到当前坐标的颜色值,并将当前坐标的颜色值存储到n*n*3的W(i,j)矩阵中,得到目标全景图像上的2D纹理Wt(i,j)。

8.如权利要求1所述的方法,其特征是,所述普通图像就是RGB图像。

9.如权利要求1所述的方法所采用的系统,其特征是,包括:输入模块:输入两幅全景图像:参考全景图像和目标全景图像;

提取模块:每幅全景图像均提取若干个虚拟普通图像;

图像金字塔建立模块:建立L层图像金字塔;

原始特征匹配获取模块:若干个虚拟普通图像作为输入,运行三维重建软件PMVS,得到相机参数和原始特征匹配结果;

特征匹配优化模块:从第L层图像金字塔开始,基于PMVS得到的3D点云,进行目标全景图像的特征匹配优化;

第一判断模块:判断是否所有3D点都经过处理,若是就进入第二判断模块;若否就返回特征匹配优化模块;

第二判断模块:判断是否所有L层图像金字塔都迭代完,若是就采用光束平差法改善相机参数,进入第三判断模块;若否,则L=L-1,返回特征匹配优化模块;

第三判断模块:判断主循环次数是否等于设定次数,若是就将优化后的pij投影到目标全景图像上,最终获得精确的特征匹配;若否就返回原始特征匹配获取模块。

说明书 :

一种全景图特征匹配精度优化的方法及系统

技术领域

[0001] 本发明涉及一种全景图特征匹配精度优化的方法及系统。

背景技术

[0002] 球形全景图像提供了360度的宽广视角在同一时间可以记录下每一个方向的信息。由于它具有丰富的信息量,这种全景图被广泛应用于如google街景、三维场景重建等许多应用上。纯粹基于图像的重建,其质量极大得依赖于匹配的效果,然而球形全景图像的立体匹配在之前的工作中却少有研究。
[0003] 运动恢复结构(SFM)是非全景相机校准的主要方法之一,通过SFM可以获得初始的相机参数和特征匹配。Furukawa和Ponce提出了一个新方法,利用光束平差法从粗糙的表面重构中提取的自顶向下的信息来确定图片的特征匹配,并且优化相机参数。当前有许多算法被提出,可以应用于普通的图像立体特征匹配中,然而,这些方法并不能直接用于全景图像,因为其具有复杂的投影关系和严重的几何畸变,因此在全景图像中找到精准的特征匹配仍然是一件非常困难的事情。
[0004] 现有技术需要解决的问题是:如何提高全景图像之间特征的匹配精度。

发明内容

[0005] 本发明的目的就是为了解决上述问题,提供一种全景图特征匹配精度优化的方法及系统,它具有提高全景图像之间特征的匹配精度的优点。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 一种全景图特征匹配精度优化的方法,包括如下步骤:
[0008] 步骤(1):输入两幅全景图像:参考全景图像和目标全景图像;
[0009] 步骤(2):每幅全景图像均提取若干个虚拟普通图像;
[0010] 步骤(3):建立L层图像金字塔;
[0011] 步骤(4):若干个虚拟普通图像作为输入,运行三维重建软件PMVS,得到相机参数和原始特征匹配结果;
[0012] 步骤(5):从第L层图像金字塔开始,基于PMVS得到的3D点云,进行目标全景图像的特征匹配优化;
[0013] 步骤(6):判断是否所有3D点都经过处理,若是就进入步骤(7);若否就返回步骤(5);
[0014] 步骤(7):判断是否所有L层图像金字塔都迭代完,若是就采用光束平差法改善相机参数,进入步骤(8);若否,则L=L-1,返回步骤(5);
[0015] 步骤(8):判断主循环次数是否等于设定次数,若是就将优化后的pij投影到目标全景图像上,最终获得精确的特征匹配;若否就返回步骤(4)。
[0016] 所述步骤(2)的虚拟普通图像就是虚拟的普通图像,虚拟的普通图像通过全景图像投影得到的,包括位置的坐标和代表颜色信息的矩阵。
[0017] 所述步骤(2)的步骤为:
[0018] (21)首先找到虚拟普通图像上的点与球面上点的投影关系;
[0019] (22)得到普通图像与球形模型之间的投影关系后,普通图像上每一点的颜色即是该点所对应的球面坐标处的颜色值,为普通图像上每一个坐标填充颜色,就将普通图像提取出来。
[0020] 步骤(21)的步骤为:
[0021] (211)忽略图像旋转,假设虚拟普通图像的中心在X轴上,且虚拟普通图像相切于球面;
[0022] (212)将虚拟普通图像上的一点p′影到单位球上,为m′;
[0023] (213)通过视角α和β,计算出旋转矩阵R;
[0024]
[0025] (214)最终m的坐标为m=Rm′。
[0026] 所述步骤(3)的步骤为:对参考全景图像、目标全景图像、若干个虚拟普通图像均L建立L层图像金字塔,第L层表示当前的图像是原图像的1/2;
[0027] 所述步骤(4)的相机参数包括焦距和相机中心。
[0028] 所述步骤(5)的步骤为:
[0029] 步骤(51):从第L层图像金字塔开始,以每一个3D点Pi为中心构造一个长方形3D区域Qi,按照设定步长对长方形3D区域Qi进行采样,使长方形3D区域Qi投影到任意2D普通图像上产生n*n的色块qij;i的参数含义是第i个点,j的参数含义是第j幅图像;
[0030] 步骤(52):将色块qij投影到对应的参考全景图像和目标全景图像上;
[0031] 步骤(53):通过对比投影到参考全景图像的2D纹理Wr(i,j)和投影到目标全景图像上的2D纹理Wt(i,j),修改目标全景图像上的特征坐标点pij;给每个目标全景图像上的色块一个偏移量Wtar(i+Δi,j+Δj),通过NCC算法搜索目标全景图像上与参考全景图像的2D纹理Wr(i,j)最为匹配的位置。
[0032] 所述步骤(52)的步骤为:
[0033] 将色块qij投影到对应的参考全景图像上,得到坐标,然后根据坐标采用双线性差值得到当前坐标的颜色值,并将当前坐标的颜色值存储到n*n*3的W(i,j)矩阵中,得到参考全景图像的2D纹理Wr(i,j);
[0034] 将色块qij投影到对应的目标全景图像上,得到坐标,然后根据坐标采用双线性差值得到当前坐标的颜色值,并将当前坐标的颜色值存储到n*n*3的W(i,j)矩阵中,得到目标全景图像上的2D纹理Wt(i,j)。
[0035] 假设3D空间中的一个点,被位于不同位置的多个摄像机多视角采集到,所述光束平差法,就是能够从多视角信息中提取出3D点的坐标以及各个摄像机的相对位置和光学信息的过程。NCC算法即归一化互相关匹配法,是一种基于图像灰度信息的匹配方法;
[0036] 所述普通图像就是RGB图像。
[0037] 一种全景图特征匹配精度优化的系统,包括:
[0038] 输入模块:输入两幅全景图像:参考全景图像和目标全景图像;
[0039] 提取模块:每幅全景图像均提取若干个虚拟普通图像;
[0040] 图像金字塔建立模块:建立L层图像金字塔;
[0041] 原始特征匹配获取模块:若干个虚拟普通图像作为输入,运行三维重建软件PMVS,得到相机参数和原始特征匹配结果;
[0042] 特征匹配优化模块:从第L层图像金字塔开始,基于PMVS得到的3D点云,进行目标全景图像的特征匹配优化;
[0043] 第一判断模块:判断是否所有3D点都经过处理,若是就进入第二判断模块;若否就返回特征匹配优化模块;
[0044] 第二判断模块:判断是否所有L层图像金字塔都迭代完,若是就采用光束平差法改善相机参数,进入第三判断模块;若否,则L=L-1,返回特征匹配优化模块;
[0045] 第三判断模块:判断主循环次数是否等于设定次数,若是就将优化后的pij投影到目标全景图像上,最终获得精确的特征匹配;若否就返回原始特征匹配获取模块。
[0046] 本发明的有益效果:
[0047] 首先从全景图像中提取虚拟的普通图像,使用SFM从普通图片中获取初始的相机参数和特征匹配,然后通过构建立体的图像金字塔逐层改善特征匹配,最终优化了原全景图像中的匹配结果。实验结果表明了我们的方法提高了全景图像特征匹配的精确度。

附图说明

[0048] 图1(a)为空间点在球形模型中的投影;
[0049] 图1(b)为双视图几何下,空间点在不同球形模型上的投影;
[0050] 图1(c)为球形模型展开成2d平面;
[0051] 图2(a)为参考全景图;
[0052] 图2(b)为目标全景图,曲线为对应于参考图像上特征点的对极线;
[0053] 图3(a)为普通图像与单位球面之前的投影关系;
[0054] 图3(b)为从球形全景图中提取出虚拟普通图像,提取角度为α=20°andβ=80°.;
[0055] 图4为空间3D点投影到不同坐标系下示意图;
[0056] 图5(a)-图5(t)为实验数据,采用对极线作为标准参考;
[0057] 图6(a)为原方法的得到的特征点与经过优化后得到的特征点,两者与对极线之间的距离比较;
[0058] 图6(b)为建立不同层数图像金字塔,即采用三层NCC与一层NCC得到的特征点之间的比较;
[0059] 图7为算法流程图。

具体实施方式

[0060] 下面结合附图与实施例对本发明作进一步说明。
[0061] 通过SFM获得了初始的相机参数和原始的特征匹配。在第二章中,探讨球形相机模型以及球状模型、全景图像、普通图片三者之间的投影关系。本发明实现了将在普通图像中优化特征匹配的思想拓展到全景图像中。根据来自于全景图像的颜色信息优化立体匹配的结果,同时通过建立图像金字塔的方式进一步改善它。
[0062] 二、球形相机模型和投影关系
[0063] 本发明定义了球形相机模型以及普通图片、全景图像之间的投影关系。
[0064] a.球形相机模型
[0065] 如图1(a),空间里的一点M和在单位球体表面上的一点m的投影关系如公式(1)所示,在迪卡尔坐标系下,m是M以球形相机中心点O为中心的投影。
[0066]
[0067] 假设两个球形相机(见图1(b)),第一个相机处在固定坐标系下的原点处,那么第二个相机的相机坐标系可以通过一个3*3的旋转矩阵R和一个3*1的平移向量t得到。设m和m'分别是三维点M在两个球形相机上的投影,那么可以发现m′、Rm、t在对极几何中是共面的,它们之间的关系如下:
[0068] m′Fm=0  (2)
[0069] 其中,F=[t]×R为本质矩阵,[t]×为斜对称矩阵。球面上的几何对偶点和绘制的圆圈呈对应关系,通过点m和m′绘制的圆分别在经过两个相机中心点O和O′的平面上。正交于Fm的平面将会穿过球形相机的中心点O′,并在球的表面形成一个纵向的圆,该圆即为球面上的对极线。如果将球面进行展开,如图1(c),对极圆就会变成如图2(a)和图2(b)中所示的曲线。
[0070] B.投影关系
[0071] 球面3D点和全景图片上的2D点之间存在一对一的映射关系,如图1(a)和图1(c)所示。全景图的横向覆盖了水平方向360度的视角,纵向则覆盖了垂直方向180度的视角,因此,全景图像的宽恰是其高度的2倍。相机坐标系的中心就是球的中心,X轴指向左,Y轴指向前,Z轴朝上。使用 表示单位球面上点的坐标,(u,v)表示全景图片上点的坐标,得到如下公式:
[0072]
[0073] 可以将球面的点投影到与球面相切的平面上,从而找到单位球与普通图像坐标之间一对一的投影关系。如图3(a)所示,通过改变视角α和β,可以截取到不同的普通图像。
[0074] 如图3(a)所示,首先找到普通图像上的点与球面上点的投影关系:
[0075] ●忽略图像旋转,假设虚拟的普通图像的中心在X轴上,且该图像垂直于球面;
[0076] ●将虚拟普通图像上的一点p投影到单位球上,即为m′;
[0077] ●通过视角α和β,计算出旋转矩阵R;
[0078] ●最终的坐标即为m=Rm′。
[0079] 得到了普通图像与球形模型之间的投影关系后,普通图像上每一点的颜色即是该点所对应的球面坐标处的颜色值,为普通图像上每一个坐标填充颜色,就将普通图像提取出来了,如图3(b),从目标全景图中提取了一张虚拟普通图像。
[0080] 三、基于图像金字塔的立体匹配
[0081] 正如之前所说,由于几何失真和很大的尺寸,很难直接获得全景图片之间精确的特征匹配,而当前的立体匹配算法主要集中在普通图像方面。因此,我们引入普通图像作为过度,从而实现全景图片之间的精确特征匹配。对于每一对特征匹配点,需要从两幅全景图像中提取出对应的虚拟普通图像,并确保匹配对在该普通图像中可视。接着,将提取出的普通图像作为中间过度,对全景图片进行混合立体匹配。详细步骤,在算法1中表述。因此,我们使用普通图像将全景立体匹配和经典立体匹配方法紧密结合起来。如图7所示。
[0082]
[0083]
[0084] 首先,从两幅全景图像中提出两幅虚拟普通图像,接着运行多视角立体匹配软件PMVS(Patch-based Multi-view Stereo Software),重建出物体或者场景的3D结构,获得原始的特征匹配,与相机位置。考虑到两幅图片无法产生足够的初始匹配,我们从网上收集更多的同一地点的普通图像,从而增加匹配和提高SFM的精度;接着,建立图像金字塔,逐渐改善初始匹配。具体来说,我们为每幅图片建立一个L层的图像金字塔,其中包括全景图像和虚拟普通图像。第L层表示当前的图像是原图像的1/2L。在实验中,L通常被设置为3,特征匹配将会逐层进行改善。
[0085] 如图4所示,由于PMVS可以在每一个3D点Pi处提供曲面法线的估计,构造一个长方形3D区域Qi,Qi从两幅虚拟普通图像都是可视的。在Qi上进行合适的采样,可以在2D的普通图像上投影产生一个n*n的区域。
[0086] 接着,根据投影关系,将n*n的小块投影到相应的全景图像上,从而获取到原始的颜色信息。采用双线性插值来获得每个2D色块上精确的颜色信息W(i,j)。将一副虚拟普通图片作为参考,立体匹配的改善问题就转换成了通过比较参考图像上的2D纹理Wr(i,j)与投影到目标全景图上的2D纹理Wt(i,j)确定特征点位置的定位问题。给每个目标全景图像上的色块一个偏移量Wtar(i+Δi,j+Δj),通过NCC的方法搜索与参考纹理最为匹配位置。
[0087] 如图4所示,ui1表示空间点Pi投影到参考全景图像上的点,它可以通过将普通图像上的点pi1投影到全景图上得到。通过这样的投影,在全景图上不规则的色块li1就可以对应成虚拟普通图像上的色块qi1,颜色信息存储在n*n*3的矩阵W(i,ref)中。类似的,目标全景图中的色块ui2可以通过qi2的投影获得。为了优化目标全景图像中的特征匹配,允许qi2在一定范围内调整,以获得与qi1最为匹配的色块,公式如下所示:
[0088] E=argmaxl(i,j)NCC[W(i,j),W(i,ref)]  (4)
[0089] 具体来说,从图像金字塔的L层开始,在每一层上进行优化。丢弃太大或者太小的调整量。最终,通过SBA软件更新相机参数,按照以上步骤再次进行优化。
[0090] 四、实验
[0091] 本发明提出的算法通过matlab进行验证,同时使用实际数据进行测试,输入的全景图像如图2(a)和图2(b)所示。考虑到缺乏标定过的真实数据,我们使用一些方法来估计的特征匹配的准确性。第一,使用对极线来检查,两幅全景图像的一致性。与普通图像不同的是,全景图像的对极线是一个曲线(如图2(b)所示),我们已经在不同的全景图中手动标定出了匹配对,因此我们相信对极线给出的信息是准确的。
[0092] 与原始方法相比,本发明改善了特征匹配的准确性。如图5(a)-图5(t)所示,在每个例子中原始的匹配都存在巨大的误差,我们提出的方法很明显地优化了特征匹配的结果。我们发现构建不同层数的图像金字塔,得到的匹配结果也会存在差异,在图5(a)-图5(t)中,我们展现了进行一层NCC与三层NCC之间的差异。
[0093] 下一步,计算在目标全景图像上匹配点到对极线的距离,将这个距离作为特征匹配的真实误差,并以此进行定量分析。如图6(a)所示,比较了经过SFM后特征匹配的误差与经过我们的方法优化后产生的误差,图6(b)比较了建立不同层数图像金字塔进行特征匹配优化所得到的误差区别。如表1所示,特征匹配的平均相对误差明显减小了。
[0094] 表1
[0095]
[0096] 五、结论
[0097] 本发明提出了一个新的方法以寻找全景图像之间精确的特征匹配,如第二章所提到的,使用了多种投影模型。通过逐层改善误差的方法减小匹配误差,再通过优化的匹配结果修改相机参数,整个过程迭代多次,最终得到更为精确的特征匹配。通过对比不同的方法,验证了本发明表现更好。
[0098] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。