CN112966616A - 基于聚类的视觉重定位方法、装置、设备及介质 - Google Patents

基于聚类的视觉重定位方法、装置、设备及介质 Download PDF

Info

Publication number
CN112966616A
CN112966616A CN202110265763.9A CN202110265763A CN112966616A CN 112966616 A CN112966616 A CN 112966616A CN 202110265763 A CN202110265763 A CN 202110265763A CN 112966616 A CN112966616 A CN 112966616A
Authority
CN
China
Prior art keywords
key frame
cluster
clusters
clustering
repositioning
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
CN202110265763.9A
Other languages
English (en)
Other versions
CN112966616B (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.)
Shenzhen Water World Co Ltd
Original Assignee
Shenzhen Water World Co Ltd
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 Shenzhen Water World Co Ltd filed Critical Shenzhen Water World Co Ltd
Priority to CN202110265763.9A priority Critical patent/CN112966616B/zh
Publication of CN112966616A publication Critical patent/CN112966616A/zh
Application granted granted Critical
Publication of CN112966616B publication Critical patent/CN112966616B/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
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种基于聚类的视觉重定位方法,应用在智能移动设备上,具体地,从数据库中匹配出与当前关键帧相似度达到指定要求的多个目标历史关键帧,根据每个目标历史关键帧分别得出当前关键帧位姿的多个计算结果,然后对所有的计算结果进行聚类。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的计算结果都可以被看做是正确的,只是误差略有不同,而错误的计算结果将偏离真值。接着本发明根据聚类的结果判断智能移动设备是否重定位成功,如果是,本发明综合最大聚类里的所有计算结果得到最终的重定位位姿。本发明采用多个目标历史关键帧的数据来计算当前关键帧的重定位位姿,可以使得重定位结果更具鲁棒性和准确性。

Description

