CN112085788A - 回环检测方法、装置、计算机可读存储介质及移动装置 - Google Patents

回环检测方法、装置、计算机可读存储介质及移动装置 Download PDF

Info

Publication number
CN112085788A
CN112085788A CN202010766352.3A CN202010766352A CN112085788A CN 112085788 A CN112085788 A CN 112085788A CN 202010766352 A CN202010766352 A CN 202010766352A CN 112085788 A CN112085788 A CN 112085788A
Authority
CN
China
Prior art keywords
loop
loop detection
sub
thread
image
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.)
Granted
Application number
CN202010766352.3A
Other languages
English (en)
Other versions
CN112085788B (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.)
Ubicon Qingdao Technology Co ltd
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202010766352.3A priority Critical patent/CN112085788B/zh
Priority to US16/953,378 priority patent/US11423646B2/en
Publication of CN112085788A publication Critical patent/CN112085788A/zh
Application granted granted Critical
Publication of CN112085788B publication Critical patent/CN112085788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation 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/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Electromagnetism (AREA)
  • Image Analysis (AREA)

Abstract

本申请属于移动装置技术领域,尤其涉及一种回环检测方法、装置、计算机可读存储介质及移动装置。所述方法通过预设在移动装置上的C0个相机在不同的方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;分别计算所述图像数据组中各张图像的特征信息;在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。通过本申请,可以实现在多个检测方向上的交叉检测,突破了现有技术中回环检测对于路径方向的限制,避免了走过多的相同方向的重复路径,极大提升了建图效率。

Description

