一种特征点匹配方法、装置、设备及存储介质与流程

文档序号:18304032发布日期:2019-07-31 10:40阅读:198来源:国知局
一种特征点匹配方法、装置、设备及存储介质与流程

本发明实施例涉及计算机视觉技术,尤其涉及一种特征点匹配方法、装置、设备及存储介质。



背景技术:

特征点匹配是计算机视觉领域中的基础部分,其可为物体识别、目标跟踪和三维重建等计算机视觉领域中的具体应用提供数据支持。所谓特征点匹配指的是找出需要配准的两帧图像之间正确匹配的特征点,两帧图像之间匹配的特征点组成特征点对。

现有技术中,可采用光流追踪法进行特征点匹配,基于光流追踪的特征点匹配通常包括光流追踪和剔除误匹配特征点对两个环节。但是,在快速运动情形下,由于相机拍摄易得到比较模糊的图像,因此,根据比较模糊的图像进行光流追踪,将使得光流追踪的准确度下降,即使得出现误匹配特征点对的几率增大。后续在执行剔除误匹配特征点对操作时,可能导致很大一部分特征点对被确定为误匹配特征点对而剔除。而这些误匹配特征点对中可能存在非真实的误匹配特征点对,所谓非真实的误匹配特征点对实际上是正确匹配特征点对。

然而,现有技术中至少存在如下问题:可能出现非真实的误匹配特征点对被误剔除,而导致剩余的正确匹配特征点对的数量过少的情况,上述情况将无法满足具体应用的要求,进而对具体应用的实际效果产生不利影响。



技术实现要素:

本发明实施例提供一种特征点匹配方法、装置、设备及存储介质,以提高基于特征点匹配具体应用的实际效果。

第一方面,本发明实施例提供了一种特征点匹配方法,该方法包括:

获取当前帧图像的特征点;

对所述当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将所述当前帧图像的特征点和所述下一帧图像的特征点组成特征点对;

根据所述特征点对,确定匹配约束条件,并将不满足所述匹配约束条件的特征点对作为待匹配特征点对;

根据所述待匹配特征点对的属性特征和所述匹配约束条件,对所述待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足所述匹配约束条件,并将所述调整后的待匹配特征点对作为匹配特征点对。

第二方面,本发明实施例还提供了一种特征点匹配装置,该装置包括:

当前帧图像的特征点获取模块,用于获取当前帧图像的特征点;

匹配特征点对确定模块,用于对所述当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将所述当前帧图像的特征点和所述下一帧图像的特征点组成特征点对;

匹配约束条件确定模块,用于根据所述特征点对,确定匹配约束条件,并将不满足所述匹配约束条件的特征点对作为待匹配特征点对;

待匹配特征点对的位置调整模块,用于根据所述待匹配特征点对的属性特征和所述匹配约束条件,对所述待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足所述匹配约束条件,并将所述调整后的待匹配特征点对作为匹配特征点对。

第三方面,本发明实施例还提供了一种设备,该设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例第一方面所述的方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面所述的方法。

本发明实施例在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。

附图说明

图1是本发明实施例中的一种光流示意图;

图2是本发明实施例中的一种特征点匹配方法的流程图;

图3是本发明实施例中的一种坐标系示意图;

图4是本发明实施例中的一种对极几何约束约束的示意图;

图5是本发明实施例中的一种匹配点位于对极线上的示意图;

图6是本发明实施例中的一种射影映射约束条件的示意图;

图7是本发明实施例中的一种待匹配特征点对的确定过程的示意图;

图8是本发明实施例中的一种待匹配特征点对的位置调整的示意图;

图9是本发明实施例中的另一种待匹配特征点对的位置调整的示意图;

图10是本发明实施例中的一种补充的匹配特征点对确定过程的示意图;

图11是本发明实施例中的另一种特征点匹配方法的流程图;

图12是本发明实施例中的再一种特征点匹配方法的流程图;

图13是本发明实施例中的又一种特征点匹配方法的流程图;

图14是本发明实施例中的又一种特征点匹配方法的流程图;

图15是本发明实施例中的一种特征点匹配装置的结构示意图;

图16是本发明实施例中的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

光流追踪是将三维空间中的目标对象投影到二维图像平面上的运动,这种在时间维度上表现为两帧图像之间特征匹配的运动称之为光流。光流本质是估计目标对象投影在二维图像上的像素点在不同时刻图像中的运动。对于整帧图像,附加一个运动参数给每一个像素点,这样在二维图像平面上就可以得到相邻两帧图像中像素点的位移。在计算光流过程中,由于可以认为二维图像平面上的像素点是三维空间中目标对象在平面的投影,并且是一一对应的,因此,可以通过分析在二维图像平面上投影的像素点的运动矢量来分析目标对象的运动,进而确定目标对象的位置,实现对目标对象的跟踪。如图1所示,给出了一种光流示意图。图1中按照时间先后顺序给出了三帧图像,从左到右依次称为第一帧图像、第二帧图像和第三帧图像,第一帧图像和第二帧图像为相邻两帧图像,同样,第二帧图像和第三帧图像也为相邻两帧图像。图1中第一帧图像的某个像素点的像素值为ψ(x,y,t),经过时间dt后,该像素点在第二帧图像的像素值为ψ(x+dx,y+dy,t+dt),光流指的是通过计算光流,确定像素点在第二帧图像中的位置。

在进行特征点匹配时,可以采用基于光流追踪的特征点匹配方法,基于光流追踪的特征点匹配方法的基本原理是:其通常包括光流追踪和剔除误匹配特征点对两个环节。针对光流追踪环节,存在相邻两帧图像,分别称为当前帧图像和下一帧图像,获取当前帧图像的特征点,再根据光流追踪确定当前帧图像的特征点在下一帧图像中出现的位置,将位置处对应的像素点作为下一帧图像的特征点,下一帧图像的特征点即为与当前帧图像的特征点匹配的点,上述当前帧图像的特征点与下一帧图像的特征点组成特征点对。其中,根据光流追踪确定当前帧图像的特征点在下一帧图像中出现的位置,具体是通过计算当前帧图像的特征点在当前帧图像与下一帧图像产生的光流,这里光流可以理解为位移。上述光流追踪环节实际采用的是稀疏光流追踪法,这是由于稀疏光流追踪法是一种基于特征点的追踪方法。针对剔除误匹配特征点对环节,即对特征点对进行匹配检测,将无法通过匹配检测的特征点对作为误匹配特征点对并剔除。

在快速运动情形下,由于相机拍摄易得到比较模糊的图像,因此,根据比较模糊的图像进行光流追踪,将使得光流追踪的准确度下降,即使得出现误匹配特征点对的几率增大。后续在执行剔除误匹配特征点对操作时,可能导致很大一部分特征点对被确定为误匹配特征点对而剔除。而这些误匹配特征点对中可能存在非真实的误匹配特征点对,所谓非真实的误匹配特征点对实际上是正确匹配特征点对。上述可能出现非真实的误匹配特征点对被误剔除,而导致剩余的正确匹配特征点对的数量过少的情况,该情况将无法满足具体应用(如物体识别、目标跟踪和三维重建)的要求,进而对具体应用的实际效果产生不利影响。

基于上述,需要增加匹配特征点的数量,以满足基于特征点匹配具体应用的要求,进而提高基于特征点匹配具体应用的实际效果。可以理解到,如何增加匹配特征点对的数量,成为问题的关键。下面将通过具体实施例进行说明。

图2为本发明实施例提供的一种特征点匹配方法的流程图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该方法可以由特征点匹配采样装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图2所示,该方法具体包括如下步骤:

步骤110、获取当前帧图像的特征点。

在本发明的实施例中,当前帧图像是连续的图像序列中的某一帧图像,其中,图像序列可以是由视频形成的图像序列,也可以是由gif(graphicsinterchangeformat,图像互换格式)动画形成的图像序列。

在连续的图像序列中,由于目标对象在各帧图像中的位置是变化的,因此,寻找能够反映上述变化的目标对象的不变特征的像素点或像素块就显得尤为重要,其中,像素块为由像素点形成的区域。同时,可将上述能够反映上述变化的目标对象的不变特征的像素点或像素块称为特征点。可以理解到,特征点是可以反映目标对象的不变特征。特征点通常是出现在图像中拐角或者纹理剧烈变化等位置的像素点或像素块。特征点的具体表现形式可以包括角点和斑点等。其中,角点就是极值点,即在某方面属性特别突出的点,其可以是两条线的交点、线段的终点或者曲线上局部曲率最大的点等。斑点是指图像中与周围的像素点在颜色和灰度值上差别的像素块。下面以特征点的具体表现形式为角点为例,对获取当前帧图像的特征点进行说明,具体的:

通常角点提取方法可以包括fast(featuresfromacceleratedsegmenttest)算法、harris算法和sift(scaleinvariantfeaturetransform,尺度不变特征变换)算法等。其中,fast算法的基本思想是:如果一个像素点的像素值与周围邻域的像素点的像素值的差别较大(过亮或者过暗),则可以认为该像素点是角点(即特征点)。harris算法的基本思想是:如果一个像素点的harris算子在某个局部区域为极值,且大于设定的阈值,则可以认为该像素点为角点(即特征点)。sift算法的基本思想是:将高斯差分金字塔中某一层中的某个像素点的像素值,与同一层该像素点的领域内的8个像素点以及该层上下两层各9个像素点的像素值进行比较,如果该像素点的像素值大于或者小于上述26个像素点的像素值,则可以认为该像素点为角点(即特征点)。

