一种基于影像的相邻帧间姿态信息的计算方法及相关装置与流程

文档序号:17470819发布日期:2019-04-20 05:48阅读:301来源:国知局
一种基于影像的相邻帧间姿态信息的计算方法及相关装置与流程

本申请涉及slam技术领域,特别涉及一种基于影像的相邻帧间姿态信息的计算方法、系统、装置及计算机可读存储介质。



背景技术:

slam,simultaneouslocalizationandmapping,同步定位与地图构建,描述了机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的的概念。slam通常可由相机拍摄得到的图像数据或三维激光扫描仪扫描得到的点云数据经复杂的处理得到,本申请针对其中的相机式。

考虑到实际场景的多样性和复杂性,为了得到完整的数据,通常会将相机系统放置在移动机器人上,以通过该移动机器人在目标场景下的不断移动获得完整的图像数据。但机器人在移动过程中会随着时间的增加使得包括运动误差在内的各式误差逐渐累计,因此在slam流程中,比较重要的一步就是确定每对相邻帧中后一帧相对于前一帧的姿态信息(旋转量和平移量)来还原移动机器人的移动轨迹,以根据该移动轨迹尽可能的抑制误差。

现有技术在计算相邻帧间的姿态信息时,通常采用特征点法或直接法,其中,特征点法是从相邻的两帧图像中提取得到特征点,再根据两帧图像中特征点的匹配特征点间的匹配关系得到姿态信息;直接法区别于特征点法更多的根据图像本身中包含的特征,提取得到具有深度信息的直接法点(提取方法区别于特征点法提取出特征点的方式),再根据两帧图像中直接法点间的匹配关系得到姿态信息。

特征点法虽然精度相对较高,但对环境要求也较高,在场景的结构纹理较为稀少或重复纹理的情况下易出问题,最后的结果点云也过于稀疏;直接法借助图像中本身包含的大多数信息,对于环境的结构纹理要求较低,也可以得到较为稠密的地图点云,但受场景光照变化影响较大,相机位姿变化不能过大。综上所述,无论使用特征点法还是直接法,由于各种限制条件的存在,使得最终得到姿态信息精度不高。

因此,如何克服现有技术在计算姿态信息时存在的技术缺陷,提供一种精度更高、更优的姿态的计算方法,是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的主要目的是提供一种基于影像的相邻帧间姿态信息的计算方法,区别于单纯使用特征点法或直接法计算姿态信息的现有技术,本申请以循环加权的方式轮流使用这两种方式,将使用一种方式计算得到姿态信息加权后作为新的输入数据使用另一种方式再次计算,以突出或放大上一次计算得到的姿态信息中存在的不明显的误差,从而在经过多次循环加权后,误差抑制更加彻底,得到精度更高、更准确的姿态信息。

本申请的另一目的在于提供了一种基于影像的相邻帧间姿态信息的计算系统、装置及计算机可读存储介质。

为实现上述目的,本申请提供一种基于影像的相邻帧间姿态信息的计算方法,该方法包括:

s1:获取目标相机对目标场景拍摄得到的视频流数据;

s2:利用循环加权法依次求解所述视频流数据中每对相邻帧的最优姿态;其中,所述循环加权法为轮流使用特征点法和直接法进行相邻帧间匹配的循环,并在循环中使用基于所述特征点法或所述直接法计算得到权值不断调整用于计算姿态的特征点,以得到与最优特征点对应的最优姿态的方法。

可选的,利用循环加权法依次求解所述视频流数据中每对相邻帧的最优姿态,包括:

s21:利用所述特征点法从目标相邻帧中提取得到特征点,并将所述特征点作为当前的特征点;

s22:利用所述特征点法计算得到与当前的特征点对应的姿态;

s23:判断当前的姿态是否符合预设要求;

s24:若当前的姿态不符合所述预设要求,则轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将所述加权后特征点作为新的特征点返回s22;

s25:若当前的姿态符合所述预设要求,则从已计算得到的各姿态中选取具有平均重投影误差最小的姿态作为最优姿态输出;

其中,所述直接法权值根据所述特征点邻域范围内的直接法点的数量和灰度差值计算得到,所述直接法点为利用所述直接法从所述目标相邻帧中提取出的点;所述特征点法权值根据匹配特征点的特征参数计算得到,所述特征参数包括特征距离、灰度差值、与对应极线的垂直距离、距图像中心距离的平均值中的至少一项。

可选的,该基于影像的相邻帧间姿态信息的计算方法还包括:

利用新计算得到姿态修正计算得到上一次姿态的特征点,以基于修正后的新特征点进行加权。

可选的,使用直接法权值对当前的特征点进行加权,包括:

利用所述直接法从所述目标相邻帧中提取得到所述直接法点;

统计每个当前的特征点在预设邻域范围内覆盖的直接法点的个数;

将所述个数小于预设数量的特征点的直接法权值设置为0;

将所述个数不小于所述预设数量的特征点的直接法权值设置为覆盖范围内的各直接法点的灰度差值平方的均值。

可选的,使用特征点法权值对当前的特征点进行加权,包括:

利用公式计算得到所述特征点法权值;其中w1为每对匹配特征点的特征距离,w2为每对匹配特征点的灰度差值;w3为每对匹配特征点的重投影误差,w4为每对匹配特征点与对应极线的垂直距离,w5为每对匹配特征点距图像中心距离的平均值,a1至a5分别为对应w1至w5的自定义系数;

将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点。

可选的,在将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点之前,还包括:

对各匹配特征点的w进行归一化处理。

可选的,判断当前的姿态是否符合预设要求,包括:

判断当前已执行的加权次数是否超过预设次数;

或,

判断当前的姿态与上一次得到的姿态间的差异是否小于预设差异阈值。

为实现上述目的,本申请还提供了一种基于影像的相邻帧间姿态信息的计算系统,该系统包括:

视频流数据获取单元,用于获取目标相机对目标场景拍摄得到的视频流数据;

循环加权求解单元,用于利用循环加权法依次求解所述视频流数据中每对相邻帧的最优姿态;其中,所述循环加权法为轮流使用特征点法和直接法进行相邻帧间匹配的循环,并在循环中使用基于所述特征点法或所述直接法计算得到权值不断调整用于计算姿态的特征点,以得到与最优特征点对应的最优姿态的方法。

可选的,所述循环加权求解单元包括:

特征点提取子单元,用于利用所述特征点法从目标相邻帧中提取得到特征点,并将所述特征点作为当前的特征点;

姿态计算子单元,用于利用所述特征点法计算得到与当前的特征点对应的姿态;

预设要求符合判断子单元,用于判断当前的姿态是否符合预设要求;

循环加权子单元,用于当当前的姿态不符合所述预设要求时,轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将所述加权后特征点作为新的特征点返回所述姿态计算子单元;

最优姿态输出子单元,用于当当前的姿态符合所述预设要求时,从已计算得到的各姿态中选取具有平均重投影误差最小的姿态作为最优姿态输出。

其中,所述直接法权值根据所述特征点邻域范围内的直接法点的数量和灰度差值计算得到,所述直接法点为利用所述直接法从所述目标相邻帧中提取出的点;所述特征点法权值根据匹配特征点的特征参数计算得到,所述特征参数包括特征距离、灰度差值、与对应极线的垂直距离、距图像中心距离的平均值中的至少一项。

可选的,该基于影像的相邻帧间姿态信息的计算系统还包括:

特征点修正单元,用于利用新计算得到姿态修正计算得到上一次姿态的特征点,以基于修正后的新特征点进行加权。

可选的,该基于影像的相邻帧间姿态信息的计算系统还包括:

直接法点提取单元,用于利用所述直接法从所述目标相邻帧中提取得到所述直接法点;

个数统计单元,用于统计每个当前的特征点在预设邻域范围内覆盖的直接法点的个数;

第一直接法权值设置单元,用于将所述个数小于预设数量的特征点的直接法权值设置为0;

第二直接法权值设置单元,用于将所述个数不小于所述预设数量的特征点的直接法权值设置为覆盖范围内的各直接法点的灰度差值平方的均值。

可选的,该基于影像的相邻帧间姿态信息的计算系统还包括:

特征点法权值计算单元,用于利用公式

计算得到所述特征点法权值;其中w1为每对匹配特征点的特征距离,w2为每对匹配特征点的灰度差值;w3为每对匹配特征点的重投影误差,w4为每对匹配特征点与对应极线的垂直距离,w5为每对匹配特征点距图像中心距离的平均值,a1至a5分别为对应w1至w5的自定义系数;

特征点法权值加权单元,用于将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点。

可选的,该基于影像的相邻帧间姿态信息的计算系统还包括:

归一化处理单元,用于在将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点之前,对各匹配特征点的w进行归一化处理。

可选的,所述预设要求符合判断子单元包括:

次数判定模块,用于判断当前已执行的加权次数是否超过预设次数;

