一种图像拼接方法与流程

文档序号:26178195发布日期:2021-08-06 18:24阅读:117来源:国知局
一种图像拼接方法与流程

本发明涉及图像处理技术领域,特别是涉及一种图像拼接方法。



背景技术:

图像拼接是将拍摄范围具有重叠区域的图像拼接在一起,得到一个图像的图像处理过程。一般采用其中一张图像作为基准图像,然后根据相匹配的特征点中的一些特征点在图像坐标系中的坐标,计算得到两个图像之间3x3的转换矩阵,进而对图像进行二维坐标转换,然后对坐标转换后的图像进行拼接。

由于图像采集过程中图像采集设备转轴可能有轻微歪斜等原因,会造成每个图像中的特征点的景深不同等问题,从而造成采用3x3的转换矩阵描述变换关系会造成图像形变或偏移,拼接的图像数量越多,靠后进行拼接的图像的形变或偏移程度也就越大。

特别是在全景拼接过程中,图像数量很多,以某个图像作为基准图像,其他图像进行坐标转换后的形变会越来越大,如图1所示的拼接效果。这种拼接图像中的形变或偏移逐渐加剧的现象称之为累积误差,在上述图像拼接方式中,累积误差问题明显,图像拼接效果并不理想。



技术实现要素:

本发明实施例的目的在于提供一种图像拼接方法,以提高图像拼接效果。

具体技术方案如下:

本发明实施例提供了一种图像拼接方法,所述方法包括:

获取第一图像和第二图像,其中,所述第一图像与所述第二图像对应的拍摄范围具有重叠区域;

基于所述重叠区域进行特征点匹配,得到所述第一图像与所述第二图像的相匹配的特征点;

将所述特征点投影至预设球面,得到所述特征点对应的球面坐标;

基于所述球面坐标的估计值、实际值及预先构建的误差方程,计算得到所述第一图像与所述第二图像之间的配准矩阵,其中,所述预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差;

根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像。

可选的,所述基于所述球面坐标的估计值、实际值及预先构建的误差方程,计算得到所述第一图像与所述第二图像之间的配准矩阵的步骤,包括:

从所述特征点中选择相匹配的一组特征点,作为目标特征点;

根据当前的配准参数的估计值及所述目标特征点对应的球面坐标的实际值,计算所述第一图像与所述第二图像的当前配准误差,其中,所述配准参数用于标识所述第一图像与所述第二图像的相匹配的特征点之间的配准关系;

基于预先构建的误差方程及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值;

根据所述修正值更新所述当前的配准参数的估计值,得到更新后的配准参数的估计值;

在所述修正值达到预设条件或迭代次数达到预设次数的情况下,基于所述更新后的配准参数的估计值,确定所述第一图像与所述第二图像之间的配准矩阵;

在所述修正值未达到预设条件或迭代次数未达到预设次数的情况下,返回所述根据当前的配准参数的估计值及所述目标特征点对应的球面坐标的实际值,计算所述第一图像与所述第二图像的当前配准误差的步骤。

可选的,所述配准参数包括所述第一图像对应的球面坐标系与所述第二图像对应的球面坐标系之间的平移角ωx、俯仰角ωy、旋转角ωz;

所述基于预先构建的误差方程及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值的步骤,包括:

根据当前的配准参数的估计值及第一目标特征点对应的球面坐标的实际值,计算得到的估计参数b,其中,所述第一目标特征点为所述第一图像或所述第二图像中的目标特征点;

基于预先构建的误差方程v=bω′-l及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值ω′=(δωx,δωy,δωz);

其中,v为所述当前配准误差,l为第二目标特征点对应的球面坐标,所述第二目标特征点为与所述第一目标特征点相匹配的特征点。

可选的,所述根据所述修正值更新所述配准参数的估计值,得到更新后的配准参数的估计值的步骤,包括:

将所述当前的配准参数的估计值与所述修正值的加和,确定为更新后的配准参数的估计值。

可选的,在所述根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像的步骤之前,所述方法还包括:

获取多个第三图像,其中,所述多个第三图像与所述第一图像以及所述第二图像为图像采集设备采集的用于拼接得到360度拼接图像的图像;

基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵,以使所述多个第三图像与所述第一图像以及所述第二图像中第一个图像与最后一个图像相接,其中,所述相邻图像为对应的拍摄范围具有重叠区域的两个图像,所述基准图像为所有图像中的一个;