需要说明的是,可根据实际情况选择特征点的具体表现形式,以及,具体特征点提取方法,在此不作具体限定。

步骤120、对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

在本发明的实施例中,根据前文所述可知,对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点中的光流追踪为稀疏光流追踪,即采用稀疏光流追踪法,根据当前帧图像的特征点,得到下一帧图像的特征点。稀疏光流追踪法具有计算量小、处理速度快和光流计算精确等特点,适合于对实时性能要求高的系统。稀疏光流追踪法可以包括lk(lucas-kanade)光流法和金字塔lk光流法。其中,金字塔lk光流法为当前主流方法,下面以金字塔lk光流法为例,针对如何对当前帧图像的特征点进行关流追踪,以确定下一帧图像的特征点进行说明,具体的:

根据亮度恒定和连续的小运动的假设可以得到经典的光流约束方程,即ψxω+ψyσ+ψt=0,其中,ψx和ψy表示图像的偏导数,ψt表示图像随时间的导数;ω和σ分别表示x和y方向的速度,即运动参数。可以理解到,光流约束方程为二元一次方程,对任意像素点均包括两个未知量,只能得到运动参数的部分方向信息。为了确定ω和σ,金字塔lk光流法给出了另一个假设,即空间一致,所谓空间一致指的是单个像素点附近的一个邻域内的所有像素点的运动参数是一样的。在此基础上,可以利用该特征点周围某个区域内的像素点,建立方程组,并运用最小二乘的思想求解方程:(ata)d=atb,其中,a表示包含ω和σ的系数矩阵,at表示a转置矩阵;d表示包含ω和σ的速度矩阵;b表示包含ψt的矩阵。ata可逆时,图像中的纹理区域至少包含两个方向,就可以得到方程组的定解。可以理解到,由于得到方程组的解即为得到当前帧图像的某个像素点的运动参数的全部信息,因此,可以根据该像素点的运动参数确定该像素点在下一帧图像中的位置,位置处所对应的像素点即为与当前帧图像的该像素点匹配的点。

针对本发明实施例所提供的技术方案来说,上述所述的当前帧图像的某个像素点指的是当前帧图像的某个特征点,相应的,位置处所对应的像素点即为与当前帧图像的该像素点匹配的点指的是位置处所对应的像素点即为与当前帧图像的该特征点匹配的特征点。基于上述,针对当前帧图像的某个特征点来说,对其进行光流追踪,便得到了该特征点在下一帧图像中与之匹配的特征点,即得到下一帧图像的特征点。当前帧图像的所有特征点均可以通过上述操作得到下一帧图像中与之匹配的特征点。

在得到下一帧图像的特征点后,便可以将当前帧图像的特征点与下一帧图像的特征点组成特征点对。可以理解到,由于当前帧图像的特征点为至少一个,因此,特征点对的数量为至少一个。对于当前帧图像的每个特征点,得到该特征点在下一帧图像中与之匹配的特征点,当前帧图像的该特征点与下一帧图像中与该特征点匹配的特征点组成一个特征点对。

步骤130、根据特征点对,确定匹配约束条件,并将不满足匹配约束条件的特征点对作为待匹配特征点对。

在本发明的实施例中,由于可能存在误匹配特征点对的情况,而误匹配特征点对的存在将对后续具体应用(如物体识别、目标追踪或三维重建等)的实际效果产生不利影响,因此,在确定出特征点对后,需要进一步确定特征点对是否为误匹配特征点对。为了确定特征点对是否为正确匹配的特征点对,可考虑采用匹配约束条件对特征点对进行匹配检测的方式,具体的:

可将匹配约束条件作为确定特征点对是否匹配的依据,即如果特征点对满足匹配约束条件,则可认为特征点对为正确匹配的特征点对;如果特征点对不满足匹配约束条件,则可认为特征点对为误匹配特征点对。为了实现可根据匹配约束条件确定特征点对是否为误匹配特征点对,需要先确定匹配约束条件。匹配约束条件可通过如下方式确定:基于已形成的特征点对,确定匹配约束条件。由于基于光流追踪进行特征点匹配时,利用的是相邻两帧图像中各个特征点的位置,因此,在考虑匹配约束条件时,也可从位置是否匹配角度构建匹配约束条件的具体形式,上述位置是否匹配可以理解为一种从几何方面考虑的匹配,即是否具有几何一致性。基于上述,匹配约束条件可以为能够体现几何一致性的匹配约束条件。匹配约束条件可以为对极几何约束条件或射影映射约束条件等,其中,对极几何约束条件可以为由基本矩阵确定的约束条件或由本质矩阵确定的约束条件,射影映射约束条件可以为由单应矩阵确定的约束条件。为了更好的理解上述所述的涉及匹配约束条件的相关内容,下面首先对相关基本概念进行说明,具体的:

为了描述匹配约束条件,首先给出计算机视觉中常用的四个坐标系,即世界坐标系、相机坐标系、像素坐标系和图像坐标系(即物理坐标系)。如图3所示,给出了一种坐标系示意图。图3中ow-xwywzw表示世界坐标系;oc-xcyczc表示相机坐标系;o0-uv表示像素坐标系;o1-xy表示图像坐标系。其中,像素坐标系和图像坐标系均位于图像平面内。q为世界坐标系中的一点,其坐标为q(xw,yw,zw),q为点q在图像平面的投影点,其在图像坐标系中的坐标为q(x,y),在像素坐标系中的点为q(u,v)。

相机坐标系以相机光心oc为坐标原点,zc轴与相机光轴重合,也即zc轴与图像平面垂直,xc轴和yc轴分别与像素坐标系中u轴和v轴平行,以及,分别与图像坐标系中x轴和y轴平行。f表示相机焦距。像素坐标系中坐标原点o0位于图像左上角。图像坐标系中坐标原点o1为相机光轴(即相机坐标系中zc轴)与图像坐标系的交点,称为图像的主点,该点通常位于图像中心处。相机焦距f等于oc与o1之间的距离,即f=|oc-o1|。四个坐标系之间的变换关系如下:

其一、世界坐标系与相机坐标系之间的变换。世界坐标系到相机坐标系之间的变换属于刚体变换,即目标对象不会发生形变,只需进行旋转变换和平移变换。其中,旋转变换用旋转矩阵r表示,旋转矩阵r为3×3矩阵,平移变换用平移向量t表示,平移向量t为3×1向量。基于上述,两个坐标系之间的变换关系如下:

其二、相机坐标系与图像坐标系之间的变换。相机坐标系到图像坐标系之间的变换属于透视投影变换。两个坐标系之间的变换关系如下:

其三、图像坐标系与像素坐标系之间的变换。图像坐标系到像素坐标系之间的变换是伸缩变换和平移变换,无旋转变换。设图像坐标系中坐标原点o1在像素坐标系中的坐标为o1(u0,v0),则两个坐标系变换关系如下:

基于上述,其中,表示相机内参,表示相机外参。表示投影矩阵,可用p表示投影矩阵,即则zcm=pm。

基于上述,下面再对匹配约束条件涉及的对极几何约束条件和射影映射约束条件进行说明。对极几何指的是同一三维场景在两个不同视角在得到的两帧图像之间的几何关系,它独立于场景结构,只与相机的内参和外参有关。两帧图像可以是由两个相机在不同位置同时采集的图像,也可以是同一相机顺序采集的,如相机相对场景移动。通常,同一世界坐标系下的同一目标对象的图像之间存在一种几何上的对极几何约束,可以利用特征点匹配来确定这种对极几何约束,此外,也可以利用这种对极几何约束来约束匹配。如图4所示,给出了一种对极几何约束约束的示意图。图4中假设两个相机的光心分别为c和c′,两个相机采集的图像分别为第一图像和第二图像,图像平面分别为i和i′,第一图像位于图像平面i上,第二图像位于图像平面i′上。q为三维空间任意一点,空间点q在图像平面i上的投影点为q(即空间点q在第一图像上的投影点为q),空间点q在图像平面i'上的投影点为q'(即空间点q在第二图像上的投影点为q′),投影点q和投影点q是一个匹配对。直线cc′为基线,空间点q与两个光心c和c形成的平面π为对极平面。基线cc'与图像平面的交点为对极点,即基线cc'与图像平面i的交点为对极点e,基线cc'与图像平面i'的交点为对极点e'。对极平面π与图像平面的交线为对极线,即对极平面π与图像平面i的交线为对极线lq,对极平面π与图像平面i'的交线为对极线l'q。