回环检测方法、装置、计算机可读存储介质及移动装置
技术领域
本申请属于移动装置技术领域,尤其涉及一种回环检测方法、装置、计算机可读存储介质及移动装置。
背景技术
在现有技术中,机器人或无人机等移动装置在地图构建过程中要求回环检测路径和方向必须与建图时的路径和方向保持一致,才能输出准确的回环检测结果,这就使得移动装置在进行建图时,往往需要走较多的相同方向的重复路径,从而造成建图效率低下的问题。
发明内容
有鉴于此,本申请实施例提供了一种回环检测方法、装置、计算机可读存储介质及移动装置,以解决现有的回环检测方法需要移动装置走较多的相同方向的重复路径,从而造成建图效率低下的问题。
本申请实施例的第一方面提供了一种回环检测方法,可以包括:
通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;
分别计算所述图像数据组中各张图像的特征信息;
在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;
根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
进一步地,所述分别计算所述图像数据组中各张图像的特征信息包括:
提取所述图像数据组中的第j张图像的角点特征集合,0≤j<C0;
计算与所述角点特征集合对应的描述子集合;
将所述角点特征集合和所述描述子集合作为所述图像数据组中的第j张图像的特征信息。
进一步地,所述在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,包括:
在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,0≤i<C0;
根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果。
进一步地,所述在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,包括:
将第j张图像的特征信息插入目标回环数据库中,所述目标回环数据库为第i个子线程的第j个回环数据库,0≤j<C0;
确定与所述目标回环数据库对应的回环查询帧信息,并根据所述回环查询帧信息在所述目标回环数据库中进行回环帧信息检索;
若检索到所述回环帧信息,则计算所述回环帧信息与所述回环查询帧信息的内敛点匹配数目;
根据所述内敛点匹配数目确定在第i个子线程中与第j张图像的特征信息分别对应的回环检测结果。
进一步地,所述确定与所述目标回环数据库对应的回环查询帧信息,包括:
根据下式确定所述回环查询帧信息在所述目标回环数据库中的序号:
c=(j+i)%C0
其中,c为所述回环查询帧信息在所述目标回环数据库中的序号,且0≤c<C0。
进一步地,所述根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果,包括:
在第i个子线程中与各张图像的特征信息分别对应的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为第i个子线程的回环检测结果。
进一步地,所述根据各个子线程的回环检测结果确定所述移动装置的回环检测结果包括:
在各个子线程的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为所述移动装置的回环检测结果。
本申请实施例的第二方面提供了一种回环检测装置,可以包括:
图像采集模块,用于通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;
特征信息计算模块,用于分别计算所述图像数据组中各张图像的特征信息;
子线程回环检测模块,用于在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;
回环检测结果确定模块,用于根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
进一步地,所述特征信息计算模块可以包括:
角点特征提取单元,用于提取所述图像数据组中的第j张图像的角点特征集合,0≤j<C0;
描述子计算单元,用于计算与所述角点特征集合对应的描述子集合;
特征信息确定单元,用于将所述角点特征集合和所述描述子集合作为所述图像数据组中的第j张图像的特征信息。
进一步地,所述子线程回环检测模块可以包括:
子线程检测单元,用于在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,0≤i<C0;
子线程检测结果确定单元,用于根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果。
进一步地,所述子线程检测单元可以包括:
特征信息插入子单元,用于将第j张图像的特征信息插入目标回环数据库中,所述目标回环数据库为第i个子线程的第j个回环数据库,0≤j<C0;
回环帧信息检索子单元,用于确定与所述目标回环数据库对应的回环查询帧信息,并根据所述回环查询帧信息在所述目标回环数据库中进行回环帧信息检索;
内敛点匹配数目计算子单元,用于若检索到所述回环帧信息,则计算所述回环帧信息与所述回环查询帧信息的内敛点匹配数目;
回环检测结果确定子单元,用于根据所述内敛点匹配数目确定在第i个子线程中与第j张图像的特征信息分别对应的回环检测结果。
进一步地,所述回环帧信息检索子单元具体用于根据下式确定所述回环查询帧信息在所述目标回环数据库中的序号:
c=(j+i)%C0
其中,c为所述回环查询帧信息在所述目标回环数据库中的序号,且0≤c<C0。
进一步地,所述子线程检测结果确定单元具体用于:在第i个子线程中与各张图像的特征信息分别对应的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为第i个子线程的回环检测结果。
进一步地,所述回环检测结果确定模块具体用于:在各个子线程的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为所述移动装置的回环检测结果。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种回环检测方法的步骤。
本申请实施例的第四方面提供了一种移动装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种回环检测方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在移动装置上运行时,使得移动装置执行上述任一种回环检测方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例通过预设在移动装置上的C0个相机在不同的方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;分别计算所述图像数据组中各张图像的特征信息;在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。在本申请实施例中,通过多目相机采集到不同检测方向上的图像数据组,计算得到对应的特征信息,并在对应于各个检测方向的多个子线程中分别进行回环检测,从而可以实现在多个检测方向上的交叉检测,突破了现有技术中回环检测对于路径方向的限制,避免了走过多的相同方向的重复路径,极大提升了建图效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种回环检测方法的一个实施例流程图;
图2为相机在移动装置上的一种布局示例图;
图3为在某一子线程中根据特征信息进行回环检测的流程图;
图4为以某一图像为例进行回环检测的流程图;
图5为本申请实施例中一种回环检测装置的一个实施例结构图;
图6为本申请实施例中一种移动装置的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本申请实施例中一种回环检测方法的一个实施例可以包括:
步骤S101、通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组。
在本申请实施例中,所述移动装置可以包括但不限于机器人、无人机以及其它需要进行回环检测的移动装置。
C0为大于1的整数,其具体取值可以根据实际情况进行设置,相机编号为从0到C0-1。各个相机在所述移动装置上的布局也可以根据实际情况进行设置,但应尽量保证各个相机两两之间的检测方向均不相同,且各个相机两两之间均不存在视野重叠的情况。图2所示即为各个相机在所述移动装置上的一种布局示意图,图中的立方体表示所述移动装置,图中的实心圆表示相机,如图所示,6个相机(即C0=6)分别设置在所述移动装置的6个面上,分别在所述移动装置的上、下、左、右、前、后6个检测方向上同步进行图像采集。容易理解地,图2仅为本申请实施例中对于相机布局的一种具体示例,在实际应用中,可以根据具体情况设置其它的布局形式,本申请实施例对此不作具体限定。
本申请实施例可以同时适用于激光和视觉SLAM的建图场景。以视觉SLAM为例,所述移动装置在启动视觉SLAM建图模式后,可以先加载相机的配置文件,从该配置文件中读取相机数目(即C0),然后,同时创建一个主线程和C0个相互独立的子线程,其中,子线程编号为从0到C0-1,每个子线程均执行一路回环检测任务,对应于一个检测方向上的回环检测过程,而主线程用于对各个子线程的回环检测结果进行汇总分析,得出最终的回环检测结果。
主线程每隔预设的时长,例如在等待一帧关键帧信号后,即通过设置在所述移动装置上的各个相机同步进行一次图像采集,得到一组多目相机图像数据,也即所述图像数据组,此处将其记作I0...C0-1。I0...C0-1表示标号从0到C0-1共C0张图像,分别对应于从0到C0-1的相机编号。在完成图像采集之后,主线程即可通过步骤S102进行特征信息的计算。
步骤S102、分别计算所述图像数据组中各张图像的特征信息。
具体地,以所述图像数据组中的第j张(0≤j<C0)图像为例对特征信息的计算过程进行详细说明:
首先,提取所述图像数据组中的第j张图像的角点特征集合(记为Fj),并计算与所述角点特征集合对应的描述子集合(记为Dj)。其中,角点特征提取及对应的描述子的计算过程均为现有技术,本申请实施例中的角点特征可以为包括harris、ORB、SIFT或SURF等在内的任意一种常用的角点特征,本申请实施例对其具体过程不再赘述。
在完成上述计算之后,即可将所述角点特征集合和所述描述子集合作为所述图像数据组中的第j张图像的特征信息。
按照上述过程,对所述图像数据组中各张图像进行遍历,即可得到各张图像的特征信息,即各张图像的角点特征集合(记为F0...C0-1)和对应的描述子集合(记为D0...C0-1)。
步骤S103、在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果。
主线程在完成特征信息的计算之后,将计算得到的特征信息(即F0...C0-1和D0...C0-1),依次分发给C0个子线程,然后,进入回环监测模式,等待各个子线程返回处理结果。
具体地,如图3所示,以第i个(0≤i<C0)子线程为例,对子线程中的回环检测过程进行详细说明:
步骤S1031、在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果。
如图4所示,以第j张图像为例对回环检测的过程进行详细说明:
步骤S10311、将第j张图像的特征信息(即Fj和Dj)插入目标回环数据库中。
所述目标回环数据库为第i个子线程的第j个回环数据库(记为Dbj)。在本申请实施例中,第i个子线程接收到多少张图像的特征信息,就需要对应构建多少个回环数据库,该回环数据库用于存储和处理对应编号的图像的特征信息。回环数据库的构建和检索可以使用包括DBOW、CNN或者哈希表等在内的任意一种常用的方法,本申请实施例对其具体过程不再赘述。
步骤S10312、确定与所述目标回环数据库对应的回环查询帧信息,并根据所述回环查询帧信息在所述目标回环数据库中进行回环帧信息检索。
具体地,可以根据下式确定所述回环查询帧信息在所述目标回环数据库中的序号:
c=(j+i)%C0
其中,c为所述回环查询帧信息在所述目标回环数据库中的序号,且0≤c<C0。
则可以根据该序号获取所述回环查询帧信息中的角点特征集合(记为Fc)和对应的描述子集合(记为Dc),并在所述目标回环数据库中进行回环帧信息检索。若检索不到满足预设的得分阈值的回环帧信息,则不再执行后续步骤,直接确定在第i个子线程中与第j张图像的特征信息对应的回环检测结果为空;若检索到满足预设的得分阈值的回环帧信息,则继续执行步骤S10313及步骤S10313。
步骤S10313、计算所述回环帧信息与所述回环查询帧信息的内敛点(inlier)匹配数目。
根据所述回环帧信息中的角点特征集合(记为Fpre)和对应的描述子集合(记为Dpre),以及所述回环查询帧信息中的角点特征集合和对应的描述子集合,可以计算得到两者之间的内敛点匹配数目(记为M)。内敛点的计算可以使用包括RANSAC在内的任意一种常用的方法,本申请实施例对其具体过程不再赘述。
步骤S10314、根据所述内敛点匹配数目确定在第i个子线程中与第j张图像的特征信息分别对应的回环检测结果。
具体地,若所述内敛点匹配数目小于预设的匹配数目阈值(记为M0),则确定在第i个子线程中与第j张图像的特征信息对应的回环检测结果为空,反之,若所述内敛点匹配数目大于或等于所述匹配数目阈值,则认为回环检测有效,缓存下当前帧索引、回环帧索引、当前帧中图像编号、对应回环帧图像编号,内敛点匹配关系等信息,将其作为在第i个子线程中与第j张图像的特征信息对应的回环检测结果。
按照上述过程,对所述图像数据组中各张图像进行遍历,即可得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果。
步骤S1032、根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果。
具体地,可以在第i个子线程中与各张图像的特征信息分别对应的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为第i个子线程的回环检测结果,并将这一结果反馈至主线程。
特殊地,如果各张图像均匹配失败,则最终第i个子线程的回环检测结果为空,则可以将特殊标记的数据结构反馈至主线程,以告知该线程的回环检测结果无效。
按照上述过程,对各个子线程进行遍历,即可得到各个子线程的回环检测结果。
步骤S104、根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
具体地,若各个子线程反馈的均为无效结果,则可确定当前帧无回环,否则,可以在各个子线程的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为所述移动装置的回环检测结果。
容易理解地,图1所示仅为对当前的关键帧进行回环检测的过程,在实际应用中,对整个建图过程中的每一帧关键帧均可重复这一回环检测过程,直至建图模式结束为止,此时,主线程向各个子线程发布终止命令后退出,各个子线程在接收到该终止命令后退出。
本申请实施例在同一路径位置处检测回环时,无需要求方向一致,如某一十字路口,假设SLAM建图方向由东向西,则移动装置由东向西,由西向东,由南向北和由北向南路过该路口时都可能检测出回环。如此,在缩短建图路径的同时也能保证产生大量准确的回环检测结果,可极大程度上改进SLAM的建图质量和建图效率,进而有助于改善其导航定位精度。
综上所述,本申请实施例通过预设在移动装置上的C0个相机在不同的方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;分别计算所述图像数据组中各张图像的特征信息;在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。在本申请实施例中,通过多目相机采集到不同检测方向上的图像数据组,计算得到对应的特征信息,并在对应于各个检测方向的多个子线程中分别进行回环检测,从而可以实现在多个检测方向上的交叉检测,突破了现有技术中回环检测对于路径方向的限制,避免了走过多的相同方向的重复路径,极大提升了建图效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种回环检测方法,图5示出了本申请实施例提供的一种回环检测装置的一个实施例结构图。
本实施例中,一种回环检测装置可以包括:
图像采集模块501,用于通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;
特征信息计算模块502,用于分别计算所述图像数据组中各张图像的特征信息;
子线程回环检测模块503,用于在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;
回环检测结果确定模块504,用于根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
进一步地,所述特征信息计算模块可以包括:
角点特征提取单元,用于提取所述图像数据组中的第j张图像的角点特征集合,0≤j<C0;
描述子计算单元,用于计算与所述角点特征集合对应的描述子集合;
特征信息确定单元,用于将所述角点特征集合和所述描述子集合作为所述图像数据组中的第j张图像的特征信息。
进一步地,所述子线程回环检测模块可以包括:
子线程检测单元,用于在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,0≤i<C0;
子线程检测结果确定单元,用于根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果。
进一步地,所述子线程检测单元可以包括:
特征信息插入子单元,用于将第j张图像的特征信息插入目标回环数据库中,所述目标回环数据库为第i个子线程的第j个回环数据库,0≤j<C0;
回环帧信息检索子单元,用于确定与所述目标回环数据库对应的回环查询帧信息,并根据所述回环查询帧信息在所述目标回环数据库中进行回环帧信息检索;
内敛点匹配数目计算子单元,用于若检索到所述回环帧信息,则计算所述回环帧信息与所述回环查询帧信息的内敛点匹配数目;
回环检测结果确定子单元,用于根据所述内敛点匹配数目确定在第i个子线程中与第j张图像的特征信息分别对应的回环检测结果。
进一步地,所述回环帧信息检索子单元具体用于根据下式确定所述回环查询帧信息在所述目标回环数据库中的序号:
c=(j+i)%C0
其中,c为所述回环查询帧信息在所述目标回环数据库中的序号,且0≤c<C0。
进一步地,所述子线程检测结果确定单元具体用于:在第i个子线程中与各张图像的特征信息分别对应的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为第i个子线程的回环检测结果。
进一步地,所述回环检测结果确定模块具体用于:在各个子线程的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为所述移动装置的回环检测结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图6示出了本申请实施例提供的一种移动装置的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图6所示,该实施例的移动装置6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个回环检测方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至模块504的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述移动装置6中的执行过程。
本领域技术人员可以理解,图6仅仅是移动装置6的示例,并不构成对移动装置6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述移动装置6还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述移动装置6的内部存储单元,例如移动装置6的硬盘或内存。所述存储器61也可以是所述移动装置6的外部存储设备,例如所述移动装置6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述移动装置6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述移动装置6所需的其它程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/移动装置和方法,可以通过其它的方式实现。例如,以上所描述的装置/移动装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种回环检测方法,其特征在于,包括:
通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;
分别计算所述图像数据组中各张图像的特征信息;
在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;
根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
2.根据权利要求1所述的回环检测方法,其特征在于,所述分别计算所述图像数据组中各张图像的特征信息包括:
提取所述图像数据组中的第j张图像的角点特征集合,0≤j<C0;
计算与所述角点特征集合对应的描述子集合;
将所述角点特征集合和所述描述子集合作为所述图像数据组中的第j张图像的特征信息。
3.根据权利要求1所述的回环检测方法,其特征在于,所述在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,包括:
在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,0≤i<C0;
根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果。
4.根据权利要求3所述的回环检测方法,其特征在于,所述在第i个子线程中遍历各张图像的特征信息,得到在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,包括:
将第j张图像的特征信息插入目标回环数据库中,所述目标回环数据库为第i个子线程的第j个回环数据库,0≤j<C0;
确定与所述目标回环数据库对应的回环查询帧信息,并根据所述回环查询帧信息在所述目标回环数据库中进行回环帧信息检索;
若检索到所述回环帧信息,则计算所述回环帧信息与所述回环查询帧信息的内敛点匹配数目;
根据所述内敛点匹配数目确定在第i个子线程中与第j张图像的特征信息分别对应的回环检测结果。
5.根据权利要求4所述的回环检测方法,其特征在于,所述确定与所述目标回环数据库对应的回环查询帧信息,包括:
根据下式确定所述回环查询帧信息在所述目标回环数据库中的序号:
c=(j+i)%C0
其中,c为所述回环查询帧信息在所述目标回环数据库中的序号,且0≤c<C0。
6.根据权利要求3所述的回环检测方法,其特征在于,所述根据在第i个子线程中与各张图像的特征信息分别对应的回环检测结果,确定第i个子线程的回环检测结果,包括:
在第i个子线程中与各张图像的特征信息分别对应的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为第i个子线程的回环检测结果。
7.根据权利要求1至6中任一项所述的回环检测方法,其特征在于,所述根据各个子线程的回环检测结果确定所述移动装置的回环检测结果包括:
在各个子线程的回环检测结果中,选取内敛点匹配数目最大的回环检测结果作为所述移动装置的回环检测结果。
8.一种回环检测装置,其特征在于,包括:
图像采集模块,用于通过预设在移动装置上的C0个相机在不同的检测方向上同步进行图像采集,得到包括C0张图像的图像数据组,C0为大于1的整数;
特征信息计算模块,用于分别计算所述图像数据组中各张图像的特征信息;
子线程回环检测模块,用于在预设的C0个子线程中分别根据所述特征信息进行回环检测,得到各个子线程的回环检测结果,其中,每个子线程均对应于一个检测方向上的回环检测过程;
回环检测结果确定模块,用于根据各个子线程的回环检测结果确定所述移动装置的回环检测结果。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的回环检测方法的步骤。
10.一种移动装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的回环检测方法的步骤。
CN202010766352.3A 2020-08-03 2020-08-03 回环检测方法、装置、计算机可读存储介质及移动装置 Active CN112085788B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010766352.3A CN112085788B (zh) 2020-08-03 2020-08-03 回环检测方法、装置、计算机可读存储介质及移动装置
US16/953,378 US11423646B2 (en) 2020-08-03 2020-11-20 Loop closure detection method, mobile device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010766352.3A CN112085788B (zh) 2020-08-03 2020-08-03 回环检测方法、装置、计算机可读存储介质及移动装置

