CN114677444B - 一种优化的视觉slam方法 - Google Patents

一种优化的视觉slam方法 Download PDF

Info

Publication number
CN114677444B
CN114677444B CN202210597439.1A CN202210597439A CN114677444B CN 114677444 B CN114677444 B CN 114677444B CN 202210597439 A CN202210597439 A CN 202210597439A CN 114677444 B CN114677444 B CN 114677444B
Authority
CN
China
Prior art keywords
key
image frame
training
neural network
dictionary
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
Application number
CN202210597439.1A
Other languages
English (en)
Other versions
CN114677444A (zh
Inventor
张易学
周玄昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Lanxin Technology Co ltd
Original Assignee
Hangzhou Lanxin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Lanxin Technology Co ltd filed Critical Hangzhou Lanxin Technology Co ltd
Priority to CN202210597439.1A priority Critical patent/CN114677444B/zh
Publication of CN114677444A publication Critical patent/CN114677444A/zh
Application granted granted Critical
Publication of CN114677444B publication Critical patent/CN114677444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种优化的视觉SLAM方法,包括:获取SLAM定位过程中当前图像帧及当前图像帧的特征点、描述子;描述子为训练的神经网络得到的优化描述子或其他算法得到的描述子,基于描述子获取当前与上一相邻图像帧的相似度,并满足预设条件时,归属到字典Ω中,以及更新视觉地图;同时基于字典Ω的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络;训练集合Ψ中每一键均为具有稳定可靠性的键。本发明的方法实现在视觉定位优化中无监督自主训练神经网络,同时借助神经网络获取可靠的优化描述子进行相似度匹配,提高了定位的精度和可靠性。

Description

一种优化的视觉SLAM方法
技术领域
本发明涉及机器人技术领域,尤其涉及一种优化的视觉SLAM(SimultaneousLocalization and Mapping,同步建图与定位)方法。
背景技术
目前,在机器人自主导航应用领域,基于特征点的视觉SLAM是一种主流的建图与定位方法。通常,基于特征点的视觉SLAM方法分为前端与后端两个部分,前端部分负责提取和匹配特征点(比如SIFT,ORB,SURF特征),然后根据配对的特征点估计相机的相对运动,即计算得到连续采集到的图片之间的相机位姿变化关系,进而生成机器人移动的轨迹,同时将多帧稳定共视的空间特征点保存作为视觉地图的标记。而后端部分采用图优化的方式对于整张/局部区域地图上的标记位置及机器人移动轨迹进行修正,以减小前端计算中积累下来的误差。基于特征点的视觉SLAM的优点是使用3D视觉信息,相较于2D激光SLAM更为丰富,且蕴含了空间结构、纹理信息,因此其对环境的变化更为鲁棒,并且更加适合进一步的更高层次语义级别的应用。
然而,基于特征点的视觉SLAM方法十分依赖特征点提取的描述子计算的稳定性与可靠性,由于环境光的干扰(阳光、灯光)等因素,同样位置的特征点在不同的环境光条件,不同角度情况下往往表现出不同的视觉特征,计算出的描述子有很大的区别,同一特征点计算出来的描述子差别非常大,导致后续匹配失败。因此,在实际SLAM过程中,特征点的提取及其特征描述子的计算存在极大的不确定性。即现有技术中特征点描述子匹配计算有较大的误差,导致同一个特征点的局部特征图像无法匹配成功,非同一个特征点的局部特征图像误匹配,进而影响建图与定位的精度及可靠性,同时亦会降低SLAM闭环检测成功率,进一步影响后端对于整个地图的优化。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种优化的视觉SLAM方法。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种优化的视觉SLAM方法,其包括:
A10、获取SLAM定位过程中当前图像帧,在当前图像帧非起始图像帧时,获取当前图像帧中关注区域的局部特征图像、该局部特征图像的特征点和每一特征点的描述子;
其中,描述子为训练完的神经网络对局部特征图像处理的优化描述子,或神经网络未训练完时视觉算法对局部特征图像处理的描述子;
A20、对当前图像帧中的特征点、描述子和上一相邻图像帧中的特征点、描述子进行匹配,获取描述子相似度信息;
A30、若描述子的相似度信息满足预设条件,则将当前图像帧的局部特征图像归属到上一相邻图像帧的局部特征图像所属的图片集合中,若不存在上一相邻图像帧的局部特征图像所属的图片集合,则在字典Ω中添加新的键,并将当前图像帧的局部特征图像和上一相邻图像帧的局部特征图像作为新键的值;字典Ω中各键的值均为图片集合;所述键为具有标识的特征点;以及
获取当前图像帧和上一相邻图像帧中相机的位置变化信息,并更新相机位置集合P中的相机位姿,获得具有相机位置轨迹的视觉地图;
A40、基于字典Ω中的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络;训练集合Ψ中每一键所属的特征点均具有稳定可靠性。
可选地,所述方法还包括:
给定用于跟踪特征点的字典Ω,字典Ω记录正在跟踪中的所有特征点的局部特征图像集合,字典Ω的键KEY为具有ID的特征点,而每个键对应的值VALUE为图片集合,图片集合中各局部特征图像携带有所属图像帧的序号;
将相似度信息符合预设条件的各局部特征图像添加到匹配的特征点的图片集合;
在SLAM定位过程开始时,字典Ω为空,训练集合Ψ为空;
训练集合Ψ表示神经网络训练样本的集合;
当前图像帧i所有提取的特征点集合为Фi,Фi中所有特征点具有唯一标识,
如果当前图像帧为SLAM定位过程中的起始图像帧,则i=1,并将当前图像帧的所有局部特征图像添加至字典Ω。
可选地,所述A20包括:
在神经网络未训练完成时,将Фi中特征点的描述子与上一相邻图像帧的Фi-1中特征点的描述子进行匹配,将描述子的相似度作为与预设条件判断的依据;
在神经网络训练完成时,将当前图像帧的局部特征图像输入训练的神经网络进行正向计算,得到当前图像帧的优化描述子,将上一相邻图像帧的局部特征图像输入训练的神经网络进行正向计算,得到上一相邻图像帧的优化描述子,以及
将Фi中特征点的优化描述子与上一相邻图像帧的Фi-1中特征点的优化描述子进行匹配,将优化描述子的相似度作为与预设条件判断的依据。
可选地,所述A30包括:
如果当前图像帧中的特征点
Figure 775591DEST_PATH_IMAGE001
,上一图像帧中的特征点
Figure 430563DEST_PATH_IMAGE002
且两个特征点的描述子的相似度信息满足预设条件,且
Figure 918176DEST_PATH_IMAGE003
所属的局部特征图像属于字典Ω中某个键的图片集合,则将
Figure 176376DEST_PATH_IMAGE004
所属的局部特征图像加入该图片集合;
如果当前图像帧中的特征点
Figure 673216DEST_PATH_IMAGE005
,上一图像帧中的特征点
Figure 120378DEST_PATH_IMAGE006
且两个特征点的描述子的相似度信息满足预设条件,且
Figure 903526DEST_PATH_IMAGE007
所属的局部特征图像不属于字典Ω中任意键的图片集合,则向字典Ω中添加一个新的键,同时将
Figure 6611DEST_PATH_IMAGE008
Figure 838301DEST_PATH_IMAGE009
各自所属的局部特征图像组成一个新的键的图片集合。
可选地,所述方法还包括:
在当前图像帧i处理之后,查看字典Ω中每一键k,将键k的图片集合中最后更新的局部特征图像的序号s与当前图像帧i作比较;若i-s大于给定的第二阈值,则判断:
该键k的图片集合中局部特征图像的数量大于给定的第三阈值,则,认为键k所属的特征点具有稳定可靠性;k为字典Ω中键的序号;
并将该键k的键值对添加到训练集合Ψ;
同时在视觉地图中更新相机位置轨迹;
若i-s大于给定的第二阈值,则判断键k所属的特征点不具有稳定可靠性,在字典Ω中删除键k及键k的图片集合,以及不在视觉地图中更新相机位置。
可选地,基于字典Ω的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络,包括:
判断字典Ω中的每一键m的图片集合中局部特征图像的数量是否大于给定的第三阈值,若是,则认为键m的特征点具有稳定可靠性,并将键m的键值对添加到训练集合Ψ;所述键值对包括键及该键的图片集合;m为字典Ω中键的序号;
若训练集合Ψ中图片数量超过给定的第四阈值,则对训练集合中的各图片进行干扰增强处理,获取最终的训练集合,并采用最终的训练集合训练所述神经网络。
可选地,所述对训练集合中的各图片进行干扰增强处理,包括:
基于随机生成的一系列图像增强系数,对各图片的所有像素点值进行线性或非线性的变化,使得图片整体变亮或者变暗,进而生成一系列新的局部特征图片;
和/或,针对每一图片的旋转中心轴,将各图片以随机给定的旋转角度进行旋转,生成一系列新的局部特征图片。
可选地,并采用最终的训练集合训练所述神经网络,包括:
神经网络的训练过程的目标损失函数,定义如下:对于任意两个训练样本,假设其输出的优化描述子分别为A,B, 其中A,B为n维向量,即A=[A1, A2…An],B=[B1, B2…Bn], 则优化描述子之差定义为:
Figure 484177DEST_PATH_IMAGE010
i取1至n中的自然数;
训练过程中,神经网络中权重的调整与优化目标有以下两个:
如果A,B为同一键的两张图像计算得到的优化描述子,则需要最大化d值;d为实数;
如果A,B为不同键的两张图像计算得到的优化描述子,则需要最小化d值。
可选地,所述当前图像帧为当前图像关键帧,上一相邻图像帧为相邻图像关键帧。
第二方面,本发明实施例还提供一种控制设备,其包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序并执行上述第一方面任一所述的方法的步骤。
(三)有益效果
本发明实施例的方法用于在视觉定位过程中训练神经网络,实现神经网络训练的准确性,同时在神经网络训练完成后获取局部特征图像的优化描述子,对优化描述子进行相似度匹配,可以有效避免现有技术中的特征点的描述子匹配计算有较大的误差的问题,解决了同一个特征点的局部特征图像无法匹配成功,非同一个特征点的局部特征图像误匹配的问题,保证了建图与定位的精度,提升了可靠性,同时提高SLAM闭环检测成功率。
特别地,在获取神经网络的训练集合Ψ,是借助于字典中同一键的图片集合实现的,同时对该图片集合中各图片进行干扰增强处理后的训练集合,保证训练神经网络的精度,由此较好的保证优化描述子的性能。
附图说明
图1为本发明一实施例提供一种优化的视觉SLAM方法的流程示意图;
图2为本发明另一实施例提供一种优化的视觉SLAM方法的流程示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为更好的理解,以下对本申请的部分信息进行说明。
图片即为图像,下面部分实施例中使用图片,部分实施例中使用图像。
通常,在SLAM定位过程中,为了能够更好的进行图像匹配,需要在图像中选择具有代表性的区域,例如:图像中的角点、边缘和一些区块, 这些区域纹理丰富,辨识度最高,这些区域即为下述实施例中提及的关注区域。
局部特征图片/图像,与特征点是一一对应的,即根据预先给定的局部特征图片尺寸在特征点所属的图像帧上截取一个矩形区域/圆形区域,该矩形区域/圆形区域的中心像素点坐标为特征点在图像帧上的对应像素坐标。
同一特征点的说明:空间中的同一个物体,在不同的相机位置所拍摄的不同图像帧中其像素位置,角度,灰度等特征是无法完全一致的,通过匹配的方法,可以将多帧中对应于同一个物体的特征点寻找出来,本发明实施例中将这些特征点称为同一个特征点。
预先定义跟踪特征点的字典Ω,字典Ω记录正在跟踪中的所有特征点的图片集合,其中,字典Ω的键(KEY)为特征点ID,而每个键对应的值(VALUE)为图片集合,即同一特征点在不同的帧上被检测到后,其对应的局部特征图像将会添加到该图片集合,将相似度信息符合预设条件的各局部特征图像添加到匹配的特征点ID的图片集合;且图片集合中各图片携带有所属图像帧的序号。
在SLAM开始时,字典Ω为空。键值对为键和图片集合的组合。
预先定义训练集合Ψ,训练集合Ψ表示神经网络训练样本的图片集合,训练样本可为多个同一特征点,训练集合Ψ中包括多个键的图片集合。
其中,当前图像帧i所有提取的特征点集合为Фi,Фi中所有特征点具有唯一标识,如果当前图像帧为SLAM定位过程中的起始图像帧,则
Figure 313593DEST_PATH_IMAGE011
,并将当前图像帧的局部特征图像添加至字典Ω。
相机位置集合P,用于记录SLAM过程中每一图像帧中相机的位姿。
实施例一
如图1所示,本发明实施例提供一种优化的视觉SLAM方法,本实施例的方法的执行主体可为任意计算设备/控制设备,具体实现方法包括下述步骤:
A10、获取SLAM定位过程中当前图像帧,在当前图像帧非起始图像帧时,获取当前图像帧中关注区域的局部特征图像、该局部特征图像的特征点和每一特征点的描述子;
其中,描述子为训练完的神经网络对局部特征图像处理的优化描述子,或神经网络未训练完时视觉算法对局部特征图像处理的描述子。
本实施例中的关注区域即为纹理丰富区域,局部特征图像对应一个特征点和该特征点的描述子。
A20、对当前图像帧的特征点、描述子和上一相邻图像帧的特征点、描述子进行匹配,获取描述子的相似度信息;
A30、若描述子的相似度信息满足预设条件,则将当前图像帧的局部特征图像归属到上一相邻图像帧的局部特征图像所属的图片集合中,若不存在上一相邻图像帧的局部特征图像所属的图片集合,则在字典Ω中添加新的键,并将当前图像帧的局部特征图像和上一相邻图像帧的局部特征图像作为新键的值;字典Ω中各键的值均为图片集合;所述键为具有标识的特征点;以及
获取当前图像帧和上一相邻图像帧中相机的位置变化信息,并更新相机位置集合P中的相机位姿,获得具有相机位置轨迹的视觉地图;
A40、基于字典Ω中的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络;训练集合Ψ中每一键所属的特征点均具有稳定可靠性。
本实施例中在视觉定位过程中训练神经网络,实现神经网络训练的准确性,同时在神经网络训练完成后获取局部特征图像的优化描述子,对优化描述子进行相似度匹配,可以有效避免现有技术中的特征点的描述子匹配计算有较大的误差的问题,解决了同一个特征点的描述子无法匹配成功,非同一个特征点的描述子误匹配的问题,保证了建图与定位的精度,提升了可靠性,同时提高SLAM闭环检测成功率。
实施例二
本实施例中对本发明的方法进行详细说明。本实施例中当前图像帧为当前图像关键帧,上一相邻图像帧为相邻图像关键帧,每一帧均为关键帧,在实际应用中,根据已有算法提取关键帧进行本实施例的处理。本实施例的方法可包括下述的步骤:
S10、获取SLAM定位过程中当前图像帧,在当前图像帧非起始图像帧时,获取当前图像帧中关注区域的局部特征图像、该局部特征图像的特征点和每一特征点的描述子;
其中,描述子为训练完的神经网络对局部特征图像处理的优化描述子,或神经网络未训练完时视觉算法对局部特征图像处理的描述子;
如果当前图像帧为SLAM定位过程中的起始图像帧,则
Figure 28608DEST_PATH_IMAGE012
,并将当前图像帧的局部特征图像添加至字典Ω。
S20、对当前图像帧的特征点、描述子和上一相邻图像帧的特征点、描述子进行两两匹配,获取描述子的相似度信息。
可理解的是,在神经网络未训练完成时,将Фi中特征点的描述子与上一相邻图像帧的Фi-1中特征点的描述子进行匹配计算,将描述子的相似度作为与预设条件判断的依据;
在神经网络训练完成时,将当前图像帧的局部特征图像输入训练的神经网络进行正向计算,得到当前图像帧的优化描述子,将上一相邻图像帧的局部特征图像输入训练的神经网络进行正向计算,得到上一相邻图像帧的优化描述子,以及
将Фi中各特征点的优化描述子与上一相邻图像帧的Фi-1中各特征点的优化描述子进行匹配计算,将优化描述子的相似度作为与预设条件判断的依据。
S30、若描述子的相似度信息满足预设条件,则将当前图像帧的局部特征图像归属到上一相邻图像帧的局部特征图像所属的图片集合中,若不存在上一相邻图像帧的局部特征图像所属的图片集合,则在字典Ω中添加新的键,并将当前图像帧的局部特征图像和上一相邻图像帧的局部特征图像作为新键的值;字典Ω中各键的值均为图片集合;所述键为具有标识的特征点。
具体地,可说明如下:
如果当前图像帧中的特征点
Figure 867251DEST_PATH_IMAGE013
,上一图像帧中的特征点
Figure 23426DEST_PATH_IMAGE014
且两个特征点的描述子的相似度信息满足预设条件,且
Figure 663224DEST_PATH_IMAGE015
所属的局部特征图像属于字典Ω中某个键的图片集合,则将
Figure 475322DEST_PATH_IMAGE016
所属的局部特征图像加入该图片集合;
如果当前图像帧对应的特征点
Figure 242290DEST_PATH_IMAGE017
,上一图像帧对应的特征点
Figure 721812DEST_PATH_IMAGE018
且两个特征点的描述子的相似度信息满足预设条件,且
Figure 955348DEST_PATH_IMAGE019
所属的局部特征图像不属于字典Ω中任意键的图片集合,则向字典Ω中添加一个新的键,同时将
Figure 395687DEST_PATH_IMAGE020
Figure 310554DEST_PATH_IMAGE021
各自所属的局部特征图像组成一个新的键的图片集合。
特别地,在当前图像帧i处理之后,查看字典Ω中每一键k,将键k的图片集合中最后更新的局部特征图像的序号s与当前图像帧i作比较;若i-s大于给定的第二阈值,则判断:
键k的图片集合中局部特征图像的数量大于给定的第三阈值,则,认为键k所属的特征点具有稳定可靠性;k为字典Ω中键的序号;并将该键k的键值对添加到训练集合Ψ,执行下述步骤S30,即在视觉地图中更新相机位置轨迹;
否则,若i-s大于给定的第二阈值,则判断键k所属的特征点不具有稳定可靠性,在字典Ω中删除键k及键k的图片集合,以及不在视觉地图中更新相机位置即不执行步骤S40。
S40、获取当前图像帧和上一相邻图像帧中相机的位置变化信息,并更新相机位置集合P中的相机位姿,获得具有相机位置轨迹的视觉地图。
本步骤S40可为SLAM方法后端程序,在每一次前端(步骤S10至步骤S30和步骤S50)计算结束后触发,采用前述的词袋法或其他方法寻找当前帧是否与之前的某一帧满足匹配关系,如满足,则采用BA(Bundle Adjustment)方法优化该之前帧与当前帧之间所有帧对应的相机位置及空间特征点坐标;或采用位姿图方法优化该之前帧与当前帧之间所有帧对应的相机位置。
S50、基于字典Ω的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络;训练集合Ψ中每一键均为具有稳定可靠性的键。
可理解的是,判断字典Ω中的每一键m的图片集合中局部特征图像的数量是否大于给定的第三阈值,若是,则认为键m的特征点具有稳定可靠性,并将键m的键值对添加到训练集合Ψ;所述键值对包括键及该键的图片集合;m为字典Ω中键的序号;
若训练集合Ψ中图片数量超过给定的第四阈值,则对训练集合中的各图片进行干扰增强处理,获取最终的训练集合,并采用最终的训练集合训练所述神经网络。
举例来说,对训练集合中的各图片进行干扰增强处理,包括:
基于随机生成的一系列图像增强系数,对各图片的所有像素点值进行线性或非线性的变化,使得图片整体变亮或者变暗,进而生成一系列新的局部特征图片;
和/或,针对每一图片的旋转中心轴,将各图片以随机给定的旋转角度进行旋转,生成一系列新的局部特征图片。
上述干扰增强方法可以单独或联合使用,进而生成大量的新的局部特征图像。由此训练的神经网络提取的优化描述子在相似度匹配时可以较好的避免现有技术中的缺陷。
在具体应用中,采用最终的训练集合训练所述神经网络可包括:
神经网络的训练过程的目标损失函数,定义如下:对于任意两个训练样本,假设其输出的优化描述子分别为A,B, 其中A,B为n维向量,即A=[A1, A2…An],B=[B1, B2…Bn], 则优化描述子之差定义为:
Figure 769217DEST_PATH_IMAGE022
i取1至n中的自然数;
训练过程中,神经网络中权重的调整与优化目标有以下两个:
如果A,B为同一键的两张图像计算得到的优化描述子,则需要最大化d值;同一个特征点对应的优化描述子之间差越小越好;
如果A,B为不同键的两张图像计算得到的优化描述子,则需要最小化d值,即非同一个特征点对应的优化描述子之间差越大越好。
采用上述训练集合对于神经网络的权重进行训练,训练后的神经网络在相似度匹配时,具有如下两大优点:
训练集合使神经网络具备将不同光照条件,不同角度下看到的同一个特征点识别出来,进而输出相近描述子的能力;
训练集合Ψ生成过程中,利用SLAM过程中对于邻近帧的跟踪信息,将同一个特征点在不同帧上的局部特征图像归到同一个键中(由于相机拍摄位置的不同,这些局部特征图像的亮度,特征点角度肯定略有不同),采用该数据集训练神经网络,使神经网络具备将图像不同的同一特征点识别出来,进而输出相近描述子的能力;
现有技术中不能获取同一个特征点在不同帧上的局部特征图像之间的关联信息,无法保证精度和可靠性。
实施例三
本实施例还提供一种控制设备,包括:存储器和处理器;所述处理器用于执行所述存储器中存储的计算机程序,以实现执行上述实施例一和实施例二任意所述的优化的视觉SLAM方法的步骤。
具体地,本实施例的设备可包括:至少一个处理器、至少一个存储器、至少一个网络接口和/或其他的用户接口。电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。本文描述的存储器包括任意其它适合类型的存储器。
在一些实施方式中,存储器存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
在本发明实施例中,处理器通过调用存储器存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器用于执行第一方面所提供的方法步骤。
另一方面,本发明实施例还提供一种计算机可读存储介质,其用于存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例的优化的视觉SLAM方法的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。

Claims (8)

1.一种优化的视觉SLAM方法,其特征在于,包括:
A10、获取SLAM定位过程中当前图像帧,在当前图像帧非起始图像帧时,获取当前图像帧中关注区域的局部特征图像、该局部特征图像的特征点和每一特征点的描述子;
其中,描述子为训练完的神经网络对局部特征图像处理的优化描述子,或神经网络未训练完时视觉算法对局部特征图像处理的描述子;
A20、对当前图像帧的特征点、描述子和上一相邻图像帧的特征点、描述子进行匹配,获取描述子相似度信息;
A30、若描述子的相似度信息满足预设条件,则将当前图像帧的局部特征图像归属到上一相邻图像帧的局部特征图像所属的图片集合中,若不存在上一相邻图像帧的局部特征图像所属的图片集合,则在字典Ω中添加新的键,并将当前图像帧的局部特征图像和上一相邻图像帧的局部特征图像作为新键的值;字典Ω中各键的值均为图片集合;所述键为具有标识的特征点;以及
获取当前图像帧和上一相邻图像帧中相机的位置变化信息,并更新相机位置集合P中的相机位姿,获得具有相机位置轨迹的视觉地图;
A40、基于字典Ω中的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络;训练集合Ψ中每一键所属的特征点均具有稳定可靠性;
所述方法还包括:给定用于跟踪特征点的字典Ω,字典Ω记录正在跟踪中的所有特征点的局部特征图像集合,字典Ω的键KEY为具有ID的特征点,而每个键对应的值VALUE为图片集合,图片集合中各局部特征图像携带有所属图像帧的序号;
将相似度信息符合预设条件的各局部特征图像添加到匹配的特征点的图片集合;
在SLAM定位过程开始时,字典Ω为空,训练集合Ψ为空;
训练集合Ψ表示神经网络训练样本的集合;
当前图像帧i所有提取的特征点集合为Фi,Фi中所有特征点具有唯一标识,
如果当前图像帧为SLAM定位过程中的起始图像帧,则i=1,并将当前图像帧的所有局部特征图像添加至字典Ω;
其中,基于字典Ω的键,周期性采用筛选策略筛选用于神经网络训练的键的训练集合Ψ,若训练集合Ψ满足训练条件,则基于训练集合Ψ中各键的值训练所述神经网络,包括:
判断字典Ω中的每一键m的图片集合中局部特征图像的数量是否大于给定的第三阈值,若是,则认为键m的特征点具有稳定可靠性,并将键m的键值对添加到训练集合Ψ;所述键值对包括键及该键的图片集合;m为字典Ω中键的序号;
若训练集合Ψ中图片数量超过给定的第四阈值,则对训练集合中的各图片进行干扰增强处理,获取最终的训练集合,并采用最终的训练集合训练所述神经网络。
2.根据权利要求1所述的方法,其特征在于,所述A20包括:
在神经网络未训练完成时,将Фi中特征点的描述子与上一相邻图像帧的Фi-1中特征点的描述子进行匹配,将描述子的相似度作为与预设条件判断的依据;
在神经网络训练完成时,将当前图像帧的局部特征图像输入训练的神经网络进行正向计算,得到当前图像帧的优化描述子,将上一相邻图像帧的局部特征图像输入训练的神经网络进行正向计算,得到上一相邻图像帧的优化描述子,以及
将Фi中特征点的优化描述子与上一相邻图像帧的Фi-1中特征点的优化描述子进行匹配,将优化描述子的相似度作为与预设条件判断的依据。
3.根据权利要求1所述的方法,其特征在于,所述A30包括:
如果当前图像帧中的特征点
Figure DEST_PATH_IMAGE002
,上一图像帧中的特征点
Figure DEST_PATH_IMAGE004
且两个特征点的描述子的相似度信息满足预设条件,且
Figure DEST_PATH_IMAGE006
所属的局部特征图像属于字典Ω中某个键的图片集合,则将
Figure DEST_PATH_IMAGE008
所属的局部特征图像加入该图片集合;
如果当前图像帧中的特征点
Figure DEST_PATH_IMAGE010
,上一图像帧中的特征点
Figure DEST_PATH_IMAGE012
且两个特征点的描述子的相似度信息满足预设条件,且
Figure DEST_PATH_IMAGE014
所属的局部特征图像不属于字典Ω中任意键的图片集合,则向字典Ω中添加一个新的键,同时将
Figure DEST_PATH_IMAGE016
各自所属的局部特征图像组成一个新的键的图片集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在当前图像帧i处理之后,查看字典Ω中每一键k,将键k的图片集合中最后更新的局部特征图像的序号s与当前图像帧i作比较;若i-s大于给定的第二阈值,则判断:
该键k的图片集合中局部特征图像的数量大于给定的第三阈值,则,认为键k所属的特征点具有稳定可靠性;k为字典Ω中键的序号;
并将该键k的键值对添加到训练集合Ψ;
同时在视觉地图中更新相机位置轨迹;
若i-s大于给定的第二阈值,则判断键k所属的特征点不具有稳定可靠性,在字典Ω中删除键k及键k的图片集合,以及不在视觉地图中更新相机位置。
5.根据权利要求1所述的方法,其特征在于,所述对训练集合中的各图片进行干扰增强处理,包括:
基于随机生成的一系列图像增强系数,对各图片的所有像素点值进行线性或非线性的变化,使得图片整体变亮或者变暗,进而生成一系列新的局部特征图片;
和/或,针对每一图片的旋转中心轴,将各图片以随机给定的旋转角度进行旋转,生成一系列新的局部特征图片。
6.根据权利要求1所述的方法,其特征在于,并采用最终的训练集合训练所述神经网络,包括:
神经网络的训练过程的目标损失函数,定义如下:对于任意两个训练样本,假设其输出的优化描述子分别为A,B, 其中A,B为n维向量,即A=[A1, A2…An],B=[B1, B2…Bn], 则优化描述子之差定义为:
Figure DEST_PATH_IMAGE018
i取1至n中的自然数;
训练过程中,神经网络中权重的调整与优化目标有以下两个:
如果A,B为同一键的两张图像计算得到的优化描述子,则需要最大化d值;d为实数;
如果A,B为不同键的两张图像计算得到的优化描述子,则需要最小化d值。
7.根据权利要求1至6任一所述的方法,其特征在于,所述当前图像帧为当前图像关键帧,上一相邻图像帧为相邻图像关键帧。
8.一种控制设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序并执行上述权利要求1至7任一所述的优化的视觉SLAM方法的步骤。
CN202210597439.1A 2022-05-30 2022-05-30 一种优化的视觉slam方法 Active CN114677444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210597439.1A CN114677444B (zh) 2022-05-30 2022-05-30 一种优化的视觉slam方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210597439.1A CN114677444B (zh) 2022-05-30 2022-05-30 一种优化的视觉slam方法

Publications (2)

Publication Number Publication Date
CN114677444A CN114677444A (zh) 2022-06-28
CN114677444B true CN114677444B (zh) 2022-08-26

Family

ID=82079826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210597439.1A Active CN114677444B (zh) 2022-05-30 2022-05-30 一种优化的视觉slam方法

Country Status (1)

Country Link
CN (1) CN114677444B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781262A (zh) * 2019-10-21 2020-02-11 中国科学院计算技术研究所 基于视觉slam的语义地图的构建方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106780484A (zh) * 2017-01-11 2017-05-31 山东大学 基于卷积神经网络特征描述子的机器人帧间位姿估计方法
US10997746B2 (en) * 2018-04-12 2021-05-04 Honda Motor Co., Ltd. Feature descriptor matching
CN109658445A (zh) * 2018-12-14 2019-04-19 北京旷视科技有限公司 网络训练方法、增量建图方法、定位方法、装置及设备
WO2022126529A1 (zh) * 2020-12-17 2022-06-23 深圳市大疆创新科技有限公司 定位的方法、设备、无人机和存储介质
CN113313763B (zh) * 2021-05-26 2023-06-23 珠海深圳清华大学研究院创新中心 一种基于神经网络的单目相机位姿优化方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781262A (zh) * 2019-10-21 2020-02-11 中国科学院计算技术研究所 基于视觉slam的语义地图的构建方法

Also Published As

Publication number Publication date
CN114677444A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
Ma et al. Stage-wise salient object detection in 360 omnidirectional image via object-level semantical saliency ranking
CN110555901B (zh) 动静态场景的定位和建图方法、装置、设备和存储介质
CN111445526A (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN111899334A (zh) 一种基于点线特征的视觉同步定位与地图构建方法及装置
CN110765882B (zh) 一种视频标签确定方法、装置、服务器及存储介质
CN113361645B (zh) 基于元学习及知识记忆的目标检测模型构建方法及系统
CN111931581A (zh) 一种基于卷积神经网络农业害虫识别方法、终端及可读存储介质
KR20190044814A (ko) 딥러닝 학습을 위한 데이터 생성 및 자료 구축 방법
CN113850136A (zh) 基于yolov5与BCNN的车辆朝向识别方法及系统
CN114332166A (zh) 基于模态竞争协同网络的可见光红外目标跟踪方法及装置
CN117095300B (zh) 建筑图像处理方法、装置、计算机设备和存储介质
CN113744280A (zh) 图像处理方法、装置、设备及介质
CN114677444B (zh) 一种优化的视觉slam方法
CN116091784A (zh) 一种目标跟踪方法、设备及存储介质
CN112862840B (zh) 图像分割方法、装置、设备及介质
CN110751163A (zh) 目标定位方法及其装置、计算机可读存储介质和电子设备
CN115018884A (zh) 基于多策略融合树的可见光红外视觉跟踪方法
CN115527083A (zh) 图像标注方法、装置和电子设备
CN111695526B (zh) 网络模型生成方法、行人重识别方法及装置
CN114608558A (zh) 基于特征匹配网络的slam方法、系统、设备及存储介质
Santellani et al. S-TREK: Sequential Translation and Rotation Equivariant Keypoints for local feature extraction
CN114723977A (zh) 一种用于视觉slam系统的稳定特征点识别方法
CN110930519B (zh) 基于环境理解的语义orb-slam感知方法及装置
CN114219983A (zh) 神经网络训练方法、图像检索方法及装置
CN113888603A (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