需要说明的是,对于第一图像上的投影点q来说,其在第二图像上的匹配点(即投影点q′)将被限制于投影点q对应的对极线l'q上。上述成立的原因在于:第一图像上的投影点q反向投影成三维空间的一条射线,该射线由相机光心c和第一图像的投影点q确定,该射线在第二图像上的投影为对极线l'q。由于空间点q在第二图像上的投影点为投影点q′,空间点q在该射线上,因此,第二图像上的投影点q′位于对极线l'q上。由于在第二图像上与第一图像上的投影点q匹配的点为投影点q',因此,对于第一图像上的投影点q来说,其在第二图像上的匹配点(即投影点q')将被限制于投影点q对应的对极线l'q上。具体可参见图5,图5给出了一种匹配点位于对极线上的示意图。同理,对于第二图像上的投影点q′来说,其在第一图像上的匹配点(即投影点q)将被限制于投影点q'对应的对极线lq上。简而言之,对极线lq上每一点在第二图像上的匹配点位于对极线l'q上,对极线l'q上每一点在第一图像上的匹配点位于对极线lq上。

在此基础上,对极几何约束条件可以体现如下性质:对于第一图像上的某点,该点在第二图像中的匹配点位于与该点对应的第二图像中的对极线上;对于第二图像上的某点,该点在第一图像中的匹配点位于与该点对应的第一图像中的对极线上。

对极几何约束条件可以由基本矩阵代数表示,即基本矩阵是对极几何约束条件的代数描述。基本矩阵可用f表示,基本矩阵f=[e']×(p'p+),其中,p表示光心c的相机在第一图像的投影矩阵,p'表示光心c'的相机在第二图像的投影矩阵,p+是p的伪逆;e'表示第二图像上的对极点,[e']×表示对极点e′的反对称矩阵。根据前文所述可知,由于投影矩阵是关于相机内参和相机外参的矩阵,可以理解到,因此,基本矩阵f也是关于相机内参和相机外参的矩阵。对于第一图像上的点x,其在第二图像中的匹配点位于与该点对应的第二图像中的对极线上;对于第二图像上的点x′,其在第一图像中的匹配点位于与该点对应的第一图像中的对极线上,由此可以得出基本矩阵f满足如下关系式:x'tfx=0。基本矩阵f具有如下性质:其一、基本矩阵f为秩为2,自由度为7的3×3齐次矩阵;其二、如果点x和点x'是匹配对,则x'tfx=0;其三、l'=fx是对应于点x的对极线,对极线l'位于第二图像,l=ftx'是对应于点x'的对极线,对极线l位于第一图像;其四、fe=0,fte'=0,e表示第一图像上的对极点,e′表示第二图像上的对极点。

本质矩阵是归一化图像坐标下的一种特殊的基本矩阵,本质矩阵可以用e表示,本质矩阵e=[t]×r,其中,r表示旋转矩阵,t表示平移向量,[t]×表示平移向量t的反对称矩阵。由于旋转矩阵和平移向量为相机外参,因此,本质矩阵e是关于相机外参的矩阵。由于本质矩阵e是一种特殊的基本矩阵f,因此,本质矩阵e同样具有如下性质:其一、如果点x和点x'是匹配对,则x'tex=0;其二、l'=ex是对应于点x的对极线,对极线l'位于第二图像,l=etx'是对应于点x'的对极线,对极线l位于第一图像;其三、ee=0,ete'=0,e表示第一图像上的对极点,e'表示第二图像上的对极点。此外,本质矩阵e是一个秩为2,自由度为5的3×3齐次矩阵。

射影映射约束条件可以为由单应矩阵确定的约束条件,单应矩阵表示的是同一个平面的点在不同图像之间的映射关系。单应矩阵可用h表示,单应矩阵其中,k表示相机内参矩阵,r表示旋转矩阵,t表示平移向量,关于n和d作如下解释:如图6所示,给出了一种射影映射约束条件的示意图,图6中平面j在光心c的相机下的单位法向量为n,光心c到平面j的距离为d。可以理解到,单应矩阵h是关于相机内参和相机外参的矩阵。单应矩阵h具有如下性质:其一、单应矩阵h是一个自由度为8的3×3齐次矩阵;其二、如果第一图像上的点x与第二图像中的点x′为一个匹配对,则x=hx′。

基于上述,针对基本矩阵f所具有的性质x'tfx=0可作如下理解:其具体可以起到两个作用。作用一、可用于作为确定某两个点是否为匹配对的依据。即如果点x和点x'是匹配对,则满足x'tfx=0。换句话说,如果点x和点x'满足x'tfx=0,则可以确定点x和点x'是一个匹配对。作用二、x'tfx=0给出了一种计算基本矩阵f的方式。即如果匹配对为已知量,则x'tfx=0是一个以对应对为已知量,以基本矩阵f为未知量的线性方程,可根据对应对,确定基本矩阵f。由于本质矩阵e是一种特殊的基本矩阵f,因此,针对本质矩阵e所具有的性质x'tex=0可作同样理解。此外,针对单应矩阵h所具有的性质x=hx'也可作同样理解。

由于匹配约束条件可以包括对极几何约束条件或射影映射约束条件,对极几何约束条件可以为由基本矩阵确定的约束条件或由本质矩阵确定的约束条件,射影映射约束条件可以为由单应矩阵确定的约束条件,因此,上述所述的基本矩阵、本质矩阵或单应矩阵具有的性质可以起到作用即为匹配约束条件可以起到的作用。即可以根据对应对,确定匹配约束条件。在确定匹配约束条件后,后续可将匹配约束条件作为确定某两个点是否为一个匹配对的依据。

针对本发明实施例所提供的技术方案来说,对应对可以指由当前帧图像的特征点与下一帧图像的特征点所组成的特征点对,匹配对可以指匹配特征点对。相应的,根据对应对,确定匹配约束条件即为根据特征点对,确定匹配约束条件。匹配约束条件可用于作为确定两点是否为匹配对的依据即为匹配约束条件可用于作为确定特征点对是否为匹配特征点对的依据。

根据特征点对,确定匹配约束条件,可作如下理解:

首先,根据前文所述可知,由于基本矩阵为具有7个自由度的矩阵,本质矩阵为具有5个自由度的矩阵,单应矩阵为具有8个自由度的矩阵,因此,无论匹配约束条件是采用由基本矩阵确定的对极几何约束条件,还是由本质矩阵确定的对极几何约束条件,又或是由单应矩阵确定的射影映射约束条件,均可选择不采用全部特征点对而只采用部分特征点对的方式来确定匹配约束条件。

其次,对极几何约束条件可以为由基本矩阵确定的约束条件,也可以为由本质矩阵确定的约束条件,确定对极几何约束条件即可以理解为确定基本矩阵或本质矩阵。在确定基本矩阵或本质矩阵后,将基本矩阵所具有的性质或本质矩阵所具有的性质作为对极几何约束条件,即如果对极几何约束条件为由基本矩阵确定的约束条件,则将基本矩阵所具有的性质x'tfx=0作为对极几何约束条件;如果对极几何约束条件为由本质矩阵确定的约束条件,则将本质矩阵所具有的性质x'tex=0作为对极几何约束条件。射影映射约束条件可以为由单应矩阵确定的约束条件,确定对极几何约束条件即可理解为确定单应矩阵,在确定单应矩阵后,将单应矩阵所具有的性质x=hx′作为对极几何约束条件。

最后,可采用随机采样一致性法、点数法、最小平方中值法和聚类方法等,根据特征点对,确定匹配约束条件。点数法的基本原理为根据匹配约束条件所对应的自由度,选择与自由度对应的特征点对,确定匹配约束条件的方法。点数法具体可以包括针对基本矩阵的7点算法和8点算法,还可以包括针对本质矩阵的5点算法,以及,针对单应矩阵的8点算法。随机采样一致性法的基本思想是在全部特征点对中随机选择可以得到匹配约束条件最少的特征点对,计算匹配约束条件,剩余特征点对用来支持匹配约束条件。随机上述过程,将匹配约束条件支持最多特征点对的匹配约束条件作为最终的匹配约束条件。需要说明的是,具体可根据实际情况选择确定匹配约束条件的方法,在此不作具体限定。

根据前文所述可知,在得到匹配约束条件后,可以根据匹配约束条件确定特征点对是否为待匹配特征点对,待匹配特征点对为不满足匹配约束条件的特征点对。即如果特征点对不满足匹配约束条件,则确定该特征点对为待匹配特征点对;如果特征点对满足匹配约束条件,则确定该特征点对不为待匹配特征点对。此外,这里可将不为待匹配特征点对的特征点对称为匹配特征点对,即将满足匹配约束条件的特征点对作为匹配特征点对。

上述可根据匹配约束条件确定待匹配特征点对的原因在于:基于前文所述的匹配约束条件可用于作为确定特征点对是否为匹配特征点对的依据,由于匹配特征点对和待匹配特征点对是相对的,因此,上述匹配约束条件可用于作为确定特征点对是否为匹配特征点对的依据即等价于匹配约束条件可用于作为确定特征点对是否为待匹配特征点对的依据。

可以理解到,由于需要根据匹配约束条件确定待匹配特征点对,换句话说,匹配约束条件的准确性将影响匹配特征点对的数量,而匹配特征点对的数量将影响前文所述的实际应用的效果,因此,在考虑采用何种方法根据特征点对,确定匹配特征点对时,除了考虑具体实际情况外,还需要考虑方法本身所具有的性能,以提高匹配约束条件的准确性。

步骤140、根据待匹配特征点对的属性特性和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

