CN112633122B - 一种单目vio系统的前端里程计算法及系统 - Google Patents
一种单目vio系统的前端里程计算法及系统 Download PDFInfo
- Publication number
- CN112633122B CN112633122B CN202011503383.6A CN202011503383A CN112633122B CN 112633122 B CN112633122 B CN 112633122B CN 202011503383 A CN202011503383 A CN 202011503383A CN 112633122 B CN112633122 B CN 112633122B
- Authority
- CN
- China
- Prior art keywords
- frame
- sliding window
- frames
- feature points
- selecting
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提出了一种单目VIO系统的前端里程计算法及系统,涉及计算机视觉领域。一种单目VIO系统的前端里程计算法包括:S1、调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕,若不是则进入S2,若是则进入S3;S2、对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;S3、从备选帧序列中选择评分最高的帧作为参考帧;S4、计算参考帧和最新帧的相对位姿。其能够在初始化选取参考帧时,适当提升共视特征的权重可以使初始化过程具有更高的精度和鲁棒性。此外本发明还提出了一种单目VIO系统的前端里程计算系统,包括:调用模块、第一计算模块、选取模块以及第二计算模块。
Description
技术领域
本发明涉及计算机视觉领域,具体而言,涉及一种单目VIO系统的前端里程计算法及系统。
背景技术
单目VIO技术旨在同时定位与地图构建,其初始化过程从一个纯视觉结构开始,首先选择两个包含足够共视特征与视差的参考帧。然后使用五点法来恢复这两个帧之间的相对旋转和按比例平移。最后基于这两个帧所恢复出的特征估计所有帧的姿态。也就是说,初始化中所有帧的位姿和状态都由参考帧三角化特征点后得到。因此,参考帧的质量影响着整个系统的精度。
具体而言:仅考虑视觉初始化部分时,单目VIO在初始时能获得的只有连续图像,首先对图像进行提取特征点,提取的特征点数量和同一特征点在图像间的视差变换关系描述了图像本身的特征和图像之间的关系。初始化的目的就在于,通过特征点,计算出每帧图像之间的位姿关系,也就是假设有连续n帧图像,以第一帧为世界坐标原点建立坐标系,计算出第二帧至第n帧相对第一帧的坐标,通过这个坐标可以将第n帧图像旋转到第一帧下。这个坐标的表现形式,我们通过一个旋转和一个平移来确定(即旋转为R,平移为t),设想将一个物体随意抛至空中,在空中某个位置,物体的变化包括两个部分:其本身的姿态,和物体相对原位置空间位置发生了改变。旋转表示的是姿态,平移表示的是空间位置。
在目前的方法,如VINS-Mono中,对于参考帧的选取策略是:采用首个同时满足视差和共视特征的帧作为参考帧,没有针对参考帧的质量对整个系统的影响进行研究。但实际上,同时满足这两个要求的帧很有可能不止一帧,根据SFM初始化中对极约束和三角化的公式,显然选择首个满足条件的帧并不能使系统达到最佳性能,通过我们的实验可以证明,参考帧的质量对整个VIO系统的精度具备很大的影响,同时依据上述方法选取出的参考帧不具备最佳性能。我们的算法通过调整视差和共视特征的关系显著提升了整个单目VIO系统的精度。
发明内容
本发明的目的在于提供一种单目VIO系统的前端里程计算法,其能够在初始化选取参考帧时,适当提升共视特征的权重可以使初始化过程具有更高的精度和鲁棒性。
本发明的另一目的在于提供一种单目VIO系统的前端里程计算系统,其能够运行一种单目VIO系统的前端里程计算法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种单目VIO系统的前端里程计算法,其包括S1、调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕,若不是则进入S2,若是则进入S3;S2、对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;S3、从备选帧序列中选择评分最高的帧作为参考帧;S4、计算参考帧和最新帧的相对位姿。
在本发明的一些实施例中,上述调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕包括:将新来图像加入滑窗中,从滑窗中倒数第二帧开始,从后至前判断当前帧是否满足要求,若满足要求,则记录该帧的序号,跟踪到的特征点数目以及视差。
在本发明的一些实施例中,上述对滑窗内的所有帧进行操作包括:对当前帧和滑窗中最后一帧进行特征点匹配,判断匹配得到的特征点数量是否大于设置的最小阈值,若不是,则对滑窗内的所有帧进行操作。
在本发明的一些实施例中,上述还包括若是,则计算平均视差,对当前帧进行评分,加入备选帧序列。
在本发明的一些实施例中,上述还包括特征点评分公式:当匹配特征点数量小于等于30时,则跳过该帧,SA=0;当匹配特征点数量介于30至100之间,SA=A*3;当匹配特征点数量大于等于100时,SA=300;其中A为特征点数目,SA为特征点评分。
在本发明的一些实施例中,上述还包括视差评分公式:当平均视差小于等于20时,则跳过该帧,SB=0;当匹配特征点数量介于20至80之间,SB=B*3;当匹配特征点数量大于等于80时,SB=160;其中B表示平均视差,SB表示视差评分。
在本发明的一些实施例中,上述还包括帧评分公式:SF=SA+SB,其中SF为帧评分,即帧评分等于特征点评分与视差评分的和。
在本发明的一些实施例中,上述从备选帧序列中选择评分最高的帧作为参考帧包括:将评分最高的帧选做参考帧,选用此帧与最新帧用五点法本质矩阵恢复出R,t,即两帧之间的位姿关系其中R为旋转、t为平移。
第二方面,本申请实施例提供一种单目VIO系统的前端里程计算系统,其包括调用模块,用于调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕;第一计算模块,用于对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;选取模块,用于从备选帧序列中选择评分最高的帧作为参考帧;第二计算模块,用于计算参考帧和最新帧的相对位姿。
在本发明的一些实施例中,上述包括:用于存储计算机指令的至少一个存储器;与上述存储器通讯的至少一个处理器,其中当上述至少一个处理器执行上述计算机指令时,上述至少一个处理器使上述系统执行:调用模块、第一计算模块、选取模块以及第二计算模块。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
通过在EuRoC Mav的视觉惯性数据集上分别比较了VINS-Mono,逆序查找参考帧和评分查找参考帧的绝对姿态误差,并绘制出了我们的方案与真值轨迹的比较情况。可以得出结论,共视特征和视差在初始化中都具有至关重要的作用,在初始化选取参考帧时,适当提升共视特征的权重可以使初始化过程具有更高的精度和鲁棒性。通过构建了一个评分体系,用于对不同视差和共视特征的帧进行综合评价,选取质量最高的参考帧进行初始化以提升整个系统的精度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种单目VIO系统的前端里程计算法步骤示意图;
图2为本发明实施例提供的一种单目VIO系统的前端里程计算法流程示意图;
图3为本发明实施例提供的一种单目VIO系统的前端里程计算系统模块示意图。
图标:10-调用模块;20-第一计算模块;30-选取模块;40-第二计算模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1和图2,图1为本发明实施例提供的一种单目VIO系统的前端里程计算法步骤示意图。
在目前的方法,如VINS-Mono中,对于参考帧的选取策略是:采用首个同时满足视差和共视特征的帧作为参考帧,没有针对参考帧的质量对整个系统的影响进行研究。但实际上,同时满足这两个要求的帧很有可能不止一帧,根据SFM初始化中对极约束和三角化的公式,显然选择首个满足条件的帧并不能使系统达到最佳性能,通过我们的实验可以证明,参考帧的质量对整个VIO系统的精度具备很大的影响,同时依据上述方法选取出的参考帧不具备最佳性能。一种单目VIO系统的前端里程计算法通过调整视差和共视特征的关系显著提升了整个单目VIO系统的精度,其如下所示:
步骤S1、调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕,若不是则进入S2,若是则进入S3;
在一些实施方式中,例如,当前滑窗大小为10,则滑窗中有十帧图像,此时滑动窗口外有第十一帧新的图像传来,并且对它进行了特征点提取。
判断滑窗中的所有帧(设为10帧)是否全部计算完毕,如果没有则进入S2。否则直接进入步骤S3。
步骤S2、对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;
在一些实施方式中,开始计算第i帧(i大小为1-10),对第i帧和最新帧(第十一帧)进行特征点匹配,即判断这两帧有多少个相同的特征点。
请参照图2,判断相同的特征点数量是否大于30,如果大于则进入2.2.1,如果小于回到第2步开始时,并且i+1(比如一开始计算出第一帧和第十一帧,不满足相同特征点大于30,则计算第二帧和第十一帧的相同特征点数目)。
请参照图2,若相同的特征点数量是否大于30,对相同的特征点计算平均视差,若平均视差大于20,则认为满足条件,进入2.2.2;否则,同样回到第2步开始时,并且i+1。
此时第i帧满足条件:相比第十一帧,跟踪到的特征点数目大于30个,且视差超过20。对此帧按照评分公式计算评分,并且将评分和此帧序列号记录下来,加入备选帧序列。
步骤S3、从备选帧序列中选择评分最高的帧作为参考帧;
在一些实施方式中,等滑动窗口中的所有帧(10帧)都计算完毕,则比较备选帧序列中所有帧的评分,选取评分最高的帧作为参考帧。
步骤S4、计算参考帧和最新帧的相对位姿。
在一些实施方式中,计算参考帧和第十一帧的相对位姿,也就是旋转和平移。
提出了一种单目VIO系统的前端里程计算法,算法通过研究视差和共视特征对参考帧的影响,提出了一种可以对参考帧进行综合评价的评分系统,它对滑动窗口中的帧进行评分并动态选取参考帧,以保证动态初始化具备一个良好的结果。
在单目VIO中,通常先对纯视觉进行SFM,初始化相机位姿后和IMU对齐。VINS-Mono的初始化策略是从一个纯视觉结构开始的,首先找到滑动窗口中第一个与最后一帧具有足够的共视特征和视差的帧,并设置其的索引为L。具体方式为在滑动窗口中从第一帧开始计算每一帧与最后一帧匹配的特征点,通过特征点计算平均视差。将找到的第L帧作为参考帧,并通过五点法计算当前帧和最后一帧的相对位姿。最后通过参考帧得到的位姿和匹配的特征点状态恢复滑动窗口中所有帧的位姿和状态。
提出设想:选择不同视差和特征点数目的参考帧会对VIO系统精度产生影响。
在实际中,由于滑动窗口中同时满足共视特征和视差的帧往往不止一帧,这种策略导致选取的参考帧为滑动窗口中第一个满足条件的帧,对其余同样满足条件的帧不做考虑。一种单目VIO系统的前端里程计算法认为视差和共视特征对参考帧的质量具备不同程度的影响力,在同样满足基本条件的情况下,对视差和共视特征进行权重分配,选取评分最高的参考帧。
进行对比试验:同时为了证明视差和共视特征对参考帧的影响,我们做了以下对比实验:
在滑动窗口中逆序寻找L帧,即找到最后一个同时满足共视特征和视差的帧,使得L帧与当前状态的变化更小,这一做法在常规状态下会导致追踪到的特征点更多,而视差更小。
在滑动窗口中若有多帧同时满足视差和共视特征要求,在这其中选取位次排在中序的帧作为参考帧。
对共视特征和视差分别设计权重,构建评分体系对滑动窗口中满足视差和共视特征的帧进行综合评价,选取综合评价最高的帧作为参考帧。
VINS-Mono初始化过程中,需要选取首个同时满足共视特征和视差的帧作为初始化的参考帧,将其称为L帧。我们分别在EuRoC Mav数据集上实验了在同时满足以上两个条件的帧序列中使用逆序查找L帧,按顺序折中查找L帧以及评分后选取L帧三种策略。并且将三种策略综合起来与VINS-Mono进行对比,从下文的表中可以看出,折中选取与VINS-Mono精度相当,逆序选取精度好于VINS-Mono,评分后选取的策略拥有最高的精度。可以看出使用评分策略选取参考帧后的系统,在所有数据集中的精度都高于原始VINS-Mono方法。
单目VIO系统的前端里程计算法对单目视觉惯性联合初始化方法提供了一种可靠的评分系统用于选取参考帧,在利用已有资源的情况下,这种算法不会使初始化的时间延长,并且有效的提供了一个精度更高的初始化结果,以使整个系统具备更高的准确度。对比试验结果如下:
Sequence | VINS_Mono | 折中选取 | 逆序选取 | 评分选取 |
MH_01_easy | 0.111 | 0.112 | 0.112 | 0.070 |
MH_02_easy | 0.094 | 0.159 | 0.070 | 0.049 |
MH_03_medium | 0.123 | 0.148 | 0.130 | 0.114 |
MH_04_difficult | 0.144 | 0.118 | 0.114 | 0.131 |
MH_05_difficult | 0.206 | 0.213 | 0.239 | 0.191 |
V1_01_easy | 0.052 | 0.058 | 0.042 | 0.042 |
V1_02_medium | 0.130 | 0.085 | 0.075 | 0.090 |
V2_01_easy | 0.068 | 0.066 | 0.077 | 0.068 |
V2_02_medium | 0.218 | 0.213 | 0.185 | 0.130 |
实验结果证明,共视特征与视差对初始化过程都具有重要作用,并且在同时满足这两个条件的情况下,选取不同的参考帧对整个系统的精度会产生较大的影响,从设置二者权重相同开始,逐渐提升共视特征的权重时,整个系统的精度会在一定区域内得到提升。
实施例2
请参阅图2,图2为本发明实施例提供的一种单目VIO系统的前端里程计算法流程示意图,其如下所示:
在一些实施方式中,将新来图像加入滑窗中,假设滑窗大小为十帧,且此时滑窗中已有十帧图像,当第十一帧图像加入时,从滑窗中倒数第二帧开始,从后至前判断当前帧是否满足要求:相比第十一帧,跟踪到的特征点数目大于30个,且视差超过20,如果满足要求,则记录该帧的序号,跟踪到的特征点数目,以及视差。
滑窗中满足要求的帧按序号进行如下操作:将根据跟踪到的特征点数目,以及视差,按权重计算评分,权重设计为3:2,即认为特征点数目权重高于视差,权重设置依据第(1)步中的判断要求的反比。并且在这之中,为了保证视差或者共视特征过高导致评分失准,分别设置最高阈值:特征点最高数目超过100则按100计算,视差阈值设为80,至此可以计算出评分最高的帧。
将评分最高的帧选做参考帧,选用此帧与最新帧用五点法本质矩阵恢复出R,t(即两帧之间的位姿关系)。若滑窗中所有帧都不满足要求,则滑窗中保留最新帧,继续等待下一帧图像。
评分公式:
特征点评分:当匹配特征点数量小于等于30时,则跳过该帧:SA=0;当匹配特征点数量介于30至100之间:SA=A*3;当匹配特征点数量大于等于100时:SA=300;
视差评分:当平均视差小于等于20时,则跳过该帧:SB=0;当匹配特征点数量介于20至80之间:SB=B*3;当匹配特征点数量大于等于80时:SB=160;
综合评分:SF=SA+SB;(其中A表示特征点数目,SA表示特征点评分,B表示平均视差,SB表示视差评分,SF表示综合评分)。
更新后的算法流程请参照图2,如下:
step1、调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕;
step2、对滑窗内的所有帧进行操作;
2.1对当前帧和滑窗中最后一帧进行特征点匹配;
2.2若匹配得到的特征点数量大于设置的最小阈值,进入2.2.1,否则回到step2;
2.2.1计算平均视差;
2.2.2对当前帧进行评分,加入备选帧序列;
Step3、从备选帧序列中选择评分最高的帧作为参考帧;
Step4、计算参考帧和最新帧的相对位姿。
实施例3
请参阅图3,图3为本发明实施例提供的一种单目VIO系统的前端里程计算系统模块示意图,其如下所示:
调用模块10,用于调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕;
第一计算模块20,用于对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;
选取模块30,用于从备选帧序列中选择评分最高的帧作为参考帧;
第二计算模块40,用于计算参考帧和最新帧的相对位姿。
还包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。
其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图3所示的结构仅为示意还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供的一种单目VIO系统的前端里程计算法及系统,通过在EuRoC Mav的视觉惯性数据集上分别比较了VINS-Mono,逆序查找和评分查找的绝对姿态误差,并绘制出了我们的方案与真值轨迹的比较情况。可以得出结论,共视特征和视差在初始化中都具有至关重要的作用,在初始化选取参考帧时,适当提升共视特征的权重可以使初始化过程具有更高的精度和鲁棒性。通过构建了一个评分体系,用于对不同视差和共视特征的帧进行综合评价,选取质量最高的参考帧进行初始化以提升整个系统的精度。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种单目VIO系统的前端里程计算法,其特征在于,包括:
S1、调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕,若不是则进入S2,若是则进入S3;
S2、对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;
S3、从备选帧序列中选择评分最高的帧作为参考帧;
S4、计算参考帧和最新帧的相对位姿。
2.如权利要求1所述的一种单目VIO系统的前端里程计算法,其特征在于,所述调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕包括:
将新来图像加入滑窗中,从滑窗中倒数第二帧开始,从后至前判断当前帧是否满足要求,若满足要求,则记录该帧的序号,跟踪到的特征点数目以及视差。
3.如权利要求1所述的一种单目VIO系统的前端里程计算法,其特征在于,所述对滑窗内的所有帧进行操作包括:
对当前帧和滑窗中最后一帧进行特征点匹配,判断匹配得到的特征点数量是否大于设置的最小阈值,若不是,则对滑窗内的所有帧进行操作。
4.如权利要求3所述的一种单目VIO系统的前端里程计算法,其特征在于,还包括:
若是,则计算平均视差,对当前帧进行评分,加入备选帧序列。
5.如权利要求1所述的一种单目VIO系统的前端里程计算法,其特征在于,还包括特征点评分公式:
当匹配特征点数量小于等于30时,则跳过该帧,SA=0;
当匹配特征点数量介于30至100之间,SA=A*3;
当匹配特征点数量大于等于100时,SA=300;
其中A为特征点数目,SA为特征点评分。
6.如权利要求5所述的一种单目VIO系统的前端里程计算法,其特征在于,还包括视差评分公式:
当平均视差小于等于20时,则跳过该帧,SB=0;
当匹配特征点数量介于20至80之间,SB=B*3;
当匹配特征点数量大于等于80时,SB=160;
其中B表示平均视差,SB表示视差评分。
7.如权利要求6所述的一种单目VIO系统的前端里程计算法,其特征在于,还包括帧评分公式:
SF=SA+SB,其中SF为帧评分,即帧评分等于特征点评分与视差评分的和。
8.如权利要求1所述的一种单目VIO系统的前端里程计算法,其特征在于,所述从备选帧序列中选择评分最高的帧作为参考帧包括:
将评分最高的帧选做参考帧,选用此帧与最新帧用五点法本质矩阵恢复出R,t,即两帧之间的位姿关系其中R为旋转、t为平移。
9.一种单目VIO系统的前端里程计算系统,其特征在于,包括:
调用模块,用于调用从所有图像提取出的特征点,判断滑窗内图片是否计算完毕;
第一计算模块,用于对滑窗内的所有帧进行操作,根据跟踪到的特征点数目以及视差,按权重计算评分;
选取模块,用于从备选帧序列中选择评分最高的帧作为参考帧;
第二计算模块,用于计算参考帧和最新帧的相对位姿。
10.如权利要求9所述的一种单目VIO系统的前端里程计算系统,其特征在于,包括:
用于存储计算机指令的至少一个存储器;
与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述系统执行:调用模块、第一计算模块、选取模块以及第二计算模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503383.6A CN112633122B (zh) | 2020-12-17 | 2020-12-17 | 一种单目vio系统的前端里程计算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503383.6A CN112633122B (zh) | 2020-12-17 | 2020-12-17 | 一种单目vio系统的前端里程计算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112633122A CN112633122A (zh) | 2021-04-09 |
CN112633122B true CN112633122B (zh) | 2024-01-23 |
Family
ID=75317341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011503383.6A Active CN112633122B (zh) | 2020-12-17 | 2020-12-17 | 一种单目vio系统的前端里程计算法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112633122B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002245451A (ja) * | 2001-02-19 | 2002-08-30 | Nippon Hoso Kyokai <Nhk> | 立体画像評価装置 |
CN108989799A (zh) * | 2017-06-02 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 一种编码单元参考帧的选择方法、装置及电子设备 |
CN108989817A (zh) * | 2018-09-03 | 2018-12-11 | 西安交通大学 | 一种基于参考帧错位预测的雷达数据压缩方法 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位系统 |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
CN109727288A (zh) * | 2017-12-28 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 用于单目同时定位与地图构建的系统和方法 |
CN109917644A (zh) * | 2018-12-26 | 2019-06-21 | 达闼科技(北京)有限公司 | 一种提高视觉惯导系统鲁棒性的方法、装置和机器人设备 |
CN110030994A (zh) * | 2019-03-21 | 2019-07-19 | 东南大学 | 一种基于单目的鲁棒性视觉惯性紧耦合定位方法 |
CN110108258A (zh) * | 2019-04-09 | 2019-08-09 | 南京航空航天大学 | 一种单目视觉里程计定位方法 |
CN111263151A (zh) * | 2020-04-26 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、电子设备和计算机可读存储介质 |
CN111753696A (zh) * | 2020-06-17 | 2020-10-09 | 济南大学 | 一种感知场景信息的方法、仿真装置、机器人 |
CN111780754A (zh) * | 2020-06-23 | 2020-10-16 | 南京航空航天大学 | 基于稀疏直接法的视觉惯性里程计位姿估计方法 |
-
2020
- 2020-12-17 CN CN202011503383.6A patent/CN112633122B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002245451A (ja) * | 2001-02-19 | 2002-08-30 | Nippon Hoso Kyokai <Nhk> | 立体画像評価装置 |
CN108989799A (zh) * | 2017-06-02 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 一种编码单元参考帧的选择方法、装置及电子设备 |
CN109727288A (zh) * | 2017-12-28 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 用于单目同时定位与地图构建的系统和方法 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位系统 |
CN108989817A (zh) * | 2018-09-03 | 2018-12-11 | 西安交通大学 | 一种基于参考帧错位预测的雷达数据压缩方法 |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
CN109917644A (zh) * | 2018-12-26 | 2019-06-21 | 达闼科技(北京)有限公司 | 一种提高视觉惯导系统鲁棒性的方法、装置和机器人设备 |
CN110030994A (zh) * | 2019-03-21 | 2019-07-19 | 东南大学 | 一种基于单目的鲁棒性视觉惯性紧耦合定位方法 |
CN110108258A (zh) * | 2019-04-09 | 2019-08-09 | 南京航空航天大学 | 一种单目视觉里程计定位方法 |
CN111263151A (zh) * | 2020-04-26 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、电子设备和计算机可读存储介质 |
CN111753696A (zh) * | 2020-06-17 | 2020-10-09 | 济南大学 | 一种感知场景信息的方法、仿真装置、机器人 |
CN111780754A (zh) * | 2020-06-23 | 2020-10-16 | 南京航空航天大学 | 基于稀疏直接法的视觉惯性里程计位姿估计方法 |
Non-Patent Citations (1)
Title |
---|
一种基于率失真优化的关键参考帧选择算法;杨天武;电子学报;1241-1245 * |
Also Published As
Publication number | Publication date |
---|---|
CN112633122A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109727288B (zh) | 用于单目同时定位与地图构建的系统和方法 | |
CN106909877B (zh) | 一种基于点线综合特征的视觉同时建图与定位方法 | |
CN110335319B (zh) | 一种语义驱动的相机定位与地图重建方法和系统 | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
US20150169956A1 (en) | Object tracking method and device | |
US9558424B2 (en) | On-road stereo visual odometry without explicit pose determinations | |
WO2023016271A1 (zh) | 位姿确定方法、电子设备及可读存储介质 | |
US20220398845A1 (en) | Method and device for selecting keyframe based on motion state | |
CN111833447A (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
US10055674B2 (en) | Confidence estimation for optical flow | |
CN112115980A (zh) | 基于光流跟踪和点线特征匹配的双目视觉里程计设计方法 | |
CN112785705B (zh) | 一种位姿获取方法、装置及移动设备 | |
CN111753739B (zh) | 物体检测方法、装置、设备以及存储介质 | |
CN105701787B (zh) | 基于置信度的深度图融合方法 | |
Daoud et al. | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps | |
CN112560962A (zh) | 骨骼动画的姿态匹配方法、装置、电子设备及存储介质 | |
US11256949B2 (en) | Guided sparse feature matching via coarsely defined dense matches | |
CN112633122B (zh) | 一种单目vio系统的前端里程计算法及系统 | |
CN111402429B (zh) | 一种尺度还原、三维重建方法、系统、存储介质及设备 | |
JP2017111209A (ja) | 3dマップの作成 | |
CN104408710A (zh) | 一种全局视差估计方法和系统 | |
CN110060343B (zh) | 地图构建方法及系统、服务器、计算机可读介质 | |
CN113763468A (zh) | 一种定位方法、装置、系统及存储介质 | |
CN114387197A (zh) | 一种双目图像处理方法、装置、设备和存储介质 |
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 |