一种基于迭代最近点的大视场视频全景图拼接的方法与流程

文档序号:14873395发布日期:2018-07-07 02:44阅读:175来源:国知局

本发明涉及一种基于迭代最近点的大视场视频全景图拼接的方法,通过估计各像素点的深度值,并将各像素映射到同一图像平面上,然后把映射到相同位置的点融合。属于计算机视觉领域。



背景技术:

视频全景图拼接即将一段视频中,有重叠区域的各帧视图进行无缝拼接,得到一幅反映视频场景全貌的全景图像。视频全景图拼接技术针对的是普通成像设备获取的视频。数码摄相机和智能手机的普及,大大降低了全景图获取的成本,高质量的视频全景图拼接技术也爆发出了巨大的市场需求。此外,视频全景图拼接技术也广泛应用于虚拟现实、增强现实等领域,其发展前景十分广阔,有着极高的研究价值。

传统的视频全景拼接技术基于平面单应假设。具体地,首先对相邻两帧视图提取并匹配鲁棒性较强的特征,利用这些匹配得到的特征估计单应映射矩阵,然后通过估计得到的单应矩阵将其中一幅视图的像素点映射到另一幅视图中,并对灰度值进行融合(如果是彩色图像,则对rgb三个通道分别融合,下同),得到拼接结果。传统方法在两幅视图的拼接过程中,假定所有场景都位于同一平面上。而现实中,场景都位于同一平面上的假设显然是不成立的。当摄像机距离远大于场景自身深度的变化时,可以忽略场景自身深度的变化,近似认为场景是位于同一平面上,此时,传统的视频全景拼接方法的效果比较理想。当场景自身的深度变化不能忽略时,传统方法的拼接结果就会产生较大的失真,使得传统方法在实际应用中受限。



技术实现要素:

本发明技术解决问题:克服现有技术的不足,提供一种基于迭代最近点的大视场视频全景拼接的方法,利用场景的深度信息,准确地将不同视图的像素映射到同一图像平面上,从根本上解决了由于平面单应假设造成的全景图失真。

本发明技术解决方案:一种基于迭代最近点的大视场视频全景拼接的方法,实现步骤如下:

(1)提取并匹配相邻两帧视图的特征;

(2)基于步骤(1)中得到的特征,计算相邻两帧视图的相对位姿;

(3)通过相对位姿计算得到极限约束,在极线约束下,对相邻两帧视图进行稠密匹配,得到稠密的匹配点对;

(4)利用步骤(3)得到的稠密的匹配点对,计算相邻两帧视图重叠区域的三维模型;

(5)采用迭代最近点法,将步骤(4)得到的三维模型转化到第0帧视图的相机坐标系下,即世界坐标系;

(6)将在步骤(5)中转化后的三维模型,投影到第0帧视图中,建立三维模型上各点与第0帧视图上位置的映射关系;

(7)基于步骤(6)得到的映射关系,将映射第0帧视图相同位置的点融合,完成拼接。

在步骤(1)提取并匹配相邻两帧视图的特征的实现如下:

(1)对相邻两帧视图提取sift特征点,并计算每个特征点的描述子;

(2)基于各个特征的描述子,对相邻两帧视图提取到的特征进行匹配,从而得到相邻两帧视图间,若干匹配特征点对。

在步骤(4)计算相邻两帧视图重叠区域的三维模型,实现如下:

根据摄影测距原理,计算步骤(3)中得到的所有两帧视图间匹配点对对应的三维点,这些三维点共同组成了相邻两帧视图重叠区域的三维模型,三维模型为mk代表mk中各点,h为mk中点的数目,上标k代表mk是由第k帧视图和第k+1帧视图的稠密匹配点对,mk中各点的颜色即为计算三维点时,匹配点对颜色的均值。

在步骤(5)利用迭代最近点法,将步骤(4)得到的三维模型转化到第0帧视图的相机坐标系下的实现如下:

(11)第0帧视图和第1帧视图重叠区域对应的三维模型为m0通过迭代最近点方法,计算从mk到m0的最佳刚体变换,最佳刚体变换通过转矩阵rk和平移矢量tk进行描述;

(12)将最佳刚体变换作用于mk中各点,如式(1)所示,

其中,为将变换到世界坐标系后的点,i用于索引mk(或定义见下文)中各点;记即为把mk变换到第0帧视图的相机坐标系下的结果。

在步骤(6)建立三维模型上各点与第0帧视图上位置的映射关系,具体实现如下:

(21)将中各点投影至第0帧视图如式(2)所示:

式(2)中,π(·)为透视投影映射,[u,v]t在第0帧视图中投影位置的坐标,其中,u和v分别为在第0帧视图中投影的横坐标和纵坐标;

(22)结合式(2)和式(1),得到mk中各点与第0帧视图的位置建立映射,如式(3)所示:

在步骤(7)将映射第0帧视图相同位置的点融合,具体实现如下:

对于第0帧视图的所有位置p,执行如下操作:

(31)找出所有与通过步骤(6)与位置p建立对应关系点,计算与位置p建立对应关系的点的颜色的平均值,记为c;

(32)将位置p的颜色赋为c。

本发明与现有技术相比的优点在于:本发明在全景拼接时,考虑到了场景的三维信息。计算相邻两帧视图重叠区域的三维模型,并将三维模型转化到第0帧视图的相机坐标系下,而后建立三维模型上各点到第0帧视图中位置的准确映射,从而得到更加真实、自然的全景图。而传统方法假定所有场景都位于同一平面上,通过单应矩阵建立映射关系,忽略了场景的三维信息,从而得到不准确的映射关系。当景深变化较为剧烈时,传统方法的拼接过程会产生大量瑕疵,得到的质量较差的全景图。

附图说明

图1展示了基于迭代最近点的大规模视频全景图拼接方法的流程;

图2展示了本发明对某段视频进行全景图拼接的实验结果,(a)几帧截取自实验所用视频的视图;(b)本发明的拼接结果。

具体实施方案

下面结合附图及实施例对本发明进行详细说明。为方便叙述,本发明使用符号k索引视频各帧视图,第k帧视图与第k+1帧视图为相邻视图。

如图1所示,本发明具体实施如下:

1.提取并匹配相邻两帧视图的特征;

图像特征是指数字图像中,某些具有一类特定性质的像素点。每个图像特征往往对应一个描述子(特征向量),作用是对特征进行描述。常见的图像特征有fast、hog、surf、sift等。考虑到位姿解算对特征的鲁棒性要求较高,本发明选用sift特征。

特征匹配的依据是特征的描述子,具体地,记分别是第k和第k+1帧视图中提取得到的特征,其中n和m分别为第k和第k+1帧视图中特征的数目。记d(·)为描述子算子,则的描述子分别为如果第k帧视图中的特征(0≤l≤n-1)与第k+1帧视图中的特征是匹配特征,则必满足公式(4)所示条件。

式(4)中的||·||符号代表欧式距离算子,min(·)代表最小值算子。假设经过匹配后,可以得到s组匹配特征,统一记为(x0,x′0),(x1,x′1),...,(xs-1,x′s-1)。

2.计算相邻两帧视图的相对位姿

记第k帧视图相对于第k+1帧视图的基础矩阵为f,则步骤1中得到的匹配特征应满足极线约束方程x′t和xt均为齐次坐标,t=0,1,...,s-1,用于索引步骤1中得到的匹配特征。当s≥8时,可以通过奇异值分解的方法估计出f。由相机内参矩阵为k和估计得到的f计算本矩阵e,并对e奇异值分解,得到第k+1帧视图相对于第k帧视图的位姿,并通过旋转矩阵和平移矢量进行描述。

3.在极线约束下,对相邻两帧视图进行稠密匹配

