图像特征点的跟踪方法和跟踪装置与流程

文档序号:16435199发布日期:2018-12-28 20:26阅读:374来源:国知局
图像特征点的跟踪方法和跟踪装置与流程

本发明涉及图像处理技术领域,特别是涉及一种图像特征点的跟踪方法、图像特征点的跟踪装置、计算机设备和计算机可读存储介质。

背景技术

在计算机视觉系统中,经常需要对图像进行处理,特别是对图像中的物体进行识别和跟踪。其中一种常用的实现方法是在每幅图像中提取一些具有稳定和鲁棒性强的像素点作为图像的特征像素点,然后使用目标跟踪算法如光流法对这些特征像素点在不同图像间进行匹配跟踪。

然而传统的目标跟踪算法对图像特征像素点进行跟踪时,容易导致该特征像素点在目标图像的匹配度较低,降低了对图像特征像素点进行跟踪的鲁棒性,而且传统方式对特征像素点的跟踪时间过长,还降低了跟踪效率。



技术实现要素:

基于此,有必要针对传统技术对图像特征像素点进行跟踪的鲁棒性偏低的问题,提供一种图像特征点的跟踪方法、图像特征点的跟踪装置、计算机设备和计算机可读存储介质。

一种图像特征点的跟踪方法,包括步骤:

确定目标特征点在第二图像中投影的极线;其中,所述目标特征点为第一图像的特征点;

获取位于所述极线上的起始跟踪点的第一灰度值;

获取所述目标特征点的第二灰度值和灰度梯度值;

根据所述起始跟踪点的第一灰度值以及所述目标特征点的第二灰度值和灰度梯度值,沿所述极线的方向跟踪所述目标特征点在所述第二图像中的位置。

上述图像特征点的跟踪方法,结合了目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值在第二图像的极线方向上对目标特征点进行跟踪,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还将特征点的跟踪范围限缩至极线方向,使得特征点跟踪模型得到简化,加快了运算速度,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持。

在一个实施例中,所述根据所述起始跟踪点的第一灰度值以及所述目标特征点的第二灰度值和灰度梯度值,沿所述极线的方向跟踪所述目标特征点在所述第二图像中的位置的步骤包括:

根据所述第一图像的目标特征点的灰度值、灰度梯度值以及所述起始跟踪点的灰度值计算所述起始跟踪点在所述极线的方向上的位置偏差;确定所述起始跟踪点在第二图像中的位置;根据所述起始跟踪点在第二图像中的位置以及在所述极线的方向上的位置偏差确定所述目标特征点在所述第二图像中的位置。

在一个实施例中,所述根据所述第一图像的目标特征点的灰度值、灰度梯度值以及所述起始跟踪点的灰度值计算所述起始跟踪点在所述极线的方向上的位置偏差的步骤包括:

将所述目标特征点的灰度值与起始跟踪点的灰度值进行作差,得到所述目标特征点与起始跟踪点的灰度偏差值;根据所述目标特征点的灰度梯度值计算所述目标特征点在所述极线的方向上的灰度梯度值;根据所述灰度偏差值和所述目标特征点在极线的方向上的灰度梯度值获取所述起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,所述根据所述灰度偏差值和所述目标特征点在极线的方向上的灰度梯度值获取所述起始跟踪点在极线的方向上的位置偏差的步骤包括:

将所述目标特征点在所述极线的方向上的灰度梯度值进行平方运算,得到所述目标特征点在所述极线的方向上的空间梯度值;根据所述目标特征点在极线的方向上的灰度梯度值与所述灰度偏差值的乘积获取图像偏差值;计算所述图像偏差值与所述目标特征点在所述极线的方向上的空间梯度值的比值;根据所述比值与极线的单位方向向量确定所述起始跟踪点在所述极线的方向上的位置偏差。

在一个实施例中,所述根据所述目标特征点的灰度梯度值计算所述目标特征点在所述极线的方向上的灰度梯度值的步骤包括:

根据所述目标特征点在第一图像的横向和纵向方向上的灰度梯度值,构建所述目标特征点的灰度梯度矩阵;获取所述极线的单位方向向量;将所述灰度梯度矩阵与所述单位方向向量的乘积设为所述目标特征点在极线的方向上的灰度梯度值。

在一个实施例中,所述确定目标特征点在第二图像中投影的极线的步骤包括:

获取所述目标特征点在第一图像中的位置;确定所述第一图像与第二图像的旋转平移关系;根据所述位置和旋转平移关系计算所述目标特征点在第二图像上投影的所述极线。

在一个实施例中,还包括步骤:

根据所述目标特征点在第一图像中的位置和旋转平移关系,计算与所述目标特征点相对应的无穷远点在所述极线上投影的位置;根据所述无穷远点在所述极线上的位置确定所述起始跟踪点。

在一个实施例中,还包括步骤:

在所述第一图像中创建以所述目标特征点为中心的矩形像素窗口;获取所述矩形像素窗口内各个像素点的灰度值;根据所述灰度值计算所述目标特征点在所述矩形像素窗口的横向和纵向方向上的灰度梯度值;根据所述灰度梯度值计算所述目标特征点在所述矩形像素窗口中的空间梯度矩阵,计算所述空间梯度矩阵的特征值;根据所述特征值确定所述目标特征点的类型;其中,所述目标特征点的类型包括角点和边缘点。

在一个实施例中,提供了一种图像特征点的跟踪方法,包括步骤:

a.对第一图像和第二图像分别建立图像金字塔;其中,所述图像金字塔包括多层图像;

b.在所述第一图像的本层图像中确定所述目标特征点的位置;其中,所述本层图像为图像金字塔中的本层图像;

c.根据所述目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对所述目标特征点进行跟踪,获取所述目标跟踪点在第二图像的本层图像中与所述目标特征点相匹配的跟踪点;

d.将所述跟踪点设置为所述第二图像的本层图像的下一层图像的所述起始跟踪点;

e.重复步骤b至d,直到所述跟踪点为所述第二图像的底层图像的跟踪点。

上述实施例提供的图像特征点的跟踪方法,分别对第一图像和第二图像建立图像金字塔,在第一图像的图像金字塔的本层图像中确定目标特征点的位置,根据该目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对该目标特征点进行跟踪得到目标跟踪点在第二图像的图像金字塔的本层图像中与该目标特征点匹配的跟踪点,并重复执行步骤b至d,直到获取的跟踪点是目标跟踪点的图像金字塔的底层图像的跟踪点,将该跟踪点的位置作为目标特征点在第二图像中的位置,该方案采用图像金字塔和上述任一项实施例的图像特征点的跟踪方法相结合的方式对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

