扫描对象的直线轮廓的确定方法、装置及存储介质与流程

文档序号:17732449发布日期:2019-05-22 02:56阅读:281来源:国知局
扫描对象的直线轮廓的确定方法、装置及存储介质与流程

本发明涉及雷达技术,尤其涉及一种扫描对象的直线轮廓的确定方法、装置、雷达系统、以及计算机存储介质。



背景技术:

随着科技的发展,激光雷达已经发展到各行各业中。例如,应用到日常生活中的扫地机器人以及自动驾驶汽车等。

利用激光雷达可以对物体进行识别,例如对轮廓为直线的物体进行识别。在对轮廓为直线的物体进行识别过程中,通过发射激光和接收反射回来的激光,可以得到与物体的直线轮廓对应的点云数据,但是,由于噪声抖动等原因,现有的激光雷达得到的点云数据所表征的轮廓往往不是一条直线,导致对轮廓为直线的物体识别不够准确。



技术实现要素:

本发明的目的在于提供一种扫描对象的直线轮廓的确定方法。

根据本发明的第一方面,提供一种扫描对象的直线轮廓的确定方法,包括:

获取所述扫描对象的当前帧点云数据,其中,一帧点云数据是由激光雷达在一个扫描周期内沿扫描方向顺次扫描得到的多个二维的点云数据组成;

通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个目标区域;

对每个目标区域分别进行拟合处理;所述拟合处理包括:对目标区域内的点云数据进行直线拟合,以得到目标区域的拟合直线;以及,计算目标区域内的每个点云数据与目标区域的拟合直线的距离,将与目标区域的拟合直线的距离大于第一阈值的点云数据确定为折点;

在目标区域中存在折点的情况下,以每个折点为临界点对目标区域内的点云数据进行第二区域分割处理,将第二区域分割处理分割出的区域作为目标区域重新进行所述拟合处理,直至目标区域中不再存在折点;

将最终得到的各个目标区域的拟合直线作为扫描对象的直线轮廓。

可选的,所述直线拟合采用最小二乘法直线拟合算法。

可选的,所述通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个目标区域,包括:

通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个待选区域;

如果第一待选区域内的点云数据的个数大于第二阈值,则将第一待选区域确定为目标区域。

可选的,所述第二阈值是根据所述激光雷达的扫描角度分辨率确定。

可选的,所述以折点为临界点对目标区域内的点云数据进行第二区域分割处理,将第二区域分割处理分割出的区域作为目标区域,包括:

以折点为临界点对目标区域内的点云数据进行第二区域分割处理,得到多个第二待选区域;

如果第二待选区域内的点云数据的个数大于第三阈值,则将第二待选区域确定为目标区域。

可选的,所述第三阈值是根据所述激光雷达的扫描角度分辨率确定。

可选的,所述以折点为临界点对目标区域内的点云数据进行第二区域分割处理,包括:

以折点对应的扫描角度为临界角度,对目标区域内的点云数据按照点云数据的扫描角度进行第二区域分割处理。

根据本发明的第二方面,提供一种扫描对象的直线轮廓的确定装置,包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如本发明的第一方面提供的任一项所述的扫描对象的直线轮廓的确定方法。

根据本发明的第三方面,提供一种激光雷达系统,包括激光雷达以及如第二方面所述的扫描对象的直线轮廓的确定装置。

根据本发明的第四方面,提供一种计算机存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如第一方面所述的扫描对象的直线轮廓的确定方法。

本发明实施例提供扫描对象的直线轮廓的确定方法,对点云数据进行聚类得到多个区域,对各区域内分别进行直线拟合,如果拟合后出现折点,则继续划分区域并再次进行直线拟合,直至拟合后不再出现折点,从而实现对当前帧点云数据的精准拟合,最终可得到准确表示扫描对象的直线轮廓的直线,进而准确的识别轮廓为直线的扫描对象。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的一种扫描对象的直线轮廓的确定方法的流程示意图;

图2是本发明实施例提供的一种扫描对象的直线轮廓的确定装置的结构示意图;

图3是本发明实施例提供的一种激光雷达系统的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<扫描对象的直线轮廓的确定方法>

本发明实施例提供的扫描对象的直线轮廓的确定方法的执行主体为扫描对象的直线轮廓的确定装置。该装置可以是与激光雷达连接的外部电子设备,为激光雷达提供数据修正服务。该装置还可以是激光雷达,也可以是包含激光雷达的各种电子设备,例如扫地机器人。或者该装置还可以为激光雷达或者前述电子设备中的硬件模块和/或软件模块。需要说明的是,下述实施例中将以激光雷达作为扫描对象的直线轮廓的确定方法的执行主体,对本申请提供的方法进行说明。

本发明实施例提供的扫描对象直线轮廓的确定方法,如图1所示,包括如下s101-s105:

s101、获取扫描对象的当前帧点云数据,其中,一帧点云数据是由激光雷达在一个扫描周期内沿扫描方向顺次扫描得到的多个二维的点云数据组成。

在一个扫描周期内,激光雷达按照扫描方向顺次进行扫描,一个扫描周期内的总扫描次数=激光雷达的扫描角度范围/激光雷达的扫描角分辨率。例如,在一个扫描周期内,激光雷达的扫描角度的跨度是从0°~360°,则扫描角度范围是360°,如果扫描角分辨率为1°,则一个周期内的总扫描次数为360次,如果扫描角分辨率为0.5°,则一个周期内的总扫描次数为720次。

在一个扫描周期内,按照扫描的时间先后顺序标记每次扫描的扫描次序。可以看出,对于任意一次扫描,扫描次序为该次扫描的扫描角度/扫描角分辨率。

基于上述内容可知,将激光雷达的扫描角度范围记为t,激光雷达的扫描角分辨率记为扫描次序记为i,其中i为整数,一帧点云数据中的点云数据的扫描次序i依次为:1,2,…,

对于第i次扫描,第i次扫描获得的点云数据可以表示为(θi,ri),其中,θi为第i次扫描的扫描角度,ri为第i次扫描得到的用于表征激光雷达与扫描对象之间的距离的距离数据。一帧点云数据可以记为表示为

s102、通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个目标区域。

具体的,上述的聚类算法可以是dbscan聚类算法(density-basedspatialclusteringofapplicationswithnoise,具有噪声的基于密度的聚类方法),当然还可以为其他能够对点云数据进行聚类的算法,例如:k-means算法。需要说明的是,本发明实施例对聚类算法的具体形式并不做限定,只要能够基于点云密度对点云数据进行区域聚类即可。

在一种示例中,上述s102的具体实现过程可以为:对于当前帧点云数据,计算任意相邻的两个点云数据之间的欧式距离;若该欧式距离小于预设阈值,则将该相邻两个点云数据划分为至一个区域;反之,将该相邻两个点云数据划分到两个区域中;遍历该帧点云数据中的每个点云数据,以实现对该帧点云数据的聚类。

s103、对每个目标区域分别进行拟合处理。

其中,拟合处理包括下述s1031和s1032:

s1031、对目标区域内的点云数据进行直线拟合,以得到目标区域的拟合直线。

可选的,对目标区域内的点云数据进行直线拟合,可采用最小二乘法直线拟合算法。

具体的,假设激光雷达在执行上述s102后,共得到k个目标区域,分别记为:c1,c2…,…,ck。其中目标区域c1中的点云数据分别为:(θ1,γ1),(θ2,γ2),…(θj,γj),…(θ30,γ30)。分别对目标区域c1,c2…,…,ck进行直线拟合。

下面以对目标区域c1内的点云数据(θ1,γ1),(θ2,γ2),…(θj,γj),…(θ30,γ30)进行直线拟合的过程为例,说明使用最小二乘法直线拟合算法的拟合过程:

首先,将拟合直线表示为γ=aθ+b,θ为扫描角度,γ为表征激光雷达与扫描对象之间的距离的距离数据;然后,基于最小二乘法,对该拟合直线建立目标函数:其中,j=1,2,……,30;最后,根据基于偏微分方程求解拟合直线中的a和b,当a和b确定后,拟合直线即被确定。其中,偏微分方程为:

s1032、计算目标区域内的每个点云数据与目标区域的拟合直线的距离,将与目标区域的拟合直线的距离大于第一阈值的点云数据确定为折点。

基于上述对s1031的举例说明,若目标区域c1中的点云数据(θ8,γ8)和(θ15,γ15)与拟合直线γ=aθ+b之间的距离大于第一阈值,则将(θ8,γ8)和(θ15,γ15)确定为折点。

需要说明的是,计算目标区域内的每个点云数据与目标区域的拟合直线的距离为本领域的公知常识,这里不再赘述。此外,上述的第一阈值可以为预设值。

s104、在目标区域中存在折点的情况下,以每个折点为临界点对目标区域内的点云数据进行第二区域分割处理,将第二区域分割处理分割出的区域作为目标区域重新进行拟合处理,直至目标区域中不再存在折点。

可选的,s104中的以折点为临界点对目标区域内的点云数据进行第二区域分割处理,包括:

以折点对应的扫描角度为临界角度,对目标区域内的点云数据按照点云数据的扫描角度进行第二区域分割处理。

在一种示例中,基于上述对s1032的举例说明,即将(θ8,γ8)和(θ15,γ15)确定为折点时,则上述s104的实现过程为:将目标区域c1中扫描角度小于等于θ8的点云数据分割为一个区域,记为d1;将目标区域c1中扫描角度大于θ8并且小于等于θ15的点云数据分割为一个区域,记为d2;将目标区域c1中扫描角度大于θ15并且小于等于θ30的点云数据分割为一个区域,记为d3。具体的:d1中的点云数据为:[(θ1,γ1)…(θ8,γ8)];d2中的点云数据为:[(θ9,γ9)…(θ15,γ15)];d3中的点云数据为:[(θ16,γ16)…(θ30,γ30)]。

