本发明涉及一种基于迭代最近点的大视场视频全景图拼接的方法,通过估计各像素点的深度值,并将各像素映射到同一图像平面上,然后把映射到相同位置的点融合。属于计算机视觉领域。
背景技术:
视频全景图拼接即将一段视频中,有重叠区域的各帧视图进行无缝拼接,得到一幅反映视频场景全貌的全景图像。视频全景图拼接技术针对的是普通成像设备获取的视频。数码摄相机和智能手机的普及,大大降低了全景图获取的成本,高质量的视频全景图拼接技术也爆发出了巨大的市场需求。此外,视频全景图拼接技术也广泛应用于虚拟现实、增强现实等领域,其发展前景十分广阔,有着极高的研究价值。
传统的视频全景拼接技术基于平面单应假设。具体地,首先对相邻两帧视图提取并匹配鲁棒性较强的特征,利用这些匹配得到的特征估计单应映射矩阵,然后通过估计得到的单应矩阵将其中一幅视图的像素点映射到另一幅视图中,并对灰度值进行融合(如果是彩色图像,则对rgb三个通道分别融合,下同),得到拼接结果。传统方法在两幅视图的拼接过程中,假定所有场景都位于同一平面上。而现实中,场景都位于同一平面上的假设显然是不成立的。当摄像机距离远大于场景自身深度的变化时,可以忽略场景自身深度的变化,近似认为场景是位于同一平面上,此时,传统的视频全景拼接方法的效果比较理想。当场景自身的深度变化不能忽略时,传统方法的拼接结果就会产生较大的失真,使得传统方法在实际应用中受限。
技术实现要素:
本发明技术解决问题:克服现有技术的不足,提供一种基于迭代最近点的大视场视频全景拼接的方法,利用场景的深度信息,准确地将不同视图的像素映射到同一图像平面上,从根本上解决了由于平面单应假设造成的全景图失真。
本发明技术解决方案:一种基于迭代最近点的大视场视频全景拼接的方法,实现步骤如下:
(1)提取并匹配相邻两帧视图的特征;
(2)基于步骤(1)中得到的特征,计算相邻两帧视图的相对位姿;
(3)通过相对位姿计算得到极限约束,在极线约束下,对相邻两帧视图进行稠密匹配,得到稠密的匹配点对;
(4)利用步骤(3)得到的稠密的匹配点对,计算相邻两帧视图重叠区域的三维模型;
(5)采用迭代最近点法,将步骤(4)得到的三维模型转化到第0帧视图的相机坐标系下,即世界坐标系;
(6)将在步骤(5)中转化后的三维模型,投影到第0帧视图中,建立三维模型上各点与第0帧视图上位置的映射关系;
(7)基于步骤(6)得到的映射关系,将映射第0帧视图相同位置的点融合,完成拼接。
在步骤(1)提取并匹配相邻两帧视图的特征的实现如下:
(1)对相邻两帧视图提取sift特征点,并计算每个特征点的描述子;
(2)基于各个特征的描述子,对相邻两帧视图提取到的特征进行匹配,从而得到相邻两帧视图间,若干匹配特征点对。
在步骤(4)计算相邻两帧视图重叠区域的三维模型,实现如下:
根据摄影测距原理,计算步骤(3)中得到的所有两帧视图间匹配点对对应的三维点,这些三维点共同组成了相邻两帧视图重叠区域的三维模型,三维模型为mk
在步骤(5)利用迭代最近点法,将步骤(4)得到的三维模型转化到第0帧视图的相机坐标系下的实现如下:
(11)第0帧视图和第1帧视图重叠区域对应的三维模型为m0通过迭代最近点方法,计算从mk到m0的最佳刚体变换,最佳刚体变换通过转矩阵rk和平移矢量tk进行描述;
(12)将最佳刚体变换作用于mk中各点,如式(1)所示,
其中,
在步骤(6)建立三维模型上各点与第0帧视图上位置的映射关系,具体实现如下:
(21)将
式(2)中,π(·)为透视投影映射,[u,v]t为
(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特征。
特征匹配的依据是特征的描述子,具体地,记
式(4)中的||·||符号代表欧式距离算子,min(·)代表最小值算子。假设经过匹配后,可以得到s组匹配特征,统一记为(x0,x′0),(x1,x′1),...,(xs-1,x′s-1)。
2.计算相邻两帧视图的相对位姿
记第k帧视图相对于第k+1帧视图的基础矩阵为f,则步骤1中得到的匹配特征应满足极线约束方程
3.在极线约束下,对相邻两帧视图进行稠密匹配
稠密匹配的目的就是在满足极线约束的条件下,尽可能对第k帧视图中的像素点在第k+1帧视图中匹配得到对应的像素点。匹配依据的是像素点的特征。记
式(5)中,argmin代表求取最小参数算子。式(5)的第二行即为极限约束,其几何意义为
4.利用步骤3稠密匹配得到的像素点计算相邻两帧视图重叠区域的三维模型;
通过第k帧视图中的像素点
5.利用迭代最近点法,将步骤4得到的三维模型转化到同一坐标系下;
为了方便描述,在后面的叙述中,记第0帧视图对应的相机坐标系为世界坐标系(即m0所在的坐标系),本步骤的目的就是将mk转化到世界坐标系下。在本步骤和步骤6中,i代表mk(或
其中,
6.将在步骤5中转化后的三维模型,投影到第0帧视图中,从而建立三维模型上各点与第0帧视图上位置的映射关系。
对
式(4)中,π(·)为透视投影映射,[u,v]t为
按照式(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),
图2所示为本发明的实验结,(a)是从实验用视频中,截取的四帧视图;(b)是对实验用视频采用本发明进行全景拼接的结果。可以看出,本发明方法拼接得到的全景图反映了场景的全貌,且过渡自然,真实度高。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。