Php 360度跟随图,一种360度全景图像无缝拼接的方法与流程

本发明提出了一种360度全景图像无缝拼接的方法,通过特征点匹配、网格生成、仿射变换和融合等步骤,解决了360度图像拼接中的首尾对接问题,实现了高质量的全景图像显示。该方法利用局部变换模型提高配准精度,通过优化网格结构和仿射变换减少图像失真,最终将图像投影到圆柱面上进行三维显示,提高了全景图像的自然性和连续性。
摘要由CSDN通过智能技术生成

763222894343671d296dd9be40b10466.gif

本发明涉及一种图像拼接方法,特别是一种360度全景图像无缝拼接的方法,本发明属于多传感器图像拼接技术领域。

背景技术:

图像拼接是将在同一场景下拍摄的多个图像拼接成具有宽视场的高分辨率图像的技术。图像拼接算法的核心在于图像配准,配准的精度直接决定了图像拼接的质量。图像配准使用的变换模型通常分为全局变换模型和局部变换模型。使用全局变换模型进行图像配准时,对于重合区域较大或存在视差的情况,就会导致配准的精度降低,重合区域模糊不清。为了解决全局变换模型的不足和提高配准的质量,局部变换模型应运而生,比较典型的有平滑变化的仿射变换(SVA)和尽可能投影变换算法(APAP)。局部变换模型将需要变换的图像分成若干部分,对每一部分分别进行仿射变换,这些变换使用不同的局部参数以获得更好的配准精度。拼接的图像在非重合区域中不存在对应关系,但是为了保证图像整体的自然性,也需要对这些区域做相应的变换,在APAP中使用正则化方法推出非重合区域部分的局部变换参数,使整体的变换看起来更加自然。但是当拼接图像的数量增加时,远离基准图像的图像会产生严重的失真,采用将图像投影到圆柱面或者球面上显示的方法可以一定程度上解决这种由视角变大而引起的失真。由于具有宽视场的单视角图像会在形状和尺度上引入严重的失真,因此多视角拼接图像的方法被提了出来。Chang等人提出了形状保持半投影(SPHP)变换模型,它是投影变换和相似变换的空间组合。SPHP在重合区域中使用投影变换,来保持配准的精度,在非重叠区域中使用相似变换来保持图像的原始视角并减少失真。此外,SPHP还可以与APAP结合使用,以获得更好的配准精度。然而,SPHP变换模型要求拼接图像的视野要小,而且SPHP从单应性矩阵导出相似变换,如果使用全局变换模型,则导出的相似性变换会出现不自然的旋转。因此Lin等人提出了自适应的尽可能自然(AANAP)变换模型来解决非自然旋转的问题。AANAP变换模型将单应性矩阵的变换线性化,但是在拼接多个图像时存在局部失真的情况,全局相似性变换参数的估计不稳健,并且仍然存在不自然的旋转和缩放。以上的这些方法都没有对360度图像拼接中的首尾对接问题进行研究。

技术实现要素:

针对上述现有技术,本发明要解决的技术问题是提供一种解决360度全景图像拼接中首尾相接问题的360度全景图像无缝拼接的方法。

为解决上述技术问题,本发明的一种360度全景图像无缝拼接的方法,包括以下步骤:

S1:将一组在同一地点沿着不同方向拍摄得到的序列图像转为灰度图;

S2:将S1中得到的一组灰度图像中位于最左侧的图像沿中线切开,切开后得到的左图移至图像序列的最右侧;

S3:利用SIFT算法提取S2中获得的全部图像的特征点,对提取的特征点利用RANSAC算法选取最佳的特征点对并进行匹配,剔除不理想的匹配点;

S4:利用S3中得到的理想的特征点对选用APAP算法生成网格,使用生成的网格顶点代替图像的特征点;

S5:根据网格顶点对的位置关系估计每一幅图像的焦距与三维旋转角度;

S6:利用估计出的焦距与三维旋转角度对S4中生成的网格进行整形;

S7:使用整形后的网格引导图像进行仿射变换;

S8:对变换后的图像进行融合,并投影到圆柱面上进行三维显示。

本发明还包括:

S1中将转为灰度图的转换方程为:

S5中使用网格的每个四边形对应的对图像焦距的估计的平均值作为焦距的初始化矩阵Ki,通过最小化投影误差来获得Ii和Ij之间的三维旋转估计:

上式通过奇异值分解的方式求解,φ(p)返回给定匹配点p的对应关系,焦距的初始化矩阵Ki取图像Ii中的网格的每个四边形的焦距估计的中值。

