CN111724438B - 一种数据处理方法、装置 - Google Patents
一种数据处理方法、装置 Download PDFInfo
- Publication number
- CN111724438B CN111724438B CN201910203827.5A CN201910203827A CN111724438B CN 111724438 B CN111724438 B CN 111724438B CN 201910203827 A CN201910203827 A CN 201910203827A CN 111724438 B CN111724438 B CN 111724438B
- Authority
- CN
- China
- Prior art keywords
- image
- key frame
- key
- determining
- local
- 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
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000013135 deep learning Methods 0.000 claims abstract description 46
- 238000013528 artificial neural network Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 53
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000010801 machine learning Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种数据处理方法、装置,采用深度神经网络预先构建地点数据库,地点数据库中的关键帧图像的全部特征和局部特征都是利用深度神经网络深度学习得到的,由于在深度神经网络学习中,假设关键帧图像局部特征的描述子存在一定程度光线的变化性,因此,当光线变化较大时,尽管第一图像局部特征的描述子有发生较大变化,也能在地点数据库中准确匹配到关键帧图像。
Description
技术领域
本发明涉及神经网络技术领域,尤其涉及一种数据处理方法、装置。
背景技术
对于小型智能机器人来说,视觉重定位技术有着重要作用,重定位是指:在机器人定位失效时,机器人根据离线建立的运行环境的三维地图,进行比对,重新找回当前机器人的位置和姿态,从而保证机器人的正常运行。
通常,造成机器人定位失效的原因,一般是在实际运行过程中,由于人为或环境的干扰因素导致。例如:机器人的摄像头被人暂时遮挡造成没有有效视觉信息,机器人被人诱拐或强制移动位置,机器人经过室内外光线强烈变化的场所等。在干扰因素解除后,机器人需要重新计算当前的位置和姿态,并沿着规定的任务路线继续运行。
现有的视觉重定位技术多采用传统的局部特征,例如,尺度不变特征转换(Scale-invariant feature transform,SIFT),但是,当离线地图和真实运行场景的光线差异较大时,使用传统局部特征进行特征匹配和搜索容易引入错误的特征匹配,或正确匹配数量较少,从而降低重定位的精度。
发明内容
为了解决上述问题,本发明提供一种数据处理方法、装置,利用深度神经网络生成的全局特征进行图像检索,对光线变化具有较好的鲁棒性,同时利用深度神经网络生成局部特征,利用深度学习局部特征,在光线变化情况下获取更多特征点匹配,从而完成对机器人位置和姿态的较精确的估计。
本发明实施例提供一种数据处理方法,包括:
获取第一图像;
基于机器学习,对所述第一图像进行处理,得到所述第一图像的全局特征和局部特征;
根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像;
根据所述关键帧图像和所述第一图像的局部特征,确定所述第一图像对应的定位信息。
可选地,所述方法还包括:
在采集的运行轨迹周围环境的图像中确定多个关键帧图像以及每个关键帧图像的定位信息;
利用机器学习对所述多个关键帧图像进行深度学习,得到每个关键帧图像的全局特征和局部特征;
根据每个关键帧图像的局部特征以及定位信息,确定每个关键帧图像上的关键点以及所述关键点的三维点坐标;
建立每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系;
将所述映射关系保存到地点数据库中。
可选地,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像,包括:
将所述第一图像的全局特征和所述地点数据库中所有的关键帧图像的全局特征进行相似度比较,确定最大相似度的关键帧图像,且所述最大相似度大于预设的相似度阈值,则确定所述最大相似度的关键帧图像为匹配的关键帧图像。
可选地,所述方法还包括:
根据所述匹配的关键帧图像,在所述地点数据库中,确定其他关键帧图像,所述其他关键帧图像与所述匹配的关键帧图像之间的距离小于预设距离阈值。
可选地,根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息,包括:
将所述第一图像的局部特征中的每个关键点分别与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中的所有关键点进行匹配;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点;
根据所述匹配的关键点,查询所述地点数据库,获取所述匹配的关键点的三维点坐标;
根据所述匹配的关键点的三维点坐标确定所述第一图像的定位信息。
可选地,在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点,包括:
确定所述第一图像的局部特征中的每个关键点对应的描述子,以及确定所述其他关键帧图像与所述匹配的关键帧图像的局部特征中每个关键点对应的描述子;
分别计算所述第一图像的局部特征中的每个描述子与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有描述子之间的距离;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有的描述子中,确定与所述第一图像的局部特征中的每个描述子距离最近的描述子;
将每个距离最近的描述子对应的关键点确定为与所述第一图像的局部特征中的对应描述子的关键点匹配的关键点。
可选地,
所述机器学习包括深度学习;
所述定位信息包括位置和/或姿态信息;
所述第一图像包括当前拍摄图像;
所述局部特征包括深度学习局部特征,表示通过深度学习算法确定的图像中与定位信息相关的关键点和描述子;
所述全局特征包括深度学习全局特征,是指通过深度学习算法生成的代表图像定位信息的向量。
本申请还提供一种数据处理装置,包括:
获取模块,获取第一图像;
学习模块,用于基于机器学习,对所述第一图像进行处理,得到所述第一图像的全局特征和局部特征;
确定模块,用于根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像;
所述确定模块,还用于根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息。
本申请还提供一种服务器,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述通信组件耦合,用于执行计算机程序,以用于执行上述数据处理方法所述的步骤或操作。
本申请还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时能够实现上述数据处理方法所述的步骤或操作。
本发明实施例采用深度神经网络预先构建地点数据库,地点数据库中的关键帧图像的全部特征和局部特征都是利用深度神经网络深度学习得到的,由于在深度神经网络学习中,假设关键帧图像局部特征的描述子存在一定程度光线的变化性,因此,当光线变化较大时,尽管第一图像局部特征的描述子有发生较大变化,也能在地点数据库中准确匹配到关键帧图像(也就是说,能准确的重定位地点),因此,本申请的关键点匹配时不容易受到光照影响,大大提高了第一图像的姿态信息(相机的姿态信息)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术视觉重定位技术方法示意图;
图2为本发明一实施例提供的数据处理方法的流程示意图;
图3为本发明实施例中地点数据库建立方法的流程示意图;
图4为本发明图2所示实施例中步骤203具体实现方法的流程示意图;
图5本发明一实施例提供的重定位方法的流程框图;
图6本发明一实施例提供重定位方法的原理框图;
图7展示了测试结果K从1到100的结果对比图;
图8为传统局部特征SIFT和本申请定位方法在光照变化场景下匹配的鲁棒性的对比示意图;
图9本发明一实施例提供的数据处理装置结构示意图;
图10为本发明实施例提供的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
图1为现有技术视觉重定位技术方法示意图,如图1所示,采用的是基于词袋模型检索地点搜索和基于三维-二维的机器人姿态估计的方法。
其中,地点搜索采用基于词袋模型图像检索,记录建图使用的图像信息,并建立地图数据库。检索时,查询地图数据库中和当前机器人采集的图像最相似的图像,作为机器人当前的地点。三维点云在建图时生成,根据建图局部特征和三维点的对应关系和当前地点对应的建图图像可获得当前地点周边的三维点云。
根据查询到的最相似的图像,利用局部特征点匹配的方法,获取当前地点图像和建图图像之间的图像特征的匹配,即2D-2D的特征匹配。根据建图局部特征和三维点云的对应关系和2D-2D的特征匹配,综合两种对应关系中共同的部分,可以获得当前图像中的局部特征和三维点的对应关系,即2D-3D的特征匹配,最后用此对应关系求得相机姿态。
在实现本申请的过程中,发明人发现上述现有技术存在以下缺陷:
在地点搜索中,由于词带模型假设检索图像的描述子存在一定程度的不变性,当光线变化较大时图像中特征描述子有发生较大变化,因此词袋模型容易检索出错误的地点;
在获取2D-2D的特征匹配中,由于在光线变化时图像描述子会发生较大变化,导致匹配效果容易受到光照影响,从而造成相机姿态估计发生错误。
术语解释:
机器学习(Machine Learning,ML):有关人工智能的科学,主要研究对象是人工智能,特别是如何在经验学习中改善计算机具体算法的性能。
深度神经网络(Deep Neural Networks,DNN):一种具备至少一个隐藏层的,利用激活函数去线性化,使用交叉熵作损失函数,利用反向传播优化算法(随机梯度下降算法、批量梯度下降算法)进行学习训练(调整并更新神经元之间的权重)的前馈神经网络;
深度学习(Deep learning):是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别);深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。深度神经网络在经过深度学习训练之后,输出的对于图像特定区域(可以是一部分区域或者整张图像)的描述,其中,包括深度学习局部特征(部分区域图像的描述)和深度学习全局特征(整张图像的描述)。
局部特征(Local Feature):通过深度神经网络对输入图像进行深度学习后输出与定位信息相关的信息,包括关键点和描述子;其中,关键点:深度神经网络输出图像中哪些像素所在位置存在和定位相关的信息,哪些像素不存在;描述子:对于每一个关键点,深度神经网络生成一个向量,若关键点在实际世界中是同一个点,则两个向量的欧式距离应该较小,反之则较大。
全局特征(Global Feature):通过深度神经网络对输入图像进行深度学习后输出的代表图像拍摄地信息的向量。输入的是一整张图像,如果两张图像拍摄地类似,即使光线变化较大,向量的欧式距离较小,反之如果两张图像对应的拍摄地不同,则向量的距离较大。
同时定位并建图(Simultaneous localization and mapping,简称SLAM):一种机器人定位导航系统;机器人在移动过程中根据当前位置估计和在线地图进行自身定位,同时在自身定位的基础上建造增量式在线地图,实现机器人的自主定位和导航;视觉SLAM系统是指以相机作为传感器完成机器人定位建图的导航系统。
重定位(Relocalization):机器人根据已知地图重新计算自己位置和姿态的过程。在SLAM技术领域,重定位信息往往用来进行系统初始化,系统位姿丢失后找回,SLAM系统的全局优化。
图2为本发明一实施例提供的数据处理方法的流程示意图,如图1所示,包括:
200、获取第一图像;
其中,第一图像可以是机器人当前拍摄的图像;举例来说,当机器人在运行时,为了重新定位机器人当前的位置,机器人上的摄像机可以拍摄周围环境图像(即机器人当前拍摄到的图像)。
201、基于机器学习,对第一图像进行深度学习,得到所述第一图像的全局特征和局部特征;
其中,机器学习包括深度学习,本发明实施例中,例如可以通过深度神经网络对第一图像机型进行深度学习,得到第一图像的全局特征和局部特征。
其中,所述局部特征包括深度学习局部特征,表示通过深度学习算法确定的图像中与定位信息相关的关键点和描述子;所述全局特征包括深度学习全局特征,是指通过深度学习算法生成的代表图像定位信息的向量。
202、根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像;
203、根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息。
其中,定位信息例如包括位置和/或姿态信息,用于帮助机器人根据位置和/或姿态信息重新进行当前位置的定位。
为此,本发明实施例需要预先建立地点数据库,图3为本发明实施例中地点数据库建立方法的流程示意图,如图3所示,包括:
301、在采集的运行轨迹周围环境的图像中确定多个关键帧图像以及每个关键帧图像的定位信息;
举例来说,根据机器人运行的路线,轨迹,环境,以10fps的速率采集机器人运行轨迹周边环境的图像,采集的图像尽可能覆盖机器人可能到达的所有地点,采集成功后,使用SLAM系统进行建图,例如开源系统Maplab,建图完成后,可以获得离线建图的图像序列(多个关键帧图像)和每张关键帧图像对应的定位信息(如位置和/或姿态信息)。
302、利用机器学习对所述多个关键帧图像进行深度学习,得到每个关键帧图像的全局特征和局部特征;
其中,机器学习包括深度学习,本发明实施例中,例如可以通过深度神经网络对多个关键帧图像进行深度学习,得到每个关键帧图像的全局特征和局部特征。
303、根据每个关键帧图像的局部特征以及定位信息,确定每个关键帧图像上的关键点以及所述关键点的三维点坐标;
根据每个关键帧图像的局部特征可以确定每个关键帧上的关键点,根据每个关键帧上的关键点以及每个关键帧图像的定位信息(如位置和/或姿态信息),利用三角化函数三角化出每个关键帧上的关键点的三维点坐标。其中,三角化函数是现有的函数,本发明对此不做赘述。
304、建立每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系;
305、将所述映射关系保存到地点数据库中。
基于上述建立的地点数据库,在一种可选的实施方式中,上述步骤202具体实现时例如包括:
将所述第一图像的全局特征和所述地点数据库中所有的关键帧图像的全局特征进行相似度比较,确定最大相似度的关键帧图像,且所述最大相似度大于预设的相似度阈值,则确定所述最大相似度的关键帧图像为与所述第一图像匹配的关键帧图像。
基于上述建立的地点数据库,在确定上述匹配的关键帧图像之后,需要确定与所述匹配的关键帧图像之间的距离小于预设距离阈值的其他关键帧图像,主要用于后续计算第一图像的定位信息(如位置和/或姿态信息);
在一种可选的实施方式中,确定其他关键帧图像的具体实现时包括:
根据所述匹配的关键帧图像,在所述地点数据库中,确定其他关键帧图像,所述其他关键帧图像与所述匹配的关键帧图像之间的距离小于预设距离阈值。例如,分别计算所述匹配的关键帧图像与地点数据库中其他关键帧图像之间的距离,选出所有距离小于预设距离阈值其他关键帧图像;如果距离小于预设距离阈值的其他关键帧图像比较多的时候,可以在不影响后续计算第一图像的位姿信息的基础上,适当减少其他关键帧图像的数量,优选6个其他关键帧图像。
图4为本发明图2所示实施例中步骤203具体实现方法的流程示意图,如图4所示,包括:
401、将所述第一图像的局部特征中的每个关键点分别与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中的所有关键点进行匹配;
深度学习图像的局部特征包括关键点和描述子,其中,描述子是深度神经网络对每一个关键点生成一个对应的向量,若两个关键点在实际世界中是同一个点,则该两个关键点对应的描述子(向量)之间的距离(如欧式距离)应该较小,反之则较大。
因此,本发明实施例中,进行关键点匹配其实就是描述子之间的距离匹配。
402在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点;
具体实现时,包括:
确定所述第一图像的局部特征中的每个关键点对应的描述子,以及确定所述其他关键帧图像与所述匹配的关键帧图像的局部特征中每个关键点对应的描述子;
分别计算所述第一图像的局部特征中的每个描述子与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有描述子之间的距离;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有的描述子中,确定与所述第一图像的局部特征中的每个描述子距离最近的描述子;
将每个距离最近的描述子对应的关键点确定为与所述第一图像的局部特征中的对应描述子的关键点匹配的关键点。
举例来说,由于每一个关键点对应一个描述子,首先,获取第一图像的局部特征中的每个描述子(如X1,X2…Xm,共m个描述子),获取其他关键帧图像与匹配的关键帧图像的局部特征中的每个描述子(如Y1,Y2…Yn,共n个描述子);然后,分别计算X1与Y1,Y2…Yn之间的距离,X2与Y1,Y2…Yn之间的距离,直到计算Xm与Y1,Y2…Yn之间的距离;最后,通过距离比较,在X1与Y1,Y2…Yn之间的距离中,选择距离最小的组合,假设X1与Y1之间的距离最小,则确定描述子X1与描述子Y1是匹配的描述子,对应地,X1对应的关键点与Y1对应的关键点是匹配的关键点,因此,最后可以得到m个描述子的匹配组合;需要说明的是,在实际应用中,需要采用随机抽样一致算法(RANdom SAmple Consensus,RANSAC)将上述无效的描述子匹配过滤掉。
403、根据所述匹配的关键点,查询所述地点数据库,获取所述匹配的关键点的三维点坐标;
同上上述步骤确定的有效描述子之间的匹配组合,可以在其他关键帧图像和匹配的关键帧图像的局部特征的关键点中,选择出与第一图像局部特征中的关键点匹配的关键点。因此,可以根据匹配的关键点,查询上述建立的地点数据库中,获取匹配的关键点的三维点坐标,多个匹配的关键点的三维点组成三维点云。
404、根据所述匹配的关键点的三维点坐标确定所述第一图像的定位信息。
例如,可以采用3D/2D匹配位姿算法(例如EpnP算法+RANSAC算法),根据所述匹配的关键点的三维点坐标确定所述第一图像的位置和/或姿态信息,其中,EpnP算法和RANSAC算法是现有的算法,本发明对此不做赘述。
本发明实施例采用深度神经网络预先构建地点数据库,地点数据库中的关键帧图像的全部特征和局部特征都是利用深度神经网络深度学习得到的,由于在深度神经网络学习中,假设关键帧图像局部特征的描述子存在一定程度光线的变化性,因此,当光线变化较大时,尽管第一图像局部特征的描述子有发生较大变化,也能在地点数据库中准确匹配到关键帧图像(也就是说,能准确的重定位地点),因此,本申请的关键点匹配时不容易受到光照影响,大大提高了第一图像的定位信息(位置和/或姿态信息)。
下面通过机器人视觉重定位系统的应用场景对本申请的数据处理方法的具体实现方式进行详细的说明,图5本发明一实施例提供的重定位方法的流程框图,图6本发明一实施例提供重定位方法的原理框图,如图所示,包括离线过程和在线过程,其中,在线过程,即机器人实时运行视觉重定位系统的计算过程;离线过程是预先对在线过程的数据准备,即离线建图和地点数据库的生成。需要说明的是,在线过程和离线过程中都使用深度神经网络对采集的图像进行深度学习。
离线过程:首先根据机器人运行的路线,轨迹,环境,以10fps的速率采集机器人运行轨迹中环境周边的图像,需尽可能覆盖机器人可能到达的所有地点。采集成功后,使用SLAM系统进行建图和地点数据库的构建,例如使用开源系统Maplab进行建图和地点数据库的构建,建图完成后,可以从地点数据库中获得关键帧图像和每张关键帧图像对应的位置和姿态信息(简称位姿信息),其中,关键帧图像为机器人在运行轨迹中拍摄的图像中与位置存在和定位相关的图像。之后,利用深度神经网络分别提取每张关键帧图像的局部特征和全局特征,以一一对应的关系存入地点数据库。同时,利用提取好的关键帧图像深度学习的局部特征和位姿信息,可以三角化出关键帧图像上的关键点对应的真实世界中三维点的坐标。所有的三维点组成三维点云,每个关键点的三维点都至少有两个二维深度学习特征与该三维点对应。
在线过程:首先获取机器人当前拍摄到的图像,称为在线查询图,利用深度神经网络分别对在线查询图深度学习得到全局特征和深局部特征。利用在线查询图的全局特征,在地点数据库中和所有离线建图时采集的关键帧图像的全局特征进行比对相似度,进行搜索,最终获取和在线查询图(当前地点)最相似的一个关键帧图像。如果该关键帧图像的相似度满足一定的阈值,则认为机器人在离线地图中,否则机器人原地旋转30度继续搜索,如果旋转一周都没有搜索到,则认为机器人没有在离线地图当中并告警。
当确定机器人在离线地图中,需要重新进行视觉定位,即计算机器人的位置和姿态信息。具体地,查询地点数据库,获取搜索到的离线关键帧图像以及与该离线关键帧图像距离最接近的6个其他离线关键帧图像,并获取与上述关键帧图像(即7个关键帧图像)相关的三维点云坐标,因为离线构建的地点数据库中有每个关键帧图像中的关键的三维点坐标,因此可以获取上述搜索出的7个关键帧图像的三维点云坐标。之后,将在线查询图的局部特征和上述7个关键帧图像中每个关键帧图像的局部特征之间进行一一匹配,利用深度学习局部特征计算所有深度学习特征描述子的欧式距离,例如,采用Brute-Force+RANSAC估计基础矩阵的算法,最终准确获得与在线查询图的局部特征的每个关键点匹配的关键点,通过查询地点数据库,获取匹配的关键点对应的三维坐标,然后,再利用EPnP+RANSAC算法,即可求的当前机器人的位置和姿态。
采用本申请的定位方法实现机器人视觉重定位,在线地点搜索结果对光线变化具有较好的鲁棒性。在测试中,选取光线变化的序列进行测试:使用图像序列2012-01-08进行建图,使用图像序列2012-02-19,2013-02-23和2012-08-20进行测试。规定检索到的图像所在位置若与正确位置之间的差距小于0.5米,则认为是一次正确的检测,结果返回得分最高的K个结果,Recall表示得分最高的K个结果中有一个是正确结果的测试样本占总测试样本的比例。图7展示了测试结果K从1到100的结果对比图,可以看出基于深度学习全局特征的地点搜索在光线变化时会有更好的搜索效果。同时本文给出几个本方案优于传统局部特征方案的例子如下图。
本申请在深度神经网络学习中,假设关键帧图像局部特征的描述子存在一定程度光线的变化性,因此,当光线变化较大时,尽管第一图像局部特征的描述子有发生较大变化,也能在地点数据库中准确匹配到关键帧图像,即特征匹配更准确,检索定位更好。图8为传统局部特征SIFT和本申请定位方法在光照变化场景下匹配的鲁棒性的对比示意图,可以看到在光线变化较大时,本申请的定位方法依旧能够获得较多准确的特征匹配,如图所示的验证定位精度,横轴为定位误差范围,包括两个维度,一个是定位的位置与真实位置的距离,单位是米,另一个是相机朝向的夹角,单位是度,纵轴表示定位误差小于该误差范围的样本的比例。可以看出本申请在不同误差范围内均明显优于基于传统局部特征的定位方法,定位精度达到0.5米15度的样本超过57%,基于SIFT的方法只有不到48%。
图9本发明一实施例提供的数据处理装置结构示意图,如图9所示,包括:
获取模块,获取第一图像;
其中,第一图像可以是机器人当前拍摄的图像;举例来说,当机器人在运行时,为了重新定位机器人当前的位置,机器人上的摄像机可以拍摄采集周围环境图像(即机器人当前拍摄到的图像)。
学习模块,用于基于机器学习,对所述第一图像进行处理,得到所述第一图像的全局特征和局部特征;
确定模块,用于根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像;
所述确定模块,还用于根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息。
可选地,本发明所述装置还包括:
采集模块,用于在采集的运行轨迹周围环境的图像中确定多个关键帧图像以及每个关键帧图像的定位信息;
所述学习模块,还用于利用机器学习对所述多个关键帧图像进行深度学习,得到每个关键帧图像的全局特征和局部特征;
所述确定模块,还用于根据每个关键帧图像的局部特征以及定位信息,确定每个关键帧图像上的关键点以及所述关键点的三维点坐标;
建立模块,用于建立每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系;将所述映射关系保存到地点数据库中。
可选地,所述确定模块具体还用于:
将所述第一图像的全局特征和所述地点数据库中所有的关键帧图像的全局特征进行相似度比较,确定最大相似度的关键帧图像,且所述最大相似度大于预设的相似度阈值,则确定所述最大相似度的关键帧图像为匹配的关键帧图像。
可选地,所述确定模块具体还用于:
根据所述匹配的关键帧图像,在所述地点数据库中,确定其他关键帧图像,所述其他关键帧图像与所述匹配的关键帧图像之间的距离小于预设距离阈值。
可选地,所述确定模块具体还用于:
将所述第一图像的局部特征中的每个关键点分别与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中的所有关键点进行匹配;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点;
根据所述匹配的关键点,查询所述地点数据库,获取所述匹配的关键点的三维点坐标;
根据所述匹配的关键点的三维点坐标确定所述第一图像的定位信息。
可选地,所述确定模块具体还用于:
确定所述第一图像的局部特征中的每个关键点对应的描述子,以及确定所述其他关键帧图像与所述匹配的关键帧图像的局部特征中每个关键点对应的描述子;
分别计算所述第一图像的局部特征中的每个描述子与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有描述子之间的距离;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有的描述子中,确定与所述第一图像的局部特征中的每个描述子距离最近的描述子;
将每个距离最近的描述子对应的关键点确定为与所述第一图像的局部特征中的对应描述子的关键点匹配的关键点。
其中,所述机器学习包括深度学习;
所述定位信息包括位置和/或姿态信息;
所述第一图像包括当前拍摄图像;
所述局部特征包括深度学习局部特征,表示通过深度学习算法确定的图像中与定位信息相关的关键点和描述子;
所述全局特征包括深度学习全局特征,是指通过深度学习算法生成的代表图像定位信息的向量。
本实施例所示装置可以执行上述图2-5所示方法实施例,其实现原理和技术效果不再赘述。
图10为本发明实施例提供的服务器的结构示意图,如图10所示,包括:
存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述通信组件耦合,用于执行计算机程序,以用于执行上述图2-5所示方法实施例所示方法所述的步骤或操作。
进一步,如图10所示,服务器还包括:显示器、电源组件、音频组件等其它组件。图10中仅示意性给出部分组件,并不意味着服务器只包括图10所示组件。
本实施例所示服务器可以执行上述图2-5所示方法实施例,其实现原理和技术效果不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被计算机执行时能够实现上述图2-5所示方法实施例中与服务器相关的步骤或操作,在此不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取第一图像;
基于机器学习,对所述第一图像进行处理,得到所述第一图像的全局特征和局部特征;
根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像,其中,所述地点数据库已保存每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系,所述地点数据库中已保存的关键帧图像的全局特征、局部特征是采用深度神经网络对该关键帧图像进行深度学习得到的;
根据所述关键帧图像和所述第一图像的局部特征,确定所述第一图像对应的定位信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
在采集的运行轨迹周围环境的图像中确定多个关键帧图像以及每个关键帧图像的定位信息;
利用机器学习对所述多个关键帧图像进行深度学习,得到每个关键帧图像的全局特征和局部特征;
根据每个关键帧图像的局部特征以及定位信息,确定每个关键帧图像上的关键点以及所述关键点的三维点坐标;
建立每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系;
将所述映射关系保存到地点数据库中。
3.根据权利要求2所述的方法,其特征在于,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像,包括:
将所述第一图像的全局特征和所述地点数据库中所有的关键帧图像的全局特征进行相似度比较,确定最大相似度的关键帧图像,且所述最大相似度大于预设的相似度阈值,则确定所述最大相似度的关键帧图像为匹配的关键帧图像。
4.根据权利要求3所述的方法,其特征在于,还包括:
根据所述匹配的关键帧图像,在所述地点数据库中,确定其他关键帧图像,所述其他关键帧图像与所述匹配的关键帧图像之间的距离小于预设距离阈值。
5.根据权利要求4所述的方法,其特征在于,根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息,包括:
将所述第一图像的局部特征中的每个关键点分别与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中的所有关键点进行匹配;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点;
根据所述匹配的关键点,查询所述地点数据库,获取所述匹配的关键点的三维点坐标;
根据所述匹配的关键点的三维点坐标确定所述第一图像的定位信息。
6.根据权利要求5所述的方法,其特征在于,在所述其他关键帧图像与所述匹配的关键帧图像的局部特征的所有关键点中确定与所述第一图像的局部特征中的每个关键点匹配的关键点,包括:
确定所述第一图像的局部特征中的每个关键点对应的描述子,以及确定所述其他关键帧图像与所述匹配的关键帧图像的局部特征中每个关键点对应的描述子;
分别计算所述第一图像的局部特征中的每个描述子与所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有描述子之间的距离;
在所述其他关键帧图像与所述匹配的关键帧图像的局部特征中所有的描述子中,确定与所述第一图像的局部特征中的每个描述子距离最近的描述子;
将每个距离最近的描述子对应的关键点确定为与所述第一图像的局部特征中的对应描述子的关键点匹配的关键点。
7.根据权利要求1所述的方法,其特征在于:
所述机器学习包括深度学习;
所述定位信息包括位置和/或姿态信息;
所述第一图像包括当前拍摄图像;
所述局部特征包括深度学习局部特征,表示通过深度学习算法确定的图像中与定位信息相关的关键点和描述子;
所述全局特征包括深度学习全局特征,是指通过深度学习算法生成的代表图像定位信息的向量。
8.一种数据处理装置,其特征在于,包括:
获取模块,获取第一图像;
学习模块,用于基于机器学习,对所述第一图像进行处理,得到所述第一图像的全局特征和局部特征;
确定模块,用于根据所述第一图像的全局特征,查询地点数据库,在所述地点数据库中确定与所述第一图像的全局特征匹配的关键帧图像,其中,所述地点数据库已保存每个关键帧图像的全局特征、局部特征、定位信息、关键点、以及关键点的三维点坐标之间的映射关系,所述地点数据库中已保存的关键帧图像的全局特征、局部特征是采用深度神经网络对该关键帧图像进行深度学习得到的;
所述确定模块,还用于根据所述关键帧图像和所述第一图像的局部特征确定所述第一图像的定位信息。
9.一种服务器,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述通信组件耦合,用于执行计算机程序,以用于执行权利要求1-7中任一项所述的方法所述的步骤或操作。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被计算机执行时能够实现如权利要求1-7中任一项方法所述的步骤或操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203827.5A CN111724438B (zh) | 2019-03-18 | 2019-03-18 | 一种数据处理方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203827.5A CN111724438B (zh) | 2019-03-18 | 2019-03-18 | 一种数据处理方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111724438A CN111724438A (zh) | 2020-09-29 |
CN111724438B true CN111724438B (zh) | 2024-04-02 |
Family
ID=72563086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910203827.5A Active CN111724438B (zh) | 2019-03-18 | 2019-03-18 | 一种数据处理方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111724438B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592015B (zh) * | 2021-08-06 | 2022-09-27 | 北京百度网讯科技有限公司 | 定位以及训练特征匹配网络的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530881A (zh) * | 2013-10-16 | 2014-01-22 | 北京理工大学 | 适用于移动终端的户外增强现实无标志点跟踪注册方法 |
WO2016062159A1 (zh) * | 2014-10-20 | 2016-04-28 | 网易(杭州)网络有限公司 | 图像匹配方法及手机应用测试平台 |
CN105828296A (zh) * | 2016-05-25 | 2016-08-03 | 武汉域讯科技有限公司 | 一种利用图像匹配与wi-fi融合的室内定位方法 |
CN108830220A (zh) * | 2018-06-15 | 2018-11-16 | 山东大学 | 基于深度学习的视觉语义库构建及全局定位方法 |
-
2019
- 2019-03-18 CN CN201910203827.5A patent/CN111724438B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530881A (zh) * | 2013-10-16 | 2014-01-22 | 北京理工大学 | 适用于移动终端的户外增强现实无标志点跟踪注册方法 |
WO2016062159A1 (zh) * | 2014-10-20 | 2016-04-28 | 网易(杭州)网络有限公司 | 图像匹配方法及手机应用测试平台 |
CN105828296A (zh) * | 2016-05-25 | 2016-08-03 | 武汉域讯科技有限公司 | 一种利用图像匹配与wi-fi融合的室内定位方法 |
CN108830220A (zh) * | 2018-06-15 | 2018-11-16 | 山东大学 | 基于深度学习的视觉语义库构建及全局定位方法 |
Non-Patent Citations (2)
Title |
---|
武克南 ; 王丽萍 ; .一种基于不变特征的图像识别算法研究.甘肃科技.2009,(09),全文. * |
牛小宁 ; 刘宏哲 ; 袁家政 ; 宣寒宇 ; .基于Inliers跟踪统计的RGB-D室内定位与地图构建.计算机工程.2017,(09),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111724438A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652934B (zh) | 定位方法及地图构建方法、装置、设备、存储介质 | |
CN107742311B (zh) | 一种视觉定位的方法及装置 | |
CN111795704B (zh) | 一种视觉点云地图的构建方法、装置 | |
Wang et al. | Omnidirectional cnn for visual place recognition and navigation | |
WO2020259481A1 (zh) | 定位方法及装置、电子设备、可读存储介质 | |
CN106092104B (zh) | 一种室内机器人的重定位方法及装置 | |
Kendall et al. | Posenet: A convolutional network for real-time 6-dof camera relocalization | |
CN113537208A (zh) | 一种基于语义orb-slam技术的视觉定位方法及系统 | |
CN108051002A (zh) | 基于惯性测量辅助视觉的运输车空间定位方法及系统 | |
CN110717927A (zh) | 基于深度学习和视惯融合的室内机器人运动估计方法 | |
CN103177269A (zh) | 用于估计对象姿态的设备和方法 | |
Cummins et al. | Fab-map: Appearance-based place recognition and mapping using a learned visual vocabulary model | |
CN108364302B (zh) | 一种无标记的增强现实多目标注册跟踪方法 | |
CN108805149A (zh) | 一种视觉同步定位与地图构建的回环检测方法及装置 | |
CN111998862B (zh) | 一种基于bnn的稠密双目slam方法 | |
CN108537844A (zh) | 一种融合几何信息的视觉slam回环检测方法 | |
Mishkin et al. | Place recognition with WxBS retrieval | |
Lin et al. | Keypoint-based category-level object pose tracking from an RGB sequence with uncertainty estimation | |
CN112489119A (zh) | 一种增强可靠性的单目视觉定位方法 | |
Alcantarilla et al. | Learning visibility of landmarks for vision-based localization | |
Li et al. | Sparse-to-local-dense matching for geometry-guided correspondence estimation | |
CN111724438B (zh) | 一种数据处理方法、装置 | |
CN112200917B (zh) | 一种高精度增强现实方法及系统 | |
Ding et al. | Stereo vision SLAM-based 3D reconstruction on UAV development platforms | |
Sui et al. | An accurate indoor localization approach using cellphone camera |
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 |