基于聚类的视觉重定位方法、装置、设备及介质
技术领域
本发明涉及到扫地机器人领域,特别是涉及到一种基于聚类的视觉重定位方法、装置、设备及介质。
背景技术
视觉重定位技术是智能移动设备的一项关键技术,是解决回环矫正和机器人绑架等问题的重要手段。在实际应用中,对重定位正确性的要求异常苛刻,错误的重定位结果将给定位建图带来灾难性的影响。现有技术通常取当前帧与地图中某一历史帧的数据来计算当前帧重定位后的位姿,该方法对地图数据的利用很不充分。当前帧的重定位位姿只通过一个历史帧的数据来计算得到,因此当前帧的重定位位姿计算结果的数据支撑较为薄弱,那么计算得到的重定位位姿误差较大,因此,现有技术的视觉重定位方法准确性不够高。
发明内容
本发明的主要目的为提供一种基于聚类的视觉重定位方法、装置、设备及介质,以解决现有技术的视觉重定位方法准确性不够高的问题。
本发明的技术方案为:
一种基于聚类的视觉重定位方法,应用在智能移动设备上,包括:
获取智能移动设备当前采集到的当前关键帧;
将当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧;
求解每个目标历史关键帧与当前关键帧的相对位姿;
将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类;
判断多个聚类是否符合重定位失败的预设条件;
若否,将多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿。
进一步地,获取智能移动设备当前采集到的当前关键帧的步骤,包括:
获取智能移动设备当前采集到的环境图片;
判断环境图片中的特征是否达到预设数量;
若是,则判定环境图片为当前关键帧。
进一步地,指定聚类算法包括划分法、层次法、基于密度的方法、基于网格的方法以及基于模型的方法。
作为第一种技术方案,判断多个聚类是否符合重定位失败的预设条件的步骤,包括:
获取多个聚类中的最大聚类;
判断最大聚类是否小于预设阈值;
若是,则判定多个聚类符合重定位失败的预设条件。
作为第二种技术方案,判断多个聚类是否符合重定位失败的预设条件的步骤,包括:
获取多个聚类中的最大聚类;
判断最大聚类是否不止一个;
若是,则判定多个聚类符合重定位失败的预设条件。
作为第三种技术方案,判断多个聚类是否符合重定位失败的预设条件的步骤,包括:
获取多个聚类中的最大聚类和次大聚类;
判断最大聚类与次大聚类的差值是否小于指定阈值;
若是,则判定多个聚类符合重定位失败的预设条件。
进一步地,将多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿的步骤,包括:
求取最大聚类内的所有相对位姿的平均值;
将平均值作为当前关键帧的重定位位姿。
本发明还提供一种基于聚类的视觉重定位装置,应用在智能移动设备上,包括:
获取单元,用于获取智能移动设备当前采集到的当前关键帧;
比对单元,用于将当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧;
求解单元,用于求解每个目标历史关键帧与当前关键帧的相对位姿;
聚类单元,用于将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类;
判断单元,用于判断多个聚类是否符合重定位失败的预设条件;
计算单元,用于在多个聚类不符合重定位失败的预设条件下,将多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿。
本发明还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于聚类的视觉重定位方法的步骤。
本发明还提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述基于聚类的视觉重定位方法的步骤。
本发明提供一种基于聚类的视觉重定位方法,应用在智能移动设备上,具体地,从数据库中匹配出与当前关键帧相似度达到指定要求的多个目标历史关键帧,根据每个目标历史关键帧分别得出当前关键帧位姿的多个计算结果,然后对所有的计算结果进行聚类。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的计算结果都可以被看做是正确的,只是误差略有不同,而错误的计算结果将偏离真值。本发明根据聚类的结果判断智能移动设备是否重定位成功,如果是,本发明综合最大聚类里的所有计算结果得到最终的重定位位姿。本发明采用多个目标历史关键帧的数据来计算当前关键帧的重定位位姿,可以使得重定位结果更具鲁棒性和准确性。
附图说明
图1为本发明一实施例的基于聚类的视觉重定位方法的流程示意图;
图2为本发明一实施例的基于聚类的视觉重定位装置的结构示意图;
图3为本发明一实施例的计算机设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
参照图1,为本发明一实施例的基于聚类的视觉重定位方法,应用在智能移动设备上,包括:
S1:获取智能移动设备当前采集到的当前关键帧;
S2:将当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧;
S3:求解每个目标历史关键帧与当前关键帧的相对位姿;
S4:将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类;
S5:判断多个聚类是否符合重定位失败的预设条件;
S6:若否,将多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿。
在步骤S1中,上述智能移动设备可以是扫地机、箱包、餐厅里的智能移动餐柜等。具体地,在智能移动设备上设置视觉传感器,利用该视觉传感器在智能移动设备的行走过程中不断采集关键帧,然后获取采集到的当前关键帧。
在步骤S2和S3中,本实施例将采集到的关键帧(包括当前关键帧以及历史关键帧)均保存在数据库中;智能移动设备在行走时不断构建电子地图,该电子地图包括三维地图点的信息,同样也保存在上述数据库中。数据库中与当前关键帧有大的场景重叠的历史关键帧可能有很多个,他们都可以用来计算当前关键帧的位姿,采用数据库中更多的数据来计算可以使得重定位结果更加准确,因此,本实施例通过将当前关键帧分别与数据库中的所有历史关键帧进行一一比对,得到与当前关键帧相似度达到指定要求的多个目标历史关键帧,然后求解每个目标历史关键帧与当前关键帧的相对位姿。求取两个关键帧之间的相对位姿可以采用PNP算法或者基于深度学习的方法。
在步骤S2中,上述目标历史关键帧可以是与当前关键帧相似度最高的前几位,例如,目标历史关键帧是与当前关键帧相似度最高的前二十位,这里的二十只是举例说明,本发明不对此数量进行限定;在另外一些实施例的上述步骤S2中,可以先预设一个相似度阈值,如果某一历史关键帧与当前关键帧的相似度达到该阈值时,那么该历史关键帧就为目标历史关键帧,本发明不对该阈值大小进行限定。
在步骤S4中,本实施例将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类。聚类分析是以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的相对位姿都可以被看做是正确的,且数量也应当占据所有相对位姿的大部分,它们之间的相似度也必然更高,可以被划分到同一个大的聚类之中,而错误的相对位姿将偏离真值,可以被划分到一个或多个小的聚类之中。本实施例采用聚类的方法将错误的相对位姿剔除掉,提高当前关键帧重定位位姿的准确性,进而提高智能移动设备重定位结果的准确性。
在步骤S5和S6中,本实施例根据步骤S4得到的多个聚类进行分析,判断多个聚类是否符合重定位失败的预设条件,如果不是,说明智能移动设备发生视觉回环,可以进行重定位。由上述可知,最大的一个聚类内的所有相对位姿均聚集在当前关键帧位姿真值的附近,因此,本实施例将最大的一个聚类内的所有相对位姿进行计算,得到当前关键帧的最终的重定位位姿。
本实施例提供一种基于聚类的视觉重定位方法,应用在智能移动设备上,具体地,从数据库中匹配出与当前关键帧相似度达到指定要求的多个目标历史关键帧,根据每个目标历史关键帧分别得出当前关键帧位姿的多个计算结果,然后对所有的计算结果进行聚类。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的计算结果都可以被看做是正确的,只是误差略有不同,而错误的计算结果将偏离真值。接着本发明根据聚类的结果判断智能移动设备是否重定位成功,如果是,本发明综合最大聚类里的所有计算结果得到最终的重定位位姿。本发明采用多个目标历史关键帧的数据来计算当前关键帧的重定位位姿,可以使得重定位结果更具鲁棒性和准确性。
在本发明一实施例的基于聚类的视觉重定位方法中,上述获取智能移动设备当前采集到的当前关键帧的步骤S1,包括:
S1.1:获取智能移动设备当前采集到的环境图片;
S1.2:判断环境图片中的特征是否达到预设数量;
S1.3:若是,则判定环境图片为当前关键帧。
在本实施例中,因为图像占用空间比较大,为了减少数据冗余,智能移动设备会自动筛选采集特征比较丰富的图像作为当前关键帧,比如参照物、区别物达到设定的数量的图片。
在本发明一实施例中,上述通过将当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,获取与当前关键帧相似度达到指定要求的若干个目标历史关键帧的步骤S2,包括:
S2.1:获取所述当前关键帧和历史关键帧的二维特征点;
S2.2:通过匹配所述当前关键帧和历史关键帧的二维特征点,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧。
在步骤S2.1和S2.2中,历史关键帧中存有智能移动设备运行至该地点时采集的图像、根据一种或多种传感器计算出的该点的位姿、图像的二维特征点及其对应的描述子、二维特征点与三维地图点的对应关系等。本实施例利用关键帧中的二维特征点进行匹配来获取与当前关键帧相似度达到指定要求的的若干个目标历史关键帧,方法简单快速。
在其他实施例中,也可以利用基于视觉词袋的方法或基于深度学习的方法来对当前关键帧和历史关键帧进行比对。
在本实施例中,求解每个历史关键帧与当前关键帧的相对位姿的步骤S3可以通过PNP算法进行实现。具体地,根据目标历史关键帧的二维特征点(x2,y2)与三维地图点的对应关系来获得该目标历史关键帧的三维信息;然后根据该三维信息跟当前关键帧的二维特征点(x1,y1)来获得当前关键帧的相对位姿。多个目标历史关键帧可以计算得到多个当前关键帧的相对位姿。
在本发明一实施例的基于聚类的视觉重定位方法中,在上述将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类的步骤S4中,指定聚类算法包括但不限于划分法、层次法、基于密度的方法、基于网格的方法以及基于模型的方法。进一步地,划分法包括K-MEANS算法(k-means clustering algorithm)、K-MEDOIDS算法、CLARANS算法;层次法包括BIRCH算法(Balanced Iterative Reducing and Clustering UsingHierarchies)、CURE算法(Clustering Using Representative)、CHAMELEON算法(变色龙)等;基于密度的算法包括DBSCAN算法(Density-Based Spatial Clustering ofApplications with Noise)、OPTICS算法(ordering point toidenfy the clusterstructure)、DENCLUE算法(DENsity based CLUstEring)等;基于网格的方法包括STING算法(Statistical Information Grid-based method)、CLIQUE算法(Clustering InQUEst)、WAVE-CLUSTER算法(Clustering with Wavelets);基于模型的算法包括统计的方案和神经网络的方案。
在本发明一实施例中,上述判断多个聚类是否符合重定位失败的预设条件的步骤S5,包括:
S5.1:获取多个聚类中的最大聚类;
S5.2:判断最大聚类是否小于预设阈值;
S5.3:若是,则判定多个聚类符合重定位失败的预设条件。
聚类的大小指的是该聚类内相对位姿的数量。在本实施例中,预设阈值为一个数量,如果最大的一个聚类内相对位姿的个数达不到该预设阈值,说明该聚类内的相对位姿数量不够,根据该聚类内的相对位姿计算得到的当前关键帧的重定位位姿的可信度不高,准确性也不大,最终也将导致重定位的结果不准确,因此当最大聚类小于预设阈值时,则判定当前重定位失败,不适合对智能移动设备进行重定位。一般而言,预设阈值越大,大小达到该预设阈值的最大聚类内的相对位姿的数量越多,求取得到的当前关键帧的重定位位姿的可信度越高、准确率越高。例如,上述预设阈值设置为12,由步骤S2获取的与当前关键帧相似度达到指定要求的目标历史关键帧的数量为20个,因此步骤S3求取得到的所有相对位姿的个数为20个,将这些相对位姿进行聚类后,如果最大聚类的大小小于12,那么说明聚集在真值附近的相对位姿不到12个,这时候根据这不到12个的相对位姿计算得到的当前关键帧的重定位位姿可信度低和准确率也低。因此,在本实施例中,只有最大聚类的大小大于预设阈值时才进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在一些实施例中,上述预设阈值也可以是一个比例值,该比例值指的是最大聚类的大小与步骤S3求取得到的所有相对位姿的个数的比例。
在本发明另一实施例中,上述判断多个聚类是否符合重定位失败的预设条件的步骤S5,包括:
S5.4:获取多个聚类中的最大聚类;
S5.5:判断最大聚类是否不止一个;
S5.6:若是,则判定多个聚类符合重定位失败的预设条件。
在本实施例中,如果对所有相对位姿进行聚类后,最大聚类不止一个的话,那么最大聚类的大小也必然受到限制,同时,当出现两个最大聚类后,难以判定哪个聚类内的相对位姿的聚集在真值附近,无法选择哪个聚类来进行当前关键帧的位姿的计算,如果随机选择一个聚类进行计算的话,无法保证计算得到的当前关键帧位姿的准确性。因此,在本实施例中,只有在最大聚类只有一个的时候才有条件进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在本发明又一实施例中,上述判断多个聚类是否符合重定位失败的预设条件的步骤S5,包括:
S5.7:获取多个聚类中的最大聚类和次大聚类;
S5.8:判断最大聚类与次大聚类的差值是否小于指定阈值;
S5.9:若是,则判定多个聚类符合重定位失败的预设条件。
在本实施例中,如果最大聚类与次大聚类的差值小于指定阈值时,说明最大聚类与次大聚类内相对位姿的个数差不多,因此,最大聚类内的相对位姿的个数比必然受到限制,因此,通过个数有限的相对位姿计算得到的当前关键帧的重定位位姿的可信度也不高。只有在最大聚类与次大聚类的差值大于指定阈值时,本实施例才进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在本发明的其他实施例中,上述判断多个聚类是否符合重定位失败的预设条件的步骤S5,包括:
S5.10:获取多个聚类中的最大聚类和次大聚类;
S5.11:判断最大聚类是否小于预设阈值和/或最大聚类是否不止一个,和/或最大聚类与次大聚类的差值是否小于指定阈值;
S5.12:若最大聚类和次大聚类满足以下三种情况中的至少一种情况时,则判定多个聚类符合重定位失败的预设条件,上述三种情况包括:最大聚类小于预设阈值、最大聚类不止一个、最大聚类与次大聚类的差值小于指定阈值。
在这些实施例中,只有当最大聚类大于预设阈值且只有一个,且最大聚类与次大聚类的差值大于指定阈值时,才根据最大聚类内的所有相对位姿来进行当前关键帧重定位位姿的计算,更进一步地提高了智能移动设备重定位结果的准确性。
在本发明一实施例中,将多个聚类中的最大聚类包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿的步骤S6,包括:
S6.1:求取最大聚类内的所有相对位姿的平均值;
S6.2:将该平均值作为当前关键帧的重定位位姿。
在本实施例中,通过计算最大聚类内的所有相对位姿的平均值,并将该平均值作为当前关键帧最终的重定位位姿,可以减小计算得到的重定位位姿的误差,提高准确性。这里的平均值可以是算术平均值,也可以是加权平均值。
在另外的一些实施例中,将最大聚类内的所有相对位姿的中位值作为当前关键帧最终的重定位位姿,同样可以减小误差,提高重定位结果的准确性。
本发明还提供一种基于聚类的视觉重定位装置,应用在智能移动设备上,包括:
获取单元11,用于获取智能移动设备当前采集到的当前关键帧;
比对单元12,用于将当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧;
求解单元13,用于求解每个目标历史关键帧与当前关键帧的相对位姿;
聚类单元14,用于将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类;
判断单元15,用于判断多个聚类是否符合重定位失败的预设条件;
,用于在多个聚类不符合重定位失败的预设条件下,将多个聚类中的最大聚类包含的所有相对位姿进行计算,得到当前关键帧的重定位位姿。
上述智能移动设备可以是扫地机、箱包、餐厅里的智能移动餐柜等。具体地,上述获取单元11可以是设置在智能移动设备上的视觉传感器,利用该视觉传感器在智能移动设备的行走过程中不断采集关键帧,然后获取采集到的当前关键帧。智能移动设备在行走时不断构建电子地图,采集每个关键帧时位于电子地图上不同的点。
本实施例中将采集到的关键帧(包括当前关键帧以及历史关键帧)均保存在数据库中,智能移动设备在行走时不断构建电子地图,该电子地图数据包括三维地图点的信息,同样也保存在上述数据库中。
数据库中与当前关键帧有大的场景重叠的历史关键帧可能有很多个,他们都可以用来计算当前关键帧的位姿,采用数据库中更多的数据来计算可以使得重定位结果更加准确,因此,本实施例通过比对单元12将当前关键帧分别与数据库中的所有历史关键帧进行一一比对,得到与当前关键帧相似度达到指定要求的多个目标历史关键帧,然后通过求解单元13求解每个目标历史关键帧与当前关键帧的相对位姿。求取两个关键帧之间的相对位姿可以采用PNP算法或者基于深度学习的方法。
上述目标历史关键帧可以是与当前关键帧相似度最高的前几位,例如,目标历史关键帧是与当前关键帧相似度最高的前二十位,这里的二十只是举例说明,本发明不对此数量进行限定;在另外一些实施例中,可以先预设一个相似度阈值,如果某一历史关键帧与当前关键帧的相似度达到该阈值时,那么该历史关键帧就为目标历史关键帧,本发明不对该阈值大小进行限定。
本实施例通过聚类单元14将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类。聚类分析是以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的相对位姿都可以被看做是正确的,且数量也应当占据所有相对位姿的大部分,且它们之间的相似度也必然更高,可以被划分到同一个大的聚类之中,而错误的相对位姿将偏离真值,可以被划分到一个或多个小的聚类之中。本实施例采用聚类的方法将错误的相对位姿剔除掉,提高当前关键帧重定位位姿的准确性,进而提高智能移动设备重定位结果的准确性。
本实施例通过判断单元15对多个聚类进行分析,判断多个聚类是否符合重定位失败的预设条件,如果不是,说明智能移动设备发生视觉回环,可以进行重定位。由上述可知,最大的一个聚类内的所有相对位姿均聚集在当前关键帧位姿真值的附近,因此,本实施例将通过计算单元16将最大的一个聚类内的所有相对位姿进行计算,得到当前关键帧的最终的重定位位姿。
本实施例提供一种基于聚类的视觉重定位装置,应用在智能移动设备上,具体地,从数据库中匹配出与当前关键帧相似度达到指定要求的多个目标历史关键帧,根据每个目标历史关键帧分别得出当前关键帧位姿的多个计算结果,然后对所有的计算结果进行聚类。由于当前关键帧位姿的真值只有一个,那么聚集在真值附近的计算结果都可以被看做是正确的,只是误差略有不同,而错误的计算结果将偏离真值。接着本发明根据聚类的结果判断智能移动设备是否重定位成功,如果是,本发明综合最大聚类里的所有计算结果得到最终的重定位位姿。本发明采用多个目标历史关键帧的数据来计算当前关键帧的重定位位姿,可以使得重定位结果更具鲁棒性和准确性。
在本发明一实施例的基于聚类的视觉重定位装置中,上述获取单元11包括:
第一获取子单元,用于获取智能移动设备当前采集到的环境图片;
第一判断子单元,用于判断环境图片中的特征是否达到预设数量;
第一判定子单元,用于当环境图片中的特征达到预设数量时,判定环境图片为当前关键帧。
在本实施例中,因为图像占用空间比较大,为了减少数据冗余,智能移动设备会自动筛选采集特征比较丰富的图像作为当前关键帧,比如参照物、区别物达到设定的数量的图片。
在本发明一实施例中,上述比对单元12包括:
第二获取子单元,用于获取所述当前关键帧和历史关键帧的二维特征点;
匹配子单元,用于通过匹配所述当前关键帧和历史关键帧的二维特征点,得到与当前关键帧相似度达到指定要求的若干个目标历史关键帧。
在本实施例中,历史关键帧中存有智能移动设备运行至该地点时采集的图像、根据一种或多种传感器计算出的该点的位姿、图像的二维特征点及其对应的描述子、二维特征点与三维地图点的对应关系等。本实施例利用关键帧中的二维特征点进行匹配来获取与当前关键帧相似度达到指定要求的的若干个目标历史关键帧,方法简单快速。
在其他实施例中,也可以利用基于视觉词袋的方法或基于深度学习的方法来对当前关键帧和历史关键帧进行比对。
在本发明一实施例中,求解单元13求解每个目标历史关键帧与当前关键帧的相对位姿时可以通过PNP算法进行实现。具体地,根据目标历史关键帧的二维特征点(x2,y2)与三维地图点的对应关系来获得该目标历史关键帧的三维信息;然后根据该三维信息跟当前关键帧的二维特征点(x1,y1)来获得当前关键帧的相对位姿。多个目标历史关键帧可以计算得到多个当前关键帧的相对位姿。
在本发明一实施例的基于聚类的视觉重定位装置中,聚类单元14将求解得到的所有相对位姿根据指定聚类算法进行聚类,得到多个聚类的过程中,指定聚类算法包括但不限于划分法、层次法、基于密度的方法、基于网格的方法以及基于模型的方法。进一步地,划分法包括K-MEANS算法(k-means clustering algorithm)、K-MEDOIDS算法、CLARANS算法;层次法包括BIRCH算法(Balanced Iterative Reducing and Clustering UsingHierarchies)、CURE算法(Clustering Using Representative)、CHAMELEON算法(变色龙)等;基于密度的算法包括DBSCAN算法(Density-Based Spatial Clustering ofApplications with Noise)、OPTICS算法(ordering point to idenfy the clusterstructure)、DENCLUE算法(DENsity based CLUstEring)等;基于网格的方法包括STING算法(Statistical Information Grid-based method)、CLIQUE算法(Clustering InQUEst)、WAVE-CLUSTER算法(Clustering with Wavelets);基于模型的算法包括统计的方案和神经网络的方案。
在本发明一实施例中,上述判断单元15包括:
第三获取子单元,用于获取多个聚类中的最大聚类;
第二判断子单元,用于判断最大聚类是否小于预设阈值;
第二判定子单元,用于当最大聚类是否小于预设阈值时,判定多个聚类符合重定位失败的预设条件。
聚类的大小指的是该聚类内相对位姿的数量。在本实施例中,预设阈值为一个数量,如果最大的一个聚类内相对位姿的个数达不到该预设阈值,说明该聚类内的相对位姿数量不够,根据该聚类内的相对位姿计算得到的当前关键帧的重定位位姿的可信度不高,准确性也不大,最终也将导致重定位的结果不准确,因此当最大聚类小于预设阈值时,则判定当前重定位失败,不适合对智能移动设备进行重定位。一般而言,预设阈值越大,大小达到该预设阈值的最大聚类内的相对位姿的数量越多,求取得到的当前关键帧的重定位位姿的可信度越高、准确率越高。例如,上述预设阈值设置为12,由比对单元12得到的与当前关键帧相似度达到指定要求的目标历史关键帧的数量为20个,因此求解单元13求取得到的所有相对位姿的个数为20个,将这些相对位姿进行聚类后,如果最大聚类的大小小于12,那么说明聚集在真值附近的相对位姿不到12个,这时候根据这不到12个的相对位姿计算得到的当前关键帧的重定位位姿可信度低和准确率也低。因此,在本实施例中,只有最大聚类的大小大于预设阈值时才进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在一些实施例中,上述预设阈值也可以是一个比例值,该比例值指的是最大聚类的大小与求解单元13求取得到的所有相对位姿的个数的比例。
在本发明另一实施例中,判断单元15包括:
第三获取子单元,用于获取多个聚类中的最大聚类;
第三判断子单元,用于判断最大聚类是否不止一个;
第三判定子单元,用于当最大聚类不止一个时判定多个聚类符合重定位失败的预设条件。
在本实施例中,如果对所有相对位姿进行聚类后,最大聚类不止一个的话,那么最大聚类的大小也必然受到限制,同时,当出现两个最大聚类后,难以判定哪个聚类内的相对位姿的聚集在真值附近,无法选择哪个聚类来进行当前关键帧的位姿的计算,如果随机选择一个聚类进行计算的话,无法保证计算得到的当前关键帧位姿的准确性。因此,在本实施例中,只有在最大聚类只有一个的时候才有条件进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在本发明又一实施例中,判断单元15包括:
第四获取子单元,用于获取多个聚类中的最大聚类和次大聚类;
第四判断子单元,用于判断最大聚类与次大聚类的差值是否小于指定阈值;
第四判定子单元,用于当最大聚类与次大聚类的差值小于指定阈值时,判定多个聚类符合重定位失败的预设条件。
在本实施例中,如果最大聚类与次大聚类的差值小于指定阈值时,说明最大聚类与次大聚类内相对位姿的个数差不多,因此,最大聚类内的相对位姿的个数比必然受到限制,因此,通过个数有限的相对位姿计算得到的当前关键帧的重定位位姿的可信度也不高。只有在最大聚类与次大聚类的差值大于指定阈值时,本实施例才进行当前关键帧重定位位姿的计算,提高了智能移动设备重定位结果的准确性。
在本发明的其他实施例中,判断单元15包括:
第四获取子单元,用于获取多个聚类中的最大聚类和次大聚类;
第五判断子单元,用于判断最大聚类是否小于预设阈值和/或最大聚类是否不止一个,和/或最大聚类与次大聚类的差值是否小于指定阈值;
第五判定子单元,用于当最大聚类和次大聚类满足以下三种情况中的至少一种情况时,判定多个聚类符合重定位失败的预设条件,上述三种情况包括:最大聚类小于预设阈值、最大聚类不止一个、最大聚类与次大聚类的差值小于指定阈值。
在这些实施例中,只有当最大聚类大于预设阈值且只有一个,且最大聚类与次大聚类的差值大于指定阈值时,才根据最大聚类内的所有相对位姿来进行当前关键帧重定位位姿的计算,更进一步地提高了智能移动设备重定位结果的准确性。
在本发明一实施例中,计算单元16,包括:
求取子单元,用于求取最大聚类内的所有相对位姿的平均值,并将该平均值作为当前关键帧的重定位位姿。
在本实施例中,通过计算最大聚类内的所有相对位姿的平均值,并将该平均值作为当前关键帧最终的重定位位姿,可以减小计算得到的重定位位姿的误差,提高准确性。这里的平均值可以是算术平均值,也可以是加权平均值。
在另外的一些实施例中,将最大聚类内的所有相对位姿的中位值作为当前关键帧最终的重定位位姿,同样可以减小误差,提高重定位结果的准确性。
本发明还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于聚类的视觉重定位方法的程序等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述各实施例中的基于聚类的视觉重定位方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例中的基于聚类的视觉重定位方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于聚类的视觉重定位方法,应用在智能移动设备上,其特征在于,包括:
获取所述智能移动设备当前采集到的当前关键帧;
将所述当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与所述当前关键帧相似度达到指定要求的若干个目标历史关键帧;
求解每个所述目标历史关键帧与当前关键帧的相对位姿;
将求解得到的所有所述相对位姿根据指定聚类算法进行聚类,得到多个聚类;
判断多个所述聚类是否符合重定位失败的预设条件;
若否,将所述多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到所述当前关键帧的重定位位姿。
2.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述获取所述智能移动设备当前采集到的当前关键帧的步骤,包括:
获取所述智能移动设备当前采集到的环境图片;
判断所述环境图片中的特征是否达到预设数量;
若是,则判定所述环境图片为所述当前关键帧。
3.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述指定聚类算法包括划分法、层次法、基于密度的方法、基于网格的方法以及基于模型的方法。
4.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述判断多个所述聚类是否符合重定位失败的预设条件的步骤,包括:
获取所述多个聚类中的最大聚类;
判断所述最大聚类是否小于预设阈值;
若是,则判定所述多个聚类符合重定位失败的预设条件。
5.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述判断多个所述聚类是否符合重定位失败的预设条件的步骤,包括:
获取所述多个聚类中的最大聚类;
判断所述最大聚类是否不止一个;
若是,则判定所述多个聚类符合重定位失败的预设条件。
6.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述判断多个所述聚类是否符合重定位失败的预设条件的步骤,包括:
获取所述多个聚类中的最大聚类和次大聚类;
判断所述最大聚类与次大聚类的差值是否小于指定阈值;
若是,则判定所述多个聚类符合重定位失败的预设条件。
7.根据权利要求1所述的基于聚类的视觉重定位方法,其特征在于,所述将所述多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到所述当前关键帧的重定位位姿的步骤,包括:
求取所述最大聚类内的所有相对位姿的平均值;
将所述平均值作为所述当前关键帧的重定位位姿。
8.一种基于聚类的视觉重定位装置,应用在智能移动设备上,其特征在于,包括:
获取单元,用于获取所述智能移动设备当前采集到的当前关键帧;
比对单元,用于将所述当前关键帧分别与保存在数据库中的所有历史关键帧一一比对,得到与所述当前关键帧相似度达到指定要求的若干个目标历史关键帧;
求解单元,用于求解每个所述目标历史关键帧与当前关键帧的相对位姿;
聚类单元,用于将求解得到的所有所述相对位姿根据指定聚类算法进行聚类,得到多个聚类;
判断单元,用于判断多个所述聚类是否符合重定位失败的预设条件;
计算单元,用于在多个聚类符合重定位失败的预设条件下,将所述多个聚类中的最大聚类所包含的所有相对位姿进行计算,得到所述当前关键帧的重定位位姿。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
CN202110265763.9A 2021-03-11 2021-03-11 基于聚类的视觉重定位方法、装置、设备及介质 Active CN112966616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110265763.9A CN112966616B (zh) 2021-03-11 2021-03-11 基于聚类的视觉重定位方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110265763.9A CN112966616B (zh) 2021-03-11 2021-03-11 基于聚类的视觉重定位方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112966616A true CN112966616A (zh) 2021-06-15
CN112966616B CN112966616B (zh) 2024-06-14