S6所述整形包括:

对于每一幅图像,使用网格引导图像进行仿射变换,设Vi和Ei表示图像Ii中网格的顶点和边的集合,V表示所有顶点的集合,确定一组最优的顶点位置,使得能量函数ψ(V)最小化:

能量函数共有3项,分别为对齐项ψa(V),局部相似项ψl(V)和全局相似项ψg(V);

对齐项ψa(V)满足:

其中:φ(p)返回给定匹配点p的对应关系,表示p的位置是四个顶点位置的线性组合,中的表示p所在的四边形的四个角,αi是对应的双线性权重,J表示相邻的图像对,包含图像Ii和图像Ij,Mij表示位于Ii与Ij重合区域中的在Ii里的网格顶点组成的一系列匹配点;

局部相似项ψl(V)满足:

其中:表示原顶点的位置,表示变形后的顶点,表示边缘(j,k)的相似变换,即和表示顶点变量的线性组合;

全局相似项ψg(V)满足:

其中,β和γ是不为零的常数,是共享边缘的四边形;Mi表示位于Ii的重叠区域的四边形;函数d(qk,Mi)返回四边形qk到在网格空间中重叠区域的四边形的距离;Ri和Ci表示Ii中的网格的行数和列数,尺度si可以设置为si=f0/fi,旋转角度θi由步骤S5估算得出;

在ψg中有两个参数β和γ,设置λl的取值范围(0,1),β的取值范围(0,10),γ的取值与β同一量级。

S7所述仿射变换的变换公式满足:

其中,h1~h6为变换参数,由S4中的网格顶点对的位置关系确定,(u,v)为变换之后的坐标,(x,y)为变换之前的坐标。

S8所述融合选用渐入渐出融合算法,对于每两个相邻的图像对,权值d定义为:

其中x是像素点所在重合区域的列数;L是重合区域的左边界的列数,R是重合区域的右边界的列数。

S8利用OpenGL图形显示库创建三维场景,将拼接好的图像投影到场景中的圆柱面上显示。

本发明有益效果:相比于现有的图像拼接技术,本发明实现了360度全景图像无缝拼接,解决了360度全景图像拼接的首尾对接问题。

附图说明

图1为经典的拼接算法得到的360度全景图像的二维显示。

图2为经典的拼接算法得到的360度全景图像的三维显示。

图3位消除拼缝方法示意图。

图4为利用本发明方法拼接得到的360度全景图像。

图5为本发明的流程图。

具体实施方式

下面结合附图对本发明具体实施方式做进一步说明。

本发明公开了一种360度全景图像无缝拼接的方法,该算法包括以下步骤:

S1、将一组在同一地点沿着不同方向拍摄得到的序列图像转为灰度图;

S2、将一组有序的图像中位于最左侧的图像沿中线切开,切开后得到的左图移至图像序列的最右端;

S3、利用SIFT算法分别提取这些图像的特征点,利用RANSAC算法选取最佳的特征点对并进行匹配;

S4、利用匹配好的特征点对生成网格,使用网格顶点代替S3中通过SIFT算法提取的特征点;

S5、根据网格顶点对的位置关系估计每一幅图像的焦距与三维旋转角度;

S6、利用估计出的焦距与三维旋转角度对S4中生成的网格进行整形;

S7、使用优化后的网格引导图像进行仿射变换;

S8、对变换后的图像进行融合,并投影到圆柱面上显示。

如步骤S1所述,将一组在同一地点沿着不同方向拍摄得到的序列图像转为灰度图,转换方程为:

如步骤S2所述,将一组有序的图像中位于最左侧的图像沿中线切开,切开后得到的左图移至图像序列的最右端,如附图3所示;

如步骤S3所述,利用SIFT算法分别提取这些图像的特征点,利用RANSAC算法选取最佳的特征点对并进行匹配。

如步骤S4所述,利用匹配好的特征点对生成网格,使用网格顶点代替在S3中提取的特征点。

如步骤S5所述,从两幅相邻图像之间的单应性变换阵中,可以估计两幅图像的焦距。因此可以利用APAP生成的网格顶点对的位置关系估计每一幅图像的焦距fi与三维旋转角度R,通过最小化投影误差的方法来获得相邻图像Ii和Ij之间的三维旋转估计:

公式(2)可以通过奇异值分解的方式求解,φ(p)返回给定匹配点p的对应关系,焦距的初始化矩阵Ki取图像Ii中的网格的每个四边形的焦距估计的中值。

