一种图像特征优化方法、装置、终端设备及可读存储介质与流程

文档序号:18398898发布日期:2019-08-09 23:40阅读:145来源:国知局
一种图像特征优化方法、装置、终端设备及可读存储介质与流程

本发明涉及计算机视觉技术领域,尤其涉及一种图像特征优化方法、装置、终端设备及计算机可读存储介质。



背景技术:

基于折反射全景图像的特征匹配在很多计算机视觉相关的任务中是很重要的一个步骤,例如图像拼接、目标识别及运动估计等。

ransac(randomsampleandconsensus)是一种应用广泛的消除误匹配方法。这种方法采用大量匹配特征点样本进行实验找到最适合的参数,并通过这些参数建立两幅图像间的转换矩阵。该矩阵一般描述平移、旋转及尺度等变换。利用转换矩阵,可以根据一个特征点在图像中的位置坐标来估计其匹配点的坐标,进而判断特征点匹配对是否正确。在折反射全景图像中,由于其投影关系较为复杂且存在成像畸变,因此在两幅图像中的特征点之间难以建立统一的转换矩阵。即ransac方法难以直接应用于未处理的折反射全景图像上,其一般需要先将全景图像展开后才能处理,但在全景图像的展开过程中,不仅会增加额外的计算量还会丢失部分图像信息。

因此现有专利cn106709942a,公开了一种基于特征方位角的全景图像误匹配消除方法,能够在不展开全景图像的情况下,消除误全景图像中误匹配的特征点对,但是其仍存在如下缺点:

1.需要预先知道全景相机的结构及设备参数(如反射镜的长短轴a、b及相机焦距f),才可以在图像中计算出horizon圆的位置;

2.现有专利cn106709942a,是根据两幅图像中horizon圆区域相应像素间灰度值的差异来确定相机的最优运动参数ρ、ψ和α的,而图像的像素灰度值容易受拍摄环境中光照亮度等因素的影响,导致上述相机运动参数的计算准确度受环境条件影响较大。



技术实现要素:

为解决上述两个问题,本发明实施例提供一种图像特征优化方法、装置、终端设备以及计算机可读存储介质,所述方法能在不知道全景相机的结构及设备参数的情况下,消除两全景图像中匹配错误的特征点对,且不易受环境条件的影响。

本发明一实施例提供一种图像特征优化方法,包括:

获取待检测特征点对;其中,所述待检测特征点对,包括从第一全景图像获取的第一特征点,以及从第二全景图像获得的第二特征点,所述第一全景图像和所述第二全景图像均基于同一现实场景生成;

根据摄像装置运动参数和所述第一特征点在所述第一全景图像的方位角实际值,计算所述第一特征点的实际匹配特征点在所述第二全景图像的方位角估算值;

计算所述方位角估算值与所述第二特征点在所述第二全景图像的方位角实际值的差值,若所述差值超过预设阈值,则判断所述待检测特征点对匹配错误并剔除;

其中,所述摄像装置运动参数的生成方法包括:

从所述现实场景中,获取至少三个特征点,分别为点a、b和c,并构建如下至少一组摄像装置运动方程:

其中,所述θc1、θc2、θc3分别为所述点a、b、c在所述第一全景图像中的方位角实际值,θh1、θh2、θh3分别为所述点a、b、c在所述第二全景图像中的方位角实际值,所述α为所述摄像装置从所述第二全景图像的拍摄位置,移动至所述第一全景图像的拍摄位置的平移运动的方向角,ψ为所述摄像装置在所述第一全景图像的拍摄位置时,相对与所述第二全景图像的拍摄位置的自身旋转角度,ρ1=d1/r1;ρ2=d2/r2;ρ3=d3/r3;d1、d2、d3,为所述第一全景图像的拍摄位置与第二全景图像的拍摄位置之间的距离;r1、r2、r3分别为所述点a、b、c与所述第二全景图像的拍摄位置的距离;

根据等距分布假设,将ρ1、ρ2、ρ3均作为ρ,继而根据(1)式可得,摄像装置运动参数表达式:

根据通过混合粒子群算法获得f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,获得到所述摄像装置运动参数。

进一步的,所述通过混合粒子群算法获得

f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,具体为:

初始化所述摄像装置运动参数,并进行粒子个体编码,获得若干粒子个体;其中,每一粒子个体采用实数编码方式进行编码,编码长度为3,每一所述粒子个体随机生成,用于表示一组参数解k1、k2、k3,且k1、k2、k3分别与所述摄像装置运动参数ρ、ψ、α,一一对应;

