CN113313763B - 一种基于神经网络的单目相机位姿优化方法及装置 - Google Patents
一种基于神经网络的单目相机位姿优化方法及装置 Download PDFInfo
- Publication number
- CN113313763B CN113313763B CN202110581844.XA CN202110581844A CN113313763B CN 113313763 B CN113313763 B CN 113313763B CN 202110581844 A CN202110581844 A CN 202110581844A CN 113313763 B CN113313763 B CN 113313763B
- Authority
- CN
- China
- Prior art keywords
- feature points
- frame
- target
- neural network
- pose
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000005457 optimization Methods 0.000 title claims abstract description 35
- 239000013598 vector Substances 0.000 claims abstract description 98
- 230000000007 visual effect Effects 0.000 claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 26
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 230000015654 memory Effects 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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/30244—Camera pose
-
- 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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于神经网络的单目相机位姿优化方法及装置,包括:获取单目图像;基于卷积神经网络对单目图像进行特征点提取,得到目标特征点以及像素坐标和视觉特征描述子;当当前帧为有效帧,基于目标特征点的像素坐标和视觉特征描述子利用图神经网络对目标特征点与历史特征点进行匹配;当匹配结果满足要求,利用目标算法解算单目相机的位姿信息;当当前帧为关键帧,计算关键帧中的词向量并在预设词向量数据库中检索关键帧中的词向量;当关键帧中的词向量与预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。
Description
技术领域
本发明涉及定位技术领域,具体涉及一种基于神经网络的单目相机位姿优化方法及装置。
背景技术
自动驾驶车辆又称无人驾驶车辆,是一种依靠车载传感器系统、计算系统和控制系统自主执行驾驶任务的复杂无人系统,为实现期望的自动驾驶功能,首先需要解决自动驾驶车辆的自主定位问题。
现有技术中的定位与地图构建(Simultaneouslocalizationandmapping,SLAM)是解决自动驾驶车辆自主定位问题的一种技术,其根据使用的传感器类型的不同,SLAM可以分为依托视觉相机的视觉SLAM、依托激光雷达的激光SLAM和同时依托视觉相机和惯性器件的视觉惯性SLAM等不同类型。相较于激光雷达、视觉相机具有低成本、信息量丰富等优势,其中尤以单目相机应用最为广泛、技术最为成熟,因此基于单目相机的视觉SLAM技术具有很高的研究价值和广阔的应用前景。为了保证基于单目相机的视觉SLAM定位技术的准确性,亟待提出一种新的单目相机位姿优化方法以优化相机位姿。
发明内容
因此,本发明提供一种基于神经网络的单目相机位姿优化方法及装置以优化相机位姿,提高基于单目相机的视觉SLAM定位技术的准确性。
根据第一方面,本发明实施例公开了一种基于神经网络的单目相机位姿优化方法,包括:获取单目相机实时采集的车辆行驶前方单目图像;基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子;根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配;当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息;根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量;当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿
可选地,所述卷积神经网络包括编码器和解码器,所述基于卷积神经网络对所述单目图像进行特征点提取,包括:将所述单目图像进行灰度处理,得到灰度图像;将所述灰度图像输入到所述编码器进行卷积操作,得到所述灰度图像的特征图;将所述灰度图像的特征图输入到所述解码器进行分类操作,得到所述目标特征点以及所述目标特征点的像素坐标和视觉特征描述子。
可选地,所述根据提取到的目标特征点数量确定当前帧是否属于有效帧,包括:判断提取到的目标特征点的数量是否大于目标数量;当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
可选地,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配之前,所述方法还包括:确定是否已进行用于获取历史特征点信息的初始化操作;当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
可选地,所述方法还包括:利用计算得到的每一个关键帧的词向量更新所述预设词向量数据库中的词向量;利用新得到的有效帧中的目标特征点信息更新用于存储所述历史特征点信息的地图数据库。
根据第二方面,本发明实施例还公开了一种基于神经网络的单目相机位姿优化装置,包括:第一获取模块,用于获取单目相机实时采集的车辆行驶前方单目图像;第二获取模块,用于基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子;匹配模块,用于根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配;解算模块,用于当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息;检索模块,用于根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量;优化模块,用于当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。
可选地,所述匹配模块,包括:判断模块,用于判断提取到的目标特征点的数量是否大于目标数量;判定模块,用于当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;获取子模块,用于当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
可选地,所述装置还包括:确定模块,用于确定是否已进行用于获取历史特征点信息的初始化操作;检测模块,用于当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;生成模块,用于若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
根据第三方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的基于神经网络的单目相机位姿优化方法的步骤。
根据第四方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的基于神经网络的单目相机位姿优化方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的基于神经网络的单目相机位姿优化方法/装置,通过获取单目相机实时采集的车辆行驶前方单目图像,基于卷积神经网络对单目图像进行特征点提取,得到目标特征点以及目标特征点的像素坐标和视觉特征描述子,根据提取到的目标特征点数量确定当前帧是否属于有效帧,当当前帧属于有效帧,基于目标特征点的像素坐标和视觉特征描述子利用图神经网络对目标特征点与历史特征点进行匹配,当匹配结果满足预设匹配要求,利用目标算法解算单目相机的位姿信息,根据位姿信息确定当前帧是否为关键帧,当当前帧为关键帧,计算关键帧中的词向量,并在预设词向量数据库中检索关键帧中的词向量,当关键帧中的词向量与预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。采用基于特征点法的视觉SLAM框架,将基于卷积神经网络的特征提取模块和基于图神经网络的特征匹配模块分别替换框架中最为关键的特征提取和特征匹配模块,由于基于神经网络的特征提取算法和特征匹配算法借助大量数据资源和深度学习技术,在相关任务中表现出了超越传统算法的性能,得益于深度神经网络的强大表达能力和特征感受能力,本发明提供的方案在纹理缺失、光照变换剧烈等挑战性场景中,鲁棒性和准确性明显优于传统算法,使得基于神经网络的特征提取及特征匹配算法集成到SLAM算法框架中,可以实现更加准确的定位效果。通过卷积神经网络进行特征提取以及图神经网络进行特征匹配,以应对在低纹理区域、光照变化复杂等场景下的漂移问题,在多样性场景中可以更鲁棒准确地完成单目相机位姿优化操作,进而提高自动驾驶车辆的定位准确性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于神经网络的单目相机位姿优化方法的一个具体示例的流程图;
图2为本发明实施例中基于神经网络的单目相机位姿优化方法的一个具体示例的流程图;
图3为本发明实施例中卷积神经网络的一个具体结构流程图;
图4为本发明实施例中图神经网络的一个具体结构流程图;
图5为本发明实施例中基于神经网络的单目相机位姿优化装置的一个具体示例的原理框图;
图6为本发明实施例中电子设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种基于神经网络的单目相机位姿优化方法,结合图1、图2所示,该方法包括如下步骤:
步骤101,获取单目相机实时采集的车辆行驶前方单目图像。在利用单目相机采集车辆行驶前方单目图像之前可以使用张氏标定法和棋盘格对单目相机进行标定,使标定后采集的单目图像无畸变。
步骤102,基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子。
示例性地,卷积神经网络通过对图像矩阵进行卷积操作提取图像特征,将多层执行卷积计算的网络叠加在一起形成深度很深的网络模型,可以在许多任务中得到极好的表现。依据训练阶段是否使用带有标签的数据,神经网络模型的训练可采用有监督或无监督的方式进行。本申请实施例中该卷积神经网络可以采用自监督方式训练或者采用预训练模型。该卷积神经网络输出的目标特征点的表征格式可以根据基础算法框架采用不同特征格式,例如基于ORB-SLAM框架可使用ORB格式特征点,或者是其他框架下的SuperPoint特征点、SIFT特征点。
步骤103,根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配。
示例性地,图神经网络将图的概念引入深度学习,许多可以表示为节点和边的连接关系的问题可以通过图神经网络进行求解。使用图神经网络进行特征匹配时是将特征点视为节点,特征点与特征点之间的关系视为边,就可以构建图神经网络模型进行不同任务的优化求解。统计从当前帧中提取到的目标特征点的数量,若多于预先设定的阈值则可以确定当前帧为有效帧即判定追踪成功随即进入特征匹配阶段,否则追踪失败重新进行初始化。使用图神经网络对输入图像进行特征匹配,该图神经网络主要包括编码器和解码器两个模块,编码器模块包括自注意力层和互注意力层,分别用于编码图像内和图像间的特征点注意力关系,最终编码器输出融合有特征点位置信息、注意力信息以及视觉描述子信息的特征描述子。历史特征点可以从地图数据库中任一帧图像中获取,也可以在上一关键帧中获取。
如图4所示,编码器接收两帧图像的目标特征点的像素坐标(Position)和视觉特征描述子(Descriptor),利用含有5层多层感知机(MLP)的关键点编码器(KeyPointEncoder)将目标特征点的视觉特征描述子和像素坐标位置进行编码,得到编码后的表征该帧图像汇总特征点信息的特征向量,随后将该结果送入基于注意力机制的图神经网络,图神经网络分别使用自注意力机制和互注意力机制获得各个特征点在帧内和帧间的匹配关系,最后该结果送入一个优化匹配模块,根据注意力机制的匹配得分得到最终的目标特征点与历史图像特征点的匹配结果。
步骤104,当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息。
示例性地,可根据匹配结果的置信度来筛选匹配结果,若某一对目标特征点的匹配置信度小于阈值则舍弃该对目标特征点。利用基于置信度筛选后剩余的目标特征点的匹配结果,可以使用EPnP算法解算单目相机当前帧的相对位姿,并根据解算结果可以用于判定当前帧是否为关键帧。匹配结果筛选条件可以为图神经网络输出的匹配结果对应归一化处理后的置信度大于或等于0.75即判定匹配结果满足预设匹配要求。
使用EPnP算法解算单目相机的位姿信息的方式可以是:已知地图数据库中的n个作为历史特征点的路标点的3D坐标信息以及当前帧中与这些路标点匹配的目标特征点的2D坐标,本申请实施例中n至少为4,即至少已知4对3D-2D匹配关系,将世界坐标系中的3D坐标表示为一组虚拟的控制点的加权和,以分解3D坐标用于解算位姿:
其中,i表示第i个3D点,j表示第j个控制点;是世界坐标系下的3D坐标;/>是世界坐标系下的3D控制点;αij是齐次坐标,四个不共面的控制点一旦确定,αij就是唯一确定;同样对于相机坐标系也有同样的关系:
以[R t]表示单目相机位姿,R、t分别为单目相机的旋转矩阵和平移向量,则位姿与控制点之间满足关系:
进而可得约束:
在上述约束条件下可根据EPnP理论使用四个控制点求解相机位姿。
步骤105,根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量。
示例性地,根据解算得到的位姿信息确定当前帧是否为关键帧的方式可以是当前帧的位姿信息是否大于预设位姿阈值,且当前帧在时间序列中距离上一关键帧是否大于3帧,若同时满足以上条件则说明当前帧与上一帧之间的间隔不会过小,通过设置预设位姿阈值保证了在相机运动缓慢甚至静止时不会一直增加关键帧,所以将同时满足以上条件的当前帧选为关键帧,若当前帧为关键帧则可以使用DBoW2算法对单目相机捕捉到的图像帧计算词向量。本申请实施例对该预设位姿阈值不作限定,本领域技术人员可根据实际需要确定,如在在普通的计算设备上可以设置为位姿变化不小于[3°,0.5m]。同时当得到关键帧以及关键帧的位姿信息,可以使用基于滑动窗口的BA算法估计当前关键帧中目标特征点的深度信息,将得到的深度信息存储地图数据库,以用于后续的单目相机的位姿信息的计算。
步骤106,当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。
示例性地,在预设词向量数据库中检索当前帧的词向量,若检测到当前帧的词向量与预设词向量数据库中的词向量相似度大于80%,则可以认为该帧满足检索匹配成功,若有连续三帧图像检索匹配成功则可以认为检测到回环,具体的可以采用DboW2词袋模型;若检测到回环则执行全局BA修正误差以优化相机位姿以及作为目标特征点的路标点深度信息,保证自动驾驶车辆可以在场时间运行的条件下减少轨迹的累积误差。
该相机位姿的优化问题的目标函数为:
式中:T*为优化后的相机位姿;ui是目标特征点像素坐标;K为单目相机的内参矩阵;T为相机位姿的变换矩阵;Pi是对应路标点坐标,即包含深度信息。
通过将路标点的投影位置与观测位置作差构造重投影误差,不断调整Pi以使得该目标函数最小,其中路标点限定在一个滑动窗口中,该滑动窗口中共含有7帧关键帧及其所包含的路标点,该优化问题的计算可由单线程执行,具体的优化相机位姿的过程可以是:构造一个优化特征点深度的最小二乘优化问题,优化目标是使滑动窗口中所有特征点的重投影误差最小,使用成熟的算法进行求解。其中投影位置指路标点使用估计的相机位姿向图像平面进行投影得到的在图像中的像素坐标;观测位置则表示实际拍摄的图像中该路标点的像素坐标。
作为本发明一个可选实施方式,所述卷积神经网络包括编码器和解码器,所述基于卷积神经网络对所述单目图像进行特征点提取,包括:将所述单目图像进行灰度处理,得到灰度图像;将所述灰度图像输入到所述编码器进行卷积操作,得到所述灰度图像的特征图;将所述灰度图像的特征图输入到所述解码器进行分类操作,得到所述目标特征点以及所述目标特征点的像素坐标和视觉特征描述子。
示例性地,在将单目凸显输入预先训练好的的卷积神经网络之前,可以先将采集到的单目图像进行灰度处理使之变为灰度图,即仅保留像素强度值。如图3所示,本申请实施例中该卷积神经网络主要结构分为编码器和解码器,其中编码器接收输入的灰度图像,通过8个3*3的卷积层,每两个卷积层之间放置一个2*2的最大池化层,所有卷积层后面都紧跟着一个批归一化层和一个ReLu激活函数,最终编码器输出该帧图像的特征图;解码器接收来自编码器的特征图,先后经过一个3*3的卷积层和一个1*1的卷积层,最后通过一个Softmax层得到提取的目标特征点及目标特征点的像素坐标和视觉特征描述子。
作为本发明一个可选实施方式,所述根据提取到的目标特征点数量确定当前帧是否属于有效帧,包括:判断提取到的目标特征点的数量是否大于目标数量;当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
示例性地,判断当前帧是否处于有效帧,即当前单目相机是否处于正常追踪状态,判断依据可以是如果从当前帧中所提取到的目标特征点数量小于目标数量(如40),则可能会因为特征点数量过少而导致位姿估计不准确,造成追踪失败的原因可能是图像画面中缺少纹理、运动模糊等原因。若从当前帧中提取到的目标特征点的数量大于40,则表示追踪成功可进行下一步,否则需重新进行初始化以重新获取当前帧。
作为本发明一个可选实施方式,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配之前,所述方法还包括:确定是否已进行用于获取历史特征点信息的初始化操作;当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
示例性地,确定是否已进行用于获取历史特征点信息的初始化操作的判断依据可以是历史图像的特征点深度信息是否已知,若没有已知深度信息的历史图像特征点则表示尚未进行初始化,进一步检测用于存储历史图像特征点的地图数据库是否为空,检测当前地图数据库是否为空的依据是地图管理模块中是否有关键帧和路标点信息。对于尚未初始化并且地图数据库为空的系统,对读取的相机图像使用对极约束估计相机初始关键帧位姿:
式中,是路标点在第二帧图像中的投影位置,由于求解的是相邻两帧之间的相对位姿,因此第二帧表征相对于当前帧的另一帧,例如可以是之后的一帧或者之前的一帧;x1是路标点在第一帧图像中的投影位置,第一帧是指当前帧(也可以理解为参考帧),r是指旋转矩阵,t是指平移向量。通过上述方式为地图数据库提供初始的关键帧位姿和路标点信息。
作为本发明一个可选实施方式,所述方法还包括:利用计算得到的每一个关键帧的词向量更新所述预设词向量数据库中的词向量;利用新得到的有效帧中的目标特征点信息更新用于存储所述历史特征点信息的地图数据库。计算得到的单目相机采集的每一帧图像的词向量可以使用128维二进制描述子的形式存储到预设词向量数据库中以用于回环检测。
本发明实施例还公开了一种基于神经网络的单目相机位姿优化装置,如图5所示,该装置包括:
第一获取模块501,用于获取单目相机实时采集的车辆行驶前方单目图像;
第二获取模块502,用于基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子;
匹配模块503,用于根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配;
解算模块504,用于当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息;
检索模块505,用于根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量;
优化模块506,用于当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。
作为本发明一个可选实施方式,所述匹配模块,包括:判断模块,用于判断提取到的目标特征点的数量是否大于目标数量;判定模块,用于当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;获取子模块,用于当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
作为本发明一个可选实施方式,所述装置还包括:确定模块,用于确定是否已进行用于获取历史特征点信息的初始化操作;检测模块,用于当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;生成模块,用于若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
作为本发明一个可选实施方式,所述卷积神经网络包括编码器和解码器,所述第二获取模块,包括:灰度处理模块,用于将所述单目图像进行灰度处理,得到灰度图像;特征图获取模块,用于将所述灰度图像输入到所述编码器进行卷积操作,得到所述灰度图像的特征图;分类模块,用于将所述灰度图像的特征图输入到所述解码器进行分类操作,得到所述目标特征点以及所述目标特征点的像素坐标和视觉特征描述子。
作为本发明一个可选实施方式,所述方法还包括:
第一更新模块,用于利用计算得到的每一个关键帧的词向量更新所述预设词向量数据库中的词向量;
第二更新模块,用于利用新得到的有效帧中的目标特征点信息更新用于存储所述历史特征点信息的地图数据库。
本发明实施例还提供了一种电子设备,如图6所示,该电子设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。处理器401还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于神经网络的单目相机位姿优化方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于神经网络的单目相机位姿优化方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1所示实施例中的基于神经网络的单目相机位姿优化方法。
上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种基于神经网络的单目相机位姿优化方法,其特征在于,包括:
获取单目相机实时采集的车辆行驶前方单目图像;
基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子;
根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配;
所述图神经网络包括编码器和解码器,所述编码器包括自注意力层和互注意力层,所述基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配,包括:
编码器接收两帧图像的目标特征点的像素坐标和视觉特征描述子,利用编码器将目标特征点的视觉特征描述子和像素坐标位置进行编码,得到编码后的表征该帧图像中特征点信息的特征向量;
分别使用自注意力层和互注意力层获得各个特征点在帧内和帧间的匹配关系,将所述匹配关系输入至优化匹配模块,以根据注意力机制的匹配得分得到最终的目标特征点与历史图像特征点的匹配结果;
当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息;
根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量,关键帧的确定方式是判定当前帧的位姿信息是否大于预设位姿阈值,且当前帧在时间序列中距离上一关键帧是否大于3帧,将位姿信息大于预设位姿阈值且在时间序列中距离上一关键帧大于3帧的当前帧选为关键帧;
当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿。
2.根据权利要求1所述的方法,其特征在于,所述卷积神经网络包括编码器和解码器,所述基于卷积神经网络对所述单目图像进行特征点提取,包括:
将所述单目图像进行灰度处理,得到灰度图像;
将所述灰度图像输入到所述编码器进行卷积操作,得到所述灰度图像的特征图;
将所述灰度图像的特征图输入到所述解码器进行分类操作,得到所述目标特征点以及所述目标特征点的像素坐标和视觉特征描述子。
3.根据权利要求1所述的方法,其特征在于,所述根据提取到的目标特征点数量确定当前帧是否属于有效帧,包括:
判断提取到的目标特征点的数量是否大于目标数量;
当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;
当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
4.根据权利要求1所述的方法,其特征在于,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配之前,所述方法还包括:
确定是否已进行用于获取历史特征点信息的初始化操作;
当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;
若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
利用计算得到的每一个关键帧的词向量更新所述预设词向量数据库中的词向量;
利用新得到的有效帧中的目标特征点信息更新用于存储所述历史特征点信息的地图数据库。
6.一种基于神经网络的单目相机位姿优化装置,其特征在于,包括:
第一获取模块,用于获取单目相机实时采集的车辆行驶前方单目图像;
第二获取模块,用于基于卷积神经网络对所述单目图像进行特征点提取,得到目标特征点以及所述目标特征点的像素坐标和视觉特征描述子;
匹配模块,用于根据提取到的目标特征点数量确定当前帧是否属于有效帧,当所述当前帧属于有效帧,基于所述目标特征点的像素坐标和视觉特征描述子利用图神经网络对所述目标特征点与历史特征点进行匹配,所述图神经网络包括编码器和解码器,所述编码器包括自注意力层和互注意力层;
解算模块,用于当匹配结果满足预设匹配要求,利用目标算法解算所述单目相机的位姿信息;
检索模块,用于根据所述位姿信息确定所述当前帧是否为关键帧,当所述当前帧为关键帧,计算所述关键帧中的词向量,并在预设词向量数据库中检索所述关键帧中的词向量,关键帧的确定方式是判定当前帧的位姿信息是否大于预设位姿阈值,且当前帧在时间序列中距离上一关键帧是否大于3帧,将位姿信息大于预设位姿阈值且在时间序列中距离上一关键帧大于3帧的当前帧选为关键帧;
优化模块,用于当所述关键帧中的词向量与所述预设词向量数据库中词向量的相似度大于预设阈值且连续多个关键帧的词向量与所述预设词向量数据库中的词向量的相似度大于预设阈值,则判定检测到回环并执行全局BA操作以优化单目相机位姿;
所述匹配模块,还用于:
编码器接收两帧图像的目标特征点的像素坐标和视觉特征描述子,利用编码器将目标特征点的视觉特征描述子和像素坐标位置进行编码,得到编码后的表征该帧图像中特征点信息的特征向量;
分别使用自注意力层和互注意力层获得各个特征点在帧内和帧间的匹配关系,将所述匹配关系输入至优化匹配模块,以根据注意力机制的匹配得分得到最终的目标特征点与历史图像特征点的匹配结果。
7.根据权利要求6所述的装置,其特征在于,所述匹配模块,包括:
判断模块,用于判断提取到的目标特征点的数量是否大于目标数量;
判定模块,用于当提取到的目标特征点的数量大于所述目标数量,判定所述当前帧属于有效帧;
获取子模块,用于当提取到的目标特征点的数量小于或等于所述目标数量,则重新获取当前帧。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定是否已进行用于获取历史特征点信息的初始化操作;
检测模块,用于当未进行用于获取历史特征点信息的初始化操作,检测用于存储所述历史特征点的地图数据库是否为空;
生成模块,用于若用于存储所述历史特征点的地图数据库为空,利用对极约束求解当前帧的相机位姿,并使用三角测量算法估计目标特征点深度,以生成所述地图数据库的初始关键帧位姿和初始历史特征点信息。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-5任一所述的基于神经网络的单目相机位姿优化方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的基于神经网络的单目相机位姿优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110581844.XA CN113313763B (zh) | 2021-05-26 | 2021-05-26 | 一种基于神经网络的单目相机位姿优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110581844.XA CN113313763B (zh) | 2021-05-26 | 2021-05-26 | 一种基于神经网络的单目相机位姿优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313763A CN113313763A (zh) | 2021-08-27 |
CN113313763B true CN113313763B (zh) | 2023-06-23 |
Family
ID=77375395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110581844.XA Active CN113313763B (zh) | 2021-05-26 | 2021-05-26 | 一种基于神经网络的单目相机位姿优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313763B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114279456B (zh) * | 2021-12-06 | 2024-04-30 | 纵目科技(上海)股份有限公司 | 图片构建/车辆定位方法、系统、终端及计算机存储介质 |
CN114549743B (zh) * | 2022-01-24 | 2024-08-30 | 珠海深圳清华大学研究院创新中心 | 一种基于赋权连接图的增量式运动恢复结构的方法 |
CN114639006B (zh) * | 2022-03-15 | 2023-09-26 | 北京理工大学 | 一种回环检测方法、装置和电子设备 |
CN114677444B (zh) * | 2022-05-30 | 2022-08-26 | 杭州蓝芯科技有限公司 | 一种优化的视觉slam方法 |
CN115187664A (zh) * | 2022-06-30 | 2022-10-14 | 先临三维科技股份有限公司 | 位置调整方法、装置、设备及存储介质 |
CN117132648B (zh) * | 2023-04-28 | 2024-07-12 | 荣耀终端有限公司 | 一种视觉定位方法、电子设备及计算机可读存储介质 |
CN116258769B (zh) * | 2023-05-06 | 2023-07-25 | 亿咖通(湖北)技术有限公司 | 一种定位校验方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270357A (zh) * | 2020-10-29 | 2021-01-26 | 德鲁动力科技(海南)有限公司 | Vio视觉系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109671119A (zh) * | 2018-11-07 | 2019-04-23 | 中国科学院光电研究院 | 一种基于slam的室内定位方法及装置 |
CN111024078B (zh) * | 2019-11-05 | 2021-03-16 | 广东工业大学 | 基于gpu加速的无人机视觉slam方法 |
CN111429524B (zh) * | 2020-03-19 | 2023-04-18 | 上海交通大学 | 一种相机与惯性测量单元在线初始化与标定方法及系统 |
CN111583340B (zh) * | 2020-04-28 | 2023-03-31 | 西安交通大学 | 基于卷积神经网络降低单目相机位姿估计误差率的方法 |
CN112330750A (zh) * | 2020-10-30 | 2021-02-05 | 北京邮电大学 | 一种面向可重构球形机器人自重构对接的立体匹配方法 |
-
2021
- 2021-05-26 CN CN202110581844.XA patent/CN113313763B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270357A (zh) * | 2020-10-29 | 2021-01-26 | 德鲁动力科技(海南)有限公司 | Vio视觉系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113313763A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113313763B (zh) | 一种基于神经网络的单目相机位姿优化方法及装置 | |
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及系统 | |
CN113516664B (zh) | 一种基于语义分割动态点的视觉slam方法 | |
CN110781262B (zh) | 基于视觉slam的语义地图的构建方法 | |
CN109341703B (zh) | 一种全周期采用CNNs特征检测的视觉SLAM算法 | |
CN111462200A (zh) | 一种跨视频行人定位追踪方法、系统及设备 | |
CN113674416B (zh) | 三维地图的构建方法、装置、电子设备及存储介质 | |
CN113903011B (zh) | 一种适用于室内停车场的语义地图构建及定位方法 | |
CN112734852A (zh) | 一种机器人建图方法、装置及计算设备 | |
CN111652929A (zh) | 一种视觉特征的识别定位方法及系统 | |
CN113506342B (zh) | 一种基于多相机全景视觉的slam全向回环校正方法 | |
CN112634369A (zh) | 空间与或图模型生成方法、装置、电子设备和存储介质 | |
CN112634368A (zh) | 场景目标的空间与或图模型生成方法、装置及电子设备 | |
Saleem et al. | Neural network-based recent research developments in SLAM for autonomous ground vehicles: A review | |
CN113129336A (zh) | 一种端到端多车辆跟踪方法、系统及计算机可读介质 | |
CN116222577B (zh) | 闭环检测方法、训练方法、系统、电子设备及存储介质 | |
CN113112547A (zh) | 机器人及其重定位方法、定位装置及存储介质 | |
CN116563376A (zh) | 基于深度学习的lidar-imu紧耦合语义slam方法及相关装置 | |
CN115527050A (zh) | 图像特征匹配方法、计算机设备和可读存储介质 | |
US20220164595A1 (en) | Method, electronic device and storage medium for vehicle localization | |
Jo et al. | Mixture density-PoseNet and its application to monocular camera-based global localization | |
CN112348854A (zh) | 一种基于深度学习视觉惯性里程检测方法 | |
CN115239902A (zh) | 移动设备的周边地图建立方法、装置、设备及存储介质 | |
CN112766100A (zh) | 一种基于关键点的3d目标检测方法 | |
CN118552711B (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 |