CN111754624A - 变换矩阵确定方法、设备和可记录介质 - Google Patents

变换矩阵确定方法、设备和可记录介质 Download PDF

Info

Publication number
CN111754624A
CN111754624A CN201910248609.3A CN201910248609A CN111754624A CN 111754624 A CN111754624 A CN 111754624A CN 201910248609 A CN201910248609 A CN 201910248609A CN 111754624 A CN111754624 A CN 111754624A
Authority
CN
China
Prior art keywords
data
type
transformation matrix
adjacent frames
matching
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.)
Withdrawn
Application number
CN201910248609.3A
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to CN201910248609.3A priority Critical patent/CN111754624A/zh
Priority to EP20162788.2A priority patent/EP3716103A3/en
Publication of CN111754624A publication Critical patent/CN111754624A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

公开了变换矩阵确定方法、设备和可记录介质。所述变换矩阵确定方法,包括:以第一频率连续获取多帧第一类型的数据并且以第二频率连续获取多帧第二类型的数据;确定相邻两帧第一类型的数据之间的变换矩阵以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,其中对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据;以及基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。

Description

变换矩阵确定方法、设备和可记录介质
技术领域
本公开涉及实时定位与地图构建的领域,更具体地说,涉及实时定位与建图过程中的变换矩阵确定方法、设备和可记录介质。
背景技术
实时定位与地图构建(Simultaneous localization and mapping,SLAM)是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式地构建地图,从而达到实时定位和地图构建的目的。
在现有技术中,常见的SLAM技术包括基于激光雷达的激光定位(LiDAR SLAM)以及基于摄像头的视觉定位(VSLAM)。LiDAR SLAM和VSLAM都有自己的优势和局限。例如,VSLAM在富含纹理的动态环境中能稳定工作,但不足之处是受光照条件影响大,高动态环境下精度下降,且对场景复杂度要求高。LiDAR SLAM虽然可以在照明严重不足或纹理缺失的环境中发挥更大的作用,但是却存在诸如受LiDAR探测范围限制、安装有结构要求等不足。
在地图的增量式构建过程中,非常重要的一点是计算连续数据帧之间的变换矩阵。通过在连续数据帧之间搜索相同特征来执行匹配,并基于匹配成功的连续数据帧计算连续数据帧之间的变换矩阵。然后,基于计算得到的变换矩阵,能够实现新获取的数据帧向已有的数据帧的添加。如上所述,在现有的SLAM技术中,由于各自的局限性,都可能存在不能基于获取的数据得到变换矩阵的情况。
发明内容
鉴于以上情形,期望提供在相邻数据帧匹配失败时仍能够确定变换矩阵的方法、设备和可记录介质。
根据本公开的一个方面,提供了一种变换矩阵确定方法,包括:以第一频率连续获取多帧第一类型的数据并且以第二频率连续获取多帧第二类型的数据,其中获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔;确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,其中对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据;以及基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
在根据本公开实施例的方法中,确定相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:基于第一匹配方法,在第一数据和第二数据之间执行匹配;当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵;当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵,其中所述第一数据和所述第二数据分别为在相邻时刻获取的两帧第一类型的数据。
在根据本公开实施例的方法中,当产生第一标志信息时,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵;以及当产生第二标志信息时,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
在根据本公开实施例的方法中,确定第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵;以及基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,其中所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
在根据本公开实施例的方法中,基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;确定第一变换矩阵与第四变换矩阵的加权系数;以及对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
在根据本公开实施例的方法中,基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
在根据本公开实施例的方法中,在确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤之前,进一步包括:从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
在根据本公开实施例的方法中,待去除动态目标的数据为点云数据,并且其中从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标的步骤进一步包括:分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象;根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集;匹配第一拓扑图和第二拓扑图中的节点;将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图;基于第三拓扑图,获取去除动态目标后的数据。
根据本公开的另一方面,提供了一种变换矩阵确定设备,包括:第一数据采集装置,用于以第一频率连续获取多帧第一类型的数据;第二数据采集装置,用于以第二频率连续获取多帧第二类型的数据;变换矩阵计算装置,用于确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,其中对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据;以及融合装置,用于基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵,其中所述第一数据采集装置获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,所述第二数据采集装置获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔。
在根据本公开实施例的设备中,所述变换矩阵计算装置进一步包括:第一计算单元,用于执行以下处理:基于第一匹配方法,在第一数据和第二数据之间执行匹配;当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵;当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵,其中,所述第一数据和所述第二数据分别为在相邻时刻获取的两帧第一类型的数据。
在根据本公开实施例的设备中,当产生第一标志信息时,所述融合装置选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵;以及当产生第二标志信息时,所述融合装置选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
在根据本公开实施例的设备中,所述变换矩阵计算装置进一步包括:第二计算单元,用于执行以下处理:基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵;以及基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,其中所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
在根据本公开实施例的设备中,所述融合装置进一步被配置为当产生第一标志信息时执行以下处理:计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;确定第一变换矩阵与第四变换矩阵的加权系数;以及对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
在根据本公开实施例的设备中,所述融合装置进一步被配置为当产生第二标志信息时执行以下处理:计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
根据本公开实施例的设备进一步包括:动态目标去除装置,用于从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
在根据本公开实施例的设备中,待去除动态目标的数据为点云数据,并且所述动态目标去除装置进一步被配置为:分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象;根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集;匹配第一拓扑图和第二拓扑图中的节点;将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图;基于第三拓扑图,获取去除动态目标后的数据。
根据本公开的再一方面,提供了一种计算机可读记录介质,用于在其上存储计算机程序,当由处理器执行所述计算机程序时,执行上文中所述的方法。
在通过根据本发明实施例的变换矩阵确定方法、设备和记录介质中,对基于相同类型的数据计算得到的变换矩阵与基于不同类型的数据计算得到的变换矩阵进行融合,从而有效地避免了单一类型的数据由于使用场景的局限而导致不能确定变换矩阵的情况。此外,在基于不同类型的数据计算变换矩阵的过程中,不需要将不同设备采集不同类型的数据的时刻对准,从而简化了数据采集过程,避免了多个设备之间复杂的同步问题。再者,由于动态目标的特征点之间的匹配将导致计算变换矩阵时出错,因此,通过基于拓扑图去除动态目标的点云来获得环境中的稳定点,能够有利于提高计算变换矩阵的准确性和稳定性。
附图说明
图1是图示根据本公开实施例的变换矩阵确定方法的过程的流程图;
图2示出了第一类型的各帧数据与第二类型的各帧数据的获取时刻;
图3示出了根据本公开实施例的变换矩阵确定方法的数据流图;
图4示出了根据本公开实施例的基于局部闭环的融合策略的示意图;
图5是图示当待去除动态目标的数据为点云数据时去除动态目标的具体过程的流程图;
图6A和图6B分别示出了在关于待去除动态目标的数据以及在相邻时刻获取的数据执行分割后获得的多个子点云的示意图;
图7A和图7B分别示出了基于图6A和图6B的点云分割结果获取的第一拓扑图和第二拓扑图;
图8示出了去除动态目标后的优化的拓扑图;
图9示出了去除动态目标后的点云的示意图;
图10是示出了根据本公开实施例的变换矩阵确定设备的配置的功能性框图;
图11是示出了根据本公开的实施例的变换矩阵确定设备作为硬件实体的一个示例;以及
图12示出了根据本公开的实施例的计算机可读记录介质的示意图。
具体实施方式
下面将参照附图对本公开的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本公开的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本公开的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
为了便于理解本公开,首先将下文中涉及的数据定义描述如下:
第一数据:在第ti时刻获取的一帧第一类型的数据
第二数据:在第ti+1时刻获取的一帧第一类型的数据
第三数据:在第t’时刻获取的一帧第二类型的数据
第一变换矩阵:从第一数据到第二数据的变换矩阵
第二变换矩阵:从第一数据到第三数据的变换矩阵
第三变换矩阵:从第三数据到第二数据的变换矩阵
第四变换矩阵:第二变换矩阵与第三变换矩阵的乘积
接下来,将参照图1描述根据本公开实施例的变换矩阵确定方法。所述变换矩阵确定方法可以应用于SLAM中,通过计算得到的变换矩阵,能够在机器人移动过程中实现地图的增量式构建和自身定位。如图1所示,所述变换矩阵确定方法包括以下步骤。
首先,在步骤S101,以第一频率连续获取多帧第一类型的数据并且以第二频率连续获取多帧第二类型的数据。
这里,第一类型的数据与第二类型的数据意在表示不同类型的数据。例如,第一类型的数据可以为图像数据,其中图像数据中的像素点表示的是该点的灰度值(黑白图像)或R、G、B值(彩色图像);第二类型的数据可以为点云数据,其中点云数据中的像素点表示的是该点的三维坐标值。当然,第一类型的数据也可以为点云数据,而第二类型的数据也可以为图像数据。并且,本公开并不仅限于此。任何其他不同类型的数据也可以类似地应用于本公开。
分别由不同类型的设备来获取不同类型的数据。例如,可以由摄像头来获取图像数据,并且可以由激光雷达来获取点云数据。当然,本公开并不仅限于此。用于获取不同类型的数据的任何其他不同类型的设备可以类似地应用于本公开。
由于不同设备的操作参数的区别,其获取数据的频率通常是不同的。如上文中所述,以第一频率连续获取多帧第一类型的数据并且以第二频率连续获取多帧第二类型的数据。因此,获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔。并且,第一间隔和第二间隔通常为不同的时间间隔。图2示出了第一类型的各帧数据与第二类型的各帧数据的获取时刻。如图2所示,获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的间隔为m,且获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的间隔为n。可以看出,获取第一类型的数据的时刻与获取第二类型的数据的时刻通常是不能对准的。
然后,返回参照图1,在步骤S102,确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵。换言之,在步骤S102,确定相同类型的数据之间的变换矩阵以及不同类型的数据之间的变换矩阵。其中,对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据。
假设相邻两帧第一类型的数据分别为第ti时刻获取的一帧数据和第ti+1时刻获取的一帧数据,并且以第t’时刻获取的一帧第二类型的数据作为对应于所述相邻两帧图像数据的一帧点云数据,那么第t’时刻为到第t时刻和第t+1时刻的距离之和最小的时刻。具体来说,t’可以通过以下公式(1)确定:
Figure BDA0002011736160000081
其中tp为获取第二类型的数据的任意时刻。
另外,例如,这里的变换矩阵可以为旋转和平移矩阵。假设第一数据和第二数据分别为在相邻时刻获取的两帧第一类型的数据。对第一数据执行旋转和平移矩阵所指示的预定角度的旋转和预定距离的平移,使得变换后的第一数据能够与第二数据拼接在一起,实现地图的增量式构建。并且,该旋转和平移矩阵也体现了机器人从前一位姿(即,位置和姿态)到当前位姿的变化。
接下来,将分别描述计算相同类型的数据之间的变换矩阵与计算不同类型的数据之间的变换矩阵的具体过程。
首先,确定相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:基于第一匹配方法,在第一数据和第二数据之间执行匹配。当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵。以[R|T]ti,ti+1表示从第ti时刻获取的第一图像到第ti+1获取的第二图像的第一变换矩阵。当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵。
例如,当第一类型的数据为图像数据时,可以按照如下方法执行相邻两帧图像数据之间的匹配。首先,分别提取两帧图像数据的特征点。例如,特征点可以是图像中的角点、边缘等。然后,选取用于描述特征点的特征的特征描述子。特征描述子通常是一个向量,按照预定的设计方式,描述特征点周围像素的信息。只要两个特征点的特征描述子在向量空间的距离相近,就可以认为它们是同一个特征点。然后,计算每个特征点对应的特征描述子,并根据特征描述子的相似度(即,在向量空间的距离)匹配两个图像之间的特征点。
如果匹配的特征点对的数量足够多(例如,大于特定阈值),则基于匹配的特征点对来计算两个图像之间的变换矩阵。例如,可以通过BA(Bundle Adjustment)或PNP(Perspective-n-Point)方法来计算变换矩阵。另一方面,如果匹配的特征点对的数量过少(例如,小于特定阈值),则基于匹配的特征点对,不能计算出两个图像之间的变换矩阵。在这种情况下,如下文中所述,利用作为第二类型的数据的点云数据来辅助地确定变换矩阵,从而有效地避免了不能确定变换矩阵的情况。
另外,当第一类型的数据为点云数据时,也可以类似地执行两帧点云数据之间的匹配。
其次,确定第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵,以[R|T]ti,t’表示从第ti时刻获取的第一图像到第t’获取的第三图像的第二变换矩阵;以及基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,以[R|T]t’,ti+1表示从第t’时刻获取的第三图像到第ti+1获取的第二图像的第三变换矩阵。其中,所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
这里,需要指出的是,与相同类型之间的数据匹配不同,由于第一数据和第三数据分别属于不同类型的数据,因此二者之间的匹配将使用区别于第一匹配方法的第二匹配方法。
例如,当第一类型的数据为图像数据,且第二类型的数据为点云数据时,如上文中所述,由于图像数据中的像素点表示的是该点的灰度值(黑白图像)或R、G、B值(彩色图像),而点云数据中的像素点表示的是该点的三维坐标值,因此难以直接提取特征点和特征描述子进行比较。在这种情况下,可以通过如下方式执行匹配。首先,根据SOBEL算子或FAST算子等方法从图像数据中提取边缘或角点等特征。然后,根据相邻点之间的距离差异等方法来从点云数据中提取边缘或角点等特征。最后,基于最小化边缘或角点的投影误差来计算图像数据和点云数据之间的变换矩阵。
最后,在步骤S103,基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
图3示出了根据本公开实施例的变换矩阵确定方法的数据流图。如图3所示,基于相邻时刻获取的两帧相同类型的数据,确定相同类型的数据之间的变换矩阵[R|T]ti,ti+1。另外,在相同类型(第一类型)的数据的基础上,再结合与第ti和第ti+1时刻对应的第t'时刻获取的不同类型(第二类型)的数据,确定第一类型的数据与第二类型的数据之间的变换矩阵[R|T]ti,t’和[R|T]t’,ti+1。最后,基于预定的融合策略,对得到的变换矩阵[R|T]ti,ti+1、[R|T]ti,t’和[R|T]t’,ti+1进行融合以得到最终的变换矩阵[R|T]FINAL
所述预定融合策略的基本原则在于,当在相同类型的数据之间能够得到变换矩阵时,不同类型的数据之间得到的变换矩阵可以作为相同类型的数据之间的变换矩阵的调整参数,以对其进一步优化。当在相同类型的数据之间不能得到变换矩阵时,使用不同类型的数据之间得到的变换矩阵作为替代,以避免无法确定变换矩阵进而不能执行后续建图和定位处理的情况。这里,需要特别指出的是,在根据本公开的变换矩阵确定方法中,用以对第一类型的数据之间的变换矩阵进行优化和补充的第二类型的数据的获取时刻,不需要与第一类型的数据的获取时刻在时间上对准。
图4示出了根据本公开实施例的基于局部闭环的融合策略的示意图。如图4所示,选择与第ti时刻和第ti+1时刻对应的第t'时刻作为中间桥梁,以便对第ti时刻到第ti+1时刻的变换矩阵进行上文中所述的优化和补充。
具体来说,当产生第一标志信息时,即:相同类型的数据之间匹配成功,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
例如,作为一种可能的实施方式,基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;确定第一变换矩阵与第四变换矩阵的加权系数;以及对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
具体来说,最终的变换矩阵可以通过如下公式(2)得到:
Figure BDA0002011736160000111
其中,以[R|T]ti,ti+1表示从第ti时刻获取的第一图像到第ti+1获取的第二图像的变换矩阵,以[R|T]ti,t’表示从第ti时刻获取的第一图像到第t’获取的第三图像的变换矩阵,以[R|T]t’,ti+1表示从第t’时刻获取的第三图像到第ti+1获取的第二图像的变换矩阵。并且,a和b分别为0到1之间的小数,且a+b=1。
在实际操作中,可以根据数据的置信度来设置权重a和b的值。例如,如果认为相同类型的数据之间的变换矩阵可信度高,则将权重a设置为较大的值。如果认为不同类型的数据之间的变换矩阵可信度高,则将权重b设置为较大的值。
另一方面,当产生第二标志信息时,即:相同类型的数据之间匹配失败,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
例如,作为一种可能的实施方式,基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
具体来说,最终的变换矩阵可以通过如下公式(3)得到:
Figure BDA0002011736160000112
在根据本公开实施例的变换矩阵确定方法中,对基于相同类型的数据计算得到的变换矩阵与基于不同类型的数据计算得到的变换矩阵进行融合,从而有效地避免了单一类型的数据由于使用场景的局限而导致不能确定变换矩阵的情况。例如,在基于视觉的SLAM中,诸如急转弯、高速运动、照明变换等情况都将导致相邻两帧图像数据发生突变(即,相邻两帧图像之间的相同特征锐减),进而导致相邻两帧图像数据之间的变换矩阵计算失败。在这种情况下,通过根据本公开实施例的变换矩阵确定方法,能够通过融合不同类型的点云数据来辅助变换矩阵的计算。
此外,在基于不同类型的数据计算变换矩阵的过程中,不需要将不同设备采集不同类型的数据的时刻对准。相反,只需要找到与获取第一类型的数据的时刻的距离之和最小的获取第二类型的数据的时刻即可,从而简化了数据采集过程,避免了多个设备之间复杂的同步问题。
在上文中描述了直接使用获取的不同类型的数据计算变换矩阵的情况。然而,例如,如果在当前场景中存在动态目标(如,正在行驶的汽车),那么由于其自身的运动,动态目标在场景中的位置随着时间的变化而变化。在这种情况下,如果基于相邻两帧数据中存在的相同的动态目标来执行匹配,那么与基于相邻两帧数据中存在的相同的静态目标所确定的变换矩阵相比,基于相邻两帧数据中存在的相同的动态目标是不同的,并且是不准确的,甚至可能不能得到变换矩阵。
因此,可替代地,为了提高定位和建图的准确性和稳定性,在另一种可能的实施方式中,在确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤之前,即:在图1中的步骤S101与步骤S102之间,根据本公开的变换矩阵确定方法还可以进一步包括步骤S101'(图中以虚线示出)。在步骤S101',从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
例如,图5示出了当待去除动态目标的数据为点云数据时去除动态目标的具体过程。如图5所示,从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标的步骤进一步包括以下步骤。
首先,在步骤S501,分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象。
例如,当第一类型的数据为图像数据,且第二类型的数据为点云数据时,待去除动态目标的数据为上文中所述的第三数据,且在相邻时刻获取的数据为与获取第三数据的时刻相邻的时刻(前一时刻或后一时刻)处获取的、与第三数据同种类型的数据。
当第一类型的数据为点云数据,且第二类型的数据为图像数据时,待去除动态目标的数据为上文中所说的第一数据和第二数据。当待去除动态目标的数据为第一数据时,第二数据可以作为在相邻时刻获取的数据。当待去除动态目标的数据为第二数据时,第一数据可以作为在相邻时刻获取的数据。
图6A和图6B分别示出了在关于待去除动态目标的数据以及在相邻时刻获取的数据执行分割后获得的多个子点云的示意图的一种示例。可以看出,作为静态目标的建筑物1、建筑物2、建筑物3和树的子点云在相邻两帧数据之间的相对位置没有改变,而作为动态目标的汽车1和汽车2的子点云在相邻两帧数据之间的相对位置发生变化。
然后,在步骤S502,根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集。
接下来,在步骤S503,匹配第一拓扑图和第二拓扑图中的节点。
图7A和图7B分别示出了基于图6A和图6B的点云分割结果获取的第一拓扑图和第二拓扑图。图7A和图7B中的圆圈表示拓扑图中的节点。其中,以填充了相同图案的圆圈表示匹配成功的节点。可以看出,在第一拓扑图和第二拓扑图中,由于作为动态目标的汽车1和汽车2的相对位置发生改变,因此未匹配成功。
然后,在步骤S504,将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图,如图8所示。
最后,在步骤S505,基于第三拓扑图,获取去除动态目标后的数据,如图9所示。
由于动态目标的特征点之间的匹配将导致计算变换矩阵时出错,因此,在这种实施方式中,通过基于拓扑图去除动态目标的点云来获得环境中的稳定点,从而有利于提高计算变换矩阵的准确性和稳定性。
在上文中,参照图1到图9详细描述了根据本公开实施例的变换矩阵确定方法。接下来,将参照图10描述根据本公开实施例的变换矩阵确定设备的具体配置。
如图10所述,变换矩阵确定设备1000包括:第一数据采集装置1001、第二数据采集装置1002、变换矩阵计算装置1003和融合装置1004。
第一数据采集装置1001用于以第一频率连续获取多帧第一类型的数据。例如,第一数据采集装置1001可以为摄像头。在这种情况下,第一类型的数据为图像数据。
第二数据采集装置1002用于以第二频率连续获取多帧第二类型的数据。例如,第二数据采集装置1002可以为激光雷达。在这种情况下,第二类型的数据为点云数据。
当然,本公开并不仅限于此。任何其他类型的数据采集装置也可以类似地应用于本公开,只要第一数据采集装置1001与第二数据采集装置1002的类型不同即可。
由于不同设备的操作参数的区别,其获取数据的频率通常是不同的。第一数据采集装置1001获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,而第二数据采集装置1002获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔。第一间隔和第二间隔通常为不同的时间间隔。因此,第一数据采集装置1001获取第一类型的数据的时刻与第二数据采集装置1002获取第二类型的数据的时刻通常是不能对准的。
变换矩阵计算装置1003用于确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵。其中,对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据。
所述变换矩阵计算装置1003可以进一步包括:第一计算单元(图中未示出),用于执行相同类型的数据(即,相邻两帧第一类型的数据)之间的变换矩阵的计算。具体来说,第一计算单元被配置为执行以下处理:基于第一匹配方法,在第一数据和第二数据之间执行匹配;当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵;当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵。其中,所述第一数据和所述第二数据分别为在相邻时刻获取的两帧第一类型的数据。
并且,所述变换矩阵计算装置1003还可以进一步包括:第二计算单元(图中未示出),用于执行不同类型的数据(即,第二类型的数据与相邻两帧第一类型的数据)之间的变换矩阵的计算。具体来说,第二计算单元被配置为执行以下处理:基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵;以及基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,其中所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
融合装置1004用于基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
当产生第一标志信息时,所述融合装置1004选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
例如,作为一种可能的实施方式,所述融合装置进一步被配置为当产生第一标志信息时执行以下处理:计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;确定第一变换矩阵与第四变换矩阵的加权系数;以及对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
另一方面,当产生第二标志信息时,所述融合装置1004选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
例如,作为一种可能的实施方式,所述融合装置进一步被配置为当产生第二标志信息时执行以下处理:计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
在根据本公开实施例的变换矩阵确定设备中,对基于相同类型的数据计算得到的变换矩阵与基于不同类型的数据计算得到的变换矩阵进行融合,从而有效地避免了单一类型的数据由于使用场景的局限而导致不能确定变换矩阵的情况。例如,在基于视觉的SLAM中,诸如急转弯、高速运动、照明变换等情况都将导致相邻两帧图像数据发生突变(即,相邻两帧图像之间的相同特征锐减),进而导致相邻两帧图像数据之间的变换矩阵计算失败。在这种情况下,通过根据本公开实施例的变换矩阵确定设备,能够通过融合不同类型的点云数据来辅助变换矩阵的计算。
此外,在基于不同类型的数据计算变换矩阵的过程中,不需要将不同设备采集不同类型的数据的时刻对准。相反,只需要找到与获取第一类型的数据的时刻的距离之和最小的获取第二类型的数据的时刻即可,从而简化了数据采集过程,避免了多个设备之间复杂的同步问题。
在上文中描述了直接使用获取的不同类型的数据计算变换矩阵的情况。然而,例如,如果在当前场景中存在动态目标(如,正在行驶的汽车),那么由于其自身的运动,动态目标在场景中的位置随着时间的变化而变化。在这种情况下,如果基于相邻两帧数据中存在的相同的动态目标来执行匹配,那么与基于相邻两帧数据中存在的相同的静态目标所确定的变换矩阵相比,基于相邻两帧数据中存在的相同的动态目标是不同的,并且是不准确的,甚至可能不能得到变换矩阵。
因此,可替代地,为了提高定位和建图的准确性和稳定性,在另一种可能的实施方式中,所述变换矩阵确定设备可以进一步包括:动态目标去除装置1001'(在图10中以虚线示出),用于从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
例如,当待去除动态目标的数据为点云数据时,所述动态目标去除装置1001'进一步被配置为:分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象;根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集;匹配第一拓扑图和第二拓扑图中的节点;将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图;基于第三拓扑图,获取去除动态目标后的数据。
由于动态目标的特征点之间的匹配将导致计算变换矩阵时出错,因此,在这种实施方式中,通过增加动态目标去除装置1001',并基于拓扑图去除动态目标的点云来获得环境中的稳定点,能够有利于提高计算变换矩阵的准确性和稳定性。
根据本公开的变换矩阵确定设备作为硬件实体的一个示例如图11所示。所述变换矩阵确定设备包括第一数据采集装置1001、第二数据采集装置1002、处理器1101、存储器1102以及至少一个外部通信接口1103。第一数据采集装置1001、第二数据采集装置1002、处理器1101、存储器1102以及至少一个外部通信接口1103均通过总线1104连接。
对于用于数据处理的处理器1101而言,在执行处理时,可以采用微处理器、中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital SingnalProcessor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现;对于存储器1102来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本公开实施例变换矩阵确定方法流程中的各个步骤。
图12示出了根据本公开的实施例的计算机可读记录介质的示意图。如图12所示,根据本公开实施例的计算机可读记录介质1200其上存储有计算机程序指令1201。当所述计算机程序指令1201由处理器运行时,执行参照以上附图描述的根据本公开实施例的变换矩阵确定方法。
由于根据本公开的实施例的变换矩阵确定设备中各个单元的操作与上文中所述的变换矩阵确定方法中的各个步骤完全对应,因此为了避免冗余起见,这里没有对其细节展开描述。
迄今为止,已经参照图1到图12详细描述了根据本公开实施例的变换矩阵确定方法、设备和记录介质。通过根据本公开实施例的变换矩阵确定方法、设备和记录介质,对基于相同类型的数据计算得到的变换矩阵与基于不同类型的数据计算得到的变换矩阵进行融合,从而有效地避免了单一类型的数据由于使用场景的局限而导致不能确定变换矩阵的情况。例如,在基于视觉的SLAM中,诸如急转弯、高速运动、照明变换等情况都将导致相邻两帧图像数据发生突变(即,相邻两帧图像之间的相同特征锐减),进而导致相邻两帧图像数据之间的变换矩阵计算失败。在这种情况下,通过根据本公开实施例的变换矩阵确定方法,能够通过融合不同类型的点云数据来辅助变换矩阵的计算。此外,在基于不同类型的数据计算变换矩阵的过程中,不需要将不同设备采集不同类型的数据的时刻对准,从而简化了数据采集过程,避免了多个设备之间复杂的同步问题。再者,由于动态目标的特征点之间的匹配将导致计算变换矩阵时出错,因此,通过基于拓扑图去除动态目标的点云来获得环境中的稳定点,能够有利于提高计算变换矩阵的准确性和稳定性。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本公开可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本公开的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例或者实施例的某些部分所述的方法。
以上对本公开进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