在一个实施例中,提供了一种图像特征点的跟踪装置,包括:

极线确定模块,用于确定目标特征点在第二图像中投影的极线;其中,所述目标特征点为第一图像的特征点;

灰度值获取模块,用于获取位于所述极线上的起始跟踪点的第一灰度值;

梯度值获取模块,用于获取所述目标特征点的第二灰度值和灰度梯度值;

位置跟踪模块,用于根据所述起始跟踪点的第一灰度值以及所述目标特征点的第二灰度值和灰度梯度值,沿所述极线的方向跟踪所述目标特征点在所述第二图像中的位置。

上述图像特征点的跟踪装置,结合了目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值在第二图像的极线方向上对目标特征点进行跟踪,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还将特征点的跟踪范围限缩至极线方向,使得特征点跟踪模型得到简化,加快了运算速度,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持。

在一个实施例中,提供了一种图像特征点的跟踪装置,包括:

图像金字塔建立模块,用于执行步骤a.对第一图像和第二图像分别建立图像金字塔;其中,所述图像金字塔包括多层图像;

特征点位置确定模块,用于执行步骤b.在所述第一图像的本层图像中确定所述目标特征点的位置;其中,所述本层图像为图像金字塔中的本层图像;

跟踪点确定模块,用于执行步骤c.根据所述目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对所述目标特征点进行跟踪,获取所述目标跟踪点在第二图像的本层图像中与所述目标特征点相匹配的跟踪点;

跟踪点选取模块,用于执行步骤d.将所述跟踪点设置为所述第二图像的本层图像的下一层图像的所述起始跟踪点;

目标位置确定模块,用于执行步骤e.重复步骤b至d,直到所述跟踪点为所述第二图像的底层图像的跟踪点。

上述实施例提供的图像特征点的跟踪装置,采用图像金字塔和上述任一项实施例的图像特征点的跟踪方法相结合的方式对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项实施例所述的图像特征点的跟踪方法的步骤。

上述计算机设备,通过所述处理器上运行的计算机程序,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还对特征点跟踪模型进行了简化,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持,还可以结合图像金字塔对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项实施例所述的图像特征点的跟踪方法的步骤。

上述计算机可读存储介质,通过其存储的计算机程序,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还对特征点跟踪模型进行了简化,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持,还可以结合图像金字塔对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

附图说明

图1为一个实施例中图像特征点的跟踪方法的应用场景示意图;

图2为一个实施例中图像特征点的跟踪方法的流程示意图;

图3为一个实施例中第一图像和第二图像的关系示意图;

图4为一个实施例中图像特征点的特征值示意图;

图5(a)为一个实施例中一种图像特征点的类型示意图;

图5(b)为一个实施例中另一种图像特征点的类型示意图;

图5(c)为一个实施例中又一种图像特征点的类型示意图;

图6为另一个实施例中图像特征点的跟踪方法的流程示意图;

图7为一个实施例中图像金字塔的示意图;

图8为一个实施例中图像特征点的跟踪方法的跟踪结果示意图;

图9为一个实施例中图像特征点的跟踪方法的效果对比图;

图10为一个实施例中图像特征点的跟踪装置的结构示意图;

图11为另一个实施例中图像特征点的跟踪装置的结构示意图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

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

本发明提供的图像特征点的跟踪方法,可以应用于如图1所示的应用场景当中,图1为一个实施例中图像特征点的跟踪方法的应用场景示意图,第一图像100a中可以包括待跟踪的多个图像特征点,如角点a和边缘点b,可以利用第一图像100a中的图像特征点的特征信息在第二图像100b中跟踪第一图像100a中的角点a和边缘点b的位置,其中,参考图1,该第一图像100a可以是通过摄像设备拍摄的某个物体如三角形或圆形物体得到的图像,第一图像100b可以是该摄像设备从另外一个位置或角度拍摄该物体得到的图像,采用本发明提供的图像特征点的跟踪方法能够在第二图像100b中对第一图像100a中图像特征点进行准确且快速地跟踪。

在一个实施例中,提供了一种图像特征点的跟踪方法,参考图2,图2为一个实施例中图像特征点的跟踪方法的流程示意图,该图像特征点的跟踪方法可以包括如下步骤:

步骤s101,确定目标特征点在第二图像中投影的极线。

如图3所示,图3为一个实施例中第一图像和第二图像的关系示意图,目标特征点x是指第一图像110中的特征点,用于标识第一图像110的图像特征的关键像素点,可以包括角点和边缘点等特征点;极线是指目标特征点x在第二图像120中投影的极线,以摄像头拍摄的图像为例对该极线进行相关说明:

假设第一摄像头和第二摄像头分别从不同的位置和角度拍摄同一物体,得到第一图像110和第二图像120,设第一摄像头的空间坐标系为坐标系c,第一摄像头的空间坐标系为坐标系c',目标特征点x与坐标系c的原点形成了一条直线,直线上的所有点都会投影到第一图像110的目标特征点x上,例如深度为dx的空间点x,和无穷远时的空间点x∞等,空间点x在第二图像120上的投影点为x',空间点x在第二图像120上的投影点为x∞',投影点为x'和投影点为x∞'在第一图像110和第二图像120中可以连着一条直线l',该直线l'即为目标特征点x在第二图像120上的极线,该极线反映了第一图像110和第二图像120的映射关系,也就是说,若已知第一图像110的目标特征点,那么在第二图像120中与该目标特征点匹配映射点一定落在相对于目标特征点在第二图像120中投影的极线上。

本步骤可以通过目标特征点在第一图像中的位置信息等特征确定该目标特征点在第二图像中投影的极线,用于后续步骤在第二图像中的所述极线上对该目标特征点进行匹配跟踪。

步骤s102,获取位于极线上的起始跟踪点的第一灰度值。

本步骤主要是从第二图像中获取位于极线上的起始跟踪点的灰度值,为了提高对目标特征点的跟踪效率,可以从预存的第二图像的各个像素点的像素特征信息中提取与该起始跟踪点匹配的灰度值;其中,该起始跟踪点可以从该极线的各像素点中随机选取,也可以进一步通过特定的方式计算并选取出最优的起始跟踪点,以提高跟踪的效率。