或,

差异判断模块,用于判断当前的姿态与上一次得到的姿态间的差异是否小于预设差异阈值。

为实现上述目的,本申请还提供了一种基于影像的相邻帧间姿态信息的计算装置,该装置包括:

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

处理器,用于执行所述计算机程序时实现如上述内容所描述的基于影像的相邻帧间姿态信息的计算方法。

为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的基于影像的相邻帧间姿态信息的计算方法。

显然,本申请所提供的基于影像的相邻帧间姿态信息的计算方法,区别于单纯使用特征点法或直接法计算姿态信息的现有技术,本申请以循环加权的方式轮流使用这两种方式,将使用一种方式计算得到姿态信息加权后作为新的输入数据使用另一种方式再次计算,以使得通过一种方式表现不明显的异常或错误通过另一种方式进行放大,使得两种方式的优点得到结合,在经过多次循环加权后,可得到精度更高、更准确的姿态信息。本申请同时还提供了一种基于影像的相邻帧间姿态信息的计算系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例提供的一种基于影像的相邻帧间姿态信息的计算方法的流程图;

图2为本申请实施例提供的计算方法中一种循环加权的方法的流程图;

图3为本申请实施例提供的计算方法中一种计算直接法权值以及利用直接法权值对特征点进行加权的方法的流程图;

图4为本申请实施例提供的计算方法中一种计算特征点法权值以及利用特征点法权值对特征点进行加权的方法的流程图;

图5为本申请实施例提供的计算方法中一种判别是否符合预设要求的方法的流程图;

图6为本申请实施例提供的一种基于影像的相邻帧间姿态信息的计算系统的结构框图。

具体实施方式

本申请的核心是提供一种基于影像的相邻帧间姿态信息的计算方法,区别于单纯使用特征点法或直接法计算姿态信息的现有技术,本申请以循环加权的方式轮流使用这两种方式,将使用一种方式计算得到姿态信息加权后作为新的输入数据使用另一种方式再次计算,以突出或放大上一次计算得到的姿态信息中存在的不明显的误差,从而在经过多次循环加权后,误差抑制更加彻底,得到精度更高、更准确的姿态信息。

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

实施例一

请参见图1,图1为本申请实施例提供的一种基于影像的相邻帧间姿态信息的计算方法的流程图,其包括以下步骤:

s101:获取目标相机对目标场景拍摄得到的视频流数据;

本步骤旨在通过单个相机拍摄得到目标场景下的所有图像信息,这些图像信息按拍摄顺序构成该视频流数据。换句话说,该视频流数据是由很多帧图像组成的,拍摄得到相邻帧图像间的时间间隔,就是图像拍摄频率。特殊的,在对拍摄频率要求较低时,也可以使用连续拍摄的影像。

s102:利用循环加权法依次求解视频流数据中每对相邻帧的最优姿态。

在s101的基础上,本步骤旨在利用循环加权法来依次求解构成视频流数据中的每对相邻帧(图像)中后一帧相对于前一帧的最优姿态。其中,姿态是用来描述载着该目标相机在目标场景下进行移动的移动机器人在这两帧间发生的位置变化,而姿态通常是由两帧图像中相同图像内容在后一帧相对于前一帧存在的平移量和旋转量计算出来的,这是由于导致两者发生变化的原因(移动)是一致的。进一步的,平移量和旋转量是可以通过现有的特征点法或直接法计算得到的。

需要说明的是,本申请所使用的循环加权法是一种轮流使用特征点法和直接法进行相邻帧间匹配的循环,并在循环中使用基于特征点法或直接法计算得到权值不断调整用于计算姿态的特征点,以得到与最优特征点对应的最优姿态的方法。通过使用这两种方法,可以有效解决单一使用某种方法对特征点(或直接法点)提取不充分或不正确的问题,加权的方式又可以起到不断调整特征点在用于计算姿态时所起到的重要程度的作用,循环的方式使得姿态信息将在持续的迭代过程中逐渐得到最优的精度。

需要额外说明的是,除如本申请针对相邻帧这一场景来计算姿态信息之外,还可以应用于非相邻帧间计算姿态信息,只需要确保用于计算姿态信息的两帧间有足够的重叠区域即可作为前后帧计算姿态,例如在slam流程中闭环检测和重定位的计算。

