掌桥专利:专业的专利平台
掌桥专利
首页

角分辨率测试方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:18:24


角分辨率测试方法、装置、电子设备及存储介质

技术领域

本发明涉及激光雷达技术领域,具体而言,涉及一种角分辨率测试方法、装置、电子设备及存储介质。

背景技术

激光雷达为智慧轨道交通、智慧民航、智慧航运、车路协同及自动驾驶、无人机、机器人、物位检测、安防、IoT(Internet of Things,物联网)等行业进行技术升级提供了不可或缺的技术支撑。

角分辨率是激光雷达的主要性能参数之一,更高的角分辨率可以检测到物体更多的细节,为应用算法提供稳定的感知输入。如何准确测试激光雷达的角分辨率是本领域技术人员亟待解决的问题。

发明内容

本发明的目的在于提供了一种角分辨率测试方法、装置、电子设备及存储介质,其能够准确地测试激光雷达的角分辨率。

本发明的实施例可以这样实现:

第一方面,本发明提供一种角分辨率测试方法,所述方法包括:

获取目标区域的点云阵列,所述点云阵列为基于待测激光雷达发射的激光信号得到;

从所述点云阵列中确定多个参考点,其中,所述多个参考点位于同一行或者同一列;

根据所述待测激光雷达的中心位置及所述多个参考点,确定所述待测激光雷达的角分辨率。

在可选的实施方式中,所述多个参考点包括位于同一个行或者同一列的端点的第一参考点和第二参考点,所述根据所述待测激光雷达的中心位置及所述多个参考点,确定所述待测激光雷达的角分辨率的步骤包括:

获取所述多个参考点的个数;

计算所述中心位置和所述第一参考点连成的第一线段与所述中心位置和所述第二参考点连成的第二线段之间的夹角的角度值;

根据所述角度值及所述多个参考点的个数,计算所述角分辨率。

在可选的实施方式中,所述获取目标区域的点云阵列的步骤包括:

获取基于所述待测激光雷达发射的激光信号产生的多个点云数据;

将所述多个点云数据进行聚类,得到至少一个点云数据组,每一所述点云数据组对应一个平面,同一个所述点云数据组中的点云数据属于同一个平面;

从至少一个所述平面中确定目标平面;

将所述目标平面中处于预设选择框中的区域确定为所述目标区域、并根据所述目标区域中的点云数据得到所述目标区域的点云阵列。

在可选的实施方式中,所述从至少一个所述平面中确定目标平面的步骤包括:

计算每一所述平面的法向量;

将所述法向量与所述待测激光雷达的坐标系的X轴平行的平面确定为所述目标平面。

在可选的实施方式中,所述点云阵列包括多帧的点云阵列,每一帧的点云阵列均包括多个位于同一行或者同一列的参考点,所述根据所述待测激光雷达的中心位置及所述多个参考点,确定所述待测激光雷达的角分辨率的步骤包括:

根据所述待测激光雷达的中心位置及每一帧的点云阵列的多个参考点,确定每一帧对应的角分辨率;

计算所有帧对应的角分辨率的平均值,得到所述待测激光雷达的角分辨率。

在可选的实施方式中,所述计算所有帧对应的角分辨率的平均值,得到所述待测激光雷达的角分辨率步骤之后还包括:

计算所有帧对应的角分辨率的方差,以根据所述方差对所述所有帧对应的角分辨率的离散程度进行分析。

在可选的实施方式中,若所述多个参考点位于同一列,则所述待测激光雷达的角分辨率为水平角分辨率,若所述多个参考点位于同一行,则所述待测激光雷达的角分辨率为垂直角分辨率。

第二方面,本发明提供一种角分辨率测试装置,所述装置包括:

获取模块,用于获取目标区域的点云阵列,所述点云阵列为基于待测激光雷达发射的激光信号得到;

确定模块,用于从所述点云阵列中确定多个参考点,其中,所述多个参考点位于同一行或者同一列;

所述确定模块,还用于根据所述待测激光雷达的中心位置及所述多个参考点,确定所述待测激光雷达的角分辨率。

在可选的实施方式中,所述多个参考点包括位于同一个行或者同一列的端点的第一参考点和第二参考点,所述确定模块具体用于:

获取所述多个参考点的个数;

计算所述中心位置和所述第一参考点连成的第一线段与所述中心位置和所述第二参考点连成的第二线段之间的夹角的角度值;