步骤s103,获取目标特征点的第二灰度值和灰度梯度值。

本步骤可以从第一图像中获取该目标特征点的灰度值,并根据该灰度值计算该目标特征点在第一图像所在图像平面上的各个方向上的灰度变化值,即灰度梯度值,例如可以根据目标特征点的灰度值计算该目标特征点在第一图像的横向和纵向方向上的灰度梯度值。

步骤s104,根据起始跟踪点的第一灰度值以及目标特征点的第二灰度值和灰度梯度值,沿极线的方向跟踪目标特征点在第二图像中的位置。

其中,极线的方向是指极线两端延伸的方向。如图3,可以将投影点x∞'或x'设为起始跟踪点,本步骤可以根据第二图像120的投影点x∞'或x'的灰度值,以及第一图像110的目标特征点x的灰度值和灰度梯度值,在第二图像120中沿极线l'的方向对目标特征点x的位置进行跟踪。

上述图像特征点的跟踪方法,结合了目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值在第二图像的极线方向上对目标特征点进行跟踪,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还将特征点的跟踪范围限缩至极线方向,使得特征点跟踪模型得到简化,加快了运算速度,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持。

在一个实施例中,步骤s101中的确定目标特征点在第二图像中投影的极线的步骤可以包括:

获取目标特征点在第一图像中的位置;确定第一图像与第二图像的旋转平移关系;根据位置和旋转平移关系计算目标特征点在第二图像上投影的极线。

其中,目标特征点在第一图像中的位置可以通过目标特征点在第一图像中的位置坐标表示,本实施例主要是结合目标特征点在第一图像中的位置以及第一图像与第二图像之间的旋转平移关系计算该目标特征点在第二图像上投影的极线,其中,第一图像与第二图像之间的旋转平移关系可以根据第一图像与第二图像的空间坐标系确定,参考图3,作为其中一种计算方式,可以以摄像头拍摄的图像为例对该旋转平移关系以及极线的计算进行相关说明:

假设第一摄像头和第二摄像头分别从不同的位置和角度拍摄同一物体,得到第一图像110和第二图像120,其中,第一摄像头和第二摄像头可以为同一摄像头,设第一摄像头的空间坐标系为坐标系c,第一摄像头的空间坐标系为坐标系c',则坐标系c与坐标系c'之间存在旋转关系r,以及平移关系t,在坐标系c的空间点x,在坐标系c'下的对应空间点x'为x'=rx+t。

可以获取目标特征点x在第一图像110中的位置坐标,并假设第一摄像头和第二摄像头的内参矩阵均为k,第一摄像头和第二摄像头的旋转关系为r,平移关系为t,采用以下公式计算极线l'=[l1,l2,l3]t:

其中,l1,l2,l3为用于在第二图像120中描述极线l'的三个参量,x为目标特征点x的二维坐标的其次形式,表现为在x的二维坐标的末尾添加1,使x成为一个三维向量,使得上述公式能够成立,[kt]×表示kt的反对称矩阵,以[a]×为例对该反对称矩阵进行说明:反对称矩阵[a]×中的a为三维向量a=[a1,a2,a3]t,a1,a2,a3为向量a的三个参量,则反对称矩阵[a]×可以表示为:

进一步地,可以对上述用于计算极线l'=[l1,l2,l3]t的公式进行求解得到,极线l'的单位方向向量n可以表示为:

上述实施例根据目标特征点在第一图像中的位置以及第一图像和第二图像之间的旋转平移关系能够准确计算出该目标特征点在第二图像上投影的极线,还能够进一步准确计算出该极线的单位方向向量,有利于后续在极线上对目标特征点进行准确且快速地跟踪。

在一个实施例中,进一步地,还可以包括如下步骤:

根据目标特征点在第一图像中的位置和旋转平移关系,计算与目标特征点相对应的无穷远点在极线上投影的位置;根据无穷远点在极线上的位置确定起始跟踪点。

本实施例主要是基于目标特征点在第一图像中的位置和旋转平移关系选取第二图像中的起始跟踪点,用于对目标特征点进行跟踪。

参考图3,无穷远点x∞是指在第一图像110的坐标系c中,目标特征点x与第一图像的坐标系c的原点的连线上,距离x无穷远(dx=∞)的点x∞,作为其中一种计算方式,可以以摄像头拍摄的图像为例对无穷远点在极线上投影的位置的计算过程进行具体说明:

设第一摄像头和第二摄像头的内参矩阵均为k,第一摄像头和第二摄像头的旋转关系为r,平移关系为t,在确定目标特征点x在第一图像110中的二维位置坐标后,可以通过如下公式同时计算无穷远点在极线上投影的位置:

其中,表示无穷远点在极线上投影的二维位置坐标的齐次形式,x1,x2,x3为的三个参量,x∞'为无穷远点在极线上投影的二维位置坐标,为目标特征点x的二维位置坐标的其次形式。

上述实施例根据目标特征点的位置以及第一图像和第二图像之间的旋转平移关系,能够计算得到无穷远点在极线上的投影位置,可以根据该投影位置在第二图像中确定起始跟踪点,以无穷远点作为目标跟踪点的起始跟踪点使得运算更加简单高效,而且能够在第二图像中对第一图像中的多种类型的特征点进行有效跟踪。

在一个实施例中,步骤s104中的根据起始跟踪点的第一灰度值以及目标特征点的第二灰度值和灰度梯度值,沿极线的方向跟踪目标特征点在第二图像中的位置的步骤可以包括:

步骤s201,根据第一图像的目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值计算起始跟踪点在所述极线的方向上的位置偏差。

本步骤主要是根据目标特征点的灰度值、灰度梯度值,以及起始跟踪点的灰度值确定该起始跟踪点在所述极线的方向上的位置偏差量,该位置偏差量可以用于反映第二图像中的起始跟踪点与匹配点的位置偏差情况,匹配点是指在第二图像中与第一图像的所述目标特征点位置相匹配的跟踪点。

步骤s202,确定起始跟踪点在第二图像中的位置。

本步骤可以获取起始跟踪点在第二图像中的位置坐标等位置信息,第二图像的起始跟踪点的位置可以结合第一图像中的目标特征点的位置以及第一图像和第二图像的旋转平移关系进行计算,例如以目标特征点对应的无穷远点在极线上的投影点作为该起始跟踪点。