在本发明的实施例中,基于光流追踪的特征点匹配通常包括光流追踪和剔除误匹配特征点对两个环节。由于匹配约束条件可用于作为确定特征点对是否为匹配特征点对的依据,因此,可采用特征点对是否满足匹配约束条件的方式执行剔除误匹配特征点对的操作,即如果特征点对不满足匹配约束条件,则确定该特征点对为误匹配特征点对,并剔除误匹配特征点对。在快速运动情形下,由于相机拍摄易得到比较模糊的图像,因此,根据比较模糊的图像进行光流追踪,将使得光流追踪的准确度下降,即使得出现误匹配特征点对的几率增大。根据前文所述光流追踪法可知,上述光流追踪的准确度下降的原因在于:

在上述情形下,根据光流追踪确定的特征点的位置不够准确,这里所述的特征点的位置主要指下一帧图像的特征点的位置,上述所述的特征点的位置不够准确,使得光流追踪的准确度下降。后续在执行剔除误匹配特征点对操作时,可能将导致很大一部分特征点对由于不满足匹配约束条件而被确定为误匹配特征点对,进而上述误匹配特征点对将被剔除。而这些误匹配特征点对中可能存在非真实的误匹配特征点对,所谓非真实的误匹配特征点对实际上是正确匹配特征点对,只是由于特征点的位置不够准确而被误认为是误匹配特征点对。相应的,还存在真实的误匹配特征点对,所谓真实的误匹配特征点对即为明确的错误匹配的特征点对。需要说明的是,如果误匹配特征点对为非真实的误匹配特征点对,则可以通过调整其位置的方式使其满足匹配约束条件,成为匹配特征点对;如果误匹配特征点对真实的误匹配特征点对,则无法通过调整其位置的方式使其满足匹配约束条件,成为匹配特征点对。传统技术中,便将剔除误匹配特征点对后剩余特征点对作为当前相邻两帧图像的特征点匹配结果,上述剩余特征点对为正确匹配特征点对。接下来再对下一相邻两帧图像进行特征点匹配以及剔除误匹配特征点对操作。可以理解到,由于已将非真实的误匹配特征点对作为误匹配特征点对而剔除,因此,上述剩余特征点对将不包括上述非真实的误匹配特征点对。上述可能出现剩余的匹配特征点对的数量过少的情况,该情况将无法满足具体应用的要求,进而对具体应用的实际效果。

基于上述,需要增加匹配特征点对的数量,为了增加匹配特征点对的数量,可从如下方面考虑,具体的:根据前文针对非真实的误匹配特征点对的说明,即非真实的误匹配特征点对可以通过调整其位置的方式使其满足匹配约束条件而成为匹配特征点,由于非真实的误匹配特征点对可能成为匹配特征点对,因此,可考虑在执行完剔除误匹配特征点的操作后,增加对误匹配特征点对的位置进行调整的操作,使其调整后满足匹配约束条件,成为匹配特征点对,进而实现增加匹配特征点对的数量。可以理解到,上述可以通过位置调整成为匹配特征点对的误匹配特征点对通常为非真实的误匹配特征点对,即上述调整位置的方式对非真实的误匹配特征点对有效,而可能对真实的误匹配特征点无效。换句话说,增加的匹配特征点对的数量来源于非真实的误匹配特征点对。需要说明的是,由于无法预先确定误匹配特征点对中哪些是非真实的误匹配特征点对,哪些是真实的误匹配特征点对,因此,采用的是对所有被确定为误匹配特征点均调整其位置的方式。

针对本发明实施例提供的技术方案来说,上述误匹配特征点对即为步骤130中所述的待匹配特征点对。基于上述,在获取待匹配特征点对后,具体可通过如下方式调整待匹配特征点对的位置,以增加匹配特征点对的数量,具体的:

根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。其中,待匹配特征点对的属性特征可用于作为调整待匹配特征点对的依据,待匹配特征点对的属性特征可以包括待匹配特征点对的位置和待匹配特征点对的像素值。上述可根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以得到满足匹配约束条件的调整后的待匹配特征点对的原因在于:

根据前文所述可知,匹配约束条件可用于作为确定特征点对是否为匹配特征点对的依据,即匹配特征点对满足匹配约束条件,换句话说,特征点成为匹配特征点需要满足该特征点对满足匹配约束条件这一条件。上述匹配约束条件可以理解为正确匹配信息,这是由于匹配约束条件是基于匹配特征点对生成的。基于上述,将匹配约束条件作为调整条件之一,即在满足匹配约束条件下,对待匹配特征对的位置进行调整,上述可以实现如果可以找到这样的调整后的待匹配特征点对,则该调整后的特征点对满足匹配约束条件。在上述匹配约束条件作为正确匹配信息的基础上,由于需要对待匹配特征点对的位置进行调整,因此,还需要结合待匹配特征点对的相关信息,即需要将待匹配特征点对的相关信息作为另一个调整条件,这里所述的相关信息可以为属性特征,即需要将待匹配特征点对的属性特征作为另一个调整条件。在上述两个调整条件下,可以实现对待匹配特征点对的位置进行调整,以得到满足匹配约束条件的调整后的待匹配特征点对。

针对待匹配特征点对的属性信息的不同以及匹配约束条件的不同,将存在不同的调整待匹配特征点对的方案,具体如下:

如果匹配约束条件为对极几何约束条件,则根据待匹配特征点对的属性信息的不同,将存在如下两种不同的调整待匹配特征点对的方案,具体的:

方案一、待匹配特征点对的属性信息为待匹配特征点对的位置。

将待匹配特征点对的调整前位置输入目标函数,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。根据待匹配特征点对的调整后位置得到匹配特征点对。

方案二、待匹配特征点对的属性信息为待匹配特征点对的像素值。

根据对极几何约束条件,确定对极线,对极线为与待匹配特征点对中当前帧图像的特征点所对应的对极线,对极线位于下一帧图像中。根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点,匹配特征点与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。

如果匹配约束条件为射影映射约束条件,以及,待匹配特征点对的属性信息为待匹配特征点对的位置,将存在如下调整待匹配特征点对的方案,具体的:

方案三、将待匹配特征点对的调整前位置输入目标函数,计算在待匹配特征点对的调整后位置满足射影映射约束条件下,使得目标函数的输出值最小所对应的调整后位置。根据待匹配特征点对的调整后位置得到匹配特征点对。

上述通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件,可作为匹配特征点对应用于基于特征点匹配的具体应用中,实现了增加匹配特征点的数量,进而提高了基于特征点匹配的具体应用的实际效果。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。

可选的,在上述技术方案的基础上,匹配约束条件包括对极几何约束条件。

在本发明的实施例中,根据前文所述可知,由于对极几何约束条件与场景无关,只与相邻两帧图像之间的相机内参和相机外参有关,而射影映射约束条件不仅与相邻两帧图像之间的相机内参和相机外参有关,还与场景有关,即要求场景为平面或近似平面,因此,相比于射影映射约束条件而言,对极几何约束条件更具有普适性,基于上述,选择对极几何约束条件作为匹配约束条件。

对极几何约束条件可以为由基本矩阵确定的约束条件,也可以为由本质矩阵确定的约束条件。本质矩阵是一种在归一化图像坐标下的基本矩阵,即本质矩阵为一种特殊的基本矩阵。本质矩阵不仅具有基本矩阵的所有性质,而且还可以估计两相机的相对位置关系。此外,本质矩阵与基本矩阵相比具有更少的自由度,以及更多的功能特征性。可以理解到,由于本质矩阵是一种特殊的基本矩阵,因此,基本矩阵与本质矩阵相比更具有普适性。需要说明的是,对极几何约束条件的具体类型可根据实际情况进行选择,在此不作具体限定。

可选的,在上述技术方案的基础上,根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对,具体可以包括:根据待匹配特征点对的位置和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

在本发明的实施例中,待匹配特征点对的属性特征可以为待匹配特征点对的位置。由于待匹配特征点对是由当前帧图像的特征点与下一帧图像的特征点所组成的特征点对,因此,待匹配特征点对的位置指的是待匹配特征点对中当前帧图像的特征点的位置以及待匹配特征点对中下一帧图像的特征点的位置。匹配约束条件可以为对极几何约束条件。

根据待匹配特征点对的位置和匹配约束条件,对待匹配特征点对的位置进行调整,具体可作如下理解:根据前文所述可知,对极几何约束条件为关于特点对的位置的方程,为了实现对待匹配特征点对的位置进行调整,可建立关于待匹配特征点对的调整前位置与待匹配特征点对的调整后位置的目标函数,其中,待匹配特征对的调整后位置为该目标函数的未知量,待匹配特征点对的调整前位置为该目标函数的已知量。由于需要尽量使得待匹配特征点对的调整后位置接近待匹配特征点对的调整前位置,因此,需要考虑目标函数的具体形式,以体现上述要求。针对两个位置来说,通常可根据两个位置之间的距离大小来确定两个位置之间的远近,即确定两个位置之间的相似程度。基于上述,可将目标函数设置为距离函数,即建立待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离函数,将距离函数作为目标函数。可以理解到,需要尽量使得待匹配特征点对的调整后位置接近待匹配特征点对的调整前位置,上述体现在目标函数上即为使得目标函数的输出值最小,即需要计算目标函数的最小输出值。同时,待匹配特征点对的调整后位置还需要满足对极几何约束条件。综上,可理解为求目标函数的条件极值,即求取目标函数在待匹配特征点对的调整后位置满足对极几何约束条件下的最小值。将取得最小值所对应的待匹配特征点对的调整后位置作为匹配特征点对的位置,根据匹配特征点对的位置确定匹配特征点对。