根据所述角度值及所述多个参考点的个数,计算所述角分辨率。

在可选的实施方式中,所述获取模块具体用于:

获取基于所述待测激光雷达发射的激光信号产生的多个点云数据;

将所述多个点云数据进行聚类,得到至少一个点云数据组,每一所述点云数据组对应一个平面,同一个所述点云数据组中的点云数据属于同一个平面;

从至少一个所述平面中确定目标平面;

将所述目标平面中处于预设选择框中的区域确定为所述目标区域,并根据所述目标区域中的点云数据得到所述目标区域的点云阵列。

在可选的实施方式中,所述点云阵列包括多帧的点云阵列,每一帧的点云阵列均包括多个位于同一行或者同一列的参考点,所述确定模块用于:

根据所述待测激光雷达的中心位置及每一帧的点云阵列的多个参考点,确定每一帧对应的角分辨率;

计算所有帧对应的角分辨率的平均值,得到所述待测激光雷达的角分辨率。

在可选的实施方式中,所述确定模块具体还用于:

计算所有帧对应的角分辨率的方差,以根据所述方差对所述所有帧对应的角分辨率的离散程度进行分析。

第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现如前述实施方式中任一项所述的角分辨率测试方法。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项所述的角分辨率测试方法。

与现有技术相比,本发明通过待测激光雷达的中心位置及从点云阵列中确定出的多个参考点,能够准确确定待测激光雷达的角分辨率。

附图说明

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

图1为本发明实施例提供的应用场景的示例图。

图2为本发明实施例提供的电子设备的方框示意图。

图3为本发明实施例提供的角分辨率测试方法的流程示例图一。

图4为目标区域的点云阵列的示例图。

图5为本发明实施例提供的角分辨率测试方法的流程示例图二。

图6为本发明实施例提供的目标平面的法向量的示例图。

图7为本发明实施例提供的预设选择框和目标区域的示例图。

图8为本发明实施例提供的角分辨率测试方法的流程示例图三。

图9为本发明实施例提供的角度值的示例图。

图10为本发明实施例提供的角分辨率测试方法的流程示例图四。

图11为本发明实施例提供的角分辨率测试装置的方框示意图。

图标:10-电子设备;11-处理器;12-存储器;13-总线;14-通信接口;20-激光雷达;100-角分辨率测试装置;110-获取模块;120-确定模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

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

在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。

角分辨率是激光雷达的重要参数,为了确定激光雷达的角分辨率,一种通常的做法是:先获取激光雷达在预设时间内的点云数据和预设帧数的激光雷达运行参数,再使用Matlab工具分析点云数据,根据分析结果和运行参数评估激光雷达的分辨率,这种方式操作步骤多,测试效率低。

有鉴于此,本实施例提供一种角分辨率测试方法、装置、电子设备及存储介质,其能够对激光雷达的角分辨率进行高效测试,下面将对其进行详细描述。

请参考图1,图1为本发明实施例提供的应用场景的示例图,图1中,电子设备10和激光雷达20通信连接,激光雷达20正对墙面发射激光信号,并根据激光信号反射回来的信号生成点云数据,电子设备10从激光雷达20获取点云数据,并根据点云数据得到激光雷达20的角分辨率所需要的点云阵列。作为一种实现方式,为了尽可能减少测试误差,激光雷达20发射激光的发射口可以尽可能正对墙面的中心位置。

电子设备10包括、但不限于主机、服务器、笔记本电脑等设备。

基于图1,本实施例还提供了图1中电子设备10的方框示意图,请参照图2,图2为本发明实施例提供的电子设备10的方框示意图,电子设备10用于执行本实施例中的角分辨率测试方法。电子设备10包括处理器11、存储器12、总线13和通信接口14。处理器11、存储器12通过总线13连接。

处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器12用于存储程序,例如本发明实施例中的角分辨率测试装置,角分辨率测试装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行程序以实现本发明实施例中的角分辨率测试方法。

存储器12可能包括RAM(Random Access Memory,高速随机存取存储器),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。

总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

电子设备10通过通信接口14和激光雷达20通信。

在图1和图2的基础上,本实施例提供了一种应用于图1和图2中电子设备的角分辨率测试方法,请参照图3,图3为本发明实施例提供的角分辨率测试方法的流程示例图一,该方法包括以下步骤:

步骤S101,获取目标区域的点云阵列,点云阵列为基于待测激光雷达发射的激光信号得到。

在本实施例中,待测激光雷达可以是图1或者图2中的激光雷达,待测激光雷达通过发射器发射激光信号,通过采集器采集反射的激光信号,将采集的激光信号转化成点云数据,电子设备10从待测激光雷达获取点云数据,点云数据包括每一个点的坐标,电子设备10可以通过Open3D等软件读取点云数据并将其进行可视化显示,目标区域的点云阵列是根据目标区域内的点云数据得到的,作为一种实现方式,目标区域的点云阵列可以根据目标区域内的点的坐标进行有序排列得到的。

在本实施例中,电子设备10将基于激光雷达发射的激光信号得到的点云数据可视化展示为点云空间,用户可以用鼠标选中该点云空间中区域,也可以直接输入4个坐标位置、由以4个坐标位置确定的矩形区域选中区域,由于选中区域中可以在点云空间内部,或者一部分在点云空间内,一部分在点云空间外,目标区域为选中区域与点云空间重叠的区域。

步骤S102,从点云阵列中确定多个参考点,其中,多个参考点位于同一行或者同一列。

在本实施例中,多个参考点可以是点云阵列中任一行或者任一列,为了保证测试效果,可以选择缺失点个数最少的行或者列、或者缺失点个数最少且排列较为规范的行或者列,请参照图4,图4为目标区域的点云阵列的示例图,图4中的点云阵列一共包括3列,中间一列缺失点个数最少、且排列最规范,意味着中间一列对应的激光信号较为稳定和清晰,可以将中间一列的点作为参考点。

步骤S103,根据待测激光雷达的中心位置及多个参考点,确定待测激光雷达的角分辨率。

在本实施例中,角分辨率包括水平角分辨率和垂直角分辨率,若多个参考点位于同一列,则确定的角分辨率为水平角分辨率,若多个参考点位于同一行,则确定的角分辨率为垂直角分辨率。

本实施例提供的上述方法,通过待测激光雷达的中心位置及从点云阵列中确定出的多个参考点,能够自动、准确地确定待测激光雷达的角分辨率,实现了整个过程的自动化,提高了测试效率。

在本实施例中,由于激光信号通常不会非常理想地只发射到预设区域,例如,虽然待测激光雷达是正对着房间中的某一面墙发射激光信号,但是激光信号有可能同时还到达了房间的其他墙面,而电子设备10获取到的是激光信号到达的所有墙面的点云数据,为了排除其他墙面的点云数据的干扰,提高测试准确性,本实施例还提供了一种获取目标区域的点云阵列的实现方式,请参照图5,图5为本发明实施例提供的角分辨率测试方法的流程示例图二,步骤S101包括以下子步骤:

子步骤S1010,获取基于待测激光雷达发射的激光信号产生的多个点云数据。

子步骤S1011,将多个点云数据进行聚类,得到至少一个点云数据组,每一点云数据组对应一个平面,同一个点云数据组中的点云数据属于同一个平面。

在本实施例中,作为一种实现方式,可以采用RANSAC(RAndom SAmple Consensus,随机采样一致)算法对多个点云数据进行聚类,将多个点云数据划分成至少一个点云数据组,每一个点云数据组包括多个点云数据,同一个点云数据组中的点云数据属于同一个平面,最终得到至少一个平面。

子步骤S1012,从至少一个平面中确定目标平面。

在本实施例中,目标平面为待测激光雷达发射激光正对的平面,由于激光雷达是正对着目标平面发射激光信号,因此,目标平面的激光信号更稳定也更清晰,基于目标平面的点云数据计算出的待测激光雷达的角分辨率也更准确。一种确定目标平面的实现方式可以为:

首先,计算每一平面的法向量;

在本实施例中,对于任一平面而言,可以将该平面中任一目标点的法向量作为该平面的法向量,对于任一目标点而言,利用该目标点在该平面的点云阵列中的邻近点构造两个非平行向量,并根据非平行向量确定该目标点的法向量。

其次,将法向量与待测激光雷达的坐标系的X轴平行的平面确定为目标平面。

需要说明的是,上述只是确定目标平面的一种实现方式,事实上,还可以采用预先指定、随机选择等其他方式确定目标平面,例如,从至少一个平面中随机选择一个平面作为目标平面,再例如,从至少一个平面中选择点云数据信息较为全面的平面作为目标平面。

