本发明涉及一种基于惯性姿态约束的特征匹配方法,属于同时定位与建图的前端技术领域。
背景技术:
近年来,涌现出了许多与slam(simultaneouslocalizationandmapping,同时定位与建图,简写slam)相关的应用场景,如室内扫地机器人,自动驾驶汽车和无人机等。视觉slam是以图像为主要环境感知信息源的slam系统,主要分为视觉前端和优化后端。前端也称为视觉里程计,主要作用是根据相邻图像的信息粗略估计出相机运动,给后端提供较好的初始值。前端按照是否需要提取特征分为特征点法和直接法。基于特征点法的前端运行稳定,对光照和动态物体不敏感,是目前比较成熟的解决方案。其中,orb(orientedfastandrotatedbrief)特征是目前具有代表性的实时图像特征,它改进了fast(featuresfromacceleratedsegmenttest)角点不具有方向性的问题,并采用速度极快的二进制描述子brief(binaryrobustindependentelementaryfeature),减少了图像特征提取的时间。
剔除误匹配点是特征匹配技术的一个重要环节,对提高视觉slam姿态估计精度有重要意义。当相机运动过快时图像会出现模糊,使得误匹配点数增多,从而降低匹配质量。利用惯性测量单元的输出信息,可以为待匹配图像提供一个比较准确的姿态信息。基于此,采用基于惯性姿态约束的orb特征匹配技术进行图像特征匹配时,可以有效解决匹配点对分布集中、误匹配数目较多和匹配效率低等问题。
技术实现要素:
本发明的目的是提供一种基于惯性姿态约束的特征匹配方法,可以有效解决匹配点对分布集中、误匹配数目较多和匹配效率低等问题。
上述的目的通过以下技术方案实现:
一种基于惯性姿态约束的特征匹配方法,该方法包括如下步骤:
(1)将待匹配的两幅图像栅格化,栅格边长为a,并将每个栅格进行编号:第一幅图像的栅格编号记为apq,表示该栅格位于第一幅图像栅格阵列的第p行和第q列;第二幅图像的栅格编号记为bpq,表示该栅格位于第二幅图像栅格阵列的第p行和第q列;
2)对两幅图像进行orb特征检测,并统计第一幅图像每个栅格内的特征点个数f(apq)和第二幅图像每个栅格内的特征点个数f(bpq);
3)将第一幅图像中各栅格的特征点数进行降序排列,分别选出特征点数较多的前n个栅格,第一幅图像选出的栅格加入栅格集合a,第二幅图像选出的栅格加入栅格集合b,栅格集合a中的每个栅格记为ai,栅格集合b中的每个栅格记为bi,并计算出各栅格内的中心点像素坐标
4)对惯性测量单元的输出值进行解算得到惯性测量单元的姿态信息,利用惯性测量单元的姿态信息对步骤(3)中各栅格内的中心点对进行匹配,计算栅格ai与集合b中所匹配栅格bi′的中心点坐标之间的距离di;
5)采用基于汉明距离的方法对两幅图像上的特征点进行粗匹配,并按照汉明距离进行排序,选取汉明距离不大于最小距离一定倍数的特征点对作为正确匹配点对,并将介于特定距离区间的特征点对作为待定匹配点对;
6)利用g2o非线性优化库建立超图,求解本质矩阵e,使得重投影误差最小;
7)利用本质矩阵e恢复出图像的姿态信息,设置自适应阈值函数,使用对极约束条件将待定匹配点对进行筛选,若满足相应阈值条件则将该待定匹配点对加入正确匹配点对。
进一步的,本发明方法中,步骤(3)中所述两幅图像中各栅格内中心点像素坐标
其中,在第一幅图像中,mi为栅格ai的特征点数,(xik,yik,1)为栅格ai中第k个特征点的像素坐标;在第二幅图像中,ni为栅格bi的特征点数,(uik,vik,1)为栅格bi中第k个特征点的像素坐标。
进一步的,本发明方法中,所述步骤(4)中加入了惯性姿态约束,利用惯性测量单元的姿态信息对步骤(3)中选出的n个栅格内每个栅格的中心点对进行匹配,并计算栅格ai与集合b中所匹配栅格bi′的中心点坐标之间的距离di,计算公式为:
其中,
进一步的,本发明方法中,步骤(5)所述中按照汉明距离进行排序后,选取汉明距离不大于最小距离一定倍数的特征点对作为正确匹配点对,所述最小距离一定倍数选取最小距离的2-5倍,并将介于一定距离的特征点对作为待定匹配点对,所述介于一定距离的特征点选取介于最小距离的2-5倍与最大距离的0.5-0.7倍之间的特征点。
进一步的,本发明方法中,所述步骤(6)中使用g2o优化方法求解本质矩阵e以最小化重投影误差,重投影误差函数为:
其中,pα1和pα2分别表示第α个正确匹配点对在第一幅图像和第二幅图像的像素坐标,k为相机内参矩阵。
进一步的,本发明方法中,所述步骤(7)中的对极约束条件为:
其中,pβ1和pβ2分别表示第β个待定匹配点对在第一幅图像和第二幅图像的像素坐标;d0为初始化阈值,d′i为阈值系数,当pβ1属于栅格ai时,d′i为di/dmin,当pβ1不属于栅格集合a时,d′i为1。
有益效果:
本发明提供的基于惯性姿态约束的orb特征匹配方法,相对于现有技术具有如下优势:1.引入惯性测量单元输出的姿态信息,增强了特征匹配的可靠性;2.采用自适应阈值函数,可减少误匹配点数。
附图说明
图1为本发明的基于惯性姿态约束的orb特征匹配方法的流程框图;
图2为第一幅图像的特征点分布图;
图3为未筛选误匹配点对的特征匹配结果图。
图4为剔除误匹配点对后的特征匹配结果图。
具体实施方式
如图1所示,本发明的基于惯性姿态约束的orb特征匹配方法,具体步骤如下:
1)将待匹配的两幅图像栅格化,栅格边长为a,本实施例中a取40,并将每个栅格进行编号:第一幅图像的栅格编号为apq,表示该栅格位于第一幅图像栅格阵列的第p行和第q列;第二幅图像的栅格编号为bpq,表示该栅格位于第二幅图像栅格阵列的第p行和第q列;
2)对两幅图像进行orb特征检测,并统计第一幅图像每个栅格内的特征点个数f(apq)和第二幅图像每个栅格内的特征点个数f(bpq);
3)将两幅图像中各栅格的特征点数进行降序排列,分别选出特征点数较多的前n个栅格,本实施例中n取3,第一幅图像选出的栅格加入栅格集合a,第二幅图像选出的栅格加入栅格集合b,栅格集合a中的每个栅格记为ai,栅格集合b中的每个栅格记为bi,并计算出各栅格内的中心点像素坐标
计算公式分别为:
其中,在第一幅图像中,mi为栅格ai的特征点数,(xik,yik,1)为栅格ai中第k个特征点的像素坐标;在第二幅图像中,ni为栅格bi的特征点数,(uik,vik,1)为栅格bi中第k个特征点的像素坐标。
4)对惯性测量单元的输出值进行解算得到惯性测量单元的姿态信息,利用惯性测量单元的姿态信息对步骤3)中3个中心点对进行匹配,并计算栅格ai与集合b中所匹配栅格bi′的中心点坐标之间的距离di,计算公式为:
其中,
5)采用基于汉明距离的方法对两幅图像上的特征点进行粗匹配,并按照汉明距离进行排序,选取汉明距离不大于两倍最小距离的特征点对作为正确匹配点对,并将汉明距离介于两倍最小距离与最大距离0.5倍的特征点对作为待定匹配点对;当两倍最小距离不大于30时,选取汉明距离不大于30的特征点对作为正确匹配点对。
6)利用g2o非线性优化库建立超图,求解本质矩阵e,使得重投影误差最小,重投影误差函数为:
其中,pα1和pα2分别表示第α个正确匹配点对在第一幅图像和第二幅图像的像素坐标,k为相机内参矩阵;
7)利用本质矩阵e恢复出图像的姿态信息,设置自适应阈值函数,使用对极约束条件将待定匹配点对进行筛选,若满足相应阈值条件则将该待定匹配点对加入正确匹配点对;
对极约束条件为:
其中,pβ1和pβ2分别表示第β个待定匹配点对在第一幅图像和第二幅图像的像素坐标;初始化阈值为d0,本实施例中d0取为0.003,d′i为阈值系数,当pβ1属于栅格aj时,d′i为di/dmin,当pβ1不属于栅格集合a时,d′i为1。
具体实例:
为了验证本发明算法的有效性,选取数据集euroc中v2_01_easy的两幅图像作为待匹配图像,该图像的分辨率为752×480,图2为第一幅图像的特征点分布图,图3为未筛选误匹配点对的特征匹配结果图,共检测了500组特征点对,其中汉明距离最小值为1,最大值为88,可以看出图中包含大量的交叉匹配线,误匹配点较多;图4为剔除误匹配点对后的特征匹配结果图,首先根据特征点对的汉明距离找到67组特征点对作为正确匹配点对,354组特征点对作为待定匹配点对,最终通过对极约束筛选出398组正确匹配点对,剔除掉102组误匹配点对。
上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。