需要说明的是,上述所述的建立待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离函数,指的是建立待匹配特征点对中当前帧图像的调整后位置与待匹配特征点对中当前帧图像的调整前位置之间的距离,以及,待匹配特征点对中下一帧图像的调整后位置与待匹配特征点对中下一帧图像的调整前位置之间的距离,上述两个距离形成距离函数。

可选的,在上述技术方案的基础上,根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对,具体可以包括:将待匹配特征点对的调整前位置输入目标函数,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。根据待匹配特征点对的调整后位置得到匹配特征点对。

在本发明的实施例中,为了得到调整后的待匹配特征点的位置,可采用建立函数,再对函数进行求解的方式,具体的:建立关于待匹配特征点对的调整前位置与待匹配特征点对的调整后位置之间的距离函数,将距离函数作为目标函数。上述所述的建立待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离函数,指的是建立待匹配特征点对中当前帧图像的调整后位置与待匹配特征点对中当前帧图像的调整前位置之间的距离,以及,待匹配特征点对中下一帧图像的调整后位置与待匹配特征点对中下一帧图像的调整前位置之间的距离,上述两个距离形成距离函数。待匹配特征对的调整后位置为该目标函数的未知量,待匹配特征点对的调整前位置为该目标函数的已知量,具体的:待匹配特征对中当前帧图像的调整后位置和待匹配特征点对中下一帧图像的调整后位置为该目标函数的未知量,待匹配特征点对中当前帧图像的调整前位置和待匹配特征点对中下一帧图像的调整前位置为该目标函数的已知量。

待匹配特征点对的调整后位置需要满足如下条件:其一、需要尽量使得待匹配特征点对的调整后位置接近待匹配特征点对的调整前位置,上述体现在目标函数上即为使得目标函数的输出值最小,即需要计算目标函数的最小输出值;其二、待匹配特征点对的调整后位置需要满足对极几何约束条件。基于上述,可理解为求目标函数的条件极值,即求取目标函数在待匹配特征点对的调整后位置满足对极几何约束条件下的最小值。将取得最小值所对应的待匹配特征点对的调整后位置作为匹配特征点对的位置,根据匹配特征点对的位置确定匹配特征点对。可采用拉格朗日乘数法求解目标函数的条件极值。

基于上述所述的需要尽量使得待匹配特征点对的调整后位置接近待匹配特征点对的调整前位置,可说明目标函数为可用于体现待匹配特征点对的调整前位置与待匹配特征点对的调整后位置之间相似程度的函数。目标函数采用何种形式的距离函数可根据实际情况进行选择,其可以体现两个位置之间的相似程度即可,在此不作具体限定。示例性的,如距离函数为待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离平方和函数,也可以为待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离绝对值函数。

示例性的,如目标函数为待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离平方和函数,对极几何约束条件为由基本矩阵确定的约束条件,相应的,对极几何约束条件为x'tfx=0。待匹配特征点对中当前帧图像的调整前位置为qi(u1,v1),待匹配特征点对中下一帧图像的调整前位置为next_q(u′1,v′1),待匹配特征点对中当前帧图像的调整后位置为new_qi(u2,v2),待匹配特征点对中下一帧图像的调整后位置为new_next_qi(u'2,v'2)。

基于上述,目标函数为g(new_qi,new_next_qi)=(new_qi-qi)2+(next_qi-new_next_qi)2。在待匹配特征点对中当前帧图像的调整后位置new_qi,以及,待匹配特征点对中下一帧图像的调整后位置new_next_qi满足对极几何约束条件new_next_qi'tfnew_qi=0下,计算目标函数g(new_qi,new_next_qi)的最小输出值,将目标函数g(new_qi,new_next_qi)最小输出值对应的解作为待匹配特征点对的调整后位置,即作为待匹配特征点对中当前帧图像的调整后位置new_qi(u,v),以及,待匹配特征点对下一帧图像的调整后位置new_next_qi(u,v)。

可选的,在上述技术方案的基础上,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置,具体可以包括基于拉格朗日乘数法,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

在本发明的实施例中,可以理解到,上述计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置,可理解为一种计算目标函数的条件极值,所谓条件极值是的是对未知量有附加条件的极值,针对本发明实施例所提供的技术方案来说,这里所述的附加条件即为待匹配特征点对的调整后位置满足对极几何约束条件。拉格朗日乘数法是一种求解条件极值的方法,下面对拉格朗日乘数法进行说明,具体的:

假设目标函数为θ=g(x,y),约束条件为为计算目标函数θ=g(x,y)在约束条件下的极值,需要预先构造如下函数:其中,函数l(x,y)为拉格朗日函数,λ为拉格朗日乘子,是一个待定常数。再按照如下公式进行求解,解出x、y和λ,其中,x和y即为目标函数θ=g(x,y)的极值所对应的解。

上述即为拉格朗日乘数法的基本步骤,针对本发明实施例所提供的技术方案来说,假设待匹配特征点对中当前帧图像的调整前位置为qi(u1,v1),待匹配特征点对中下一帧图像的调整前位置为next_q(u′1,v′1),待匹配特征点对中当前帧图像的调整后位置为new_qi(u2,v2),待匹配特征点对中下一帧图像的调整后位置为new_next_qi(u'2,v'2);约束条件为对极几何约束条件,可表示为new_next_qi(u'2,v'2))=0。基于上述,目标函数可表示为θ=g(new_qi(u′1,v′1),new_next_qi(u'2,v'2))。目标函数可以为待匹配特征点对的调整后位置与待匹配特征点对的调整前位置之间的距离平方和函数,即目标函数为g(new_qi,new_next_qi)=(new_qi-qi)2+(next_qi-new_next_qi)2。对极几何约束条件可以为

构造拉格朗日函数为再按照如下公式进行求解,即解出u′1、v′1、u'2、v'2和λ,其中,u′1、v′1、u'2和v'2即为目标函数θ=g(new_qi(u′1,v′1),new_next_qi(u′2,v′2))的极值所对应的解,根据上述解确定待匹配特征点对中当前帧图像的位置以及,待匹配特征点对中下一帧图像的位置

可选的,在上述技术方案的基础上,根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对,具体可以包括:根据待匹配特征点对的像素值和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

在本发明的实施例中,待匹配特征点对的属性特征可以为待匹配特征点对的像素值,匹配约束条件为对极几何约束条件。在根据待匹配特征点对的像素值与对极几何约束条件,对待匹配特征点对的位置进行调整,依据的是:根据前文所述可知,对极几何约束条件可以体现如下性质:对于第一图像上的某点,该点在第二图像中的匹配点位于与该点对应的第二图像中的对极线上;对于第二图像上的某点,该点在第一图像中的匹配点位于与该点对应的第一图像中的对极线上。上述给出了对于相邻两帧图像,如果已知相邻两帧图像中当前帧图像上的某点,现需要确定该点在相邻两帧图像中下一帧图像上的匹配点,则可以在下一帧图像上与该点对应的对极线上寻找上述匹配点。其中,对极线可以根据对极几何约束条件确定。

针对本发明实施例所提供的技术方案来说,如果已知当前帧图像上的特征点,现需要确定该特征点在下一帧图像上的匹配的特征点,则可以在下一帧图像上与该特征点对应的对极线上寻找该匹配的特征点。更为具体的,上述当前帧图像上的特征点指的是待匹配特征点对中当前帧图像的特征点,下一帧图像指的是待匹配特征点对中下一帧图像。同样,对极线可以根据对极几何约束条件确定。

在确定对极线后,可以根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点,匹配特征点与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。上述根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点,具体可作如下理解:

遍历并计算对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值,像素点不包括待匹配特征点对中下一帧图像的特征点,将最小像素差值所对应的像素点确定为目标像素点。或者,

针对对极线上的每个像素点,以该像素点为中心生成预设区域,计算预设区域内各像素点的像素平均值,将像素平均值作为该像素点的像素值,再计算该像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值。其中,像素点不包括待匹配特征点对中下一帧图像的特征点。从像素差值中确定出最小像素差值,将最小像素差值所对应的像素点确定为目标像素点。或者,

针对对极线上的每个像素点,以该像素点为中心生成预设区域,计算预设区域内各像素点的像素平均值,将像素平均值作为该像素点的像素值。同时,针对待匹配特征点对中当前帧图像的特征点,也以该特征点为中心生成另一预设区域,计算另一预设区域内各像素点的像素平均值,将像素平均值作为该特征点的像素值。再计算上述像素点的像素值与上述特征点的像素值之间的像素差值。其中,像素点不包括待匹配特征点对中下一帧图像的特征点。从像素差值中确定出最小像素差值,将最小像素差值所对应的像素点确定为目标像素点。需要说明的是,具体可根据实际情况选择从对极线上确定目标像素点的方式,在此不作具体限定。