在本实施例中,待测激光雷达的坐标系为以待测激光雷达的激光发射口为坐标系原点建立的xyz三维坐标系或者xy二维坐标系。以三维坐标系为例,请参照图6,图6为本发明实施例提供的目标平面的法向量的示例图,图6中,坐标系的x、y、z如图所示,目标平面的法向量与x平行。

子步骤S1013,将目标平面中处于预设选择框中的区域确定为目标区域、并根据目标区域中的点云数据得到目标区域的点云阵列。

在本实施例中,目标区域可以与预设选择框内的区域相同,也可以是预设选择框内的部分区域,若目标平面的边缘线未在预设选择框内,此时,预设选择框内的区域就是目标区域,若目标平面的至少一条边缘线在预设选择框内,此时,预设选择框内的区域和目标平面重叠的区域为目标区域,请参照图7,图7为本发明实施例提供的预设选择框和目标区域的示例图,图7中,对于目标平面1而言,目标区域与预设选择框内的区域相同,即目标平面1中存在斜线底色的区域。对于目标平面2而言,预设选择框内的区域为虚线框内的区域,目标区域为预设选择框内区域与目标平面2重叠的区域,即目标平面2中存在斜线底色的区域。

在本实施例中,目标区域的点云数据包括每一个点的坐标,根据目标区域中每一个点的坐标进行按序排列,得到目标区域的点云阵列。

本实施例提供的上述方法,可以自动根据指定的预设选择框确定目标区域,进而确定目标区域的点云阵列,提高了确定目标区域的点云的效率,进而提高了角分辨率测试的效率。

基于图3的方法,本实施例还提供了一种确定待测激光雷达的角分辨率的实现方式,请参照图8,图8为本发明实施例提供的角分辨率测试方法的流程示例图三,步骤S103包括以下子步骤:

子步骤S103-10,获取多个参考点的个数;

在本实施方式中,多个参考点包括位于同一个行或者同一列的端点的第一参考点和第二参考点,当多个参考点位于同一行时,第一参考点和第二参考点分别是该行的两个端点的参考点,当多个参考点位于同一列时,第一参考点和第二参考点分别是该列的两个端点的参考点。

子步骤S103-11,计算中心位置和第一参考点连成的第一线段与中心位置和第二参考点连成的第二线段之间的夹角的角度值。

在本实施例中,为了更清楚地说明角度值,请参照图9,图9为本发明实施例提供的角度值的示例图,图9中,第一参考点和中心位置连成第一线段、第二参考点和中心位置连成第二线段,第一线段和第二线段之间的夹角的值为角度值。

在本实施例中,根据第一参考点的坐标、第二参考点的坐标及中心位置的坐标,可以计算出角度值,例如,以多个参考点为同一列的参考点为例,第一参考点为该列参考点y轴坐标最大值a,第二参考点为该列参考点y轴坐标最小值b,则角度值为θ,角度值的计算公式为:

子步骤S103-12,根据角度值及多个参考点的个数,计算角分辨率。

在本实施例中,角分辨率=角度值/多个参考点的个数。

本实施例提供的上述方法,通过利用第一参考点及中心位置连成的第一线段和第二参考点及中心位置连成的第二线段之间的角度值,使得角度值的计算方式既简单又具有较高的参考价值,最终使得测试出的角分辨率的准确性和效率都比较高。

在实际应用场景中,激光信号难免出现波动,为了尽可能地排除波动的干扰,本实施例还通过多帧的点云阵列计算角分辨率的实现方式,请参照图10,图10为本发明实施例提供的角分辨率测试方法的流程示例图四,步骤S103包括以下子步骤:

子步骤S103-20,根据待测激光雷达的中心位置及每一帧的点云阵列的多个参考点,确定每一帧对应的角分辨率。

在本实施例中,点云阵列包括多帧的点云阵列,每一帧的点云阵列均包括多个位于同一行或者同一列的参考点,每一帧对应的角分辨率在上述步骤S101及子步骤S1010~S1013、S102、S103及子步骤S103-10~S103-12中已有详细描述,此处不再赘述。

子步骤S103-21,计算所有帧对应的角分辨率的平均值,得到待测激光雷达的角分辨率。