所述根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像的步骤,包括:

根据对应的所述变换矩阵将每个图像进行坐标变换,得到待拼接图像;

将所述待拼接图像及所述基准图像按照采集顺序进行拼接,得到360度全景图像。

本发明实施例有益效果:

本发明实施例提供的方案中,电子设备可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,保证配准矩阵的准确性,提高了图像拼接效果。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为相关技术中图像拼接效果的一种示意图;

图2为本发明实施例所提供的一种图像拼接方法的流程图;

图3为图2所示实施例中步骤s204的一种具体流程图;

图4为基于图3所示实施例的三维球面坐标系转换关系的一种示意图;

图5为基于图1所示实施例的变换矩阵的确定方式的一种流程图;

图6(a)基于图1所示实施例的拼接效果的一种示意图;

图6(b)基于图5所示实施例的拼接效果的一种示意图;

图7为本发明实施例所提供的一种图像拼接装置的结构示意图;

图8为图7所示实施例中配准矩阵计算模块740的一种具体结构示意图;

图9为本发明实施例所提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。

为了提高图像拼接的效果,减轻图像拼接过程中的累积误差问题,本发明实施例提供了一种图像拼接方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。下面首先对本发明实施例所提供的一种图像拼接方法进行介绍。

本发明实施例所提供的一种图像拼接方法可以应用于任意需要对图像进行拼接处理的电子设备,例如,可以为图像采集设备、图像处理器、服务器等,在此不做具体限定。为了描述清楚,后续称为电子设备。

如图2所示,一种图像拼接方法,所述方法包括:

s201,获取第一图像和第二图像;

其中,所述第一图像与所述第二图像对应的拍摄范围具有重叠区域。

s202,基于所述重叠区域进行特征点匹配,得到所述第一图像与所述第二图像的相匹配的特征点;

s203,将所述特征点投影至预设球面,得到所述特征点对应的球面坐标;

s204,基于所述球面坐标的估计值、实际值及预先构建的误差方程,计算得到所述第一图像与所述第二图像之间的配准矩阵;

其中,所述预先构建的误差方程用于表示基于当前的配准矩阵计算得到的坐标估计值与坐标实际值之间的误差。

s205,根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像。

可见,本发明实施例提供的方案中,电子设备可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,提高了图像拼接效果。

在需要进行图像拼接的情况下,电子设备可以执行上述步骤s201,即获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,也就是说,第一图像与第二图像中的内容有一部分是重叠的。在一种实施方式中,第一图像和第二图像可以图像采集设备采集并实时发送至电子设备的,也可以是电子设备从图像采集设备等其他设备中获取其所存储的图像,这都是合理的。

获取了上述第一图像和第二图像后,电子设备可以基于上述重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点。其中,特征点匹配的具体方式可以采用图像处理领域的任一特征点匹配方式,例如,可以为采用sift(scale-invariantfeaturetransform,尺度不变特征变换)、surf(speededuprobustfeatures)等特征点描述子进行特征点的筛选匹配,在此不做具体限定及说明。

为了得到更加准确的特征点,在进行特征点匹配之前,电子设备还可以对第一图像和第二图像进行畸变校正等处理,以消除图像畸变等因素对特征点匹配的准确度的影响。

为了减轻采用特征点中的一些特征点在图像坐标系中的坐标,计算得到两个图像之间转换矩阵,进而对图像进行二维坐标转换所产生累积误差问题,在上述步骤s203中,电子设备可以将得到的特征点投影至预设球面,进而得到特征点对应的球面坐标。

在一种实施方式中,预设球面的半径可以等于图像采集设备的焦距f。图像的水平视场角α、焦距f及图像宽度w的关系为tan(α/2)=w/2f,如果图像与预设球面相切于y=f处,那么图像中的任意一点a的坐标为(x,y,z),投影到该预设球面上得到的点a′的对应坐标(x′,y′,z)可由式(1)求得。

根据该公式,电子设备便可以将吗,每个特征点投影至预设球面,得到特征点对应的球面坐标(x′,y′,z′)。

接下来,在上述步骤s204中,电子设备便可以基于特征点的球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵。其中,误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差。

