1.一种定位方法,其特征在于,至少包括:
获取图像序列;
对所述图像序列中相邻两帧图像进行2D特征点的提取和匹配;
获取提取和匹配后的2D特征点的3D特征点;
通过帧间运动位移度量值和内点数量选择通过光流法或特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到当前时刻的旋转矩阵和当前时刻的平移向量;
基于所述当前时刻的旋转矩阵和所述当前时刻的平移向量得到定位位置。
2.如权利要求1所述的方法,其特征在于,所述获取提取和匹配后的2D特征点的3D特征点,具体包括:获得所述相邻两帧图像的相机矩阵 和
其中,R1为前一帧图像的旋转矩阵, 为所述旋转矩阵R1的取值;t1为前一帧图像的平移向量, 为所述平移向量t1的取值;R2为后一帧图像的旋转矩阵, 为所述旋转矩阵R2的取值;t2为后一帧图像的平移向量, 为所述平移向量t2的取值;
通过方程组 计算得到xk、yk、zk,完成对所述3D特征点的提取;
其中,x1和x2为一对匹配的2D特征点,x1=[u1,v1,1]T,x2=[u2,v2,1]T;k1和k2为比例系数;X为所述3D特征点,X=[xk,yk,zk,1]T。
3.如权利要求2所述的方法,其特征在于,所述获得所述相邻两帧图像的相机矩阵和 具体包括:通过八点算法对公式x′=Ex中的本质矩阵E采用奇异值分解分别得到所述R1、t1、R2和t2。
4.如权利要求1所述的方法,其特征在于,所述通过帧间运动位移度量值和内点数量选择通过光流法或特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到当前时刻的旋转矩阵和当前时刻的平移向量,具体包括:如果只有所述光流法的帧间运动位移度量值在预设范围内,通过所述光流法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
如果只有所述特征匹配法的帧间运动位移度量值在所述预设范围内,通过所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
如果所述光流法和所述特征匹配法的帧间运动位移度量值均在所述预设范围内,比较所述光流法的内点数量N1与所述特征匹配法的内点数量N2的大小;
若N1大于N2,通过所述光流法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
若N1小于N2,通过所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
若N1等于N2,通过所述光流法或所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述基于所述当前时刻的旋转矩阵和所述当前时刻的平移向量得到定位位置,具体包括:通过公式 计算得到Rpos和tpos;
其中,Rcurr为所述当前时刻的旋转矩阵,tcurr为所述当前时刻的平移向量,Rpos为当前时刻与上一时刻的旋转矩阵累积乘,tpos为当前时刻的累积位移;
基于所述Rpos和所述tpos得到所述定位位置。
6.一种定位系统,其特征在于,至少包括:
图像序列获取模块,用于获取图像序列;
2D特征点提取和匹配模块,用于对所述图像序列中相邻两帧图像进行2D特征点的提取和匹配;
3D特征点获取模块,用于获取提取和匹配后的2D特征点的3D特征点;
运算模块,用于通过帧间运动位移度量值和内点数量选择通过光流法或特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到当前时刻的旋转矩阵和当前时刻的平移向量;
定位模块,用于基于所述当前时刻的旋转矩阵和所述当前时刻的平移向量得到定位位置。
7.如权利要求6所述的系统,其特征在于,所述3D特征点获取模块,具体包括:相机矩阵获取单元,用于获得所述相邻两帧图像的相机矩阵
和 其中,R1为前一帧图像的旋转矩阵, 为所述旋转矩
阵R1的取值;t1为前一帧图像的平移向量, 为所述平移向量t1的取值;R2为后一帧图像的旋转矩阵, 为所述旋转矩阵R2的取值;t2为后一帧图像的平移向量, 为所述平移向量t2的取值;
特征点提取执行单元,用于通过方程组 计算得到xk、yk、zk,完成对所述3D特征点的提取;其中,x1和x2为一对匹配的2D特征点,x1=[u1,v1,1]T,x2=[u2,v2,1]T;k1和k2为比例系数;X为所述3D特征点,X=[xk,yk,zk,1]T。
8.如权利要求7所述的系统,其特征在于,
所述相机矩阵获取单元,具体用于通过八点算法对公式x′=Ex中的本质矩阵E采用奇异值分解分别得到所述R1、t1、R2和t2。
9.如权利要求6所述的系统,其特征在于,所述运算模块,具体包括:第一判断单元,用于如果判断结果为只有所述光流法的帧间运动位移度量值在预设范围内,通过所述光流法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
第二判断单元,用于如果判断结果为只有所述特征匹配法的帧间运动位移度量值在所述预设范围内,通过所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;
第三判断单元,用于如果判断结果为所述光流法和所述特征匹配法的帧间运动位移度量值均在所述预设范围内,比较所述光流法的内点数量N1与所述特征匹配法的内点数量N2的大小;若N1大于N2,通过所述光流法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;若N1小于N2,通过所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量;若N1等于N2,通过所述光流法或所述特征匹配法将所述3D特征点对应的2D特征点与当前帧的特征点进行匹配,得到所述当前时刻的旋转矩阵和所述当前时刻的平移向量。
10.如权利要求6-9中任一项所述的系统,其特征在于,所述定位模块,具体包括:计算单元,用于通过公式 计算得到Rpos和tpos;其中,Rcurr为所述当前时刻的旋转矩阵,tcurr为所述当前时刻的平移向量,Rpos为当前时刻与上一时刻的旋转矩阵累积乘,tpos为当前时刻的累积位移;
定位执行单元,用于基于所述Rpos和所述tpos得到所述定位位置。