本发明涉及计算机视觉领域,尤其涉及一种基于类比的光流位姿数据增广方法及装置。
背景技术:
1、在计算机视觉领域,光流技术是用于捕捉和分析相邻帧之间像素的运动变化的一种方法,它在slam(实时定位与建图技术)领域中扮演着关键角色。光流位姿数据的丰富程度直接影响到基于这些数据进行训练的光流位姿网络的性能和泛化性。位姿估计涉及到从图像数据中推断出摄像机或物体的三维运动(包括位置和方向的变化),这对于机器人导航、增强现实和许多其他技术至关重要。
2、为了提高光流位姿网络的性能和泛化能力,研究者们开发了多种光流位姿数据增广技术。这些技术通过在训练阶段引入变化多端的数据,帮助模型学习如何在各种不同的情况下准确地工作。光流数据增强主要包括对光流图像进行裁剪、缩放等操作,目的是让模型能适应图像尺寸和比例的变化,从而在实际应用中更加鲁棒。
3、当前的增强方法主要集中在光流图像本身的简单变换上,如裁剪和缩放。这些操作虽然能够模拟摄像机捕捉图像的不同条件,但却不涉及到位姿数据的同步调整。这种做法的假设是,裁剪和缩放不会改变图像内物体的基本动态,因此位姿数据无需更新。
4、尽管现有的增强技术在一定程度上提升了模型对光流图像变化的适应性,但它们忽略了位姿数据调整的重要性。这导致在进行更复杂的光流操作,如反向和镜像时,现有方法不能提供足够的支持。例如,当光流数据经过镜像处理后,原有的运动方向和空间关系被改变,如果不进行相应的位姿调整,模型将无法准确地解释这种变化,从而影响位姿估计的准确性和模型的泛化能力。
5、因此,本发明提出了一种新的增广方法,通过对光流及其相应位姿进行一致的修改(包括反向、镜像和相加减操作后的位姿变换求解),从而显著提升slam中光流位姿网络在多变环境中的表现和泛化能力。
技术实现思路
1、本发明的目的是针对现有光流位姿网络训练数据不足导致的模型性能差、泛化能力差的现状,为了解决现有光流位姿网络进行位姿估计时准确率不高、泛化性差的问题,创造性地提出一种基于类比的光流位姿数据增广方法。本方法能够在不采集新的光流位姿数据集的前提下,对已有光流位姿数据集进行大规模的增广,提高光流位姿网络的估计位姿的准确性和泛化性。
2、本发明是通过下述技术方案实现的。
3、一种基于类比的光流位姿数据增广方法,包括以下步骤:
4、一种基于类比的光流位姿数据增广方法,其特征在于,包括以下步骤:
5、(1)从开源slam数据集网站下载光流位姿数据集并加载;
6、(2)利用步骤(1)获得的光流位姿数据集,通过对光流及其相应变换位姿进行一致的修改,即包括反向、镜像和加减操作后的位姿变换求解;
7、(3)利用增广的光流位姿数据对光流位姿网络模型进行训练,得到训练好的光流位姿网络模型;
8、(4)将步骤(3)训练好的光流位姿网络模型嵌入到视觉slam系统中的视觉里程计部分进行位姿估计。
9、具体地,所述步骤(2)包括如下子步骤:
10、(2.1)将光流反向,并对对应的位姿变换向量取反;
11、(2.2)对光流进行镜像几何变换,将得到的位姿变换向量进行求解;
12、(2.3)再对光流相加减,并对位姿变换向量进行求解;得到新的光流位姿数据为增广的数据。
13、进一步地,所述步骤(2.1)具体为:首先保持各像素光流的起点不变,反向操作,同时位姿变换六维向量前三维平移向量取反,后三维旋转向量取反,从变为。
14、进一步地,所述步骤(2.2)具体为:
15、(2.2.1)光流进行水平镜像后,首先位姿变换对应向量前三维平移向量变为,其次后三维旋转向量先转换成rpy角再变换成最后转换成旋转向量;
16、(2.2.2)光流进行垂直镜像后,首先位姿变换对应向量前三维平移向量变为,其次后三维旋转向量先转换成rpy角,变换成再转换成旋转向量。
17、进一步地,所述步骤(2.2.1)中的光流进行水平镜像,具体为:
18、(2.2.1.1)将光流图沿着垂直中轴进行翻转,即以图像的中心为对称中心,将图像左右翻转;
19、(2.2.1.2)针对每个像素位置,水平方向上的光流值进行镜像翻转;具体为:如果原始光流图中位于(i,j)像素位置的水平方向上的光流值为(u,v),则在水平镜像后,该像素位置的光流值为(-u, v),即水平方向的值取反,而垂直方向的值保持不变;
20、(2.2.1.3)其他方向上的光流值保持不变,即垂直方向上的光流值不受水平镜像操作影响。
21、进一步地,所述步骤(2.2.2)中的光流进行垂直镜像,具体为:
22、(2.2.2.1)将光流图沿着水平中轴进行翻转,即以图像的中心为对称中心,将图像上下翻转;
23、(2.2.2.2)针对每个像素位置,垂直方向上的光流值进行镜像翻转;具体为:如果原始光流图中位于(i,j)像素位置的光流值为(u,v),则在垂直镜像后,该像素的光流值为(u,-v),即垂直方向的值取反,而水平方向的值保持不变;
24、(2.2.2.3)其他方向上的光流值保持不变,即水平方向上的光流值不受垂直镜像操作影响。
25、进一步地,所述步骤(2.3)具体为:若干光流,若存在光流向量首或尾相匹配,则可进行光流向量的相加减,表达式为:;其中为加减后新生成的光流,和表示水平和垂直方向上的光流分量大小;形成新的光流图,根据新生成的光流图进行相应的位姿向量求解,首先位姿变换向量前三维平移向量相加减变为,其次后三维旋转向量先转换成rpy角再相加减变为,其中,最后转换成旋转向量。
26、进一步地,所述步骤(3)具体为:将光流增广后的光流位姿网络通过数据加载器加载训练光流位姿网络模型,模型根据推理和真值位姿的l1损失函数逆梯度更新模型参数,在若干轮时下降学习率,达到400轮后停止模型训练防止过拟合;得到训练完成的光流位姿网络模型。
27、进一步地,所述步骤(4)具体为:视觉slam系统先通过传统光流算法或者光流预测网络输出光流,再将输出的光流输入到步骤(3)训练完成的光流位姿网络模型中预测位姿,预测出来的位姿用于slam建图的后续任务。
28、本发明还提供了一种基于类比的光流位姿数据增广装置,包括以下模块:
29、加载数据集模块:从开源slam数据集网站下载光流位姿数据集并加载;
30、位姿变换求解模块:利用加载数据集模块获得的光流位姿数据集,通过对光流及其相应变换位姿进行一致的修改,即包括反向、镜像和加减操作后的位姿变换求解;
31、模型训练模块:利用增广的光流位姿数据对光流位姿网络模型进行训练,得到训练好的光流位姿网络模型;
32、位姿估计模块:将步骤模型训练模块训练好的光流位姿网络模型嵌入到视觉slam系统中的视觉里程计部分进行位姿估计。
33、本发明的有益效果在于:
34、本发明对光流位姿数据进行了增广,实现了小数据量训练光流位姿网络模型并达到提高预测位姿性能、提高泛化性的功能,其实现方法简便,数据增广效果显著,降低了初始训练数据量的需求,补足了slam领域光流位姿网络模型需要大量光流位姿数据集进行训练的缺陷。
1.一种基于类比的光流位姿数据增广方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(2)包括如下子步骤:
3.根据权利要求2所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(2.1)具体为:首先保持各像素光流的起点不变,反向操作,同时位姿变换六维向量前三维平移向量取反,后三维旋转向量取反,从变为。
4.根据权利要求2所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(2.2)具体为:
5.根据权利要求4所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步
6.根据权利要求4所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步
7.根据权利要求2所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(2.3)具体为:若干光流,若存在光流向量首或尾相匹配,则可进行光流向量的相加减,表达式为:;其中为加减后新生成的光流,和表示水平和垂直方向上的光流分量大小;形成新的光流图,根据新生成的光流图进行相应的位姿向量求解,首先位姿变换向量前三维平移向量相加减变为,其次后三维旋转向量先转换成rpy角再相加减变为,其中,最后转换成旋转向量。
8.根据权利要求1所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(3)具体为:将光流增广后的光流位姿网络通过数据加载器加载训练光流位姿网络模型,模型根据推理和真值位姿的l1损失函数逆梯度更新模型参数,在若干轮时下降学习率,达到400轮后停止模型训练防止过拟合;得到训练完成的光流位姿网络模型。
9.根据权利要求1所述的一种基于类比的光流位姿数据增广方法,其特征在于,所述步骤(4)具体为:视觉slam系统先通过传统光流算法或者光流预测网络输出光流,再将输出的光流输入到步骤(3)训练完成的光流位姿网络模型中预测位姿,预测出来的位姿用于slam建图的后续任务。
10.一种基于类比的光流位姿数据增广装置,其特征在于,包括以下模块:
