首页 / 专利库 / 视听技术与设备 / 帧间位移误差 / 基于单目视觉特征点匹配的SLAM方法及系统

基于单目视觉特征点匹配的SLAM方法及系统

阅读:53发布:2020-05-15

专利汇可以提供基于单目视觉特征点匹配的SLAM方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供的基于单目视觉特征点的SLAM方法及系统,根据连续多 帧 单目视觉图像的多个特征点,基于成本函数与输入参量,利用最小二乘法对目标变量进行 迭代 拟合运算,相较于仅采用两帧图像进行计算的现有方案,能够有效地降低对目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的计算误差;并且,由于本发明是根据连续多帧单目视觉图像的多个特征点来进行迭代拟合计算,所以,计算结果受到特征点分布 位置 与二维坐标 精度 的影响较小,从而能够有效避免由于特征点位置不佳导致无法完成计算或计算结果误差过大的问题。因此,本发明提供的SLAM方案,具有更强的可靠性与更高的计算精度。,下面是基于单目视觉特征点匹配的SLAM方法及系统专利的具体信息内容。

1.一种基于单目视觉特征点匹配的SLAM方法,其特征在于,包括:
获取连续的多图像,所述图像为单目视觉图像;
根据所述多帧图像,获取多个特征点;其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点;
设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标;
设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;其中,所述目标图像为所述多帧图像中除首帧图像之外的图像;
根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数;
基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;
所述成本函数包括以下计算公式:
Pin`(Xin`,Yin`,Zin`)=Ri×Pn(Xn,Yn,Zn)+Ti;
xin`=Xin`/Zin`,yin`=Yin`/Zin`;
△in=Din`(xin`,yin`)-Din(xin,yin);
其中,i为图像帧id,n为特征点id;Pin`(Xin`,Yin`,Zin`)为以第i帧图像的拍摄位置为原点的三维坐标;当i=1时,Ri为单位矩阵,Ti为零向量;当i≠1时,Ri为用于表征第i帧图像相对于首帧图像的旋转矩阵的第一目标变量,Ti为用于表征第i帧图像相对于首帧图像的位移向量的第二目标变量;Pn(Xn,Yn,Zn)为用于表征第n个特征点在现实空间中的三维坐标的第三目标变量;Din(xin,yin)为第n个特征点在第i帧图像中的真实二维坐标;Din`(xin`,yin`)为第n个特征点在第i帧图像中的理论二维坐标;△in为输出残值;
所述基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标,包括:
基于所述计算公式,与,所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并作为初始化迭代过程;
在所述初始化迭代过程中,当∑|△in|小于预设误差阈值,或,初始化时间超过初始化时间阈值时,终止所述初始化迭代过程;
在所述初始化迭代过程终止时,将第一目标变量Ri的最终值确定为第i帧图像相对于首帧图像的旋转矩阵,将第二目标变量Ti的最终值确定为第i帧图像相对于首帧图像的位移向量,将第三目标变量Pn(Xn,Yn,Zn)的最终值确定为第n个特征点在现实空间中的三维坐标。
2.如权利要求1所述的SLAM方法,其特征在于,所述多帧图像的数量为L,所述多个特征点的数量为N;在所述计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标之后,所述SLAM方法还包括:
获取下一帧图像;
根据所述下一帧图像与其之前相邻的L-1帧图像,提取出M个特征点;其中,所述M个特征点为所述下一帧图像与所述L-1帧图像中每一帧图像均包含的特征点;
设定新输入参量,所述新输入参量为所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标;
设定新目标变量,所述新目标变量用于表征所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,M1个特征点在现实空间中的三维坐标;其中,所述M1个特征点为所述M个特征点中与所述N个特征点均不同的特征点;
基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
3.如权利要求2所述的SLAM方法,其特征在于,所述基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标,包括:
基于所述成本函数的计算公式,与,所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标,利用最小二乘法对所述新目标变量进行迭代拟合,并作为跟踪迭代过程;
在所述跟踪迭代过程中,当∑|△in|小于预设误差阈值,或,跟踪时间超过跟踪时间阈值时,终止所述跟踪迭代过程;
在所述跟踪迭代过程终止时,根据所述新目标变量的最终值,确定所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
4.如权利要求1所述的SLAM方法,其特征在于,所述初始化迭代过程包括:
将R1与T1作为输入常量,代入到所述计算公式中。
5.如权利要求3所述的SLAM方法,其特征在于,所述跟踪迭代过程包括:
将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标作为输入常量,代入到所述计算公式中;
其中,所述M2个特征点为所述M个特征点与所述N个特征点中相同的特征点。
6.如权利要求3所述的SLAM方法,其特征在于,所述SLAM方法还包括:
在所述初始化迭代过程或所述跟踪迭代过程中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述初始化迭代过程或所述跟踪迭代过程。
7.如权利要求1所述的SLAM方法,其特征在于,所述多个特征点的数量大于预设数量阈值。
8.一种基于单目视觉特征点匹配的SLAM系统,其特征在于,包括:
图像获取单元,用于获取连续的多帧图像,所述图像为单目视觉图像;
特征点获取单元,用于根据所述多帧图像,获取多个特征点;其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点;
参量设定单元,用于设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标;
变量设定单元,用于设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;其中,所述目标图像为所述多帧图像中除首帧图像之外的图像;
成本函数单元,用于根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数;
迭代计算单元,用于基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;
所述成本函数包括以下计算公式:
Pin`(Xin`,Yin`,Zin`)=Ri×Pn(Xn,Yn,Zn)+Ti;
xin`=Xin`/Zin`,yin`=Yin`/Zin`;
△in=Din`(xin`,yin`)-Din(xin,yin);
其中,i为图像帧id,n为特征点id;Pin`(Xin`,Yin`,Zin`)为以第i帧图像的拍摄位置为原点的三维坐标;当i=1时,Ri为单位矩阵,Ti为零向量;当i≠1时,Ri为用于表征第i帧图像相对于首帧图像的旋转矩阵的第一目标变量,Ti为用于表征第i帧图像相对于首帧图像的位移向量的第二目标变量;Pn(Xn,Yn,Zn)为用于表征第n个特征点在现实空间中的三维坐标的第三目标变量;Din(xin,yin)为第n个特征点在第i帧图像中的真实二维坐标;Din`(xin`,yin`)为第n个特征点在第i帧图像中的理论二维坐标;△in为输出残值;
所述基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标,包括:
基于所述计算公式,与,所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并作为初始化迭代过程;
在所述初始化迭代过程中,当∑|△in|小于预设误差阈值,或,初始化时间超过初始化时间阈值时,终止所述初始化迭代过程;
在所述初始化迭代过程终止时,将第一目标变量Ri的最终值确定为第i帧图像相对于首帧图像的旋转矩阵,将第二目标变量Ti的最终值确定为第i帧图像相对于首帧图像的位移向量,将第三目标变量Pn(Xn,Yn,Zn)的最终值确定为第n个特征点在现实空间中的三维坐标。

说明书全文

基于单目视觉特征点匹配的SLAM方法及系统

技术领域

[0001] 本发明涉及即时定位与地图构建(SLAM)领域,更具体的说,涉及基于单目视觉特征点匹配的SLAM方法及系统。

背景技术

[0002] 即时定位与地图构建(SLAM)广泛应用于机器人视觉,增强现实(AR)等应用中,能够通过视觉图像以及其他传感器技术,得到场景中物体位置以及摄像头位置,通过这些位置信息来进行定位与场景重建。其中,基于单目视觉特征点匹配的SLAM方法,由于其仅需配置单一摄像头,并可通过有限的特征点来进行匹配,具有结构简单,算法复杂度小的特点,所以被广泛应用于手机AR应用之中。
[0003] 目前基于单目视觉特征点匹配的SLAM方法,通常是利用结构位置较好的特征点,恢复本质矩阵或基本矩阵,并结合摄像机矩阵得到两图像间的旋转位移矩阵,然后利用旋转位移矩阵和特征点图像坐标恢复特征点在真实空间中的三维坐标。但是,当两帧图像旋转和位移较小时,现有方法得到的旋转位移矩阵偏差较大,会导致无法进行后续特征点的三维重建与摄像头位置跟踪计算;并且,现有方法的计算结果受特征点分布位置和二维坐标精度影响较大,当满足特定位置条件的特征点数量较少时,则会导致计算无法完成或计算结果误差过大。
[0004] 所以,目前迫切需要一种可靠性更强、计算精度更高的基于于单目视觉特征点匹配的SLAM方法。

发明内容

[0005] 有鉴于此,本发明提供了一种基于单目视觉特征点匹配的SLAM方法及系统,以解决现有的基于单目视觉特征点匹配的SLAM方法可靠性较差、计算精度较低的技术问题。
[0006] 为实现上述目的,本发明提供如下技术方案:
[0007] 一种基于单目视觉特征点匹配的SLAM方法,包括:
[0008] 获取连续的多帧图像,所述图像为单目视觉图像;
[0009] 根据所述多帧图像,获取多个特征点;其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点;
[0010] 设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标;
[0011] 设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;其中,所述目标图像为所述多帧图像中除首帧图像之外的图像;
[0012] 根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数;
[0013] 基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0014] 优选的,所述成本函数包括以下计算公式:
[0015] Pin`(Xin`,Yin`,Zin`)=Ri×Pn(Xn,Yn,Zn)+Ti;
[0016] xin`=Xin`/Zin`,yin`=Yin`/Zin`;
[0017] △in=Din`(xin`,yin`)-Din(xin,yin);
[0018] 其中,i为图像帧id,n为特征点id;Pin`(Xin`,Yin`,Zin`)为以第i帧图像的拍摄位置为原点的三维坐标;当i=1时,Ri为单位矩阵,Ti为零向量;当i≠1时,Ri为用于表征第i帧图像相对于首帧图像的旋转矩阵的第一目标变量,Ti为用于表征第i帧图像相对于首帧图像的位移向量的第二目标变量;Pn(Xn,Yn,Zn)为用于表征第n个特征点在现实空间中的三维坐标的第三目标变量;Din(xin,yin)为第n个特征点在第i帧图像中的真实二维坐标;Din`(xin`,yin`)为第n个特征点在第i帧图像中的理论二维坐标;△in为输出残值。
[0019] 优选的,所述基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标,包括:
[0020] 基于所述计算公式,与,所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并作为初始化迭代过程;
[0021] 在所述初始化迭代过程中,当∑|△in|小于预设误差阈值,或,初始化时间超过初始化时间阈值时,终止所述初始化迭代过程;
[0022] 在所述初始化迭代过程终止时,将第一目标变量Ri的最终值确定为第i帧图像相对于首帧图像的旋转矩阵,将第二目标变量Ti的最终值确定为第i帧图像相对于首帧图像的位移向量,将第三目标变量Pn(Xn,Yn,Zn)的最终值确定为第n个特征点在现实空间中的三维坐标。
[0023] 优选的,所述多帧图像的数量为L,所述多个特征点的数量为N;在所述计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标之后,所述SLAM方法还包括:
[0024] 获取下一帧图像;
[0025] 根据所述下一帧图像与其之前相邻的L-1帧图像,提取出M个特征点;其中,所述M个特征点为所述下一帧图像与所述L-1帧图像中每一帧图像均包含的特征点;
[0026] 设定新输入参量,所述新输入参量为所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标;
[0027] 设定新目标变量,所述新目标变量用于表征所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,M1个特征点在现实空间中的三维坐标;其中,所述M1个特征点为所述M个特征点中与所述N个特征点均不同的特征点;
[0028] 基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0029] 优选的,所述基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标,包括:
[0030] 基于所述成本函数的计算公式,与,所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标,利用最小二乘法对所述新目标变量进行迭代拟合,并作为跟踪迭代过程;
[0031] 在所述跟踪迭代过程中,当∑|△in|小于预设误差阈值,或,跟踪时间超过跟踪时间阈值时,终止所述跟踪迭代过程;
[0032] 在所述跟踪迭代过程终止时,根据所述新目标变量的最终值,确定所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0033] 优选的,所述初始化迭代过程包括:
[0034] 将R1与T1作为输入常量,代入到所述计算公式中。
[0035] 优选的,所述跟踪迭代过程包括:
[0036] 将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标作为输入常量,代入到所述计算公式中;
[0037] 其中,所述M2个特征点为所述M个特征点与所述N个特征点中相同的特征点。
[0038] 优选的,所述SLAM方法还包括:
[0039] 在所述初始化迭代过程或所述跟踪迭代过程中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述初始化迭代过程或所述跟踪迭代过程。
[0040] 优选的,所述多个特征点的数量大于预设数量阈值。
[0041] 一种基于单目视觉特征点匹配的SLAM系统,包括:
[0042] 图像获取单元,用于获取连续的多帧图像,所述图像为单目视觉图像;
[0043] 特征点获取单元,用于根据所述多帧图像,获取多个特征点;其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点;
[0044] 参量设定单元,用于设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标;
[0045] 变量设定单元,用于设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;其中,所述目标图像为所述多帧图像中除首帧图像之外的图像;
[0046] 成本函数单元,用于根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数;
[0047] 迭代计算单元,用于基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0048] 从上述的技术方案可以看出,本发明提供的基于单目视觉特征点匹配的SLAM方法及系统,根据连续的多帧单目视觉图像的多个特征点,基于成本函数与输入参量,利用最小二乘法对目标变量进行迭代拟合运算,相较于仅采用两帧图像进行计算的现有方案,能够有效地降低对目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的计算误差;并且,由于本发明是根据连续多帧单目视觉图像的多个特征点来进行迭代拟合计算,所以,计算结果受到特征点分布位置与二维坐标精度的影响较小,从而能够有效避免由于特征点位置不佳导致无法完成计算或计算结果误差过大的问题。因此,本发明提供的SLAM方案,具有更强的可靠性与更高的计算精度。附图说明
[0049] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0050] 图1为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的一种流程图
[0051] 图2为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的另一种流程图;
[0052] 图3为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的又一种流程图;
[0053] 图4为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的再一种流程图;
[0054] 图5为本申请实施例提供的基于单目视觉特征点匹配的SLAM系统的一种结构示意图。

