激光雷达航带扫描边界识别方法及装置制造方法

文档序号:6246312阅读:381来源:国知局
激光雷达航带扫描边界识别方法及装置制造方法
【专利摘要】本发明是有关于一种激光雷达航带扫描边界识别方法及装置,其中的方法包括:计算相邻回波点数据中的激光扫描角Sai和Sai-1的差值和差值的累计值;在判断出差值大于零且累计值小于零的情况下或在差值小于零且累计值大于零的情况下,将Sai-1/Sai对应的回波点确定为当前激光扫描线的结束点,且累计值清零;计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点;利用修正后的边界点的回波点数据以及第一条激光扫描线和最后一条激光扫描线各自的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。本发明提高了激光雷达航带扫描边界识别的准确性。
【专利说明】激光雷达航带扫描边界识别方法及装置

【技术领域】
[0001]本发明涉及激光雷达扫描技术,特别是涉及一种激光雷达航带扫描边界识别方法及装置。

【背景技术】
[0002]激光雷达航带扫描通常是指设置有激光雷达扫描设备的飞行器在其飞行过程中,激光雷达扫描设备实现扫描操作。
[0003]激光雷达航带扫描通常包括两种扫描模式,即单向扫描模式和双向扫描模式。单向扫描模式是指激光沿着单个扫描方向进行扫描,其激光扫描线通常为平行线。双向扫描模式是指激光沿着往返扫描方向进行扫描,其激光扫描线通常为之字形或椭圆形等。
[0004]激光雷达航带扫描所获得的数据通常是以点云数据的形式存储,一组连续的回波点(如数百个连续的回波点)形成一条激光扫描线。点云数据中包含有激光扫描角信息,激光扫描角信息通常为单位为度的整型值。在对点云数据进行处理过程中,通常会涉及到航带扫描边界识别,即确定出大量点云数据的外边界。点云数据的外边界可以用于向用户提供航带扫描的覆盖面积、覆盖范围以及航带重叠率等信息。
[0005]现有的航带扫描边界识别方法通常为:通过点云数据中的激光扫描角是否发生突变来判断激光扫描线的边界点(也可以称为端点),并利用第一条激光扫描线、最后一条激光扫描线以及各条激光扫描线的边界点形成点云数据的外边界。
[0006]发明人在实现本发明过程中发现,由于激光脉冲的发射频率较高,因此,在一条激光扫描线中,I度激光扫描角范围内可能存在多个回波点,也就是说,一条激光扫描线中具有相同整型值的激光扫描角的回波点的数量为多个;这样,在确定点云数据的外边界过程中,如果通过激光扫描角的突变来判断一条激光扫描线的边界点,则误判的几率较大,从而会影响航带扫描边界识别的准确性;尤其是针对双向扫描模式而言,由于前后两条激光扫描线的激光扫描角在激光扫描线的边界点处存在重叠现象,因此激光扫描线边界点附近具有相同激光扫描角的回波点数量会更多,从而准确判断激光扫描线边界点的难度高于单向扫描模式。
[0007]另外,在激光雷达航带扫描过程中,激光扫描方向通常垂直于航行方向,然而,在某些应用场景中,激光扫描方向也会存在一定的入射角;这样,在激光扫描线中存在激光脉冲能够穿透的地物(如森林等)的情况下,会由于激光脉冲存在的入射角,而可能会出现回波点位置倒置现象,即前后回波点之间的空间位置顺序交错,该现象会影响到点云数据的外边界识别的准确性。
[0008]有鉴于现有的激光雷达航带扫描边界识别技术存在的技术问题,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种激光雷达航带扫描边界识别装置以及方法,能够解决现有的激光雷达航带扫描边界识别技术所存在的问题,使其更具有实用性。经过不断的研究设计,并经过反复试作样品及改进后,终于创设出确具实用价值的本发明。


【发明内容】