电子设备可以预先构建误差方程,用于表示基于当前的配准矩阵计算得到的坐标估计值与坐标实际值之间的误差。如果采用一个一般地3x3矩阵以及对应的特征点组求解得到的转换矩阵来描述转换关系,由于没有约束限制,会导致球面变形,从而引起多张图像拼接后存在较大误差。而采用限制球面形状不变,进行同球心的偏移、俯仰、旋转计算得到的配准矩阵,可以提高配准矩阵的准确度,减少多张图像拼接的误差。所以,构建误差方程可以基于该约束限制构件得到。

确定了第一图像与第二图像之间的配准矩阵后,电子设备便可以根据该配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像,也就是执行上述步骤s205。

作为一种实施方式,假设此时需要将第二图像拼接于第一图像的右侧,上述配准矩阵为将第二图像转换至第一图像的图像坐标系所对应的配准矩阵,那么电子设备可以按照公式(2)将第二图像转换至第一图像的坐标系。

其中,r为配准矩阵,(x,y,z)为第二图像中的点对应的球面坐标,(x′,y′,z′)为将(x,y,z)转换至第一图像对应的球面坐标系中得到的坐标点。

进而,电子设备可以根据上述公式(1)将坐标点(x,y,z)映射至第一图像的图像坐标系中,便可以得到球面坐标(x,y,z)在第二图像中对应的点转换至第一图像的图像坐标系中所得到的点。

按照上述方式可以将第二图像中所有点均转换至第一图像的图像坐标系中,进而便可以将第一图像和第二图像进行拼接,得到拼接后的图像。

作为本发明实施例的一种实施方式,如图3所示,上述基于所述球面坐标的估计值、实际值及预先构建的误差方程,计算得到所述第一图像与所述第二图像之间的配准矩阵的步骤,可以包括:

s301,从所述特征点中选择相匹配的一组特征点,作为目标特征点;

第一图像和第二图像之间一般会存在多对匹配的特征点,首先电子设备可以从所有特征点中选择相匹配的一组特征点,作为目标特征点。其中,该一组特征点可以为相匹配的全部特征点中的一部分,也可以为相匹配的全部特征点,这都是合理的。

s302,根据当前的配准参数的估计值及所述目标特征点对应的球面坐标的实际值,计算所述第一图像与所述第二图像的当前配准误差;

为了方便计算配准矩阵,可以预先设置配准参数,该配准参数用于标识第一图像与第二图像的相匹配的特征点之间的配准关系。这样,根据当前的配准参数的估计值便可以计算得到第一图像与第二图像之间的配准矩阵。

进而根据上述公式(2)便可以计算得到目标特征点中的一个特征点对应的转换后的点的坐标,那么该转换后的点的坐标与目标特征点中的另一个特征点的球面坐标之间的差异也就是第一图像与第二图像的当前配准误差。

在一种实施方式中,可以为配准参数设置一个初始化的默认值,在第一次执行该步骤s302时,当前的配准参数的估计值即为该初始化的默认值。

s303,基于预先构建的误差方程及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值;

预先构建的误差方程可以表示基于当前的配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,修正参数是误差方程中包括的一个参数,所以在计算的到当前配准误差后,便确定了误差方程的计算结果,进而也就可以计算得到修正参数的具体值,也就是修正值。

s304,根据所述修正值更新所述当前的配准参数的估计值,得到更新后的配准参数的估计值,在所述修正值达到预设条件或迭代次数达到预设次数的情况下,执行步骤s305;在所述修正值未达到预设条件或迭代次数未达到预设次数的情况下,返回执行步骤s302;

当前配准参数的估计值一般来说是不够准确的,无法计算得到准确度较高的配准矩阵,所以接下来,电子设备可以根据上述修正值更新当前的配准参数的估计值,得到更新后的配准参数的估计值。

此时为了确定更新后的配准参数的估计值是否已经足够准确,电子设备可以判断该修正值是否达到预设条件或迭代次数是否达到预设次数。

如果此时该修正值已达到预设条件,或者迭代次数已达到预设次数,说明当前的配准参数的估计值已经比较准确,或者当前的配准参数的估计值已经更新过多次,那么可以确定此时的配准参数的估计值已经比较准确。所以在修正值达到预设条件或迭代次数达到预设次数的情况下,可以继续执行步骤s305。

