CN108876830A - 点云配准方法、装置、电子设备及可读存储介质 - Google Patents
点云配准方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN108876830A CN108876830A CN201810576258.4A CN201810576258A CN108876830A CN 108876830 A CN108876830 A CN 108876830A CN 201810576258 A CN201810576258 A CN 201810576258A CN 108876830 A CN108876830 A CN 108876830A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- target
- individual sample
- current
- individual
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012360 testing method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 abstract description 9
- 238000010276 construction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- 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
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明提出一种点云配准方法、装置、电子设备及可读存储介质,涉及三维扫描技术领域,包括:点云的预处理,即通过构造两种特征参数对点云进行特征点提取;利用预处理后的源点云和预处理后的目标点云,以当前代种群中的最优个体和随机选取的三个个体,生成对应的变异个体;以当前目标个体和变异个体,生成对应的试验个体并确定出目标优秀个体,且以目标优秀个体替换当前目标个体;当当前进化代数达到预设的目标进化代数或,当前代种群的目标均方根误差值小于预设的精度值时,解码目标均方根误差值所对应的个体,生成对应的点云配准参数,处理初始源点云。本发明提供的点云配准方法、装置、电子设备及可读存储介质,能够提升点云配准时的配准精度。
Description
技术领域
本发明涉及三维扫描技术领域,具体而言,涉及一种点云配准方法、装置、电子设备及可读存储介质。
背景技术
随着三维扫描技术的快速发展,基于三维点云数据进行物体形貌的三维重建已广泛应用于农业、医学和逆向工程等领域,具有重要的研究价值。由于物体尺寸和光的线性传播特性,要得到物体表面完整的点云数据,需要进行多个视角的点云数据采集。而将这多个视角的点云数据通过寻求一个合适的坐标变换对齐到一个统一的坐标系下,这便是点云的配准,点云配准的精度将直接影响到后续点云数据的处理过程以及三维重建的精度。
发明内容
本发明的目的在于提供一种点云配准方法、装置、电子设备及可读存储介质,能够提升点云配准时的配准精度。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种点云配准方法,所述方法包括:利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值,其中,所述当前代种群中包含多个个体样本,在所述当前代种群中每个个体样本被分配有确定的编号,所述预处理后的源点云由初始源点云经特征点提取后获得,所述预处理后的目标点云由初始目标点云经特征点提取后获得;依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本,其中,所述最优个体样本为所述当前代种群中均方根误差值最小的个体样本;依据所述当前目标个体样本和所述变异个体样本,生成与所述当前目标个体样本相对应的试验个体样本;在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本,并以所述目标优秀个体样本替换所述当前目标个体样本以作为所述当前代种群中新的当前目标个体样本;判断所述当前目标个体样本的编号是否达到预设的种群规模;当所述当前目标个体样本的编号达到所述预设的种群规模时,判断所述当前代种群的当前进化代数是否达到预设的目标进化代数或,所述当前代种群的目标均方根误差值是否小于预设的精度值,其中,所述目标均方根误差值为所述当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值;当所述当前代种群的当前进化代数达到所述预设的目标进化代数或,所述当前代种群的目标均方根误差值小于所述预设的精度值时,解码所述目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以所述生成的点云配准参数,处理所述初始源点云。
第二方面,本发明实施例提供了一种点云配准装置,所述装置包括:均方根误差值计算模块,用于利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值,其中,所述当前代种群中包含多个个体样本,在所述当前代种群中每个个体样本被分配有确定的编号,所述预处理后的源点云由初始源点云经特征点提取后获得,所述预处理后的目标点云由初始目标点云经特征点提取后获得;变异样本生成模块,用于依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本,其中,所述最优个体样本为所述当前代种群中均方根误差值最小的个体样本;试验样本生成模块,用于依据所述当前目标个体样本和所述变异个体样本,生成与所述当前目标个体样本相对应的试验个体样本;优秀样本确定模块,用于在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本,并以所述目标优秀个体样本替换所述当前目标个体样本以作为所述当前代种群中新的当前目标个体样本;第一判断模块,用于判断所述当前目标个体样本的编号是否达到预设的种群规模;第二判断模块,用于当所述当前目标个体样本的编号达到所述预设的种群规模时,判断所述当前代种群的当前进化代数是否达到预设的目标进化代数或,所述当前代种群的目标均方根误差值是否小于预设的精度值,其中,所述目标均方根误差值为所述当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值;配准参数解析模块,用于当所述当前代种群的当前进化代数达到所述预设的目标进化代数或,所述当前代种群的目标均方根误差值小于所述预设的精度值时,解码所述目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以所述生成的点云配准参数,处理所述初始源点云。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器,用于存储一个或多个程序;处理器。当所述一个或多个程序被所述处理器执行时,实现上述的点云配准方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的点云配准方法。
相对于现有技术,本发明实施例所提供的一种点云配准方法、装置、电子设备及可读存储介质,通过利用当前代种群中的最优个体样本,结合随机生成的性能依次减小的三个个体样本生成的变异个体样本,进而以该变异个体样本与当前目标个体样本相交叉,生成试验个体样本来对当前代种群进行进化更新,相较于现有技术,能够提升点云配准时的配准精度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1示出了本发明实施例所提供的一种电子设备的一种示意性结构图;
图2示出了本发明实施例所提供的一种点云配准方法的一种示意性流程图;
图3为图2中步骤S500的子步骤的一种示意性流程图;
图4为图2中步骤S100的子步骤的一种示意性流程图;
图5示出了本发明实施例所提供的一种点云配准装置的一种示意性结构图;
图6示出了本发明实施例所提供的一种点云配准装置的优秀样本确定模块的一种示意性结构图;
图7示出了本发明实施例所提供的一种点云配准装置的预处理模块的一种示意性结构图。
图中:10-电子设备;20-点云配准装置;110-存储器;120-处理器;130-存储控制器;140-外设接口;150-射频单元;160-通讯总线/信号线;200-预处理模块;210-第一处理单元;220-第二处理单元;300-均方根误差值计算模块;400-变异样本生成模块;500-试验样本生成模块;600-优秀样本确定模块;610-第一计算单元;620-对比单元;700-第一判断模块;800-第二判断模块;900-配准参数解析模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1示出了本发明实施例所提供的一种电子设备10的一种示意性结构图,所述电子设备10可以是,但不限于是智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、穿戴式移动终端等等,所述电子设备10包括存储器110、存储控制器130,一个或多个(图中仅示出一个)处理器120、外设接口140、射频单元150等。这些组件通过一条或多条通讯总线/信号线160相互通讯。
存储器110可用于存储软件程序以及模组,如本发明实施例所提供的点云配准装置20对应的程序指令/模组,处理器120通过运行存储在存储器110内的软件程序以及模组,从而执行各种功能应用以及数据处理,如本发明实施例所提供的点云配准方法。
其中,所述存储器110可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
处理器120可以是一种集成电路芯片,具有信号处理能力。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器120也可以是任何常规的处理器等。
外设接口140将各种输入/输入装置耦合至处理器120以及存储器110。在一些实施例中,外设接口140,处理器120以及存储控制器130可以在单个芯片中实现。在本发明其他的一些实施例中,他们还可以分别由独立的芯片实现。
射频单元150用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
可以理解,图1所示的结构仅为示意,电子设备10包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参阅图2,图2示出了本发明实施例所提供的一种点云配准方法的一种示意性流程图,在本发明实施例中,该点云配准方法包括以下步骤:
步骤S200,利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值。
对于初始源点云S和初始目标点云M,点云的配准过程实际上是将初始源点云S的坐标变换统一到初始目标点云M所在的坐标系下,使得配准误差最小化,该过程的本质是求解点云中所有的点进行坐标变换时的六个参数,即绕xyz轴各自的旋转角度αx、αy、αz和沿xyz轴各自的平移量tx、ty、tz,将这六个参数编码为个体样本X,则:
X=[αx αy αz tx ty tz];
根据X可计算对应的旋转矩阵R和平移矩阵T如下:
T=[tx ty tz]T。
在进行点云配准之前,首先需要生成多个初始个体样本X来作为初始种群。显然,对于每一个个体样本,均包括αx、αy、αz、tx、ty、tz共计六个参数。例如,对于初始种群包含的多个初始个体样本,每个初始个体样本所包含的多个参数可以采用如下公式随机生成:
X=rand(0,1)·(XU-XL)+XL;
其中,XU和XL分别表征每个参数的上限与下限组成的个体,rand(0,1)表征(0,1)之间均匀分布的随机数。例如,参数的限定范围可按如下形式定义:
再以该初始种群以及预先设置的种群规模NP、预设的进化代数D、预设的变异常数F及预设的交叉概率CR等参数,对预处理后的源点云和预处理后的目标点云进行处理,以求取对应的点云配准参数,进而以该求取到的点云配准参数对初始源点云进行处理,将初始源点云的坐标变换统一到初始目标点云所在的坐标系下。
具体地,在处理到具体的当前代种群时,先利用预处理后的源点云和预处理后的目标点云,计算当前代种群中每个个体样本各自所对应的均方根误差值。其中,当前代种群中包含多个个体样本,在当前代种群中每个个体样本被分配有确定的编号,预处理后的源点云由初始源点云经特征点提取后获得,预处理后的目标点云由初始目标点云经特征点提取后获得,每个个体样本各自所对应的均方根误差值的具体计算方式如下:
其中,n表示配对点对的数量,si表示预处理后的源点云中的点,si′表示si经过X计算的R、T坐标变换后的点。为了提升对应点对的搜索速度,si′的对应点搜索采用kd-tree搜索算法,即mi表示采用kd-tree搜索算法从预处理后的目标点云中搜索到距离si′最近的点。每个个体样本各自的均方根误差值即表征利用该个体样本进行点云配准时的误差值,也就是说,均方根误差值越小,点云配准精度越高,该个体样本的性能就越好。
步骤S300,依据当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与当前代种群中的当前目标个体样本相对应的变异个体样本。
当前代种群中包含有多个个体样本,每个个体样本均要进行相应的处理。在获得当前代种群中每个个体样本各自所对应的均方根误差值后,首先在当前代种群中确定出最优个体样本,其中,当前代种群中的最优个体样本为当前代种群中均方根误差值最小的个体样本。
在得到最优个体样本后,再依据该最优个体样本和随机选取的任意三个个体样本,生成当前代种群中当前目标个体样本对应的变异个体样本,该变异个体样本的具体生成表达式为:
V=βXb+(1-β)X1+F·(X2-X3);
其中,V表征变异个体样本,Xb表征当前代种群中的最优个体样本,X1、X2及X3表征均方根误差值依次增大的三个个体样本,β∈[0,1],F为预先设置的变异常数。
具体地,设定初始种群的进化代数为1,当前代种群的进化代数为d,预设的进化代数为D,则β可以采用以下三种方式生成:
β的生成方式可依据上述三种任意选取。
步骤S400,依据当前目标个体样本和变异个体样本,生成与当前目标个体样本相对应的试验个体样本。
在获得当前目标个体样本所对应的变异个体样本后,对该当前目标个体样本和变异个体样本进行交叉,以生成该当前目标个体样本相对应的试验个体样本。
具体地,对第l个(l∈[1,NP])目标个体进行交叉生成的试验个体,记为Ql={ql1,…,qlm},其中,
若[0,1]之间的随机数randlj小于预设的交叉概率CR或者j(j∈[1,m])等于1到m之间的随机整数jrand,则该试验个体的当前第j维由变异个体V对应维贡献,否则由目标个体X对应维贡献,m表示个体中参数的个数,m=6。
步骤S500,在当前目标个体样本和试验个体样本中,确定出目标优秀个体样本,并以目标优秀个体样本替换当前目标个体样本以作为当前样本中新的当前目标个体样本。
试验个体样本为目标个体样本与变异个体样本进行交叉生成的,可以认为,目标个体样本与试验个体样本为“父子”关系,而“父子”关系中必然包含性能更为优秀的样本。因此,在获得与当前目标个体样本相对应的试验个体样本后,确定出当前目标个体样本和试验个体样本中性能更为优秀的个体样本作为目标优秀个体样本,并以该目标优秀个体样本替换当前目标个体样本以作为当前代种群中新的当前目标个体样本。
例如,假定当前目标个体样本的性能更为优秀,则当前目标个体样本为目标优秀个体样本,此时以该当前目标个体样本作为目标优秀个体样本;假定试验个体样本的性能更为优秀,则以该试验个体样本作为目标优秀个体样本。
具体地,请参阅图3,图3为图2中步骤S500的子步骤的一种示意性流程图,在本发明实施例中,步骤S500包括以下子步骤:
子步骤S510,分别计算当前目标个体样本和试验个体样本各自的均方根误差值。
在获得试验个体样本后,依据上述的均方根误差值具体计算公式,首先分别计算当前目标个体样本和试验个体样本各自的均方根误差值,以判定当前目标个体样本和试验个体样本各自的性能。
子步骤S520,对比当前目标个体样本和试验个体样本各自的均方根误差值,以均方根误差值更小的个体样本作为目标优秀个体样本。
在获得当前目标个体样本和试验个体样本各自的均方根误差值后,即对比当前目标个体样本和试验个体样子各自的均方根误差值,均方根误差值越小,表征样本性能更优秀,精度更高,即以该均方根误差值更小的个体样本作为目标优秀个体样本。
步骤S600,判断当前目标个体样本的编号是否达到预设的种群规模?当为是时,执行步骤S700;当为否时,以当前目标个体样本所在编号的下一编号所对应的个体样本作为新的当前目标个体样本,并继续执行步骤S300。
在以当前目标个体样本和试验个体样本中确定出的目标优秀个体样本替换当前目标个体样本以作为当前代种群中新的当前目标个体样本后,根据当前目标个体样本的编号,与预设的种群规模NP进行对比,判断当前目标个体样本的编号是否达到预设的种群规模NP?当当前目标个体样本的编号已经达到预设的种群规模NP时,表征当前代种群的所有个体样本均已完成进化,有更为优秀的个体样本替换原来的个体样本,此时执行步骤S700;当当前目标个体样本的编号未达到预设的种群规模NP时,表征当前代种群所包含的个体样本中,没有完全进化完毕,此时即以当前目标个体样本所在编号的下一编号所对应的个体样本,作为新的当前目标个体样本,并继续执行步骤S300。
步骤S700,当前代种群的当前进化代数是否达到预设的目标进化代数或,当前代种群的目标均方根误差值是否小于预设的精度值?当当前代种群的当前进化代数达到预设的目标进化代数或,当前代种群的目标均方根误差值小于预设的精度值时,执行步骤S800;当当前代种群的当前进化代数未达到预设的目标进化代数且,当前代种群的目标均方根误差值是大于或等于预设的精度值时,以所述当前进化代数的下一代作为新的当前进化代数,继续步骤S200。
当根据步骤S600判定当前目标个体样本的编号达到预设的种群规模NP时,表征当前代种群的所有个体样本均以完成进化,此时,即判断当前代种群的当前进化代数d是否达到预设的目标进化代数D,或者是当前代种群的目标均方根误差值是否小于预设的精度值。其中,当当前代种群的当前进化代数d已经达到预设的目标进化代数D时,表征当前代所有个体样本都已经完成进化;或者,当当前代种群的目标均方根误差值小于预设的精度值时,表征当前代种群的精度要求已经能够满足预设的点云配准的精度要求,此时当前代种群已经不需要再进化;并且,目标均方根误差值为当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值。
也就是说,当当前代种群的当前进化代数d达到预设的目标进化代数D,或者是当前代种群的目标均方根误差值小于预设的精度值时,表征当前代种群已经不需要再进化,此时即执行步骤S800;而当当前代种群的当前进化代数d未达到预设的目标进化代数D,或者是当前代种群的目标均方根误差值大于或等于预设的精度值时,表征当前代种群还需要继续进行,此时以当前进化代数的下一代作为新的当前进化代数,继续步骤S200,其中,新的当前进化代数中所包含的所有个体样本,为上一个进化代数进化完成时所包含的所有个体样本,也就是说,上一个进化代数进化完成后所包含的所有个体样本,在下一代中,继续执行由步骤S200开始的进化。
步骤S800,解码目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以生成的点云配准参数,处理初始源点云。
在根据步骤S700判定当前代种群的当前进化代数已经达到预设的目标进化代数或,当前代种群的目标均方根误差值小于预设的精度值时,即判定当前代种群已经进化完毕,此时即依据当前代种群所包含的所有个体样本中各自所对应的均方根误差值中最小的均方根误差值作为目标均方根误差值,并解码该目标均方根误差值所对应的个体样本,生成点云配准参数,并以该生成的点云配准参数,处理初始源点云,以完成配准。
基于上述设计,本发明实施例所提供的一种点云配准方法,通过利用当前代种群中的最优个体样本,结合随机生成的性能依次减小的三个个体样本生成的变异个体样本,进而以该变异个体样本与当前目标个体样本相交叉,生成试验个体样本来对当前代种群进行进化更新,相较于现有技术,能够提升点云配准时的配准精度。
作为一种实施方式,请继续参阅图2,在本发明实施例中,在执行步骤S200之前,该点云配准方法还包括:
步骤S100,预处理初始源点云及初始目标点云,分别生成预处理后的源点云和预处理后的目标点云。
初始源点云和初始目标点云中包含很多非特征点,若直接基于数据量庞大的初始源点云和初始目标点云进行匹配点搜索,这无疑会导致非常大的计算量和很长的配准时间。因此,需要先对初始源点云和初始目标点云中包含的这些非特征点进行预处理,以分别剔除初始源点云和初始目标点云中各自的非特征点,并分别生成预处理后的源点云和预处理后的目标点云,以用于步骤S200中的处理。
具体地,请参阅图4,图4为图2中步骤S100的子步骤的一种示意性流程图,在本发明实施例中,步骤S100包括以下子步骤:
子步骤S110,依据第一预设阀值,分别将初始源点云及初始目标点云中第一特征参数小于第一预设阀值的所有点剔除,将初始源点云及初始目标点云各自所剩下的所有点分别作为待优化源点云及待优化目标点云。
曲率和法向量能够表示被测点局部邻域内的形状变化情况,因此,本发明实施例利用点云的邻域曲率和邻域法向量夹角的均值构造特征参数对点云进行特征点提取,并采用主成分分析的计算方式,对点云中各个点进行曲率与法向量计算。
例如,对于确定的点云p中任意一点pi,从p中搜索pi的k个最近邻点记为pij(j=1,2,…k)。令表示为这些近邻点的重心,则pi对应的协方差矩阵Ci表示为:
计算Ci的三个特征值分别为λi1、λi2、λi3和三个对应的特征向量分别为vi1、vi2、vi3,并且特征值满足关系λi1≤λi2≤λi3,则点pi的曲率σi和法向量ni可分别表示为:
其中,i=1,2,…N,N表示点云p中点的个数。
而对于pi点,其k领域法向量夹角均值表示为 的具体表达式为:
其中,nij表示pi的第j个近邻点pij的法向量,acos()指反余弦函数。
根据点pi的曲率值σi与法向量夹角均值构造该点的第一特征参数ε1i,其中,第一特征参数具体的表达式为:
其中,μ是为了平衡σi与的系数。
依据第一预设阀值ε1t,若ε1i>ε1t,则从点云p中提取pi作为特征点,否则该点将被去除,提取后得到待优化特征点云p1。
相应地,对于初始源点云和初始目标点云,均采用上述的步骤,分别生成各自所对应的待优化源点云及待优化目标点云。
子步骤S120,依据第二预设阀值,分别将待优化源点云及待优化目标点云中第二特征参数小于第二预设阀值的所有点剔除,将待优化源点云及待优化目标点云中各自所剩下的所有点分别作为预处理后的源点云及预处理后的目标点云。
通常经过第一特征参数所提取的特征点还包含很多非特征点,且点的数量依旧较大,考虑到点pi若是尖锐的特征点,则其k邻域的曲率值应该大部分都较大,否则,该点不属于点云中的显著特征。因此,利用曲率信息再次构造第二特征参数ε2i:
其中,σij是pi的第j个近邻点pij的曲率值,σt是为了将σij进行0-1化而预设的阈值,ωij是0-1化结果。可知,ε2i代表pi点在k邻域内具有较大曲率值的点的个数。表ε2l(l=1,2,…L)为p1的第二特征参数,通过从ε2i中提取ε1i>ε1t所得,L表示p1中点的个数。依据第二预设阈值ε2t,从点云p1中提取ε2l>ε2t的点作为特征点,再次提取后可得到特征点云p2,即p2实质是通过两个特征参数对源点云提取后所得点云的交集。
相应地,对于上述子步骤S110获得的待优化源点云及待优化目标点云,均采用上述的步骤,分别生成各自所对应的预处理后的源点云及预处理后的目标点云。
基于上述设计,本发明实施例所提供的一种点云配准方法,通过基于第一特征参数的提取方式,在大幅度减少点的数量的同时又保留点云模型基本的特征信息,并基于第二特征参数的提取方式有效去除第一次提取后点云中残留的冗余点,更加凸显点云模型的特征信息,使得后续的计算量大幅度减少,提升点云配准时的速度。
请参阅图5,图5示出了本发明实施例所提供的一种点云配准装置20的一种示意性结构图,在本发明实施例中,该点云配准装置20包括均方根误差值计算模块300、变异样本生成模块400、试验样本生成模块500、优秀样本确定模块600、第一判断模块700、第二判断模块800及配准参数解析模块900。其中,
均方根误差值计算模块300用于利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值,其中,所述当前代种群中包含多个个体样本,在所述当前代种群中每个个体样本被分配有确定的编号。
变异样本生成模块400用于依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本,其中,所述最优个体样本为所述当前代种群中均方根误差值最小的个体样本。
试验样本生成模块500用于依据所述当前目标个体样本和所述变异个体样本,生成与所述当前目标个体样本相对应的试验个体样本。
优秀样本确定模块600用于在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本,并以所述目标优秀个体样本替换所述当前目标个体样本以作为所述当前代种群中新的当前目标个体样本。
作为一种实施方式,具体地,请参阅图6,图6示出了本发明实施例所提供的一种点云配准装置20的优秀样本确定模块600的一种示意性结构图,在本发明实施例中,该优秀样本确定模块600包括第一计算单元610和对比单元620。其中,
第一计算单元610用于分别计算所述当前目标个体样本和所述试验个体样本各自的均方根误差值。
对比单元620用于对比所述当前目标个体样本和所述试验个体样本各自的均方根误差值,以均方根误差值更小的个体样本作为目标优秀个体样本。
请继续参阅图5,第一判断模块700用于判断所述当前目标个体样本的编号是否达到预设的种群规模。
第二判断模块800用于当所述当前目标个体样本的编号达到所述预设的种群规模时,判断所述当前代种群的当前进化代数是否达到预设的目标进化代数或,所述当前代种群的目标均方根误差值是否小于预设的精度值,其中,所述目标均方根误差值为所述当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值。
配准参数解析模块900用于当所述当前代种群的当前进化代数达到所述预设的目标进化代数或,所述当前代种群的目标均方根误差值小于所述预设的精度值时,解码所述目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以所述生成的点云配准参数,处理初始源点云。
作为一种实施方式,请继续参阅图5,在本发明实施例中,该点云配准装置20还包括预处理模块200,所述预处理模块200用于预处理初始源点云及初始目标点云,分别生成预处理后的源点云和预处理后的目标点云。
具体地,请参阅图7,图7示出了本发明实施例所提供的一种点云配准装置20的预处理模块200的一种示意性结构图,在本发明实施例中,该预处理模块200包括第一处理单元210及第二处理单元220。其中,
第一处理单元210用于依据第一预设阀值,分别将初始源点云及初始目标点云中第一特征参数小于所述第一预设阀值的所有点剔除,将所述初始源点云及所述初始目标点云各自所剩下的所有点分别作为待优化源点云及待优化目标点云,其中,每个点的第一特征参数依据相应点的曲率及k邻域法向量夹角均值生成。
第二处理单元220用于依据第二预设阀值,分别将所述待优化源点云及所述待优化目标点云中第二特征参数小于所述第二预设阀值的所有点剔除,将所述待优化源点云及所述待优化目标点云中各自所剩下的所有点分别作为预处理后的源点云及预处理后的目标点云,其中,每个点的第二特征参数依据相应点的曲率生成。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明实施例所提供的一种点云配准方法、装置、电子设备及可读存储介质,通过利用当前代种群中的最优个体样本,结合随机生成的性能依次减小的三个个体样本生成的变异个体样本,进而以该变异个体样本与当前目标个体样本相交叉,生成试验个体样本来对当前代种群进行进化更新,相较于现有技术,能够提升点云配准时的配准精度;通过基于第一特征参数的提取方式,在大幅度减少点的数量的同时又保留点云模型基本的特征信息,并基于第二特征参数的提取方式有效去除第一次提取后点云中残留的冗余点,更加凸显点云模型的特征信息,使得后续的计算量大幅度减少,进一步提升点云配准时的速度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种点云配准方法,其特征在于,所述方法包括:
利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值,其中,所述当前代种群中包含多个个体样本,在所述当前代种群中每个个体样本被分配有确定的编号,所述预处理后的源点云由初始源点云经特征点提取后获得,所述预处理后的目标点云由初始目标点云经特征点提取后获得;
依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本,其中,所述最优个体样本为所述当前代种群中均方根误差值最小的个体样本;
依据所述当前目标个体样本和所述变异个体样本,生成与所述当前目标个体样本相对应的试验个体样本;
在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本,并以所述目标优秀个体样本替换所述当前目标个体样本以作为所述当前代种群中新的当前目标个体样本;
判断所述当前目标个体样本的编号是否达到预设的种群规模;
当所述当前目标个体样本的编号达到所述预设的种群规模时,判断所述当前代种群的当前进化代数是否达到预设的目标进化代数或,所述当前代种群的目标均方根误差值是否小于预设的精度值,其中,所述目标均方根误差值为所述当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值;
当所述当前代种群的当前进化代数达到所述预设的目标进化代数或,所述当前代种群的目标均方根误差值小于所述预设的精度值时,解码所述目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以所述生成的点云配准参数,处理所述初始源点云。
2.如权利要求1所述的方法,其特征在于,所述依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本的具体方式为:
V=βXb+(1-β)X1+F·(X2-X3);
其中,V表征所述变异个体样本,Xb表征所述当前代种群中的最优个体样本,X1、X2及X3表征均方根误差值依次增大的三个个体样本,β∈[0,1],F为预先设置的变异常数。
3.如权利要求1所述的方法,其特征在于,所述在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本的步骤,包括:
分别计算所述当前目标个体样本和所述试验个体样本各自的均方根误差值;
对比所述当前目标个体样本和所述试验个体样本各自的均方根误差值,以均方根误差值更小的个体样本作为目标优秀个体样本。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述当前目标个体样本的编号未达到所述预设的种群规模时,以所述当前目标个体样本所在编号的下一编号所对应的个体样本作为新的当前目标个体样本,并继续执行所述依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本的步骤。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述当前代种群的当前进化代数未达到预设的目标进化代数且,所述当前代种群的目标均方根误差值大于或等于所述预设的精度值时,以所述当前进化代数的下一代作为新的当前进化代数,继续执行所述利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值的步骤。
6.如权利要求1所述的方法,其特征在于,在所述利用预处理后的源点云和预处理后的目标点云,分别计算当前进化代数的当前代种群中每个个体样本各自所对应的均方根误差值并确定出所述当前代种群中的最优个体样本的步骤之前,所述方法还包括:
预处理初始源点云及初始目标点云,分别生成预处理后的源点云和预处理后的目标点云。
7.如权利要求6所述的方法,其特征在于,所述预处理初始源点云及初始目标点云,分别生成预处理后的源点云和预处理后的目标点云的步骤,包括:
依据第一预设阀值,分别将初始源点云及初始目标点云中第一特征参数小于所述第一预设阀值的所有点剔除,将所述初始源点云及所述初始目标点云各自所剩下的所有点分别作为待优化源点云及待优化目标点云,其中,每个点的第一特征参数依据相应点的曲率及k邻域法向量夹角均值生成;
依据第二预设阀值,分别将所述待优化源点云及所述待优化目标点云中第二特征参数小于所述第二预设阀值的所有点剔除,将所述待优化源点云及所述待优化目标点云中各自所剩下的所有点分别作为预处理后的源点云及预处理后的目标点云,其中,每个点的第二特征参数依据相应点的曲率生成。
8.一种点云配准装置,其特征在于,所述装置包括:
均方根误差值计算模块,用于利用预处理后的源点云和预处理后的目标点云,分别计算当前代种群中每个个体样本各自所对应的均方根误差值,其中,所述当前代种群中包含多个个体样本,在所述当前代种群中每个个体样本被分配有确定的编号,所述预处理后的源点云由初始源点云经特征点提取后获得,所述预处理后的目标点云由初始目标点云经特征点提取后获得;
变异样本生成模块,用于依据所述当前代种群中的最优个体样本和随机选取的任意三个个体样本,生成与所述当前代种群中的当前目标个体样本相对应的变异个体样本,其中,所述最优个体样本为所述当前代种群中均方根误差值最小的个体样本;
试验样本生成模块,用于依据所述当前目标个体样本和所述变异个体样本,生成与所述当前目标个体样本相对应的试验个体样本;
优秀样本确定模块,用于在所述当前目标个体样本和所述试验个体样本中,确定出目标优秀个体样本,并以所述目标优秀个体样本替换所述当前目标个体样本以作为所述当前代种群中新的当前目标个体样本;
第一判断模块,用于判断所述当前目标个体样本的编号是否达到预设的种群规模;
第二判断模块,用于当所述当前目标个体样本的编号达到所述预设的种群规模时,判断所述当前代种群的当前进化代数是否达到预设的目标进化代数或,所述当前代种群的目标均方根误差值是否小于预设的精度值,其中,所述目标均方根误差值为所述当前代种群的所包含的所有个体样本各自所对应的均方根误差值中最小的均方根误差值;
配准参数解析模块,用于当所述当前代种群的当前进化代数达到所述预设的目标进化代数或,所述当前代种群的目标均方根误差值小于所述预设的精度值时,解码所述目标均方根误差值所对应的个体样本,生成对应的点云配准参数,并以所述生成的点云配准参数,处理所述初始源点云。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810576258.4A CN108876830A (zh) | 2018-06-06 | 2018-06-06 | 点云配准方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810576258.4A CN108876830A (zh) | 2018-06-06 | 2018-06-06 | 点云配准方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108876830A true CN108876830A (zh) | 2018-11-23 |
Family
ID=64337263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810576258.4A Pending CN108876830A (zh) | 2018-06-06 | 2018-06-06 | 点云配准方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108876830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685841A (zh) * | 2019-01-03 | 2019-04-26 | 上海狮迈科技有限公司 | 三维模型与点云的配准方法及系统 |
CN113221505A (zh) * | 2021-06-04 | 2021-08-06 | 中科可控信息产业有限公司 | 电路板孔位确定方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016461A (zh) * | 2017-03-31 | 2017-08-04 | 北京科技大学 | 一种混合多目标进化方法 |
CN107146241A (zh) * | 2017-04-20 | 2017-09-08 | 西安交通大学 | 一种基于差分进化算法和TrimmedICP算法的点云配准方法 |
CN107590538A (zh) * | 2017-08-28 | 2018-01-16 | 南京航空航天大学 | 一种基于在线序列学习机的危险源识别方法 |
-
2018
- 2018-06-06 CN CN201810576258.4A patent/CN108876830A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016461A (zh) * | 2017-03-31 | 2017-08-04 | 北京科技大学 | 一种混合多目标进化方法 |
CN107146241A (zh) * | 2017-04-20 | 2017-09-08 | 西安交通大学 | 一种基于差分进化算法和TrimmedICP算法的点云配准方法 |
CN107590538A (zh) * | 2017-08-28 | 2018-01-16 | 南京航空航天大学 | 一种基于在线序列学习机的危险源识别方法 |
Non-Patent Citations (3)
Title |
---|
YING HE ET.AL.: "《An Iterative Closest Points Algorithm for Registration》", 《SENSORS》 * |
吴亮红等: "《动态差分算法及其应用》", 31 May 2014 * |
宋锦等: "《基于新型变异策略的差分进化算法》", 《计算机工程与设计》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685841A (zh) * | 2019-01-03 | 2019-04-26 | 上海狮迈科技有限公司 | 三维模型与点云的配准方法及系统 |
CN109685841B (zh) * | 2019-01-03 | 2020-09-18 | 上海狮迈科技有限公司 | 三维模型与点云的配准方法及系统 |
CN113221505A (zh) * | 2021-06-04 | 2021-08-06 | 中科可控信息产业有限公司 | 电路板孔位确定方法、装置、电子设备及可读存储介质 |
CN113221505B (zh) * | 2021-06-04 | 2024-04-12 | 中科可控信息产业有限公司 | 电路板孔位确定方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110827924B (zh) | 基因表达数据的聚类方法、装置、计算机设备及存储介质 | |
Li et al. | Protein contact map prediction based on ResNet and DenseNet | |
CN112328715B (zh) | 视觉定位方法及相关模型的训练方法及相关装置、设备 | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
WO2022100607A1 (zh) | 一种神经网络结构确定方法及其装置 | |
CN114298997B (zh) | 一种伪造图片检测方法、装置及存储介质 | |
EP4443396A1 (en) | Image encoder training method and apparatus, device, and medium | |
CN112434188A (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
CN111091010A (zh) | 相似度确定、网络训练、查找方法及装置和存储介质 | |
CN111627494A (zh) | 基于多维特征的蛋白质性质预测方法、装置和计算设备 | |
CN115937546A (zh) | 图像匹配、三维图像重建方法、装置、电子设备以及介质 | |
CN108876830A (zh) | 点云配准方法、装置、电子设备及可读存储介质 | |
CN113761262B (zh) | 图像的检索类别确定方法、系统以及图像检索方法 | |
Nanni et al. | Set of approaches based on 3D structure and position specific-scoring matrix for predicting DNA-binding proteins | |
CN110717405A (zh) | 人脸特征点定位方法、装置、介质及电子设备 | |
CN118097293A (zh) | 基于残差图卷积网络和自注意力的小样本数据分类方法及系统 | |
CN112307243A (zh) | 用于检索图像的方法和装置 | |
CN116932935A (zh) | 地址匹配方法、装置、设备、介质和程序产品 | |
CN114882288B (zh) | 基于分层图增强堆叠自编码器的多视图图像分类方法 | |
CN115881211B (zh) | 蛋白质序列比对方法、装置、计算机设备以及存储介质 | |
CN114357219A (zh) | 一种面向移动端实例级图像检索方法及装置 | |
CN113780239A (zh) | 虹膜识别方法、装置、电子设备和计算机可读介质 | |
CN117522614B (zh) | 一种数据的处理方法、装置、电子设备及存储介质 | |
CN113535885B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |
|
RJ01 | Rejection of invention patent application after publication |