CN110991526B - 一种非迭代式点云匹配方法、介质、终端和装置 - Google Patents
一种非迭代式点云匹配方法、介质、终端和装置 Download PDFInfo
- Publication number
- CN110991526B CN110991526B CN201911207626.9A CN201911207626A CN110991526B CN 110991526 B CN110991526 B CN 110991526B CN 201911207626 A CN201911207626 A CN 201911207626A CN 110991526 B CN110991526 B CN 110991526B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- matrix
- amplitude value
- grid
- reference point
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000011159 matrix material Substances 0.000 claims abstract description 207
- 230000009466 transformation Effects 0.000 claims abstract description 81
- 238000013519 translation Methods 0.000 claims abstract description 31
- 230000001131 transforming effect Effects 0.000 claims abstract description 16
- 238000001228 spectrum Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 abstract description 17
- 238000012545 processing Methods 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 38
- 230000014616 translation Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 10
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation 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/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本发明公开一种非迭代式点云匹配方法、介质、终端和装置。方法包括以下步骤:获取相邻两帧点云数据;对相邻两帧点云数据进行坐标变换生成第一栅格矩阵和第二栅格矩阵;对第一栅格矩阵和第二栅格矩阵分别进行傅里叶变换生成第一幅度值矩阵和第二幅度值矩阵;采用相位相关方法对第一幅度值矩阵和第二幅度值矩阵进行变换生成用于表示两帧点云之间平移量和旋转量的脉冲函数,根据脉冲位置获取两帧点云的相对变换。本发明将激光点云当作一张二值图,利用图像处理领域的傅里叶变换以及相位相关算法可以计算得到两帧点云之间的平移和旋转,具有运算速度快,易得到真实相对变换等特点,从而对自主移动机器人在场景中快速计算全局位置提供了有效保证。
Description
【技术领域】
本发明涉及导航定位领域,尤其涉及一种非迭代式点云匹配方法、介质、终端和装置。
【背景技术】
随着自主移动机器人技术研究的不断成熟,其在商业环境中的落地也已成为可能事件。在各种场景下自主移动机器人的成功运行,有一个能力是不可缺少的,就是确定自身在场景中所在位置的能力。目前业界比较流行的定位方式是使用当前激光扫描的点云与之前已建好的栅格地图进行匹配,得到全局位置信息。由于有些场景非常巨大,而激光扫描范围有限,此时当前激光点云与栅格地图进行匹配将面临巨大的搜索代价。注意到,激光扫描所得到的点云是对机器人外部环境轮廓的一种描述,该描述实质上给出了机器人离环境边缘的距离信息。并且一个事实是,机器人在移动的过程中,场景或者栅格地图是不会移动的,因此根据相邻两帧激光点云可以推算出其间的相对位移。根据起点以及相对位移信息,我们可以推算出机器人的移动轨迹。因此充分利用点云的信息是机器人自主移动的一个基本能力。
通过相邻两帧激光点云计算相对位移的原理即是所谓的点云匹配算法。点云匹配同时也是机器人同步定位与建图(Simultaneously Localization and Mapping)的重要组成部分。在相继的两帧点云中,其有极其相似的形状。由于环境轮廓的刚体性质,点云匹配输出的是两帧点云之间的旋转量和平移量。若给定其中一帧点云的位置坐标,则可以计算出另一帧点云的位置。以此类推,通过机器人所搭载激光扫描的点云序列,基于点云匹配算法我们可以得到机器人的运动轨迹。点云匹配的基本思想是通过计算两帧点云之间的刚体变换(旋转和平移)使得两帧点云尽可能重叠。其具体方案是首先将两帧点云记为参考帧和当前帧,在当前帧中选取与参考帧对应的点对,建立所有点对之间的误差函数,采用优化算法求解关于刚体变换的误差函数,所得的刚体变换作用到当前帧再重复上述过程,直到所计算的刚体变换不再改变为止。
点云匹配实质上是一个优化问题。一般采用迭代算法求解此类优化问题,此时迭代过程非常强烈依赖初始值。如果初始值给得不好,则迭代算法容易陷入局部最优解。此局部最优解是机器人轨迹推算累积误差的来源。因此给出一个比较接近全局最优解的初始值就很重要。然而在没有其他信息辅助的情况下,这是很难做到的。另一方面,在点云匹配中,误差函数是根据对应点对建立起来的,而对应点对是根据最近点规则计算得来的。此时,最近点的搜索将占用绝大部分的计算时间,这是影响点云匹配效率最重要的因素。
【发明内容】
本发明提供了一种非迭代式点云匹配方法、介质、终端和装置,解决了以上所述的技术问题。
本发明解决上述技术问题的技术方案如下:一种非迭代式点云匹配方法,包括以下步骤:
步骤1,获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
步骤2,对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
步骤3,对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
步骤4,采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换。
在一个优选实施方式中,对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵,具体为:
S201,将参考点云和当前点云的极坐标转换到笛卡尔坐标系,并对转换后的笛卡尔坐标值进行取整处理;
S202,根据激光端点的整数坐标位置生成第一栅格矩阵和第二栅格矩阵,第一栅格矩阵和第二栅格矩阵中在端点坐标处对应的矩阵元素为1,其余为0;
S203,对第一栅格矩阵和第二栅格矩阵中较小矩阵进行补齐,补齐元素为0,以使第一栅格矩阵和第二栅格矩阵大小相同。
在一个优选实施方式中,对所述第一栅格矩阵和所述第二栅格矩阵进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵,具体为:
S301,对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶-梅林变换生成参考点云对应的第一频谱矩阵和当前点云对应的第二频谱矩阵;
S302,对所述第一频谱矩阵和所述第二频谱矩阵分别进行复数取模生成第一幅度值矩阵和第二幅度值矩阵;
S303,对所述第一幅度值矩阵和所述第二幅度值矩阵进行高通滤波。
在一个优选实施方式中,采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换,具体为:
S401,将所述第一幅度值矩阵和所述第二幅度值矩阵变换到极坐标系;
S402,对极坐标变换结果进行傅里叶变换后采用相位相关方法生成表示参考点云和当前点云之间旋转角度的第一脉冲函数;
S403,将第一脉冲函数的求解结果带入所述第一幅度值矩阵和所述第二幅度值矩阵中并再次利用相位相关方法生成表示参考点云和当前点云之间平移量的第二脉冲函数;
S404,对所述第二脉冲函数求解生成所述参考点云和所述当前点云的平移量。
本发明实施例的第二方面提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现以上所述的非迭代式点云匹配方法。
本发明实施例的第三方面提供了一种非迭代式点云匹配终端,包括所述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现以上所述非迭代式点云匹配方法的步骤。
本发明实施例的第四方面提供了一种非迭代式点云匹配装置,包括数据获取模块、坐标变换模块、傅里叶变换模块和脉冲变换模块,
所述数据获取模块用于获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
所述坐标变换模块用于对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
所述傅里叶变换模块用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
所述脉冲变换模块用于采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换。
在一个优选实施方式中,所述坐标变换模块具体包括:
第一坐标变换单元,用于将参考点云和当前点云的极坐标转换到笛卡尔坐标系,并对转换后的笛卡尔坐标值进行取整处理;
矩阵变换单元,用于根据激光端点的整数坐标位置生成第一栅格矩阵和第二栅格矩阵,第一栅格矩阵和第二栅格矩阵中在端点坐标处对应的矩阵元素为1,其余为0;
补齐单元,用于对第一栅格矩阵和第二栅格矩阵中较小矩阵进行补齐,补齐元素为0,以使第一栅格矩阵和第二栅格矩阵大小相同。
在一个优选实施方式中,所述傅里叶变换模块具体包括:
傅里叶变换单元,用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶-梅林变换生成参考点云对应的第一频谱矩阵和当前点云对应的第二频谱矩阵;
复数取模单元,用于对所述第一频谱矩阵和所述第二频谱矩阵分别进行复数取模生成第一幅度值矩阵和第二幅度值矩阵;
滤波单元,用于对所述第一幅度值矩阵和所述第二幅度值矩阵进行高通滤波。
在一个优选实施方式中,所述脉冲变换模块具体包括:
第二坐标变换单元,用于将所述第一幅度值矩阵和所述第二幅度值矩阵变换到极坐标系;
第一脉冲变换单元,用于对极坐标变换结果进行傅里叶变换后采用相位相关方法生成表示参考点云和当前点云之间旋转角度的第一脉冲函数;
第二脉冲变换单元,用于将第一脉冲函数的求解结果带入所述第一幅度值矩阵和所述第二幅度值矩阵中并再次利用相位相关方法生成表示参考点云和当前点云之间平移量的第二脉冲函数;
解算单元,用于对所述第二脉冲函数求解生成所述参考点云和所述当前点云的平移量。
本发明提供了一种非迭代式点云匹配方法、介质、终端和装置,将激光点云当作一张二值图,利用图像处理领域中比较成熟的傅里叶变换以及相位相关算法可以计算得到两帧点云之间的平移和旋转,也即相对位移。该算法不要求给定初始相对变换进行迭代式求解最优相对变换,也不要求对两帧点云进行对应点匹配,因此避免了传统点云匹配算法中容易陷入局部极小的问题,也避免了搜索对应点对的巨大计算量问题,具有运算速度快,易得到真实相对变换等特点,从而对自主移动机器人在场景中快速地计算全局位置提供了有效保证。
为使发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是实施例1提供的非迭代式点云匹配方法的流程示意图;
图2是实施例2提供的非迭代式点云匹配装置的结构示意图;
图3是实施例3提供的非迭代式点云匹配终端的结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
图1是本发明实施例1提供的一种非迭代式点云匹配方法的流程示意图,如图1所示,方法包括以下步骤:
步骤1,获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
步骤2,对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
步骤3,对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
步骤4,采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换。
上述实施例将激光点云转化为栅格图像,利用图像处理领域中比较成熟的傅里叶变换以及相位相关算法可以计算得到两帧点云之间的平移和旋转,也即相对位移。该算法不要求给定初始相对变换进行迭代式求解最优相对变换,也不要求对两帧点云进行对应点匹配,因此避免了传统点云匹配算法中容易陷入局部极小的问题,也避免了搜索对应点对的巨大计算量问题,具有运算速度快,易得到真实相对变换等特点,从而对自主移动机器人在场景中快速地计算全局位置提供了有效保证。
以下对上述实施例的步骤进行详细说明。
S01,获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云,将参考点云和当前点云通过极坐标转换投影在笛卡尔坐标系中,并对转换后的笛卡尔坐标值进行取整处理,即每个激光端点取整数坐标值。激光扫描是按照固定角度发射激光束,此角度可由激光装置参数上获取;激光点云的距离数据根据其对应的激光束角度以及如下公式变换到笛卡尔坐标系:
其中ρ表示扫描点距离激光雷达的距离,θ表示扫描角。对上面笛卡尔坐标值进行取整运算,根据X轴最小最大坐标值决定矩阵的列宽度,根据Y轴最小最大坐标值决定矩阵的行宽度。
S02,根据激光端点的范围提取参考点云对应的第一栅格矩阵I1和当前点云对应的第二栅格矩阵I2。第一栅格矩阵I1和第二栅格矩阵I2中,在端点坐标处对应的矩阵元素为1,其余为0,从而得到一个用来表示激光点云图像的二值矩阵,在此过程中,即使矩阵是二维的,在对其元素进行赋值时只需一层循环。上述计算参考点云和当前点云的矩阵时,应截取同样大小,若两个矩阵不是同样大小,则对其中较小矩阵进行补齐,补齐元素为0,使第一栅格矩阵和第二栅格矩阵大小相同。
S03,假设参考点云与当前点云之间存在的平移和旋转分别为(Δx,Δy)和Δθ,其中(Δx,Δy)表示相对平移量,Δθ表示相对角度量,也即第一栅格矩阵I1和第二栅格矩阵I2可建立如下等式:
I1(x,y)=I2(xcosΔθ+ysinΔθ-Δx,-xsinΔθ+ycosΔθ-Δy).
S04,对上面式子两边进行傅里叶变换,得到:
F(u,v)=e-2πi(uΔx+vΔy)G(ucosΔθ+vsinΔθ,-usinΔθ+vcosΔθ)。
其中在上述以及后续傅里叶变换中,u和v仅仅表示位置的变量,i是虚数单位,F和G(以及后续的P,Q,M,N,S,T)分别为傅里叶变换之后的矩阵。上述矩阵进行傅里叶-梅林变换之后得到的也是一个矩阵,该矩阵是原点云的频谱矩阵。频谱在每一个频率点的取值是一个复数,该复数由模和辐角唯一地确定,所以可将频谱分解为幅度谱(即复数的模关于频率的函数)和相位谱(即复数的辐角关于频率的函数)。
S05,计算上式两边的幅度谱,得到:
P(u,v)=Q(ucosΔθ+vsinΔθ,-usinΔθ+vcosΔθ).
通过复数取模方式得到的两个幅度值矩阵是一样的,只是相差一个旋转关系。
S06,对上面得到的两个幅度谱矩阵进行高通滤波,以提高峰值并减少频谱混叠,高通滤波函数为:
此处的H和X都表示一个二维矩阵,在图像领域中X(x,y)表示坐标(x,y)处的灰度值。
S07,然后将变换u=ρcosθ,v=ρsinθ代入S05的公式可以将幅度谱转换到极坐标空间中,即:
M(ρ,θ)=N(ρ,θ-Δθ).
通过对幅度值矩阵进行极坐标变换可以将两个幅度值矩阵的旋转关系转化为平移关系。
S08,对上面公式再进行傅里叶变换,得到:
S(s,t)=e-2πitΔθT(s,t),
根据复数域的基本理论可得:
因为T(x,y)经傅里叶变换之后得到的矩阵是一个复数矩阵,此处S*(s,t)表示共轭矩阵。
S09,对上面式子应用相位相关算法,即对左右两边做逆傅里叶变换,可以得到一个脉冲函数,该函数在其他各处为0,只在平移的位置上不为0(脉冲位置即为两帧点云的相对旋转),此时求得的平移量实际为两帧点云之间的相对角度值。
S10,将上面所得到的旋转量Δθ带入S04的公式,再次根据复数域的基本理论可以将其简化为如下公式:
S11,对上面公式再次应用相位相关算法从而得到参考点云和当前点云之间的相对平移量(Δx,Δy)。在求解相对平移和角度的时候,本实施例并没有要求给定初始相对变换,在计算过程中也没有要求寻找点云之间的对应点对,因此提高了点云匹配速度和精度。优选实施例中,在利用相位相关算法即逆傅里叶变换得到脉冲函数的过程中,为使得方便得到脉冲函数的坐标,往往在傅里叶变换的过程中对结果进行中心化计算。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现以上所述的非迭代式点云匹配方法。
图2是本发明实施例2提供的一种非迭代式点云匹配装置的结构示意图,如图2所示,包括数据获取模块100、坐标变换模块200、傅里叶变换模块300和脉冲变换模块400,
所述数据获取模块100用于获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
所述坐标变换模块200用于对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
所述傅里叶变换模块300用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
所述脉冲变换模块400用于采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换。
在一个优选实施方式中,所述坐标变换模块200具体包括:
第一坐标变换单元201,用于将参考点云和当前点云的极坐标转换到笛卡尔坐标系,并对转换后的笛卡尔坐标值进行取整处理;
矩阵变换单元202,用于根据激光端点的整数坐标位置生成第一栅格矩阵和第二栅格矩阵,第一栅格矩阵和第二栅格矩阵中在端点坐标处对应的矩阵元素为1,其余为0;
补齐单元203,用于对第一栅格矩阵和第二栅格矩阵中较小矩阵进行补齐,补齐元素为0,以使第一栅格矩阵和第二栅格矩阵大小相同。
在一个优选实施方式中,所述傅里叶变换模块300具体包括:
傅里叶变换单元301,用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶-梅林变换生成参考点云对应的第一频谱矩阵和当前点云对应的第二频谱矩阵;
复数取模单元302,用于对所述第一频谱矩阵和所述第二频谱矩阵分别进行复数取模生成第一幅度值矩阵和第二幅度值矩阵;
滤波单元303,用于对所述第一幅度值矩阵和所述第二幅度值矩阵进行高通滤波。
在一个优选实施方式中,所述脉冲变换模块400具体包括:
第二坐标变换单401元,用于将所述第一幅度值矩阵和所述第二幅度值矩阵变换到极坐标系;
第一脉冲变换单元402,用于对极坐标变换结果进行傅里叶变换后采用相位相关方法生成表示参考点云和当前点云之间旋转角度的第一脉冲函数;
第二脉冲变换单元403,用于将第一脉冲函数的求解结果带入所述第一幅度值矩阵和所述第二幅度值矩阵中并再次利用相位相关方法生成表示参考点云和当前点云之间平移量的第二脉冲函数;
解算单元404,用于对所述第二脉冲函数求解生成所述参考点云和所述当前点云的平移量。
本发明实施例还提供了一种非迭代式点云匹配终端,包括所述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现以上所述非迭代式点云匹配方法的步骤。图3是本发明实施例3提供的非迭代式点云匹配终端的结构示意图,如图3所示,该实施例的非迭代式点云匹配终端8包括:处理器80、可读存储介质81以及存储在所述可读存储介质81中并可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个方法实施例中的步骤,例如图1所示的步骤1至步骤4。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块的功能,例如图2所示模块100至400的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述可读存储介质81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述非迭代式点云匹配终端8中的执行过程。
所述非迭代式点云匹配终端8可包括,但不仅限于,处理器80、可读存储介质81。本领域技术人员可以理解,图3仅仅是非迭代式点云匹配终端8的示例,并不构成对非迭代式点云匹配终端8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述非迭代式点云匹配终端还可以包括电源管理模块、运算处理模块、输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述可读存储介质81可以是所述非迭代式点云匹配终端8的内部存储单元,例如非迭代式点云匹配终端8的硬盘或内存。所述可读存储介质81也可以是所述非迭代式点云匹配终端8的外部存储设备,例如所述非迭代式点云匹配终端8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述可读存储介质81还可以既包括所述非迭代式点云匹配终端8的内部存储单元也包括外部存储设备。所述可读存储介质81用于存储所述计算机程序以及所述非迭代式点云匹配终端所需的其他程序和数据。所述可读存储介质81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (8)
1.一种非迭代式点云匹配方法,其特征在于,包括以下步骤:
步骤1,获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
步骤2,对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
步骤3,对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
步骤4,采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换;
其中,采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换,具体为:
S401,将所述第一幅度值矩阵和所述第二幅度值矩阵变换到极坐标系;
S402,对极坐标变换结果进行傅里叶变换后采用相位相关方法生成表示参考点云和当前点云之间旋转角度的第一脉冲函数;
S403,将第一脉冲函数的求解结果带入所述第一幅度值矩阵和所述第二幅度值矩阵中并再次利用相位相关方法生成表示参考点云和当前点云之间平移量的第二脉冲函数;
S404,对所述第二脉冲函数求解生成所述参考点云和所述当前点云的平移量。
2.根据权利要求1所述的非迭代式点云匹配方法,其特征在于,对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵,具体为:
S201,将参考点云和当前点云的极坐标转换到笛卡尔坐标系,并对转换后的笛卡尔坐标值进行取整处理;
S202,根据激光端点的整数坐标位置生成第一栅格矩阵和第二栅格矩阵,第一栅格矩阵和第二栅格矩阵中,在端点坐标处对应的矩阵元素为1,其余为0;
S203,对第一栅格矩阵和第二栅格矩阵中较小矩阵进行补齐,补齐元素为0,以使第一栅格矩阵和第二栅格矩阵大小相同。
3.根据权利要求1或2所述的非迭代式点云匹配方法,其特征在于,对所述第一栅格矩阵和所述第二栅格矩阵进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵,具体为:
S301,对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶-梅林变换生成参考点云对应的第一频谱矩阵和当前点云对应的第二频谱矩阵;
S302,对所述第一频谱矩阵和所述第二频谱矩阵分别进行复数取模生成第一幅度值矩阵和第二幅度值矩阵;
S303,对所述第一幅度值矩阵和所述第二幅度值矩阵进行高通滤波。
4.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-3任一项所述的非迭代式点云匹配方法。
5.一种非迭代式点云匹配终端,其特征在于,包括权利要求4所述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现如权利要求1-3任一项所述非迭代式点云匹配方法的步骤。
6.一种非迭代式点云匹配装置,其特征在于,包括数据获取模块、坐标变换模块、傅里叶变换模块和脉冲变换模块,
所述数据获取模块用于获取相邻两帧点云数据,第一帧为参考点云,第二帧为当前点云;
所述坐标变换模块用于对相邻两帧点云数据进行坐标变换生成参考点云对应的第一栅格矩阵和当前点云对应的第二栅格矩阵;
所述傅里叶变换模块用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶变换生成参考点云对应的第一幅度值矩阵和当前点云对应的第二幅度值矩阵;
所述脉冲变换模块用于采用相位相关方法对所述第一幅度值矩阵和所述第二幅度值矩阵进行变换生成用于表示参考点云和当前点云之间平移量和旋转量的脉冲函数,根据脉冲函数对应的坐标值获取参考点云和当前点云的相对变换;
其中,所述脉冲变换模块具体包括:
第二坐标变换单元,用于将所述第一幅度值矩阵和所述第二幅度值矩阵变换到极坐标系;
第一脉冲变换单元,用于对极坐标变换结果进行傅里叶变换后采用相位相关方法生成表示参考点云和当前点云之间旋转角度的第一脉冲函数;
第二脉冲变换单元,用于将第一脉冲函数的求解结果带入所述第一幅度值矩阵和所述第二幅度值矩阵中并再次利用相位相关方法生成表示参考点云和当前点云之间平移量的第二脉冲函数;
解算单元,用于对所述第二脉冲函数求解生成所述参考点云和所述当前点云的平移量。
7.根据权利要求6所述的非迭代式点云匹配装置,其特征在于,所述坐标变换模块具体包括:
第一坐标变换单元,用于将参考点云和当前点云的极坐标转换到笛卡尔坐标系,并对转换后的笛卡尔坐标值进行取整处理;
矩阵变换单元,用于根据激光端点的整数坐标位置生成第一栅格矩阵和第二栅格矩阵,第一栅格矩阵和第二栅格矩阵中在端点坐标处对应的矩阵元素为1,其余为0;
补齐单元,用于对第一栅格矩阵和第二栅格矩阵中较小矩阵进行补齐,补齐元素为0,以使第一栅格矩阵和第二栅格矩阵大小相同。
8.根据权利要求6或7所述的非迭代式点云匹配装置,其特征在于,所述傅里叶变换模块具体包括:
傅里叶变换单元,用于对所述第一栅格矩阵和所述第二栅格矩阵分别进行傅里叶-梅林变换生成参考点云对应的第一频谱矩阵和当前点云对应的第二频谱矩阵;
复数取模单元,用于对所述第一频谱矩阵和所述第二频谱矩阵分别进行复数取模生成第一幅度值矩阵和第二幅度值矩阵;
滤波单元,用于对所述第一幅度值矩阵和所述第二幅度值矩阵进行高通滤波。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911207626.9A CN110991526B (zh) | 2019-11-29 | 2019-11-29 | 一种非迭代式点云匹配方法、介质、终端和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911207626.9A CN110991526B (zh) | 2019-11-29 | 2019-11-29 | 一种非迭代式点云匹配方法、介质、终端和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110991526A CN110991526A (zh) | 2020-04-10 |
CN110991526B true CN110991526B (zh) | 2023-11-28 |
Family
ID=70088807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911207626.9A Active CN110991526B (zh) | 2019-11-29 | 2019-11-29 | 一种非迭代式点云匹配方法、介质、终端和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110991526B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113950703B (zh) * | 2020-05-15 | 2024-06-21 | 百度时代网络技术(北京)有限公司 | 确定外参矩阵是否准确的方法、装置及数据处理系统 |
CN112861595A (zh) * | 2020-07-31 | 2021-05-28 | 北京京东乾石科技有限公司 | 数据点的识别方法、装置和计算机可读存储介质 |
CN112649814B (zh) * | 2021-01-14 | 2022-12-23 | 北京斯年智驾科技有限公司 | 一种用于激光定位的匹配方法、装置、设备和存储介质 |
CN117292140B (zh) * | 2023-10-17 | 2024-04-02 | 小米汽车科技有限公司 | 点云数据的处理方法、装置、车辆及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506203A1 (en) * | 2017-12-29 | 2019-07-03 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for fusing point cloud data technical field |
CN110009667A (zh) * | 2018-12-19 | 2019-07-12 | 南京理工大学 | 基于罗德里格斯变换的多视点云全局配准方法 |
CN110345936A (zh) * | 2019-07-09 | 2019-10-18 | 上海有个机器人有限公司 | 运动装置的轨迹数据处理方法及其处理系统 |
-
2019
- 2019-11-29 CN CN201911207626.9A patent/CN110991526B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506203A1 (en) * | 2017-12-29 | 2019-07-03 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for fusing point cloud data technical field |
CN110009667A (zh) * | 2018-12-19 | 2019-07-12 | 南京理工大学 | 基于罗德里格斯变换的多视点云全局配准方法 |
CN110345936A (zh) * | 2019-07-09 | 2019-10-18 | 上海有个机器人有限公司 | 运动装置的轨迹数据处理方法及其处理系统 |
Non-Patent Citations (1)
Title |
---|
秦绪佳 ; 王建奇 ; 郑红波 ; 梁震华 ; .三维不变矩特征估计的点云拼接.机械工程学报.2013,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110991526A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110991526B (zh) | 一种非迭代式点云匹配方法、介质、终端和装置 | |
CN110969649B (zh) | 一种激光点云与地图的匹配评价方法、介质、终端和装置 | |
CN111275633A (zh) | 基于图像分割的点云去噪方法、系统、装置和存储介质 | |
CN105866774A (zh) | 线性调频信号极坐标格式成像算法的fpga实现方法 | |
CN108230235B (zh) | 一种视差图生成系统、方法及存储介质 | |
CN111160298A (zh) | 一种机器人及其位姿估计方法和装置 | |
CN109509236B (zh) | 无人驾驶场景中的车辆包围盒生成方法、装置及存储介质 | |
CN110738730B (zh) | 点云匹配方法、装置、计算机设备和存储介质 | |
CN110887493A (zh) | 基于局部地图匹配的轨迹推算方法、介质、终端和装置 | |
CN110930444B (zh) | 一种基于双边优化的点云匹配方法、介质、终端和装置 | |
CN117788529A (zh) | 三维平面点云粗配准方法、系统、介质及设备 | |
CN117451033A (zh) | 一种同步定位与地图构建方法、装置、终端及介质 | |
CN110991085B (zh) | 一种机器人图像仿真数据的构建方法、介质、终端和装置 | |
CN117237544A (zh) | 一种训练数据的生成方法、装置、电子设备及存储介质 | |
CN110706288A (zh) | 目标检测的方法、装置、设备及可读存储介质 | |
CN110969578B (zh) | 一种局部栅格地图快速拼接方法、介质、终端和装置 | |
JP2022014921A (ja) | 路側カメラの外部パラメータに基づく三次元感知情報取得方法及び路側機器 | |
CN110887490A (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN114185020B (zh) | 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 | |
CN117146807A (zh) | 一种基于imu的激光点云去畸变方法 | |
CN112649814B (zh) | 一种用于激光定位的匹配方法、装置、设备和存储介质 | |
CN115412721B (zh) | 一种点云二维规则化平面投影方法及装置 | |
CN111766582B (zh) | 一种双基前视sar图像几何校正方法及装置 | |
Singhirunnusorn et al. | Single‐camera pose estimation using mirage | |
Fehr et al. | Fast and accurate rotation estimation on the 2-sphere without correspondences |
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 | ||
GR01 | Patent grant |