如果此时该修正值未达到预设条件并且迭代次数也未达到预设次数,说明当前的配准参数的估计值还不够准确,那么便可以返回执行上述步骤s302,继续基于当前的配准参数的估计值及目标特征点对应的球面坐标,计算第一图像与第二图像的当前配准误差,以进行配准参数的估计值的迭代,直到修正值已达到预设条件,或者迭代次数已达到预设次数。

其中,上述预设条件可以根据修正值的具体表示方式等因素确定,例如,可以一个预设数值,或者,在修正值为向量的情况下,该预设条件可以为该向量的模值达到预设值等。上述预设次数可以根据修正值的学习率等设置,例如,可以500、800、1000等,这都是合理的。

s305,基于所述更新后的配准参数的估计值,确定所述第一图像与所述第二图像之间的配准矩阵。

在修正值达到预设条件或迭代次数达到预设次数的情况下,说明此时的配准参数的估计值已经比较准确,所以电子设备可以基于更新后的配准参数的估计值,确定第一图像与第二图像之间的配准矩阵,可以得到第一图像与第二图像之间的准确的配准矩阵。

可见,在本实施例中,电子设备可以从特征点中选择相匹配的一组特征点,作为目标特征点,根据当前的配准参数的估计值及目标特征点对应的球面坐标的实际值,计算第一图像与第二图像的当前配准误差,基于预先构建的误差方程及当前配准误差,计算预先构建的误差方程包括的配准参数对应的修正值,根据修正值更新当前的配准参数的估计值,得到更新后的配准参数的估计值,进而在修正值达到预设条件或迭代次数达到预设次数的情况下,基于更新后的配准参数的估计值,确定第一图像与第二图像之间的配准矩阵;在修正值未达到预设条件或迭代次数未达到预设次数的情况下,返回根据当前的配准参数的估计值及目标特征点对应的球面坐标的实际值,计算第一图像与第二图像的当前配准误差的步骤。采用循环执行的方式来迭代更新配准参数的估计值,电子设备可以利用各个相匹配的特征点来确定准确的配准参数的估计值,进而计算得到第一图像与第二图像之间的准确的配准矩阵。

作为本发明实施例的一种实施方式,上述配准参数可以包括第一图像对应的球面坐标系与第二图像对应的球面坐标系之间的平移角ωx、俯仰角ωy、旋转角ωz。

如图4所示,第一图像和第二图像之间的配准过程可以看作是球心相同的预设球面的两个部分三维球面的匹配,可以归结为两个三维球面坐标系转换问题,第一图像对应的三维球面坐标系o1-x1y1z1与第二图像对应的三维球面坐标系o2-x2y2z2之间的匹配具有三个平移参数(δx,δy,δz),三个旋转参数(ωx,ωy,ωz),以及一个尺度参数k。

对于相匹配的特征点来说,坐标转换关系可以表示为:

其中,(x′,y′,z′)为三维球面坐标系o2-x2y2z2中的坐标点,(x,y,z)三维球面坐标系o1-x1y1z1中的坐标点。对于图像拼接特别是360度的全景图像的拼接来说,可以认为不存在偏移量和尺度量,所有图像在经过球面投影后变换到半径相同的预设球面上,而且每个图像对应的图像采集设备的光心汇聚于一点,也就是球心。

因此,δx、δy、δz以及k均为0,所以第一图像和第二图像之间的配准过程只与第一图像对应的球面坐标系与第二图像对应的球面坐标系之间的平移角ωx、俯仰角ωy、旋转角ωz有关。那么,上述配准参数包括第一图像对应的球面坐标系与所述第二图像对应的球面坐标系之间的平移角ωx、俯仰角ωy、旋转角ωz,即为(ωx,ωy,ωz)。

相应的,上述基于预先构建的误差方程及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值的步骤,可以包括:

根据当前的配准参数的估计值及第一目标特征点对应的球面坐标的实际值,计算得到的估计参数b;基于预先构建的误差方程v=bω′-l及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值ω′=(δωx,δωy,δωz)。

其中,第一目标特征点为第一图像或第二图像中的目标特征点,v为当前配准误差,l为第二目标特征点对应的球面坐标的实际值,第二目标特征点为与第一目标特征点相匹配的特征点。

如图4所示可以看出,第一图像和第二图像之间的参数旋转矩阵r=rxryrz,具体的,

那么,参数旋转矩阵r即为:

将上述公式(2)进行泰勒级数展开,可以得到:

其中,r0为默认展示系数,dr为:

那么只用三个旋转参数(ωx,ωy,ωz)来表示,可以得到:

由上述公式可以得到估计参数b的表达式:

基于该公式(11),电子设备便可以根据当前的配准参数的估计值及第一目标特征点对应的球面坐标(x,y,z),计算得到的估计参数b。

根据该公式(11),可以构建误差方程:v=bω′-l,其中,v为当前配准误差,l为第二目标特征点对应的球面坐标的实际值,第二目标特征点即为与第一目标特征点相匹配的特征点。电子设备确定了估计参数b后,便可以基于该误差方程v=bω′-l及当前配准误差,计算得到配准参数对应的修正值ω′=(δωx,δωy,δωz)。电子设备可以按照最小二乘求解方法,目标函数为min(vttv),对误差方程进行求解,其中,t为权重矩阵,表示不同的相匹配的特征点对应的不同权重。在一种实施方式中,p可以为单位矩阵,表示所有特征点对应的权重相同,所以,在此情况下,目标函数为min(vtv),具体求解过程可以为:

将当前的配准参数的估计值带入上述公式(7),即可以计算得到当前的配准矩阵,进而电子设备可以根据上述公式(2),基于该当前的配准矩阵及目标特征点对应的球面坐标,计算得到变换后的第二目标特征点的估计值,进而便可以计算得到第一图像与第二图像的当前配准误差v的值,即第二目标特征点的估计值与第二目标特征点对应的球面坐标的实际值l之间的差值。

进而,电子设备将当前配准误差v的值带入误差方程v=bω′-l中,由于v、b以及l的值均已确定,所以可以求得配准参数对应的修正值ω′=(δωx,δωy,δωz)。

可见,在本实施例中,电子设备可以根据当前的配准参数的估计值及第一目标特征点对应的球面坐标的实际值,计算得到的估计参数b,进而基于预先构建的误差方程v=bω′-l及当前配准误差,计算配准参数对应的修正值ω′=(δωx,δωy,δωz),这样,可以准确快速地计算得到配准参数对应的修正值,便于后续对配准参数进行更新,以得到更加准确的配准参数。

作为本发明实施例的一种实施方式,上述根据所述修正值更新所述配准参数的估计值,得到更新后的配准参数的估计值的步骤,可以包括:

将所述当前的配准参数的估计值与所述修正值的加和,确定为更新后的配准参数的估计值。即按照以下公式更新所述配准参数的估计值,得到更新后的配准参数的估计值:

ωn+1=ωn+ω′(12)

每次计算得到配准参数对应的修正值后,电子设备可以按照上述公式(12)对配准参数的估计值进行更新,具体来说,电子设备可以当前的配准参数的估计值与配准参数对应的修正值的加和作为更新后的配准参数的估计值,以实现对配准参数的估计值进行更新,逐步得到准确的配准参数的目的。其中,ωn+1即为更新后的配准参数的估计值,ωn即为当前的配准参数的估计值。

可见,在本实施例中,电子设备可以将当前的配准参数的估计值与修正值的加和,确定为更新后的配准参数的估计值,这样可以实现对配准参数的估计值的更新,逐步得到准确的配准参数。

作为本发明实施例的一种实施方式,如图5所示,在上述根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像的步骤之前,上述方法还可以包括:

s501,获取多个第三图像;

针对360度全景图像的拼接场景,电子设备还可以获取多个第三图像,该多个第三图像与上述第一图像以及第二图像为图像采集设备采集的用于拼接得到360度拼接图像的图像。也就是说,电子设备可以获取图像采集设备沿水平方向旋转一周所采集的多个图像。

s502,基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵,以使所述多个第三图像与所述第一图像以及所述第二图像中第一个图像与最后一个图像相接。

电子设备可以按照本发明实施例所提供的方式计算得到每两个相邻图像之间的配准矩阵,其中,相邻图像为对应的拍摄范围具有重叠区域的两个图像,也就是图像采集设备连续采集的两个图像。

为了使上述图像拼接得到的360度全景图像的累积误差问题进一步减轻,提高图像拼接效果,电子设备可以基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵,其中,基准图像可以为所有图像中的一个,也就是可以为多个第三图像、第一图像以及、第二图像中的任意一个,在此不做具体限定。