步骤s203,根据起始跟踪点在第二图像中的位置以及在极线的方向上的位置偏差确定目标特征点在第二图像中的位置。

本步骤根据起始跟踪点的所述位置以及该起始跟踪点在所述极线的方向上的位置偏差量确定目标特征点在第二图像中匹配点所在位置。

上述实施例通过起始跟踪点在极线的方向上的位置偏差和起始跟踪点的位置信息确定目标特征点在第二图像中的位置,能够准确反映处目标特征点在第二图像中的位置跟踪过程,该方案对目标特征点在第二图像中的位置的计算方式灵活多变,还可以通过多次迭代的方式多次计算所述位置偏差量以获取更高精度的位置偏差量,从而准确跟踪到目标特征点在第二图像中的位置。

在一个实施例中,进一步的,步骤s201中的根据第一图像的目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值计算起始跟踪点在所述极线的方向上的位置偏差可以包括如下步骤:

s301,将目标特征点的灰度值与起始跟踪点的灰度值进行作差,得到目标特征点与起始跟踪点的灰度偏差值。

本步骤主要是将第一图像中的目标特征点的灰度值与第二图像中的起始跟踪点的灰度值进行作差运算,获取目标特征点与起始跟踪点的灰度偏差。

s302,根据目标特征点的灰度梯度值计算目标特征点在极线的方向上的灰度梯度值。

可以先计算目标特征点分别在第一图像的横向和纵向上的灰度梯度值,再将该灰度梯度值在第二图像上的极线的单位方向向量投影得到所述目标特征点在极线的方向上的灰度梯度值。

具体来说,假设目标特征点在第一图像的横向灰度梯度值为ix,在第一图像的纵向灰度梯度值为iy,则目标特征点在极线的方向上的灰度梯度值可以表示为[ixiy]n,其中,n表示极线的单位方向向量。

s303,根据灰度偏差值和目标特征点在极线的方向上的灰度梯度值获取起始跟踪点在极线的方向上的位置偏差。

本实施例,将第一图像的目标特征点的灰度值与起始跟踪点的灰度值进行作差运算,得到目标特征点与起始跟踪点之间的灰度偏差值,该灰度偏差值可以用于反映目标特征点与起始跟踪点之间的灰度差异情况,利用该灰度偏差值以及该目标特征点在所述极线的方向上的灰度梯度值计算第二图像中所述起始跟踪点在该极线的方向上的位置偏差,结合了目标特征点与起始跟踪点的灰度差异情况以及目标特征点在极线的方向上的灰度梯度值两方面特征信息对第二图像中起始跟踪点的所述位置偏差进行计算,使得该位置偏差通过目标特征点与起始跟踪点的灰度差异情况进行体现,还结合目标特征点在极线的方向上的灰度梯度值,有利于从起始跟踪点准确而且快速地在第二图像中跟踪到与目标跟踪点相匹配的匹配点的位置。

在一个实施例中,进一步的,步骤s303中的根据所述灰度偏差值和所述目标特征点在极线的方向上的灰度梯度值获取所述起始跟踪点在极线的方向上的位置偏差的步骤可以包括:

将所述目标特征点在所述极线的方向上的灰度梯度值进行平方运算,得到目标特征点在极线的方向上的空间梯度值;根据目标特征点在极线的方向上的灰度梯度值与灰度偏差值的乘积获取图像偏差值;计算图像偏差值与目标特征点在极线的方向上的空间梯度值的比值;根据比值与极线的单位方向向量确定起始跟踪点在极线的方向上的位置偏差。

在本实施例中,可以在第一图像中以目标特征点为中心创建一矩形像素窗口w,进而计算目标特征点在极线的方向上的灰度梯度值,目标特征点在极线的方向上的灰度梯度值可以表示为:

s(u,v)=[ix(px+u,py+v)iy(px+u,py+v)]n

其中,px表示目标特征点在第一图像上的横坐标,py表示目标特征点在第一图像上的纵坐标,u和v表示矩阵像素窗口中的各个像素点的相对于目标特征点的位置坐标,n表示极线的单位方向向量,可以用于指示极线的方向,如果矩阵像素窗口w长为w,高为h,则u的取值范围是从-w/2到w/2,v的取值范围是从-h/2到h/2,s(u,v)表示目标特征点在极线的方向上的灰度梯度值,将该灰度梯度值进行平方运算可以得到目标特征点在极线的方向上的空间梯度值,可以采用如下公式计算所述空间梯度值:其中,m表示目标特征点在极线的方向上的空间梯度值。

可以通过如下公式计算第一图像和第二图像的图像偏差值:

其中,b表示所述图像偏差值,[i(px+u,py+v)-j(qx,qy)]为所述灰度偏差值,i(px+u,py+v)表示第一图像中点(px+u,py+v)的灰度值,j(qx,qy)表示第二图像中点(qx,qy)的灰度值,所述图像偏差值主要用于表示第一图像的目标特征点与第二图像的起始跟踪点的图像偏差信息,包括灰度偏差信息。

可以将所述图像偏差值和目标特征点在所述极线的方向上的空间梯度值的比值与极线的单位方向向量n的乘积n作为所述起始跟踪点在所述极线的方向上的位置偏差。

上述实施例通过计算目标特征点在所述极线的方向上的空间梯度值,以及目标特征点与起始跟踪点的图像偏差值,根据图像偏差值与空间梯度值的比值确定起始跟踪点在所述极线的方向上的位置偏差,进一步细化了对位置偏差进行计算的方式,全面考虑了目标特征点与起始跟踪点的图像偏差情况,在例如图像偏差值为零时得到的起始跟踪点在所述极线的方向上的位置偏差也为零,能够准确跟踪目标特征点在第二图像中的位置。

在一个实施例中,进一步的,步骤s302中的根据目标特征点的灰度梯度值计算目标特征点在极线的方向上的灰度梯度值的步骤可以包括:

根据目标特征点在第一图像的横向和纵向方向上的灰度梯度值,构建目标特征点的灰度梯度矩阵;获取极线的单位方向向量;将灰度梯度矩阵与单位方向向量的乘积设为目标特征点在极线的方向上的灰度梯度值。