此外,可以理解到,通过上述方式调整待匹配特征点对的位置后,待匹配特征点对中当前帧图像的特征点的位置并没有调整,只是调整了待匹配特征点对中下一帧图像的特征点的位置。产生上述调整结果的原因在于:由于本发明实施例所提供的技术方案是基于光流追踪法的特征点匹配,针对相邻两帧图像来说,当前帧图像的特征点是通过特征点提取得到的,下一帧图像的特征点是对当前帧图像的特征点进行光流追踪得到的,因此,即使是在相机快速移动的情形下,采集的图像,该图像可能比较模糊,相比于下一帧图像的特征点来说,也可认为当前帧图像的特征点的位置是相对正确的。基于上述,针对待匹配特征点对中的当前帧图像以及待匹配特征点对中下一帧图像来说,由于可以认为待匹配特征点对中当前帧图像的特征点的位置是相对正确的,因此,可不对待匹配特征点对中当前帧图像的特征点的位置进行调整,而只对待匹配特征点对中下一帧图像的特征点的位置进行调整。同时,由于认为待匹配特征点对中当前帧图像的特征点的位置是相对正确的,因此,可以认为待匹配特征点对中当前帧图像的特征点的像素值也是相对正确的,其可以作为在对极线上确定哪个像素点为与之匹配的特征点的依据。

可选的,在上述技术方案的基础上,根据待匹配特征点对的像素值和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对,具体可以包括:根据对极几何约束条件,确定对极线,对极线为与待匹配特征点对中当前帧图像的特征点所对应的对极线,对极线位于所述下一帧图像中。根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点,匹配特征点与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。

在本发明的实施例中,如果已知待匹配特征点对中当前帧图像的特征点,现需要确定该特征点在待匹配特征点对中下一帧图像上匹配的特征点,则可以在待匹配特征点对中下一帧图像上的对极线上寻找该匹配的特征点,这里对极线为与待匹配特征点对中当前帧图像的特征点对应的对极线。其中,对极线可以根据对极几何约束条件确定。

在确定对极线后,可以根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点。其中,匹配特征点为待匹配特征点对中下一帧图像的特征点,其与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。

可以理解到,由于对极线通过对极几何约束条件确定,且与待匹配特征点对中当前帧图像的特征点匹配的匹配特征点位于该对极线上,因此,经过上述方式确定出的匹配特征点满足对极几何约束条件。

可选的,在上述技术方案的基础上,根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,具体可以包括:遍历并计算对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值,像素点不包括待匹配特征点对中下一帧图像的特征点。将最小像素差值所对应的像素点确定为目标像素点。

在本发明的实施例中,针对对极线上的每个像素点,计算该像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值。在遍历对极线上的每个像素点后,可以得到与每个像素点对应的像素差值,从各个像素差值中确定出最小像素差值,将最小像素差值对应的像素点作为目标像素点。需要说明的是,对极线上的像素点并不包括待匹配特征点对中下一帧图像的特征点。

可选的,在上述技术方案的基础上,根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对之后,具体还可以包括:如果待匹配特征点对和匹配特征点对之间满足预设调整幅度条件,则将匹配特征点对作为补充的匹配特征点对。

在本发明的实施例中,通过对待匹配特征点对的位置进行调整,以得到匹配特征点对后,实现了增加匹配特征点对的目的。但由于对待匹配特征点对的位置进行了调整,因此,可能出现待匹配特征点对的调整后位置(即匹配特征点对的位置)和待匹配特征点对的调整前位置之间的距离较大的情况,该情况表明待匹配特征点对的调整后位置偏离待匹配特征点对的调整前位置的幅度较大。如果出现上述情况,则可能引入新的误匹配特征点对,即通过上述方式确定出的调整后的待匹配特征点对(即匹配特征点对)虽然满足匹配约束条件,但由于待匹配特征点对的调整后位置偏离待匹配特征点对的调整前位置的幅度较大,因此,上述调整后的待匹配特征对(即匹配特征点对)实际上是误匹配特征点对。可以理解到,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对实际应用的效果产生不利影响。

为了避免上述情况的出现,可进一步对采用调整待匹配特征点对的位置的方式,得到的满足匹配约束条件的匹配特征点对进行调整幅度的验证,以确保待匹配特征点对的调整后位置和待匹配特征点对的调整前位置之间的距离不会较大。基于上述,可采用确定待匹配特征点对和匹配特征点对之间是否满足预设调整幅度条件的方式来解决。具体的,如果待匹配特征点对和匹配特征点对之间满足预设调整幅度条件,则可以说明匹配特征点对的位置(即待匹配特征点对的调整后位置)和待匹配特征点对的位置之间的距离相差不大,可将匹配特征点对作为补充的匹配特征点对。如果待匹配特征点对和匹配特征点对之间不满足预设调整幅度条件,则可以说明匹配特征点对的位置(即待匹配特征点对的调整后位置)和待匹配特征点对的位置之间的距离相差较大,该匹配特征点对并不会作为补充的匹配特征点对,该匹配特征点对需要剔除。

预设调整幅度条件可用于作为确定匹配特征点对(即满足匹配约束条件的调整后的待匹配特征点对)是否为补充的匹配特征点对的依据,补充的匹配特征点对的位置和待匹配特征点对的位置之间的距离相差不大。预设调整幅度条件可以包括预设距离阈值和/或预设像素差阈值。可以理解到,为了确定匹配特征点对的位置与待匹配特征点对的位置之间的距离是否相差较大,可从如下三个方面进行考虑,具体的:其一、比较匹配特征点对的位置和待匹配特征点对的位置之间的距离是否大于预设距离阈值;其二、比较匹配特征点对的像素值和待匹配特征点对的像素值之间的像素差值是否大于预设像素差阈值;其三、比较匹配特征点对的位置和待匹配特征点对的位置之间的距离是否大于预设距离阈值,以及,比较匹配特征点对的像素值和待匹配特征点对的像素值之间的像素差值是否大于预设像素差阈值。上述第一方面采用比较距离的方式,来确定匹配特征点对的位置和待匹配特征点对的位置之间的距离是否相差较大,这是一种直接方式。上述第二方面采用比较像素差值的方式,来确定匹配特征点对的位置和待匹配特征点对的位置之间的距离是否相差较大,这是一种间接方式。该方式可以作为一种确定匹配特征点对的位置和待匹配特征点对的位置之间的距离是否相差较大的方式的原因在于:通常,如果两个像素点之间的像素差值较小,则可以认为两个像素点之间的距离较小。上述第三方面采用比较距离和像素差值的方式,来确定匹配特征点对的位置和待匹配特征点对的位置之间的距离是否相差较大。相对于第一方面和第二方面来说,第三方面所采用的方式,确定结果的准确度更高。

针对预设幅度调整条件的不同,将产生如下三种技术方案,具体的:

方案一、如果待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对。

方案二、如果待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值,则将匹配特征点对作为补充的匹配特征点对。

方案三、如果待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值且待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值,则将匹配特征点对作为补充的匹配特征点对。

需要说明的是,可根据实际情况确定预设调整幅度条件的具体类型,在此不作具体限定。

上述通过对匹配特征点对进行调整幅度的验证,实现了仅保留匹配特征点对的位置偏离待匹配特征点对的位置幅度较小的匹配特征点对(即补充的匹配特征点对),而剔除匹配特征点对的位置偏离待匹配特征点对的位置幅度较大的匹配特征点。由于上述匹配特征点实际是误匹配特征点对,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对实际应用的效果产生不利影响,因此,上述调整幅度的验证操作进一步提高了实际应用的效果。

可选的,在上述技术方案的基础上,如果待匹配特征点对和匹配特征点对之间满足预设调整幅度条件,则将匹配特征点对作为补充的匹配特征点对,具体可以包括:如果待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对。和/或,如果待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值,则将匹配特征点对作为补充的匹配特征点对。

在本发明的实施例中,预设调整幅度条件可以包括预设距离阈值和/或预设像素差阈值。如果预设调整幅度条件为预设距离阈值,则将通过如下方式确定匹配特征点对是否可以作为补充的匹配特征点对,具体的:如果待匹配特征点对的位置和匹配特征点对的位置之间的距离小于等于预设距离阈值,则可将匹配特征点对作为补充的匹配特征点对。如果预设调整幅度条件为预设像素差阈值,则将通过如下方式确定匹配特征点对是否可以作为补充的匹配特征点对,具体的:如果待匹配特征点对的像素值和匹配特征点对的像素值之间的像素差值小于等于预设像素差阈值,则可将匹配特征点对作为补充的匹配特征点对。如果预设调整幅度条件为预设距离阈值和预设像素差阈值,则将通过如下方式确定匹配特征点对是否可以作为补充的匹配特征点对,具体的:如果待匹配特征点对的位置和匹配特征点对的位置之间的距离小于等于预设距离阈值且待匹配特征点对的像素值和匹配特征点对的像素值之间的像素差值小于等于预设像素差阈值,则可将匹配特征点对作为补充的匹配特征点对。

需要说明的是,上述所述的待匹配特征点对的位置和匹配特征点对的位置之间的距离小于等于预设距离阈值,可作如下两种理解:其一、待匹配特征点对中当前帧图像的特征点的位置和匹配特征点对中当前帧图像的特征点的位置之间的距离小于等于预设距离阈值,以及,待匹配特征点对中下一帧图像的特征点的位置和匹配特征点对中下一帧图像的特征点的位置之间的距离小于等于预设距离阈值;其二、待匹配特征点对中当前帧图像的特征点的位置和匹配特征点对中当前帧图像的特征点的位置之间的第一距离,以及,待匹配特征点对中下一帧图像的特征点的位置和匹配特征点对中下一帧图像的特征点的位置之间的第二距离,第一距离和第二距离之和小于等于预设距离阈值。可以理解到,相比于第二种理解,第一种理解的确定结果的准确度更高。