在一种实施方式中,可以采用上述多个第三图像与第一图像以及第二图像中第一个图像与最后一个图像相接,作为约束条件,计算得到每个图像相对于基准图像的变换矩阵,这样可以实现将累积误差平摊到每两个相邻图像之间的拼缝,实现拼接得到的360度全景图像的首尾相接,不会出现很大的偏差。

相应的,上述根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像的步骤,可以包括:

根据对应的所述变换矩阵将每个图像进行坐标变换,得到待拼接图像;将所述待拼接图像及所述基准图像按照采集顺序进行拼接,得到360度全景图像。

计算得到每个图像相对于基准图像的变换矩阵后,电子设备便可以根据对应的变换矩阵将每个图像进行坐标变换,得到待拼接图像,这样,可以将每个图像均转换至基准图像的坐标系,得到的待拼接图像均为基准图像的坐标系对应的图像。

进而,电子设备便可以便可以将得到待拼接图像及基准图像按照采集顺序进行拼接,便可以得到360度全景图像。

可见,在本实施例中,针对360度全景图像的拼接,电子设备可以基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵,以使第一个图像与最后一个图像相接,进一步减轻累积误差问题,图像拼接效果更加理想。

作为本发明实施例的一种实施方式,上述基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵的步骤,可以包括:

按照以下公式计算每个图像相对于基准图像的变换矩阵:

其中,pn为第n个图像相对于基准图像的变换矩阵,e为单位矩阵,rn-1n为第n-1个图像与第n个图像之间的配准矩阵。

针对将n个图像{ii}(i=1,2...n)拼接成首尾相接的360度全景图的情况,电子设备可以按照上述实施例中的方式计算得到每两个相邻图像之间的配准矩阵,记为rii+1,表示第i+1个图像与第i个图像之间的配准矩阵。如果将第一个图像作为基准图像,第一个图像与最后一个图像首尾相接作为约束条件,可以得到方程组(14),具体如下:

其中,e为单位矩阵,pn为第n个图像相对于基准图像的变换矩阵。将上述方程组(14)采用矩阵方程的方式,可以表示为:

此时,如果令:

对方程组(16)求解可以得到每个图像相对于基准图像的变换矩阵,如下方程组(17):

这样,电子设备基于上述公式计算得到每个图像相对于基准图像的变换矩阵,进而按照该变换矩阵进行图像拼接,可以将累积误差分配至每一个变换矩阵中,从而达到整体误差减小的效果,大大减轻首尾相接不连续的问题。

如图6(a)所示,如果不进行图5所示实施例的配准矩阵调整过程,按照计算得到的相邻图像之间的配准矩阵进行图像拼接,已经基本能够将画面内容对齐,不会存在严重的形变和偏移,针对非360度全景图像拼接的情况,已经能很好地解决累积误差的问题。针对360度全景图像拼接的情况,进行图5所示实施例的配准矩阵调整过程后,基于变换矩阵进行图像拼接图像,如图6(b)所示,可以使图像内容基于基本完美对齐,首尾可以相接,360度全景图像的拼接效果很好。

相应于上述图像拼接方法,本发明实施例还提供了一种图像拼接装置。下面对本发明实施例所提供的一种图像拼接装置进行介绍。

如图7所示,一种图像拼接装置,其特征在于,所述装置包括:

第一图像获取模块710,用于获取第一图像和第二图像;

其中,所述第一图像与所述第二图像对应的拍摄范围具有重叠区域。

特征点匹配模块720,用于基于所述重叠区域进行特征点匹配,得到所述第一图像与所述第二图像的相匹配的特征点;

球面投影模块730,用于将所述特征点投影至预设球面,得到所述特征点对应的球面坐标;

配准矩阵计算模块740,用于基于所述球面坐标的估计值、实际值及预先构建的误差方程,计算得到所述第一图像与所述第二图像之间的配准矩阵;

其中,所述预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差。

图像拼接模块750,用于根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像。

可见,本发明实施例提供的方案中,电子设备可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,提高了图像拼接效果。

作为本发明实施例的一种实施方式,如图8所示,上述配准矩阵计算模块740可以包括:

特征点选取单元741,用于从所述特征点中选择相匹配的一组特征点,作为目标特征点;

配准误差计算单元742,用于根据当前的配准参数的估计值及所述目标特征点对应的球面坐标的实际值,计算所述第一图像与所述第二图像的当前配准误差;