Claims (17)

1.一种变换矩阵确定方法,包括:
以第一频率连续获取多帧第一类型的数据并且以第二频率连续获取多帧第二类型的数据,其中获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔;
确定相邻两帧第一类型的数据之间的变换矩阵以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,其中对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据;以及
基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
2.根据权利要求1所述的方法,其中确定相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:
基于第一匹配方法,在第一数据和第二数据之间执行匹配;
当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵;
当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵,
其中所述第一数据和所述第二数据分别为在相邻时刻获取的两帧第一类型的数据。
3.根据权利要求2所述的方法,其中
当产生第一标志信息时,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵;以及
当产生第二标志信息时,所述预定融合策略为:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
4.根据权利要求3所述的方法,其中确定第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:
基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵;以及
基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,
其中所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
5.根据权利要求4所述的方法,其中基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:
计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;
确定第一变换矩阵与第四变换矩阵的加权系数;以及
对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
6.根据权利要求4所述的方法,其中基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵的步骤进一步包括:
计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
7.根据权利要求1所述的方法,其中在确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵的步骤之前,进一步包括:
从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
8.根据权利要求7所述的方法,其中待去除动态目标的数据为点云数据,并且其中从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标的步骤进一步包括:
分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象;
根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集;
匹配第一拓扑图和第二拓扑图中的节点;
将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图;
基于第三拓扑图,获取去除动态目标后的数据。
9.一种变换矩阵确定设备,包括:
第一数据采集装置,用于以第一频率连续获取多帧第一类型的数据;
第二数据采集装置,用于以第二频率连续获取多帧第二类型的数据;
变换矩阵计算装置,用于确定相邻两帧第一类型的数据之间的变换矩阵,以及对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,其中对应于所述相邻两帧第一类型的数据的一帧第二类型的数据为:在与获取所述相邻两帧第一类型的数据的时刻的距离之和最小的时刻处获取的一帧第二类型的数据;以及
融合装置,用于基于预定融合策略,对确定得到的变换矩阵进行融合,并将融合后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵,
其中所述第一数据采集装置获取第一类型的数据的相邻时刻之间的时间间隔为与第一频率对应的第一间隔,所述第二数据采集装置获取第二类型的数据的相邻时刻之间的时间间隔为与第二频率对应的第二间隔。
10.根据权利要求9所述的设备,其中所述变换矩阵计算装置进一步包括:第一计算单元,用于执行以下处理:
基于第一匹配方法,在第一数据和第二数据之间执行匹配;
当在第一数据和第二数据之间匹配成功时,产生指示匹配成功的第一标志信息,并确定从第一数据到第二数据的第一变换矩阵;
当在第一数据和第二数据之间匹配不成功时,产生指示匹配失败的第二标志信息,并且不能确定从第一数据到第二数据的第一变换矩阵,
其中,所述第一数据和所述第二数据分别为在相邻时刻获取的两帧第一类型的数据。
11.根据权利要求10所述的设备,其中
当产生第一标志信息时,所述融合装置选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,调整所述相邻两帧第一类型的数据之间的变换矩阵,并将调整后的变换矩阵作为最终的所述相邻两帧第一类型的数据之间的变换矩阵;以及
当产生第二标志信息时,所述融合装置选择如下融合策略:基于对应于所述相邻两帧第一类型的数据的一帧第二类型的数据与所述相邻两帧第一类型的数据之间的变换矩阵,确定最终的所述相邻两帧第一类型的数据之间的变换矩阵。
12.根据权利要求11所述的设备,其中所述变换矩阵计算装置进一步包括:第二计算单元,用于执行以下处理:
基于第二匹配方法,在第一数据与第三数据之间执行匹配,并确定从第一数据到第三数据的第二变换矩阵;以及
基于第二匹配方法,在第三数据与第二数据之间执行匹配,并确定从第三数据到第二数据之间的第三变换矩阵,
其中所述第三数据为对应于所述相邻两帧第一类型的数据的一帧第二类型的数据。
13.根据权利要求12所述的设备,其中所述融合装置进一步被配置为当产生第一标志信息时执行以下处理:
计算所述第二变换矩阵与所述第三变换矩阵的乘积,以得到第四变换矩阵;
确定第一变换矩阵与第四变换矩阵的加权系数;以及
对第一变换矩阵和第四变换矩阵执行加权求和,并将加权求和的结果作为调整后的变换矩阵。
14.根据权利要求12所述的设备,其中所述融合装置进一步被配置为当产生第二标志信息时执行以下处理:
计算第二变换矩阵与第三变换矩阵的乘积,作为最终的所述相邻两帧第一类型的数据之间的变换矩阵。
15.根据权利要求9所述的设备,进一步包括:动态目标去除装置,用于从相邻两帧第一类型的数据和/或对应于所述相邻两帧第一类型的数据的一帧第二类型的数据中去除动态目标。
16.根据权利要求15所述的设备,其中待去除动态目标的数据为点云数据,并且所述动态目标去除装置进一步被配置为:
分别将待去除动态目标的数据以及在相邻时刻获取的数据分割为独立的多个子点云,其中每一个子点云表示环境中的一个独立对象;
根据分割结果分别构建待去除动态目标的数据的第一拓扑图和在相邻时刻获取的数据的第二拓扑图,其中拓扑图中的每一个节点表示环境中每个对象的点集;
匹配第一拓扑图和第二拓扑图中的节点;
将未匹配的节点作为动态对象从第一拓扑图中去除,以获得第三拓扑图;
基于第三拓扑图,获取去除动态目标后的数据。
17.一种计算机可读记录介质,用于在其上存储计算机程序,当由处理器执行所述计算机程序时,执行根据权利要求1到8中的任意一项所述的方法。
CN201910248609.3A 2019-03-29 2019-03-29 变换矩阵确定方法、设备和可记录介质 Withdrawn CN111754624A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910248609.3A CN111754624A (zh) 2019-03-29 2019-03-29 变换矩阵确定方法、设备和可记录介质
EP20162788.2A EP3716103A3 (en) 2019-03-29 2020-03-12 Method and apparatus for determining transformation matrix, and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910248609.3A CN111754624A (zh) 2019-03-29 2019-03-29 变换矩阵确定方法、设备和可记录介质