Family

ID=76277304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110265763.9A Active CN112966616B (zh) 2021-03-11 2021-03-11 基于聚类的视觉重定位方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112966616B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671105A (zh) * 2018-12-19 2019-04-23 青岛小鸟看看科技有限公司 一种视觉导航系统的跟踪恢复方法和装置
WO2019140745A1 (zh) * 2018-01-16 2019-07-25 广东省智能制造研究所 机器人定位方法及装置
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
CN110533722A (zh) * 2019-08-30 2019-12-03 的卢技术有限公司 一种基于视觉词典的机器人快速重定位方法及系统
US20200005487A1 (en) * 2018-06-28 2020-01-02 Ubtech Robotics Corp Ltd Positioning method and robot using the same
CN111402331A (zh) * 2020-02-25 2020-07-10 华南理工大学 基于视觉词袋和激光匹配的机器人重定位方法
CN111812978A (zh) * 2020-06-12 2020-10-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种多无人机协作slam方法与系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019140745A1 (zh) * 2018-01-16 2019-07-25 广东省智能制造研究所 机器人定位方法及装置
US20200005487A1 (en) * 2018-06-28 2020-01-02 Ubtech Robotics Corp Ltd Positioning method and robot using the same
CN109671105A (zh) * 2018-12-19 2019-04-23 青岛小鸟看看科技有限公司 一种视觉导航系统的跟踪恢复方法和装置
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
CN110533722A (zh) * 2019-08-30 2019-12-03 的卢技术有限公司 一种基于视觉词典的机器人快速重定位方法及系统
CN111402331A (zh) * 2020-02-25 2020-07-10 华南理工大学 基于视觉词袋和激光匹配的机器人重定位方法
CN111812978A (zh) * 2020-06-12 2020-10-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种多无人机协作slam方法与系统