本实施例中,目标特征点在第一图像的横向方向上的灰度梯度值可以反映目标特征点在横向方向上的灰度变化趋势,纵向方向上的灰度梯度值可以反映目标特征点在纵向方向上的灰度变化趋势,目标特征点在第一图像的横向和纵向上的灰度梯度值可以基于目标特征点在第一图像中的灰度值进行计算,灰度梯度矩阵为同时携带了目标特征点在第一图像的横向方向上的灰度梯度值以及在纵向方向上的灰度梯度值的矩阵,极线的单位方向向量可以基于目标特征点在第一图像位置以及第一图像和第二图像的旋转平移关系进行计算,将灰度梯度矩阵与单位方向向量进行相乘可以得到目标特征点在第二图像上的极线的方向上的灰度梯度值,用于反映目标特征点在极线的方向上的灰度变化趋势。

具体来说,横向和纵向是指在第一图像中相互垂直的两坐标轴所在方向,可以在第一图像中建立x-y直角坐标系,横向和纵向分别对应x轴和y轴的方向。基于第一图像中的每一个像素点的灰度值i(x,y),可以计算该像素点在x轴方向上的灰度梯度值ix(x,y),以及在y轴的方向上的灰度梯度值iy(x,y),可以把第一图像中像素点的灰度值分布看作二维离散函数,第一图像的各个像素点的灰度梯度值可以对应于该二维离散函数的导数,计算导数的方式有很多种,为了计算简便,可以采取如下公式对目标特征点在x轴和y轴方向上的灰度梯度值进行计算:

ix(x,y)=[i(x+1,y)-i(x-1,y)]/2

iy(x,y)=[i(x,y+1)-i(x,y-1)]/2

其中,i(x+1,y)表示目标特征点在x轴方向上后一个像素点的灰度值、i(x-1,y)表示目标特征点在x轴方向上前像素点的灰度值,i(x,y+1)表示目标特征点在y轴方向上后一个像素点的灰度值,i(x,y-1)表示目标特征点在y轴方向上前一个像素点的灰度值,ix(x,y)表示目标特征点在x轴方向的灰度梯度值,iy(x,y)表示目标特征点在y轴方向的灰度梯度值。

可以采用如下矩阵作为目标特征点的所述灰度梯度矩阵:

t(x,y)=[ix(x,y)iy(x,y)]

其中,t(x,y)表示目标特征点的灰度梯度矩阵,该矩阵包括目标特征点在x轴方向的灰度梯度值ix(x,y)和y轴方向上的灰度梯度值iy(x,y)。

假设极线的单位方向向量为n,则目标特征点在极线的方向上的灰度梯度值可以采用如下公式进行表达:

s(x,y)=[ix(x,y)iy(x,y)]n

其中,s(x,y)表示所述目标特征点在所述极线的方向上的灰度梯度值。

上述实施例根据第一图像的目标特征点分别在横纵方向上的灰度值变化值以及极线的单位方向向量获取目标特征点在该极线的方向上的灰度梯度值,简化了计算目标特征点在极线的方向上的灰度梯度值的步骤,准确反映目标特征点在极线的方向上的灰度变化值,有利于提高在第二图像中对目标特征点进行跟踪的准确性和效率。

在一个实施例中,进一步的,还可以包括如下步骤:

步骤s501,在第一图像中创建以目标特征点为中心的矩形像素窗口。

本步骤可以在第一图像中以目标特征点为几何中心,生成一矩形像素窗口w,该矩形像素窗口w的长为w,高为h,该矩形像素窗口w中各个像素点的相对位置坐标取值范围为如横坐标u的取值范围可以从-w/2到w/2,纵坐标v的取值范围可以从-h/2到h/2。

步骤s502,获取矩形像素窗口内各个像素点的灰度值;根据灰度值计算所述目标特征点在矩形像素窗口的横向和纵向方向上的灰度梯度值。

此步骤中,目标特征点在该矩形像素窗口的横向方向的灰度梯度值可以表示为ix(x,y),在纵向方向上的灰度梯度值可以表示为iy(x,y),其中,对于该矩形像素窗口中的每一个像素点的灰度值i(x,y),为了计算简便,可以采取如下公式对目标特征点在该矩形像素窗口的x轴和y轴方向上的灰度梯度值进行计算:

ix(x,y)=[i(x+1,y)-i(x-1,y)]/2

iy(x,y)=[i(x,y+1)-i(x,y-1)]/2

其中,i(x+1,y)表示目标特征点在x轴方向后一个像素点的灰度值、i(x-1,y)表示目标特征点在x轴方向前像素点的灰度值,i(x,y+1)表示目标特征点在y轴方向上的后一个像素点的灰度值,i(x,y-1)表示目标特征点在y轴方向上的前一个像素点的灰度值。

步骤s503,根据灰度梯度值计算目标特征点在矩形像素窗口中的空间梯度矩阵,计算空间梯度矩阵的特征值。

本步骤可以采用如下矩阵作为目标特征点的所述空间梯度矩阵:

其中,m(x,y)表示所述目标特征点在矩阵像素窗口w内的空间梯度矩阵,中间变量ix(x,y)2=ix·ix,iy(x,y)2=iy·iy和ixy(x,y)=ix·iy,g(u,v)表示高斯加权函数,在空间梯度矩阵中采用高斯加权函数能够提高抵抗图像噪点的能力,高斯加权函数的表达式为:然后可以求解出上述空间梯度矩阵m(x,y)的特征值λ1和λ2。

步骤s504,根据特征值确定目标特征点的类型。

本步骤主要是根据步骤s503求解得到的空间梯度矩阵m(x,y)的特征值λ1和λ2确定目标特征点的类型,包括角点和边缘点等。

参考图4,图4为一个实施例中图像特征点的特征值示意图,图4中330a所指示的箭头表示λ1增大的方向,330b所指示的箭头表示λ2增大的方向,而330c表示的是平面区域,λ1和λ2均很小,330d和330f表示的都是边缘点所在区域,在330d所指示区域中λ1远小于λ2,在330f所指示区域中λ2远小于λ1,而330e所指示的区域为角点区域,λ1和λ2均较大,并且λ1≈λ2。根据该特征值可以确定目标特征点的类型。如图5(a)至图5(c)所示,图5(a)至图5(c)的图像均具有阴影区域350,图5(a)有第一特征点351,图5(a)有第二特征点352,图5(c)有第三特征点353,其中,第一特征点351在图5(a)的各个箭头所示方向上灰度值变化均不明显,即与图4中330c的平面区域对应,第二特征点352在图5(b)的箭头352a所示方向上灰度值变化不明显而在箭头352b所示方向上灰度值变化较为明显,可以与图4中的330d和330f的角点区域对应,第三特征点353在图5(c)的各个箭头所示方向上灰度值变化均较为明显,可以与图4中的330e的角点区域对应。

