CN115115698A - 设备的位姿估计方法及相关设备 - Google Patents

设备的位姿估计方法及相关设备 Download PDF

Info

Publication number
CN115115698A
CN115115698A CN202110257474.4A CN202110257474A CN115115698A CN 115115698 A CN115115698 A CN 115115698A CN 202110257474 A CN202110257474 A CN 202110257474A CN 115115698 A CN115115698 A CN 115115698A
Authority
CN
China
Prior art keywords
image
feature
local
current frame
features
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
Application number
CN202110257474.4A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN202110257474.4A priority Critical patent/CN115115698A/zh
Priority to KR1020210162793A priority patent/KR20220126622A/ko
Priority to EP22159874.1A priority patent/EP4057226A1/en
Priority to US17/690,219 priority patent/US20220292715A1/en
Publication of CN115115698A publication Critical patent/CN115115698A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Paper (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了设备的位姿估计方法及相关设备,涉及人工智能技术领域。其中,设备的位姿估计方法包括:在关键帧集合中获取设备采集的当前帧的相似关键帧;基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;基于数据关联信息,获取设备的位姿;该方法的实施有利于提升位姿估计的速度和精度。同时,由电子设备执行的上述设备的位姿估计方法可以使用人工智能模型来执行。

Description

设备的位姿估计方法及相关设备
技术领域
本申请涉及人工智能技术领域,具体而言,本申请涉及设备的位姿估计方法及相关设备。
背景技术
随着人工智能技术的发展,该技术在各个领域均得到重用,如自动驾驶、机器人导航、增强现实等领域;在这些领域中,涉及设备的位姿估计技术,设备的位姿估计一般采用SLAM(simultaneous localization and mapping,即时定位与建图)技术实现。在SLAM处理的技术中,通过寻找设备采集的两幅图像之间的数据关联,确定出该设备位姿。
现有技术中,SLAM技术一般通过光流法和特征点法进行跟踪,以确定两幅图像之间的数据关联;然而,该跟踪方法受限于特征点的表达性能,无法准确寻找图像帧间的数据关联,影响了SLAM技术在设备的位姿估计上的稳定性和准确度。
发明内容
本申请的目的旨在提供一种设备的位姿估计方法及相关设备,以解决上述至少一个技术问题。本申请实施例所提供的方案具体如下:
第一方面,本申请提供了一种设备的位姿估计方法,包括:
在关键帧集合中获取设备采集的当前帧的相似关键帧;
基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;
基于数据关联信息,获取设备的位姿。
在一实施例中,在关键帧集合中获取设备采集的当前帧的相似关键帧,包括以下任一项:
提取当前帧的全局特征,基于全局特征在关键帧集合中获取当前帧的相似关键帧;
提取当前帧的全局特征,基于全局特征,确定关键帧集合中各关键帧与当前帧的第一相似度;提取当前帧的局部特征,基于局部特征,对第一相似度进行更新,得到关键帧集合中各关键帧与当前帧的第二相似度;基于第二相似度,获取当前帧的相似关键帧。
在一实施例中,基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息包括:
对当前帧进行帧间特征匹配,得到图像帧之间的第一数据关联信息;
基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息。
在又一实施例中,基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息,包括:
对当前帧进行帧间特征匹配,得到第一数据关联信息,第一数据关联信息包括各图像帧的特征之间的匹配关系;
基于当前帧与相似关键帧之间的特征匹配关系,判断各图像帧的特征是否为相同特征;
基于判断结果,合并相同特征;
基于合并后的特征,更新第一数据关联信息,得到第二数据关联信息。
在一实施例中,采用图像特征提取模型在关键帧集合中获取设备采集的当前帧的相似关键帧;
图像特征提取模型是通过如下方法训练得到的:
获取第一图像以及对第一图像进行旋折得到的第二图像;
基于第一图像和第二图像,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,得到训练后的图像特征提取模型。
在一实施例中,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,包括:
通过图像特征提取模型获取第一图像的局部特征和全局特征;
通过目标模型获得第二图像的局部特征,对第二图像的局部特征进行与旋折对应的共轭旋折;
基于第一图像的局部特征和共轭旋折后的第二图像的局部特征得到局部特征对;
基于局部特征对和全局特征,更新图像特征提取模型的参数。
第二方面,本申请提供了一种设备的位姿估计装置,包括:
第一获取模块,用于在关键帧集合中获取设备采集的当前帧的相似关键帧;
第二获取模块,用于基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;
第三获取模块,用于基于数据关联信息,获取设备的位姿。
第三方面,本申请提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器,用于在运行计算机程序时,执行本申请实施例所提供的设备的位姿估计方法。
第四方面,本申请提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时,执行本申请实施例所提供的设备的位姿估计方法。
本申请提供的技术方案带来的有益效果包括:
本申请提供一种设备的位姿估计方法,通过为设备采集的当前帧在关键帧集合中寻找相似关键帧,然后基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息,以基于该数据关联信息获取设备的位姿;该方案的实施通过当前帧与相似关键帧之间的特征匹配关系可以准确寻找到图像帧之间的数据关联信息,有利于提高图像帧跟踪的鲁棒性,提升位姿估计的准确度和计算速度。
另一方面,本申请提供的设备的位姿估计方法中,还利用在当前帧中提取到的全局特征或提取到的全局特征和局部特征在关键帧集合中获取当前帧的相似关键帧;该方法采用了全局特征或全局特征与局部特征的结合进行图像检索,有效提高了特征表达性能;在此基础上,结合对当前帧进行帧间序列跟踪的处理,有利于提升设备位姿估计的准确度。
又一方面,本申请提供的设备的位姿估计方法中,采用图像特征提取模型在关键帧集合中获取设备采集的当前帧的相似关键帧,其中,图像特征提取模型在训练过程中,是针对全局特征和局部特征进行联合训练的,该训练方式使得模型在学习提取全局特征和局部特征的过程中在彼此的学习中获得性能提升,进而提高了模型所提取全局特征和局部特征的表达性能。基于本申请提供的图像特征提取模型提取的全局特征和局部特征进行图像检索还可以有效提高图像检索的准确性,即有利于提高在关键帧集合中获取设备采集的当前帧的相似关键帧的准确性。
再一方面,在本申请提供的图像特征提取模型的训练过程中,在只有第一图像时通过对第一图像进行旋折处理得到第二图像,可以获得全局特征学习的第一图像的同时,还可以基于第二图像构建得到局部特征学习的成对图像块(基于第一图像的局部特征和共轭旋折后的第二图像的局部特征得到的局部特征对);该训练方法在不需要额外的训练数据的情况下,即可构建得到全局特征学习和局部特征学习所需的数据,有助于降低模型训练的成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请的一种实施例提供的设备的位姿估计方法的流程图;
图2为本申请的一种实施例提供的基于图像检索和几何验证的设备的位姿估计的系统示意图;
图3为本申请的一种实施例提供的基于图像检索的异步跟踪进行设备的位姿估计操作的流程图;
图4为本申请的一种实施例提供的基于光流法和特征点法的帧间特征匹配操作的示意图;
图5为本申请的一种实施例提供的全局特征和局部特征联合优化的图像特征提取模型训练的框架示意图;
图6为本申请的一种实施例提供的基于共轭随机旋折的局部特征自监督学习网络的示意图;
图7为本申请的一种实施例提供的全局特征和局部特征联合优化的图像特征提取模型的推断示意图;
图8为随机旋折的原理图;
图9为本申请的一种实施例提供的设备的位姿估计装置的结构示意图;
图10为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为了更好的理解及说明本申请实施例所提供的方案,下面首先对本申请所涉及的相关技术进行说明。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。在本申请实施例中,主要涉及计算机视觉技术。
其中,在本申请中涉及到设备的位姿估计技术,而实现设备的位姿估计一般通过SLAM(simultaneous localization and mapping,即时定位与建图)实现。处理SLAM的问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边移动一边逐步描绘出此环境完全的地图,完全的地图(a consistent map)是指不受障碍行进到区域内可进入的每个角落。具体地,通过捕获各种传感器(如激光雷达LiDAR,相机Camera,惯性导航元件IMU,全球定位导航GPS,深度传感器Kinect等)的输入,实时估计位姿,同时构建三维场景。该技术在自动驾驶、机器人导航、增强现实领域中得到广泛应用。其中相机Camera因为能够获得更丰富的纹理信息,且不受距离、建筑物遮挡等的影响,在SLAM系统中被大量使用。而在SLAM处理的技术中寻找到两幅图像(可以是帧图像)之间的数据关联,关系着SLAM系统相机跟踪的准确度,同时也关系着SLAM系统中跟踪的鲁棒性。
在相关技术中,SLAM系统通过传统的光流法和特征点法进行跟踪,往往受限于特征点的表达性能,造成一个特征点的长时间跟踪(long term tracking)被分割为多个短时间跟踪(short term tracking)的结果,无法准确寻找图像帧间的数据关联,影响了SLAM系统的稳定性和准确度。
为解决上述技术问题,本申请提供一种设备的位姿估计方法,通过当前帧与相似关键帧之间的特征匹配关系可以准确寻找到图像帧之间的数据关联信息,有利于提高图像帧跟踪的鲁棒性,提升位姿估计的准确度和计算速度。
另,本申请还可以考虑将图像检索技术应用到SLAM系统中,以提高位姿估计的准确度。其中,图像检索技术是通过计算任意两幅图像之间的相似度,寻找最相似的图像。然而,在相关技术中,图像检索技术往往仅利用全局特征进行检索,或利用局部特征进行几何验证,前者的准确率较低,后者的时间复杂度较高。
为解决上述技术问题,提高全局特征或局部特征的表达性能,本申请还采用基于全局特征和局部特征联合训练的方法训练得到的图像特征提取模型提取当前帧中的全局特征和局部特征,以提高在关键帧集合中获取设备采集的当前帧的相似关键帧的准确率。
另外,现有的数据集往往只有图像级别的标注,只能用于全局特征的学习;而对于标注了局部特征对应关系的数据集,往往受限于标注成本以及获取数据的困难程度,数据集往往较小;现有方法无法解决全局特征和局部特征联合学习时对于数据集的要求。因此,在数据集的角度切入,解决技术问题的关键在于如何生成可用于局部特征学习的图像对。其中,图像对具有如下特性:(1)图像对之间存在像素对像素的对应关系;(2)图像对及其所对应的局部特征对之间具有足够的差异。现有技术中,针对局部特征的学习,一般是使用预先计算得到的图像对。
为解决上述技术问题,本申请在所提出的图像特征提取模型的训练方法的基础上,提出了一种共轭随机旋折算法,通过提出的共轭随机旋折算法,在只有图像级别标注的数据集上,同时提供了用于全局特征和局部特征联合学习所需要的全局图像和局部图像对,使得可以在只有图像级别标注的数据集上,能够提升全局特征和局部特征联合学习的效率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体地实施例和附图对本申请的各可选的实施方式及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
下面结合图1、图2和图3对本申请提出的一种设备的位姿估计方法进行说明。
在一实施例中,如图1所示,本申请实施例提供的设备的位姿估计方法包括以下步骤S101-103:
步骤S101:在关键帧集合中获取设备采集的当前帧的相似关键帧。
具体地,设备可以是相机、移动拍摄设备等,相机还可以安装在移动设备上,如安装在扫地机器人、可穿戴设备上。其中,设备采集的当前帧可以是该设备实时采集的图像数据,如扫地机器人一边移动一边拍摄的图像数据。
其中,在关键帧集合中可以包括进行位姿估计的历史数据产生的多个关键帧。关键帧集合可以采用SLAM技术构建,具体地,可以通过下述方式进行构建:首先提取图像采集设备输入图像(处理过程以当前帧与上一帧进行表述)的特征点,进而基于当前帧与上一帧图像之间的特征点跟踪的个数,更新关键帧集合中包括的关键帧。可选地,关键帧集合可以构成SLAM系统中的全局地图(又称关键帧地图)。
其中,如图4所示,在说明关键帧集合构建之前,先针对实现对输入图像的特征点跟踪的方法进行说明,具体地,可以通过下述两种方法中的任何一种进行:
方法一,在当前帧和上一帧(前一帧)或参考关键帧之间基于特征点匹配的跟踪:对输入图像提取ORB(Oriented FAST,有方向的FAST关键点)等特征点和对应的描述子,并与上一帧输入图像的描述子比较,获得前后两帧之间的特征点匹配关系。其中,参考关键帧一般是关键帧集合中时序上最新的一个关键帧。
方法二,基于光流法的帧间跟踪:通过上一帧图像的特征点,通过光流法在当前帧(输入图像中当前正在处理的图像帧)上寻找对应的特征点,并通过描述子筛选掉错误的特征点匹配,得前后两帧之间的特征点匹配关系。如果当前帧上获得的匹配的特征点少于设定的阈值,将在当前帧中重新提取关键点和描述子。
其中,在SLAM系统的处理中,特征点包括关键点和描述子,关键点是指特征点在图像中的位置,而描述子是指关键点的朝向和周围像素信息。
具体地,通过比较前后两帧之间的跟踪状态,确定是否将当前帧作为关键帧,若选为关键帧则当前图像将加入关键帧集合中,用于后面的光束平差法,以及回环检测和重定位模块。在判断前后两帧之间的跟踪状态时,通过比较当前帧跟踪的特征点个数以及新提取的特征点(如当前帧上获得的匹配的特征点少于设定的阈值,则在当前帧中重新提取的特征点)的个数来确定,若跟踪的特征点个数小于给定数值或者新提取的特征点个数超过给定数值,则当前帧将作为关键帧集合中的关键帧。
可选地,关键帧集合中包括的关键帧是随着获取到的输入图像而实时更新的;若将当前帧作为关键帧则将当前帧存入关键帧集合中。
具体地,相似关键帧是指与当前帧具有相似性的关键帧,其可以是基于当前帧在关键帧集合中进行图像检索,获取相似度较高的关键帧作为当前帧的相似关键帧;相似关键帧不限于一帧图像帧,还可以是多帧图像帧。
步骤S102:基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息。
具体地,在获取到当前帧与相似关键帧之后,可以分别提取当前帧与各相似关键帧的特征,基于提取得到的特征进行特征匹配确定当前帧与相似关键帧之间的特征匹配关系。可选地,提取的特征可以是点、线、面等特征,本申请对此不作限。其中,在提取特征点时,包括提取的关键点与描述子;在此基础上,特征匹配包括关键点匹配。
具体地,在基于当前帧与相似关键帧之间的特征匹配关系图像帧之间的数据关联信息时,可以基于各图像帧中相同的特征进行合并,基于合并的特征确定图像帧之间的数据关联信息。
步骤S103:基于数据关联信息,获取设备的位姿。
具体地,在获得数据关联信息后,可以根据光束平差法等基于数据关联信息计算设备的位姿,得到更加准确的位姿结果。
下面结合图2和图3,针对在关键帧集合中获取设备采集的当前帧的相似关键帧的具体过程进行说明。
在一实施例中,步骤S101中在关键帧集合中获取设备采集的当前帧的相似关键帧,包括以下步骤A1-A2中的任一项:
步骤A1:提取当前帧的全局特征,基于全局特征在关键帧集合中获取当前帧的相似关键帧。
具体地,可以通过提取当前帧的全局特征在全局提取中进行图像检索。关键帧集合中可能包括多个关键帧,在步骤A1实施时,可以通过全局特征计算当前帧与关键帧集合中各关键帧的相似度,基于该相似度获取相似度较高的关键帧作为当前帧的相似关键帧。
步骤A2:提取当前帧的全局特征,基于全局特征,确定关键帧集合中各关键帧与当前帧的第一相似度;提取当前帧的局部特征,基于局部特征,对第一相似度进行更新,得到关键帧集合中各关键帧与当前帧的第二相似度;基于第二相似度,获取当前帧的相似关键帧。
其中,在基于全局特征,确定关键帧集合中各关键帧与当前帧的第一相似度时,可以理解为基于全局特征在关键帧集合中进行图像检索的过程。进一步地,还可以基于第一相似度对各关键帧进行排序。
其中,提取当前帧的局部特征,基于局部特征,对第一相似度进行更新,得到关键帧集合中各关键帧与当前帧的第二相似度时,可以理解为基于局部特征对第一相似度进行几何验证的过程。
可选地,还可以提取当前帧的局部特征点注意力分数,进而结合局部特征对第一相似度进行几何验证,并基于几何验证结果更新第一相似度后可以获得第二相似度。其中,几何验证的过程包括:在提取得到局部描述子(局部特征)以及每个局部描述子的分数(通过局部特征点注意力分数图得知)后,通过选择分数最大的若干个局部描述子,并通过它们在当前帧上的位置计算对应的感知野的中心作为局部描述子对应的特征点的位置(关键点),基于该位置确定当前帧与关键帧的相似度并更新第一相似度。
其中,基于第二相似度,获取当前帧的相似关键帧时,可以基于第二相似度取相似度最高的关键帧作为相似关键帧(又称共视帧)。也可以基于第二相似度对各关键帧进行相似度降序排序,取排序在前的N帧关键帧作为相似关键帧。
其中,全局特征是指图像的整体属性,一般而言,全局特征的感知野是整幅图像,将整幅图像用一个向量来表示,具有对于光照、视野变化等具有良好的不变性,而且计算量小,存储空间小。
其中,局部特征是从图像局部区域中抽取的特征,一般而言,局部特征的感知野是整幅图像的局部区域,容易受到光照、视野变化的影响,但是整幅图像由局部特征描述时,局部可证可以和其所对应的位置一起进行几何验证,往往具有较强的抗干扰能力,表现性能较好,但是计算量高,存储空间高。
具体地,可以基于全局特征进行图像检索,如以当前帧为给定图像,在SLAM系统中已构建的关键帧集合中包括的各个图像帧(关键帧)中检索与给定图像相似度较高的图像帧。在此基础上,可以基于局部特征和局部特征点注意力分数图对图像检索过程中得到的相似度进行几何验证。从而基于几何验证的结果在关键帧集合中取相似度较高的几个关键帧作为相似关键帧,基于给定图像(当前帧)与相似关键帧之间的匹配关系确定图像帧之间的数据关联信息。
下面结合图2和图3针对如何基于当前帧与相似关键帧之间的特征匹配关系获取图像帧之间的数据关联信息的具体过程进行说明。
在一实施例中,步骤S102中基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息,包括以下步骤B1-B2:
步骤B1:对当前帧进行帧间特征匹配,得到图像帧之间的第一数据关联信息。
其中,针对当前帧进行帧间特征匹配的方法可以参考步骤S101中实现对输入图像的特征点跟踪方法实现,如在当前帧和上一帧(前一帧)或参考关键帧之间基于特征点匹配的跟踪方法或基于光流法的帧间跟踪方法。在针对当前帧进行帧间特征匹配后,可以确定当前帧与关键帧集合中关键帧的特征匹配关系,进而基于该特征匹配关系可以得到图像帧之间的第一数据关联信息。
具体地,如图2和图3所示,根据最新输入的若干帧之间的特征点匹配关系,可以建立当前帧和关键帧集合中所有关键帧之间的数据关联。还可以通过光束平差法更新各帧所对应的相机位姿以及特征点的3D坐标,同时输出当前帧的设备位姿。
步骤B2:基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息。
具体地,如图2和图3所示,在步骤B1执行的过程中,可以通过线程执行步骤B2,通过步骤B2执行基于图像检索的异步跟踪操作,确定当前帧与相似关键帧之间的特征匹配关系,进而基于该特征匹配关系对步骤B1中由主进程执行帧间序列跟踪获得的第一数据关联信息进行更新,更新后的数据关联信息为图像帧之间的第二数据关联信息。
其中,计算特征匹配关系的过程可以包括:提取当前帧和查询得到的相似关键帧上的特征点和描述子,并通过每个特征点对应的深度值,可得到当前帧和相似关键帧所对应的三维点云;通过三维点云,对应的设备位姿和描述子计算两帧之间的特征点匹配关系。
可选地,在步骤B2中基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息,包括以下步骤C1-C4:
步骤C1:对当前帧进行帧间特征匹配,得到第一数据关联信息,第一数据关联信息包括各图像帧的特征之间的匹配关系。
步骤C2:基于当前帧与相似关键帧之间的特征匹配关系,判断各图像帧的特征是否为相同特征。
具体地,可以基于当前帧与每一相似关键帧之间的特征匹配关系,判断两两图像帧上的特征是否为相同特征。如当前帧上的特征A和相似关键帧上的特征B通过两帧之间的特征匹配关系认为是同一特征,则所有图像帧上的特征A和特征B都将被认为是相同特征。
步骤C3:基于判断结果,合并相同特征。
具体地,当判断出当前帧上的一个特征与相似关键帧上的一个特征属于相同特征时,合并该相同的特征,以减少针对各个分散特征的跟踪操作,提高图像帧跟踪的稳定性和准确性。
具体地,在合并相同特征生成新的特征的同时,新生成的特征包含了原有这些不相同特征的所有信息,还将移除这些原来认为是不相同的冗余特征,也即将当前帧与相似关键帧上提取得到的这些需要合并为同一特征的不相同的特征进行移除,以提高图像帧跟踪的稳定性和准确性。
步骤C4:基于合并后的特征,更新第一数据关联信息,得到第二数据关联信息。
具体地,步骤C4的执行可以包括如下两种情况:
第一种:如图2所示,可以将合并后的特征反馈至主进程,对主进程中得到的第一数据关联信息进行更新,得到第二数据关联信息。
第二种:如图3所示,可以在得到合并后的特征时,获取主进程中备份的第一数据关联信息,在线程中完成对第一数据关联信息的更新,进而直接将第二数据关联信息反馈至主进程,由主进程直接基于第二数据关联信息获取设备的位姿。
在本申请实施例中,可以根据获取的特征匹配关系,将两个匹配的特征所对应的短时间跟踪恢复为一个长时间的跟踪(即步骤C3中的合并特征的操作),返回主进程并跟踪数据关联。主进程可以更新数据关联信息,其中,由于短时间跟踪的特征(当前帧与相似关键帧中不相同的特征)被重新判断为同一特征而被合并为长时间跟踪的特征,短时间跟踪的特征认为是冗余特征而被移除,在此基础上,主进程可以重新根据光束平差法计算图像采集设备位姿,得到更加准确的位姿结果。
在一实施例中,如图2和图3所示,本申请提供的位姿估计方法可以应用在本申请提供的SLAM系统中,该系统可以由主进程对输入的图像进行帧间序列跟踪,由线程采用图像检索模型对输入图像进行基于图像检索的异步跟踪,其中,图像检索模型中包括由下述实施例提供的图像特征提取模型,由该图像特征提取模型对输入的图像进行处理得到全局特征、局部特征和局部特征点注意力分数图;线程的引入可以协助SLAM系统在不影响主进程的情况下,异步进行相似关键帧的查找,恢复得到长时间跟踪的特征,从而提高SLAM系统的精度,同时移除掉短时间跟踪特征,有助于降低优化参数数量从而降低计算复杂度。
在一实施例中,可以采用包括图像特征提取模型的网络获取当前帧的相似关键帧。
在本申请实施例中,为解决相关的图像检索技术中仅仅依靠全局特征进行检索的速度快却准确率低,或利用局部特征进行几何验证准确率高却速度慢的问题,本申请提出了一种全局特征和局部特征联合训练的方法(图像特征提取模型的训练方法),使得两者都能够从彼此的学习中获得提升,在速度和准确率上都达到当前最佳的性能;基于该方法训练得到图像特征提取模型可以应用于如图3所示线程的网络中。
在图像检索技术中涉及到图像特征的提取,图像特征提取模型的训练中,训练全局特征一般只需要单幅图像构成的数据集,而训练局部特征则需要成对的图像块,因此对局部特征的训练带来了困难。为了能够实现将全局特征和局部特征在一个网络上进行联合训练,需要解决网络结构选择以及数据生成的问题。为解决全局特征学习和局部特征学习输入的不同,以及构建局部特征的数据集要求成对图像块的问题,本申请提出了一种共轭随机旋折算法(Conjugate Random RF),使得在只有图像构成的数据集中,通过对输入图像进行共轭随机旋折,在获得全局特征学习所需要的输入图像的同时,又构建得到局部特征学习的成对图像块。在不需要额外的训练数据的情况下,即可构建得到全局特征学习和局部特征学习所需要的数据集。下面本申请实施例提供的一种图像特征提取模型的训练方法;其中,图像特征提取模型如图5和图6所示,图像特征提取模型在训练时引入了目标模型;下面在详细说明本申请提供的训练方法的各个步骤之前,首先对图像特征提取模型(可以是深度网络)的架构进行说明。
具体地,如图5所示,训练时,在图像特征提取模型(又称在线模型,或在线卷积神经网络)中包括三个分支,局部特征分支(Local Feature Branch)、全局特征分支(GlobalFeature Branch)和自监督分支(又称像素级自监督学习分支,Pixel-wised Self-Supervised Learning Branch);其中,全局特征分支用于对第一图像(又称锚点图像)进行处理得到全局特征;局部特征分支用于对第一图像进行处理得到局部特征点注意力分数图;自监督分支则用于与引入的目标模型(又称目标卷积神经网络)进行结合基于局部特征进行提取局部特征的学习。
可选地,在全局特征分支中,采用广义均值池化层(GeM)和白化层构成全局特征学习的骨干网络。其中,白化层是具有学习偏置
Figure BDA0002968131960000151
的全连接层
Figure BDA0002968131960000152
在本申请实施例中,可以将特征图
Figure BDA0002968131960000153
作为骨干网络的输出,基于此,针对给定的图像
Figure BDA0002968131960000154
全局特征g可以将整个图像总结如下公式(1)所示:
Figure BDA0002968131960000161
在上述公式(1)中,
Figure BDA0002968131960000162
表示一个特征在特征图D中的位置(h,w);p为GeM池化层的超参数。
可选地,如图5所示,在局部特征分支中,将中间层的输出作为残差网络ResNet模型的输入,其旨在通过注意力模块(attention module)来预测所提取局部特征
Figure BDA0002968131960000163
中的哪一特征对感兴趣的对象有所区别。注意力模块可以预测局部特征图L上每个特征的分数,对应输出局部特征点注意力分数。当图像特征提取模型训练后,在图像检索的推理过程中,仅选择具有最高注意力分数的局部特征以及与其对应的感知野中心作为关键点位置用于几何验证。因此,注意力模块可以被视为粗略的关键点检测器。而在训练过程中,注意力模块输出的注意力分数图A可以用于指导自监督学习分支中负样本队列的更新(将在后续实施例中详述)。
可选地,通过自监督分支将全局特征和局部特征统一在一个模型中,自监督分支旨在改善局部特征的性能,并将梯度反向传播至骨干网络以改善全局特征的性能。其中,如图5所示,自监督分支由在线卷积神经网络和目标卷积神经网络构建,两个网络可以共享相同的体系结构,而具有不同的网络参数。在线卷积神经网络和目标卷积神经网络,可以包括编码器(encoder)和投影头(projection head);编码器由最终输出是局部特征L的局部特征分支中的层构成,投影头是由两个完全连接的层构成的多层感知机(MLP)。投影头将特征空间中的局部特征
Figure BDA0002968131960000164
投影到嵌入空间中形成嵌入特征
Figure BDA0002968131960000165
在自监督学习中,针对给定的图像I,数据增强模块将从图像I中采样查询图像(又称第一图像、或锚点图像)Iq和关键图像(又称第二图像、或正样本图像)Ik。查询图像Iq被输入到在线卷积神经网络(在线模型)中,而关键图像Ik被输入到目标卷积神经网络(目标模型)中;嵌入特征
Figure BDA0002968131960000171
表示在线模型的输出,嵌入特征
Figure BDA0002968131960000172
表示目标模型的输出。将
Figure BDA0002968131960000173
作为每个特征图中位置(h,w)的嵌入特征,在本申请实施例中,可以构建正样本(positive)局部特征对
Figure BDA0002968131960000174
以用于自监督学习。具体地,在本申请实施例中提出一种新的数据增强方法共轭随机旋折算法实现图像对(局部特征对)的构建。
其中,如图5所示,只有在线模型在训练过程中通过反向传播进行更新,而目标模型是借助动量更新方法在在线模型的帮助下进行更新。形式上,将在线模型fq的参数表示为θq,将目标模型fk的参数表示为θk,通过以下关系θk=mθk+(1-m)θq更新参数θk。其中,动量系数m∈[0,1);m=0表示在线模型和目标模型共享相同的参数,但仅将局部特征Lq的梯度反向传播到骨干网络。
在一实施例中,本申请提供的图像特征提取模型是通过如下方法训练得到的,该方法包括以下步骤D1-D2:
步骤D1:获取第一图像以及对第一图像进行旋折得到的第二图像。
具体地,第一图像可以是对训练图像进行处理后得到的图像,在训练图像对应的训练数据集中,每一图像可以携带有对应的图像级别的标注。
在一实施例中,训练图像为用于训练图像特征提取模型的训练样本数据,可以包括多幅图像,或多帧图像。其中,第一图像Anchor是对每一训练图像进行大小重置处理得到的图像,如可以是裁剪、缩放等处理操作。第二图像positive是对每一第一图像进行旋折得到的图像,第一图像与第二图像具有一一对应关系。
可选地,在获得第一图像和第二图像之后,还可以针对第一图像和第二图像进行数据增广,数据增光可以包括随机颜色光度变化、随机灰度尺度变化、随机高斯模糊等。
下面针对基于训练图像得到第一图像的具体过程进行说明。
在一实施例中,步骤D1中获取第一图像,可以包括以下步骤D11-D13:
步骤D11:获取训练图像。
具体地,训练图像可以是基于图像特征提取模型应用场景获取的图像数据,如当前应用于扫地机器人时,训练图像可以是各种家居图像。
步骤D12:随机裁剪训练图像得到裁剪图像。
具体地,考虑到步骤D11中获取的训练图像大小不一,可以对训练图像进行随机裁剪,如随机按照400x300的大小或者224x224的大小进行裁剪。
步骤D13:基于预设图像大小重置裁剪图像,得到训练图像的第一图像。
具体地,重置可以理解为对裁剪图像进行缩放处理,如将不同大小的裁剪图像基于预设图像大小进行放大或缩小处理,可以是等比例的,也可以是经过压缩的。
下面结合图8,针对基于第一图像进行旋折处理得到第二图像的具体过程进行说明。
在一实施例中,步骤D1中对第一图像进行旋折得到第二图像,包括以下步骤D111-D112中的至少一项:
步骤D111:对第一图像进行旋转,得到旋转随机角度后对应的第二图像。
具体地,如图8所示,随机旋转Random Rotation用于围绕中心旋转图像或特征图。根据旋转的顺时针旋转角度,存在四个不同的旋转角度,分别为:0°,90°,180°,270°。每种类型都有一个对应的代码:0、90、180、270。每个代码都有一个共轭代码:0、270、180、90。其中,每种类型对应的转换公式为:(x,y)、(w-1-y,x)、(w-1-x,w-y)、(y,w-1-x);其中w表示旋转角度,x表示特征点在图像中的横轴向位置,y表示特征点在图像中的纵轴向位置。给定一个方阵M,一个旋转操作会将M转换为M′,而其共轭旋转操作则将M′转换为原始矩阵M。
步骤D112:对第一图像进行翻折,得到翻折随机轴后对应的第二图像。
具体地,如图8所示,随机翻转(随机翻折)Random Flip用于根据翻转方向翻转图像或特征图。根据翻转的方向,有五种不同的翻转:无翻转,水平翻转,垂直翻转,主要对角线翻转,辅助对角线翻转。每个类型都有一个对应的代码:X,H,V,P,Q。每个代码都有一个共轭代码:X,H,V,P,Q。其中,每种类型对应的转换公式为:(x,y)、(w-1-x,y)、(x,w-1-y)、(w-1-y,w-1-x)、(y,x);其中w表示翻转方向,x表示特征点在图像中的横轴向位置,y表示特征点在图像中的纵轴向位置。对于方矩阵M,一次翻转操作会将M转换为M′,而其共轭翻转操作会将M′转换为原始矩阵M。
在一实施例中,从随机旋转和随机翻折的随机组合中,一共可以得到二十种随机旋折算法。即在本申请中不限定只能针对第一图像进行随机旋转或随机翻折,其可以对第一图像进行随机旋转叠加随机翻折的操作。
在本申请实施例中,对第一图像进行随机旋折(包括随机旋转和随机翻折中的至少一种)得到第二图像,有利于提高训练样本的多样性,进而提高模型学习特征表达的性能。
步骤D2:基于第一图像和第二图像,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,得到训练后的图像特征提取模型。
具体地,采用一个图像特征提取模型进行全局特征和局部特征的联合学习,即训练后的图像特征提取模型可以同时提取全部特征和局部特征;联合学习的实施有利于彼此进行学习,提高全局特征和局部特征的表达能力。
在本申请实施例中,提出了一种通过自监督学习来统一全局特征和局部特征学习的方法,称为PULG(Unify Local Feature and Global Feature for Image Retrievalvia Pixel-wised Self-Supervised Learning,基于像素级自监督学习的全局特征和局部特征的联合训练)方法。全局特征和局部特征的提取可以在一个模型中进行训练,且可以彼此相互学习。其中,本申请提出的PULG方法在局部特征上应用自监督学习作为辅助任务,旨在改善局部特征的表示,并且可以将梯度反向传播到主干网络,最终从局部特征的学习中受益于全局特征。
在一实施例中,步骤D2中可以理解为基于第一图像和第二图像,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,得到训练后的图像特征提取模型。
具体地,如图5和图6所示,图像特征提取模型(又称在线模型)在训练时还结合引入的目标target模型进行训练,第一图像为在线模型的输入,第二图像为目标模型的输入,也即输入图像特征提取模型的训练样本数据中,是将一一对应的第一图像和第二图像作为每一轮训练的输入。
具体地,如图7所示,训练后的图像特征提取模型无需目标模型配合处理,即通过输入图像后,通过在线模型可以提取得到全局特征、局部特征和局部特征点注意力分数图。
具体地,步骤D2中通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,包括以下步骤E1-E4:
步骤E1:通过图像特征提取模型获取第一图像的局部特征和全局特征。
具体地,在线卷积神经网络(Online Convolutional NeuralNetworks,OnlineCNN)对应于图像特征提取模型,其在训练过程中横跨全局特征分支、局部特征分支和自监督分支(如图5所示)。针对全局特征分支而言,第一图像经在线卷积神经网络处理得到全局特征。针对局部特征分支而言,第一图像经在线卷积神经网络处理得到第一图像的局部特征图后,通过由多层感知机构成的注意力模型生成局部特征点注意力分数图,将局部特征点分数图和第一图像的局部特征图经加权和池化处理可以得到局部聚合特征(可以应用于损失函数的计算)。针对自监督分支而言,第一图像经在线卷积神经网络处理得到第一图像的局部特征图,在该分支中,还构建有多层感知机,第一图像的局部特征图通过多层感知机进行映射可以得到其嵌入特征。
步骤E2:通过目标模型获得第二图像的局部特征,对第二图像的局部特征进行与旋折对应的共轭旋折。
具体地,目标卷积神经网络(Target Convolutional Neural Networks,TargetCNN)是在训练过程中引入用于协助训练图像特征提取模型的一部分网络结构,其在训练过程中应用在自监督分支中(如图5所示)。第二图像经目标卷积神经网络处理后得到第二图像的局部特征图,在该分支中,还构建有多层感知机,第二图像的局部特征图通过多层感知机进行映射可以得到其嵌入特征(第二图像的局部特征图)。
具体地,相应于步骤D1中第一图像进行旋折后得到第二图像的处理,步骤E2中对第二图像的局部特征进行共轭旋折处理,可以得到共轭旋折后的第二图像的局部特征。其中,共轭旋折处理为非随机处理,具体是根据步骤D1中随机旋折时采用的方式进行共轭处理,如随机旋折对应为旋转时,则对第二图像的局部特征进行共轭旋转。
下面结合图8,针对基于第二图像的局部特征进行共轭旋折处理得到共轭旋折后第二图像的局部特征的具体过程进行说明。
在一实施例中,步骤E2中对对第二图像的局部特征进行与旋折对应的共轭旋折,包括步骤:基于对第一图像的旋折处理,对第二图像的局部特征进行共轭旋折,得到与第一图像的局部特征一一对应的第二局部特征。
具体地,针对步骤D1中在第一图像上执行的随机旋折RandomRF操作,在本实施例中在第二图像的局部特征上执行(可以理解为在第二图像的局部特征所在的特征图上执行)其对应的共轭随机旋折RandomRF操作。如随机旋折可以将图像A变为图像B,则其对应的共轭随机旋折可以将图像B变回图像A。步骤D1和步骤E2的操作可以确保包含查询特征的局部特征图(第一图像的局部特征所在的特征图,又称锚点局部特征图)和包含键值特征的局部特征图(第二图像的局部特征所在的特征图,又称正样本局部特征图)之间像素对像素的对应关系。而且能够只通过一次裁剪,就可获得包含充足多样性的正样本局部图像对和正样本局部特征对。正样本对之间的多样性能够保证网络在训练过程中产生足够大的差异,这种差异能够允许本实施例使用对比误差损失函数对网络进行监督,使得骨干网络学习到更好的性能。
步骤E3:基于第一图像的局部特征和共轭旋折后的第二图像的局部特征得到局部特征对。
具体地,如图5所示,基于第一图像的局部特征和第二图像的局部特征之间一一对应的关系,可以构成局部特征对,该局部特征对可以应用于图像特征提取模型中局部特征的学习过程中。也即本申请实施例通过引入目标卷积神经网络提取第二图像的局部特征,通过结合第一图像的局部特征和第二图像的局部特征可以得到训练提取局部特征的训练样本数据(局部特征对),以减少额外获取用于训练局部特征提取的训练样本数据的成本。
可选地,可以基于局部特征对进行损失函数的计算以更新图像特征提取模型的网络参数。
在一实施例中,在自监督分支中,分别针对在线模型输出的第一图像的局部特征图和目标模型输出的第二图像的局部特征图采用多层感知机进行映射,可以得到各自对应的嵌入特征(可以体现为局部特征);进而,可以基于第一图像的局部特征图和第二图像的局部特征图之间的对应关系,得到一一对应的局部特征对。
步骤E4:基于局部特征对和全局特征,更新图像特征提取模型的参数。
具体地,如图5所示,全局特征分支基于全局特征进行误差函数的计算,局部特征分支基于局部特征点注意力分数图进行误差函数的计算,自监督分支基于局部特征对(具体为结合第一图像的局部特征和第二图像的局部特征得到的局部特征对)进行误差函数的计算,进而基于三个误差进行回传,优化网络模型(在线模型和目标模型),其中,局部特征分支的梯度gradient不回传至骨干网络。
本申请提出的共轭随机旋折算法分别应用于第一图像和第二图像的局部特征上,以生成局部特征对,能够使用一个输入图像生成局部特征对,而无需额外获取局部特征学习所需的局部特征对数据。具体地,通过提出的共轭随机旋折算法,在只有图像级别标注的数据集上,同时提供了用于全局特征和局部特征联合学习所需要的全局图像和局部图像对,使得能够在只有图像级别标注的数据集上,能够实现全局特征和局部特征的联合学习。
结合图5和图7可见,本申请实施例提出的PLUG模型是基于卷积神经网络的多任务模型,在模型的训练过程中,模型可以由三个分支构成:全局特征分支、局部特征分支和自监督学习分支;而在模型的推理过程中,可以仅采用全局特征分支和局部特征分支。可以理解的是,在模型的训练过程中,自监督学习分支的引入有利于提高全局特征和局部特征的表达性能。
下面针对基于全局特征、和局部特征对更新图像特征提取模型的网络参数的具体过程进行说明。
在一实施例中,步骤E4中基于全局特征、和局部特征对,更新图像特征提取模型的网络参数,包括以下步骤E41-E44:
步骤E41:基于全局特征在分类任务上通过交叉熵损失函数确定第一损失值。
具体地,获取的每一训练图像携带有真实类别标签,在本申请实施例中,可以通过全局特征在分类任务上估计训练图像对应的预测类别标签,进而基于真实类别标签与预测类别标签通过交叉熵损失函数确定第一损失值。
具体地,全局特征g归一化后通过ArcFace误差函数在分类任务上通过交叉熵损失函数进行监督学习,采用交叉熵损失函数计算第一损失值可以体现如下公式(2)所示:
Figure BDA0002968131960000231
其中,
Figure BDA0002968131960000232
是全局特征g归一化处理后的结果,y是一个one-hot向量(一位有效编码),yk表示全局特征g属于图片分类任务的第k类,且仅有yk=1。
步骤E2:基于局部特征点注意力分数图在分类任务上通过交叉熵损失函数确定第二损失值。
具体地,在局部特征分支中,采用与全局特征分支相同的分类任务来训练注意力模块。
可选地,步骤E42中基于局部特征点注意力分数图在分类任务上通过交叉熵损失函数确定第二损失值,包括以下步骤E421-E422:
步骤E421:基于第一图像的局部特征图和局部特征点注意力分数图进行加权求和,得到局部聚合特征。
具体地,将第一图像的局部特征图归一化后与局部特征点的注意力分数图进行加权求和,可以表示如下公式(3)所示:
Figure BDA0002968131960000241
其中,
Figure BDA0002968131960000242
为归一化后的第一图像的局部特征图,A为局部特征点的注意力分数图。
步骤E22:基于局部聚合特征在分类任务上通过交叉熵损失函数确定第二损失值。
具体地,在分类任务通过全连层(包含卷积层w和偏置b)及交叉熵损失函数进行监督学习,局部特征分支的损失可以表示为标准的softmax激活函数的交叉熵损失,如下公式(4)所示:
Figure BDA0002968131960000243
其中,wi为类别i的分类器权重,bi为类别i的偏差,y是一个one-hot向量(一位有效编码),k是分类任务真实类别groundtruth中的一种(yk=1)。
步骤E43:基于局部特征对通过交叉熵损失函数确定第三损失值。
具体地,采用非参数分类器(如数据集InstDest,MoCo和Mo-CoV2所使用的分类器)训练自监督分支,通过正样本局部特征对(由步骤E3得到的局部特征对)和负样本局部特征对的余弦分数替换完全连接层来构建分类器。
可选地,步骤E43中基于局部特征对通过交叉熵损失函数确定第三损失值,包括以下步骤E431:
步骤E431:基于局部特征对与负样本局部特征通过交叉熵损失函数确定第三损失值;其中,局部特征对包括第一图像的局部特征图上的锚点局部特征和第二正样本局部特征图上的正样本局部特征;负样本局部特征包括上一轮模型训练过程中局部特征点注意力分数的最大值对应的正样本局部特征。
具体地,自监督学习分支的损失函数可以表示如下公式(5):
Figure BDA0002968131960000251
其中,τ是温度超参数,
Figure BDA0002968131960000252
是负样本队列中的第一图像的局部特征(又称锚点局部特征)eq、第二图像的局部特征(又称正样本局部特征)ek、负样本局部特征en的归一化嵌入特征。
其中,负样本局部特征来自之前的批训练过程中,获取第一图像的局部特征点注意力分数图A的最大值,获取其所对应的第二图像的局部特征,送入到负样本队列中,作为下一个批训练过程中的负样本en,其中负样本队列长度取固定值,且按照先进先出的方式进行队列更新。
步骤E44:基于第一损失值、第二损失值和第三损失值更新图像特征提取模型的网络参数。
具体地,将全局特征损失函数Lg,局部特征点注意力损失函数Li,局部特征自监督损失函数Lpssl通过加权求和计算得到总损失值L后用于网络的学习,其中,加权系数β=1,γ=0.1;总损失值L可以表示如下公式(6):
L=Lg+βLl+γLpssl
......公式(6)
下面针对图像特征提取模型的网络参数更新的具体过程进行说明。
在一实施例中,步骤E44中基于第一损失值、第二损失值和第三损失值更新图像特征提取模型的网络参数,包括以下步骤E441-E442:
步骤E441:基于第一损失值、第二损失值和第三损失值更新在线卷积神经网络的网络参数;
步骤E442:基于在线卷积神经网络的网络参数对目标卷积神经网络的网络参数进行更新。
可选地,在更新网络参数时,只有在线模型在训练过程中基于第一损失值、第二损失值和第三损失值通过梯度反向传播进行更新,而目标模型是借助动量更新方法在在线模型的帮助下进行更新。形式上,将在线模型fq的参数表示为θq,将目标模型fk的参数表示为θk,通过以下关系θk=mθk+(1-m)θq更新参数θk。其中,动量系数m∈[0,1);m=0表示在线模型和目标模型共享相同的参数,但仅将局部特征Lq的梯度反向传播到骨干网络,且局部聚合特征的梯度不回传至骨干网络。
可选地,目标模型也可以直接采用在线模型,此时二者将构成孪生网络,同时在训练过程中更新。
在一实施例中,图7所示的图像特征提取模型中对输入图像进行处理可以输出全局特征和局部特征,特征提取的结果可以应用于SLAM系统、也可以应用于图像检索或图像识别技术中。
具体地,在本申请实施例中,一方面,从设备中获得的图像通过光流法或者特征点匹配算法计算帧间匹配,建立数据关联,通过局部光束平差法和全局光束平差法计算相机位姿,实现SLAM系统的即时定位与建图;另一方面,通过本申请实施例提出的全局特征和局部特征联合训练模型,借助共轭随机旋折算法,同时提升全局特征和局部特征的表达能力,使得图像检索模型在只有图像的数据集上,不依赖额外的成对图像块,就可以同时训练全局特征和局部特征,最终达到比相关技术中基于全局特征和局部特征几何验证更好的结果,降低了时间复杂度要求和提升了位姿估计的准确度。
本申请实施例提出了一种基于准确的图像检索和几何验证的即时定位与建图系统(SLAM系统),对于从图像采集设备中捕获得到的图像,既可以通过传统的特征点匹配法或光流法进行跟踪,然后通过光束平差法计算设备的位姿;又能够通过深度学习模型帮助SLAM系统构建长时间跟踪,对从设备中捕获得到的当前输入图像从由SLAM系统挑选的关键帧构成的关键帧集合中挑选相似度较高的关键帧,并计算当前输入图像和查询得到的关键帧之间的特征点匹配关系,构建长时间的跟踪。本申请实施例利用全局特征和局部特征联合学习的深度学习模型,借助共轭随机旋折算法,可以在没有额外生成局部图像块对的情况下,与橡相关技术进行融合,同时优化全局特征和局部特征,最终可以带动全局特征和局部特征联合优化的图像深度特征提取方法提高深度特征的表达能力,帮助SLAM系统寻找更准确的相似图像,构建特征点的长时间跟踪,并帮助SLAM系统去掉冗余的特征点(短时间跟踪对应的特征点);其中,建立特征点的长时间跟踪,有助于提升SLAM系统的优化速度和精度。
对应于本申请所提供的设备的位姿估计方法,本申请实施例还提供了一种设备的位姿估计装置1100,其结构示意图如图9中所示,该设备的位姿估计装置1100包括:第一获取模块1101、第二获取模块1102和第三获取模块1103;其中,第一获取模块1101,用于在关键帧集合中获取设备采集的当前帧的相似关键帧;第二获取模块1102,用于基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;第三获取模块1103,用于基于数据关联信息,获取设备的位姿。
在一实施例中,第一获取模块1101在执行在关键帧集合中获取设备采集的当前帧的相似关键帧的步骤时,还执行以下任一项:
提取当前帧的全局特征,基于全局特征在关键帧集合中获取当前帧的相似关键帧;
提取当前帧的全局特征,基于全局特征,确定关键帧集合中各关键帧与当前帧的第一相似度;提取当前帧的局部特征,基于局部特征,对第一相似度进行更新,得到关键帧集合中各关键帧与当前帧的第二相似度;基于第二相似度,获取当前帧的相似关键帧。
在一实施例中,第二获取模块1102在执行基于当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息的步骤时,还用于执行以下步骤:
对当前帧进行帧间特征匹配,得到图像帧之间的第一数据关联信息;
基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息。
在一实施例中,第二获取模块1102在执行基于当前帧与相似关键帧之间的特征匹配关系,对第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息的步骤时,还用于执行以下步骤:
对当前帧进行帧间特征匹配,得到第一数据关联信息,第一数据关联信息包括各图像帧的特征之间的匹配关系;
基于当前帧与相似关键帧之间的特征匹配关系,判断各图像帧的特征是否为相同特征;
基于判断结果,合并相同特征;
基于合并后的特征,更新第一数据关联信息,得到第二数据关联信息。
在一实施例中,第一获取模块1101中,还采用图像特征提取模型在关键帧集合中获取设备采集的当前帧的相似关键帧;
具体地,图像特征提取模型是通过如下方法训练得到的:
获取第一图像以及对第一图像进行旋折得到的第二图像;
基于第一图像和第二图像,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,得到训练后的图像特征提取模型。
在一实施例中,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,包括:
通过图像特征提取模型获取第一图像的局部特征和全局特征;
通过目标模型获得第二图像的局部特征,对第二图像的局部特征进行与旋折对应的共轭旋折;
基于第一图像的局部特征和共轭旋折后的第二图像的局部特征得到局部特征对;
基于局部特征对和全局特征,更新图像特征提取模型的参数。
本申请实施例的装置可执行本申请的实施例所提供的方法,其实现原理相类似,本申请各实施例中的装置中的各模块所执行的动作是与本申请各实施例中的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应的方法中的描述,此处不再赘述。
本申请还提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时,执行本申请任一可选实施例中所提供的设备的位姿估计方法。
本申请还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时,执行本申请任一可选实施例中所提供的方法。
作为一可选方案,图10示出了本申请实施例适用的一种电子设备的结构示意图,如图10所示,该电子设备1000可以包括处理器1001和存储器1003。其中,处理器1001和存储器1003相连,如通过总线1002相连。可选地,电子设备1000还可以包括收发器1004。需要说明的是,实际应用中收发器1004不限于一个,该电子设备1000的结构并不构成对本申请实施例的限定。
处理器1001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1002可包括一通路,在上述组件之间传送信息。总线1002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1003用于存储执行本申请方案的应用程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的应用程序代码(计算机程序),以实现前述任一方法实施例所示的内容。
本申请所提供的实施例中,由电子设备执行的上述设备的位姿估计方法可以使用人工智能模型来执行。
根据本申请的实施例,在电子设备中执行的该方法可以通过使用图像数据或视频数据作为人工智能模型的输入数据来获得识别图像或图像中的图像特征的输出数据。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。
视觉理解是一种用于像人类视觉一样识别和处理事物的技术,并且包括例如对象识别、对象跟踪、图像检索、人类识别、场景识别、3D重建/定位或图像增强。
本申请所提供的设备的位姿估计装置,可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,(例如中央处理单元(CPU)、应用处理器(AP)等)、或者是纯图形处理单元,(例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,(例如,神经处理单元(NPU))。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
该AI模型可以由包含多个神经网络层组成。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种设备的位姿估计方法,其特征在于,包括:
在关键帧集合中获取所述设备采集的当前帧的相似关键帧;
基于所述当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;
基于所述数据关联信息,获取所述设备的位姿。
2.根据权利要求1所述的方法,其特征在于,所述在关键帧集合中获取所述设备采集的当前帧的相似关键帧,包括以下任一项:
提取当前帧的全局特征,基于所述全局特征在关键帧集合中获取当前帧的相似关键帧;
提取当前帧的全局特征,基于所述全局特征,确定所述关键帧集合中各关键帧与当前帧的第一相似度;提取所述当前帧的局部特征,基于所述局部特征,对所述第一相似度进行更新,得到所述关键帧集合中各关键帧与当前帧的第二相似度;基于所述第二相似度,获取所述当前帧的相似关键帧。
3.根据权利要求1所述的方法,其特征在于,所述基于所述当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息,包括:
对当前帧进行帧间特征匹配,得到图像帧之间的第一数据关联信息;
基于所述当前帧与相似关键帧之间的特征匹配关系,对所述第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息。
4.根据权利要求3所述的方法,其特征在于,所述基于所述当前帧与相似关键帧之间的特征匹配关系,对所述第一数据关联信息进行更新,获取图像帧之间的第二数据关联信息,包括:
对当前帧进行帧间特征匹配,得到第一数据关联信息,所述第一数据关联信息包括各图像帧的特征之间的匹配关系;
基于所述当前帧与相似关键帧之间的特征匹配关系,判断各图像帧的特征是否为相同特征;
基于判断结果,合并相同特征;
基于合并后的特征,更新所述第一数据关联信息,得到第二数据关联信息。
5.根据权利要求1所述的方法,其特征在于,采用图像特征提取模型在关键帧集合中获取所述设备采集的当前帧的相似关键帧;
所述图像特征提取模型是通过如下方法训练得到的:
获取第一图像以及对所述第一图像进行旋折得到的第二图像;
基于第一图像和第二图像,通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,得到训练后的图像特征提取模型。
6.根据权利要求5所述的方法,其特征在于,所述通过图像特征提取模型提取的全局特征和局部特征,对图像特征提取模型进行联合训练,包括:
通过图像特征提取模型获取第一图像的局部特征和全局特征;
通过目标模型获得第二图像的局部特征,对所述第二图像的局部特征进行与所述旋折对应的共轭旋折;
基于第一图像的局部特征和共轭旋折后的第二图像的局部特征得到局部特征对;
基于所述局部特征对和所述全局特征,更新所述图像特征提取模型的参数。
7.一种设备的位姿估计装置,其特征在于,包括:
第一获取模块,用于在关键帧集合中获取所述设备采集的当前帧的相似关键帧;
第二获取模块,用于基于所述当前帧与相似关键帧之间的特征匹配关系,获取图像帧之间的数据关联信息;
第三获取模块,用于基于所述数据关联信息,获取所述设备的位姿。
8.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于在运行所述计算机程序时,执行权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序在被处理器运行时,执行权利要求1至6中任一项所述的方法。
CN202110257474.4A 2021-03-09 2021-03-09 设备的位姿估计方法及相关设备 Pending CN115115698A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110257474.4A CN115115698A (zh) 2021-03-09 2021-03-09 设备的位姿估计方法及相关设备
KR1020210162793A KR20220126622A (ko) 2021-03-09 2021-11-23 디바이스의 자세 추정 방법 및 장치
EP22159874.1A EP4057226A1 (en) 2021-03-09 2022-03-03 Method and apparatus for estimating pose of device
US17/690,219 US20220292715A1 (en) 2021-03-09 2022-03-09 Method and apparatus for estimating pose of device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110257474.4A CN115115698A (zh) 2021-03-09 2021-03-09 设备的位姿估计方法及相关设备

Publications (1)

Publication Number Publication Date
CN115115698A true CN115115698A (zh) 2022-09-27

Family

ID=83322886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110257474.4A Pending CN115115698A (zh) 2021-03-09 2021-03-09 设备的位姿估计方法及相关设备

Country Status (2)

Country Link
KR (1) KR20220126622A (zh)
CN (1) CN115115698A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115830652A (zh) * 2023-01-11 2023-03-21 山西清众科技股份有限公司 一种深度掌纹识别装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115830652A (zh) * 2023-01-11 2023-03-21 山西清众科技股份有限公司 一种深度掌纹识别装置及方法

Also Published As

Publication number Publication date
KR20220126622A (ko) 2022-09-16

Similar Documents

Publication Publication Date Title
CN110717527B (zh) 结合空洞空间金字塔结构的目标检测模型确定方法
Geng et al. Using deep learning in infrared images to enable human gesture recognition for autonomous vehicles
Xia et al. Loop closure detection for visual SLAM using PCANet features
EP4057226A1 (en) Method and apparatus for estimating pose of device
CN112163498B (zh) 前景引导和纹理聚焦的行人重识别模型建立方法及其应用
WO2024021194A1 (zh) 激光雷达点云分割方法、装置、设备及存储介质
CN113807361B (zh) 神经网络、目标检测方法、神经网络训练方法及相关产品
Chen et al. A full density stereo matching system based on the combination of CNNs and slanted-planes
Dai et al. Adaptive disparity candidates prediction network for efficient real-time stereo matching
CN113313763A (zh) 一种基于神经网络的单目相机位姿优化方法及装置
CN110443279B (zh) 一种基于轻量级神经网络的无人机图像车辆检测方法
CN112734931B (zh) 一种辅助点云目标检测的方法及系统
CN112434618A (zh) 基于稀疏前景先验的视频目标检测方法、存储介质及设备
CN114764856A (zh) 图像语义分割方法和图像语义分割装置
Du et al. Srh-net: Stacked recurrent hourglass network for stereo matching
Sun et al. Pseudo-LiDAR-based road detection
Jiang et al. Unexpected dynamic obstacle monocular detection in the driver view
CN115115698A (zh) 设备的位姿估计方法及相关设备
CN114972492A (zh) 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质
CN116734834A (zh) 应用于动态场景的定位建图方法、装置和智能设备
Wang et al. Summary of object detection based on convolutional neural network
CN116246119A (zh) 3d目标检测方法、电子设备及存储介质
Zhai et al. Geometry understanding from autonomous driving scenarios based on feature refinement
CN114882372A (zh) 一种目标检测的方法及设备
CN117036658A (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