CN116721416A - 一种构建基于文字语义信息的视觉slam系统的方法 - Google Patents
一种构建基于文字语义信息的视觉slam系统的方法 Download PDFInfo
- Publication number
- CN116721416A CN116721416A CN202310655353.4A CN202310655353A CN116721416A CN 116721416 A CN116721416 A CN 116721416A CN 202310655353 A CN202310655353 A CN 202310655353A CN 116721416 A CN116721416 A CN 116721416A
- Authority
- CN
- China
- Prior art keywords
- text
- frame
- semantic
- map
- semantic information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000000007 visual effect Effects 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000005457 optimization Methods 0.000 claims description 55
- 238000000605 extraction Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 10
- 238000005286 illumination Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 15
- 238000010276 construction Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- 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)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Computational Linguistics (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)
- Health & Medical Sciences (AREA)
Abstract
本发明公开了一种构建基于文字语义信息的视觉SLAM系统的方法,涉及定位建图技术领域,包括以下步骤:步骤1、对进入所述系统中的图像,进行输入图像处理操作;步骤2、当系统中至少进入并按照所述步骤1处理完2帧图像后,开始进行初始化;步骤3、初始化后,新进入的图像帧首先进行所述步骤1的所述图像处理操作,之后进行帧处理;步骤4、当所述帧处理结束后,若当前系统已运行足够长的时间,则将当前帧设置为关键帧并进行关键帧处理;步骤5、当所述系统运行一段时间之后,对当前关键帧进行语义回环。所述方法提升了SLAM系统的定位建图效果,还使得SLAM系统即使在光照、观测视角发生巨大变化时,也能得到准确可靠鲁棒的定位建图结果。
Description
技术领域
本发明涉及定位建图技术领域,尤其涉及一种构建基于文字语义信息的视觉SLAM系统的方法。
背景技术
基于RGB相机输入的单目视觉即时定位与建图算法(Simultaneous LocalizationAnd Mapping,SLAM)可以同时估计出相机运动位姿和当前观测地图结果,传统的SLAM算法基于低级别的几何特征,例如特征点,进行即时定位与建图,但是这类算法的效果受到低级别几何信息的限制,无法理解环境中高级别的几何语义信息,所构建的地图不包括语义信息,与人类认知存在差距。
视觉语义SLAM在几何地图表征基础上,提取和抽象环境中的高级别语义信息,可以构建出包含语义信息的地图。根据视觉传感器的类别,可以分为基于RGBD的视觉SLAM方法和基于RGB的单目视觉SLAM方法,前者由于输入数据即包含深度信息,因此所构建的地图往往是稠密的,稠密地图基础上,可以直接将二维图像语义分割结果赋值在三维稠密地图上,语义地图构建难度不大;而基于RGB输入的SLAM方法一般构建稀疏的三维地图,此时难以将二维语义信息直接赋值在三维地图上,而是需要选择合适的地图语义表示形式对语义目标进行表示。
针对基于RGB图像的单目语义SLAM算法,有两种语义目标表示形式及处理方法,第一种是在SLAM运行前即构建高精度的三维语义目标模型库作为先验信息,在SLAM系统运行中,通过二维图像中语义目标检测与三维模型库中的物体进行数据关联,从而在地图中进行语义目标建图;第二种方式则针对语义目标进行几何近似,比如立方体、椭球体等,从而在全局地图中以该近似体对语义目标进行表示。第一种方法准备工作繁琐,需要使用高精度仪器(例如扫描仪等)进行大量数据采集建模工作,且在SLAM运行过程中,仅能建模先验库中存在的语义目标,无法对库中未见的语义目标进行处理;而第二种方式则无可避免带来几何精度损失,因为难以对形态各异的世间万物进行统一的几何体近似,不可避免地存在精度损失。因此基于RGB图像的单目语义SLAM算法还存在问题。
针对以上种种问题,发明人注意到环境中广泛存在一种语义目标——文字标识,它们几何结构简单统一、纹理丰富、直接传递语义信息,是人类进行自我定位和导航的优良标志物,因此可以作为单目视觉SLAM进行定位建图的优良标志物。发明人之前的工作TextSLAM充分使用了文字标识的几何信息,将其抽象为局部平面特征,紧耦合加入单目视觉SLAM系统中,获得了良好的初步效果,但是还有待完善。
因此,本领域的技术人员致力于开发一种基于文字语义信息的视觉SLAM系统构建方法,通过加入文字标识的语义信息,构建包含丰富语义信息的三维文本地图,利用文字语义信息进行回环,进一步提升视觉SLAM系统的效果。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题包括:
(1)传统的单目视觉SLAM算法使用点特征等低级别信息,效果受到限制,如何提取环境中文字标识作为高级别语义特征,紧耦合加入视觉SLAM系统中。
(2)如何使得机器理解环境中语义等高级别信息。
为实现上述目的,本发明提供了一种构建基于文字语义信息的视觉SLAM系统的方法,包括以下步骤:
步骤1、对进入所述系统中的图像,进行输入图像处理操作;
步骤2、当系统中至少进入并按照所述步骤1处理完2帧图像后,开始进行初始化;
步骤3、初始化后,新进入的图像帧首先进行所述步骤1的所述图像处理操作,之后进行帧处理;
步骤4、当所述帧处理结束后,若当前系统已运行足够长的时间,则将当前帧设置为关键帧并进行关键帧处理;
步骤5、当所述系统运行一段时间之后,对当前关键帧进行语义回环。
进一步地,所述步骤1包括:
步骤1.1、使用文字提取方法进行二维图像的文字提取,包括文字检测和语义识别;并对文字目标的语义信息进行模型构建,所述模型如下:
其中,字符串s表示文字意义;gsem表示语义损失分数,代表所提取语义信息的质量,更低的所述语义损失分数代表更高的所述语义提取质量;
步骤1.2、对全图进行FAST角点提取和描述子BRIEF计算,之后进行金字塔特征点采样。
进一步地,所述特征点采样包括:仅在0层金字塔(图像原始分辨率)上进行特征点检测,上层金字塔图像的特征点由底层特征点采样得到,每层金字塔下采样1/2,在每层金字塔中,将图像划分为总计N0/4l+100网格,在每个网格中保留最大梯度的特征点并删除其他所有,其中N0是原始分辨率上的特征点数量,l代表当前所在金字塔层。
进一步地,所述步骤2包括:
步骤2.1、对输入的两帧图像进行特征点匹配,之后三角化计算得到当前帧的初始位姿,同时全局地图初始化,地图中包括点特征、文字目标的几何信息以及文字目标的语义信息,地图中文字目标的语义信息被初始化为第一帧语义观测之后比较地图中语义信息与新帧语义信息/>的语义损失分数,选择二者中损失分数较小的项对地图进行更新,也即:
步骤2.2、将成功初始化的地图送入BA模型进行优化,优化成功后得到初始化后的当前帧位姿、点特征、文字目标的几何信息以更新全局地图。
进一步地,所述步骤3中的所述帧处理包括:
步骤3.1、对于非文字区域,进行特征点匹配操作:即使用BRIEF描述子进行特征点匹配,得到当前帧与地图中三维特征点之间的数据关联(Data association)结果;
步骤3.2、选择观测良好的文字目标进入后续优化,首先选择当前帧邻近的两个关键帧上所观测到的所有所述文字目标,从中删除观测不良的目标;
步骤3.3、成功匹配非文字区域的2D-3D特征点,与观测良好的文字目标,共同进入位姿估计操作(Pose estimation),位姿估计中损失函数表示为:
E(Tt)=Epoint(Ttr)+λwEtext(Ttr)
其中,Tt∈SE(3)代表欧式空间中当前帧的位姿;
Epoint的表达式为:
其中,mi代表图像中观测二维点的归一化坐标,代表从三维特征点到图像平面的投影,而φ(·)代表所使用的Huber核函数;
针对文字目标的误差项Etext定义为:
其中,代表针对文字目标的光度误差损失函数。
进一步地,所述不良观测包括以下三种情况:
情况A.文字处于相机后侧;
情况B.文字法向量垂直于当前相机观测方向;
情况C.当前帧文字目标投影区域与第一帧该文字观测区域之间的ZNCC计算数值小于0.1,这些往往是受到遮挡的文字目标;
进一步地,所述步骤4包括:
步骤4.1、排除当前帧上成功匹配的三维地图点特征,在剩下的二维特征点中,与上一个关键帧上的特征点进行2D-2D特征匹配,成功匹配的二维点对进行三角化以构建地图中的新特征点;
步骤4.2、滑动窗口内的所有关键帧位姿、所观测到的路标信息,共同进入BA模型进行BA优化,优化方式采用由粗到精的策略;
步骤4.3、所述BA优化结束后,进行特征点和特征文字的坏值检验和去除;
步骤4.4、对于本关键帧中出现的语义目标,比较其语义信息与地图中该语义目标的语义信息,选择二者中较小的语义损失函数对地图中的语义信息进行更新;
步骤4.5、在所述BA优化结束后,将本帧中新出现的文字目标进行检测;当该新出现的文字目标具有两帧以上的关键帧观测时,进行文本参数初始化;成功进行参数初始化的文字目标在接下来的帧观测中,进行文本参数优化;针对某一个文字目标,当至少被4个以上的帧观测到,同时,临近帧之间的文字目标朝向估计变化量小于25°,则将该文字目标在地图中进行初始化。
进一步地,所述步骤4.2中的BA优化损失函数为:
E(x)=Epoint(x)+λwEtext(x)
其中,Epoint和Etext代表了针对特征点的重投影误差项和针对特征文字的光度误差项,λw用于平衡Epoint和Etext两个误差项,上述定义与前述位姿估计操作一致。但BA中待优化变量x包括更多信息,包括:关键帧的位姿、特征点的几何信息、文字目标的几何参数。
进一步地,所述步骤4.3中,进行所述特征点和所述特征文字的坏值检验和去除包括:
对于非文字区域的特征点,在所述BA优化后,重投影误差过大的特征点被认为是异常值,从地图中剔除对应的三维点;对于文字目标来说,检查地图中每一个文字目标是否满足以下条件:
C.文本目标在至少两帧观测中被标记为正常值(#Fgood>2);
D.观测异常帧数小于观测正常帧数,也小于预设阈值(#Fbad<0.9#Fgood和#Fbad<40)。
其中,#Fbad、#Fgood分别代表某一个文字目标被标记为观测异常值和观测正常值的帧数;
如果不满足上述条件A、B中的任意一个,则将该文字目标设置为异常值,从全局地图中删除,不参与后续处理。
进一步地,所述步骤5包括:
步骤5.1、语义回环检测:使用当前帧的文字观测语义信息,与地图中的文字目标的语义信息模型进行对比,依据这种语义信息的相似性找出与当前帧相似的回环候选帧;
步骤5.2、计算当前帧与各个候选帧之间的7自由度相对位姿计算结果,并得到帧与帧之间的特征点匹配结果,选择内点对个数最多的候选帧作为当前帧的回环帧;
步骤5.3、根据计算出的7自由度相对位姿结果,将系统运行的累积误差分布在整个地图中,使用位姿图优化(Pose Graph Optimization)技术对所有帧位姿进行优化。
与现有技术方案相比,本发明的有益技术效果包括:文字标识的加入,大大提升了SLAM系统的定位建图效果。文字语义信息的加入,使得SLAM系统即使在光照、观测视角发生巨大变化时,也能得到准确可靠鲁棒的定位建图结果。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的流程图;
图2是包含特征点投影结果、文字特征投影结果、文字语义信息的优化结果;
图3是三层金字塔中一层金字塔优化结果,图像大小为160*120;
图4是三层金字塔的一层金字塔优化结果,图像大小为320*240;
图5是三层金字塔的一层金字塔优化结果,图像大小为640*480;
图6是一处回环帧及其语义匹配结果;
图7是真值、TextSLAM2、对比SLAM方法轨迹结果,图6中的回环两帧观测如图中相机示意;
图8是展示建图鸟瞰视角结果;
图9是3个典型位置的二维图像观测;
图10是放大展示图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
本发明将文字标识的语义信息加入系统,得到TextSLAM2系统,构建该系统的流程见图1所示,构建该系统的步骤包括:输入图像处理、系统初始化、帧处理、关键帧处理、语义回环。具体如下:
步骤1、输入图像处理
进入TextSLAM2中的图像,首先进行输入图像处理操作,具体包括:
(1)使用文字提取方法进行二维图像的文字提取,包括文字检测和语义识别;并对文字目标的语义信息进行模型构建,所提出的模型如下:
x={s,gsem}
它由两部分组成,前者文字意义使用字符串s表示,后者语义损失分数gsem表述了所提取语义信息的质量,更低的语义损失分数代表更高的语义提取质量。对于某一帧上的文字目标观测,用表示,其中语义损失分数包括两部分信息:
其中前者gmean代表文字识别结果的可靠性,后者ggeo代表了文字信息几何观测质量,二者具有不同的值域,因此使用λ平衡二者信息。gmean与文字提取器输出结果的置信度grecg有关:
gmean=1-grecg
其中置信度grecg的值域为[0,1],该数值越大置信度越高,使用减法操作令gmean的变化性与语义损失函数保持一致。ggeo代表语义信息观测质量,表示为:
ggeo=l+λ′(1+oTn/(|o||n|))
它包括两项,第一项l代表文字目标与相机光心之间的距离,第二项代表文字目标是否正对相机观测方向,使用λ′平衡二者的关系。
(2)接下来进入图像处理部分,对全图进行FAST角点提取和描述子BRIEF计算,之后进行金字塔特征点采样:即特征点检测仅在0层金字塔(图像原始分辨率)上进行,上层金字塔图像的特征点由底层特征点采样得到,每层金字塔下采样1/2,在每层金字塔中,将图像划分为总计N0/4l+100网格,在每个网格中保留最大梯度的特征点并删除其他所有,其中N0是原始分辨率上的特征点数量,l代表当前所在金字塔层。
步骤2、系统初始化
当至少两帧完成图像处理操作后,系统进入初始化阶段,该步骤包括:
(1)对输入的两帧图像进行特征点匹配,之后三角化计算得到当前帧的初始位姿,同时全局地图初始化,地图中包括点特征、文字目标的几何信息以及文字目标的语义信息,地图中文字目标的语义信息被初始化为第一帧语义观测之后比较地图中语义信息与新帧语义信息/>的语义损失分数,选择二者中损失分数较小的项对地图进行更新,也即:
(2)地图中的位姿信息和所有路标的几何信息送入Bundle Adjustment(BA)中进行优化,优化成功后得到初始化后的当前帧位姿、点特征、文字目标的几何信息以更新全局地图。
步骤3、帧处理
初始化后,新进入的图像帧首先进行前述步骤1的图像处理操作,之后进行帧处理流程,该步骤包括:
(1)对于非文字区域,进行特征点匹配操作:即使用BRIEF描述子进行特征点匹配,得到当前帧与地图中三维特征点之间的数据关联(Data association)结果。
(2)选择观测良好的文字目标进入后续优化,首先选择当前帧邻近的两个关键帧上所观测到的所有文字目标,从中删除观测不良的目标,不良观测包括以下三种情况:A.文字处于相机后侧;B.文字法向量垂直于当前相机观测方向;C.当前帧文字目标投影区域与第一帧该文字观测区域之间的ZNCC计算数值小于0.1,这些往往是受到遮挡的文字目标。
(3)成功匹配非文字区域的2D-3D特征点,与观测良好的文字目标,共同进入位姿估计操作(Pose estimation),位姿估计中损失函数表示为:
E(Tt)=Epoint(Tt)+λwEtext(Tt)
其中Tt∈SE(3)代表欧式空间中当前帧的位姿。其中公式第一项Epoint的表达式为:
其中mi代表图像中观测二维点的归一化坐标,代表从三维特征点到图像平面的投影,而φ(·)代表所使用的Huber核函数。另一项针对文字目标的误差项Etext定义为:
其中代表针对文字目标的光度误差损失函数,使用TextSLAM中的定义,使用归一化光度误差项。本发明采用由粗到精的优化策略。
(4)观测坏值去除:在每层金字塔上,优化结果中误差较大的非文字区域特征点被认为异常值而进行删除;对每一个文字目标,当其上大于99%的文字特征点被判定为异常值,则本帧上该文字目标被认作观测异常值。
步骤4、关键帧处理
当帧处理结束后,若当前系统已运行足够长的时间,则将当前帧设置为关键帧并进行关键帧处理。关键帧处理包含以下流程:
(1)排除当前帧上成功匹配的三维地图点特征,在剩下的二维特征点中,与上一个关键帧上的特征点进行2D-2D特征匹配,成功匹配的二维点对进行三角化以构建地图中的新特征点。
(2)滑动窗口内的所有关键帧位姿、所观测到的路标信息,共同进入集束调整(BA,Bundle Adjustmen)模型进行优化,其中当前帧带优化变量包括新特征点匹配结果、当前现有的特征点匹配结果、文字目标。BA的优化损失函数与位姿估计中的损失函数类似:
E(x)=Epoint(x)+λwEtext(x)
该式中,各参数的含义如下:
其中Epoint和Etext代表了针对特征点的重投影误差项和针对特征文字的光度误差项,λw用于平衡Epoint和Etext两个误差项,上述定义与前述位姿估计操作一致。但BA中待优化变量x包括更多信息,包括:关键帧的位姿、特征点的几何信息、文字目标的几何参数。优化方式同样采用由粗到精的策略。
(3)BA优化结束后,本发明进行特征点和特征文字的坏值检验和去除:对于非文字区域的特征点,在BA优化后,重投影误差过大的特征点被认为是异常值,从地图中剔除对应的三维点;对于文字目标来说,检查地图中每一个文字目标是否满足以下条件:
E.文本目标在至少两帧观测中被标记为正常值(#Fgood>2);
F.观测异常帧数小于观测正常帧数,也小于预设阈值(#Fbad<0.9#Fgood和#Fbad<40)。
上述判断标准中,#Fbad、#Fgood分别代表某一个文字目标被标记为观测异常值和观测正常值的帧数。如果不满足上述条件中的任意一个,则将该文字目标设置为异常值,从全局地图中删除,不参与后续处理。
(4)对于本关键帧中出现的语义目标,比较其语义信息与地图中该语义目标的语义信息,选择二者中较小的语义损失函数对地图中的语义信息进行更新。
(5)在BA优化结束后,将本帧中新出现的文字目标进行检测;当该新出现的文字目标具有两帧以上的关键帧观测时,进行文本参数初始化;成功进行参数初始化的文字目标在接下来的帧观测中,进行文本参数优化。针对某一个文字目标,当至少被4个以上的帧观测到,同时,临近帧之间的文字目标朝向估计变化量小于25°,则将该文字目标在地图中进行初始化。
步骤5、语义回环
当系统运行一段时间之后,对当前关键帧进行语义回环。具体包括:(1)语义回环检测:使用当前帧的文字观测语义信息,与地图中的文字目标的语义信息模型进行对比,依据这种语义信息的相似性找出与当前帧相似的回环候选帧;(2)计算当前帧与各个候选帧之间的7自由度相对位姿计算结果,并得到帧与帧之间的特征点匹配结果,选择内点对个数最多的候选帧作为当前帧的回环帧;(3)根据计算出的7自由度相对位姿结果,将系统运行的累积误差分布在整个地图中,使用位姿图优化(Pose Graph Optimization)技术对所有帧位姿进行优化。
在本发明的一个实施例中,一种构建基于文字语义信息的视觉SLAM系统的方法,包括以下步骤:
步骤1、对进入系统中的图像,首先进行输入图像处理操作,具体包括:首先使用文字提取方法进行二维图像的文字信息提取。并对文字目标的语义信息进行模型构建,初始化某一个文字目标的语义字符串“尚孔教育”和该语义损失函数(20)。并针对图像进行特征点提取与描述子计算。并基于原始图像大小(640*480)的特征点提取结果,进行上层金字塔采样。
步骤2、当系统中至少进入并处理完2帧图像后,开始进行初始化,具体包括如下步骤:
步骤2.1、首先对系统中两帧图像进行特征点匹配。之后根据特征点匹配结果进行三角化计算,得到特征点的初始三维信息及当前两帧的初始位姿,即对地图进行初始化,地图中初始化的文字目标,其语义信息使用两帧观测中语义损失函数较小的语义信息项进行赋值。
步骤2.2、将成功初始化的地图送入集束调整(BA,Bundle Adjustmen)模型进行优化,优化成功后得到初始化后的当前帧位姿、点特征、文字目标的几何信息以更新全局地图。
步骤3、初始化成功后,新进入的图像进行帧处理,首先进行前述步骤1的图像处理操作。之后进行如下操作流程:
步骤3.1、对于非文字区域,进行特征点匹配操作,即使用BRIEF描述子进行特征点匹配,得到当前帧与地图中三维特征点之间的数据关联结果。
步骤3.2、选择观测良好的文字目标进入后续优化,首先选择当前帧邻近的两个关键帧上所观测到的所有文字目标,从中删除观测不良的目标,不良观测包括以下四种情况:A.文字处于相机后侧;B.文字法向量垂直于当前相机观测方向;C.当前帧文字目标投影区域与第一帧该文字观测区域之间的ZNCC计算数值小于0.1,这些往往是受到遮挡的文字目标。
步骤3.3、成功匹配非文字区域的2D-3D特征点,与观测良好的文字目标,共同进入位姿优化操作中,共同优化重投影误差和光度误差,优化采用由粗到精的优化策略,并删除误差较大的特征点和特征文本结果。其优化结果中的特征点投影结果、文字特征投影结果、文字语义信息如图2所示。
步骤4、当帧处理结束后,判断当前系统是否已经运行足够长的时间,若已经运行足够长时间,则将当前帧设置为关键帧并进行关键帧处理。
步骤4.1、排除该帧之前已经成功匹配的三维地图点特征,在剩下的二维特征点中,与上一个关键帧上的特征点进行2D-2D特征匹配,基于成功匹配的特征点对进行三角化,以构建地图中的新特征点。
步骤4.2、滑动窗口内的所有关键帧位姿及该关键帧所观测到的路标信息,共同进入Bundle Adjustment(BA)模型进行优化,优化方式采用由粗到精的策略。三层金字塔的优化结果如图3-5所示,从小到大图像大小依次为160*120,320*240,640*480.
步骤4.3、BA优化结束后,进行特征点和特征文字的坏值检验和去除:对于非文字区域的特征点,在BA优化后,重投影误差过大的特征点被认为是异常值,从地图中剔除对应的三维点;对于文字目标来说,检查地图中每一个文字目标是否满足以下条件:
A.文本目标在至少两帧观测中被标记为正常值(#Fgood>2);
B.观测异常帧数小于观测正常帧数,也小于预设阈值(#Fbad<0.9#Fgood和#Fbad<40)。
上述判断标准中,#Fbad、#Fgood分别代表某一个文字目标被标记为观测异常值和观测正常值的帧数。如果不满足上述条件中的任意一个,则将该文字目标设置为异常值,从全局地图中删除,不参与后续处理。例如当前帧的#Fgood为50,#Fbad为4,则满足以上条件,保留该文字目标。
步骤4.4、对于本帧中出现的语义目标,比较其语义信息与地图中该语义目标的语义信息,选择二者中较小的语义损失函数对地图中的语义信息进行更新。
步骤4.5、在BA优化结束后,将本帧中新出现的文字目标进行检测;当该新出现的文字目标具有两帧以上的关键帧观测时,进行文本参数初始化;成功进行参数初始化的文字目标在接下来的帧观测中,进行文本参数优化。针对某一个文字目标,当至少被4个以上的帧观测到,同时,临近帧之间的文字目标朝向估计变化量小于25°,则将该文字目标在地图中进行初始化。
步骤5、进行语义回环。当系统运行一段时间之后,对当前关键帧进行语义回环。具体包括以下步骤:
步骤5.1、进行语义回环检测:使用当前帧的文字观测语义信息,与地图中的文字目标的语义信息模型进行对比,依据这种语义信息的相似性找出与当前帧相似的回环候选帧,语义匹配结果如图6所示。
步骤5.2、计算当前帧与各个候选帧之间的7自由度相对位姿计算结果,并得到帧与帧之间的特征点匹配结果,选择内点对个数最多的候选帧作为当前帧的回环。当前帧与所选出的回环帧如图6所示。
步骤5.3、根据计算出的7自由度相对位姿结果,将系统运行的累积误差分布在整个地图中,使用位姿图优化(Pose Graph Optimization)技术对所有帧位姿进行优化。回环优化后轨迹结果如图7所示。
针对视频序列的每张图进行上述步骤。运行完一个视频中所有图像后的建图和轨迹估计结果如图8-10所示,图8展示建图鸟瞰视角结果,其中3个位置的二维图像观测如图9所示,其放大展示如图10所示。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,包括以下步骤:
步骤1、对进入所述系统中的图像,进行输入图像处理操作;
步骤2、当系统中至少进入并按照所述步骤1处理完2帧图像后,开始进行初始化;
步骤3、初始化后,新进入的图像帧首先进行所述步骤1的所述图像处理操作,之后进行帧处理;
步骤4、当所述帧处理结束后,若当前系统已运行足够长的时间,则将当前帧设置为关键帧并进行关键帧处理;
步骤5、当所述系统运行一段时间之后,对当前关键帧进行语义回环。
2.如权利要求1所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤1包括:
步骤1.1、使用文字提取方法进行二维图像的文字提取,包括文字检测和语义识别;并对文字目标的语义信息进行模型构建,所述模型如下:
其中,字符串s表示文字意义;gsem表示语义损失分数,代表所提取语义信息的质量,更低的所述语义损失分数代表更高的所述语义提取质量;
步骤1.2、对全图进行FAST角点提取和描述子BRIEF计算,之后进行金字塔特征点采样。
3.如权利要求2所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述特征点采样包括:仅在0层金字塔(图像原始分辨率)上进行特征点检测,上层金字塔图像的特征点由底层特征点采样得到,每层金字塔下采样1/2,在每层金字塔中,将图像划分为总计N0/4l+100网格,在每个网格中保留最大梯度的特征点并删除其他所有,其中N0是原始分辨率上的特征点数量,l代表当前所在金字塔层。
4.如权利要求3所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤2包括:
步骤2.1、对输入的两帧图像进行特征点匹配,之后三角化计算得到当前帧的初始位姿,同时全局地图初始化,地图中包括点特征、文字目标的几何信息以及文字目标的语义信息,地图中文字目标的语义信息被初始化为第一帧语义观测之后比较地图中语义信息与新帧语义信息/>的语义损失分数,选择二者中损失分数较小的项对地图进行更新,也即:
步骤2.2、将成功初始化的地图送入BA模型进行优化,优化成功后得到初始化后的当前帧位姿、点特征、文字目标的几何信息以更新全局地图。
5.如权利要求4所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤3中的所述帧处理包括:
步骤3.1、对于非文字区域,进行特征点匹配操作:即使用BRIEF描述子进行特征点匹配,得到当前帧与地图中三维特征点之间的数据关联(Data association)结果;
步骤3.2、选择观测良好的文字目标进入后续优化,首先选择当前帧邻近的两个关键帧上所观测到的所有所述文字目标,从中删除观测不良的目标;
步骤3.3、成功匹配非文字区域的2D-3D特征点,与观测良好的文字目标,共同进入位姿估计操作(Pose estimation),位姿估计中损失函数表示为:
E(Tt)=Epoint(Tt)+λwEtext(Tt)
其中,Tt∈SE(3)代表欧式空间中当前帧的位姿;
Epoint的表达式为:
其中,mi代表图像中观测二维点的归一化坐标,代表从三维特征点到图像平面的投影,而φ(·)代表所使用的Huber核函数;
针对文字目标的误差项Etext定义为:
其中,代表针对文字目标的光度误差损失函数。
6.如权利要求1所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述不良观测包括以下三种情况:
情况A.文字处于相机后侧;
情况B.文字法向量垂直于当前相机观测方向;
情况C.当前帧文字目标投影区域与第一帧该文字观测区域之间的ZNCC计算数值小于0.1。
7.如权利要求5所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤4包括:
步骤4.1、排除当前帧上成功匹配的三维地图点特征,在剩下的二维特征点中,与上一个关键帧上的特征点进行2D-2D特征匹配,成功匹配的二维点对进行三角化以构建地图中的新特征点;
步骤4.2、滑动窗口内的所有关键帧位姿、所观测到的路标信息,共同进入BA模型进行BA优化,优化方式采用由粗到精的策略;
步骤4.3、所述BA优化结束后,进行特征点和特征文字的坏值检验和去除;
步骤4.4、对于本关键帧中出现的语义目标,比较其语义信息与地图中该语义目标的语义信息,选择二者中较小的语义损失函数对地图中的语义信息进行更新;
步骤4.5、在所述BA优化结束后,将本帧中新出现的文字目标进行检测;当该新出现的文字目标具有两帧以上的关键帧观测时,进行文本参数初始化;成功进行参数初始化的文字目标在接下来的帧观测中,进行文本参数优化;针对某一个文字目标,当至少被4个以上的帧观测到,同时,临近帧之间的文字目标朝向估计变化量小于25°,则将该文字目标在地图中进行初始化。
8.如权利要求7所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤4.2中的BA优化损失函数为:
E(x)=Epoint(x)+λwEtext(x)
其中,Epoint和Etext代表了针对特征点的重投影误差项和针对特征文字的光度误差项,λw用于平衡Epoint和Etext两个误差项,待优化变量x包括:关键帧的位姿、特征点的几何信息、文字目标的几何参数。
9.如权利要求8所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤4.3中,进行所述特征点和所述特征文字的坏值检验和去除包括:
对于非文字区域的特征点,在所述BA优化后,重投影误差过大的特征点被认为是异常值,从地图中剔除对应的三维点;对于文字目标来说,检查地图中每一个文字目标是否满足以下条件:
A.文本目标在至少两帧观测中被标记为正常值(#Fgood>2);
B.观测异常帧数小于观测正常帧数,也小于预设阈值(#Fbad<0.9#Fgood和#Fbad<40)。
其中,#Fbad、#Fgood分别代表某一个文字目标被标记为观测异常值和观测正常值的帧数;
如果不满足上述条件A、B中的任意一个,则将该文字目标设置为异常值,从全局地图中删除,不参与后续处理。
10.如权利要求1所述的构建基于文字语义信息的视觉SLAM系统的方法,其特征在于,所述步骤5包括:
步骤5.1、语义回环检测:使用当前帧的文字观测语义信息,与地图中的文字目标的语义信息模型进行对比,依据这种语义信息的相似性找出与当前帧相似的回环候选帧;
步骤5.2、计算当前帧与各个候选帧之间的7自由度相对位姿计算结果,并得到帧与帧之间的特征点匹配结果,选择内点对个数最多的候选帧作为当前帧的回环帧;
步骤5.3、根据计算出的7自由度相对位姿结果,将系统运行的累积误差分布在整个地图中,使用位姿图优化(Pose Graph Optimization)技术对所有帧位姿进行优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310655353.4A CN116721416A (zh) | 2023-06-05 | 2023-06-05 | 一种构建基于文字语义信息的视觉slam系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310655353.4A CN116721416A (zh) | 2023-06-05 | 2023-06-05 | 一种构建基于文字语义信息的视觉slam系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116721416A true CN116721416A (zh) | 2023-09-08 |
Family
ID=87870841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310655353.4A Pending CN116721416A (zh) | 2023-06-05 | 2023-06-05 | 一种构建基于文字语义信息的视觉slam系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116721416A (zh) |
-
2023
- 2023-06-05 CN CN202310655353.4A patent/CN116721416A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10109055B2 (en) | Multiple hypotheses segmentation-guided 3D object detection and pose estimation | |
CN108369741B (zh) | 用于配准数据的方法和系统 | |
US8467596B2 (en) | Method and apparatus for object pose estimation | |
CN110097093A (zh) | 一种异源图像精确匹配方法 | |
CN108648194B (zh) | 基于cad模型三维目标识别分割和位姿测量方法及装置 | |
CN108537121B (zh) | 气象环境参数与图像信息融合的自适应遥感场景分类方法 | |
Sock et al. | Multi-task deep networks for depth-based 6d object pose and joint registration in crowd scenarios | |
CN111209920B (zh) | 一种复杂动态背景下飞机检测方法 | |
CN108229416A (zh) | 基于语义分割技术的机器人slam方法 | |
CN106503170B (zh) | 一种基于遮挡维度的图像库构建方法 | |
Meger et al. | Explicit Occlusion Reasoning for 3D Object Detection. | |
CN112101160B (zh) | 一种面向自动驾驶场景的双目语义slam方法 | |
CN111460884A (zh) | 基于人体跟踪的多人脸识别方法 | |
CN113436251B (zh) | 一种基于改进的yolo6d算法的位姿估计系统及方法 | |
CN111444773A (zh) | 一种基于图像的多目标分割识别方法及系统 | |
CN113689459B (zh) | 动态环境下基于gmm结合yolo实时跟踪与建图方法 | |
Armagan et al. | Semantic segmentation for 3D localization in urban environments | |
Martínez-Díaz | 3D distance measurement from a camera to a mobile vehicle, using monocular vision | |
CN113096016A (zh) | 一种低空航拍图像拼接方法和系统 | |
Li et al. | TextSLAM: Visual SLAM With Semantic Planar Text Features | |
CN117351078A (zh) | 基于形状先验的目标尺寸与6d姿态估计方法 | |
Shi et al. | Dense semantic 3D map based long-term visual localization with hybrid features | |
CN116721416A (zh) | 一种构建基于文字语义信息的视觉slam系统的方法 | |
CN113792629B (zh) | 一种基于深度神经网络的安全帽佩戴检测方法及系统 | |
CN115861352A (zh) | 单目视觉、imu和激光雷达的数据融合和边缘提取方法 |
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 |