在传统方式中,一般会选取图像的角点作为关键点,因为技术人员通常会认为角点具有很好的特性:它不随图像大的变形而改变,也对于图像小的变形不敏感。然而,实际上在实际使用中,图像中能够提取的稳定的角点是十分有限的,如果作为关键点的角点过少,那能成功跟踪的角点就更少了,这样会极大地影响后续的工作。为了在图像中增加关键点的数目,可以将图像中的边缘点如直线边缘点也作为关键点,该方案具有在可提取的数目上的优势以增加第一图像关键点的数量,可以提高跟踪的稳定性和鲁棒性。

基于此,为了方便描述可以假设第一图像的各个像素点的空间梯度矩阵m(x,y)的特征值λ1均小于λ2,对于满足λ2(x,y)大于α×max(λ2)和λ1(x,y)小于β×max(λ1)条件的点(x,y),即可作为第一图像中的边缘点。其中,α和β为预先设定的阈值,一般的,0<α,β<1,max(λ1)表示第一图像中最大的λ1值,max(λ2)表示第一图像中最大的λ2值。可选的,可以设置一边缘点间最小距离d,对得到的多个所述边缘点进行筛选,获得第一图像的边缘点集。

在一个实施例中,提供了一种图像特征点的跟踪方法,参考图6,图6为另一个实施例中图像特征点的跟踪方法的流程示意图,该图像特征点的跟踪方法可以包括如下步骤:

步骤s401,a.对第一图像和第二图像分别建立图像金字塔。

本步骤主要是分别对第一图像i和第二图像j建立图像金字塔{il}l=0...lm和{jl}l=0...lm,图像金字塔可以包括多层图像,lm表示给定的金字塔层数,一般为3,如图7所示,图7为一个实施例中图像金字塔的示意图,图像金字塔化一般包括两个步骤:首先对第一图像进行一次低通滤波进行平滑,然后对第一图像的像素点在横纵两个方向上进行1/2抽样处理,从而得到一系列尺度缩小的图像。当l=0时,为第一图像的原图,又称底层图像,当向金字塔的上层移动时,尺寸和分辨率降低,伴随的细节就越少。可以从顶层开始对目标特征点进行跟踪,先获得一个粗糙的结果,然后将结果作为下一层的初始点再进行跟踪,不断迭代直到到达第0层即底层图像,作为一种由粗到细分析策略。

步骤s402,b.在第一图像的本层图像中确定目标特征点的位置。

其中,本层图像为图像金字塔中的本层图像,是指当前用于对目标特征点进行跟踪的图像层,假设当前在第3层对目标特征点进行跟踪则本层图像为第3层图像。

本步骤主要是确认本层图像中目标特征点的位置,可以设目标特征点如边缘点u在第一图像i的金字塔第l层图il上的位置为其中,px和py可以表示边缘点u的坐标。

步骤s403,c.根据目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对目标特征点进行跟踪,获取目标跟踪点在第二图像的本层图像中与目标特征点相匹配的跟踪点。

在本步骤中,可以在矩阵像素窗口w中计算目标特征点在该极线的方向上的灰度梯度值:s(u,v)=[ix(px+u,py+v)iy(px+u,py+v)]n;

其中,u和v表示矩阵像素窗口w中的各个像素点的相对于目标特征点的位置坐标,如果矩阵像素窗口w长为w,高为h,则u的取值范围是从-w/2到w/2,v的取值范围是从-h/2到h/2,ix(x,y)表示第一图像il在(x,y)位置的像素点在x轴方向的灰度梯度值,iy(x,y)表示在y轴方向上的灰度梯度值,n表示极线的单位方向向量,s(u,v)表示目标特征点在极线的方向上的灰度梯度值,并根据灰度梯度值计算目标特征点在第l层的空间梯度值

本步骤可以初始化位置迭代参数γ0=[00]t,用于在图像jl中进行迭代处理。

假设起始跟踪点在图像jl的位置是其中,为预设的搜索偏移位置中的参数,其中可以预设为[00]t,根据预设变量k从1到k,可以采用以下迭代方式计算图像偏差值:

更新位置迭代参数使k=k+1继续在本层图像中对该迭代参数进行迭代操作,在l层金字塔得到最终跟踪偏移量为:dl=γk

步骤s404,d.将跟踪点设置为第二图像的本层图像的下一层图像的起始跟踪点;

本步骤初始化在第二图像中的本层图像的下一层金字塔图像的跟踪偏移位置gl-1=2(gl+dl)。

步骤s405,e.重复上述步骤b至d,直到跟踪点为第二图像的底层图像的跟踪点。

本步骤可以使l=l-1重复上述步骤b至d,直到得到的跟踪点为所述第二图像的图像金字塔的底层图像的跟踪点,则目标特征点如边缘点u在第二图像j中的匹配的点v的位置为v=u+g0+d0

通过本发明实施例提供的技术方案对目标特征点进行跟踪,其跟踪结果可以参考图8,图8为一个实施例中图像特征点的跟踪方法的跟踪结果示意图,图8示出了第一图像710,第二图像720,第一图像710中的圆圈标识了该图像中的图像特征点,第二图像720的圆圈分别标识了第一图像710的所述图像特征点的位置以及与该图像特征点匹配的跟踪点的位置,其连线即为所述图像特征点在第二图像720上投影的极线。

进一步地,参考图9,图9为一个实施例中图像特征点的跟踪方法的效果对比图,图9示出了三种方法对图像特征点跟踪的效果图,纵坐标表示特征点的匹配率,匹配率越高说明对图像特征点的跟踪效果越好,其中,l1所指的曲线为本发明实施例提供的图像特征点的跟踪方法的数据曲线,l2所指的曲线为传统二维光流法跟踪得到的数据曲线,l3所指的曲线为传统基于模板的极线搜索法得到的数据曲线,可以看出,本发明实施例提供的图像特征点的跟踪方法在匹配成功率上具有明显的优势,比传统的方法更简单,鲁棒性更强,能够极大地增加成功匹配的关键点数目,为后续机器视觉工作提供更优的数据支持,而且采用图像金字塔和上述任一项实施例的图像特征点的跟踪方法相结合的方式对图像的特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