稠密匹配的目的就是在满足极线约束的条件下,尽可能对第k帧视图中的像素点在第k+1帧视图中匹配得到对应的像素点。匹配依据的是像素点的特征。记分别代表第k帧和第k+1帧视图中的像素点的齐次坐标,其中,分别为在第k帧视图上的横坐标和纵坐标;分别为在第k+1帧视图上的横坐标和纵坐标;i和j分别为第k和第k+1帧视图像素点的索引。像素点特征算子记为v(·)。对在位于k+1帧视图且满足极线约束的像素点中,搜索与特征最接近的像素点作为其匹配点,如式(5)所示:

式(5)中,argmin代表求取最小参数算子。式(5)的第二行即为极限约束,其几何意义为到极线的距离小于ε。其中,f代表基础矩阵,由步骤2中得到的位姿重新计算得到。

4.利用步骤3稠密匹配得到的像素点计算相邻两帧视图重叠区域的三维模型;

通过第k帧视图中的像素点的坐标和相机参数,可以得到一条起始于第k帧视图光心,并指向的射线;同样地,根据步骤2获得的位姿,也可以得到一条起始于第k+1帧视图光心,指向匹配点的射线。通过求解这两条射线的交点即可得到对应的三维位置上述计算的原理称为摄影测距原理。的灰度(或颜色)记为(会在步骤7中用到),定义为与其匹配点灰度的平均值(如果处理是彩色视频,的rgb通道分别为与其匹配点rgb通道的平均值)。将第k帧视图中具有匹配点的像素点全部转化为对应的三维位置,可以得到第k帧和第k+1帧视图重叠场景的三维模型,记为其中h为mk所包含点的数目)。

5.利用迭代最近点法,将步骤4得到的三维模型转化到同一坐标系下;

为了方便描述,在后面的叙述中,记第0帧视图对应的相机坐标系为世界坐标系(即m0所在的坐标系),本步骤的目的就是将mk转化到世界坐标系下。在本步骤和步骤6中,i代表mk(或定义见下文)中各点的索引。使用迭代最近点法,将mk配准至m0,得到旋转矩阵rk和平移矢量tk。rk和tk是将mk中各点变换到世界坐标系下的刚体变换,如式(6)所示,

其中,为将变换到世界坐标系后的点;记即为把mk变换到世界坐标系的结果。

6.将在步骤5中转化后的三维模型,投影到第0帧视图中,从而建立三维模型上各点与第0帧视图上位置的映射关系。

投影到第一幅视图中,有:

式(4)中,π(·)为透视投影映射,[u,v]t在第0帧视图中投影位置的坐标,其中u和v分别为在第0帧视图中投影的横坐标和纵坐标。式(7)把映射到了第0帧视视图中,坐标为[u,v]t的位置。将式(6)带入(7),得到到第0帧视图坐标为[u,v]t位置的映射,如式(8)所示:

按照式(8),即建立mk中各点到第0帧视图中位置的映射。

7.融合所有映射到第0帧视图的像素点。

记视频的帧数为nframes,对k=1,2,...,nframes-1,执行步骤1~步骤6。记第0帧视图中某像素点坐标为[u,v]t,其中,u为横坐标,v为纵坐标。将所有映射到第0帧视图[u,v]t位置的点组成的集合称为[u,v]t的支持集,记为u(u,v)。记u(u,v)={x0,x1,...,xr-1}(r为u(u,v)中,点的数目),如果u(u,v)非空(即r>0),则[u,v]t处的灰度(或颜色)为:

其中,c(xi)代表xi的颜色(定义见步骤4),为第0帧视图[u,v]t处的颜色,按照式(9)的定义,即为c(xi)的平均值。对第0帧视图中,所有支持集非空的位置,重新计算灰度,得到相应位置的灰度,实现了拼接,得到全景图。

图2所示为本发明的实验结,(a)是从实验用视频中,截取的四帧视图;(b)是对实验用视频采用本发明进行全景拼接的结果。可以看出,本发明方法拼接得到的全景图反映了场景的全貌,且过渡自然,真实度高。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

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