基于上述技术方案,本实施例提供的基于影像的相邻帧间姿态信息的计算方法,区别于单纯使用特征点法或直接法计算姿态信息的现有技术,本申请以循环加权的方式轮流使用这两种方式,将使用一种方式计算得到姿态信息加权后作为新的输入数据使用另一种方式再次计算,以突出或放大上一次计算得到的姿态信息中存在的不明显的误差,从而在经过多次循环加权后,误差抑制更加彻底,得到精度更高、更准确的姿态信息。

实施例二

请参见图2,图2为本申请实施例提供的计算方法中一种循环加权的方法的流程图,在实施例一的基础上,本实施例针对s102给出了一种优选的、具体的循环加权求最优姿态的方法,包括以下步骤:

s21:利用特征点法从目标相邻帧中提取得到特征点,并将特征点作为当前的特征点;

本实施例首先利用特征点法从目标相邻帧中提取得到特征点,并将本次提取出的特征点作为当前的特征点进行后续步骤。

s22:利用特征点法计算得到与当前的特征点对应的姿态;

本步骤旨在利用特征点法根据当前的特征点计算得到与其对应的姿态。

需要说明的是,s22除了首次承接自s21提取得到的特征点外,还将来自s24在进行加权后得到的新的特征点再次进行姿态的计算。

s23:判断当前的姿态是否符合预设要求;

在s22的基础上,本步骤旨在判别当前计算得到的姿态是否符合预设要求,其中,预设要求是指可以提取得到相对的最优姿态的判别条件,可包含多种情况,例如本次姿态与上一次姿态间的差异已经小于预设差异阈值,说明当前计算得到姿态在精度上已经满足了预设要求,在没有必要追求无限制的精度要求时,可认为已经无需再对这一对相邻帧进行姿态的优化,也能够在一定程度上避免因不断循环导致精度在达到最优后出现退化现象。

除此种方式之外,还可以在经过了多次循环加权后,为仍然不达标的姿态设置一个跳出条件,即基于最大循环次数来跳出,并在当前已经计算得到的各姿态信息中选取最优的姿态进行输出。

当然,除了上述几种之外,根据实际应用场景的不同、所有可能存在的特殊要求,还将存在其他的预设要求,此处并不做具体限定,本步骤只是用于判别是否要继续进行循环加权来尽可能的提升姿态精度。

s24:轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将加权后特征点作为新的特征点;

本步骤建立在s23的判断结果为当前的姿态不符合预设要求的基础上,说明还不满足跳出条件,因此将轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将加权后特征点作为新的特征点。

具体的,包括以下两种情况:

若当前不满足预设要求的姿态是使用直接法权值加权后的特征点计算得到的,将使用特征点法权值进行加权,得到加权后特征点,并将该加权后特征点作为新的特征点跳转回s22,以使s22在下次计算姿态时将本步骤加权后得到的加权后特征点作为新一次的当前的特征点来计算姿态;

若当前不满足预设要求的姿态是使用特征点法权值加权后的特征点计算得到的,将使用直接法权值进行加权,得到加权后特征点,并将该加权后特征点作为新的特征点跳转回s22,以使s22在下次计算姿态时将本步骤加权后得到的加权后特征点作为新一次的当前的特征点来计算姿态。

需要额外说明的是,首个计算得到的姿态由于是直接基于特征点法按常规方式计算得到的,未使用任何权值进行加权,因此在首次进入本步骤时,将使用基于直接法根据当前的姿态计算得到直接法权值对其进行加权,下一次就会因本次使用的直接法权值而选择使用特征点法权值进行再次加权。

需要说明的是,该直接法权值是根据特征点邻域范围内的直接法点的数量和灰度差值计算得到的,直接法点为利用直接法从目标相邻帧中提取出的点;特征点法权值是根据匹配特征点的特征参数计算得到,匹配特征点是指两帧图像中对应相同图像内容的同名特征点,特征参数包括特征距离、灰度差值、与对应极线的垂直距离、距图像中心距离的平均值中的至少一项。

直接法权值和特征点法权值可在计算原则的限制下存在多种具体的计算方式,为了便于理解,本申请还分别提供了一种计算直接法权值、特征点法权值并用其对特征点进行加权的具体实施方式,可分别参见图3和图4,:

图3为本申请实施例提供的计算方法中一种计算直接法权值以及利用直接法权值对特征点进行加权的方法的流程图:

s2411:利用直接法从目标相邻帧中提取得到直接法点;

s2412:统计每个当前的特征点在预设邻域范围内覆盖的直接法点的个数;

该预设邻域范围的尺寸可以具体为9×9(像素点或其它合适的单位)。

s2413:将个数小于预设数量的特征点的直接法权值设置为0;