还需要说明的是,上述所述的待匹配特征点对的像素值和匹配特征点对的像素值之间的像素差值小于等于预设像素差阈值,可作如下理解:待匹配特征点对中当前帧图像的特征点的像素值和匹配特征点对中当前帧图像的特征点的像素值之间的像素差值小于等于预设像素差阈值,以及,待匹配特征点对中下一帧图像的特征点的像素值和待匹配特征点对中下一帧图像的特征点的像素值之间的像素差值小于等于预设像素差阈值。

可选的,在上述技术方案的基础上,如果待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对,具体可以包括:如果待匹配特征点对中当前帧图像的特征点与匹配特征点对中当前帧图像的特征点之间的距离小于等于预设距离阈值,以及,待匹配特征点对中下一帧图像的特征点与匹配特征点对中下一帧图像的特征点之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对。

在本发明的实施例中,如果待匹配特征点对中当前帧图像的特征点的位置与匹配特征点对中当前帧图像的特征点的位置之间的距离小于等于预设距离阈值,以及,待匹配特征点对中下一帧图像的特征点的位置与匹配特征点对中下一帧图像的特征点的位置之间的距离小于等于预设距离阈值,则可将匹配特征点对作为补充的匹配特征点对。

可选的,在上述技术方案的基础上,根据所述特征点对,确定匹配约束条件,具体可以包括:基于随机采样一致法,根据特征点对,确定对极几何约束条件。

在本发明的实施例中,匹配约束条件可以为对极几何约束条件。对极几何约束条件可以为由基础矩阵确定的约束条件,也可以为由本质矩阵确定的约束条件。随机采样一致法是从一个数据集合中,估计最优模型参数模型的迭代方法。其中,将不符合最优参数模型的点称为外点,将符合最优参数模型的点称为内点。针对本发明实施例所提供的技术方案来说,数据集合指的是由当前帧图像的特征点和下一帧图像的特征点组成的特征点对,各特征点对组成特征点对集合。最优参数模型指的是基础矩阵或本质矩阵,外点指的是待匹配特征点对,内点指的是匹配特征点对。下面对基于随机采样一致法,根据特征点对,确定对极几何约束条件,进行说明,具体的:

如果对极几何约束条件为由基本矩阵确定的约束条件,则基于随机采样一致法,根据特征点对,确定对极几何约束条件,具体为:

步骤a、从特征点对集合中随机选择与基本矩阵的自由度相同的特征点对的数量,即随机选择7个特征点对,此外,也可随机选择8个特征点对,根据选择出的特征点对,计算当前基本矩阵,并作为当前参数模型。步骤b、根据当前参数模型,对特征点集合进行验证,获得当前内点集合,即计算特征点对集合中全部特征点对与当前参数模型的投影误差,如果投影误差小于投影误差阈值阈值,则将该特征点对作为内点,并添加到当前内点集合。步骤c、如果当前内点集合中内点的数量大于最优内点集合中内点的数量,则将当前内点集合作为新的最优内点集合。步骤d、如果迭代次数小于最大迭代次数,则更新迭代次数,并返回执行步骤a;如果迭代次数等于最大迭代次数,则将最优内点集合对应的参数模型作为最优参数模型,即将最优内点集合对应的参数模型作为基本矩阵。

如果对极几何约束条件为由本质矩阵确定的约束条件,则基于随机采样一致法,根据特征点对,确定对极几何约束条件,其具体实现方式与确定基本矩阵的方式,除了上述步骤a与基本矩阵不同外,其余步骤与基本矩阵均相同,在此不再具体赘述。对于确定本质矩阵的步骤a,具体为:从特征点对集合中随机选择与本质矩阵的自由度相同的特征点对的数量,即随机选择5个特征点对,根据选择出的特征点对,计算当前本质矩阵,并作为当前参数模型。

需要说明的是,对待匹配特征点对的位置进行调整,得到的满足匹配约束条件的匹配特征点对,每个上述所述的匹配特征点对均存在对应的一个待匹配特征点对。还需要说明的是,针对连续的图像序列,每相邻两帧图像均可通过本发明实施所提供的技术方案进行特征点提取、特征点匹配、待匹配特征点对的位置调整以及补充的匹配特征点对的确定。

还需要说明的是,本发明实施例所提供的技术方案可以应用于slam(simultaneouslocalizationandmapping,同时定位与地图构建)系统中,slam系统可以包括传感器数据、视觉里程计、后端、建图及回环检测五个模块。其中,视觉里程计模块和回环检测模块均涉及特征点匹配。视觉里程计进行特征点匹配,回环检测通过特征点匹配进行检测,解决位置估计随时间漂移的问题。采用本发明实施例所提供的技术方案后,可实现增加匹配特征点对的数量,在此基础上,当将其应用到slam系统时,进一步也提高了slam系统的实际效果。

为了理解本发明实施例所提供的技术方案,下面通过具体示例进行说明,具体的:

图7-图10给出了一种特征点匹配方法的应用示意图。其中,如图7所示,给出了一种待匹配特征点对的确定过程的示意图,即获取当前帧图像的特征点,对当帧图像的特征点进行光流追踪,得到下一帧图像的特征点,当前帧图像的特征点与下一帧图像的特征点组成特征点对,根据特征点对,确定对极几何约束条件,并将不满足对极几何约束条件的特征点对确定为待匹配特征点对。

下面需要根据待匹配特征点对的属性特征和对极几何约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足对极几何约束条件,并将调整后的待匹配特征点对作为匹配特征点对。其中,待匹配特征点对的属性特征可以包括待匹配特征点对的位置和待匹配特征点对的像素值。由于待匹配特征点对的属性特征的不同,相应的,将产生不同的待匹配特征点对的位置调整方案。如图8和图9所示,分别给出了一种待匹配特征点对的位置调整的示意图。图8是根据待匹配特征点对的位置和对极几何约束条件,对待匹配特征点对的位置进行调整,使得调整后的待匹配特征点对满足对极几何约束条件。图9是根据待匹配特征点对的像素值和对极几何约束条件,对待匹配特征点对的位置进行调整,使得调整后的待匹配特征点对满足对极几何约束条件。

在得到匹配特征点对后,为了确定匹配特征点对是否为真正可以作为正确匹配特征点对使用的特征点对,对匹配特征点对进行了调整幅度验证。如图10所示,给出了一种补充的匹配特征点对确定过程的示意图。图10中确定匹配特征点对与对应的待匹配特征点对之间是否满足预设调整幅度条件,如果满足预设调整幅度条件,则将匹配特征点对作为补充的匹配特征点对。补充的匹配特征点对便可以作为正确匹配特征点,后续可将其应用到基于特征点匹配的具体应用中,如物体识别、目标跟踪和三维重建等。

上述通过对待匹配特征点对的位置进行调整,将待匹配特征点对变成补充的匹配特征点对,补充的匹配特征点对为正确匹配特征点对,实现了增加正确匹配特征点对的数量的目的,进而可以提高基于特征点匹配的具体应用的实际效果。

图11为本发明实施例提供的另一种特征点匹配方法的流程图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该方法可以由特征点匹配采样装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图11所示,该方法具体包括如下步骤:

步骤210、获取当前帧图像的特征点。

步骤220、对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

步骤230、基于随机采样一致法,根据特征点对,确定对极几何约束条件,并将不满足对极几何约束条件的特征点对作为待匹配特征点对。

步骤240、将待匹配特征点对的调整前位置输入目标函数,基于拉格朗日乘数法,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

步骤250、根据待匹配特征点对的调整后位置得到匹配特征点对。

步骤260、待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值;若是,则执行步骤270;若否,则执行步骤280。

步骤270、将匹配特征点对作为补充的匹配特征点对。

步骤280、将匹配特征点对剔除。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。此外,通过对匹配特征点对进行调整幅度的验证,实现了仅保留匹配特征点对的位置偏离待匹配特征点对的位置幅度较小的匹配特征点对(即补充的匹配特征点对),而剔除匹配特征点对的位置偏离待匹配特征点对的位置幅度较大的匹配特征点。由于上述匹配特征点实际是误匹配特征点对,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对具体应用的效果产生不利影响,因此,上述调整幅度的验证操作也进一步提高了具体应用的实际效果。

图12为本发明实施例提供的再一种特征点匹配方法的流程图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该方法可以由特征点匹配采样装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图12所示,该方法具体包括如下步骤:

步骤310、获取当前帧图像的特征点。

步骤320、对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

步骤330、基于随机采样一致法,根据特征点对,确定对极几何约束条件,并将不满足对极几何约束条件的特征点对作为待匹配特征点对。

步骤340、将待匹配特征点对的调整前位置输入目标函数,基于拉格朗日乘数法,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

步骤350、根据待匹配特征点对的调整后位置得到匹配特征点对。

步骤360、待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值;若是,则执行步骤370;若否,则执行步骤380。

步骤370、将匹配特征点对作为补充的匹配特征点对。