[0009]本发明的目的之一在于,克服现有的激光雷达航带扫描边界识别技术存在的问题,而提供一种激光雷达航带扫描边界识别方法及装置,所要解决的技术问题是,提高激光雷达航带扫描边界识别的准确性。
[0010]本发明的目的以及解决其技术问题可以采用以下的技术方案来实现。
[0011]依据本发明提出的一种激光雷达航带扫描边界识别方法,包括:从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sap1的差值以及所述差值的累计值;对计算出的所述差值和所述累计值进行判断,在判断出所述差值大于零且所述累计值小于零的情况下或者在判断出所述差值小于零且所述累计值大于零的情况下,将所述Sa1-^Sai对应的回波点确定为当前激光扫描线的结束点,且所述累计值清零;根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点;在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修正后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。
[0012]依据本发明提出的一种激光雷达航带扫描边界识别装置,所述装置包括:计算模块,用于从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sai^1的差值以及所述差值的累计值;确定边界点模块,用于对计算出的差值和累计值进行判断,在判断出差值大于零且累计值小于零的情况下或者在判断出所述差值小于零且所述累计值大于零的情况下,将所述SaiViSai对应的回波点确定为当前激光扫描线的结束点,且所述累计值清零;优化边界点模块,用于根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点;形成边界模块,用于在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修正后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。
[0013]借由上述技术方案,本发明的激光雷达航带扫描边界识别方法及装置至少具有下列优点及有益效果:本发明通过利用相邻回波点数据中的激光扫描角Sai和Sap1的差值以及多个差值的累计值来判断激光扫描线的结束点,并利用激光扫描线上的各回波点与激光扫描线的边界点之间的距离来修正激光扫描线的开始点/结束点,可以较准确的确定出各激光扫描线的边界点;从而本发明提供的技术方案可以提高激光雷达航带扫描边界识别的准确性。
[0014]综上所述,本发明在技术上有显著的进步,并具有明显的积极技术效果,诚为一新颖、进步、实用的新设计。
[0015]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳的实施例,详细说明如下。

【专利附图】

【附图说明】
[0016]图1是本发明实施例一的激光雷达航带扫描边界识别方法的流程图;
[0017]图2是本发明实施例二的激光雷达航带扫描边界识别方法的流程图;
[0018]图3是本发明实施例三的激光雷达航带扫描边界识别装置的示意图。