然后将上述的d1、d2和d3视为上述s102中的目标区域,继续执行上述的s103和s104,直至目标区域中不再存在折点。

与上述s104对应的,在目标区域中不存在折点的情况下,将已经拟合出的直线作为扫描对象的直线轮廓。

s105、将最终得到的各个目标区域的拟合直线作为扫描对象的直线轮廓。

本发明实施例提供扫描对象的直线轮廓的确定方法,对点云数据进行聚类得到多个区域,对各区域内分别进行直线拟合,如果拟合后出现折点,则继续划分区域并再次进行直线拟合,直至拟合后不再出现折点,从而实现对当前帧点云数据的精准拟合,最终可得到准确表示扫描对象的直线轮廓的直线,进而准确的识别轮廓为直线的扫描对象。

在一种可选的实施例中,由于一个区域中包含的点云数据太少时,该区域中的点云数据将不能准确的表示扫描对象的轮廓特征,进而导致在对该区域中的点云数据进行直线拟合时,拟合直线的误差很大。

为了降低拟合直线的误差,在通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个目标区域时,可以包括以下步骤:

s1021、通过聚类算法对当前帧的点云数据进行第一区域分割处理,得到多个待选区域。

需要说明的是,s1021与上述s102的具体实现方式相同,这里不再赘述。

s1022、如果第一待选区域内的点云数据的个数大于第二阈值,则将第一待选区域确定为目标区域。

对应的,如果第一待选区域内的点云数据的个数小于等于第二阈值,则将第一待选区域中点云数据保留下来,不进行拟合处理。

需要说明的是,上述的第二阈值可以是预设值,此外上述的第二阈值还可以根据激光雷达的扫描角分辨率确定。其中,扫描角分辨率与第二阈值成正比关系。

基于对上述可选的实施例的说明,为了降低拟合直线的误差,在以折点为临界点对目标区域内的点云数据进行第二区域分割处理,将第二区域分割处理分割出的区域作为目标区域时,还可以包括如下s1041和s1042:

s1041、以折点为临界点对目标区域内的点云数据进行第二区域分割处理,得到多个第二待选区域。

需要说明的是,s1041与上述s104的具体实现方式相同,这里不再赘述。

s1042、如果第二待选区域内的点云数据的个数大于第三阈值,则将第二待选区域确定为目标区域。

对应的,如果第二待选区域内的点云数据的个数小于等于第三阈值,则对第二待选区域中点云数据保留下来,不进行拟合处理。

需要说明的是,上述的第三阈值可以是预设值,此外上述的第三阈值还可以根据激光雷达的扫描角分辨率确定。其中,扫描角分辨率与第三阈值成正比关系。

需要说明的是,上述的第三阈值小于上述s1022中的第二阈值。

<扫描对象的直线轮廓的确定装置>

在本实施例中,还提供了一种扫描对象的直线轮廓的确定装置10,用于实施本发明任意一项实施例提供的扫描对象的直线轮廓的确定方法,如图2所示,包括:

存储器11,用于存储计算机指令。

处理器12,用于从存储器11中调用计算机指令,以执行上述实施例提供的任意一项扫描对象的直线轮廓的确定方法。

在本实施例中,扫描对象的直线轮廓的确定装置10可以具体各种实体形式。例如,扫描对象的直线轮廓的确定装置10可以是激光雷达,或者搭载有激光雷达的扫地机器人等。例如:该装置可以是与激光雷达连接的外部电子设备,与激光雷达连接,为激光雷达提供数据处理服务。

<激光雷达系统>

在本实施例中,还提供了一种激光雷达系统20,用于实施本发明任意一项实施例提供的扫描对象的直线轮廓的确定方法,包括:上述的扫描对象的直线轮廓的确定装置22和激光雷达21。其中:

激光雷达21,用于扫描得到扫描对象的当前帧点云数据,并将扫描对象的当前帧点云数据发送至所述扫描对象的直线轮廓的确定装置中。

扫描对象的直线轮廓的确定装置22,用于实现任意一项扫描对象的直线轮廓的确定方法。

<计算机存储介质>

在本实施例中,还提供一种计算机存储介质,该存储介质存储有计算机指令,当存储介质中的计算机指令由处理器执行时,实现上述实施例提供的任意一种扫描对象的直线轮廓的确定方法。

本发明可以是计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器(ram、只读存储器(rom、可擦式可编程只读存储器(eprom或闪存、静态随机存取存储器(sram、便携式压缩盘只读存储器(cd-rom、数字多功能盘(dvd、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga或可编程逻辑阵列(pla,该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1