一种全景图像拼接方法、智能终端及存储介质与流程

文档序号:16393263发布日期:2018-12-25 19:32阅读:181来源:国知局
一种全景图像拼接方法、智能终端及存储介质与流程

本发明涉及图像拼接技术领域,尤其涉及一种基于预估单应性矩阵的全景图像拼接方法、智能终端及存储介质。

背景技术

图像拼接技术就是将数张有重叠部分的图像拼成一幅大型的无缝高分辨率图像的技术,全景图像拼接中的所谓全景,是指图像有比较宽的视域,所谓拼接是指把多个单一图像融合成一副图像。具体而言,全景拼接是使用多个相机对同一个场景在不同视角拍摄(也可以使用一个相机在不同时间、在不同视角拍摄),将得到的多个图像进行校正、去噪、匹配和融合,最终构建成一个清晰度高、边缘平滑、分辨率高的图像。

随着计算机视觉技术的发展及其在其他领域内的普及,对具有较大视域全景图像的需求也越来越迫切,全景图像拼接技术在短短几年内得到了快速发展,并受到研究者越来越多的关注;目前,全景图像已经成为计算机视觉研究中的热点和关键技术,在虚拟现实、医学图像分析、地图街景、地质勘测、军事侦查、航空航天以及视频会议等多个领域发挥着重要作用。目前主流的全景图像拼接算法几乎都是基于图像特征点的,没有足够特征点的情况下就无法进行有效地拼接,导致平均拼接成功率很低;并且在某些情况下,基于特征点的拼接效果不能得到保证。因此,研究更好的全景图像拼接技术以提高拼接成功率和拼接效果是势在必行的。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种全景图像拼接方法、智能终端及存储介质,旨在通过在线粗略标定获得相机内参矩阵,并以此构建一个预先估算的单应性矩阵,在进行全景图像拼接前,利用特征点匹配对和特征直线匹配对对各个照片对应的单应性矩阵参数进行逐个照片地精细调整,使用直线匹配对弥补了特征点匹配对不足而导致拼接不成功的问题,对偶然出现的没有特征点和特征直线的照片的单应性矩阵,使用临近照片的单应性矩阵进行推算获得,确保拼接的成功。

本发明解决技术问题所采用的技术方案如下:

一种全景图像拼接方法,其中,所述全景图像拼接方法包括:

根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵;

检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵;

检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对;

根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵;

设置投影方式,更新每张照片在最终投影面上的投影范围,对经线方向的照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合;

将经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,进行拼接后,使用多频带融合方法消除缝合线痕迹。

所述的全景图像拼接方法,其中,所述根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵具体包括:

根据全景拍摄设备上相机的初始位置以及设定的拍摄路径,确定每个拍摄位置相对于初始相机初始位置的旋转矩阵rii=1,2,…n;

其中,相机为所述全景拍摄设备上安装的相机或者手机;i表示不同的拍摄位置。

所述的全景图像拼接方法,其中,所述检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵具体包括:

检测全景拍摄设备拍摄的所有照片的特征点,使用欧式距离方法沿经线方向的照片中选取特征点匹配对可信度最高的相邻两张照片;

根据两张照片中的每对匹配点计算出一组对应焦距,根据焦距分布情况从中选择最合适的一组作为全局焦距的预估值主点坐标初始值(x0,y0)设为(0,0),得到适用所有照片估算的全局初始相机内参矩阵:

根据所述旋转矩阵和全局初始相机内参矩阵,得到预先估算的单应性矩阵其中,i,j=1,2…,n,i≠j,ri,rj分别为相邻两张照片拍摄位置相对于初始相机位置的旋转矩阵。

所述的全景图像拼接方法,其中,所述检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对具体包括:

根据预先估算的全局单应性矩阵进行投影以确定两张相邻照片的重叠区域;

通过直线匹配对两个端点的欧式距离和直线对之间的夹角对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对。

所述的全景图像拼接方法,其中,所述根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵具体包括:

通过levenberg-marquardt算法结合特征点匹配对和直线匹配对,求解每张照片对应的单应性矩阵,对预先估算的全局单应性矩阵中的初始焦距初始主点(x0,y0),以及旋转矩阵ri进行逐个照片地修正;

获得每张照片的虚拟焦距和虚拟主点坐标以及修正后的旋转矩阵r′i。

所述的全景图像拼接方法,其中,所述根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵之后还包括:

根据修正后的虚拟焦距和虚拟主点坐标以及修正后的旋转矩阵得到对应第i张照片的虚拟相机内参矩阵为:

则第i张照片对应的单应性矩阵为其中,i,j=1,2…,n,i≠j,r′i,r′j分别为经过修正后的相邻两张照片拍摄位置的旋转矩阵,ki,kj分别为相邻两张照片对应的虚拟相机内参矩阵;

对于特征点和特征直线不足的照片的单应性矩阵,通过使用相邻照片的单应性矩阵按照位置关系进行推算获得。

所述的全景图像拼接方法,其中,虚拟相机内参矩阵中的虚拟参数:虚拟焦距和虚拟主点坐标,用于反映相机在世界坐标系中相对初始相机位置的三维平移量。

所述的全景图像拼接方法,其中,所述全景拍摄设备包括:手动或者自动全景拍摄设备、单相机或者多相机全景拍摄设备。

一种智能终端,其中,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的全景图像拼接程序,所述全景图像拼接程序被所述处理器执行时实现如上所述的全景图像拼接方法的步骤。

一种存储介质,其中,所述存储介质存储有全景图像拼接程序,所述全景图像拼接程序被处理器执行时实现如上所述全景图像拼接方法的步骤。

本发明公开了一种全景图像拼接方法、智能终端及存储介质,根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵;检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵;检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对;根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵;设置投影方式,更新每张照片在最终投影面上的投影范围,对经线方向的照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合;将经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,进行拼接后,使用多频带融合方法消除缝合线痕迹。

附图说明

图1是本发明全景图像拼接方法的较佳实施例中拍摄720°全景照片时使用的全景拍摄设备(三轴手持云台)的结构示意图;

图2是本发明全景图像拼接方法的较佳实施例中使用的全景拍摄设备拍摄720°全景照片时沿纬线方向拍摄基准轨迹分布示意图;

图3是本发明全景图像拼接方法的较佳实施例中使用的全景拍摄设备拍摄720°全景照片时沿经线方向转动轨迹示意图;

图4是本发明全景图像拼接方法的较佳实施例的流程图;

图5为本发明智能终端的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的全景图像拼接方法,是基于全景拍摄设备所拍摄的照片来进行拼接的,以某科技公司生产的三轴手持云台(如图1所示)摄720°全景照片为例,所述三轴手持云台拍摄轨迹包括s80°纬线圈、s60°纬线圈、s40°纬线圈、s20°纬线圈、0°纬线圈、n20°纬线圈、n40°纬线圈、n60°纬线圈和n80°纬线圈(如图2所示);所有纬线圈上分别均匀地间距设置9个拍摄位置,总共81个拍摄位置,根据拍摄轨迹即可估算出每个拍摄位置上的旋转矩阵的参数(如图3所示)。

其中,三轴手持云台可以夹持用户自己的手机或者相机作为拍摄设备,图1中即为使用手机来作为拍摄的相机。

如图4所示,所述全景图像拼接方法包括以下步骤:

步骤s10、根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵。

具体地,全景拍摄设备包括手动和自动全景拍摄设备,以及单相机和多相机全景拍摄设备,根据相机的初始位置(多相机全景拍摄设备),以及设定的拍摄路径(单相机全景拍摄设备),大致确定每个拍摄位置相对于初始相机初始位置的旋转矩阵rii=1,2,…n,这里i表示不同的拍摄位置。

其中,旋转矩阵和相机内参矩阵相乘得到单应性矩阵,后面之所以称预先估算的单应性矩阵(预估单应性矩阵),是因为旋转矩阵和相机内参矩阵都是事先估算的。

步骤s20、检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵。

具体地,由于手机和相机品牌型号众多,不可能确切地知道各种相机(以下统一称为相机)的内参矩阵,因此,使用在线估计的方法得到预估的全局相机内参矩阵;即鉴于相机内参矩阵的预先估算较难获取,因此采用在线粗略标定的方法获得。

首先,检测全景拍摄设备的所有照片的特征点,使用欧式距离(欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式,计算公式为现有技术,此处不再进行介绍)方法从沿经线方向的照片中选取特征点匹配对可信度最高的相邻两张照片,这两张照片中的每对匹配点都可以计算出一组对应焦距,根据这些焦距分布情况,从中选择最合适的一组作为全局焦距的预估值主点坐标初始值(x0,y0)设为(0,0),得到如下适用所有照片的粗略估算的全局初始相机内参矩阵:

由单应性矩阵计算公式,根据所述旋转矩阵和全局初始相机内参矩阵,得到预先估算的单应性矩阵其中,i,j=1,2…,n,i≠j,ri,rj分别为相邻两张照片拍摄位置相对于初始相机位置的旋转矩阵;为了使得该式成立,在此使用齐次坐标表示。

此时的相机内参矩阵初始值还不是虚拟相机内参矩阵,这是粗略估算的相机内参矩阵初始值。

步骤s30、检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对。

具体地,检测照片中的直线段,除了前面检测照片中的特征点,同时还检测照片中的直线段进行匹配以提升拼接的效果;根据上述预先估算的全局单应性矩阵进行投影以确定两张相邻照片的重叠区域,使用直线匹配对两个端点的欧式距离和直线对之间的夹角对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对,例如投影后不在照片范围内的,平行但是距离较远的,以及相交但是夹角太大的匹配对。

其中,现实环境中的同一条直线段出现在两张相邻有重叠区域的照片中称为直线匹配对,现实环境中的同一个特征点出现在两张相邻有重叠区域的照片中称为特征点匹配对;特征点指的是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点)。

步骤s40、根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵。

具体地,使用levenberg-marquardt算法(l-m算法,)结合特征点匹配对和直线匹配对对预先估算的全局单应性矩阵中的初始焦距初始主点(x0,y0),以及旋转矩阵ri进行逐个照片地修正,以补偿在拍摄过程中相机平移和旋转产生的失配。至此,得到每张照片的虚拟焦距和虚拟主点坐标以及修正后的旋转矩阵这里使用虚拟焦距和虚拟主点坐标的概念是因为这里的焦距和主点坐标不是相机的真实焦距和主点坐标,而且反映了相机在世界坐标系中相对初始相机位置的三维平移量,实际相机内参矩阵的参数在变换拍摄位置时不会发生变化,从而得到对应第i张照片的虚拟相机内参矩阵为:

从此全局预估单应性矩阵i,j=1,2…,n,i≠j不再使用,而是由每张照片对应的单应性矩阵代替,即第i张照片对应的单应性矩阵为i,j=1,2…,n,i≠j,为了使得该式成立,在此使用齐次坐标表示;其中,r′i,r′j分别为经过修正后的相邻两张照片拍摄位置相对于初始相机位置的旋转矩阵,ki,kj分别为相邻两张照片对应的虚拟相机内参矩阵。对于特征点和特征直线不足的照片的单应性矩阵,使用相邻照片的单应性矩阵按照位置关系进行推算获得。

也就是说,修正前的是全局的焦距和主点,所有的照片都使用同样的焦距和主点,修正后的是每张照片都有一个焦距和主点,是通过使用levenberg-marquardt算法结合特征点对和特征直线对求解到的。

本发明之所以称为虚拟相机内参矩阵,是因为相机内参矩阵反映的是相机固有的焦距和主点坐标等参数,本发明中使用特征点匹配对和直线匹配对调整后的相机内参矩阵中的焦距和主点坐标,不再是相机固有焦距和主点坐标,而是反映了相机相对于初始位置的三个维度的平移量。