具体的,该预设数量可以设置为10个。之所以设置为0,是因为在实施例中预设邻域范围内直接法点的个数小于预设数量的特征点将因包括信息过少,被认定为无效特征点。

s2414:将个数不小于预设数量的特征点的直接法权值设置为覆盖范围内的各直接法点的灰度差值平方的均值。

进一步的,为了进一步的提升精度,还可以在按s2414计算均值之前,去除一些灰度差值较大的直接法点(例如前10%),以使得最终计算作为权值的均值受较大值的点的影响更低,波动性更小。

图4为本申请实施例提供的计算方法中一种计算特征点法权值以及利用特征点法权值对特征点进行加权的方法的流程图:

s2421:利用公式计算得到特征点法权值;

其中w1为每对匹配特征点的特征距离(若匹配特征点是二进制特征点,特征距离可使用汉明距离),w2为每对匹配特征点的灰度差值;w3为每对匹配特征点的重投影误差,w4为每对匹配特征点与对应极线的垂直距离,w5为每对匹配特征点距图像中心距离的平均值,a1至a5分别为对应w1至w5的自定义系数;

需要说明的是,本步骤给出的最终权值w将与5中特征参数均为反比,实际上,但最终权值w的计算方法在满足以下5个条件的基础上系数可根据实际需要灵活调整:

(1)与w1成反比;(2)与w2成反比;(3)与w3成反比;(4)与w4成反比;(5)与w5成反比。进一步的,w1至w5还可以进行诸如平方或开根号等不影响其所要表示的特征的处理,上述公式中的加号和乘号也可以互换。

s2422:对各匹配特征点的w进行归一化处理;

本步骤归一化处理的目的是包括以下几点:(1)便于表示和人为理解;(2)便于计算;(3)根据整体分布进行重新分配。具体的,可以有多种实现方式:例如根据各w的数值选取得到wmax(各w中的最大值),通过将各w除以wmax的方式实现归一化,使得归一化处理后的各w的取值范围均为0~1之间(可以取到端点)。还可以根据各w的分布划分得到三个区间:0-平均数-中位数-1,把平均数和中位数定为1/3和2/3,而区间内的等比拉伸。当然,也可以使用其它相同或类似的方式,此处不做具体限定。

s2423:将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点。

经过s2422的处理后,本步骤旨在将计算得到的每个匹配特征点的特征点法权值w赋予相应的匹配特征点,完成加权过程。

s25:从已计算得到的各姿态中选取具有平均重投影误差最小的姿态作为最优姿态输出。

本步骤建立在s23的判断结果为当前的姿态符合预设要求的基础上,说明已经满足了跳出条件,因此从已计算得到的各姿态中选取具有平均重投影误差最小的姿态作为最优姿态输出。其中,平均重投影误差在本步骤内将作为衡量姿态信息精度的一个决定性参数。

可以看出,上述循环加权过程一直是对首次提取得到的特征点进行加权处理,但考虑到实际情况下首次提取得到的特征点中并不一定准确,即可能未包含一些有效的特征点、包含了一些无效的特征点等,因此,为了使得进行加权的特征点本身更加准确,还可以利用新计算得到姿态修正计算得到上一次姿态的特征点,以基于修正后的新特征点进行加权。

即基于新计算得到的姿态通过逆向推导出对应的特征点,并使用通过逆向推导出的特征点的颜色或灰度信息、特征描述信息、邻域特征点或直接法点数量等来看之前使用的特征点是否需要修正,具体包括增加之前未包含的、删去无效的、调整一些有效特征点的位置。

实施例三

请参见图5,图5为本申请实施例提供的计算方法中一种判别是否符合预设要求的方法的流程图,在实施例二的基础上,本实施例针对s23提供了一种具体的跳出判别方式,包括如下步骤:

s22:利用特征点法计算得到与当前的特征点对应的姿态;

s231:判断当前已执行的加权次数是否超过预设次数;

对应在实施例二中提及的最大跳出次数的方式,以防止在经过多次循环加权后的姿态精度仍不理想时,一昧进行循环加权对计算资源造成的浪费。

s232:判断当前的姿态与上一次得到的姿态间的差异是否小于预设差异阈值;

对应在实施例二中提及的当前姿态与上一次姿态间的差异大小的方式,通常此种方式下,会将当前满足这一判断条件的姿态作为最优姿态输出。

可以注意到的是,s231和s232是并列的关系,任意一种判断通过都将继续后续流程。

