本发明涉及一种图像拼接方法,特别是一种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度全景图像拼接的首尾对接问题。

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

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

  1. 去毛边 叶片图像_一种复杂背景叶片图像的全自动分割方法与流程

    本发明涉及图像处理领域,更具体地,涉及一种复杂背景叶片图像的全自动分割方法. 背景技术: 药用植物,是中药材的主要来源,是中医药治病救人的物质基础.然而,近年来,由于生态环境的恶化,药用植物资源显著萎 ...

  2. matlab不规则碎片拼接,一种不规则破碎单面图像快速拼接方法

    一种不规则破碎单面图像快速拼接方法 [专利摘要]本发明的一种不规则破碎单面图像快速拼接方法,是首先将不规则破碎的单面图像碎片扫描成数字图像,然后获取每个图像碎片边缘的逆时针像素灰度值序列,通过计算各个 ...

  3. android锁屏服务器,一种远程设置安卓锁屏图片的方法与流程

    本发明涉及智能通讯技术领域,尤其涉及一种远程设置安卓锁屏图片的方法. 背景技术: 智能手机,是指像个人电脑一样,具有独立的操作系统,独立的运行空间,可以由用户自行安装软件.游戏.导航等第三方服务商提供 ...

  4. html网页的无缝拼接,2、图形化的网页-)图形的无缝拼接

    2.图形化的网页 (2)图形的无缝拼接 虽然草稿图是一幅完整的图,但在实际制作主页时,并不是放上一张大图,图太大了下载起来会很慢.为了加快下载速度,一般将一幅完整的图分割成若干小图,然后将其拼接在一起 ...

  5. 基于linux火焰识别算法,一种基于深度学习模型的火焰识别方法与流程

    本发明属于通信领域,具体涉及一种基于深度学习模型的火焰识别方法. 背景技术: 随着我国工业化与城镇水平的不断提高,现代设施大型公共建筑朝着空间大.进深广功能复杂的多元化方向发展,这对于防烟火朝着空间大 ...

  6. 麦克风声源定位原理_一种利用麦克风阵列进行声源定位的方法与流程

    本发明涉及计算机信号处理领域,具体涉及一种用麦克风阵列时延估计定位声源的方法. 背景技术: 20世纪80年代以来,麦克风阵列信号处理技术得到迅猛的发展,并在雷达.声纳及通信中得到广泛的应用.这种阵列信 ...

  7. arcgis android gif,一种基于动态地图符号的移动GIS可视化方法与流程

    本发明具体涉及一种基于动态地图符号的移动GIS可视化方法动态地图符号的技术领域 背景技术: 随着移动设备的高度集成化和处理器的快速发展,终端设备的计算和处理能力不断增强,移动GIS的应用领域越来越广泛 ...

  8. 手机室内地磁定位软件_一种基于手机地磁和场景图像的室内定位方法与流程

    本发明属于室内定位领域,具体涉及一种利用地磁和场景图像搭建地图,并用卷积神经网络提取出位置特征,以粒子滤波算法进行动态定位的方法. 背景技术: 室内定位技术在现在的提高我们的日常生活便利中起着非常重大 ...

  9. cpu频率监控linux系统,一种用于Linux的CPU压力测试监控方法与流程

    本发明涉及的是服务器领域,尤其是在Linux下对CPU压力测试时,进行CPU监控的方法. 背景技术: 在现有技术中,公知的技术是CPU作为现代服务器的核心组成部分,其稳定性直接影响整个服务器的稳定性. ...

最新文章

  1. java sqlhelper_java版sqlhelper(转)
  2. Hadoop-2.4.1学习之edits和fsimage查看器
  3. OpenGL 入门第一课 视窗以及三角形
  4. 【Python】Python3.7.3 - sys.path 模块搜索路径详解
  5. javascript之Map 和 Set
  6. ————————C语言中快速排序方法——————————————
  7. Github Trending被中文项目“占领”,国外开发者不开心了!
  8. 接口测试工具SoapUI(一)安装和破解
  9. 《通信原理》樊昌信、《移动通信》——知识点总结
  10. apache commons-beanutils中BeanUtils和PropertyUtils区别
  11. tensorflow下手写汉字识别及其可视化
  12. Ansys 2022 安装教程(附赠免费的安装包)
  13. 2016.12.10
  14. 34岁程序员面试谈薪资被砍5K,网友:这么降不如在家睡觉
  15. 电脑开机出现警报音后提示要按F1才能进入的分析处理
  16. 域名服务器有什么作用?怎么查询域名服务器地址?
  17. po是什么java_java中po层
  18. 非此即彼的逻辑错误_Argument常见逻辑错误及描述 【出国英语】
  19. 小猫爬山(DFS+剪枝)
  20. IPv6双栈技术方案

热门文章

  1. P2887 [USACO07NOV]防晒霜
  2. ArcGIS教程:克里金法的工作原理(二)
  3. Lottie: 让动画实现更简单
  4. VIAVI MTS-6000A新一代电信级以太网测试解决方案
  5. 基于C2C的商务管理系统 JSP+MYSQL C2C购物商城SSH
  6. c语言实例 魔术师的猜牌术(1),C语言实例:魔术师的猜牌术(1)
  7. 无人机指挥系统(Drone Commander)
  8. html中版心居中怎么写,CSS 版心和布局
  9. python爬虫爬取歌曲_python爬虫实战:爬取全站小说排行榜
  10. TREC的ad hoc、routing、filtering、topic等术语的解释