Publications (1)

Publication Number Publication Date
CN111754624A true CN111754624A (zh) 2020-10-09

Family

ID=69810695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910248609.3A Withdrawn CN111754624A (zh) 2019-03-29 2019-03-29 变换矩阵确定方法、设备和可记录介质

Country Status (2)

Country Link
EP (1) EP3716103A3 (zh)
CN (1) CN111754624A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112330702A (zh) * 2020-11-02 2021-02-05 蘑菇车联信息科技有限公司 点云补全方法、装置、电子设备及存储介质
US11405563B2 (en) 2020-11-10 2022-08-02 Qualcomm Incorporated Spatial alignment transform without FOV loss
CN113627462A (zh) * 2021-06-24 2021-11-09 浙江师范大学 基于矩阵分解和多划分对齐的医疗数据聚类方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10582121B2 (en) * 2016-01-12 2020-03-03 Mitsubishi Electric Research Laboratories, Inc. System and method for fusing outputs of sensors having different resolutions
CN107945220B (zh) * 2017-11-30 2020-07-10 华中科技大学 一种基于双目视觉的重建方法

Also Published As

Publication number Publication date
EP3716103A2 (en) 2020-09-30
EP3716103A3 (en) 2020-12-02

Similar Documents

Publication Publication Date Title
WO2020233724A1 (zh) 一种基于视觉slam的电网作业环境地图的构建方法及系统
CN107633526B (zh) 一种图像跟踪点获取方法及设备、存储介质
CN107566688B (zh) 一种基于卷积神经网络的视频防抖方法、装置及图像对齐装置
CN111754624A (zh) 变换矩阵确定方法、设备和可记录介质
CN110660098B (zh) 基于单目视觉的定位方法和装置
US20220282993A1 (en) Map fusion method, device and storage medium
JP7440005B2 (ja) 高精細地図の作成方法、装置、デバイス及びコンピュータプログラム
CN109919971B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
WO2019196476A1 (zh) 基于激光传感器生成地图
CN112651997B (zh) 地图构建方法、电子设备和存储介质
CN111062966A (zh) 基于l-m算法和多项式插值对相机跟踪进行优化的方法
CN115880364A (zh) 基于激光点云和视觉slam的机器人位姿估计方法
CN111311681A (zh) 视觉定位方法、装置、机器人及计算机可读存储介质
CN112967340A (zh) 同时定位和地图构建方法、装置、电子设备及存储介质
CN115063768A (zh) 三维目标检测方法、编码器及解码器
KR20230003803A (ko) 라이다 좌표계와 카메라 좌표계의 벡터 정합을 통한 자동 캘리브레이션 방법
JP7351892B2 (ja) 障害物検出方法、電子機器、路側機器、及びクラウド制御プラットフォーム
CN117232499A (zh) 多传感器融合的点云地图构建方法、装置、设备及介质
TW201523510A (zh) 點雲拼接系統及方法
KR20230049969A (ko) 글로벌 측위 장치 및 방법
CN114140527A (zh) 一种基于语义分割的动态环境双目视觉slam方法
CN106651950B (zh) 一种基于二次曲线透视投影不变性的单相机位姿估计方法
JP6315542B2 (ja) 画像生成装置及び画像生成方法
JP2022154076A (ja) 複数カメラ校正装置、方法およびプログラム
US11393069B2 (en) Image processing apparatus, image processing method, and computer readable recording medium

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201009