具体实施方式

[0055] 为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
[0056] SLAM:simultaneous localization and mapping,即时定位与地图构建。
[0057] 特征点:是指图像中与周围像素相差较大的像素点,一般为物体的点。
[0058] 单目视觉图像:是指利用单独一台摄像机进行拍摄得到的图像。
[0059] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] 本发明提供的基于单目视觉特征点匹配的SLAM方法及系统,可应用于移动设备(如手机、平板电脑等)中。
[0061] 请参阅图1,图1为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的一种流程图。
[0062] 如图1所示,所述SLAM方法包括:
[0063] S101:获取连续的多帧图像。
[0064] 在本发明中,所述图像为单目视觉图像。在实际应用中,可以通过单一摄像头获取连续的多帧图像。
[0065] 在一示例中,所述多帧图像的数量大于2。在另一示例中,所述多帧图像的数量的取值范围为4~10。
[0066] S102:根据所述多帧图像,获取多个特征点。
[0067] 其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点。所述多帧图像中包括相同的特征点。例如,多帧图像中包括一立方体,而该立方体在不同图像中的相同角点即为相同的特征点。
[0068] 在一示例中,可以先分别获取每一帧图像中的特征点,再对每一帧图像中的特征点进行筛选,进而得到每一帧图像中均包含的多个特征点。
[0069] 特征点获取方法可采用目前比较成熟的算法,如光流法,SFIT(Scale-invariant feature transform,尺度不变特征转换)算法等,在此不作赘述。
[0070] 图像帧数量与特征点数量的选取,可根据执行该方法的电子设备的计算能来确定。
[0071] 在另一示例中,所述多个特征点的数量大于预设数量阈值。例如,所述预设数量阈值为15,当所述多个特征点的数量大于15时,能够有效避免对计算精度造成负面影响。当获取到的多个特征点的数量不大于15时,重新获取多帧图像后,再重新获取多个特征点,使所述多个特征点的数量至少大于15。
[0072] S103:设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标。
[0073] 每个特征点在每一帧图像中均有一个图像坐标,将该图像坐标称为真实二维坐标,有多少帧图像,就有多少组真实二维坐标。本步骤中,将所述多个特征点分别在所述每一帧图像中的真实二维坐标设为输入参量,用于参与到后续计算中。
[0074] S104:设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0075] 其中,首帧图像是指所述多帧图像中的第一帧图像,也称为初始图像;所述目标图像为所述多帧图像中除首帧图像之外的图像。每一帧目标图像均有相对于所述首帧图像的旋转矩阵和位移向量。
[0076] 而每个特征点在现实空间中均有一个三维坐标,并以摄像头拍摄第一帧图像时的位置作为坐标原点。
[0077] 为了计算出目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标,本实施例先行设定用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的目标变量,当计算出目标变量的最终值时,即可得到目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0078] S105:根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数。
[0079] 成本函数(costFunction)至少包含输入参量、目标变量与输出残值。
[0080] S106:基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0081] 基于成本函数的上述计算公式,以及,所述多个特征点分别在所述每一帧图像中的真实二维坐标(输入参量),利用最小二乘法对用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的目标变量进行迭代拟合,根据最后得到的目标变量的最终值,即可确定出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标,实现了摄像头即时定位与地图特征点的三维重构。
[0082] 其中,输出残值可用于作为迭代拟合终止的条件参数之一。
[0083] 本实施例提供的基于单目视觉特征点匹配的SLAM方法,根据连续多帧单目视觉图像的多个特征点,基于成本函数与输入参量,利用最小二乘法对目标变量进行迭代拟合运算,相较于仅采用两帧图像进行计算的现有方案,能够有效地降低对目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的计算误差;并且,由于本发明是根据连续多帧单目视觉图像的多个特征点来进行迭代拟合计算,所以,计算结果受到特征点分布位置与二维坐标精度的影响较小,从而能够有效避免由于特征点位置不佳导致无法完成计算或计算结果误差过大的问题。因此,本发明提供的SLAM方案,具有更强的可靠性与更高的计算精度。
[0084] 请参阅图2,图2为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的另一种流程图。
[0085] 如图2所示,所述SLAM方法包括:
[0086] S201:获取连续的多帧图像。
[0087] S202:根据所述多帧图像,获取多个特征点。
[0088] S203:设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标。
[0089] S204:设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0090] 其中,步骤S201-S204与前述实施例中的S101-S104相类似,可参见前述实施例的具体内容,在此不再赘述。
[0091] S205:根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数。
[0092] 在一示例中,根据二维平面坐标系与三维空间坐标系的映射关系所确定的成本函数包括以下计算公式:
[0093] Pin`(Xin`,Yin`,Zin`)=Ri×Pn(Xn,Yn,Zn)+Ti;
[0094] xin`=Xin`/Zin`,yin`=Yin`/Zin`;
[0095] △in=Din`(xin`,yin`)-Din(xin,yin);
[0096] 其中,i为图像帧id,n为特征点id;Pin`(Xin`,Yin`,Zin`)为以第i帧图像的拍摄位置为原点的三维坐标;当i=1时,Ri为单位矩阵,Ti为零向量;当i≠1时,Ri为用于表征第i帧图像相对于首帧图像的旋转矩阵的第一目标变量,Ti为用于表征第i帧图像相对于首帧图像的位移向量的第二目标变量;Pn(Xn,Yn,Zn)为用于表征第n个特征点在现实空间中的三维坐标的第三目标变量;Din(xin,yin)为第n个特征点在第i帧图像中的真实二维坐标;Din`(xin`,yin`)为第n个特征点在第i帧图像中的理论二维坐标;△in为输出残值。
[0097] 其中,△in=Din`(xin`,yin`)-Din(xin,yin)的涵义为:输出残值△in等于Din`(xin`,yin`)与Din(xin,yin)的平方差值。
[0098] 其中,图像帧id与各帧图像之间一一对应,特征点id与各个特征点之间一一对应。并且,图像帧id与特征点id均具有唯一性。
[0099] 第n个特征点在现实空间中的三维坐标Pn(Xn,Yn,Zn)的坐标原点为首帧图像的拍摄位置。其中,拍摄位置是指,在利用单个摄像头拍摄该帧图像时,该单个摄像头所在的位置。
[0100] S206:基于所述计算公式,与,所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并作为初始化迭代过程。
[0101] 其中,所述第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)统称为目标变量。
[0102] 通过该步骤S206,使所述多个特征点的每一个特征点在所述多帧图像的每一帧图像中的真实二维坐标,都会参与到计算过程中,共同为计算结果做出贡献,降低计算误差。
[0103] 在一示例中,可将R1与T1作为输入常量,代入到所述成本函数的计算公式中。
[0104] 在另一示例中,利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,具体可以采用较为成熟的梯度下降法顿法来进行,在此不作赘述。
[0105] S207:在所述初始化迭代过程中,当∑|△in|小于预设误差阈值,或,初始化时间超过初始化时间阈值时,终止所述初始化迭代过程。
[0106] 其中,∑|△in|为迭代过程中已经计算出来的输出残值△in之和,具体为Din`(xin`,yin`)与Din(xin,yin)的平方差值的绝对值之和。
[0107] 在一示例中,所述预设误差阈值为2%(也即,0.02),所述初始化时间阈值可在0.1s~0.5s的范围内进行选取,通过预设误差阈值设置,能够使计算结果的误差小于2%且受到外部环境影响较小,从而具有较高的计算精度;并且,通过初始化时间阈值来控制计算精度,能够在电子设备(如手机)中实现每秒15帧以上的位置信息刷新率,实现摄像机的实时定位。
[0108] 在一示例中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述初始化迭代过程。进一步地,所述预设差异阈值可以设置为1×10-6。
[0109] S208:在所述初始化迭代过程终止时,将第一目标变量Ri的最终值确定为第i帧图像相对于首帧图像的旋转矩阵,将第二目标变量Ti的最终值确定为第i帧图像相对于首帧图像的位移向量,将第三目标变量Pn(Xn,Yn,Zn)的最终值确定为第n个特征点在现实空间中的三维坐标。
[0110] 当初始化迭代过程终止时,目标变量的当前值即为最终值,相应地,第一目标变量Ri的最终值即为第i帧图像相对于首帧图像的旋转矩阵,第二目标变量Ti的最终值即为第i帧图像相对于首帧图像的位移向量,第三目标变量Pn(Xn,Yn,Zn)的最终值即为第n个特征点在现实空间中的三维坐标,从而得到最终计算结果。
[0111] 上述步骤S206-208可用于实现前述实施例中的步骤S106。
[0112] 本实施提供的基于单目视觉特征点匹配的SLAM方法,提供了成本函数的具体计算公式,并基于该计算公式与所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并基于预设误差阈值或初始化时间阈值设定迭代拟合过程的终止条件,在保证计算精度的同时,也提高了计算效率。
[0113] 请参阅图3,图3为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的又一种流程图。
[0114] 本实施例的方法步骤,用于在前述实施例计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标(步骤S106)之后,对继续获取到的图像进行逐帧的连续跟踪计算,以实现摄像头即时定位。
[0115] 为了便于介绍本实施例的技术方案,设定前述实施例中所述多帧图像的数量为L,根据所述多帧图像,获取到的多个特征点的数量为N。
[0116] 如图3所示,所述SLAM方法包括:
[0117] S301:获取下一帧图像。
[0118] 摄像头在拍摄图像的过程中,会不断获取新的图像帧,而下一帧图像就是指新获取到的图像,而并不局限于第L+1帧图像。
[0119] S302:根据所述下一帧图像与其之前相邻的L-1帧图像,提取出M个特征点。
[0120] 当获取到下一帧图像后,所述下一帧图像与其之前相邻的L-1帧图像构成一组新的多帧图像,这一组新的多帧图像的数量仍为L。例如,设定L=6,即原多帧图像的数量为6,在获取到第7帧图像时,将第7帧图像与其之前相邻的第2~6帧图像组成新的多帧图像,多帧图像的数量始终等于6。以此类推,当获取到第8帧图像时,将第8帧图像与其之前相邻的第3~7帧图像,组成新的多帧图像。
[0121] 在将所述下一帧图像与所述L-1帧图像组成新的多帧图像后,同样要提取出新的多帧图像中每一帧图像均包含的多个特征点,设为M个特征点,即,所述M个特征点为所述下一帧图像与所述L-1帧图像中每一帧图像均包含的特征点。
[0122] S303:设定新输入参量,所述新输入参量为所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标。
[0123] 在将所述下一帧图像与所述L-1帧图像作为新的多帧图像后,该步骤S303与前述实施例中的步骤S103相类似,具体实现可以参考前述实施例中的具体内容。
[0124] S304:设定新目标变量,所述新目标变量用于表征所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,M1个特征点在现实空间中的三维坐标。
[0125] 其中,所述M1个特征点为所述M个特征点中与所述N个特征点均不同的特征点。由于M个特征点是基于所述下一帧图像与所述L-1帧图像提取出来的,所以,该M个特征点中会有一部分与前述的N个特征点相同。假定所述M个特征点与所述N个特征点中相同的特征点有M2个,由于这M2个特征点在之前得出了相应的三维坐标,即完成了三维重建,所以无需再作为目标变量进行迭代拟合。
[0126] S305:基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0127] 其中,步骤S305与前述实施例中的S106相类似,可参见前述实施例的具体内容,在此不再赘述。
[0128] 本实施例提供的基于单目视觉特征点匹配的SLAM方法,在前述实施例计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标之后,对继续获取到的图像进行逐帧的连续跟踪计算,实现了摄像头即时定位与场景特征点的三维重构。
[0129] 请参阅图4,图4为本申请实施例提供的基于单目视觉特征点匹配的SLAM方法的再一种流程图。
[0130] 本实施例的方法步骤,用于在前述实施例计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标(步骤S106)之后,对继续获取到的图像进行逐帧的连续跟踪计算,以实现摄像头即时定位。
[0131] 为了便于介绍本实施例的技术方案,设定前述实施例中所述多帧图像的数量为L,根据所述多帧图像,获取到的多个特征点的数量为N。
[0132] 如图4所示,所述SLAM方法包括:
[0133] S401:获取下一帧图像。
[0134] S402:根据所述下一帧图像与其之前相邻的L-1帧图像,提取出M个特征点。
[0135] 所述M个特征点为所述下一帧图像与所述L-1帧图像中每一帧图像均包含的特征点。
[0136] S403:设定新输入参量,所述新输入参量为所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标。
[0137] S404:设定新目标变量,所述新目标变量用于表征所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,M1个特征点在现实空间中的三维坐标。
[0138] 其中,所述M1个特征点为所述M个特征点中与所述N个特征点均不同的特征点。
[0139] 步骤S401-S404与前述实施例中的S301-S304相类似,可参见前述实施例的具体内容,在此不再赘述。
[0140] S405:基于所述成本函数的计算公式,与,所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标,利用最小二乘法对所述新目标变量进行迭代拟合,并作为跟踪迭代过程。
[0141] 在一示例中,由于跟踪迭代过程相对于初始化迭代过程,具有较高的实时性要求,所以,将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标作为输入常量,代入到所述计算公式中。
[0142] 由于这M2个特征点已经计算出了三维坐标,所以可以直接作为输入常量来参与计算,无需再表征为目标变量来进行迭代拟合;并且,由于所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,也已经在前述实施例中得到了计算结果,所以,也可以直接作为输入常量来参与计算,无需再表征为目标变量来进行迭代拟合。
[0143] 在该示例中,由于减少了新目标变量的数量,进而减小了计算量,提高了迭代拟合速度,最终提高了跟踪迭代效率,保证了摄像头定位的即时性。
[0144] 在另一示例中,也可以将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标表征为新目标变量,与初始化迭代过程保持一致性。
[0145] S406:在所述跟踪迭代过程中,当∑|△in|小于预设误差阈值,或,跟踪时间超过跟踪时间阈值时,终止所述跟踪迭代过程。
[0146] 在一示例中,所述预设误差阈值为2%(或,0.02),所述跟踪时间阈值可在0.02s~0.05s的范围内进行选取,通过预设误差阈值设置,能够使计算误差小于2%且受到外部环境影响较小,具有较高的计算精度;并且,通过初始化时间阈值来控制计算精度,能够在电子设备(如手机)中实现每秒15帧以上的位置信息刷新率,实现摄像机的实时定位。
[0147] 在一示例中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述跟踪迭代过程。进一步地,所述预设差异阈值可以设置为1×10-6。
[0148] S407:在所述跟踪迭代过程终止时,根据所述新目标变量的最终值,确定所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0149] 本实施例提供的基于单目视觉特征点匹配的SLAM方法,在前述实施例计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标之后,对后续图像进行连续跟踪计算,实现了摄像头即时定位与场景特征点的三维重构。
[0150] 本发明的SLAM方法,可以在现实空间放置一个虚拟的立方体,当摄像机运动时,基于SLAM重建结果,实时更新虚拟立方体在图像中的位置,使用户感觉该虚拟物体在现实环境中一样。
[0151] 对应于基于单目视觉特征点匹配的SLAM方法,本发明实施例还提供了相应的基于单目视觉特征点匹配的SLAM系统。
[0152] 请参阅图5,图5为本申请实施例提供的基于单目视觉特征点匹配的SLAM系统的一种结构示意图。
[0153] 本实施例的基于单目视觉特征点匹配的SLAM系统,用于实施前述实施例的基于单目视觉特征点匹配的SLAM方法,如图5所示,所述SLAM系统包括:
[0154] 图像获取单元U100,用于获取连续的多帧图像,所述图像为单目视觉图像。
[0155] 在一示例中,所述多帧图像的数量大于2。在另一示例中,所述多帧图像的数量的取值范围为4~10。
[0156] 特征点获取单元U200,用于根据所述多帧图像,获取多个特征点。
[0157] 其中,所述多个特征点为所述多帧图像中每一帧图像均包含的特征点。
[0158] 在一示例中,所述多个特征点的数量大于预设数量阈值。例如,所述预设数量阈值为15,当所述多个特征点的数量大于15时,能够有效避免对计算精度造成负面影响。
[0159] 参量设定单元U300,用于设定输入参量,所述输入参量为所述多个特征点分别在所述每一帧图像中的真实二维坐标;
[0160] 变量设定单元U400,用于设定目标变量,所述目标变量用于表征目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标;其中,所述目标图像为所述多帧图像中除首帧图像之外的图像;
[0161] 成本函数单元U500,用于根据二维平面坐标系与三维空间坐标系的映射关系,确定成本函数。
[0162] 成本函数(costFunction)至少包含输入参量、目标变量与输出残值。
[0163] 在一示例中,根据二维平面坐标系与三维空间坐标系的映射关系所确定的成本函数包括以下计算公式:
[0164] Pin`(Xin`,Yin`,Zin`)=Ri×Pn(Xn,Yn,Zn)+Ti;
[0165] xin`=Xin`/Zin`,yin`=Yin`/Zin`;
[0166] △in=Din`(xin`,yin`)-Din(xin,yin);
[0167] 其中,i为图像帧id,n为特征点id;Pin`(Xin`,Yin`,Zin`)为以第i帧图像的拍摄位置为原点的三维坐标;当i=1时,Ri为单位矩阵,Ti为零向量;当i≠1时,Ri为用于表征第i帧图像相对于首帧图像的旋转矩阵的第一目标变量,Ti为用于表征第i帧图像相对于首帧图像的位移向量的第二目标变量;Pn(Xn,Yn,Zn)为用于表征第n个特征点在现实空间中的三维坐标的第三目标变量;Din(xin,yin)为第n个特征点在第i帧图像中的真实二维坐标;Din`(xin`,yin`)为第n个特征点在第i帧图像中的理论二维坐标;△in为输出残值。
[0168] 其中,△in=Din`(xin`,yin`)-Din(xin,yin)的涵义为:输出残值△in等于Din`(xin`,yin`)与Din(xin,yin)的平方差值。
[0169] 其中,图像帧id与图像之间一一对应,特征点id与特征点之间一一对应。并且,图像帧id与特征点id均是唯一的。
[0170] 第n个特征点在现实空间中的三维坐标Pn(Xn,Yn,Zn)的坐标原点为首帧图像的拍摄位置。其中,拍摄位置是指,在拍摄该帧图像时,摄像头所在的位置。
[0171] 迭代计算单元U600,用于基于所述成本函数与所述输入参量,利用最小二乘法对所述目标变量进行迭代拟合,计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标。
[0172] 在一示例中,所述迭代计算单元U600,具体用于:
[0173] 1)基于所述计算公式,与,所述第n个特征点在第i帧图像中的真实二维坐标Din(xin,yin),利用最小二乘法对第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)进行迭代拟合,并作为初始化迭代过程。
[0174] 其中,所述第一目标变量Ri、第二目标变量Ti与第三目标变量Pn(Xn,Yn,Zn)统称为目标变量。
[0175] 在一示例中,将R1与T1作为输入常量,代入到所述计算公式中。
[0176] 2)在所述初始化迭代过程中,当∑|△in|小于预设误差阈值,或,初始化时间超过初始化时间阈值时,终止所述初始化迭代过程。
[0177] 在一示例中,所述预设误差阈值为2%(也即,0.02),所述初始化时间阈值可在0.1s~0.5s的范围内进行选取,通过预设误差阈值设置,能够使计算结果的误差小于2%且受到外部环境影响较小,从而具有较高的计算精度;并且,通过初始化时间阈值来控制计算精度,能够在电子设备(如手机)中实现每秒15帧以上的位置信息刷新率,实现摄像机的实时定位。
[0178] 在一示例中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述初始化迭代过程。进一步地,所述预设差异阈值可以设置为1×10-6。
[0179] 3)在所述初始化迭代过程终止时,将第一目标变量Ri的最终值确定为第i帧图像相对于首帧图像的旋转矩阵,将第二目标变量Ti的最终值确定为第i帧图像相对于首帧图像的位移向量,将第三目标变量Pn(Xn,Yn,Zn)的最终值确定为第n个特征点在现实空间中的三维坐标。
[0180] 当初始化迭代过程终止时,目标变量的当前值即为最终值,相应地,第一目标变量Ri的最终值即为第i帧图像相对于首帧图像的旋转矩阵,第二目标变量Ti的最终值即为第i帧图像相对于首帧图像的位移向量,第三目标变量Pn(Xn,Yn,Zn)的最终值即为第n个特征点在现实空间中的三维坐标,从而得到最终计算结果。
[0181] 在一示例中,在计算出所述目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标之后,本发明还会对继续获取到的图像进行逐帧的连续跟踪计算,以实现摄像头即时定位。
[0182] 在该示例中,设定所述多帧图像的数量为L,根据所述多帧图像,获取到的多个特征点的数量为N。
[0183] 所述图像获取单元U100,还用于获取下一帧图像。
[0184] 所述特征点获取单元U200,还用于根据所述下一帧图像与其之前相邻的L-1帧图像,提取出M个特征点;其中,所述M个特征点为所述下一帧图像与所述L-1帧图像中每一帧图像均包含的特征点。
[0185] 所述参量设定单元U300,还用于设定新输入参量,所述新输入参量为所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标。
[0186] 所述变量设定单元U400,还用于设定新目标变量,所述新目标变量用于表征所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,M1个特征点在现实空间中的三维坐标。
[0187] 其中,所述M1个特征点为所述M个特征点中与所述N个特征点均不同的特征点。
[0188] 所述迭代计算单元U600,还用于基于所述成本函数与所述新输入参量,利用最小二乘法对所述新目标变量进行迭代拟合,计算出所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0189] 在一示例中,所述迭代计算单元U600,还具体用于:
[0190] 1)基于所述成本函数的计算公式,与,所述M个特征点分别在所述下一帧图像与所述L-1帧图像的每一帧图像中的真实二维坐标,利用最小二乘法对所述新目标变量进行迭代拟合,并作为跟踪迭代过程。
[0191] 在一示例中,由于跟踪迭代过程相对于初始化迭代过程,具有较高的实时性要求,所以,将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标作为输入常量,代入到所述计算公式中。
[0192] 在另一示例中,也可以将所述L-1帧图像分别相对于首帧图像的旋转矩阵与位移向量,以及,M2个特征点在现实空间中的三维坐标表征为新目标变量,与初始化迭代过程保持一致性。
[0193] 其中,所述M2个特征点为所述M个特征点与所述N个特征点中相同的特征点。
[0194] 2)在所述跟踪迭代过程中,当∑|△in|小于预设误差阈值,或,跟踪时间超过跟踪时间阈值时,终止所述跟踪迭代过程;
[0195] 在一示例中,所述预设误差阈值为2%(或,0.02),所述跟踪时间阈值可在0.02s~0.05s的范围内进行选取,通过预设误差阈值设置,能够使计算误差小于2%且受到外部环境影响较小,具有较高的计算精度;并且,通过初始化时间阈值来控制计算精度,能够在电子设备(如手机)中实现每秒15帧以上的位置信息刷新率,实现摄像机的实时定位。
[0196] 在一示例中,当连续两次迭代的输出残值之间的差异小于预设差异阈值时,终止所述跟踪迭代过程。进一步地,所述预设差异阈值可以设置为1×10-6。
[0197] 3)在所述跟踪迭代过程终止时,根据所述新目标变量的最终值,确定所述下一帧图像相对于所述首帧图像的旋转矩阵与位移向量,以及,所述M1个特征点在现实空间中的三维坐标。
[0198] 本实施例提供的基于单目视觉特征点匹配的SLAM系统,根据连续多帧单目视觉图像的多个特征点,基于成本函数与输入参量,利用最小二乘法对目标变量进行迭代拟合运算,相较于仅采用两帧图像进行计算的现有方案,能够有效地降低对目标图像相对于首帧图像的旋转矩阵与位移向量,以及,所述多个特征点在现实空间中的三维坐标的计算误差;并且,由于本发明是根据连续多帧单目视觉图像的多个特征点来进行迭代拟合计算,所以,计算结果受到特征点分布位置与二维坐标精度的影响较小,从而能够有效避免由于特征点位置不佳导致无法完成计算或计算结果误差过大的问题。因此,本发明提供的SLAM方案,具有更强的可靠性与更高的计算精度。
[0199] 最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0200] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0201] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0202] 本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