在一个实施例中,提供了一种图像特征点的跟踪装置,参考图10,图10为一个实施例中图像特征点的跟踪装置的结构示意图,该图像特征点的跟踪装置可以包括:

极线确定模块101,用于确定目标特征点在第二图像中投影的极线;其中,所述目标特征点为第一图像的特征点;灰度值获取模块102,用于获取位于所述极线上的起始跟踪点的第一灰度值;梯度值获取模块103,用于获取所述目标特征点的第二灰度值和灰度梯度值;位置跟踪模块104,用于根据所述起始跟踪点的第一灰度值以及所述目标特征点的第二灰度值和灰度梯度值,沿所述极线的方向跟踪所述目标特征点在所述第二图像中的位置。

上述图像特征点的跟踪装置,结合了目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值在第二图像的极线方向上对目标特征点进行跟踪,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还将特征点的跟踪范围限缩至极线方向,使得特征点跟踪模型得到简化,加快了运算速度,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持。

在一个实施例中,位置跟踪模块104可以包括:

偏差计算单元,用于根据所述第一图像的目标特征点的灰度值、灰度梯度值以及所述起始跟踪点的灰度值计算所述起始跟踪点在所述极线的方向上的位置偏差;第一位置确定单元,用于确定所述起始跟踪点在第二图像中的位置;第二位置确定单元,用于根据所述起始跟踪点在第二图像中的位置以及在所述极线的方向上的位置偏差确定所述目标特征点在所述第二图像中的位置。

在一个实施例中,偏差计算单元可以包括:

作差运算单元,用于将所述目标特征点的灰度值与起始跟踪点的灰度值进行作差,得到所述目标特征点与起始跟踪点的灰度偏差值;梯度值计算单元,用于根据所述目标特征点的灰度梯度值计算所述目标特征点在所述极线的方向上的灰度梯度值;偏差获取单元,用于根据所述灰度偏差值和所述目标特征点在极线的方向上的灰度梯度值获取所述起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,偏差获取单元可以包括:

平方运算单元,用于将所述目标特征点在所述极线的方向上的灰度梯度值进行平方运算,得到所述目标特征点在所述极线的方向上的空间梯度值;偏差值计算单元,用于根据所述目标特征点在极线的方向上的灰度梯度值与所述灰度偏差值的乘积获取图像偏差值;位置偏差确定单元,用于计算所述图像偏差值与所述目标特征点在所述极线的方向上的空间梯度值的比值;根据所述比值与极线的单位方向向量确定所述起始跟踪点在所述极线的方向上的位置偏差。

在一个实施例中,梯度值计算单元可以包括:

矩阵构建单元,用于根据所述目标特征点在第一图像的横向和纵向方向上的灰度梯度值,构建所述目标特征点的灰度梯度矩阵;向量获取单元,用于获取所述极线的单位方向向量;梯度值获取单元,用于将所述灰度梯度矩阵与所述单位方向向量的乘积设为所述目标特征点在极线的方向上的灰度梯度值。

在一个实施例中,极线确定模块101可以包括:

位置获取单元,用于获取所述目标特征点在第一图像中的位置;关系确定单元,用于确定所述第一图像与第二图像的旋转平移关系;极线计算单元,用于根据所述位置和旋转平移关系计算所述目标特征点在第二图像上投影的所述极线。

在一个实施例中,还可以包括:

投影位置计算单元,用于根据所述目标特征点在第一图像中的位置和旋转平移关系,计算与所述目标特征点相对应的无穷远点在所述极线上投影的位置;跟踪点确定单元,用于根据所述无穷远点在所述极线上的位置确定所述起始跟踪点。

在一个实施例中,还可以包括:

窗口创建单元,用于在所述第一图像中创建以所述目标特征点为中心的矩形像素窗口;梯度计算单元,用于获取所述矩形像素窗口内各个像素点的灰度值;根据所述灰度值计算所述目标特征点在所述矩形像素窗口的横向和纵向方向上的灰度梯度值;特征值计算单元,用于根据所述灰度梯度值计算所述目标特征点在所述矩形像素窗口中的空间梯度矩阵,计算所述空间梯度矩阵的特征值;类型确定单元,用于根据所述特征值确定所述目标特征点的类型;其中,所述目标特征点的类型包括角点和边缘点。

在一个实施例中,提供了一种图像特征点的跟踪装置,参考图11,图11为另一个实施例中图像特征点的跟踪装置的结构示意图,该图像特征点的跟踪装置可以包括:

图像金字塔建立模块401,用于执行步骤a.对第一图像和第二图像分别建立图像金字塔;其中,所述图像金字塔包括多层图像;特征点位置确定模块402,用于执行步骤b.在所述第一图像的本层图像中确定所述目标特征点的位置;其中,所述本层图像为图像金字塔中的本层图像;跟踪点确定模块403,用于执行步骤c.根据所述目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对所述目标特征点进行跟踪,获取所述目标跟踪点在第二图像的本层图像中与所述目标特征点相匹配的跟踪点;跟踪点选取模块404,用于执行步骤d.将所述跟踪点设置为所述第二图像的本层图像的下一层图像的所述起始跟踪点;目标位置确定模块405,用于执行步骤e.重复步骤b至d,直到所述跟踪点为所述第二图像的底层图像的跟踪点。

上述实施例提供的图像特征点的跟踪装置,采用图像金字塔和上述任一项实施例的图像特征点的跟踪方法相结合的方式对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

本发明的图像特征点的跟踪装置与本发明的图像特征点的跟踪方法一一对应,关于图像特征点的跟踪装置的具体限定可以参见上文中对于图像特征点的跟踪方法的限定,在上述图像特征点的跟踪方法的实施例阐述的技术特征及其有益效果均适用于图像特征点的跟踪装置的实施例中,在此不再赘述。上述图像特征点的跟踪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,如个人计算机,其内部结构图可以如图12所示,图12为一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像特征点的跟踪方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上任一项实施例所述的图像特征点的跟踪方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