Also Published As

Publication number Publication date
CN112966616B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN109035299B (zh) 目标跟踪方法、装置、计算机设备及存储介质
US9928405B2 (en) System and method for detecting and tracking facial features in images
CN110599451A (zh) 医学图像病灶检测定位方法、装置、设备及存储介质
CN110807491A (zh) 车牌图像清晰度模型训练方法、清晰度检测方法及装置
US11403812B2 (en) 3D object reconstruction method, computer apparatus and storage medium
CN109117854B (zh) 关键点匹配方法、装置、电子设备以及存储介质
CN112163566A (zh) 视频图像的监控方法和装置
WO2019128460A1 (zh) 图像显著性检测方法和装置
CN111160307A (zh) 一种人脸识别方法及人脸识别打卡系统
CN112001932A (zh) 人脸识别方法、装置、计算机设备和存储介质
KR20220004009A (ko) 키 포인트 검출 방법, 장치, 전자 기기 및 저장 매체
CN112131277A (zh) 基于大数据的医疗数据异常分析方法、装置和计算机设备
CN112083403A (zh) 用于虚拟场景的定位追踪误差校正方法及系统
CN114627345A (zh) 人脸属性的检测方法及装置、存储介质、终端
CN113128448B (zh) 基于肢体识别的视频匹配方法、装置、设备及存储介质
CN112966616A (zh) 基于聚类的视觉重定位方法、装置、设备及介质
CN114092771A (zh) 多传感数据融合方法、目标检测方法、装置和计算机设备
GB2523776A (en) Methods for 3D object recognition and registration
CN111145152A (zh) 图像检测方法、计算机设备和存储介质
CN111652034A (zh) 一种基于sift算法的船只检索方法及装置
JP6544482B2 (ja) 物体認識装置、物体認識方法及び記憶媒体
CN114202804A (zh) 行为动作识别方法、装置、处理设备及存储介质
CN112927269A (zh) 基于环境语义的地图构建方法、装置和计算机设备
CN117238032B (zh) 一种步态特征对比方法、存储介质及电子设备
CN113269176B (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