在本实施方式中,作为一种实现方式,可以预先设置帧数,例如帧数为100帧,获取100帧的点云阵列,对于每一帧,利用其点云阵列中的多个参考点,计算其对应的角分辨率,即每一帧对应一个角分辨率,再将100帧的角分辨率取平均值,得到待测激光雷达的角分辨率,由此减少激光波动对角分辨率的影响,提高角分辨率测试的准确性。

在本实施例中,为了对角分辨率进行更准确地分析,以便得到更具有参考价值的待测激光雷达的角分辨率的测试数据,根据测试数据对待测激光雷达进行有针对性的优化,本实施例还提供了一种对多帧的角分辨率的离散程度进行分析的实现方式:

计算所有帧对应的角分辨率的方差,以根据方差对所有帧对应的角分辨率的离散程度进行分析。

需要说明的是,为了便于对测试数据的整体分析,在本实施例提供的自动化测试角分辨率的基础上,可以实时确定每一帧对应的角分辨率,并利用numpy等软件库进行数学计算和分析,并将计算结果和分析结果发送至终端进行显示,以方便测试人员对其做进一步分析。数据计算和分析包括、但不限于计算预设帧数的角分辨率的平均值或者方差等。

为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种角分辨率测试装置的实现方式。请参照图11,图11为本发明实施例提供的角分辨率测试装置100的方框示意图。需要说明的是,本实施例所提供的角分辨率测试装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。

角分辨率测试装置100包括获取模块110和确定模块120。

获取模块110,用于获取目标区域的点云阵列,点云阵列为基于待测激光雷达发射的激光信号得到。

在可选的实施方式中,获取模块110具体用于:获取基于待测激光雷达发射的激光信号产生的多个点云数据;将多个点云数据进行聚类,得到至少一个点云数据组,每一点云数据组对应一个平面,同一个点云数据组中的点云数据属于同一个平面;从至少一个平面中确定目标平面;将目标平面中处于预设选择框中的区域确定为目标区域、并根据目标区域中的点云数据得到目标区域的点云阵列。

在可选的实施方式中,获取模块110在用于从至少一个平面中确定目标平面时具体用于:计算每一平面的法向量;将法向量与待测激光雷达的坐标系的X轴平行的平面确定为目标平面。

确定模块120,用于从点云阵列中确定多个参考点,其中,多个参考点位于同一行或者同一列。

确定模块120,还用于根据待测激光雷达的中心位置及多个参考点,确定待测激光雷达的角分辨率。

在可选的实施方式中,多个参考点包括位于同一个行或者同一列的端点的第一参考点和第二参考点,确定模块120具体用于:获取多个参考点的个数;计算心位置和所第一参考点连成的第一线段与中心位置和第二参考点连成的第二线段之间的夹角的角度值。

通过利用第一参考点及中心位置连成的第一线段和第二参考点及中心位置连成的第二线段之间的角度值,使得角度值的计算方式既简单又具有较高的参考价值,最终使得测试出的角分辨率的准确性和效率都比较高。

在可选的实施方式中,点云阵列包括多帧的点云阵列,每一帧的点云阵列均包括多个位于同一行或者同一列的参考点,确定模块120具体还用于:根据待测激光雷达的中心位置及每一帧的点云阵列的多个参考点,确定每一帧对应的角分辨率;计算所有帧对应的角分辨率的平均值,得到待测激光雷达的角分辨率。

在可选的实施方式中,确定模块120还用于:计算所有帧对应的角分辨率的方差,以根据方差对所有帧对应的角分辨率的离散程度进行分析。

在可选的实施方式中,角分辨率测试装置100中,若多个参考点位于同一列,则待测激光雷达的角分辨率为水平角分辨率,若多个参考点位于同一行,则待测激光雷达的角分辨率为垂直角分辨率。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中的角分辨率测试方法。

综上所述,本发明实施例提供了一种角分辨率测试方法、装置、电子设备及存储介质,所述方法包括:获取目标区域的点云阵列,点云阵列为基于待测激光雷达发射的激光信号得到;从点云阵列中确定多个参考点,其中,多个参考点位于同一行或者同一列;根据待测激光雷达的中心位置及多个参考点,确定待测激光雷达的角分辨率。与现有技术相比,本发明实施例通过待测激光雷达的中心位置及从点云阵列中确定出的多个参考点,能够高效、准确确定待测激光雷达的角分辨率。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术分类

06120115862844