确定目标特征点在第二图像中投影的极线;获取位于极线上的起始跟踪点的第一灰度值;获取目标特征点的第二灰度值和灰度梯度值;根据起始跟踪点的第一灰度值以及目标特征点的第二灰度值和灰度梯度值,沿极线的方向跟踪目标特征点在第二图像中的位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取目标特征点在第一图像中的位置;确定第一图像与第二图像的旋转平移关系;根据位置和旋转平移关系计算目标特征点在第二图像上投影的极线。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据目标特征点在第一图像中的位置和旋转平移关系,计算与目标特征点相对应的无穷远点在极线上投影的位置;根据无穷远点在极线上的位置确定起始跟踪点。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据第一图像的目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值计算起始跟踪点在所述极线的方向上的位置偏差;确定起始跟踪点在第二图像中的位置;根据起始跟踪点在第二图像中的位置以及在极线的方向上的位置偏差确定目标特征点在第二图像中的位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将目标特征点的灰度值与起始跟踪点的灰度值进行作差,得到目标特征点与起始跟踪点的灰度偏差值;根据目标特征点的灰度梯度值计算目标特征点在极线的方向上的灰度梯度值;根据灰度偏差值和目标特征点在极线的方向上的灰度梯度值获取起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将所述目标特征点在所述极线的方向上的灰度梯度值进行平方运算,得到目标特征点在极线的方向上的空间梯度值;根据目标特征点在极线的方向上的灰度梯度值与灰度偏差值的乘积获取图像偏差值;计算图像偏差值与目标特征点在极线的方向上的空间梯度值的比值;根据比值与极线的单位方向向量确定起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据目标特征点在第一图像的横向和纵向方向上的灰度梯度值,构建目标特征点的灰度梯度矩阵;获取极线的单位方向向量;将灰度梯度矩阵与单位方向向量的乘积设为目标特征点在极线的方向上的灰度梯度值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

在第一图像中创建以目标特征点为中心的矩形像素窗口;获取矩形像素窗口内各个像素点的灰度值;根据灰度值计算所述目标特征点在矩形像素窗口的横向和纵向方向上的灰度梯度值;根据灰度梯度值计算目标特征点在矩形像素窗口中的空间梯度矩阵,计算空间梯度矩阵的特征值;根据特征值确定目标特征点的类型。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

a.对第一图像和第二图像分别建立图像金字塔;b.在第一图像的本层图像中确定目标特征点的位置;c.根据目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对目标特征点进行跟踪,获取目标跟踪点在第二图像的本层图像中与目标特征点相匹配的跟踪点;d.将跟踪点设置为第二图像的本层图像的下一层图像的起始跟踪点;e.重复上述步骤b至d,直到跟踪点为第二图像的底层图像的跟踪点。

上述任一项实施例所述的计算机设备,通过所述处理器上运行的计算机程序,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还对特征点跟踪模型进行了简化,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持,还可以结合图像金字塔对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

本领域普通技术人员可以理解实现如上任一项实施例所述的图像特征点的跟踪方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

据此,在一个实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上任一项实施例所述的图像特征点的跟踪方法。

在一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

确定目标特征点在第二图像中投影的极线;获取位于极线上的起始跟踪点的第一灰度值;获取目标特征点的第二灰度值和灰度梯度值;根据起始跟踪点的第一灰度值以及目标特征点的第二灰度值和灰度梯度值,沿极线的方向跟踪目标特征点在第二图像中的位置。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取目标特征点在第一图像中的位置;确定第一图像与第二图像的旋转平移关系;根据位置和旋转平移关系计算目标特征点在第二图像上投影的极线。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据目标特征点在第一图像中的位置和旋转平移关系,计算与目标特征点相对应的无穷远点在极线上投影的位置;根据无穷远点在极线上的位置确定起始跟踪点。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据第一图像的目标特征点的灰度值、灰度梯度值以及起始跟踪点的灰度值计算起始跟踪点在所述极线的方向上的位置偏差;确定起始跟踪点在第二图像中的位置;根据起始跟踪点在第二图像中的位置以及在极线的方向上的位置偏差确定目标特征点在第二图像中的位置。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将目标特征点的灰度值与起始跟踪点的灰度值进行作差,得到目标特征点与起始跟踪点的灰度偏差值;根据目标特征点的灰度梯度值计算目标特征点在极线的方向上的灰度梯度值;根据灰度偏差值和目标特征点在极线的方向上的灰度梯度值获取起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将所述目标特征点在所述极线的方向上的灰度梯度值进行平方运算,得到目标特征点在极线的方向上的空间梯度值;根据目标特征点在极线的方向上的灰度梯度值与灰度偏差值的乘积获取图像偏差值;计算图像偏差值与目标特征点在极线的方向上的空间梯度值的比值;根据比值与极线的单位方向向量确定起始跟踪点在极线的方向上的位置偏差。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据目标特征点在第一图像的横向和纵向方向上的灰度梯度值,构建目标特征点的灰度梯度矩阵;获取极线的单位方向向量;将灰度梯度矩阵与单位方向向量的乘积设为目标特征点在极线的方向上的灰度梯度值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

在第一图像中创建以目标特征点为中心的矩形像素窗口;获取矩形像素窗口内各个像素点的灰度值;根据灰度值计算所述目标特征点在矩形像素窗口的横向和纵向方向上的灰度梯度值;根据灰度梯度值计算目标特征点在矩形像素窗口中的空间梯度矩阵,计算空间梯度矩阵的特征值;根据特征值确定目标特征点的类型。

在一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

a.对第一图像和第二图像分别建立图像金字塔;b.在第一图像的本层图像中确定目标特征点的位置;c.根据目标特征点的位置利用如上任一项实施例所述的图像特征点的跟踪方法对目标特征点进行跟踪,获取目标跟踪点在第二图像的本层图像中与目标特征点相匹配的跟踪点;d.将跟踪点设置为第二图像的本层图像的下一层图像的起始跟踪点;e.重复上述步骤b至d,直到跟踪点为第二图像的底层图像的跟踪点。

上述任一项实施例所述的计算机可读存储介质,通过其存储的计算机程序,能够增加对目标特征点成功跟踪匹配的特征点数目,提高了对目标特征点进行跟踪的鲁棒性和稳定性,还对特征点跟踪模型进行了简化,在保证稳定性的前提下,缩短了对目标特征点进行跟踪的时间,提高了跟踪效率,有利于为后续的图像信息处理如机器视觉工作提供更有效的数据支持,还可以结合图像金字塔对图像特征点进行跟踪,进一步提高了在不同图像之间对图像特征点进行跟踪的稳定性和鲁棒性。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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