CN112149481A - 一种识别方法、终端及计算机存储介质 - Google Patents
一种识别方法、终端及计算机存储介质 Download PDFInfo
- Publication number
- CN112149481A CN112149481A CN201910580612.5A CN201910580612A CN112149481A CN 112149481 A CN112149481 A CN 112149481A CN 201910580612 A CN201910580612 A CN 201910580612A CN 112149481 A CN112149481 A CN 112149481A
- Authority
- CN
- China
- Prior art keywords
- key frame
- key
- frame
- words
- map file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种识别方法,该方法包括:接收待识别图像帧,将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果,当匹配结果为与待识别图像帧相匹配的关键帧标识时,根据关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出关键帧的位置信息,将关键帧的位置信息识别为待识别图像帧的位置信息;本申请实施例还同时提供了一种终端及计算机存储介质。
Description
技术领域
本申请涉及图片的定位技术,尤其涉及一种识别方法、终端及计算机存储介质。
背景技术
目前,同步定位与建图(SLAM,Simultaneous Localization and Mapping)系统实现重定位/回环检测的方式主要包括在运行SLAM系统时,建立关键帧(Keyframe)数据库和词袋模型(BOW,Bag of Words)数据库,那么,当有一帧新的Keyframe进入时,通过对Keyframe数据库和BOW数据库进行检索,来判断当前图片(地点)是否在之前出现过。
然而,在SLAM系统中,在每次进行重定位/回环检测时,都需要建立Keyframe数据库和BOW数据库,这样,针对接收到的图片时,可以通过建立好的Keyframe数据库和BOW数据库对图片进行识别,以确认该图片所处的位置,然而,在实际应用中,在SLAM系统中继续拧图片识别之前,必须建立好Keyframe数据库和BOW数据库,这样,会影响SLAM系统图片识别的效率;由此可以看出,现有的在SLAM系统进行图片识别时存在效率低下的技术问题。
发明内容
本申请实施例提供一种识别方法、终端及计算机存储介质,能够提高SLAM系统中对图片识别的效率。
本申请的技术方案是这样实现的:
本申请实施例提供了一种识别方法,所述方法包括:
接收待识别图像帧;
将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
当所述匹配结果为与所述待识别图像帧相匹配的关键帧标识时,根据所述关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出所述关键帧的位置信息;
将所述关键帧的位置信息识别为所述待识别图像帧的位置信息。
在上述方法中,在将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果之后,所述方法还包括:
当所述匹配结果不是与所述待识别图像帧相匹配的关键帧标识时,确定所述待识别图像帧不属于所述离线地图文件中的所记录的关键帧。
在上述方法中,在接收待识别图像之前,所述方法还包括:
获取所述离线地图的关键帧;
对所述关键帧进行特征提取,得到所述关键帧的特征单词,用所述关键帧的特征单词构建所述词袋模型数据库;
将所述词袋模型数据库存储至所述离线地图文件中;其中,所述词袋模型数据库的单词是以单词树的形式进行存储的。
在上述方法中,在接收待识别图像帧之前,所述方法还包括:
获取所述离线地图的关键帧;
确定所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位置信息,以及所述关键帧的位姿信息;
对所述关键帧进行特征提取,得到所述关键帧的特征点,并计算所述特征点对应的所述关键帧的特征描述子;
用所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位姿信息,所述关键帧的特征点,所述关键帧的特征描述子构建所述关键帧的信息;
获取所述关键帧在所述词袋模型数据库的单词树中的评分,得到所述关键帧的评分;
用所述关键帧的信息和所述关键帧的评分构建所述关键帧数据库;
将所述关键帧数据库存储至所述离线地图文件中。
在上述方法中,当在存储所述关键帧的特征描述子时,所述将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至所述离线地图文件中。
在上述方法中,当在存储所述关键帧的特征描述子时,所述将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中32个特征描述子用一个整数的形式存储至所述离线地图文件中。
在上述方法中,所述将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果,包括:
提取出所述待识别图像帧的特征单词;
从所述词袋模型数据库中获取与所述特征单词相匹配的单词,并输出所述相匹配的单词对应的关键帧的标识,将所述关键帧的标识确定为所述匹配结果;
其中,所述相匹配的单词为与所述特征单词的相似度值大于等于预设阈值的单词。
本申请实施例提供了一种终端,所述终端包括:
接收模块,用于接收待识别图像帧;
匹配模块,用于将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
确定模块,用于当所述匹配结果为与所述待识别图像帧相匹配的关键帧标识时,根据所述关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出所述关键帧的位置信息;
识别模块,用于将所述关键帧的位置信息识别为所述待识别图像帧的位置信息。
在上述终端中,上述终端还用于:
在将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果之后,当所述匹配结果不是与所述待识别图像帧相匹配的关键帧标识时,确定所述待识别图像帧不属于所述离线地图文件中的所记录的关键帧。
在上述终端中,上述终端还包括存储模块,用于:
在接收待识别图像之前,获取所述离线地图的关键帧;
对所述关键帧进行特征提取,得到所述关键帧的特征单词,用所述关键帧的特征单词构建所述词袋模型数据库;
将所述词袋模型数据库存储至所述离线地图文件中;其中,所述词袋模型数据库的单词是以单词树的形式进行存储的。
在上述终端中,上述终端还包括存储模块,用于:
在接收待识别图像帧之前,获取所述离线地图的关键帧;
确定所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位置信息,以及所述关键帧的位姿信息;
对所述关键帧进行特征提取,得到所述关键帧的特征点,并计算所述特征点对应的所述关键帧的特征描述子;
用所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位姿信息,所述关键帧的特征点,所述关键帧的特征描述子构建所述关键帧的信息;
获取所述关键帧在所述词袋模型数据库的单词树中的评分,得到所述关键帧的评分;
用所述关键帧的信息和所述关键帧的评分构建所述关键帧数据库;
将所述关键帧数据库存储至所述离线地图文件中。
在上述终端中,当在存储所述关键帧的特征描述子时,所述存储模块将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至所述离线地图文件中。
在上述终端中,当在存储所述关键帧的特征描述子时,所述存储模块将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中32个特征描述子用一个整数的形式存储至所述离线地图文件中。
在上述终端中,所述匹配模块,具体用于:
提取出所述待识别图像帧的特征单词;
从所述词袋模型数据库中获取与所述特征单词相匹配的单词,并输出所述相匹配的单词对应的关键帧的标识,将所述关键帧的标识确定为所述匹配结果;
其中,所述相匹配的单词为与所述特征单词的相似度值大于等于预设阈值的单词。
本申请实施例还提供了一种终端,所述终端包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述识别方法。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述识别方法。
本申请实施例提供了一种识别方法、终端及计算机存储介质,该方法包括:接收待识别图像帧,将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果,当匹配结果为与待识别图像帧相匹配的关键帧标识时,根据关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出关键帧的位置信息,将关键帧的位置信息识别为待识别图像帧的位置信息;也就是说,在本申请实施例中,通过预先存储的离线地图文件,可以对待识别图像帧进行识别,从而从离线地图文件的词袋模型数据库和关键帧数据库中可以识别出待识别图像帧的位置信息,如此,在使用图像识别时,不需要每次在运行SLAM系统时先建立词袋模型数据库和关键帧数据库所耗费的时间和任务量,而是在预先就存储有包括词袋模型数据库和关键帧数据库的离线地图文件,那么,当接收到待识别图像帧,可以利用离线地图文件中存储的数据库对图像帧进行识别,从而提高了SLAM系统中识别图片的效率,提高了用户体验度。
附图说明
图1为本申请实施例提供的一种可选的识别方法的流程示意图;
图2为SLAM系统建立地图数据库的流程示意图;
图3为SLAM系统进行图片重定位的流程示意图;
图4为本申请实施例提供的一种可选的离线地图文件的组成部分的排布示意图;
图5为本申请实施例提供的一种可选的识别方法的实例的流程示意图;
图6A为采用本申请实施例提供的离线地图文件的一种可选的测试效果示意图;
图6B为采用本申请实施例提供的离线地图文件的另一种可选的测试效果示意图;
图6C为采用本申请实施例提供的离线地图文件的再一种可选的测试效果示意图;
图6D为采用本申请实施例提供的离线地图文件的又一种可选的测试效果示意图;
图7为本申请实施例提供的一种终端的结构示意图一;
图8为本申请实施例提供的一种终端的结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
本申请实施例提供了一种识别方法,该方法应用于一终端中,图1为本申请实施例提供的一种可选的识别方法的流程示意图,参考图1所示,该识别方法可以包括:
S101:接收待识别图像帧;
目前,在SLAM系统中,图2为SLAM系统建立地图数据库的流程示意图,如图2所示,该方法可以包括:
S201:SLAM系统运行时,SLAM系统先从获取到的图像中提取出关键帧;
S202:SLAM系统将提取出的关键帧加载至关键帧数据库中,以建立关键帧数据库;
S203:SLAM系统将关键帧转换至词袋模型的向量;
S204:SLAM系统将该词袋模型的向量加载至词袋模型数据库中,以建立词袋模型数据库。
这样,在建立好关键帧数据库和词袋模型数据库之后,用关键帧数据库和词袋模型数据库建立地图数据库。
图3为SLAM系统进行图片重定位的流程示意图,如图3所示,该方法可以包括:
S301:SLAM系统获取关键帧,对该关键帧进行查询;
S302:SLAM系统提取该关键帧的特征点,并计算特征点的特征描述子;
S303:SLAM系统将该关键帧转换至词袋模型的向量;
S304:SLAM系统在词袋模型数据库中对该关键帧的词袋模型的向量进行查询;
S305:SLAM系统在词袋模型数据库中查找到该关键帧的词袋模型的向量,得到该向量对应的关键帧的标识;
S306:SLAM系统发送该关键帧的标识至关键帧数据库;
S307:SLAM系统根据关键帧的标识在关键帧数据库中进行查询;
S308:SLAM系统通过查询在3维空间中找到该标识对应的位置;
S309:SLAM系统返回该位置信息。
这样,便可以识别出图片的位置。
显然,在对图片进行识别的过程中,SLAM系统首先要建立词袋模型数据库和关键帧数据库,以保证在图片识别时能够基于词袋模型数据库和关键帧数据库识别出图片的位置信息,但是,建立词袋模型数据库和关键帧数据库需要较长时间和较大的工作量,这样,影响图片的识别效率。
为了提高图片的识别效率,这里,首先,接收待识别的图像帧,根据预先存储好的离线地图文件来识别待识别的图像帧,而不是先建立词袋模型数据库和关键帧数据库,然后在对图片进行识别,节省了时间和缩小了工作量,从而提高了图片的识别效率,提高用户体验度。
S102:将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
为了实现对待识别图像帧的识别,这里,先将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库中,其中,该词袋模型数据库用于对该待识别图像帧进行匹配,当匹配成功,得到与该待识别图像帧相匹配的关键帧的标识,当匹配识别,不能得到与该待识别图像帧相匹配的关键帧的标识。
为了得到与该待识别图像帧相匹配的关键帧的标识,在一种可选的实施例中,S102可以包括:
提取出待识别图像帧的特征单词;
从词袋模型数据库中获取与特征单词相匹配的单词,并输出相匹配的单词对应的关键帧的标识,将关键帧的标识确定为匹配结果;
其中,相匹配的单词为与特征单词的相似度值大于等于预设阈值的单词。
这里,在进行匹配时,首先,提取出待识别图像帧的特征单词,然后用待识别图像帧的特征单词与词袋模型数据库中的单词进行相似度的计算,这里的相似度计算可以采用word2vec算法来计算相似度,还可以采用余弦相似度算法来计算相似度值,这里,本申请实施例不作具体限定。
在计算得到特征单词与词袋模型中的单词的相似度之后,然后,从词袋模型数据库中,选取出相似度值大于等于预设阈值的单词作为与特征单词相匹配的单词,由于在词袋模型数据库中,单词对应有关键帧的标识,那么,在得到相匹配的单词之后,可以确定出相匹配的单词对应的关键帧的标识,并将关键帧的标识作为匹配结果输出。
这样,便可以从词袋模型数据库中找出与待识别图像帧相匹配的关键帧,以方便根据关键帧的标识识别出待识别图像帧的位置信息。
需要说明的是,在将待识别图像帧输入至词袋模型数据库中后,有可能在词袋模型中找到相匹配的关键帧,也有可能找不到相匹配的关键帧,针对找不到相匹配的关键帧的情况来说,在一种可选的实施例中,在S102之后,该方法还可以包括:
当匹配结果不是与待识别图像帧相匹配的关键帧标识时,确定待识别图像帧不属于离线地图文件中的所记录的关键帧。
也就是说,将待识别图像帧输入至词袋模型数据库中,将待识别图像帧的特征单词与词袋模型数据库中的单词进行相似度计算,并没有从词袋模型数据库中找到相似度值大于等于预设阈值的单词,那么,得到的匹配结果不是与待识别图像帧相匹配的关键帧的标识,说明此时在词袋模型数据库中匹配失败,也就是说,该待识别图像帧不属于离线地图文件中所记录的关键帧。
S103:当匹配结果为与待识别图像帧相匹配的关键帧标识时,根据关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出关键帧的位置信息;
在S102中,通过预先存储的离线地图文件中的词袋模型数据库对待识别图像帧进行匹配,可以输出得到与待识别图像帧相匹配的关键帧的标识,由于在预先存储的离线地图文件中还存储有关键帧数据库,关键帧数据库中记录有关键帧的标识,关键帧的编号,关键帧的时间戳,关键帧的位置信息,关键帧的位姿信息,关键帧的特征点,以及关键帧的特征描述子等信息,所以,在获取到关键帧的标识之后,可以得到关键帧的位置信息。
S104:将关键帧的位置信息识别为待识别图像帧的位置信息。
最后,将关键帧的位置信息可以识别为待识别图像帧的位置信息,以识别出该待识别图像帧的位置信息。
为了得到预先存储的离线地图文件,在一种可选的实施例中,在S101之前,所述方法还包括:
获取离线地图的关键帧;
对关键帧进行特征提取,得到关键帧的特征单词,用关键帧的特征单词构建词袋模型数据库;
将词袋模型数据库存储至离线地图文件中;其中,词袋模型数据库的单词是以单词树的形式进行存储的。
也就是说,在对待识别图像帧进行识别之前,先存储离线地图文件,具体来说,需要先确定出离线地图文件,然后进行存储。
在确定离线地图文件中,首先,获取离线地图的关键帧,也就是说,先接受离线地图的图像帧,基于离线地图的图像帧获取离线地图的关键帧,然后在对离线地图的关键帧进行特征提取,得到关键帧的特征单词,并用关键帧的特征查单词构建出词袋模型数据库,最后,将词袋模型数据库以单词树的形式存储至离线地图文件中,这样,离线地图文件中包含有词袋模型数据库,能够方便对待识别图像帧进行识别。
为了得到预先存储的离线地图文件,在一种可选的实施例中,在S101之前,所述方法还包括:
获取离线地图的关键帧;
确定关键帧的标识,关键帧的时间戳,关键帧的位置信息,以及关键帧的位姿信息;
对关键帧进行特征提取,得到关键帧的特征点,并计算特征点对应的关键帧的特征描述子;
用关键帧的标识,关键帧的时间戳,关键帧的位姿信息,关键帧的特征点,关键帧的特征描述子构建关键帧的信息;
获取关键帧在词袋模型数据库中的单词树中的评分,得到关键帧的评分;
用关键帧的信息和关键帧的评分构建关键帧数据库;
将关键帧数据库存储至离线地图文件中。
在确定离线地图文件中,首先,获取离线地图的关键帧,也就是说,先接受离线地图的图像帧,基于离线地图的图像帧获取离线地图的关键帧,然后确定用于对关键帧进行识别的关键帧的标识,还有建立关键帧的时间戳,记录关键帧的位置信息,并确定关键帧的位姿信息等等。
另外,在对关键帧进行特征提取,得到关键帧的特征点,基于关键帧的特征点可以计算出关键帧的特征描述子,从而用关键帧的标识,关键帧的时间戳,关键帧的位姿信息,关键帧的特征点,关键帧的特征描述子构建关键帧的信息。
并且,在形成词袋模型数据库和关键帧的信息之后,可以确定出每一个关键帧在词袋模型数据库的单词树中的评分,从而得到关键帧的评分。
最后,用关键帧的信息和关键帧的评分构建关键帧数据库,并将关键帧数据库存储至离线地图文件中。
这样,可以将词袋模型数据库和关键帧数据库一起合并存储至离线地图文件中,从而可以根据预先存储的离线地图文件就可以实现对待识别图像帧的识别。
举例来说,图4为本申请实施例提供的一种可选的离线地图文件的组成部分的排布示意图,如图4所示,离线地图文件可以包括以下4个部分:
(1)关键帧的信息:每一个关键帧的信息,包括关键帧的编号,关键帧的时间戳,关键帧的位姿,关键帧的位置信息(图4中未示出),关键帧的特征点,关键帧的特征描述子等等,其中,关键帧的特征点可以包括特征点的二维坐标,三维坐标;
(2)词袋模型的单词树(Vocabulary Tree):一个用于图像匹配的词袋模型的单词树;
(3)关键帧的评分:每一个关键帧在单词树中的评分;
(4)词袋模型的单词训练文件(相当于单词库):另外一个单独的配置文件单词库。
因此,想要启动一个离线地图的方案,需要同时将这四个文件加载进来,在实际应用中,可以将上述4个部分信息整合在一起合并储存。
图5为本申请实施例提供的一种可选的识别方法的实例的流程示意图,如图5所示,关键帧的信息和关键帧的评分通过身份标识(ID,IDentity)号将关键帧一一对应起来,当有一个新的关键帧(成为当前帧)被跟踪到时,词袋模型数据库进行快速查找,查找到数据库里与该关键帧最匹配的一帧,并将匹配到的ID号传给关键帧数据库,关键帧数据库根据ID号查找到匹配帧,并将匹配帧的详细信息与当前帧进行比对,识别得到当前帧的位置信息。
为了缩小离线地图文件所占用的存储空间,在一种可选的实施例中,当在存储关键帧的特征描述子时,将关键帧数据库存储至离线地图文件中,包括:
将关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至离线地图文件中。
在实际应用中,通常每一位特征描述子作为一个整数存储会占据4个字节,也就是说32个比特位,为了缩小离线地图文件所占用的存储空间,可以此阿勇压缩存储的方式来存储特征描述子,这里,可以将原有的存储方式修改为,将关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至离线地图文件中,这样缩小了特征描述子所占用的存储空间。
进一步地,为了缩小离线地图文件所占用的存储空间,在一种可选的实施例中,当在存储关键帧的特征描述子时,将所述关键帧数据库存储至离线地图文件中,包括:
将关键帧的特征描述子中32个特征描述子用一个整数的形式存储至离线地图文件中。
这里,在实际应用中,本申请实施例中离线地图中占用内存最大的部分是特征点和其对应的特征描述子,特征描述子占用了存储空间大约90%的大小,因此,对特征描述子的存储进行优化,有助于实现快速的重定位和图片识别。
举例来说,通常采用2进制的BRIEF/ORB作为特征描述子,通常BRIEF/ORB特征描述子由256bit位构成,而如果每一位描述子作为一个整数存储会占据4个字节(4Byte=32bit),但是,作为二进制的特征描述子,一位描述子实际只需要1个bit即可存储,因此本申请实施例将32个特征描述子压缩成一个整数来存储的方式,从而实现了最大程度的压缩存储,能够尽可能地节省了存储空间;对应的压缩存储方式如下面表1所示:
表1
bit | 0…31 | 32…63 | 64…95 | 96…127 | 128…159 | 160…191 | 192…223 | 224…255 |
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
也就是说,通过上述对特征描述子的压缩存储和对词袋模型数据库和关键帧数据库的合并存储,提高了初始化文件保存和加载的时间,特征描述子压缩式存储节省了稀疏地图的空间,在实际应用中,对300张关键帧进行存储测试,测试结果为300张关键帧离线地图的大小是18MB,保存平均时间为20ms,加载平均时间为5ms,适合保存在手机移动端,由于本申请所提供的技术方案中,离线地图文件的结构具有尺寸小,效率高的特点,可以较好的落地在手机移动端,同时也可兼容PC端,图6A为采用本申请实施例提供的离线地图文件的一种可选的测试效果示意图,图6B为采用本申请实施例提供的离线地图文件的另一种可选的测试效果示意图,图6C为采用本申请实施例提供的离线地图文件的再一种可选的测试效果示意图,图6D为采用本申请实施例提供的离线地图文件的又一种可选的测试效果示意图,如图6A-图6B所示,通过测试得到,在室内环境下,离线地图文件可以高效的帮助用户识别当前的图片所处在的位置区域。
可见,基于压缩特征描述子的存储方式,节省了存储文件的空间,基于关键帧信息与词袋模型信息合并的存储方式,整合了多方面数据信息,仅通过一个配置文件将稀疏地图完整保存。
本申请实施例提供了一种识别方法,该方法包括:接收待识别图像帧,将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果,当匹配结果为与待识别图像帧相匹配的关键帧标识时,根据关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出关键帧的位置信息,将关键帧的位置信息识别为待识别图像帧的位置信息;也就是说,在本申请实施例中,通过预先存储的离线地图文件,可以对待识别图像帧进行识别,从而从离线地图文件的词袋模型数据库和关键帧数据库中可以识别出待识别图像帧的位置信息,如此,在使用图像识别时,不需要每次在运行SLAM系统时先建立词袋模型数据库和关键帧数据库所耗费的时间和任务量,而是在预先就存储有包括词袋模型数据库和关键帧数据库的离线地图文件,那么,当接收到待识别图像帧,可以利用离线地图文件中存储的数据库对图像帧进行识别,从而提高了SLAM系统中识别图片的效率,提高了用户体验度。
实施例二
图7为本申请实施例提供的一种终端的结构示意图一,如图7所示,本申请实施例提供了一种终端,该终端可以包括:
接收模块71,用于接收待识别图像帧;
匹配模块72,用于将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
确定模块73,用于当匹配结果为与待识别图像帧相匹配的关键帧标识时,根据关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出关键帧的位置信息;
识别模块74,用于将关键帧的位置信息识别为待识别图像帧的位置信息。
可选的,上述终端,还用于:
在将待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果之后,当匹配结果不是与待识别图像帧相匹配的关键帧标识时,确定待识别图像帧不属于离线地图文件中的所记录的关键帧。
可选的,上述终端,还包括存储模块,用于:
在接收待识别图像之前,获取离线地图的关键帧;
对关键帧进行特征提取,得到关键帧的特征单词,用关键帧的特征单词构建词袋模型数据库;
将词袋模型数据库存储至离线地图文件中;其中,词袋模型数据库的单词是以单词树的形式进行存储的。
可选的,上述终端,还包括存储模块,用于:
获取离线地图的关键帧;
确定关键帧的标识,关键帧的时间戳,关键帧的位置信息,以及关键帧的位姿信息;
对关键帧进行特征提取,得到关键帧的特征点,并计算特征点对应的关键帧的特征描述子;
用关键帧的标识,关键帧的时间戳,关键帧的位姿信息,关键帧的特征点,关键帧的特征描述子构建关键帧的信息;
获取关键帧在词袋模型数据库的单词树中的评分,得到关键帧的评分;
用关键帧的信息和关键帧的评分构建关键帧数据库;
将关键帧数据库存储至离线地图文件中。
可选的,当在存储关键帧的特征描述子时,存储模块将关键帧数据库存储至离线地图文件中,可以包括:
将关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至离线地图文件中。
可选的,当在存储所述关键帧的特征描述子时,存储模块将关键帧数据库存储至离线地图文件中,可以包括:
将关键帧的特征描述子中32个特征描述子用一个整数的形式存储至离线地图文件中。
可选的,上述匹配模块72,具体用于:
提取出待识别图像帧的特征单词;
从词袋模型数据库中获取与特征单词相匹配的单词,并输出相匹配的单词对应的关键帧的标识,将关键帧的标识确定为匹配结果;
其中,相匹配的单词为与特征单词的相似度值大于等于预设阈值的单词。
在实际应用中,上述接收模块71、匹配模块72、确定模块73、识别模块74和存储模块可由位于终端上的处理器实现,具体为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
图8为本申请实施例提供的一种终端的结构示意图二,如图8所示,本申请实施例提供了一种终端800,可以包括:
处理器81以及存储有所述处理器81可执行指令的存储介质82,所述存储介质82通过通信总线83依赖所述处理器81执行操作,当所述指令被所述处理器81执行时,执行上述实施例一所述的识别方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线83耦合在一起。可理解,通信总线83用于实现这些组件之间的连接通信。通信总线83除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为通信总线83。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行实施例一所述的识别方法。
其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic randomaccess memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (10)
1.一种识别方法,其特征在于,所述方法包括:
接收待识别图像帧;
将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
当所述匹配结果为与所述待识别图像帧相匹配的关键帧标识时,根据所述关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出所述关键帧的位置信息;
将所述关键帧的位置信息识别为所述待识别图像帧的位置信息。
2.根据权利要求1所述的方法,其特征在于,在将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果之后,所述方法还包括:
当所述匹配结果不是与所述待识别图像帧相匹配的关键帧标识时,确定所述待识别图像帧不属于所述离线地图文件中的所记录的关键帧。
3.根据权利要求1所述的方法,其特征在于,在接收待识别图像之前,所述方法还包括:
获取所述离线地图的关键帧;
对所述关键帧进行特征提取,得到所述关键帧的特征单词,用所述关键帧的特征单词构建所述词袋模型数据库;
将所述词袋模型数据库存储至所述离线地图文件中;其中,所述词袋模型数据库的单词是以单词树的形式进行存储的。
4.根据权利要求3所述的方法,其特征在于,在接收待识别图像帧之前,所述方法还包括:
获取所述离线地图的关键帧;
确定所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位置信息,以及所述关键帧的位姿信息;
对所述关键帧进行特征提取,得到所述关键帧的特征点,并计算所述特征点对应的所述关键帧的特征描述子;
用所述关键帧的标识,所述关键帧的时间戳,所述关键帧的位姿信息,所述关键帧的特征点,所述关键帧的特征描述子构建所述关键帧的信息;
获取所述关键帧在所述词袋模型数据库的单词树中的评分,得到所述关键帧的评分;
用所述关键帧的信息和所述关键帧的评分构建所述关键帧数据库;
将所述关键帧数据库存储至所述离线地图文件中。
5.根据权利要求4所述的方法,其特征在于,当在存储所述关键帧的特征描述子时,所述将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中至少两个特征描述子用一个整数的形式存储至所述离线地图文件中。
6.根据权利要求4或5所述的方法,其特征在于,当在存储所述关键帧的特征描述子时,所述将所述关键帧数据库存储至所述离线地图文件中,包括:
将所述关键帧的特征描述子中32个特征描述子用一个整数的形式存储至所述离线地图文件中。
7.根据权利要求3所述的方法,其特征在于,所述将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果,包括:
提取出所述待识别图像帧的特征单词;
从所述词袋模型数据库中获取与所述特征单词相匹配的单词,并输出所述相匹配的单词对应的关键帧的标识,将所述关键帧的标识确定为所述匹配结果;
其中,所述相匹配的单词为与所述特征单词的相似度值大于等于预设阈值的单词。
8.一种终端,其特征在于,所述终端包括:
接收模块,用于接收待识别图像帧;
匹配模块,用于将所述待识别图像帧输入至预先存储的离线地图文件的词袋模型数据库进行匹配,得到匹配结果;
确定模块,用于当所述匹配结果为与所述待识别图像帧相匹配的关键帧标识时,根据所述关键帧的标识,从预先存储的离线地图文件的关键帧数据库中,确定出所述关键帧的位置信息;
识别模块,用于将所述关键帧的位置信息识别为所述待识别图像帧的位置信息。
9.一种终端,其特征在于,所述终端包括:
处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至7任一项所述的识别方法。
10.一种计算机存储介质,其特征在于,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至7任一项所述的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580612.5A CN112149481A (zh) | 2019-06-28 | 2019-06-28 | 一种识别方法、终端及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580612.5A CN112149481A (zh) | 2019-06-28 | 2019-06-28 | 一种识别方法、终端及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112149481A true CN112149481A (zh) | 2020-12-29 |
Family
ID=73892043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580612.5A Pending CN112149481A (zh) | 2019-06-28 | 2019-06-28 | 一种识别方法、终端及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149481A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113358125A (zh) * | 2021-04-30 | 2021-09-07 | 西安交通大学 | 一种基于环境目标检测和环境目标地图的导航方法及系统 |
CN114353796A (zh) * | 2021-12-06 | 2022-04-15 | 煤炭科学技术研究院有限公司 | 一种室内定位方法、装置及电子设备 |
-
2019
- 2019-06-28 CN CN201910580612.5A patent/CN112149481A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113358125A (zh) * | 2021-04-30 | 2021-09-07 | 西安交通大学 | 一种基于环境目标检测和环境目标地图的导航方法及系统 |
CN114353796A (zh) * | 2021-12-06 | 2022-04-15 | 煤炭科学技术研究院有限公司 | 一种室内定位方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832406B (zh) | 海量日志数据的去重入库方法、装置、设备及存储介质 | |
CN110287688B (zh) | 关联账号分析方法、装置和计算机可读存储介质 | |
CN107967912B (zh) | 一种人声分割方法及装置 | |
CN111177438B (zh) | 图像特征值的搜索方法、装置、电子设备及存储介质 | |
US20180239986A1 (en) | Image Clustering Method, Image Clustering System, And Image Clustering Server | |
CN111310178B (zh) | 跨平台场景下的固件漏洞检测方法及系统 | |
US9519543B2 (en) | Method and apparatus for image search using feature point | |
CN112149481A (zh) | 一种识别方法、终端及计算机存储介质 | |
CN104462307A (zh) | 终端中对象的搜索方法和装置 | |
CN111260220B (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN104750872A (zh) | 一种业务对象的查询方法及装置 | |
US20220139085A1 (en) | Method and apparatus for video frame processing | |
CN104317850A (zh) | 数据处理方法和装置 | |
CN109697240B (zh) | 一种基于特征的图像检索方法及装置 | |
CN112231510B (zh) | 声纹存储方法、声纹查询方法、服务器及存储介质 | |
CN113268328A (zh) | 批处理方法、装置、计算机设备和存储介质 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN110874387B (zh) | 移动设备识别符共现关系稀疏图的构建方法及装置 | |
CN102622576A (zh) | 背景建模的方法和装置及检测视频中背景的方法和装置 | |
CN114758331A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN113609313A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN112329797A (zh) | 目标对象的检索方法、装置、服务器和存储介质 | |
CN112016466A (zh) | 人脸识别方法、系统、电子设备和计算机存储介质 | |
CN114116699A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN105721933A (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 |