步骤380、将匹配特征点对剔除。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。此外,通过对匹配特征点对进行调整幅度的验证,实现了仅保留匹配特征点对的位置偏离待匹配特征点对的位置幅度较小的匹配特征点对(即补充的匹配特征点对),而剔除匹配特征点对的位置偏离待匹配特征点对的位置幅度较大的匹配特征点。由于上述匹配特征点实际是误匹配特征点对,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对具体应用的效果产生不利影响,因此,上述调整幅度的验证操作也进一步提高了具体应用的实际效果。

图13为本发明实施例提供的又一种特征点匹配方法的流程图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该方法可以由特征点匹配采样装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图13所示,该方法具体包括如下步骤:

步骤410、获取当前帧图像的特征点。

步骤420、对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

步骤430、基于随机采样一致法,根据特征点对,确定对极几何约束条件,并将不满足对极几何约束条件的特征点对作为待匹配特征点对。

步骤440、将待匹配特征点对的调整前位置输入目标函数,基于拉格朗日乘数法,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

步骤450、根据待匹配特征点对的调整后位置得到匹配特征点对。

步骤460、待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值且待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值;若是,则执行步骤470;若否,则执行步骤480。

步骤470、将匹配特征点对作为补充的匹配特征点对。

步骤480、将匹配特征点对剔除。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。此外,通过对匹配特征点对进行调整幅度的验证,实现了仅保留匹配特征点对的位置偏离待匹配特征点对的位置幅度较小的匹配特征点对(即补充的匹配特征点对),而剔除匹配特征点对的位置偏离待匹配特征点对的位置幅度较大的匹配特征点。由于上述匹配特征点实际是误匹配特征点对,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对具体应用的效果产生不利影响,因此,上述调整幅度的验证操作也进一步提高了具体应用的实际效果。

图14为本发明实施例提供的又一种特征点匹配方法的流程图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该方法可以由特征点匹配采样装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图14所示,该方法具体包括如下步骤:

步骤510、获取当前帧图像的特征点。

步骤520、对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

步骤530、基于随机采样一致法,根据特征点对,确定对极几何约束条件,并将不满足对极几何约束条件的特征点对作为待匹配特征点对。

步骤540、根据对极几何约束条件,确定对极线,对极线为与待匹配特征点对中当前帧图像的特征点所对应的对极线,对极线位于下一帧图像中。

步骤550、遍历并计算对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值,像素点不包括待匹配特征点对中下一帧图像的特征点。

步骤560、将最小像素差值所对应的像素点确定为目标像素点,并将目标像素点作为匹配特征点,匹配特征点与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。

步骤570、待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值;若是,则执行步骤580;若否,则执行步骤590。

步骤580、将匹配特征点对作为补充的匹配特征点对。

步骤590、将匹配特征点对剔除。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。此外,通过对匹配特征点对进行调整幅度的验证,实现了仅保留匹配特征点对的位置偏离待匹配特征点对的位置幅度较小的匹配特征点对(即补充的匹配特征点对),而剔除匹配特征点对的位置偏离待匹配特征点对的位置幅度较大的匹配特征点。由于上述匹配特征点实际是误匹配特征点对,如果将上述调整后的待匹配特征点对作为匹配特征点对参与到后续实际应用中,则将由于其实际上并不是正确匹配特征点对,而是误匹配特征点对,进而将对具体应用的效果产生不利影响,因此,上述调整幅度的验证操作也进一步提高了具体应用的实际效果。

图15为本发明实施例提供的一种特征点匹配装置的结构示意图,本实施例可适用于基于光流追踪的特征点匹配中补充匹配特征点对的情况,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图15所示,该装置具体包括:

当前帧图像的特征点获取模块610,用于获取当前帧图像的特征点。

匹配特征点对确定模块620,用于对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

匹配约束条件确定模块630,用于根据所述特征点对,确定匹配约束条件,并将不满足匹配约束条件的特征点对作为待匹配特征点对。

待匹配特征点对的位置调整模块640,用于根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

本实施例的技术方案,在确定特征点对之后,进一步通过对待匹配特征点对的位置进行调整,使调整后的待匹配特征点对满足匹配约束条件而成为匹配特征点对。通过位置调整,使得匹配特征点对的数量增加,在此基础上,当将其应用到基于特征点匹配的具体应用中时,进一步也提高了基于特征点匹配的具体应用的实际效果。

可选的,在上述技术方案的基础上,匹配约束条件包括对极几何约束条件。

可选的,在上述技术方案的基础上,待匹配特征点对的位置调整模块640,具体可以包括:

第一待匹配特征点对的位置调整子模块,用于根据待匹配特征点对的位置和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

可选的,在上述技术方案的基础上,第一待匹配特征点对的位置调整子模块,具体可以包括:

待匹配特征点对的位置调整单元,用于将待匹配特征点对的调整前位置输入目标函数,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

第一匹配特征点对确定单元,用于根据待匹配特征点对的调整后位置得到匹配特征点对。

可选的,在上述技术方案的基础上,待匹配特征点对的位置调整单元,具体可以用于:

基于拉格朗日乘数法,计算在待匹配特征点对的调整后位置满足对极几何约束条件下,使得目标函数的输出值最小所对应的调整后位置。

可选的,在上述技术方案的基础上,待匹配特征点对的位置调整模块640,具体可以包括:

第二待匹配特征点对的位置调整子模块,用于根据待匹配特征点对的像素值和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

可选的,在上述技术方案的基础上,第二待匹配特征点对的位置调整子模块,具体以包括:

对极线确定单元,用于根据对极几何约束条件,确定对极线,对极线为与待匹配特征点对中当前帧图像的特征点所对应的对极线,对极线位于下一帧图像中。

第二匹配特征点对确定单元,用于根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,并将目标像素点作为匹配特征点,匹配特征点与待匹配特征点对中当前帧图像的特征点组成匹配特征点对。

可选的,在上述技术方案的基础上,根据对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值,从对极线上确定目标像素点,具体可以包括:

遍历并计算对极线上的像素点的像素值与待匹配特征点对中当前帧图像的特征点的像素值之间的像素差值,像素点不包括待匹配特征点对中下一帧图像的特征点。

将最小像素差值所对应的像素点确定为目标像素点。

可选的,在上述技术方案的基础上,该装置具体还可以包括:

补充的匹配特征点对确定模块,用于如果待匹配特征点对和匹配特征点对之间满足预设调整幅度条件,则将匹配特征点对作为补充的匹配特征点对。

可选的,在上述技术方案的基础上,补充的匹配特征点对确定模块,具体可以包括:

第一补充的匹配特征点对确定子模块,用于如果待匹配特征点对和匹配特征点对之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对。和/或

第二补充的匹配特征点对确定子模块,用于如果待匹配特征点对和匹配特征点对之间的像素差值小于等于预设像素差阈值,则将匹配特征点对作为补充的匹配特征点对。

可选的,在上述技术方案的基础上,第一补充的匹配特征点对确定子模块,具体可以包括:

补充的特征点对确定单元,用于如果待匹配特征点对中当前帧图像的特征点和匹配特征点对中当前帧图像的特征点之间的距离小于等于预设距离阈值,以及,待匹配特征点对中下一帧图像的特征点和匹配特征点对中下一帧图像的特征点之间的距离小于等于预设距离阈值,则将匹配特征点对作为补充的匹配特征点对。

可选的,在上述技术方案的基础上,匹配约束条件确定模块630,具体可以包括:

对极几何约束条件确定子模块,用于基于随机采样一致法,根据特征点对,确定对极几何约束条件。

本发明实施例所提供的特征点匹配装置可执行本发明任意实施例所提供的特征点匹配方法,具备执行方法相应的功能模块和有益效果。

图16为本发明实施例提供的一种设备的结构示意图。图16显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图16所示,本发明实施例提供的设备,包括处理器71、存储器72、输入装置73和输出装置74;设备中处理器71的数量可以是一个或多个,图16中以一个处理器71为例;设备中的处理器71、存储器72、输入装置73和输出装置74可以通过总线或其他方式连接,图16中以通过总线连接为例。

存储器72作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的特征点匹配方法对应的程序指令/模块(例如,使用特征点匹配装置中的当前帧图像的特征点获取模块610、匹配特征点对确定模块620、匹配约束条件确定模块630和待匹配特征点对的位置调整模块640)。处理器71通过运行存储在存储器72中的软件程序、指令以及模块,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用于设备的特征点匹配方法。

存储器72可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器72可进一步包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置73可用于接收用户输入的数字或字符信息,以产生与设备的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。

当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供应用于设备的特征点匹配方法的技术方案。该设备的硬件结构以及功能可参见实施例的内容解释。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的一种特征点匹配方法,该方法包括:

获取当前帧图像的特征点。

对当前帧图像的特征点进行光流追踪,以确定下一帧图像的特征点,并将当前帧图像的特征点和下一帧图像的特征点组成特征点对。

根据所述特征点对,确定匹配约束条件,并将不满足匹配约束条件的特征点对作为待匹配特征点对。

根据待匹配特征点对的属性特征和匹配约束条件,对待匹配特征点对的位置进行调整,以使调整后的待匹配特征点对满足匹配约束条件,并将调整后的待匹配特征点对作为匹配特征点对。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,例如,c++、c语言、python、ruby和matlab等。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的设备的特征点采样方法的相关操作。对存储介质的介绍可参见实施例中的内容解释。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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