本技术实施例涉及测绘科学,特别涉及一种点云标注方法。
背景技术:
1、随着测绘科学技术的快速发展,在许多场景中都需要采集物体的信息供计算机学习和识别。比如在自动驾驶场景中,车辆需自动识别并躲避行驶过程中遇到的物体,因而需要利用三维点云标注法对物体进行标注,以获得物体的相关信息。
2、在相关技术中,雷达传感器扫描物体,获得所扫描物体的相关数据。对扫描得到的相关数据进行处理之后,得到物体的三维点云。由人工在三维点云中标注框体之后,通过人工调整框体,使框体与物体贴合。此外,由于物体一般是在地面上,因而还需人工确认框体的z轴是否与地面贴合。若框体z轴未贴合地面,则需人工调整框体z轴使之贴合地面。
3、由于需人工确认框体的z轴是否与地面贴合,因此,标注效率较低;此外,即便人工调整框体z轴贴合地面,z轴与地面也不能实现完全贴合,导致标注结果不够准确。
技术实现思路
1、本技术实施例提供了一种点云标注方法、装置、设备及存储介质,可用于解决相关技术中存在的问题。所述技术方案如下:
2、一方面,本技术实施例提供了一种点云标注方法,所述方法包括:
3、获取待标注的三维点云;
4、确定所述三维点云中被标注的点云的框体;
5、确定所述框体与所述点云所处的参考面的高度差;
6、按照所述框体与所述参考面的高度差自动调整所述框体,根据调整后的框体得到所述点云的标注结果。
7、在一种可能的实现方式中,所述确定所述框体与所述点云所处的参考面的高度差,包括:
8、根据所述三维点云的坐标确定所述点云所处的参考面的高度;
9、基于所述参考面的高度确定所述框体与所述参考面的高度差。
10、在一种可能的实现方式中,所述根据所述三维点云的坐标确定所述点云所处的参考面的高度,包括:
11、确定所述三维点云中属于参考面上的点;
12、根据所述参考面上的点的坐标确定所述参考面的高度。
13、在一种可能的实现方式中,所述确定所述三维点云中属于参考面上的点,包括:
14、对所述三维点云进行遍历,对于遍历到的第一点,计算所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,所述第一点是遍历到的任一点;
15、基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,确定所述第一点是否属于所述参考面上的点。
16、在一种可能的实现方式中,所述计算所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,包括:
17、计算所述第一点和第二点之间的连线与水平面的第一夹角,以及所述第一点和第三点之间的连线与水平面的第二夹角,所述第二点和所述第三点分别是所述第一点的相邻点;
18、所述基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,确定所述第一点是否属于所述参考面上的点,包括:
19、若所述第一夹角和所述第二夹角均小于第一阈值,且所述第一夹角和所述第二夹角之间的差值小于第二阈值,则所述第一点属于所述参考面上的点。
20、在一种可能的实现方式中,所述对所述三维点云进行遍历之后,还包括:
21、计算第四点与所述第四点的相邻点之间的连线分别与水平面的夹角,所述第四点是指与所述第一点属于同一扫描半径的点;
22、计算所述第一点与坐标原点的第一距离,以及所述第四点与所述坐标原点的第二距离;
23、所述基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,确定所述第一点是否属于所述参考面上的点,包括:
24、基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,以及所述第四点与所述第四点的相邻点之间的连线与水平面的夹角,确定所述第一点是否属于所述参考面上的点。
25、在一种可能的实现方式中,所述计算所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,包括:计算所述第一点和第六点之间的连线与水平面的第四夹角,所述第六点是所述第一点的相邻点;
26、所述计算第四点与所述第四点的相邻点之间的连线分别与水平面的夹角,包括:计算所述第四点和第五点之间的连线与水平面的第三夹角,所述第五点是所述第四点的相邻点;
27、所述基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,以及所述第四点与所述第四点的相邻点之间的连线与水平面的夹角,确定所述第一点是否属于所述参考面上的点,包括:
28、若所述第一距离和所述第二距离之间的差值小于第三阈值,且所述第三夹角和所述第四夹角之间的差值小于第四阈值,则所述第一点属于所述参考面上的点。
29、在一种可能的实现方式中,所述根据所述参考面上的点的坐标确定所述参考面的高度,包括:
30、根据所述三维点云的x轴坐标和y轴坐标将所述三维点云划分为多个网格;
31、根据所述多个网格中的各个网格内属于所述参考面上的点对应的三维点云在z轴上的坐标确定所述参考面的高度。
32、在一种可能的实现方式中,所述根据所述多个网格中的各个网格内属于所述参考面上的点对应的三维点云在z轴上的坐标确定所述参考面的高度,包括:
33、对所述多个网格中的各个网格内属于所述参考面上的点对应的三维点云在z轴坐标上的值求平均值;
34、将所述平均值作为所述参考面的高度。
35、在一种可能的实现方式中,所述基于所述参考面的高度确定所述框体与所述参考面的高度差,包括:
36、根据所述框体对应的三维点云的坐标确定所述框体的中心点的高度;
37、将所述框体的中心点的高度与所述参考面的高度差,作为所述框体与所述参考面的高度差。
38、另一方面,提供了一种点云标注装置,所述装置包括:
39、获取模块,用于获取待标注的三维点云;
40、确定模块,用于确定所述三维点云中被标注的点云的框体;
41、所述确定模块,还用于确定所述框体与所述点云所处的参考面的高度差;
42、调整模块,用于按照所述框体与所述参考面的高度差自动调整所述框体,根据调整后的框体得到所述点云的标注结果。
43、在一种可能的实现方式中,所述确定模块,用于根据所述三维点云的坐标确定所述点云所处的参考面的高度;基于所述参考面的高度确定所述框体与所述参考面的高度差。
44、在一种可能的实现方式中,所述确定模块,用于确定所述三维点云中属于参考面上的点;根据所述参考面上的点的坐标确定所述参考面的高度。
45、在一种可能的实现方式中,所述确定模块,用于对所述三维点云进行遍历,对于遍历到的第一点,计算所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,所述第一点是遍历到的任一点;基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,确定所述第一点是否属于所述参考面上的点。
46、在一种可能的实现方式中,所述确定模块,用于计算所述第一点和第二点之间的连线与水平面的第一夹角,以及所述第一点和第三点之间的连线与水平面的第二夹角,所述第二点和所述第三点分别是所述第一点的相邻点;
47、所述确定模块,用于若所述第一夹角和所述第二夹角均小于第一阈值,且所述第一夹角和所述第二夹角之间的差值小于第二阈值,则所述第一点属于所述参考面上的点。
48、在一种可能的实现方式中,所述确定模块,还用于计算第四点与所述第四点的相邻点之间的连线分别与水平面的夹角,所述第四点是指与所述第一点属于同一扫描半径的点;计算所述第一点与坐标原点的第一距离,以及所述第四点与所述坐标原点的第二距离;
49、所述确定模块,用于基于所述第一点与所述第一点的相邻点之间的连线分别与水平面的夹角,以及所述第四点与所述第四点的相邻点之间的连线与水平面的夹角,确定所述第一点是否属于所述参考面上的点。
50、在一种可能的实现方式中,所述确定模块,用于计算所述第一点和第六点之间的连线与水平面的第四夹角,所述第六点是所述第一点的相邻点;计算所述第四点和第五点之间的连线与水平面的第三夹角,所述第五点是所述第四点的相邻点;
51、所述确定模块,用于若所述第一距离和所述第二距离之间的差值小于第三阈值,且所述第三夹角和所述第四夹角之间的差值小于第四阈值,则所述第一点属于所述参考面上的点。
52、在一种可能的实现方式中,所述确定模块,用于根据所述三维点云的x轴坐标和y轴坐标将所述三维点云划分为多个网格;根据所述多个网格中的各个网格内属于所述参考面上的点对应的三维点云在z轴上的坐标确定所述参考面的高度。
53、在一种可能的实现方式中,所述确定模块,用于对所述多个网格中的各个网格内属于所述参考面上的点对应的三维点云在z轴坐标上的值求平均值;将所述平均值作为所述参考面的高度。
54、在一种可能的实现方式中,所述确定模块,用于根据所述框体对应的三维点云的坐标确定所述框体的中心点的高度;将所述框体的中心点的高度与所述参考面的高度差,作为所述框体与所述参考面的高度差。
55、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述计算机设备实现上述任一所述的点云标注方法。
56、另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现上述任一所述的点云标注方法。
57、另一方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的点云标注方法。
58、本技术实施例提供的技术方案至少带来如下有益效果:
59、在该点云标注方法中,根据三维点云的坐标自动确定框体与点云所处的参考面的高度差,并按照框体与参考面的高度差自动调整框体与参考面贴合,得到点云的标注结果。相比于人工调整框体z轴使之贴合参考面,该方法通过自动调整框体,提高了标注效率的同时,也提升了标注结果的准确度。