以f(ρ,ψ,α)为适应度函数,计算每一所述粒子个体的适应度值;

将所述粒子个体进行参数粒子交叉,及参数粒子变异后,获得最优个体粒子;其中,所述最优个体粒子为适应度值最小的个体粒子;

将所述最优个体粒子的参数解,作为所述摄像装置运动参数。

进一步的,所述摄像装置运动参数的生成方法还包括:

以三个特征点为一特征点组,从所述现实场景中获取多组特征点组;

根据每一所述特征点组,构建对应的摄像装置运动参数表达式,获得多项摄像装置运动参数表达式;

通过所述混合粒子群算法,获得每一摄像运动参数表达式取最小值时对应的ρ、ψ、α的取值;

分别计算所有ρ、所有ψ、所有α的离差平方和,获得作为所述摄像装置运动参数。

进一步的,通过以下公式计算所述第一特征点的实际匹配特征点在所述第二全景图像的方位角估算值:

其中,所述为所述第一特征点的实际匹配特征点在所述第二全景图像的方位角估算值,所述θc所述第一特征点在所述第一全景图像的方位角实际值。

在上述方法项实施例的基础上,本发明对应提供了装置项实施例;

本发明一实施例提供了一种图像特征优化装置,包括待检测特征点获取模块、方位角估算值计算模块和待检测特征点判断模块;其中,所述方位角估算值计算模块包括运动方程构建单元、运动参数表达式构建单元以及运动参数计算单元;

所述待检测特征点获取模块,用于获取待检测特征点对;其中,所述待检测特征点对,包括从第一全景图像获取的第一特征点,以及从第二全景图像获得的第二特征点,所述第一全景图像和所述第二全景图像均基于同一现实场景生成;

所述方位角估算值计算模块,用于根据摄像装置运动参数和所述第一特征点在所述第一全景图像的方位角实际值,计算所述第一特征点的实际匹配特征点在所述第二全景图像的方位角估算值;

所述待检测特征点判断模块,用于计算所述方位角估算值与所述第二特征点在所述第二全景图像的方位角实际值的差值,若所述差值超过预设阈值,则判断所述待检测特征点对匹配错误并剔除;

所述运动方程构建单元,用于从所述现实场景中,获取至少三个特征点,分别为点a、b和c,并构建如下至少一组摄像装置运动方程:

其中,所述θc1、θc2、θc3分别为所述点a、b、c在所述第一全景图像中的方位角实际值,θh1、θh2、θh3分别为所述点a、b、c在所述第二全景图像中的方位角实际值,所述α为所述摄像装置从所述第二全景图像的拍摄位置,移动至所述第一全景图像的拍摄位置的平移运动的方向角,ψ为所述摄像装置在所述第一全景图像的拍摄位置时,相对与所述第二全景图像的拍摄位置的自身旋转角度,ρ1=d1/r1;ρ2=d2/r2;ρ3=d3/r3;d1、d2、d3,为所述第一全景图像的拍摄位置与第二全景图像的拍摄位置之间的距离;r1、r2、r3分别为所述点a、b、c与所述第二全景图像的拍摄位置的距离;

所述运动参数表达式构建单元,用于根据等距分布假设,将ρ1、ρ2、ρ3均作为ρ,继而根据(1)式可得,摄像装置运动参数表达式:

所述运动参数计算单元,用于根据通过混合粒子群算法获得f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,获得到所述摄像装置运动参数。

在本发明方法项实施例的基础上提供了另一实施例;

本发明另一实施例提供了一种图像特征优化终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现本发明任意一项方法项实施例提供的图像特征优化方法。

在本发明方法项实施例的基础上提供了另一实施例;

本发明另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行本发明任意一项方法项实施例提供的图像特征优化方法。

通过实施本发明实施例具有如下有益效果:

本发明实施例提供了一种图像特征优化方法、装置、终端设备及计算机可读存储介质,所述方法通过从现实场景中,获取至少三个特征点,并构建出一组摄像装置运动方程,然后根据等距分布假设构建出摄像装置运动参数表达式,继而通过混合粒子群算法计算出摄像装置运动参数。最后根据摄像装置运动参数,和第一特征点在所述第一全景图像的方位角实际值,计算所述第一特征点的实际匹配特征点在所述第二全景图像的方位角估算值;再由得到的方位角的估算值与,第二特征点在第二全景图像的方位角实际值进行比对,最终判断出第一特征点和第二特征点是否匹配,并将不匹配的特征点剔除,实现图像的优化,对比与现有技术本发明提供的方法,在获取摄像装置运动参数的过程中,无需获悉摄像装置的结构及设备参数,更加的便捷,不受摄像装置的结构参数的影响。同时在整个过程中,并不需要根据两幅图像中horizon圆区域相应像素间灰度值的差异来确定相机的最优运动参数ρ、ψ和α的,避免了因图像的像素灰度值容易受拍摄环境中光照亮度等因素的影响,导致上述相机运动参数的计算准确度降低的问题。

附图说明

图1是本发明一实施例提供的一种图像特征优化方法的流程示意图。

图2是本发明一实施例提供的一种图像特征优化方法中摄像装置运动参数的生成方法的流程示意图。

图3是本发明一实施例提供的一种图像特征优化方法中,摄像装置运动的几何描述图。

图4是本发明一实施例提供的一种图像特征优化装置的结构示意图。

具体实施方式

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

如图1,本发明一实施例提供了一种图像特征优化方法的流程示意图,包括:

步骤s101、获取待检测特征点对;其中,待检测特征点对,包括从第一全景图像获取的第一特征点,以及从第二全景图像获得的第二特征点,第一全景图像和第二全景图像均基于同一现实场景生成。

步骤s102、根据摄像装置运动参数和第一特征点在第一全景图像的方位角实际值,计算第一特征点的实际匹配特征点在第二全景图像的方位角估算值。

步骤s103、计算方位角估算值与第二特征点在第二全景图像的方位角实际值的差值,若差值超过预设阈值,则判断待检测特征点对匹配错误并剔除。

对于步骤s101、在一个优选的实施例中,通过摄像装置在不同拍摄位置对同一现实场景进行拍摄可得到两张拍摄图像,即第一全景图像以及第二全景图像。紧接着从第一全景图像中选定一特征点,获得上述第一特征点,再从全景图像二中选定一特征点,获得上述第二特征点,最后组成一组待检测的特征点对。

优选的,可以通过特征提取算法(如sift等)从第一全景图像和第二全景图像中提取出一组待测的匹配特征点对。

在一个优选的实施例中,上述摄像装置为折反射全景相机,当然除全景相机外也可以为其余可获得折反射全景图像的摄像装置。

对于步骤s102、在一个优选的实施例中,上述摄像装置运动参数通过以下步骤获得,如图2所示,具体包括:

s201、从上述现实场景中,获取至少三个特征点,分别为点a、b和c,并构建如下一组摄像装置运动方程:

s202、根据等距分布假设,将ρ1、ρ2、ρ3均作为ρ,继而根据(1)式可得,摄像装置运动参数表达式:

s203:根据通过混合粒子群算法获得f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,获得到摄像装置运动参数(即摄像装置在第一全景图像的拍摄位置及第二全景图像的拍摄位置之间运动的运动参数)。

对于步骤s201、如图3所示,假设摄像装置的运动空间为一个平面,l为现实场景中的一个特征,c和h分别为两幅匹配全景图像ic(第一全景图像)和ih(第二全景图像)的拍摄位置,在这两个位置处的箭头方向分别为相机对应的正面朝向。θh为特征l在位置h处的方位角,θc为l在位置c处的方位角,α为相机平移运动的方向角(即摄像装置从第二全景图像的拍摄位置,移动至第一全景图像的拍摄位置的平移运动的方向角),ψ为相机自身旋转的角度(即摄像装置在第一全景图像的拍摄位置时,相对与第二全景图像的拍摄位置的自身旋转角度)。r为特征点l与位置h之间的距离,d为位置c与h之间的距离。首先,在三角形lhc中应用正弦定理可得:

令ρ=dr,重新整理可得:

sin(ψ+θc-θh)=ρsin(ψ+θc-α)(b)

在上述原理的基础上,假设现实场景中存在三个特征点a、b和c,这些特征点在图像ih中与相机正面朝向的夹角分别为θh1、θh2和θh3(即θh1、θh2、θh3分别为点a、b、c在第二全景图像中的方位角实际值),在图像ic中与相机新朝向的夹角分别为θc1、θc2和θc3(即θc1、θc2、θc3分别为点a、b、c在第一全景图像中的方位角实际值);将上述三对方位角分别代入式(b),可以得到如下相机运动方程:

ρ1=d1/r1;ρ2=d2/r2;ρ3=d3/r3;d1、d2、d3为所述第一全景图像的拍摄位置与第二全景图像的拍摄位置之间的距离,r1、r2、r3分别为点a、b、c与第二全景图像的拍摄位置的距离;

对于步骤s202、根据等距分布假设,可近似认为ρ1=ρ2=ρ3,所以此时直接,将ρ1、ρ2、ρ3均作为ρ、因此在式(1)中仅存在(ρ,ψ,α)三个未知数,最终代入(1)式可得,摄像装置运动参数表达式:

对于步骤s203、由于式(1)可能存在无解的情况,因此通过寻找f(ρ,ψ,α)最小值的方式对相机运动参数ρ、ψ和α进行估计,而本发明采用混合粒子群算法搜索f(ρ,ψ,α)的最小值。

在一个优选的实施例中,通过混合粒子群算法获得f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,具体为:

初始化摄像装置运动参数,并进行粒子个体编码,获得若干粒子个体;其中,每一粒子个体采用实数编码方式进行编码,编码长度为3,每一粒子个体随机生成,用于表示一组参数解k1、k2、k3,且k1、k2、k3分别与摄像装置运动参数ρ、ψ、α,一一对应;

以f(ρ,ψ,α)为适应度函数,计算每一粒子个体的适应度值;

将粒子个体进行参数粒子交叉,及参数粒子变异后,获得最优个体粒子;其中,最优个体粒子为适应度值最小的个体粒子;

将最优个体粒子的参数解,作为摄像装置运动参数。

详细的,以下对根据混合粒子群算法计算f(ρ,ψ,α)的最小值,进行进一步的描述:

首先是粒子个体编码:

粒子个体编码采用实数编码的方式,编码长度为3。初始时每个粒子随机生成,表示一组参数解k1,k2,k3,分别对应于ρ,ψ,α。在一个优选的实例中,ρ的取值区间为[0,1],ψ,α的取值区间为[-π,π]。初始种群规模选择大一些,尽量覆盖上述各参数的取值区间。

其次是计算适应度值:

选择f(ρ,ψ,α)作为适应度函数,每组参数对应的f(ρ,ψ,α)的值作为粒子适应度值。

再次是执行参数粒子交叉操作:

个体粒子通过和个体极值、群体极值交叉进行更新。交叉方法如下:首先在个体长度范围内随机产生一个区间,然后个体将上述区间内的编码变换为极值对应区间内的编码。对上述交叉操作得到的新个体采用优秀个体保留策略,即当新粒子的适应度优于旧粒子时才更新粒子个体。

最后是执行参数粒子变异操作:参数k1以及k2,k3采用不同的变异方式,对于k1,其变异方式为将当前值替换为[0,1]的随机数;对于k2,k3,变异方式为位置互换。每次采用何种变异方式由一个0或1的随机数决定。与交叉操作类似,在变异操作中仍然采用优秀个体保留策略。

在判断已将达到了预设的迭代次数后,输出最优个体粒子的参数解,获得上述摄像装置运动参数。

由于在实际情况中,可以提取到的匹配特征点的数量比较多,不仅仅是上述的三个特征点a、b、c因此在一个优选的实施例中:

摄像装置运动参数的生成方法还包括:

以三个特征点为一特征点组,从现实场景中获取多组特征点组;

根据每一特征点组,构建对应的摄像装置运动参数表达式,获得多项摄像装置运动参数表达式;

通过混合粒子群算法,获得每一摄像运动参数表达式取最小值时对应的ρ、ψ、α的取值;

分别计算所有ρ、所有ψ、所有α的离差平方和,获得作为摄像装置运动参数。

首先在获取多组特征点组后,通过上述混合粒子群算法可以得到多组解(ρ1,ψ1,α1)、(ρ2,ψ2,α2)…(ρn,ψn,αn)。此时可以通过计算离差平方和的方式得到参数ρ,ψ,α的最优估计值以参数ρ为例,定义离差平方和ρssd如下:

其中,n为参数解的组数,为在参数ρ的取值区间内变化的值。对进行穷尽搜索,其中离差平方和ρssd最小时对应的即为运动参数ρ的最优估计值参数的计算方法与相同,再此不再赘述。