其中,所述配准参数用于标识所述第一图像与所述第二图像的相匹配的特征点之间的配准关系。

修正值计算单元743,用于基于预先构建的误差方程及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值;

配准参数更新单元744,用于根据所述修正值更新所述当前的配准参数的估计值,得到更新后的配准参数的估计值;

配准矩阵计算单元745,用于在所述修正值达到预设条件或迭代次数达到预设次数的情况下,基于所述更新后的配准参数的估计值,确定所述第一图像与所述第二图像之间的配准矩阵;

触发单元746,用于在所述修正值未达到预设条件或迭代次数未达到预设次数的情况下,触发所述配准误差计算单元742。

作为本发明实施例的一种实施方式,上述配准参数可以包括所述第一图像对应的球面坐标系与所述第二图像对应的球面坐标系之间的平移角ωx、俯仰角ωy、旋转角ωz;

所述修正值计算单元743可以包括:

估计参数计算子单元,用于根据当前的配准参数的估计值及第一目标特征点对应的球面坐标的实际值,计算得到的估计参数b,其中,所述第一目标特征点为所述第一图像或所述第二图像中的目标特征点;

修正值计算子单元,用于基于预先构建的误差方程v=bω′-l及所述当前配准误差,计算所述预先构建的误差方程包括的所述配准参数对应的修正值ω′=(δωx,δωy,δωz);

其中,v为所述当前配准误差,l为第二目标特征点对应的球面坐标的实际值,所述第二目标特征点为与所述第一目标特征点相匹配的特征点。

作为本发明实施例的一种实施方式,上述配准参数更新单元744可以包括:

将所述当前的配准参数的估计值与所述修正值的加和,确定为更新后的配准参数的估计值。

作为本发明实施例的一种实施方式,上述装置还可以包括:

第二图像获取模块,用于在所述根据所述配准矩阵对所述第一图像和所述第二图像进行拼接,得到拼接后的图像之前,获取多个第三图像;

其中,所述多个第三图像与所述第一图像以及所述第二图像为图像采集设备采集的用于拼接得到360度拼接图像的图像。

变换矩阵计算模块,用于基于每两个相邻图像之间的配准矩阵计算每个图像相对于基准图像的变换矩阵,以使所述多个第三图像与所述第一图像以及所述第二图像中第一个图像与最后一个图像相接;

其中,所述相邻图像为对应的拍摄范围具有重叠区域的两个图像,所述基准图像为所有图像中的一个。

所述图像拼接模块750可以包括:

坐标变换单元,用于根据对应的所述变换矩阵将每个图像进行坐标变换,得到待拼接图像;

图像拼接单元,用于将所述待拼接图像及所述基准图像按照采集顺序进行拼接,得到360度全景图像。

本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,

存储器903,用于存放计算机程序;

处理器901,用于执行存储器903上所存放的程序时,实现上述任一实施例所述的图像拼接方法步骤。

可见,本发明实施例提供的方案中,电子设备可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,误差方程用于表示基于当前的配准矩阵计算得到的坐标估计值与实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,提高了图像拼接效果。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的图像拼接方法步骤。

可见,本发明实施例提供的方案中,计算机程序被处理器可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,提高了图像拼接效果。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例所述的图像拼接方法步骤。

可见,本发明实施例提供的方案中,包含指令的计算机程序产品在计算机上运行时可以获取第一图像和第二图像,其中,第一图像与第二图像对应的拍摄范围具有重叠区域,基于重叠区域进行特征点匹配,得到第一图像与第二图像的相匹配的特征点,将特征点投影至预设球面,得到特征点对应的球面坐标,基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与第二图像之间的配准矩阵,其中,预先构建的误差方程用于表示基于配准矩阵计算得到的坐标估计值与坐标实际值之间的误差,进而,根据配准矩阵对第一图像和第二图像进行拼接,得到拼接后的图像。由于电子设备将特征点投影至预设球面得到特征点对应的球面坐标,进而基于球面坐标的估计值、实际值及预先构建的误差方程,计算得到第一图像与所述第二图像之间的配准矩阵,可以保证图像对应的三维球面不发生变化,从而大大减轻了采用3x3的转换矩阵来描述转换关系造成的累积误差问题,提高了图像拼接效果。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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