还需要说明的是另外一种可能存在的情况,即姿态精度退化的问题,即当前特征点的平均重投影误差已连续多次大于之前已有的平均重投影误差,即错过了之前已有的最小平均重投影误差对应的姿态信息,且之后的平均重投影误差不仅没有变小反而逐渐增加,在出现这种情况时,将跳转至s25,将之前已有的相对最优姿态信息输出,不再继续无意义的进行循环。其中,连续多次是用于增加对当前情况是否确实属于这种情况的判据。

s24:轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将加权后特征点作为新的特征点。

本步骤建立在s231和/或s232判断未通过的基础上,说明还不满足跳出条件,因此将通过s24进行加权处理后以期下一次计算得到的姿态更优。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

实施例四

下面请参见图6,图6为本申请实施例所提供的一种基于影像的相邻帧间姿态信息的计算系统的结构框图,该系统可以包括:

视频流数据获取单元100,用于获取目标相机对目标场景拍摄得到的视频流数据;

循环加权求解单元200,用于利用循环加权法依次求解视频流数据中每对相邻帧的最优姿态;其中,循环加权法为轮流使用特征点法和直接法进行相邻帧间匹配的循环,并在循环中使用基于特征点法或直接法计算得到权值不断调整用于计算姿态的特征点,以得到与最优特征点对应的最优姿态的方法。

其中,该循环加权求解单元200可以包括:

特征点提取子单元,用于利用特征点法从目标相邻帧中提取得到特征点,并将特征点作为当前的特征点;

姿态计算子单元,用于利用特征点法计算得到与当前的特征点对应的姿态;

预设要求符合判断子单元,用于判断当前的姿态是否符合预设要求;

循环加权子单元,用于当当前的姿态不符合预设要求时,轮流使用直接法权值或特征点法权值对当前的特征点进行加权,得到加权后特征点,并将加权后特征点作为新的特征点返回姿态计算子单元;

最优姿态输出子单元,用于当当前的姿态符合预设要求时,从已计算得到的各姿态中选取具有平均重投影误差最小的姿态作为最优姿态输出。

其中,直接法权值根据特征点邻域范围内的直接法点的数量和灰度差值计算得到,直接法点为利用直接法从目标相邻帧中提取出的点;特征点法权值根据匹配特征点的特征参数计算得到,特征参数包括特征距离、灰度差值、与对应极线的垂直距离、距图像中心距离的平均值中的至少一项。

进一步的,该基于影像的相邻帧间姿态信息的计算系统还可以包括:

特征点修正单元,用于利用新计算得到姿态修正计算得到上一次姿态的特征点,以基于修正后的新特征点进行加权。

进一步的,该基于影像的相邻帧间姿态信息的计算系统还可以包括:

直接法点提取单元,用于利用直接法从目标相邻帧中提取得到直接法点;

个数统计单元,用于统计每个当前的特征点在预设邻域范围内覆盖的直接法点的个数;

第一直接法权值设置单元,用于将个数小于预设数量的特征点的直接法权值设置为0;

第二直接法权值设置单元,用于将个数不小于预设数量的特征点的直接法权值设置为覆盖范围内的各直接法点的灰度差值平方的均值。

进一步的,该基于影像的相邻帧间姿态信息的计算系统还可以包括:

特征点法权值计算单元,用于利用公式计算得到特征点法权值;其中w1为每对匹配特征点的特征距离,w2为每对匹配特征点的灰度差值;w3为每对匹配特征点的重投影误差,w4为每对匹配特征点与对应极线的垂直距离,w5为每对匹配特征点距图像中心距离的平均值,a1至a5分别为对应w1至w5的自定义系数;

特征点法权值加权单元,用于将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点。

更进一步的,该基于影像的相邻帧间姿态信息的计算系统还可以包括:

归一化处理单元,用于在将当前的特征点中每对匹配特征点的w赋予对应的匹配特征点之前,对各匹配特征点的w进行归一化处理。

其中,该预设要求符合判断子单元可以包括:

次数判定模块,用于判断当前已执行的加权次数是否超过预设次数;

或,

差异判断模块,用于判断当前的姿态与上一次得到的姿态间的差异是否小于预设差异阈值。

该计算系统对应于计算方法,本实施例作为一个与方法实施例对应的系统实施例存在,具有与方法实施例相同的有益效果,在此不再赘述。

基于上述实施例,本申请还提供了一种基于影像的相邻帧间姿态信息的计算装置,该装置可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该装置还可以包括各种必要的网络接口、电源以及其它零部件等。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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

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