CN110738730A - 点云匹配方法、装置、计算机设备和存储介质 - Google Patents
点云匹配方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110738730A CN110738730A CN201910977774.2A CN201910977774A CN110738730A CN 110738730 A CN110738730 A CN 110738730A CN 201910977774 A CN201910977774 A CN 201910977774A CN 110738730 A CN110738730 A CN 110738730A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- matched
- spatial transformation
- point
- depth map
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请涉及一种点云匹配方法、装置、计算机设备和存储介质,通过降低该第一深度图集合的分辨率得到第二深度图集合;将第一深度图集合和第二深度图集合转换为第一点云和第二点云;在第一点云集合中确定第一待匹配点云和第一目标点云,在第二点云集合中确定第二待匹配点云和第二目标点云;由于第二点云的分辨率比第一点云的分辨率低,所以第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵的过程相对更快;再在第一待匹配点云和第一目标点云进行最近点迭代之前,利用第二空间变换矩阵对第一待匹配点云进行空间变换,使得第一待匹配点云与第一目标点云对应的最近点的距离减小,最近点迭代的速度提高,从而提高第一点云的匹配速度。
Description
技术领域
本申请涉及三维重建技术领域,特别是涉及一种点云匹配方法、装置、计算机设备和存储介质。
背景技术
三维重建技术作为计算机视觉、人工智能、虚拟现实等前沿领域的热点,被广泛应用于文物数字化、生物医学成像、动漫制作、工业测量以及虚拟交互等领域。而在三维重建过程中,需要对三维数据进行匹配,即对点云进行匹配,点云匹配的精度直接影响三维重建的精度,因此点云匹配技术对三维重建及其重要。
传统方案中通常利用针孔模型将深度图转换为点云,再利用最近点迭代法计算点云的空间变换矩阵,对其进行匹配。然而,当点云点数较多时,计算空间变换矩阵需要花费大量的时间,导致点云匹配的速度慢。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高点云匹配速度的三维方法、装置、计算机设备和存储介质。
一种点云匹配方法,所述方法包括:
获取被测物体的第一深度图集合;
降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
在其中一个实施例中,所述将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合包括:
获取所述第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;
根据所述第一深度图集合和第二深度图集合的像素坐标和所述转换关系,计算所述第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;
根据所述第一深度图集合和所述第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;
根据所述空间位置,生成对应的第一点云集合和第二点云集合。
在其中一个实施例中,所述对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵包括:
获取第二待匹配点云和第二目标点云中每一点的空间位置;
根据所述第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;
根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;
根据所述空间变换关系,生成第二空间变换矩阵;
当所述第二空间变换矩阵不满足收敛条件时,根据所述第二空间变换矩阵,对所述第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行所述根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
在其中一个实施例中,在根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云之后,所述方法还包括:
计算所述匹配后的第一点云的匹配误差;
当所述匹配误差不大于误差阈值时,将所述匹配后的第一点云作为点云匹配结果;
当所述匹配误差大于误差阈值时,根据所述第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;
对所述空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;
根据所述新的第二空间变换矩阵,执行所述对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在其中一个实施例中,所述计算所述匹配后的第一点云的匹配误差包括:
获取所述匹配后的第一点云中每一点的空间位置;
根据所述每一点的空间位置,确定所述匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;
将所述每一对最近点的距离相加后的结果作为所述匹配后的第一点云的匹配误差。
在其中一个实施例中,所述方法还包括:
判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;
当所述差值小于所述差值阈值时,将所述匹配后的第一点云作为点云匹配结果;
当所述差值不小于所述差值阈值时,执行根据所述第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
一种点云匹配装置,所述装置包括:
第一深度图集合获取模块,用于获取被测物体的第一深度图集合;
分辨率降低模块,用于降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
转换模块,用于将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
待匹配点云和目标点云确定模块,用于在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
第二空间变换矩阵计算模块,用于对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
第一待匹配点云空间变换模块,用于根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
第一空间变换矩阵计算模块,用于对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
第一点云匹配模块,用于根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
在其中一个实施例中,所述转换模块还用于获取所述第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据所述第一深度图集合和第二深度图集合的像素坐标和所述转换关系,计算所述第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据所述第一深度图集合和所述第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据所述空间位置,生成对应的第一点云集合和第二点云集合。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取被测物体的第一深度图集合;
降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取被测物体的第一深度图集合;
降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
上述点云匹配方法、装置、计算机设备和存储介质,通过获取被测物体的第一深度图集合,降低该第一深度图集合的分辨率得到第二深度图集合;再将第一深度图集合和第二深度图集合转换为对应的第一点云和第二点云;在第一点云集合中确定第一待匹配点云和第一目标点云,在第二点云集合中确定第二待匹配点云和第二目标点云;由于第二点云的分辨率比第一点云的分辨率低,所以第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵的过程相对更快;再在第一待匹配点云和第一目标点云进行最近点迭代之前,利用第二空间变换矩阵对第一待匹配点云进行一次空间变换,使得第一待匹配点云与第一目标点云对应的最近点的距离减小,最近点迭代的速度提高,从而提高第一点云的匹配速度。
附图说明
图1为一个实施例中点云匹配方法的应用场景图;
图2为一个实施例中点云匹配方法的流程示意图;
图3为另一个实施例中点云匹配方法的流程示意图;
图4为另一个实施例中三种方案的内容示意图;
图5为另一个实施例中三种方案的匹配时长对比示意图;
图6为另一个实施例中三种方案的匹配误差对比示意图;
图7为一个实施例中点云匹配装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的点云匹配方法,可以应用于如图1所示的应用环境中。其中,终端102通过USB与摄像机104相连接。终端102获取由摄像机104拍摄的第一深度图集合,降低该第一深度图集合的分辨率,得到第二深度图集合,再将第一深度图集合和第二深度图集合转换为对应的第一点云和第二点云,在第一点云集合中确定第一待匹配点云和第一目标点云,在第二点云集合中确定第二待匹配点云和第二目标点云,对第二待匹配点云和目标点云进行最近点迭代,得到第二空间变换矩阵,再利用第二空间变换矩阵对第一待匹配点云进行空间变换,对空间变换后的第一待匹配点云和第二待匹配点云进行最近点迭代,得到第一空间变换矩阵,对第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种点云匹配方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取被测物体的第一深度图集合。
其中,深度图上每个像素点的值代表物体到摄像机平面的距离。
具体地,由摄像机拍摄被测物体一段轨迹,得到被测物体的图像集合。终端利用USB与摄像机连接,获取该被测物体的图像集合,再对该被测物体的图像集合进行运算,得到对应的第一深度图集合。
在一个实施例中,通过两个相隔一定距离的摄像机同时拍摄被测物体的两幅图像,利用立体匹配算法确定两幅图像中对应的像素点,再根据三角原理计算出两幅图像中的视差信息,根据视差信息与深度信息间的变换关系,将视差信息转换为深度信息,根据该深度信息,生成深度图。
在另一个实施例中,通过对被测物体发射连续的近红外脉冲,利用传感器接收被测物体反射回来的脉冲,计算发射的近红外脉冲和反射回来的脉冲间的相位差,根据该相位差计算脉冲之间的传输延迟,得到被测物体相对于发射器的距离,生成深度图。
在其他实施例中,也可以利用结构光测量技术或者通过对图像的光度特征和明暗特征等图像特征进行分析等方法来得到深度图。
步骤204,降低第一深度图集合的分辨率,得到对应的第二深度图集合。
其中,第一深度图集合中包含多帧深度图,深度图本质上是灰度图像。而降低图像的分辨率主要是通过将源图像划分为一定比例的子图像块,对子图像块中的像素点的值进行重新设定,再合并子图像块来实现的。
在一个实施例中,将子图像块中所有像素点的值都设为该子图像块中第一个像素点的对应值。例如,将一幅分辨率为256×256的源图像的分辨率降为128×128的时候,因为128是256的二分之一,所以可以将源图像划分为多个2×2的子图像块。其中一个子图像块的像素点的值为:
把该子图像块的像素点的值都设为1,同理,其他子图像块的像素点的值也做出相同的更改,再把所有子图像块按顺序合并,来降低源图像的分辨率。
在另一个实施例中,将子图像块中的所有像素点的值设为该子图像块像素值的平均值。例如,将一幅分辨率为360×360的源图像的分辨率降为90×90的时候,因为90是360的四分之一,所以可以将源图像划分为多个4×4的子图像块。其中一个子图像块的像素点的值为:
计算该子图像块的像素值的平均值,得出该子图像块的像素值的平均值为8.5,再对其进行取整,将该子图像块的像素点的值都设为9。同理,其他子图像块也做出同样的更改,再把所有子图像块按顺序合并,降低源图像的分辨率。
在其他实施例中,也可以使用其他方法来降低第一深度图集合的分辨率,本申请不做限定。
步骤206,将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合。
其中,深度图对应的坐标系是像素坐标系,即以像素为单位的图像坐标系。在像素坐标系中,原点为图像左上角的顶点。点云对应的坐标系是世界坐标系,即客观三维世界的绝对坐标系,也叫真实世界的三维空间坐标系。
具体地,根据像素坐标系和世界坐标系之间的转换关系,将第一深度图集合和第二深度图集合中中每一像素点映射到世界坐标系中,生成第一点云集合和第二点云。
步骤208,在第一点云集合中确定第一待匹配点云和第一目标点云;在第二点云集合中确定第二待匹配点云和第二目标点云。
其中,点云集合中包括多帧点云。具体地,在点云匹配的过程中,通常情况下会取相邻两帧点云进行两两匹配,在上述相邻两帧点云中取其中一帧作为待匹配点云,另外一帧作为目标点云。
步骤210,对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵。
其中,最近点迭代是图像处理技术中一种图像配准的算法。对于一组图像数据集合中的两幅图像,最近点迭代算法可以通过寻找一种空间变换将一幅图像映射待另一幅图像,使得两幅图像中对应于空间同一位置的点一一对应,从而达到将图像数据匹配融合的目的。
具体地,获取第二目标点云和第二待匹配点云中每一点的空间位置,在第二目标点云中在寻找第二待匹配点云中每一点对应的最近点。再假设存在一种空间变换关系使得每一对最近点的空间位置相等,从而计算得出该空间变换关系,生成第二空间变换矩阵。
步骤212,根据第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云。
其中,第二点云集合是第一点云集合降低分辨率之后得到,所以第二点云集合中的每一帧点云与第一点云集合中的每一帧点云存在对应关系,对应的两帧点云是同一时间同一视角下被测物体的点云图像。因此可以认为第二空间变换矩阵是第一点云在进行最近点迭代后的近似解。
具体地,利用第二空间变换矩阵,对对应的第一待匹配点云中的每一点进行空间变换,使得变换后的第一待匹配点云与第一目标点云中每一点的空间距离减小。
步骤214,对空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵。
其中,因为变换后的第一待匹配点云与第一目标点云中每一点的空间距离减小,所以在对其进行最近点迭代时,相比与直接对第一待匹配点云和第一目标点云进行最近点迭代可以更快地得到第一空间变换矩阵。
具体地,获取第一待匹配点云和第一目标点云中每一点的空间位置,在第一目标点云中寻找空间变换后的第一待匹配点云中每一点对应的最近点,再假设存在一种空间变换关系使得每一对最近点的空间位置相等,从而计算得出该空间变换关系,生成第一空间变换矩阵。
步骤216,根据第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
具体地,利用第一空间变换矩阵,对空间变换后的第一待匹配点云进行再一次空间变换,使得再一次空间变换后的第一待匹配点云与第一目标点云中每一点的空间位置更加接近,从而达到对点云进行匹配的目的。
在本实施例中,通过获取被测物体的第一深度图集合,降低该第一深度图集合的分辨率得到第二深度图集合;再将第一深度图集合和第二深度图集合转换为对应的第一点云和第二点云;在第一点云集合中确定第一待匹配点云和第一目标点云,在第二点云集合中确定第二待匹配点云和第二目标点云;由于第二点云的分辨率比第一点云的分辨率低,所以第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵的过程相对更快;再在第一待匹配点云和第一目标点云进行最近点迭代之前,利用第二空间变换矩阵对第一待匹配点云进行一次空间变换,使得第一待匹配点云与第一目标点云对应的最近点的距离减小,最近点迭代的速度提高,从而提高第一点云的匹配速度。
在一个实施例中,将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合包括:获取第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据第一深度图集合和第二深度图集合的像素坐标和该转换关系,计算第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据第一深度图集合和第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据该空间位置,生成对应的第一点云集合和第二点云集合。
其中,深度图对应的坐标系是像素坐标系,即以像素为单位的图像坐标系。在像素坐标系中,原点为图像左上角的顶点。点云对应的坐标系是世界坐标系,即客观三维世界的绝对坐标系,也叫真实世界的三维空间坐标系。要将深度图转换为对应的点云,需要先将深度图对应的像素坐标转换为图像坐标,将图像坐标转换为相机坐标,在将相机坐标转换为世界坐标,才能得到对应的点云。像素坐标系是以图像平面的左上角顶点为坐标原点的,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,用(u,v)表示其坐标值。图像坐标系是以图像平面的中心为坐标原点,X轴和Y轴分别平行于图像平面的两条垂直边,用(x,y)表示其坐标值。相机坐标系是以相机的光心为坐标原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,相机的光轴为Z轴,用(Xc,Yc,Zc)表示其坐标值。因为相机和被测物体是位于三维空间中的,所以需要使用世界坐标系作为基准来描述所有位于三维环境中的物体的位置,用(Xw,,Yw,,Zw)表示其坐标值。
具体地,图像坐标系间的转换关系为:
其中,(u0,v0)是图像坐标系原点在像素坐标系中的坐标,dx和dy分别是每个像素在图像平面x和y方向上的物理尺寸。
图像坐标系与相机坐标系的转换关系为:
其中,f为相机的焦距,即图像平面到相机坐标原点的距离。
相机坐标系与世界坐标系的转换关系为:
其中,R是3×3的正交旋转矩阵,t是三位平移向量。利用上述转换关系,计算第一深度图集合和第二深度图集合中每个像素点对应的三维空间坐标,根据该空间坐标,确定每个像素点对应的空间位置,从而生成对应的第一点云集合和第二点云集合。
在本实施例中,将第一深度图集合和第二深度图集合转换为对应的第一点云和第二点云,为点云匹配提供了基础。
在一个实施例中,对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵包括:获取第二待匹配点云和第二目标点云中每一点的空间位置;根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;根据该空间变换关系,生成第二空间变换矩阵;当第二空间变换矩阵不满足收敛条件时,根据第二空间变换矩阵,对第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
其中,空间变换矩阵包括旋转矩阵和平移矩阵。最近点迭代是一种对两帧点云进行匹配的算法。最近点迭代算法的本质是基于最小二乘法的最优匹配,重复进行确定两帧点云对应的最近点,计算每一对最近点的空间变换关系,得出最优空间变换矩阵的过程。实际上,空间变换矩阵的求解过程是一个非线性的最小二乘问题,计算过程比较复杂。通常情况下,由于摄像机在拍摄被测物体的每相邻两帧图像的过程中移动幅度非常小,因此可以将空间变换矩阵的求解过程近似地转换为一个线性的最小二乘问题,即目标点云可以近似地认为是由待匹配点云经过旋转和平移后得到的。
具体地,获取第二待匹配点云和第二目标点云中每一点的空间位置,根据该空间位置,在第二目标点云中寻找第二待匹配点云中每一点的最近点,假设存在一个空间变换矩阵使得变换后的第二待匹配点云与第二目标点云相匹配,计算得出该空间变换矩阵。利用该空间变换矩阵对第二待匹配点云进行空间变换,计算空间变换后的第二待匹配点云与第二目标点云中每一对应的最近点间的距离。当该距离小于预设的误差阈值时,结束迭代过程;当该距离大于预设的误差阈值时,继续对空间变换后的第二待匹配点云和第二目标点云进行最近点迭代。
在本实施例中,利用最近点迭代算法计算得出第二空间变换矩阵,因为第二点云集合是由第二深度图集合转换得到的,相对分辨率较低,所以迭代过程快速,从而提高点云匹配的速度。
在一个实施例中,在根据第一空间变换矩阵,对空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云之后,方法还包括:计算匹配后的第一点云的匹配误差;当该匹配误差不大于误差阈值时,将匹配后的第一点云作为点云匹配结果;当该匹配误差大于误差阈值时,根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;对空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
其中,空间变换后的第一待匹配点云是由第一待匹配点云经过第二空间变换矩阵变换后得到的,第二空间变换矩阵是由第二待匹配点云和第二目标点云经过最近点迭代后得到的。由于第二待匹配点云和第二目标点云的分辨率较低,所以得到的第二空间变换矩阵存在一定的误差。因此根据第二空间变换矩阵进行空间变换后的第一待匹配点云与第一目标点云间还存在一定的匹配误差,需要对空间变换后的第一待匹配点云和第一目标点云再进行最近点迭代。而最近点迭代具有初始值依赖性,即最近点迭代的计算结果会受到第二空间变换矩阵的影响,导致最终得到的第一空间变换矩阵存在误差,所以在进行空间变换后的第一待匹配点云和第一目标点云之间的最近点迭代之后,还需要对其匹配精度进行判断。
具体地,计算匹配后的第一点云的匹配误差,当该匹配误差不大于误差阈值时,结束迭代,将该匹配后的第一点云作为最终的点云匹配结果;当该匹配误差大于误差阈值时,利用第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,对空间变换后的第二待匹配点云和第二目标点云进行最近点迭代,得到新的第二空间变换矩阵,再根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在本实施例中,通过判断匹配后的第一点云的匹配误差与预设的误差阈值间的大小关系,可以知道第一点云的匹配精度是否达到标准。当第一点云的匹配效果达到标准时,将匹配后的第一点云作为最终的点云匹配结果。当第一点云的匹配精度未达到标准时,将第一空间变换矩阵应用到第二待匹配点云中,改变最近点迭代的初始值,再次进行最近点迭代,提高点云的匹配精度。
在一个实施例中,计算匹配后的第一点云的匹配误差包括:获取匹配后的第一点云中每一点的空间位置;根据每一点的空间位置,确定匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;将每一对最近点的距离相加后的结果作为所述匹配后的第一点云的匹配误差。
其中,计算匹配后的第一点云的匹配误差的方法有point-to-point,point-to-plane和plane-to-plane。point-to-point是根据计算的是点到点的距离,point-to-plane计算的是点到面的距离,plane-to-plane计算的是面到面的距离。
具体地,获取匹配后的第一待匹配点云和第一目标点云中每一点的空间位置,在目标点云在寻找与第一待匹配点云中的点对应的距离最近的点,计算待匹配点云中的每一点到第一目标点云的对应点切平面的距离并相加,将相加后的值作为匹配后的第一点云的匹配误差。
由于point-to-plane的计算速度更快,所以在本实施例中采用point-to-plane的方法进行说明,在其他实施例中也可以使用其他方法对点云的匹配误差进行计算。
在本实施例中,计算匹配后的第一点云的匹配误差,可以用于表示匹配后的第一点云的匹配精度。
在一个实施例中,在根据第一空间变换矩阵,对空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云之后,方法还包括:判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;当该差值小于差值阈值时,将匹配后的第一点云作为点云匹配结果;当该差值不小于差值阈值时,执行根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
其中,当匹配精度未达到标准时,需要对点云进行再次最近点迭代来提高点云的匹配精度。然而,当本次匹配误差与上一次的匹配误差间相差不大时,说明进行再次最近点迭代也无法提高点云的匹配精度,那么结束对点云的最近点迭代。
具体地,将上一次的匹配误差减去本次的匹配误差得到一个差值,判断该差值与预设的相邻两次误差间的差值阈值的大小关系。当该差值小于差值阈值时,则结束迭代过程,利用当前得到的第一空间变换矩阵,对第一待匹配点云和第一目标点云进行匹配。当该差值不小于差值阈值时,执行根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
在本实施例中,通过计算前后两次匹配误差的差值,判断该差值是否小于预设的差值阈值,在该差值不小于差值阈值时,可以进行再次迭代,进一步提高第一点云的匹配精度。
在另一个实施例中,如图3所示,提供了一种点云匹配方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤302,获取被测物体的第一深度图集合。
步骤304,降低第一深度图集合的分辨率,得到对应的第二深度图集合。
步骤306,将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合。
步骤308,在第一点云集合中确定第一待匹配点云和第一目标点云;在第二点云集合中确定第二待匹配点云和第二目标点云。
步骤310,对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵。
步骤312,根据第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云。
步骤314,对空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵。
步骤316,根据第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
步骤318,获取匹配后的第一点云中每一点的空间位置;根据每一点的空间位置,确定匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;将每一对最近点的距离相加后的结果作为所述匹配后的第一点云的匹配误差。
步骤320,当该匹配误差不大于误差阈值时,将匹配后的第一点云作为点云匹配结果。
步骤322,当该匹配误差大于误差阈值时,根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;对空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在一个实施例(方案1)中,直接对分辨率为640×480的点云进行最近点迭代并匹配。在另一个实施例(方案2)中,第一点云集合的分辨率为640×480,第二点云集合的分辨率为320×240,通过使用上述点云匹配方法对第一点云进行匹配。在另一个实施例(方案3)中,第一点云集合的分辨率为640×480,第二点云集合的分辨率为480×320,同样上述点云匹配方法对第一点云进行匹配。计算上述三个实施例的匹配时间和最终的匹配误差,如图4、图5和图6所示。可以看出,方案1即传统方法的匹配时间最长且匹配误差最大,方案2和方案3的匹配误差近似相等,而方案2的匹配时间比方案3的匹配时间短,即方案2的匹配速度更快。因此,使用本申请的方法不仅可以提高点云匹配速度,还可以提高点云的匹配精度。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种点云匹配装置700,包括:第一深度图集合获取模块701、分辨率降低模块702、转换模块703、待匹配点云和目标点云确定模块704、第二空间变换矩阵计算模块705、第一待匹配点云空间变换模块706、第一空间变换矩阵计算模块707和第一点云匹配模块708,其中:
第一深度图集合获取模块701,用于获取被测物体的第一深度图集合;
分辨率降低模块702,用于降低第一深度图集合的分辨率,得到对应的第二深度图集合;
转换模块703,用于将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合;
待匹配点云和目标点云确定模块704,用于在第一点云集合中确定第一待匹配点云和第一目标点云;在第二点云集合中确定第二待匹配点云和第二目标点云;
第二空间变换矩阵计算模块705,用于对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
第一待匹配点云空间变换模块706,用于根据第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
第一空间变换矩阵计算模块707,用于对空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
第一点云匹配模块708,用于根据第一空间变换矩阵,对空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
在一个实施例中,转换模块703还用于获取第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据第一深度图集合和第二深度图集合的像素坐标和该转换关系,计算第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据第一深度图集合和第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据该空间位置,生成对应的第一点云集合和第二点云集合。
在一个实施例中,第二空间变换矩阵计算模块705还用于获取第二待匹配点云和第二目标点云中每一点的空间位置;根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;根据该空间变换关系,生成第二空间变换矩阵;当第二空间变换矩阵不满足收敛条件时,根据第二空间变换矩阵,对第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
在一个实施例中,点云匹配装置700还包括匹配精度提高模块709,用于计算匹配后的第一点云的匹配误差;当该匹配误差不大于误差阈值时,将匹配后的第一点云作为点云匹配结果;当该匹配误差大于误差阈值时,根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;对空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在一个实施例中,点云匹配装置700还包括匹配误差计算模块710,用于获取匹配后的第一点云中每一点的空间位置;根据每一点的空间位置,确定匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;将每一对最近点的距离相加后的结果作为所述匹配后的第一点云的匹配误差。
在一个实施例中,匹配精度提高模块709还用于判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;当该差值小于差值阈值时,将匹配后的第一点云作为点云匹配结果;当该差值不小于差值阈值时,执行根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
关于点云匹配装置的具体限定可以参见上文中对于点云匹配方法的限定,在此不再赘述。上述点云匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储点云数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种点云匹配方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取被测物体的第一深度图集合;降低第一深度图集合的分辨率,得到对应的第二深度图集合;将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合;在第一点云集合中确定第一待匹配点云和第一目标点云;在第二点云集合中确定第二待匹配点云和第二目标点云;对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;根据第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;对空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;根据第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据第一深度图集合和第二深度图集合的像素坐标和该转换关系,计算第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据第一深度图集合和第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据该空间位置,生成对应的第一点云集合和第二点云集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二待匹配点云和第二目标点云中每一点的空间位置;根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;根据该空间变换关系,生成第二空间变换矩阵;当第二空间变换矩阵不满足收敛条件时,根据第二空间变换矩阵,对第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算匹配后的第一点云的匹配误差;当该匹配误差不大于误差阈值时,将匹配后的第一点云作为点云匹配结果;当该匹配误差大于误差阈值时,根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;对空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在一个实施例中,处理器执行计算机程序是还实现以下步骤:获取匹配后的第一点云中每一点的空间位置;根据每一点的空间位置,确定匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;将每一对最近点的距离相加后的结果作为匹配后的第一点云的匹配误差。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;当该差值小于差值阈值时,将匹配后的第一点云作为点云匹配结果;当该差值不小于差值阈值时,执行根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取被测物体的第一深度图集合;降低第一深度图集合的分辨率,得到对应的第二深度图集合;将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合;在第一点云集合中确定第一待匹配点云和第一目标点云;在第二点云集合中确定第二待匹配点云和第二目标点云;对第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;根据第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;对空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;根据第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据第一深度图集合和第二深度图集合的像素坐标和该转换关系,计算第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据第一深度图集合和第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据该空间位置,生成对应的第一点云集合和第二点云集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二待匹配点云和第二目标点云中每一点的空间位置;根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;根据该空间变换关系,生成第二空间变换矩阵;当第二空间变换矩阵不满足收敛条件时,根据第二空间变换矩阵,对第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算匹配后的第一点云的匹配误差;当该匹配误差不大于误差阈值时,将匹配后的第一点云作为点云匹配结果;当该匹配误差大于误差阈值时,根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;对空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;根据新的第二空间变换矩阵,执行对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
在一个实施例中,处理器执行计算机程序是还实现以下步骤:获取匹配后的第一点云中每一点的空间位置;根据每一点的空间位置,确定匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;将每一对最近点的距离相加后的结果作为匹配后的第一点云的匹配误差。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;当该差值小于差值阈值时,将匹配后的第一点云作为点云匹配结果;当该差值不小于差值阈值时,执行根据第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种点云匹配方法,所述方法包括:
获取被测物体的第一深度图集合;
降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
2.根据权利要求1所述的方法,其特征在于,所述将第一深度图集合和第二深度图集合转换为对应的第一点云集合和第二点云集合包括:
获取所述第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;
根据所述第一深度图集合和第二深度图集合的像素坐标和所述转换关系,计算所述第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;
根据所述第一深度图集合和所述第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;
根据所述空间位置,生成对应的第一点云集合和第二点云集合。
3.根据权利要求1所述的方法,其特征在于,所述对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵包括:
获取第二待匹配点云和第二目标点云中每一点的空间位置;
根据所述第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点;
根据每一对最近点的空间位置,得出每一对最近点的空间变换关系;
根据所述空间变换关系,生成第二空间变换矩阵;
当所述第二空间变换矩阵不满足收敛条件时,根据所述第二空间变换矩阵,对所述第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云,将空间变换后的第二待匹配点云作为新的第二待匹配点云;执行所述根据第二待匹配点云和第二目标点云中每一点的空间位置,在第二目标点云中确定第二待匹配点云中每一点对应的最近点的步骤。
4.根据权利要求1所述的方法,其特征在于,在根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云之后,所述方法还包括:
计算所述匹配后的第一点云的匹配误差;
当所述匹配误差不大于误差阈值时,将所述匹配后的第一点云作为点云匹配结果;
当所述匹配误差大于误差阈值时,根据所述第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云;
对所述空间变换后的第二待匹配点云和第二目标进行最近点迭代,得到新的第二空间变换矩阵;
根据所述新的第二空间变换矩阵,执行所述对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云的步骤。
5.根据权利要求4所述的方法,其特征在于,所述计算所述匹配后的第一点云的匹配误差包括:
获取所述匹配后的第一点云中每一点的空间位置;
根据所述每一点的空间位置,确定所述匹配后的第一点云中对应的每一对最近点,计算得出每一对最近点间的距离;
将所述每一对最近点的距离相加后的结果作为所述匹配后的第一点云的匹配误差。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断上一次的匹配误差与本次的匹配误差相减得出的差值与预设的相邻两次误差间的差值阈值的大小关系;
当所述差值小于所述差值阈值时,将所述匹配后的第一点云作为点云匹配结果;
当所述差值不小于所述差值阈值时,执行根据所述第一空间变换矩阵,对对应的第二待匹配点云进行空间变换,得到空间变换后的第二待匹配点云的步骤。
7.一种点云匹配装置,其特征在于,所述装置包括:
第一深度图集合获取模块,用于获取被测物体的第一深度图集合;
分辨率降低模块,用于降低所述第一深度图集合的分辨率,得到对应的第二深度图集合;
转换模块,用于将所述第一深度图集合和所述第二深度图集合转换为对应的第一点云集合和第二点云集合;
待匹配点云和目标点云确定模块,用于在所述第一点云集合中确定第一待匹配点云和第一目标点云;在所述第二点云集合中确定第二待匹配点云和第二目标点云;
第二空间变换矩阵计算模块,用于对所述第二待匹配点云和第二目标点云进行最近点迭代,得到第二空间变换矩阵;
第一待匹配点云空间变换模块,用于根据所述第二空间变换矩阵,对对应的第一待匹配点云进行空间变换,得到空间变换后的第一待匹配点云;
第一空间变换矩阵计算模块,用于对所述空间变换后的第一待匹配点云和第一目标点云进行最近点迭代,得到第一空间变换矩阵;
第一点云匹配模块,用于根据所述第一空间变换矩阵,对所述空间变换后的第一待匹配点云和第一目标点云进行匹配,得到匹配后的第一点云。
8.根据权利要求7所述的装置,其特征在于,所述转换模块还用于获取所述第一深度图集合和第二深度图集合的像素坐标以及图像像素坐标系与三维空间坐标系间的转换关系;根据所述第一深度图集合和第二深度图集合的像素坐标和所述转换关系,计算所述第一深度图集合和第二深度图集合中每个像素点对应的空间坐标;根据所述第一深度图集合和所述第二深度图集合中每个像素点对应的空间坐标,确定每个像素点对应的空间位置;根据所述空间位置,生成对应的第一点云集合和第二点云集合。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910977774.2A CN110738730B (zh) | 2019-10-15 | 2019-10-15 | 点云匹配方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910977774.2A CN110738730B (zh) | 2019-10-15 | 2019-10-15 | 点云匹配方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738730A true CN110738730A (zh) | 2020-01-31 |
CN110738730B CN110738730B (zh) | 2023-07-18 |
Family
ID=69268958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910977774.2A Active CN110738730B (zh) | 2019-10-15 | 2019-10-15 | 点云匹配方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738730B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461194A (zh) * | 2020-03-27 | 2020-07-28 | 广州小鹏汽车科技有限公司 | 点云处理方法及装置、行驶控制方法、电子装置和车辆 |
CN113219489A (zh) * | 2021-05-13 | 2021-08-06 | 深圳数马电子技术有限公司 | 多线激光的点对确定方法、装置、计算机设备和存储介质 |
WO2022037253A1 (zh) * | 2020-08-19 | 2022-02-24 | 腾讯科技(深圳)有限公司 | 人脸图像的处理方法、装置、计算机可读介质及设备 |
CN114926549A (zh) * | 2022-05-30 | 2022-08-19 | 北京百度网讯科技有限公司 | 三维点云处理方法、装置、设备以及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715469A (zh) * | 2013-12-13 | 2015-06-17 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN105488459A (zh) * | 2015-11-23 | 2016-04-13 | 上海汽车集团股份有限公司 | 车载3d道路实时重构方法及装置 |
CN105701820A (zh) * | 2016-01-14 | 2016-06-22 | 上海大学 | 一种基于匹配区域的点云配准方法 |
US20170046840A1 (en) * | 2015-08-11 | 2017-02-16 | Nokia Technologies Oy | Non-Rigid Registration for Large-Scale Space-Time 3D Point Cloud Alignment |
WO2018176440A1 (zh) * | 2017-04-01 | 2018-10-04 | 深圳市速腾聚创科技有限公司 | 点云与平面图像融合方法、智能设备及非易失性计算机可读存储介质 |
CN109493375A (zh) * | 2018-10-24 | 2019-03-19 | 深圳市易尚展示股份有限公司 | 三维点云的数据匹配及合并方法、装置、可读介质 |
CN109903319A (zh) * | 2019-03-13 | 2019-06-18 | 北京信息科技大学 | 一种基于多分辨率的快速迭代最近点配准算法 |
CN109948400A (zh) * | 2017-12-20 | 2019-06-28 | 宁波盈芯信息科技有限公司 | 一种能够进行人脸特征3d识别的智能手机及其识别方法 |
US20190205695A1 (en) * | 2017-12-29 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd | Method and apparatus for determining matching relationship between point cloud data |
-
2019
- 2019-10-15 CN CN201910977774.2A patent/CN110738730B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715469A (zh) * | 2013-12-13 | 2015-06-17 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
US20170046840A1 (en) * | 2015-08-11 | 2017-02-16 | Nokia Technologies Oy | Non-Rigid Registration for Large-Scale Space-Time 3D Point Cloud Alignment |
CN105488459A (zh) * | 2015-11-23 | 2016-04-13 | 上海汽车集团股份有限公司 | 车载3d道路实时重构方法及装置 |
CN105701820A (zh) * | 2016-01-14 | 2016-06-22 | 上海大学 | 一种基于匹配区域的点云配准方法 |
WO2018176440A1 (zh) * | 2017-04-01 | 2018-10-04 | 深圳市速腾聚创科技有限公司 | 点云与平面图像融合方法、智能设备及非易失性计算机可读存储介质 |
CN109948400A (zh) * | 2017-12-20 | 2019-06-28 | 宁波盈芯信息科技有限公司 | 一种能够进行人脸特征3d识别的智能手机及其识别方法 |
US20190205695A1 (en) * | 2017-12-29 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd | Method and apparatus for determining matching relationship between point cloud data |
CN109493375A (zh) * | 2018-10-24 | 2019-03-19 | 深圳市易尚展示股份有限公司 | 三维点云的数据匹配及合并方法、装置、可读介质 |
CN109903319A (zh) * | 2019-03-13 | 2019-06-18 | 北京信息科技大学 | 一种基于多分辨率的快速迭代最近点配准算法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461194A (zh) * | 2020-03-27 | 2020-07-28 | 广州小鹏汽车科技有限公司 | 点云处理方法及装置、行驶控制方法、电子装置和车辆 |
CN111461194B (zh) * | 2020-03-27 | 2024-03-12 | 广州小鹏汽车科技有限公司 | 点云处理方法及装置、行驶控制方法、电子装置和车辆 |
WO2022037253A1 (zh) * | 2020-08-19 | 2022-02-24 | 腾讯科技(深圳)有限公司 | 人脸图像的处理方法、装置、计算机可读介质及设备 |
CN114170640A (zh) * | 2020-08-19 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 人脸图像的处理方法、装置、计算机可读介质及设备 |
EP4123502A4 (en) * | 2020-08-19 | 2023-11-22 | Tencent Technology (Shenzhen) Company Limited | FACIAL IMAGE PROCESSING METHOD, DEVICE, COMPUTER READABLE MEDIUM, AND EQUIPMENT |
CN114170640B (zh) * | 2020-08-19 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 人脸图像的处理方法、装置、计算机可读介质及设备 |
CN113219489A (zh) * | 2021-05-13 | 2021-08-06 | 深圳数马电子技术有限公司 | 多线激光的点对确定方法、装置、计算机设备和存储介质 |
CN113219489B (zh) * | 2021-05-13 | 2024-04-16 | 深圳数马电子技术有限公司 | 多线激光的点对确定方法、装置、计算机设备和存储介质 |
CN114926549A (zh) * | 2022-05-30 | 2022-08-19 | 北京百度网讯科技有限公司 | 三维点云处理方法、装置、设备以及存储介质 |
CN114926549B (zh) * | 2022-05-30 | 2024-05-14 | 北京百度网讯科技有限公司 | 三维点云处理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110738730B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108198145B (zh) | 用于点云数据修复的方法和装置 | |
CN110853075B (zh) | 一种基于稠密点云与合成视图的视觉跟踪定位方法 | |
CN107705333B (zh) | 基于双目相机的空间定位方法及装置 | |
CN110738730A (zh) | 点云匹配方法、装置、计算机设备和存储介质 | |
CN115082639B (zh) | 图像生成方法、装置、电子设备和存储介质 | |
WO2018119889A1 (zh) | 三维场景定位方法和装置 | |
CN108537876A (zh) | 基于深度相机的三维重建方法、装置、设备及存储介质 | |
CN108335353A (zh) | 动态场景的三维重建方法、装置和系统、服务器、介质 | |
EP3326156B1 (en) | Consistent tessellation via topology-aware surface tracking | |
CN116385505A (zh) | 数据处理方法、装置、系统和存储介质 | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
CN111598993A (zh) | 基于多视角成像技术的三维数据重建方法、装置 | |
CN113610889A (zh) | 一种人体三维模型获取方法、装置、智能终端及存储介质 | |
CN111862299A (zh) | 人体三维模型构建方法、装置、机器人和存储介质 | |
KR20080029080A (ko) | 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법 | |
CN112083403B (zh) | 用于虚拟场景的定位追踪误差校正方法及系统 | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN112734824A (zh) | 一种基于广义光度立体模型的三维重建方法 | |
CN111881985A (zh) | 立体匹配方法、装置、终端和存储介质 | |
CN111742352A (zh) | 3d对象建模方法以及相关设备和计算机程序产品 | |
CN114494383A (zh) | 基于Richard-Lucy迭代的光场深度估计方法 | |
CN110619601A (zh) | 一种基于三维模型的图像数据集生成方法 | |
Gomes et al. | Exploring RGB-D cameras for 3D reconstruction of cultural heritage: A new approach applied to Brazilian baroque sculptures | |
JP2009186287A (ja) | 平面パラメータ推定装置、平面パラメータ推定方法及び平面パラメータ推定プログラム | |
CN117216591A (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 | ||
GR01 | Patent grant |