1.一种基于单目视觉的无人机室内定位方法,其特征在于,包括;
步骤1,利用相机的前两帧图像进行系统初始化;
步骤2,基于步骤1中提取的相机前两帧图像,通过最小化这两张图像之间对应3D点的投影位置之间的光度误差,求出相对于前一帧图像的相机位姿;
步骤3,通过步骤2中获取到的相机初始位姿,预测参考帧中的特征块在当前帧中的位置,由于噪声的存在,三维点和相机位姿估计与真实值之间存在一定的误差,解决办法是通过单独优化当前帧和之前关键帧中相应的特征块之间的光度误差来对特征块的预测位置进行优化;
步骤4,利用步骤3中已经优化后的特征块预测位置,通过再次最小化两帧图像之间对应3D点的投影位置之间的光度误差,对相机位姿以及特征块位置进行优化;
步骤5,基于步骤1到步骤4,可以得到无人机机载相机的位姿变化,下面的任务是建图;首先将当前图像加入一个帧序列,然后判断当前帧是否符合系统的关键帧筛选条件,如是关键帧则进入步骤6,否则跳转至步骤8;
步骤6,将当前关键帧进行FSAT特征提取,为了避免FAST角点出现“扎堆”的现象,采用非极大值抑制的方法,在一定区域内仅保留响应极大值的角点;
步骤7,基于步骤6提取到的FAST特征点,初始化一个深度滤波器,初始值设置为当前关键帧中特征块对应的3D点的平均深度,然后采用极线搜索的方式确定匹配点;
步骤8,在当前帧为非关键帧情况下,更新上一关键帧初始化的深度滤波器,并判断特征点是否已经收敛,如是,则将该特征点对应的3D点加入地图,用于后面的相机位姿估计。
2.一种如权利要求1所述的基于单目视觉的无人机室内定位方法,其特征在于,所述步骤1具体为:S1:图像刚进来的时候,就获取它的金字塔图像,5层,比例为2,构建图像金字塔的目的是通过进行不同层次的降采样进而获得不同分辨率的图像,解决了FSAT角点不具备尺度的弱点;
S2:检测FAST特征点和边缘特征;如果图像中间的特征点数量超过50个,就把这张图像作为第一个关键帧;
S3:然后处理第一张之后的连续图像,用于跟第一张进行三角初始化;从第一张图像开始,就用光流法持续跟踪特征点,计算出相机的初始位姿;三角化公式为:s1x1=s2Rx2+t,其中:x1 x2为两个特征点的归一化坐标,s1 s2表示要求解的两个特征点的深度,R t表示相机的旋转和平移。
3.一种如权利要求1所述的基于单目视觉的无人机室内定位方法,其特征在于,所述步骤2具体为:S1:把上一帧作为参考帧,把上一帧的位姿作为当前帧的初始位姿;
S2:把参考帧上的所有图块结合地图点,往当前帧图像的金字塔图像上投影,在当前帧的金字塔图像上,从最高层开始,一层层地往低层算,每次继承前一次的优化结果;
S3:要优化的残差是,参考帧上的特征点的图块与投影到当前帧上的位置上的图块的亮度残差,具体公式为:δI(T,u)=Ik(π(T.π-1(u,du)))-Ik-1(u),其中:Ik表示在时间步长k处采集的强度图像,u表示像素坐标,du表示该图像坐标的深度值,π(.)表示相机投影模型。
4.一种如权利要求1所述的基于单目视觉的无人机室内定位方法,其特征在于,所述步骤6具体为:S1:在图像中选取像素p,假设它的亮度为Ip;
S2:设置一个阈值T为Ip的20%;
S3:以像素p为中心,选取半径为3的圆上的16个像素点,如图二所示;
S4:假如选取的圆上有连续的N个点的亮度大于Ip+T或小于Ip-T,那么像素p可以被认为是特征点;
S5:为了防止角点出现“扎堆”的情况,采用非极大值抑制的方法,在一定区域仅保留响应极大值的角点;
S6:循环以上步骤。