【具体实施方式】
[0019]下面结合附图对本发明实施例的激光雷达航带扫描边界识别方法及装置进行详细说明。
[0020]实施例一、激光雷达航带扫描边界识别方法,该方法的流程如图1所示。
[0021]图1中,S100、从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sap1的差值以及上述差值的累计值。
[0022]具体的,本实施例中的点云数据是由激光雷达扫描设备获得的所有回波点数据形成的数据集合。点云数据中的每一个回波点数据均包括:激光扫描角以及回波点位置数据等。这里的回波点位置数据可以为回波点二维位置数据。
[0023]本实施例可以将从点云数据中读取出的第一个回波点数据作为第一条激光扫描线的开始点的回波点数据。
[0024]本实施例中的Sai表示在相邻两个回波点中,后一个回波点数据中的激光扫描角,而Sap1表示前一个回波点数据中的激光扫描角。
[0025]针对每一条激光扫描线而言,在计算出该激光扫描线的第一个差值之前,累计值的初始值通常为0,且每计算出一个差值,则累计值会被更新为累计值与差值之和。
[0026]S110、对上述计算出的差值和累计值进行判断,在判断出差值大于零且累计值小于零的情况下或者在判断出差值小于零且累计值大于零的情况下,将Sa1-^Sai对应的回波点确定为当前激光扫描线的结束点,且将累计值清零。
[0027]具体的,在相邻两个回波点中,后一个回波点数据中的激光扫描角Sai与前一个回波点数据中的激光扫描角Sap1的差值等于零表示这两个相邻的回波点具有相同的激光扫描角Aai与Sa^1的差值大于零则表不激光扫描角在逐渐变大;而Sai与Sa^1的差值小于零则表示激光扫描角在逐渐变小。
[0028]在Sai与Sap1的差值大于零且当前累计值小于零的情况下,表示激光扫描角单调变化的方向发生了改变;在Sai与Sap1的差值小于零且当前累计值大于零的情况下,同样也表示激光扫描角单调变化的方向发生了改变;而激光扫描角单调变化的方向发生了改变则表示当前激光扫描线结束。
[0029]在判断出差值大于零且累计值小于零的情况下或者在判断出差值小于零且累计值大于零的情况下,如果当前激光扫描线不是最后一条激光扫描线,则本实施例会将上述Sap1对应的回波点确定为当前激光扫描线的结束点,如果当前激光扫描线是最后一条激光扫描线,则本实施例会将上述Sai对应的回波点确定为当前激光扫描线的结束点。
[0030]由于激光雷达航带扫描模式可以为单向扫描模式,也可以为双向扫描模式,因此,本实施例的点云数据可以是基于单向扫描模式而产生的点云数据,也可以为基于双向扫描模式而产生的点云数据。
[0031]对于单向扫描模式而言,本实施例除了确定出当前激光扫描线的结束点之外,还可以确定出当前激光扫描线的开始点;而对于双向扫描模式而言,由于下一条激光扫描线的开始点与当前激光扫描线的结束点重合,因此,可以仅确定出判断当前激光扫描线的结束点,该结束点同时还是下一条激光扫描线的开始点。
[0032]本实施例可以通过对当前激光扫描线对应的上述差值的累计值与上一条激光扫描线对应的上述差值的累计值的乘积来判断激光雷达航带扫描模式,即在乘积大于零的情况下,确定出激光雷达航带扫描模式为单向扫描模式,在乘积小于零的情况下,确定出激光雷达航带扫描模式为双向扫描模式。
[0033]在确定出激光雷达航带扫描模式为单向扫描模式的情况下,如果当前激光扫描线不是最后一条激光扫描线,则本实施例可以将上述Sai对应的回波点作为下一条激光扫描线的开始点;对于第一条激光扫描线来说,可以将读取的第一个回波点数据作为第一条激光扫描线的开始点的回波点数据。
[0034]在判断出激光雷达航带扫描模式为双向扫描模式的情况下,如果当前激光扫描线不是最后一条激光扫描线,则本实施例中的Sap1对应的回波点既为当前激光扫描线的结束点,同时还为下一条激光扫描线的开始点。
[0035]无论是单向扫描模式还是双向扫描模式,在确定出当前激光扫描线的结束点时,累计值应归零,以便于针对下一条激光扫描线的Sai与Sap1的差值进行累计计算。
[0036]S120、根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点。
[0037]具体的,SllO确定出的开始点和/或结束点可能会存在一定偏差,如对于单向扫描模式而言,激光扫描线中可能会存在由于入射角而引起空间位置倒置的回波点,因此,利用SllO确定出的开始点和结束点可能是空间位置倒置的回波点;再例如,对于双向扫描模式而言,由于两条相邻的激光扫描线在边界点处存在多个具有相同激光扫描角的回波点,因此,利用SllO确定出的结束点通常是下一条激光扫描线中临近开始点的回波点。本步骤的主要目的就是在于修正当前激光扫描线的开始点和/或结束点,如对于单向扫描模式而言,可以在一定程度上消除由于空间位置倒置现象。
[0038]修正当前激光扫描线的开始点的过程为:利用当前激光扫描线中的全部回波点位置数据分别计算当前激光扫描线上的各回波点与当前激光扫描线的结束点之间的距离,然后,对计算出的各距离进行比较,以挑选出距离结束点最远的回波点;本实施例将该挑选出的回波点作为最终的当前激光扫描线的开始点。
[0039]修正当前激光扫描线的结束点的过程为:利用当前激光扫描线中的全部回波点所包含的回波点位置数据分别计算当前激光扫描线上的各回波点与当前激光扫描线的开始点之间的距离,然后,对计算出的各距离进行比较,以挑选出距离开始点最远的回波点;本实施例将该挑选出的回波点作为最终的当前激光扫描线的结束点。
[0040]针对本步骤需要特别说明的是,对于第一条激光扫描线,无论是单向扫描模式还是双向扫描模式,可以对开始点和结束点均进行修正;而对于非第一条激光扫描线而言,在单向扫描模式下,可以对开始点和结束点均进行修正,在双向扫描模式下,由于当前激光扫描线的结束点同时还作为下一条激光扫描线的开始点,因此,对结束点进行修正也是对开始点进行修正。
[0041]S130、在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修改后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。
[0042]具体的,本实施例存储了所有修正后的开始点和/或结束点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据。存储的方式可以有多种,出于对便于管理以及方便生成激光雷达航带扫描边界等因素的考虑,本实施例可以使用正边界列表和负边界列表来存储激光扫描线的开始点和/或结束点,而第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据可以独立于正边界列表和负边界列表而独立存储。
[0043]针对单向扫描模式而言,利用正边界列表和负边界列表进行开始点和结束点的回波点数据存储的一个具体例子为:针对每一条激光扫描线,在当前激光扫描线的开始点的激光扫描角大于当前激光扫描线的结束点的激光扫描角的情况下,将当前激光扫描线的开始点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的开始点的回波点数据存储在负边界列表中;在当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角的情况下,将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
[0044]针对双向扫描模式而言,利用正边界列表和负边界列表进行开始点和结束点的回波点数据存储的一个具体例子为:针对第一条激光扫描线,在第一条激光扫描线的开始点的激光扫描角大于第一条激光扫描线的结束点的激光扫描角的情况下,将第一条激光扫描线的开始点的回波点数据存储在正边界列表中,否则,将第一条激光扫描线的开始点的回波点数据存储在负边界列表中;在第一条激光扫描线的结束点的激光扫描角大于第一条激光扫描线的开始点的激光扫描角的情况下,将第一条激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将第一条激光扫描线的结束点的回波点数据存储在负边界列表中;针对非第一条激光扫描线,在当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角的情况下,将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
[0045]另外,本实施例还可以对第一条激光扫描线和最后一条激光扫描线进行消除倒置现象的处理,即消除一些由于入射角而引起空间位置倒置的回波点数据。
[0046]—个具体的消除倒置现象的例子为:将第一条激光扫描线的开始点作为当前回波点,利用回波点数据中的回波点位置数据计算第一条激光扫描线中的其他各回波点与当前回波点之间的距离,并找到距离最小的回波点,如果距离最小的回波点与当前回波点之间存在其他的回波点,则删除当前回波点与距离最小的回波点之间的所有回波点数据,并将该距离最小的回波点作为当前回波点;如果距离最小的回波点与当前回波点之间不存在其他回波点,则直接将该距离最小的回波点作为当前回波点;然后,针对该新的当前回波点返回上述进行距离计算的处理过程;重复上述记载的各处理过程,直到当前回波点为第一条激光扫描线的结束点时,针对第一条激光扫描线的消除倒置现象的处理结束。
[0047]另一个具体的消除倒置现象的例子为:将第一条激光扫描线的结束点作为当前回波点,利用回波点数据中的回波点位置数据计算第一条激光扫描线中的其他各回波点与当前回波点之间的距离,并找到距离最小的回波点,如果距离最小的回波点与当前回波点之间存在其他的回波点,则删除当前回波点与距离最小的回波点之间的所有回波点数据,并将该距离最小的回波点作为当前回波点;如果距离最小的回波点与当前回波点之间不存在其他回波点,则直接将该距离最小的回波点作为当前回波点;然后,针对该新的当前回波点返回上述进行距离计算的处理过程;重复上述记载的各处理过程,直到当前回波点为第一条激光扫描线的开始点时,针对第一条激光扫描线的消除倒置现象的处理结束。
[0048]针对最后一条激光扫描线的消除倒置现象的处理与上述针对第一条激光扫描线的消除倒置现象的两个具体例子基本相同,在此不再重复说明。
[0049]实施例二、激光雷达航带扫描边界识别方法,该方法的大致流程如图2所示。
[0050]图2中,首先,从激光雷达航带扫描所获得的点云数据中读取第I个回波点数据,将第I个回波点作为第I条激光扫描线的开始点,将激光扫描角的差值的累计值Suhidsa清零。
[0051]之后,依次读取后续回波点数据,并依次计算前后两个相邻的回波点的激光扫描角之间的差值DiffSAi (DiffSAi = SA1-SAp1 ;DiffSAi = O表示这两个回波点具有同一激光扫描角;DiffSAi > O表示激光扫描角变大;DiffSAi < O表示激光扫描角变小),并依次累计激光扫描角的差值的累计值SumDSA(SumDSA = Σ DiffSAi,i = 2,...),并依据下述公式(I)和公式(2)初步判断第I条激光扫描线是否结束:
[0052]DiffSAi > O 且 Suhidsa < O公式(I)
[0053]DiffSAi < O 且 Suhidsa > O,公式(2)
[0054]上述公式(I)和公式(2)均表示激光扫描角单调变化的方向发生改变,即激光扫描线结束,从而确定出第I条激光扫描线的结束点。
[0055]之后,根据激光扫描线中的各回波点之间的位置关系优化第I条激光扫描线的开始点,即计算第I条激光扫描线中的其它回波点与第I条激光扫描线中的最后一个回波点(结束点)之间的距离,将第I条激光扫描线中与最后一个回波点之间距离最大的回波点作为第I条激光扫描线的开始点;本步骤涉及如下公式(3)-公式(6):
[0056]dXj = Xn-Xi公式(3)
[0057](IYi = Yn-Yi公式(4)
[0058]Disti = sqrt (dX^dX^dY^dYi)公式(5)
[0059]Max (Disti) =n_l公式(6)
[0060]之后,根据激光扫描线中的各回波点之间的位置关系优化第I条激光扫描线的结束点,即计算第I条激光扫描线中的其他回波点与第I条激光扫描线中的第一个回波点(开始点)之间的距离,将第I条激光扫描线中与第一个回波点之间距离最大的回波点作为第I条激光扫描线的结束点;本步骤涉及如下公式(7)-公式(10):
[0061]ClXi = X1-Xi公式(7)
[0062](IYi = Y1-Yi公式(8)
[0063]Disti = sqrt (dX^dX^dY^dYi)公式(9)
[0064]Max (Disti),i = 2,...,η公式(10)
[0065]之后,保存第I条激光扫描线的开始点的回波点数据,具体的,如果开始点的激光扫描角大于结束点的激光扫描角,则在正边界列表中保存该开始点的回波点数据,否则,在负边界列表中保存该开始点的回波点数据。
[0066]之后,保存第I条激光扫描线的结束点的回波点数据,具体的,如果结束点的激光扫描角大于开始点的激光扫描角,则在正边界列表中保存该结束点的回波点数据,否则,在负边界列表中保存该结束点的回波点数据。
[0067]之后,保存第I条激光扫描线中的开始点和结束点之间的其它回波点数据。
[0068]之后,第I条激光扫描线处理结束,开始第2条激光扫描线的开始点和结束点的初步判断以及优化过程。
[0069]之后,根据第I条激光扫描线的扫描角差值之和SumDSA1与第2条激光扫描线的扫描角差值之和SumDSA2之间的大小关系判断扫描模式,具体的,如果SumDSA1*SumDSA2 > O则表示单向扫描模式,如果SumDSA1*SumDSA2 < O则表示双向扫描模式。如果为单向扫描模式,则保存第2条激光扫描线的开始点的回波点数据和结束点的回波点数据;如果为双向扫描模式,则保存第2条激光扫描线的结束点的回波点数据。
[0070]之后,按照上述对第2条激光扫描线的处理过程对第3条激光扫描线进行处理,直到对最后I条激光扫描线进行处理。
[0071]之后,存储最后I条激光扫描线中的开始点和结束点之间的其它回波点数据。
[0072]之后,对第I条激光扫描线和最后I条激光扫描线进行优化处理,以去除激光扫描线中的激光点位置倒置现象,具体的,在激光扫描线上搜索到开始点/结束点距离最小的回波点,删除该回波点到开始点/结束点之间的所有回波点数据,并将该距离最小的回波点作为第二个边界连续点;以此类推,直到将激光扫描线上的结束点/开始点作为边界连续点。
[0073]最后,将第I条激光扫描线中的所有回波点、最后I条激光扫描线中的所有回波点以及中间激光扫描线中的开始点和结束点连接起来,形成激光雷达航带扫描的外边界。
[0074]实施例三、激光雷达航带扫描边界识别装置,该装置如图3所示。
[0075]图3中,激光雷达航带扫描边界识别装置主要包括:计算模块300、确定边界点模块310、优化边界点模块320、形成边界模块330、扫描模式判断模块340以及消除倒置模块350。
[0076]计算模块300与确定边界点模块310连接。计算模块300主要用于从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sap1的差值以及该差值的累计值。
[0077]具体的,点云数据可以以二进制格式或者文本格式等方式存储。计算模块300从点云数据中读取出的第一个回波点数据可以作为第一条激光扫描线的开始点的回波点数据。
[0078]针对每一条激光扫描线而言,在计算模块300计算出该激光扫描线的第一个差值之前,累计值的初始值通常为0,且每计算出一个差值,则计算模块300会将累计值更新为累计值与差值之和。
[0079]确定边界点模块310与计算模块300、优化边界点模块320以及扫描模式判断模块340分别连接。确定边界点模块310用于对计算模块300计算出的差值和累计值进行判断,确定边界点模块310可以在计算模块300每计算出一个差值和累计值的情况下进行一次判断;确定边界点模块310在判断出差值大于零且累计值小于零的情况下,或者确定边界点模块310在判断出差值小于零且累计值大于零的情况下,将SaiViSai对应的回波点确定为当前激光扫描线的结束点,且确定边界点模块310将累计值清零。
[0080]具体的,确定边界点模块310在判断出差值大于零且累计值小于零的情况下,或者确定边界点模块310在判断出差值小于零且累计值大于零的情况下,如果当前激光扫描线不是最后一条激光扫描线,则确定边界点模块310会将上述Sap1对应的回波点确定为当前激光扫描线的结束点,如果当前激光扫描线是最后一条激光扫描线,则确定边界点模块310会将上述Sai对应的回波点确定为当前激光扫描线的结束点。
[0081]对于单向扫描模式而言,确定边界点模块310除了确定出当前激光扫描线的结束点之外,还可以确定出当前激光扫描线的开始点;而对于双向扫描模式而言,由于下一条激光扫描线的开始点与当前激光扫描线的结束点重合,因此,确定边界点模块310可以仅确定出当前激光扫描线的结束点,该结束点同时还是下一条激光扫描线的开始点。
[0082]确定边界点模块310可以根据扫描模式判断模块340的判断结果获知激光雷达航带扫描模式是单向扫描模式,还是双向扫描模式。
[0083]在扫描模式判断模块340确定出激光雷达航带扫描模式为单向扫描模式的情况下,如果当前激光扫描线不是最后一条激光扫描线,则确定边界点模块310可以将Sai对应的回波点作为下一条激光扫描线的开始点;对于第一条激光扫描线来说,确定边界点模块310可以将计算模块300读取的第一个回波点数据作为第一条激光扫描线的开始点的回波点数据。
[0084]在判断出激光雷达航带扫描模式为双向扫描模式的情况下,如果当前激光扫描线不是最后一条激光扫描线,则确定边界点模块310可以将Sap1对应的回波点既作为当前激光扫描线的结束点,同时还作为下一条激光扫描线的开始点。
[0085]无论是单向扫描模式还是双向扫描模式,确定边界点模块310在确定出当前激光扫描线的结束点时,应将累计值归零,以便于计算模块300针对下一条激光扫描线的Sai与Sai^1的差值进行累计计算。
[0086]优化边界点模块320与确定边界点模块310、形成边界模块330以及扫描模式判断模块340分别连接。优化边界点模块320主要用于根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点。
[0087]具体的,确定边界点模块310确定出的开始点和/或结束点可能会存在一定偏差,如对于单向扫描模式而言,激光扫描线中可能会存在由于入射角而引起空间位置倒置的回波点,因此,确定边界点模块310确定出的开始点和结束点可能是空间位置倒置的回波点;再例如,对于双向扫描模式而言,由于两条相邻的激光扫描线在边界点处存在多个具有相同激光扫描角的回波点,因此,确定边界点模块310确定出的结束点通常是下一条激光扫描线中临近开始点的回波点。优化边界点模块320的一个主要目的就是在于修正当前激光扫描线的开始点和/或结束点,如对于单向扫描模式而言,优化边界点模块320可以在一定程度上消除由于空间位置倒置现象。
[0088]优化边界点模块320可以根据扫描模式判断模块340的判断结果获知激光雷达航带扫描模式是单向扫描模式,还是双向扫描模式。
[0089]优化边界点模块320修正当前激光扫描线的开始点的过程为:优化边界点模块320利用当前激光扫描线中的全部回波点位置数据分别计算当前激光扫描线上的各回波点与当前激光扫描线的结束点之间的距离,然后优化边界点模块320对计算出的各距离进行比较,以挑选出距离结束点最远的回波点;优化边界点模块320将该挑选出的回波点作为最终的当前激光扫描线的开始点。
[0090]优化边界点模块320修正当前激光扫描线的结束点的过程为:优化边界点模块320利用当前激光扫描线中的全部回波点所包含的回波点位置数据分别计算当前激光扫描线上的各回波点与当前激光扫描线的开始点之间的距离,然后,优化边界点模块320对计算出的各距离进行比较,以挑选出距离开始点最远的回波点;优化边界点模块320将该挑选出的回波点作为最终的当前激光扫描线的结束点。
[0091]需要特别说明的是,对于第一条激光扫描线,无论是单向扫描模式还是双向扫描模式,优化边界点模块320可以对开始点以及结束点分别进行修正;而对于非第一条激光扫描线而言,在单向扫描模式下,优化边界点模块320可以对开始点和结束点均进行修正,在双向扫描模式下,由于当前激光扫描线的结束点同时还作为下一条激光扫描线的开始点,因此,优化边界点模块320对结束点进行修正也是对开始点进行修正。
[0092]形成边界模块330与优化边界点模块320、扫描模式判断模块340以及消除倒置模块350分别连接。形成边界模块330主要用于在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修改后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。较佳的,形成边界模块330可以在消除倒置模块350对第一条激光扫描线和最后一条激光扫描线进行处理后,再形成激光雷达航带扫描边界。
[0093]具体的,形成边界模块330可以存储所有修正后的开始点和/或结束点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据。存储的方式可以有多种,出于对便于管理以及方便生成激光雷达航带扫描边界等因素的考虑形成边界模块330可以使用正边界列表和负边界列表来存储激光扫描线的开始点和/或结束点,而第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据可以独立于正边界列表和负边界列表而独立存储。
[0094]形成边界模块330可以根据扫描模式判断模块340的判断结果获知激光雷达航带扫描模式是单向扫描模式,还是双向扫描模式。
[0095]针对单向扫描模式而言,形成边界模块330利用正边界列表和负边界列表进行开始点和结束点的回波点数据存储的一个具体例子为:针对每一条激光扫描线,在当前激光扫描线的开始点的激光扫描角大于当前激光扫描线的结束点的激光扫描角的情况下,形成边界模块330将当前激光扫描线的开始点的回波点数据存储在正边界列表中,否则,形成边界模块330将当前激光扫描线的开始点的回波点数据存储在负边界列表中;在当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角的情况下,形成边界模块330将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,形成边界模块330将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
[0096]针对双向扫描模式而言,形成边界模块330利用正边界列表和负边界列表进行开始点和结束点的回波点数据存储的一个具体例子为:针对第一条激光扫描线,在第一条激光扫描线的开始点的激光扫描角大于第一条激光扫描线的结束点的激光扫描角的情况下,形成边界模块330将第一条激光扫描线的开始点的回波点数据存储在正边界列表中,否贝U,形成边界模块330将第一条激光扫描线的开始点的回波点数据存储在负边界列表中;在第一条激光扫描线的结束点的激光扫描角大于第一条激光扫描线的开始点的激光扫描角的情况下,形成边界模块330将第一条激光扫描线的结束点的回波点数据存储在正边界列表中,否则,形成边界模块330将第一条激光扫描线的结束点的回波点数据存储在负边界列表中;针对非第一条激光扫描线,在当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角的情况下,形成边界模块330将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,形成边界模块330将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
[0097]扫描模式判断模块340与确定边界点模块310、优化边界点模块320以及形成边界模块330分别连接。扫描模式判断模块340主要用于判断当前激光扫描线对应的差值的累计值与上一条激光扫描线对应的差值的累计值的乘积是否大于零;如果大于零,则扫描模式判断模块340确定激光雷达航带扫描模式为单向扫描模式;如果小于零,则扫描模式判断模块340确定激光雷达航带扫描模式为双向扫描模式。
[0098]消除倒置模块350与形成边界模块330连接。消除倒置模块350主要用于针对第一条激光扫描线以及最后一条激光扫描线,将开始点或者结束点作为当前回波点;搜索距离当前回波点距离最小的回波点,删除当前回波点与所述距离最小的回波点之间的所有回波点,并将距离最小的回波点作为当前回波点,返回上述搜索距离的处理过程,直到当前回波点为第一条激光扫描线或者最后一条激光扫描线的结束点或者开始点。
[0099]具体的,消除倒置模块350消除倒置现象的一个具体的例子为:消除倒置模块350将第一条激光扫描线的开始点作为当前回波点,消除倒置模块350利用回波点数据中的回波点位置数据计算第一条激光扫描线中的其他各回波点与当前回波点之间的距离,并找到距离最小的回波点,如果距离最小的回波点与当前回波点之间存在其他的回波点,则消除倒置模块350删除当前回波点与距离最小的回波点之间的所有回波点数据,并将该距离最小的回波点作为当前回波点;如果距离最小的回波点与当前回波点之间不存在其他回波点,则消除倒置模块350直接将该距离最小的回波点作为当前回波点;然后,消除倒置模块350针对该新的当前回波点返回上述进行距离计算的处理过程;重复上述记载的各处理过程,直到当前回波点为第一条激光扫描线的结束点时,消除倒置模块350针对第一条激光扫描线的消除倒置现象的处理结束。
[0100]消除倒置模块350消除倒置现象的另一个具体的例子为:消除倒置模块350将第一条激光扫描线的结束点作为当前回波点,消除倒置模块350利用回波点数据中的回波点位置数据计算第一条激光扫描线中的其他各回波点与当前回波点之间的距离,并找到距离最小的回波点,如果距离最小的回波点与当前回波点之间存在其他的回波点,则消除倒置模块350删除当前回波点与距离最小的回波点之间的所有回波点数据,并将该距离最小的回波点作为当前回波点;如果距离最小的回波点与当前回波点之间不存在其他回波点,则消除倒置模块350直接将该距离最小的回波点作为当前回波点;然后,消除倒置模块350针对该新的当前回波点返回上述进行距离计算的处理过程;消除倒置模块350重复上述记载的各处理过程,直到当前回波点为第一条激光扫描线的开始点时,消除倒置模块350针对第一条激光扫描线的消除倒置现象的处理结束。
[0101]消除倒置模块350针对最后一条激光扫描线的消除倒置现象的处理与上述针对第一条激光扫描线的消除倒置现象的两个具体例子基本相同,在此不再重复说明。
[0102]以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种激光雷达航带扫描边界识别方法,其特征在于,包括: 从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sai^1的差值以及所述差值的累计值; 对计算出的所述差值和所述累计值进行判断,在判断出所述差值大于零且所述累计值小于零的情况下或者在判断出所述差值小于零且所述累计值大于零的情况下,将所述SaiViSai对应的回波点确定为当前激光扫描线的结束点,且所述累计值清零; 根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点; 在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修正后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。
2.如权利要求1所述的方法,其特征在于: 在激光雷达航带扫描模式为单向扫描模式的情况下,如果当前激光扫描线不为最后一条激光扫描线,则所述Sap1对应的回波点为当前激光扫描线的结束点,且所述Sajf应的回波点为当前激光扫描线的下一条激光扫描线的开始点,否则,所述Sai对应的回波点为当前激光扫描线的结束点; 在激光雷达航带扫描模式为双向扫描模式的情况下,如果当前激光扫描线不为最后一条激光扫描线,则所述Sap1对应的回波点为当前激光扫描线的结束点,且所述Sap1对应的回波点还同时为当前激光扫描线的下一条激光扫描线的开始点,否则,所述Sai对应的回波点为当前激光扫描线的结束点。
3.如权利要求1所述的方法,其特征在于,所述根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点包括: 根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的开始点之间的距离,并根据距离开始点最大的回波点来修正当前激光扫描线的结束点; 根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的结束点之间的距离,并根据距离结束点最大的回波点来修正当前激光扫描线的开始点。
4.如权利要求1所述的方法,其特征在于,针对单向扫描模式,在使用正边界列表和负边界列表存储各激光扫描线的边界点的回波点数据的情况下,所述方法还包括: 如果当前激光扫描线的开始点的激光扫描角大于当前激光扫描线的结束点的激光扫描角,则将当前激光扫描线的开始点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的开始点的回波点数据存储在负边界列表中; 如果当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角,则将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
5.如权利要求1所述的方法,其特征在于,针对双向扫描模式,在使用正边界列表和负边界列表存储各激光扫描线的边界点的回波点数据的情况下,所述方法还包括: 如果第一条激光扫描线的开始点的激光扫描角大于第一条激光扫描线的结束点的激光扫描角,则将第一条激光扫描线的开始点的回波点数据存储在正边界列表中,否则,将第一条激光扫描线的开始点的回波点数据存储在负边界列表中; 如果第一条激光扫描线的结束点的激光扫描角大于第一条激光扫描线的开始点的激光扫描角,则将第一条激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将第一条激光扫描线的结束点的回波点数据存储在负边界列表中; 对于不是第一条激光扫描线的当前激光扫描线,如果当前激光扫描线的结束点的激光扫描角大于当前激光扫描线的开始点的激光扫描角,则将当前激光扫描线的结束点的回波点数据存储在正边界列表中,否则,将当前激光扫描线的结束点的回波点数据存储在负边界列表中。
6.如权利要求2或4或5所述的方法,其特征在于,所述方法还包括: 判断当前激光扫描线对应的所述差值的累计值与上一条激光扫描线对应的所述差值的累计值的乘积是否大于零; 如果大于零,则确定激光雷达航带扫描模式为单向扫描模式; 如果小于零,则确定激光雷达航带扫描模式为双向扫描模式。
7.如权利要求1至5中任一权利要求所述的方法,其特征在于,所述方法还包括: 针对第一条/最后一条激光扫描线而言,将开始点/结束点作为当前回波点; 搜索距离当前回波点距离最小的回波点,删除当前回波点与所述距离最小的回波点之间的所有回波点,将所述距离最小的回波点作为当前回波点,返回所述搜索距离的处理过程,直到当前回波点为第一条/最后一条激光扫描线的结束点/开始点。
8.一种激光雷达航带扫描边界识别装置,其特征在于,所述装置包括: 计算模块,用于从点云数据中顺序读取回波点数据,并计算相邻回波点数据中的激光扫描角Sai和Sap1的差值以及所述差值的累计值; 确定边界点模块,用于对计算出的差值和累计值进行判断,在判断出差值大于零且累计值小于零的情况下或者在判断出所述差值小于零且所述累计值大于零的情况下,将所述SaiViSai对应的回波点确定为当前激光扫描线的结束点,且所述累计值清零; 优化边界点模块,用于根据回波点数据中的回波点位置数据计算当前激光扫描线上的各回波点与当前激光扫描线的边界点之间的距离,并根据距离边界点最大的回波点来修正当前激光扫描线的边界点; 形成边界模块,用于在获得所有激光扫描线修正后的边界点的回波点数据后,利用各激光扫描线的修正后的边界点的回波点数据、第一条激光扫描线的两个边界点之间的所有回波点数据以及最后一条激光扫描线的两个边界点之间的所有回波点数据形成激光雷达航带扫描边界。
9.如权利要求8所述的装置,其特征在于,所述装置还包括: 扫描模式判断模块,用于判断当前激光扫描线对应的所述差值的累计值与上一条激光扫描线对应的所述差值的累计值的乘积是否大于零;如果大于零,则确定激光雷达航带扫描模式为单向扫描模式;如果小于零,则确定激光雷达航带扫描模式为双向扫描模式。
10.如权利要求8或9所述的装置,其特征在于,所述装置还包括: 消除倒置模块,用于针对第一条/最后一条激光扫描线而言,将开始点/结束点作为当前回波点;搜索距离当前回波点距离最小的回波点,删除当前回波点与所述距离最小的回波点之间的所有回波点,将所述距离最小的回波点作为当前回波点,返回所述搜索距离的处理过程,直到当前回波点为第一条/最后一条激光扫描线的结束点/开始点。
【文档编号】G01S7/48GK104360339SQ201410601556
【公开日】2015年2月18日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】刘清旺, 李增元, 陈尔学, 庞勇, 李世明 申请人:中国林业科学研究院资源信息研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1