在一个优选的实施例中,通过以下公式计算第一特征点的实际匹配特征点在第二全景图像的方位角估算值:

其中,为第一特征点的实际匹配特征点在第二全景图像的方位角估算值,θc为第一特征点在第一全景图像的方位角实际值。

对于步骤s103、在一个优选的实施例中,设定判断阈值θt,若方位角估算值,与第二特征点在第二全景图像的方位角实际值的差值的绝对值小于θt,则认为特征匹配正确即待检测特征点对匹配,否则判断待检测特征点对匹配错误并剔除。

在上述方法项实施例的基础上对应提供了装置项实施例;

本发明一实施例提供了一种图像特征优化装置,包括待检测特征点获取模块410、方位角估算值计算模块420和待检测特征点判断模块430;其中,方位角估算值计算模块包括运动方程构建单元421、运动参数表达式构建单元422以及运动参数计算单元423;

待检测特征点获取模块410,用于获取待检测特征点对;其中,待检测特征点对,包括从第一全景图像获取的第一特征点,以及从第二全景图像获得的第二特征点,第一全景图像和第二全景图像均基于同一现实场景生成;

方位角估算值计算模块420,用于根据摄像装置运动参数和第一特征点在第一全景图像的方位角实际值,计算第一特征点的实际匹配特征点在第二全景图像的方位角估算值;

待检测特征点判断模块430,用于计算方位角估算值与第二特征点在第二全景图像的方位角实际值的差值,若差值超过预设阈值,则判断待检测特征点对匹配错误并剔除;

运动方程构建单元421,用于从现实场景中,获取至少三个特征点,分别为点a、b和c,并构建如下至少一组摄像装置运动方程:

其中,θc1、θc2、θc3分别为点a、b、c在第一全景图像中的方位角实际值,λh1、λh2、λh3分别为点a、b、c在第二全景图像中的方位角实际值,α为摄像装置从第二全景图像的拍摄位置,移动至第一全景图像的拍摄位置的平移运动的方向角,ψ为摄像装置在第一全景图像的拍摄位置时,相对与第二全景图像的拍摄位置的自身旋转角度,ρ1=d1/r1;ρ2=d2/r2;ρ3=d3/r3;d1、d2、d3为所述第一全景图像的拍摄位置与第二全景图像的拍摄位置之间的距离,r1、r2、r3分别为点a、b、c与第二全景图像的拍摄位置的距离;

运动参数表达式构建单元422,用于根据等距分布假设,将ρ1、ρ2、ρ3均作为ρ,继而根据(1)式可得,摄像装置运动参数表达式:

运动参数计算单元423,用于根据通过混合粒子群算法获得f(ρ,ψ,α)取最小值时对应的ρ、ψ、α的值,获得到摄像装置运动参数。

需要说明的是,上述装置项实施例,可以实现本发明任意一项方法项实施例所提供的图像特征优化方法。

在上述方法项实施例的基础上,提供了另一实施例:

本发明另一实施例提供了一种图像特征优化终端设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现本发明任意一项方法项实施例提供的图像特征优化方法。

在上述方法项实施例的基础上,提供了另一实施例:

本发明另一实施例提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行本发明任意一项方法项实施例提供的图像特征优化方法。

通过实施本发明实施例具有如下有益效果:

本发明实施例提供了一种图像特征优化方法、装置、终端设备及计算机可读存储介质,方法通过从现实场景中,获取至少三个特征点,并构建出一组摄像装置运动方程,然后根据等距分布假设构建出摄像装置运动参数表达式,继而通过混合粒子群算法计算出摄像装置运动参数。最后根据摄像装置运动参数,和第一特征点在第一全景图像的方位角实际值,计算第一特征点的实际匹配特征点在第二全景图像的方位角估算值;再由得到的方位角的估算值与,第二特征点在第二全景图像的方位角实际值进行比对,最终判断出第一特征点和第二特征点是否匹配,并将不匹配的特征点剔除,实现图像的优化,对比与现有技术本发明提供的方法,在获取摄像装置运动参数的过程中,无需获悉摄像装置的结构及设备参数,更加的便捷,不受摄像装置的结构参数的影响。同时在整个过程中,并不需要根据两幅图像中horizon圆区域相应像素间灰度值的差异来确定相机的最优运动参数、ρ、ψ和α的,避免了因图像的像素灰度值容易受拍摄环境中光照亮度等因素的影响,导致上述相机运动参数的计算准确度降低的问题。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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