CN110838145B - 一种室内动态场景的视觉定位与建图方法 - Google Patents
一种室内动态场景的视觉定位与建图方法 Download PDFInfo
- Publication number
- CN110838145B CN110838145B CN201910954663.XA CN201910954663A CN110838145B CN 110838145 B CN110838145 B CN 110838145B CN 201910954663 A CN201910954663 A CN 201910954663A CN 110838145 B CN110838145 B CN 110838145B
- Authority
- CN
- China
- Prior art keywords
- feature points
- point
- score
- constraint
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013507 mapping Methods 0.000 title claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 51
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 11
- 238000001914 filtration Methods 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 6
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000004807 localization Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000011541 reaction mixture Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/35—Determination of transform parameters for the alignment of images, i.e. image registration using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开的一种室内动态场景的视觉定位与建图方法,具体按照以下步骤实施:步骤1,对输入的查询图像和目标图像进行特征点提取和匹配,并通过词袋模式加速特征点的匹配;步骤2,在特征点匹配阶段,对匹配后的特征点添加精度约束与几何约束,采用双向打分规则对特征点进行双约束;步骤3,通过改进RANSAC算法计算查询图像和目标图像间的基础矩阵;步骤4,对剩余特征点对进行对极几何约束,得到最终滤除后的特征点,将其添加到ORB‑SLAM视觉里程计框架中,进行定位与建图,提高了其迭代计算基础矩阵的效率,以几何约束为基础,通过对剩余特征点进行极线约束可以对异常特征点很好地滤除,且在TUM数据集上定位精度有明显提升。
Description
技术领域
本发明属于智能制造技术领域,具体涉及一种室内动态场景的视觉定位与建图方法。
背景技术
在当前劳动力成本的上涨和产能需求扩大的背景下,发展智能制造已经被各界普遍认为代表了制造业的未来方向。智能制造通过集成制造软件***、机器人视觉和机器人控制,使智能机器在无人干预的情况下完成多品种、小批量生产,其中机器人视觉作为智能制造的核心技术,在近年来已经成为热门研究领域。
同时定位与建图(Simultaneous Localization And Mapping,SLAM)作为智能移动机器人的核心技术,指的是机器人在没有任何先验环境信息的情况下,同时完成移动机器人自身的定位以及周围环境的地图构建。SLAM作为智能移动机器人避障导航的基础,对移动机器人之后的路径规划以及避障起到决定性作用。近年来,随着视觉传感器价格的大幅降低,加之其能存储更多的外部环境信息,基于视觉的SLAM受到了越来越多学着的重视。现代视觉SLAM框架已经趋于成熟,其中,包括视觉里程计前端、状态估计后端、闭环检测等等。此外,现有一些先进的SLAM算法也已经取得令人满意的成绩,例如ORB-SLAM2、VINS-Mono、LSD-SLAM。
然而,到目前为止,SLAM中的一些问题依然没有很好的解决。例如,现有的算法大多将外部环境作为静态假设,忽略了现实真实环境中动态目标对SLAM算法精度的影响。从而,无法适应现实中复杂多变的环境。因此,研究动态环境下的SLAM算法显得尤为重要。Chao Yu等人提出的DS-SLAM在ORB-SLAM2框架的基础上进行了改进,其对每帧提取的特征点进行对极几何约束,当特征点偏离某一阈值时认为其为“异常点”。与此同时,在每帧通过SegNet网络进行语义分割,当分割出的某一目标上的“异常点”大于某一阈值时,认为该目标为动态目标。随后,在将提取到的特征点传入视觉里程计之前,剔除所有在动态目标上的特征点,该方法在TUM数据集上取得了较好的成绩。然而,因其在对极约束中所计算的本质矩阵是相对于提取的所有特征点进行推算的,当每帧图像中异常特征点较多时,如,动态行人占据视野的三分之二,会导致所计算的本质矩阵出现严重偏差。加之SegNet网络分割精度较差,影响了DS-SLAM的性能。Berta Bescos等人提出一种DynaSLAM算法,其在ORB-SLAM2的基础上添加了动态目标检测模块,通过多视角几何与深度学习相配合能精准对动态目标进行识别与分割。然而,因其使用的MaskRcnn网络无法实时,且多视角几何方法是通过区域生长算法来分割目标,实时性差。在实际测试中,DynaSLAM算法无法实时。陈文结合目标检测网络YOLO v2,通过对极约束来识别动态目标。因目标识别框相对粗糙,无法精准划分动态区域与静态区域,当动态框占据大部分视野时,会导致跟踪失败。
发明内容
本发明的目的是提供一种室内动态场景的视觉定位与建图方法,解决了现有定位与建图方法中将外部环境作为静态假设,忽略了现实真实环境中动态目标,而无法适应现实中复杂多变的环境的问题。
本发明所采用的技术方案是,一种室内动态场景的视觉定位与建图方法,具体按照以下步骤实施:
步骤1,对输入的查询图像和目标图像进行特征点提取和匹配,并通过词袋模式加速特征点的匹配;
步骤2,在步骤1的特征点匹配阶段,对匹配后的特征点添加精度约束与几何约束,采用双向打分规则对特征点进行双约束;
步骤3,通过改进RANSAC算法计算查询图像和目标图像间的基础矩阵;
步骤4,对剩余特征点对进行对极几何约束,得到最终滤除后的特征点,将最终滤除后的特征点添加到ORB-SLAM视觉里程计框架中,进行定位与建图。
本发明的其他特点还在于,
步骤2的具体步骤如下:
步骤2.1,在图像特征点匹配阶段,计算每对特征点与其它特征点之间的最近汉明距离d1和次近汉明距离d2,记它们之间的比值为k,即k=d1/d2,添加精度匹配约束,k<α是可靠的匹配,其中α为精度约束因子,k越小代表这对匹配点对的最近汉明距离远远小于最小汉明距离,匹配越可靠;
通过定义精度约束匹配质量得分来量化匹配质量,若一对特征点匹配质量越高,表示其正确匹配的概率越大;
步骤2.2,选取三对特征点在查询图像和目标图像上分别构成三角形Δp1p2p3、Δq1q2q3,其中,顶点p1,p2,p3为查询图像中的三个特征点,并与目标图像上的三个特征点q1,q2,q3相互对应;
由于相机相邻两帧图像间存在相似变换,若场景中不存在动态目标,两三角形之间的对应边应满足相似关系:
式(2)中,dp1、dp2、dp3、dq1、dq2、dq3分别为两两特征点之间的欧式距离;
若场景中出现动态目标,假设q2在动态目标上,在目标图像上q2移动到了q'2构成了新的三角形Δq1q'2q3,三角形两两顶点之间的欧式距离为d'q1,d'q2,d'q3,则式(2)中的比例关系不再满足,则引入得分机制,定义几何约束得分;
若两帧图像中对应两特征点之间的欧式距离变化越小,则其得分越低,其对应的两对特征点匹配质量越高,相反,若两对特征点几何约束得分越高,表示其中某对特征点为运动的异常点的概率越大,其匹配质量越低;
步骤2.3,由于步骤2.2中的查询图像中三对特征点相较于一点,目标图像中三对特征点相较于一点,则共计七对匹配特征点对,分别按几何约束得分函数计算每对匹配特征点对之间的得分,即可得到21组几何约束得分,剔除其中分值过大的得分,计算该21组得分的平均值AS,平均值AS描述了两帧图像的平均变换度量关系;
定义特征点的异常分值,特征点的异常分值越大则其为动态异常点的概率越大,重新遍历这21组几何约束得分,对每组得分对应的每对特征点进行双向打分,记几何约束平均得分比例因子为β,用以控制几何约束严格程度,若一对特征点的几何约束得分qg(i,j)大于β*AS,则这组得分对应的两个特征点的异常分值都加1,否则,不进行操作,依次计算所有特征点对的异常分值,记第i个图像特征点的异常分值为qab(i),为了自适应对异常点进行剔除,将异常分值和图像特征点个数N建立约束,即若qab(i)>γN,γ为几何约束自适应比例因子,其控制动态异常点的剔除度,则认为第i个特征点为运动的异常点,则对其进行滤除。
步骤2.1中,精度约束匹配质量得分函数定义如下:
qa=kd1 (1)
式(1)中,qa表示精度约束匹配质量得分,分值越大,代表匹配质量越高。
步骤2.2中,几何约束得分函数定义如下:
其中,qg(i,j)表示几何约束得分,A(i,j)表示两帧图像上对应i、j两特征点之间的平均距离。
步骤3的具体步骤如下:
步骤3.1,采用8点法计算基础矩阵替代标准RANSAC算法采用4对点求出的单应性矩阵作为基础矩阵,得到改进RANSAC算法,以增加样本点数目,在选取样本点时,将图像划分成8个块,在每个块中选取一个点作为样本点;
步骤3.2,对输入的查询图像和目标图像进行特征点提取和匹配,将匹配的结果输入到步骤3.1得到的改进RANSAC算法中;
步骤3.3,定义特征点的分值来表述特征点的优劣程度,记Q(i)为第i个特征点的总分值,则Q(i)可以由以下得分函数求得:
Q(i)=mqa+nqg (5)
式(5)中,m表示精度约束得分的比例系数,n表示集合约束得分的比例系数;
将步骤2进行几何约束后的剩余特征点作为原始特征点输入到改进RANSAC算法中,对目标图像划分2*4的网格,并将特征点归属到所对应网格中,按8个特征点的总分值的大小顺序依次计算基础矩阵。
步骤4的具体步骤如下:
步骤4.1,设I1为目标图像,I2为查询图像,P为空间中的一点,其在目标图像I1与查询图像I2上的投影分别为x1、x2,O1、O2分别为两相机的光心,其连线分别与目标图像I1与查询图像I2交于e1和e2,则PO1O2与目标图像I1与查询图像I2平面相交得到直线l1、l2分别为图像平面O1、O2上的极线,通过极限几何约束得,点x1位于极线l1上,x2位于极线l2上;
步骤4.2,将第一个相机投影平面到第二个相机投影平面的几何变换记为(R,t),则有
其中,分别为空间点P在第一个相机和第二个相机坐标系下的归一化坐标,k1表示第一相机的内参矩阵,k2表示第二相机的内参矩阵,R表示目标图像和查询图像间的位姿变换矩阵,t表示目标图像和查询图像间的平移向量,若记则可得
式中,[t]x为向量t的反对称矩阵;将式(6)代入式(8)中得:
式中,F为基础矩阵;
式(9)表示若某一像素特征点为另一像素特征点的正确匹配,其必在其图像平面的极线上;
步骤4.3,将步骤4.2中的一对匹配特征点对表示为x1=[u1,v1,1],x2=[u2,v2,1],其中,u1、v1为像素点x1的像素坐标,u2、v2为像素点x2的像素坐标,则目标图像I1平面的极线l1可由下式确定:
式(10)中,X,Y,Z代表极线方程向量,则像素点x2到极线l1的距离可以由下式得到:
其中,D表示x2到极线l1的距离;
步骤4.4,设置阈值ε,若D>ε,则认为所判断特征点对为动态目标上的异常点,将异常点进行滤除,得到最终滤除后的特征点。
本发明的有益效果是,本发明一种室内动态场景的视觉定位与建图方法,通过对RANSAC算法改进,大大提高了其迭代计算基础矩阵的效率,以几何约束为基础,通过对剩余特征点进行极线约束可以对异常特征点很好地滤除,且在TUM数据集上相较于原始ORB-SLAM2***在动态环境中定位精度有明显提升,在CPU i7 6700HQ,内存20G的配置下,达到了40FPS的速度。
附图说明
图1是本发明的一种室内动态场景的视觉定位与建图方法中几何约束模型双向投票示意图;
图2是本发明的一种室内动态场景的视觉定位与建图方法中内点比例与迭代次数关系图;
图3是本发明的一种室内动态场景的视觉定位与建图方法中改进RANSAC算法流程图;
图4是本发明的一种室内动态场景的视觉定位与建图方法中改进RANSAC算法网格划分示意图;
图5是本发明的一种室内动态场景的视觉定位与建图方法中极限几何示意图;
图6(a)、图6(b)、图6(c)是本发明对TUM数据第17帧的滤除结果图;图6(d)、图6(e)、图6(f)为本发明对TUM数据第17帧的滤除结果图;
图7(a)、图7(b)、图7(c)是本发明对TUM数据第212帧的滤除结果图,图7(d)、图7(e)、图7(f)是本发明对TUM数据第414帧的滤除结果图;
图8(a)、图8(b)、图8(c)是本发明对TUM数据第356帧的滤除结果图,图8(d)、图8(e)、图8(f)是本发明对TUM数据第424帧的滤除结果图;
图9是标准RANSAC算法与改进RANSAC算法迭代次数对比图;
图10是标准RANSAC算法与改进RANSAC算法计算时间对比图;
图11是标准RANSAC算法与改进RANSAC算法计算时间箱型图;
图12是绝对轨迹误差图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种室内动态场景的视觉定位与建图方法,具体按照以下步骤实施:
步骤1,对输入的查询图像和目标图像进行特征点提取和匹配,并通过词袋模式加速特征点的匹配;
步骤2,在步骤1的特征点匹配阶段,对匹配后的特征点添加精度约束与几何约束,采用双向打分规则对特征点进行双约束;
步骤2.1,在图像特征点匹配阶段,计算每对特征点与其它特征点之间的最近汉明距离d1和次近汉明距离d2,记它们之间的比值为k,即k=d1/d2,添加精度匹配约束,k<α是可靠的匹配,其中α为精度约束因子,k越小代表这对匹配点对的最近汉明距离远远小于最小汉明距离,匹配越可靠;
通过定义精度约束匹配质量得分来量化匹配质量,若一对特征点匹配质量越高,表示其正确匹配的概率越大,精度约束匹配质量得分函数定义如下:
qa=kd1 (1)
式(1)中,qa表示精度约束匹配质量得分,分值越大,代表匹配质量越高;相对于匹配质量得分低的点对来说,在RANSAC算法迭代过程中更容易获得正确基础矩阵;
精度滤除只是在特征描述符的汉明距离上进行了约束,由于特征描述符计算误差,以及噪声的影响,在精度滤除后仍存在大量外点,为了进一步滤除这些外点进行几何约束,如图3所示,具体为:
步骤2.2,如图1所示,三角形顶点代表所提取的ORB特征点,选取三对特征点在查询图像和目标图像上分别构成三角形Δp1p2p3、Δq1q2q3,其中,顶点p1,p2,p3为查询图像中的三个特征点,并与目标图像上的三个特征点q1,q2,q3相互对应;
真实情况下,相机相邻两帧图像(查询图像和目标图像)间存在相似变换,若场景中不存在动态目标,两三角形之间的对应边应满足相似关系:
式(2)中,dp1、dp2、dp3、dq1、dq2、dq3分别为两两特征点之间的欧式距离;
若场景中出现动态目标,假设q2在动态目标上,在目标图像上q2移动到了q'2构成了新的三角形Δq1q'2q3,三角形两两顶点之间的欧式距离为d'q1,d'q2,d'q3,则式(2)中的比例关系不再满足,为了更好的表达一组特征点是否满足相似约束,则引入得分机制,定义几何约束得分,几何约束得分函数定义如下:
其中,qg(i,j)表示几何约束得分,A(i,j)表示两帧图像上对应i、j两特征点之间的平均距离;可以看出几何约束得分qg描述的是两对特征点在查询图像和目标图像上的距离关系;
若两帧图像(查询图像和目标图像)中对应两特征点之间的欧式距离变化越小,则其得分越低,其对应的两对特征点匹配质量越高,相反,若两对特征点几何约束得分越高,表示其中某对特征点为运动的异常点的概率越大,其匹配质量越低;
步骤2.3,由于步骤2.2中的查询图像中三对特征点相较于一点,目标图像中三对特征点相较于一点,则共计七对匹配特征点对,特征点对两两之间分别按几何约束得分函数计算每对匹配特征点对之间的得分,即可得到21组几何约束得分,剔除其中分值过大的得分,计算该21组得分的平均值AS,平均值AS描述了两帧图像的平均变换度量关系;
定义特征点的异常分值,特征点的异常分值越大则其为动态异常点的概率越大,重新遍历这21组几何约束得分,对每组得分对应的每对特征点进行双向打分,,双向打分的具体规则为:记几何约束平均得分比例因子为β,用以控制几何约束严格程度,一般取0.5~0.8,若一对特征点的几何约束得分qg(i,j)大于β*AS,则这组得分对应的两个特征点的异常分值都加1,否则,不进行操作,依次计算所有特征点对的异常分值,记第i个图像特征点的异常分值为qab(i),为了自适应对异常点进行剔除,将异常分值和图像特征点个数N建立约束,即若qab(i)>γN,则认为第i个特征点为运动的异常点,则对其进行滤除,γ为几何约束自适应比例因子,其控制动态异常点的剔除度。
步骤3,通过改进RANSAC算法计算查询图像和目标图像间的基础矩阵,基础矩阵的计算可由经典的八点法来计算;
如图2所示,由于对特征点进行几何和精度约束滤除后,任然存在少量异常特征点,考虑使用对极几何方法对双约束后的特征点进行再滤除。传统方法使用随机抽样一致算法(RANSAC)求取基础矩阵,然后再进行对极几何约束,考虑到对极几何约束的缺点,对标准RANSAC算法进行改进,标准RANSAC算法在计算基础矩阵时,采用随机选取4个点计算单应性矩阵,由于每次选择的样本点数目较小,一旦该样本点存在较大误差,就会导致计算出的基础矩阵包含很少的内点。这种基础矩阵随后被抛弃,导致迭代次数增加;
当场景中出现较大面积的动态目标时,输入到RANSAC算法中的特征点包含大量异常点,这些异常点随后参与了基础矩阵和内点个数的计算,导致RANSAC算法输出的基础矩阵出现偏差;
随机选择的样本点,很可能出现某几个样本点之间的欧式距离过小,最终将会导致估计的模型精度不高以及模型不稳定;
标准RANSAC算法在选取样本点时采用随机选点法,选点具有盲目性。这也是导致迭代次高的重要原因之一,标准RANSAC算法改进如下:
步骤3.1,采用8点法计算基本矩阵替代标准RANSAC算法采用4对点求出的单应性矩阵作为基础矩阵,得到改进RANSAC算法,以增加样本点数目,使模型更加准确,样本点为在众特征点中选取的点,所选样本点用来估计基础矩阵,在选取样本点时采用块选取法保证样本点之间过于集中,导致估算出的基础矩阵精度差、不稳定,在选取样本点时,将图像划分成8个块,在每个块中选取一个点作为样本点,这样既解决了样本点过于集中的问题,又避免了标准RANSAC算法在选取完样本点后需要判断样本点是否共线的问题,优先选择匹配质量高的匹配点对进行基础矩阵的计算,而不是随机选取,这样可以减少迭代次数,提高算法效率;
如图3所示,步骤3.2,对输入的查询图像和目标图像进行特征点提取和匹配,将匹配的结果输入到步骤3.1得到的改进RANSAC算法中;
步骤3.3,定义特征点的分值来表述特征点的优劣程度,记Q(i)为第i个特征点的总分值,则Q(i)可以由以下得分函数求得:
Q(i)=mqa+nqg (5)
式(5)中,m表示精度约束得分的比例系数,n表示集合约束得分的比例系数;
将步骤2进行几何约束后的剩余特征点作为原始特征点输入到改进RANSAC算法中,对目标图像划分2*4的网格,并将特征点归属到所对应网格中,按8个特征点的总分值的大小顺序依次计算基础矩阵,这样能尽可能最大概率的用一组内点来计算基础矩阵;
如图4所示,实心圆点为改进RANSAC算法某次采样的结果,可以看到相较于标准RANSAC算法随机采样,改进算法采集的样本点较为均匀,相对稳定,且避免了在标准RANSAC算法中采样点共线的判断。
步骤4,对剩余特征点对进行对极几何约束,得到最终滤除后的特征点,将最终滤除后的特征点添加到ORB-SLAM视觉里程计框架中,进行定位与建图;
极线几何是两幅图之间独立于外部环境的摄影几何,其只依赖于摄像机的自身参数和相对位姿;
如图5所示,步骤4.1,设I1为目标图像,I2为查询图像,P为空间中的一点,其在目标图像I1与查询图像I2上的投影分别为x1、x2,O1、O2分别为两相机的光心,其连线分别与目标图像I1和查询图像I2交于e1和e2,则PO1O2与目标图像I1、查询图像I2平面相交得到直线l1、l2分别为图像平面O1、O2上的极线,通过极限几何约束得,点x1位于极线l1上,x2位于极线l2上;
步骤4.2,将第一个相机投影平面到第二个相机投影平面的几何变换记为(R,t),则有
其中,分别为空间点P在第一个相机和第二个相机坐标系下的归一化坐标,k1表示第一相机的内参矩阵,k2表示第二相机的内参矩阵,R表示目标图像和查询图像间的位姿变换矩阵,t表示目标图像和查询图像间的平移向量,若记则可得
式中,[t]x为向量t的反对称矩阵;将式(6)代入式(8)中得:
式中,F为基础矩阵;
式(9)表示若某一像素特征点为另一像素特征点的正确匹配,其必在其图像平面的极线上;然而,现实场景中,由于周围噪声以及相机标定参数误差的影响,基础矩阵的计算往往存在误差,这就导致实际计算中,特征点往往不能刚好落在所计算的极线上,因此考虑每个特征点到各自极线的距离来衡量匹配点对的可靠性。
步骤4.3,将步骤4.2中的一对匹配特征点对表示为x1=[u1,v1,1],x2=[u2,v2,1],其中,u1、v1为像素点x1的像素坐标,u2、v2为像素点x2的像素坐标,则目标图像I1平面的极线l1可由下式确定:
式(10)中,X,Y,Z代表极线方程向量,则像素点x2到极线l1的距离可以由下式得到:
其中,D表示x2到极线l1的距离;
在真实场景中,导致距离D过大一般有两种情况,第一种是特征点对不匹配,第二种是场景中出现动态目标,所判断的特征点对在动态目标上,因此,对于距离D的约束既可以剔除不匹配特征点对,又可以剔除动态目标上的异常点;
步骤4.4,设置阈值ε,若D>ε,则认为所判断特征点对为动态目标上的异常点,将异常点进行滤除,得到最终滤除后的特征点,将最终滤除后的特征点添加到ORB-SLAM视觉里程计框架中,进行定位与建图。
为了充分验证特征点滤除算法的性能,选择TUM数据上的彩色图作为实验输入,考虑动态目标在缓慢移动、快速移动和动态目标在远处移动三种状态中算法对特征点滤除的效果;
(1)动态目标缓慢移动:
图6(a)、图6(b)、图6(c)是本发明对TUM数据第17帧的滤除结果图;图6(d)、图6(e)、图6(f)为本发明对TUM数据第17帧的滤除结果图。在图6(a)、图6(b)、图6(c)中,两个动态目标刚起身离开座椅移动相对缓慢,可以看到在几何滤除后,还有部分特征点在动态目标上。图6(d)、图6(e)、图6(f)中,右边目标完全起身,相对第17帧移动速度加快,可以看到几何滤除后大部分“异常特征点”被滤除。从滤除效果可以看到,几何滤除对于移动速度相对缓慢的动态目标不是特别敏感。通过分析对比极线几何对两帧特征点约束,发现极线几何能很好的对几何滤除后的“残留”特征点进行滤除。
(2)动态目标快速移动:
图7(a)、图7(b)、图7(c)是本发明对TUM数据第212帧的滤除结果图,图7(d)、图7(e)、图7(f)是本发明对TUM数据第414帧的滤除结果图;两个场景中,动态目标正在快速行走。通过分析可以发现,几何滤除对快速移动目标敏感。可以很好地对“异常特征点”进行过滤。第414帧中,动态目标在几何滤除后仍存在部分“异常特征点”,这是因为动态目标在行走其间重心在左腿,即左腿支撑,右腿在迈进。故这些“异常特征点”大部分集中在左腿上。两帧图像在进行极线几何滤除后,“异常特征点”几乎全部得到滤除。
(3)动态目标远处移动:
图8(a)、图8(b)、图8(c)是本发明对TUM数据第356帧的滤除结果图,图8(d)、图8(e)、图8(f)是本发明对TUM数据第424帧的滤除结果图;可以看到通过极线几何配合几何约束能很好地对动态目标上的“异常特征点”进行滤除。
通过分析算法对动态目标处于缓慢、快速移动以及在场景远处移动的结果可以得出结论,当动态目标相对速度较高时,几何滤除对可以很好的对动态目标上的“异常特征点”进行滤除,然而几何滤除对相对速度较慢的动态目标不敏感。分析极线几何对特征点滤除的结果,可以看到在几何滤除有“残余”特征点的情况下,极线约束能很好地对“残余”特征点进行滤除。
为验证改进RANSAC算法的性能,将其与标准RANSAC算法的迭代次数和计算耗时进行对比。
如图9为标准RANSANC算法与改进RANSAC算法在TUM数据下的迭代次数对比。最大迭代次数为2000,基础矩阵置信度为0.99。通过分析图8可以看到标准RANSAC算法的迭代次数几乎呈均匀分布在0到2000的范围内,其中也有比较多的次数达到最大迭代次数。改进算法迭代次数大部分在0到500范围内,相比改进RANSAC算法,迭代次数明显降低。标准RANSAC算法迭代次数较高的原因为其对样本点的采集采用随机选点的方式,选点具有盲目性和随机性。而改进RANSAC算法充分考虑了采样点的质量,择优选取质量高的特征点优先计算基础矩阵,大大增大了采集到正确样本点的概率。
图10、图11所示为两种算法在TUM数据上的计算时间对比。由图11计算时间箱型图可以直观看到两种算法的处理时间分布。标准RANSAC算法处理时间大部分集中在5-30ms,改进算法在大部分在0-5ms分布。改进算法的平均处理时间仅为标准算法的38.9%。改进算法在平均计算时间上优于标准算法。
将所提特征点滤除算法加入到ORB-SLAM前端框架中测试算法在SLAM上的性能。
在TUM数据下对两个***进行精度测试,运行5次并取绝对值。采用数据集自带的评价工具将两个***所估计的相机位姿CameraTrajectory.txt与数据集所给的真实位姿groundtruth.txt进行对比,图12为绝对轨迹误差的输出结果。从表1可以看到改进后的***在精度上得到了很大的改善,其均方根误差减少了约50%,且误差波动大幅降低。
表1绝对轨迹误差的代表值
综上,改进的***相对于标准***在动态环境下的性能得到了显著改善。
Claims (5)
1.一种室内动态场景的视觉定位与建图方法,其特征在于,具体按照以下步骤实施:
步骤1,对输入的查询图像和目标图像进行特征点提取和匹配,并通过词袋模式加速特征点的匹配;
步骤2,在步骤1的特征点匹配阶段,对匹配后的特征点添加精度约束与几何约束,采用双向打分规则对特征点进行双约束;
所述步骤2的具体步骤如下:
步骤2.1,在图像特征点匹配阶段,计算每对特征点与其它特征点之间的最近汉明距离d1和次近汉明距离d2,记它们之间的比值为k,即k=d1/d2,添加精度匹配约束,k<α是可靠的匹配,其中α为精度约束因子,k越小代表这对匹配点对的最近汉明距离远远小于最小汉明距离,匹配越可靠;
通过定义精度约束匹配质量得分来量化匹配质量,若一对特征点匹配质量越高,表示其正确匹配的概率越大;
步骤2.2,选取三对特征点在查询图像和目标图像上分别构成三角形Δp1p2p3、Δq1q2q3,其中,顶点p1,p2,p3为查询图像中的三个特征点,并与目标图像上的三个特征点q1,q2,q3相互对应;
由于相机相邻两帧图像间存在相似变换,若场景中不存在动态目标,两三角形之间的对应边应满足相似关系:
式(2)中,dp1、dp2、dp3、dq1、dq2、dq3分别为两两特征点之间的欧式距离;
若场景中出现动态目标,假设q2在动态目标上,在目标图像上q2移动到了q'2构成了新的三角形Δq1q'2q3,三角形两两顶点之间的欧式距离为d'q1,d'q2,d'q3,则式(2)中的比例关系不再满足,则引入得分机制,定义几何约束得分;
若两帧图像中对应两特征点之间的欧式距离变化越小,则其得分越低,其对应的两对特征点匹配质量越高,相反,若两对特征点几何约束得分越高,表示其中某对特征点为运动的异常点的概率越大,其匹配质量越低;
步骤2.3,由于步骤2.2中的查询图像中三对特征点相较于一点,目标图像中三对特征点相较于一点,则共计七对匹配特征点对,分别按几何约束得分函数计算每对匹配特征点对之间的得分,即可得到21组几何约束得分,剔除其中分值过大的得分,计算该21组得分的平均值AS,平均值AS描述了两帧图像的平均变换度量关系;
定义特征点的异常分值,特征点的异常分值越大则其为动态异常点的概率越大,重新遍历这21组几何约束得分,对每组得分对应的每对特征点进行双向打分,记几何约束平均得分比例因子为β,用以控制几何约束严格程度,若一对特征点的几何约束得分qg(i,j)大于β*AS,则这组得分对应的两个特征点的异常分值都加1,否则,不进行操作,依次计算所有特征点对的异常分值,记第i个图像特征点的异常分值为qab(i),为了自适应对异常点进行剔除,将异常分值和图像特征点个数N建立约束,即若qab(i)>γN,γ为几何约束自适应比例因子,其控制动态异常点的剔除度,则认为第i个特征点为运动的异常点,则对其进行滤除;
步骤3,通过改进RANSAC算法计算查询图像和目标图像间的基础矩阵;
步骤4,对剩余特征点对进行对极几何约束,得到最终滤除后的特征点,将最终滤除后的特征点添加到ORB-SLAM视觉里程计框架中,进行定位与建图。
2.如权利要求1所述的一种室内动态场景的视觉定位与建图方法,其特征在于,所述步骤2.1中,精度约束匹配质量得分函数定义如下:
qa=kd1 (1)
式(1)中,qa表示精度约束匹配质量得分,分值越大,代表匹配质量越高。
4.如权利要求3所述的一种室内动态场景的视觉定位与建图方法,其特征在于,所述步骤3的具体步骤如下:
步骤3.1,采用8点法计算基本矩阵替代标准RANSAC算法采用4对点求出的单应性矩阵作为基础矩阵,得到改进RANSAC算法,以增加样本点数目,在选取样本点时,将图像划分成8个块,在每个块中选取一个点作为样本点;
步骤3.2,对输入的查询图像和目标图像进行特征点提取和匹配,将匹配的结果输入到步骤3.1得到的改进RANSAC算法中;
步骤3.3,定义特征点的分值来表述特征点的优劣程度,记Q(i)为第i个特征点的总分值,则Q(i)可以由以下得分函数求得:
Q(i)=mqa+nqg (5)
式(5)中,m表示精度约束得分的比例系数,n表示集合约束得分的比例系数;
将步骤2进行几何约束后的剩余特征点作为原始特征点输入到改进RANSAC算法中,对目标图像划分2*4的网格,并将特征点归属到所对应网格中,按8个特征点的总分值的大小顺序依次计算基础矩阵。
5.如权利要求3所述的一种室内动态场景的视觉定位与建图方法,其特征在于,所述步骤4的具体步骤如下:
步骤4.1,设I1为目标图像,I2为查询图像,P为空间中的一点,其在目标图像I1与查询图像I2上的投影分别为x1、x2,O1、O2分别为两相机的光心,其连线分别与目标图像I1与查询图像I2交于e1和e2,则PO1O2与目标图像I1与查询图像I2平面相交得到直线l1、l2分别为图像平面O1、O2上的极线,通过极限几何约束得,点x1位于极线l1上,x2位于极线l2上;
步骤4.2,将第一个相机投影平面到第二个相机投影平面的几何变换记为(R,t),则有
其中,分别为空间点P在第一个相机和第二个相机坐标系下的归一化坐标,k1表示第一相机的内参矩阵,k2表示第二相机的内参矩阵,R表示目标图像和查询图像间的位姿变换矩阵,t表示目标图像和查询图像间的平移向量,若记则可得
式中,[t]x为向量t的反对称矩阵;将式(6)代入式(8)中得:
式中,F为基础矩阵;
式(9)表示若某一像素特征点为另一像素特征点的正确匹配,其必在其图像平面的极线上;
步骤4.3,将步骤4.2中的一对匹配特征点对表示为x1=[u1,v1,1],x2=[u2,v2,1],其中,u1、v1为像素点x1的像素坐标,u2、v2为像素点x2的像素坐标,则目标图像I1平面的极线l1可由下式确定:
式(10)中,X,Y,Z代表极线方程向量,则像素点x2到极线l1的距离可以由下式得到:
其中,D表示x2到极线l1的距离;
步骤4.4,设置阈值ε,若D>ε,则认为所判断特征点对为动态目标上的异常点,将异常点进行滤除,得到最终滤除后的特征点,将最终滤除后的特征点添加到ORB-SLAM视觉里程计框架中,进行定位与建图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954663.XA CN110838145B (zh) | 2019-10-09 | 2019-10-09 | 一种室内动态场景的视觉定位与建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954663.XA CN110838145B (zh) | 2019-10-09 | 2019-10-09 | 一种室内动态场景的视觉定位与建图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110838145A CN110838145A (zh) | 2020-02-25 |
CN110838145B true CN110838145B (zh) | 2020-08-18 |
Family
ID=69575177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910954663.XA Expired - Fee Related CN110838145B (zh) | 2019-10-09 | 2019-10-09 | 一种室内动态场景的视觉定位与建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110838145B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950370B (zh) * | 2020-07-10 | 2022-08-26 | 重庆邮电大学 | 动态环境下线拓展视觉里程计方法 |
CN112037268B (zh) * | 2020-09-02 | 2022-09-02 | 中国科学技术大学 | 一种动态场景下的基于概率传递模型的环境感知方法 |
CN112163502B (zh) * | 2020-09-24 | 2022-07-12 | 电子科技大学 | 一种室内动态场景下的视觉定位方法 |
CN112949485B (zh) * | 2021-03-01 | 2022-03-15 | 八维通科技有限公司 | 基于人工智能的数据处理方法及装置 |
CN114037759B (zh) * | 2021-10-27 | 2024-06-14 | 合肥工业大学 | 一种室内环境下的动态特征点滤除与重定位方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制*** |
CN107833236A (zh) * | 2017-10-31 | 2018-03-23 | 中国科学院电子学研究所 | 一种动态环境下结合语义的视觉定位***和方法 |
CN109558879A (zh) * | 2017-09-22 | 2019-04-02 | 华为技术有限公司 | 一种基于点线特征的视觉slam方法和装置 |
CN109579840A (zh) * | 2018-10-25 | 2019-04-05 | 中国科学院上海微***与信息技术研究所 | 一种点线特征融合的紧耦合双目视觉惯性slam方法 |
CN110298884A (zh) * | 2019-05-27 | 2019-10-01 | 重庆高开清芯科技产业发展有限公司 | 一种适于动态环境中单目视觉相机的位姿估计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109724603A (zh) * | 2019-01-08 | 2019-05-07 | 北京航空航天大学 | 一种基于环境特征检测的室内机器人导航方法 |
CN109974743B (zh) * | 2019-03-14 | 2021-01-01 | 中山大学 | 一种基于gms特征匹配及滑动窗口位姿图优化的视觉里程计 |
-
2019
- 2019-10-09 CN CN201910954663.XA patent/CN110838145B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制*** |
CN109558879A (zh) * | 2017-09-22 | 2019-04-02 | 华为技术有限公司 | 一种基于点线特征的视觉slam方法和装置 |
CN107833236A (zh) * | 2017-10-31 | 2018-03-23 | 中国科学院电子学研究所 | 一种动态环境下结合语义的视觉定位***和方法 |
CN109579840A (zh) * | 2018-10-25 | 2019-04-05 | 中国科学院上海微***与信息技术研究所 | 一种点线特征融合的紧耦合双目视觉惯性slam方法 |
CN110298884A (zh) * | 2019-05-27 | 2019-10-01 | 重庆高开清芯科技产业发展有限公司 | 一种适于动态环境中单目视觉相机的位姿估计方法 |
Non-Patent Citations (4)
Title |
---|
SLAM in dynamic environments via ML-RANSAC;Masoud S. Bahraini 等;《ELSEVIER》;20180228;第105-118页 * |
单目视觉/惯性室内无人机自主导航算法研究;庄瞳;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20130215(第2期);第35-47页 * |
基于单目视觉的同时定位与地图构建方法综述;刘浩敏 等;《计算机辅助设计与图形学学报》;20160630;第28卷(第6期);全文 * |
基于极线约束的ORB特征匹配算法;秦晓飞 等;《计算机应用研究》;20180930;第35卷(第9期);第2865-2868页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110838145A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110838145B (zh) | 一种室内动态场景的视觉定位与建图方法 | |
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及*** | |
CN107301654B (zh) | 一种多传感器的高精度即时定位与建图方法 | |
CN110853100B (zh) | 一种基于改进点线特征的结构化场景视觉slam方法 | |
CN111340797A (zh) | 一种激光雷达与双目相机数据融合检测方法及*** | |
CN109165680B (zh) | 基于视觉slam的室内场景下单一目标物体字典模型改进方法 | |
CN110688947B (zh) | 一种同步实现人脸三维点云特征点定位和人脸分割的方法 | |
CN113674416B (zh) | 三维地图的构建方法、装置、电子设备及存储介质 | |
CN109974743B (zh) | 一种基于gms特征匹配及滑动窗口位姿图优化的视觉里程计 | |
CN113012212A (zh) | 一种基于深度信息融合的室内场景三维点云重建方法和*** | |
CN113903011B (zh) | 一种适用于室内停车场的语义地图构建及定位方法 | |
CN111242026B (zh) | 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法 | |
CN112752028B (zh) | 移动平台的位姿确定方法、装置、设备和存储介质 | |
CN110097599B (zh) | 一种基于部件模型表达的工件位姿估计方法 | |
CN113393524B (zh) | 一种结合深度学习和轮廓点云重建的目标位姿估计方法 | |
CN111681275B (zh) | 一种双特征融合的半全局立体匹配方法 | |
CN110310305B (zh) | 一种基于bssd检测与卡尔曼滤波的目标跟踪方法与装置 | |
CN114022542A (zh) | 一种基于三维重建的3d数据库制作方法 | |
CN109544632B (zh) | 一种基于层次主题模型的语义slam对象关联方法 | |
CN111709269B (zh) | 一种深度图像中基于二维关节信息的人手分割方法和装置 | |
CN115511970B (zh) | 一种面向自主泊车的视觉定位方法 | |
CN111882663A (zh) | 一种融合语义信息完成视觉slam闭环检测方法 | |
CN116630662A (zh) | 一种应用于视觉slam的特征点误匹配剔除方法 | |
He et al. | Minimum spanning tree based stereo matching using image edge and brightness information | |
CN114022768A (zh) | 一种基于语义先验和概率传播的视觉slam定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200818 |