如步骤S6所述,利用估计出的焦距与三维旋转角度对网格进行变形,对于每一幅图像,使用网格引导图像进行仿射变换。设Vi和Ei表示图像Ii中网格的顶点和边的集合。V表示所有顶点的集合。为了使拼接的结果更加自然,需要确定一组最优的顶点位置,使得能量函数ψ(V)最小化。能量函数共有3项,分别为对齐项ψa(V),局部相似项ψl(V)和全局相似项ψg(V)。

对齐项ψa(V):

其中:φ(p)返回给定匹配点p的对应关系,表示p的位置是四个顶点位置的线性组合,中的表示p所在的四边形的四个角,αi是对应的双线性权重,J表示相邻的图像对,包含图像Ii和图像Ij。Mij表示位于Ii与Ij重合区域中的在Ii里的网格顶点组成的一系列匹配点。

局部相似项ψl(V):

其中:表示原顶点的位置,表示变形后的顶点。表示边缘(j,k)的相似变换,即和表示顶点变量的线性组合。

全局相似项ψg(V):

其中,β和γ是重要的常数。是一系列共享边缘的四边形;Mi表示那些位于Ii的重叠区域的四边形;函数d(qk,Mi)返回四边形qk到在网格空间中重叠区域的四边形的距离;Ri和Ci表示Ii中的网格的行数和列数。尺度si可以设置为si=f0/fi,旋转角度θi由步骤S5估算得出。

在ψg中有两个参数β和γ,设置λl的取值范围(0,1),β的取值范围(0,10),γ的取值与β同一量级。

如步骤S7所述,使用优化后的网格引导图像进行仿射变换,变换公式如下:

其中,h1~h6为仿射变换的参数,由S4中的网格顶点对的位置关系确定。(u,v)为变换之后的坐标,(x,y)为变换之前的坐标。

如步骤S8所述,对变换后的图像进行融合,并投影到圆柱面上显示。融合算法选用渐入渐出融合,对于每两个相邻的图像对,渐入渐出融合的权值d定义为:

其中x是像素点所在重合区域的列数;L是重合区域的左边界的列数(即为0),R是重合区域的右边界的列数(即为重合区域的宽度)。利用OpenGL图形显示库创建三维场景,将拼接好的图像投影到场景中的圆柱面上显示。

下面结合图1~图5进行具体说明。

图1为经典的拼接算法得到的360度全景图像(二维显示),图2为经典的拼接算法得到的360度全景图像(三维显示),在图二中可以清楚地看出,拼接得到的360全景图像不能严格的对齐,在首尾对接的地方有明显的拼缝,图3为消除拼缝方法示意图,将待拼接的一组有序的图像中位于最左侧的图1沿中线ab切开,切开后得到1(1)与1(2),再将1(2)与2进行拼接,1(1)与最右侧的n拼接,因为a1与a2,b1与b2的像素点是相邻的,根据这个条件可以将带有拼缝的全景图拉伸,再映射到圆柱上,拼缝消除。图4为利用本发明方法拼接得到的360度全景图像。可以看出本方法的得到的全景图像可以完整的覆盖整个圆柱面,显示效果更加具有立体感。图5为本发明的算法流程图。

本发明具体实施方式还包括:

在步骤S1中,将一组在同一地点沿着不同方向拍摄得到的一系列RGB彩色图像转为灰度图。

在步骤S3中,选用SIFT算法分别提取由步骤S2获得的一系列灰度图像的特征点,对这些特征点利用RANSAC算法选取最佳的特征点对并进行匹配,剔除匹配误差大的匹配点,将理想的匹配点保留下来。

在步骤S4中,利用由步骤S3获得的理想的匹配点选用APAP算法生成网格,使用生成的网格顶点代替由步骤S3获得的特征点,这些网格的顶点相比较由步骤S3获得的特征点,分布更加均匀。

在步骤S5中,利用由步骤S4获得的网格顶点对每个相机的焦距与三维旋转角度进行估计。

在步骤S6中,利用由步骤S5估计出的每个相机拍摄时的焦距与三维旋转角度对S4中生成的网格进行整形。

在步骤S7中,利用由步骤S6优化后的网格引导图像进行仿射变换,图像序列中的每一幅图像都被初始的网格分割成尺寸更小的矩形,每一个矩形都对应一个优化后的矩形,利用仿射变换将初始网格分割的图像区域变换到对应的优化后的网格中的矩形区域,完成整体的变换。

在步骤S8中,将由步骤S7变换后的图像序列进行加权融合,并投影到圆柱面上进行三维显示。

本发明实现了360度全景图像无缝拼接,解决了360度全景图像拼接的首尾对接问题。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值