步骤s50、设置投影方式,更新每张照片在最终投影面上的投影范围,对经线方向的照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合。

具体地,根据实际需求设置投影方式,投影方式包括球面投影和柱面投影等,在本实施例中投影方式为球面,并更新81张照片在球形投影面上的投影范围;然后对经线方向的9张照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合。

步骤s60、将经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,进行拼接后,使用多频带融合方法消除缝合线痕迹。

具体地,当经线方向处理完成后,然后将9张沿经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,并进行拼接。或者先进行纬线方向的处理,再进行经线方向的处理也是可以的;例如对于720度拼接,纬线方向拼接是360度,经线是180度,先拼经线方向比较容易,所以此时优先进行经线方向处理,再进行纬线方向处理;当经线方向和纬线方向全部处理完成后,使用多频段融合方法(多频段融合方法用于融合不同图像之间的重叠部分,一般使用线性加权的方式来得到最终的输出图像)消除缝合线痕迹。

如图5所示,基于上述全景图像拼接方法,本发明还相应提供了一种智能终端,所述智能终端包括处理器10、存储器20及显示器30。图5仅示出了智能终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述智能终端的内部存储单元,例如智能终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能终端的外部存储设备,例如所述智能终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器20还可以既包括所述智能终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能终端的应用软件及各类数据,例如所述安装于智能终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在本实施例中,存储器20上存储有全景图像拼接程序40,该全景图像拼接程序40可被处理器10所执行,从而实现本申请中全景图像拼接方法。

所述处理器10在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述全景图像拼接方法等。

所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸显示器等。所述显示器30用于显示在所述智能终端的信息以及用于显示可视化的用户界面。所述智能终端的部件10-30通过系统总线相互通信。

例如,在一实施例中,当处理器10执行所述存储器20中全景图像拼接程序40时实现以下步骤:

根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵;

检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵;

检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对;

根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵;

设置投影方式,更新每张照片在最终投影面上的投影范围,对经线方向的照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合;

将经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,进行拼接后,使用多频带融合方法消除缝合线痕迹;具体如上所述。

本发明还提供一种存储介质,其中,所述存储介质存储有全景图像拼接程序,所述全景图像拼接程序被处理器执行时实现如上所述全景图像拼接方法的步骤;具体如上所述。

综上所述,本发明提供一种全景图像拼接方法、智能终端及存储介质,所述全景图像拼接方法包括:根据全景拍摄设备的相机初始位置和设定的拍摄路径,确定每个拍摄位置相对于相机初始位置的旋转矩阵;检测全景照片设备拍摄的所有照片的特征点,通过在线粗略标定的方式获得初始全局相机内参矩阵,结合所述旋转矩阵得到预先估算的全局单应性矩阵;检测全景照片设备拍摄的所有照片中的直线段,根据预先估算的全局单应性矩阵对检测到的直线匹配对进行粗筛选,删除不符合要求的直线匹配对;根据预设算法结合特征点匹配对和直线匹配对,对相机内参矩阵参数和旋转矩阵参数逐个照片地进行修正,得到代表相机平移关系的虚拟相机内参矩阵以及每张照片对应的单应性矩阵;设置投影方式,更新每张照片在最终投影面上的投影范围,对经线方向的照片进行颜色和亮度的均衡化处理,使用缝合线进行缝合;将经线方向已经拼接好的照片沿纬线方向进行颜色和亮度的均衡化,进行拼接后,使用多频带融合方法消除缝合线痕迹。本发明通过在线粗略标定获得预估值以此构建一个预先估算的单应性矩阵,在进行全景图像拼接前,利用特征点匹配对和特征直线匹配对对各个照片对应的单应性矩阵参数进行逐个照片的精细调整,使用直线匹配对弥补了特征点匹配对不足而导致拼接不成功的问题,对偶然出现的没有特征点和特征直线的照片的单应性矩阵,使用相邻近照片的单应性矩阵进行推算获得,从而实现100%的拼接成功率。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来自动完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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