Publications (2)

Publication Number Publication Date
CN112085788A true CN112085788A (zh) 2020-12-15
CN112085788B CN112085788B (zh) 2024-04-19

Family

ID=73735508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010766352.3A Active CN112085788B (zh) 2020-08-03 2020-08-03 回环检测方法、装置、计算机可读存储介质及移动装置

Country Status (2)

Country Link
US (1) US11423646B2 (zh)
CN (1) CN112085788B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117425004A (zh) * 2023-12-18 2024-01-19 荣耀终端有限公司 Tof相机的测试方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160371864A1 (en) * 2015-06-19 2016-12-22 International Business Machines Corporation Geographic space management
CN109785387A (zh) * 2018-12-17 2019-05-21 中国科学院深圳先进技术研究院 机器人的回环检测方法、装置及机器人
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN111177295A (zh) * 2019-12-28 2020-05-19 深圳市优必选科技股份有限公司 建图重影消除方法、装置、计算机可读存储介质及机器人

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110660098B (zh) * 2018-06-28 2022-08-12 北京京东叁佰陆拾度电子商务有限公司 基于单目视觉的定位方法和装置
US10991117B2 (en) * 2018-12-23 2021-04-27 Samsung Electronics Co., Ltd. Performing a loop closure detection
CN110070615B (zh) * 2019-04-12 2021-04-27 北京理工大学 一种基于多相机协同的全景视觉slam方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160371864A1 (en) * 2015-06-19 2016-12-22 International Business Machines Corporation Geographic space management
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN109785387A (zh) * 2018-12-17 2019-05-21 中国科学院深圳先进技术研究院 机器人的回环检测方法、装置及机器人
CN111177295A (zh) * 2019-12-28 2020-05-19 深圳市优必选科技股份有限公司 建图重影消除方法、装置、计算机可读存储介质及机器人

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李同;张奇志;: "基于ORB词袋模型的SLAM回环检测研究", 信息通信, no. 10 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117425004A (zh) * 2023-12-18 2024-01-19 荣耀终端有限公司 Tof相机的测试方法及相关装置

Also Published As

Publication number Publication date
US11423646B2 (en) 2022-08-23
US20220036065A1 (en) 2022-02-03
CN112085788B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
CN112348863B (zh) 图像对齐方法、图像对齐装置及终端设备
CN111833447A (zh) 三维地图构建方法、三维地图构建装置及终端设备
CN111581414B (zh) 服饰识别、分类及检索的方法、装置、设备及存储介质
CN102880854B (zh) 基于分布式和哈希映射的室外海量物体识别方法和系统
CN111062400B (zh) 目标匹配方法及装置
CN112198878B (zh) 一种即时地图构建方法、装置、机器人及存储介质
CN112966725B (zh) 匹配模板图像的方法、装置及终端设备
CN108052869B (zh) 车道线识别方法、装置及计算机可读存储介质
CN112085788B (zh) 回环检测方法、装置、计算机可读存储介质及移动装置
CN114913246B (zh) 相机标定方法、装置、电子设备及存储介质
CN109213515B (zh) 多平台下埋点归一方法及装置和电子设备
CN108629219B (zh) 一种识别一维码的方法及装置
CN111931794B (zh) 一种基于草图的图像匹配方法
CN113256301B (zh) 数据屏蔽方法、装置、服务器及介质
CN116295466A (zh) 地图生成方法、装置、电子设备、存储介质、及车辆
CN114373078A (zh) 目标检测方法、装置、终端设备及存储介质
CN111583317B (zh) 图像对齐方法、装置及终端设备
CN115512194A (zh) 图像目标的检测方法、装置及终端设备
CN118172421A (zh) 视觉定位方法、装置、电子设备及存储介质
CN117112831A (zh) 基于视频事件信息网络的海量视频对比方法、装置和设备
CN117635703A (zh) 定位方法、装置和电子设备
CN115457094A (zh) 一种同名点提取方法、装置、计算机设备和存储介质
CN116884065A (zh) 人脸识别方法及计算机可读存储介质
CN116152048A (zh) 一种数据空间同步方法、装置、终端设备和存储介质
CN112070175A (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
TA01 Transfer of patent application right

Effective date of registration: 20221230

Address after: 266104 Room 202-1, Building 3, No. 8, Shengshui Road, Laoshan District, Qingdao, Shandong

Applicant after: Ubicon (Qingdao) Technology Co.,Ltd.

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Youbixuan Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant