一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种毫米波雷达点云聚类方法与流程

2023-02-01 23:27:36 来源:中国专利 TAG:


1.本发明涉及毫米波雷达应用领域,具体涉及一种毫米波雷达点云聚类方法。


背景技术:

2.毫米波雷达具备全天候的特性,能够精确感知目标的微小运动,而且不成像,能够很好的保护用户的隐私,被广泛应用于智能家居中的人员定位、人员检测、目标跟踪、姿态识别等场景中。毫米波雷达应用实现的基础都要依托于点云的分堆聚类,聚类的好坏对人员的定位、跟踪、姿态都有很大的影响。
3.传统技术中的点云分堆方式为:将第一个点记为堆号1,从第二个点开始遍历,计算两点之间的距离,如果小于邻近阈值,则将2号点也记为堆号1,然后结束当前点向前遍历,开始下一个点向前遍历判断邻近。如果两点间的距离大于邻近阈值,则继续向前遍历判断,直至前面所以点都没有邻近点,则当前点记为新的一堆点。
4.此方式在点很多、很散开的情况下,遍历次数很多,时间复杂度高,而且点云是经过方位角排序的,如果刚好前面在某一个角度上目标产生的点分布的距离差别比较大,那么差别大的那个点就会新起堆号,后面相邻角度的点就会先与新分堆的那个点进行判断邻近,后面的点可能就跟新的点堆划在一堆,则可能就会出现一个目标在某个角度上点比较散,相邻角度又比较凝聚,还是会被分成两堆点这种不合理的情况,分堆的准确性低。


技术实现要素:

5.本发明所要解决的技术问题是:提出一种毫米波雷达点云聚类方法,解决现有技术中对毫米波雷达点云分堆存在的复杂度高、效率低和分堆准确性低的问题。
6.本发明解决上述技术问题采用的技术方案是:
7.一种毫米波雷达点云聚类方法,包括以下步骤:
8.s1、对接收到的反射回来的毫米波雷达信号进行处理,获得点云信息;
9.s2、根据点云信息计算点云的三维坐标,并进行坐标旋转处理获得以雷达为原点,平行于地面的平面为xy平面的参考系坐标;
10.s3、遍历点云,对各个点进行初分堆:
11.将第一个点记为堆号1,并初始化对应堆号的堆信息,然后遍历点云中剩余的所有点,比较每一个点与前一个点之间的间隔,判断是否为邻近点,若是,则将当前点的堆号记为前一个点的堆号,并更新对应堆号的堆信息;否则,为当前点新建一个堆号,堆号为上一个点的堆号 1,并初始化新建堆号的堆信息;
12.s4、对经过初分堆后的点云堆进行合堆处理:
13.顺序遍历所有初分堆后的点云堆,比较当前点云堆与其余点云堆的堆信息,判断是否存在与当前点云堆邻近的点云堆,若有,则将与当前点云堆邻近的点云堆的堆信息合并至当前点云堆的堆信息中,在完成所有初分堆后的点云堆的遍历后,继续对合堆处理后的点云堆进行遍历,直至不存在可以被合并的点云堆。
14.进一步的,步骤s1中,所述点云信息包括:目标相对雷达的距离range、方位角α、俯仰角θ、信噪比snr和多普勒速度doppler。
15.进一步的,步骤s2中,所述根据点云信息计算点云的三维坐标,具体包括:
16.通过公式x=range*cos(θ)*sin(α)获得点的x坐标;
17.通过公式y=range*cos(θ)*cos(α)获得点的y坐标;
18.通过公式z=range*sin(θ)获得点的z坐标。
19.进一步的,步骤s2中,所述进行坐标旋转处理获得以雷达为原点,平行于地面的平面为xy平面的参考系坐标,具体包括:
20.x'=x
21.y'=cosα
·
y-sinα
·z22.z'=sinα
·
y sinα
·z23.其中,x、y、z分别为坐标旋转处理前的点的x、y、z坐标;x'、y'、z'分别为坐标旋转处理后的x、y、z坐标。
24.进一步的,步骤s3中,所述堆信息包括点云堆的分布范围,即点云堆中的所有点中最大x坐标maxx、最大y坐标maxy、最大z坐标maxz、最小x坐标minx、最小y坐标miny和最小z坐标minz。
25.进一步的,步骤s3中,所述比较每一个点与前一个点之间的间隔,判断是否为邻近点,具体包括:设置spacex、spacey、spacez作为两点间的x间隔、y间隔、z间隔,当spacex、spacey、spacez同时满足阈值时,判定此两点为邻近点;其中,所述x间隔、y间隔、z间隔分别为两点在x轴、y轴、z轴方向上的间隔。
26.进一步的,步骤s4中,所述比较当前点云堆与其余点云堆的堆信息,判断是否存在与当前点云堆邻近的点云堆,具体包括:
27.判断两个点云堆是否满足非邻近的条件,若满足,则两个点云堆为非邻近,否则,判定两个点云堆邻近;
28.其中,非邻近的条件包括:
29.对于两个点云堆a和b,则有:
30.a.maxy spacey《b.miny||a.miny-spacey》b.maxy||a.maxx spacex《b.minx||
31.a.minx-spacex》b.maxx||a.maxz spacez《b.minz||a.minz-spacez》b.maxz
32.其中,a.maxx、a.minx、a.maxy、a.miny、a.maxz、a.minz分别表示点云堆a中的最大x坐标、最小x坐标、最大y坐标、最小y坐标、最大z坐标和最小z坐标;
33.b.maxx、b.minx、b.maxy、b.miny、b.maxz、b.minz分别表示点云堆b中的最大x坐标、最小x坐标、最大y坐标、最小y坐标、最大z坐标和最小z坐标;
34.spacex、spacey、spacez分别表示点云堆a和点云堆b在x轴、y轴、z轴方向上的间隔。
35.本发明的有益效果是:
36.(1)本发明方案先根据点云中的点之间的间隔判断邻近点,将邻近点分在同一个点云堆中,从而进行初分堆;然后针对点云堆进行遍历,将邻近的点云堆进行合堆处理,采用该方案进行的点云聚类分堆不会出现相邻,却分成两堆的情况,分堆更为合理,准确性更高;
37.(2)本发明方案在初分堆过程中,仅仅比较当前点与前一个点之间的间隔,来判断是否为邻近点,对邻近点将其划分至与前一个点相同的点云堆,若为非邻近点,则直接新起一个堆,从而完成初分堆,此过程不需要过多的遍历,分堆复杂度低,效率更高;
38.(3)本发明方案在初分堆判断两个点是否为邻近点时,并未采用直接计算两点距离的方式,而是直接计算两点在x、y、z轴方向上的间隔,不需要处理平方和开方运算,减小了计算工作量;在点云堆合堆过程中,对于点云堆是否为邻近堆的判定采用排除非邻近堆的情况的方式,无需考虑复杂的判断邻近堆的条件,减小了计算复杂度。因此,可以进一步提高分堆效率。
附图说明
39.图1是本发明实施例中的毫米波雷达点云聚类方法流程图。
具体实施方式
40.本发明旨在提出一种毫米波雷达点云聚类方法,解决现有技术中对毫米波雷达点云分堆存在的复杂度高、效率低和分堆准确性低的问题。本发明方案先进行初分堆再基于初划分的点云堆进行合堆处理;在初分堆过程中,将第一个点记为一堆,然后遍历剩下所有点,如果当前点与前一个点相近,则划为一堆,否则新起一堆,同时更新保存点堆的堆信息;遍历完成,所有的点都有了对应的堆号。在合堆处理过程中,遍历所有堆,判断堆与堆之间是否邻近,若邻近则进行合堆。
41.实施例:
42.如图1所示,本实施例中的毫米波雷达点云聚类方法包括以下步骤:
43.一、对接收到的反射回来的毫米波雷达信号进行处理,获得点云信息:
44.由于雷达天线阵列原因,上下可视范围比较窄,所以雷达安装时需要向下倾斜一定角度,让雷达下方的盲区尽量小。雷达对待测空间发送电磁波信号,对接收到的反射信号进行信号处理可以得出待测空间内动态点云信息数据,其中包含目标相对雷达的距离range、方位角α、俯仰角θ、信噪比snr、多普勒速度doppler等信息。
45.二、根据点云信息计算点云的三维坐标,并进行坐标旋转处理获得以雷达为原点,平行于地面的平面为xy平面的参考系坐标;
46.本步骤中,首先根据点云信息计算点云的三维坐标,具体可以通过公式range*cos(θ)*sin(α)得到x坐标,公式range*cos(θ)*cos(α)得到y坐标,range*sin(θ)得到z坐标。
47.这里计算的三维坐标都是以雷达为原点,雷达天线平面为xz平面,垂直于雷达天线平面向前的方向为y轴正方向的参考系的坐标。由于雷达是倾斜安装,使雷达区域探测效果更佳,其倾斜角度相当于绕x轴旋转了一定角度。那么还需要对上述计算的三维坐标进行坐标旋转处理,从而转换为以雷达为原点,平行于地面的平面为xy平面的参考系坐标。具体为:
48.x'=x
49.y'=cosα
·
y-sinα
·z50.z'=sinα
·
y sinα
·z51.其中,x、y、z分别为坐标旋转处理前的点的x、y、z坐标;x'、y'、z'分别为坐标旋转
处理后的x、y、z坐标。
52.三、遍历点云,对各个点进行初分堆:
53.将第一个点云记为堆号1,并初始化对应堆号的堆信息,堆信息最少需要包含点堆的分布范围,即maxx、maxy、maxz、minx、miny、minz,也就是说将分为一堆的点云用一个最小矩形体包起来,只有一个点时,最大和最小是同一个值。然后从第二点开始遍历,每一个点都与只与前一个点进行距离比较,如果距离小于设定的阈值,则当前点与前一个点为相近点,将当前点的堆号记为前一个点的堆号,并且更新点堆信息。如果距离大于设定的阈值,不再像传统方法继续向前遍历,而是新建一个堆号,堆号为上一个点的堆号加1,同时初始化该堆的堆信息。由于距离公式涉及平方和开方,嵌入式计算资源有限,为了减小计算量,不用直接计算两点间的距离,可以设置spacex、spacey、spacez作为两点间的x间隔、y间隔、z间隔,只有spacex、spacey、spacez同时满足阈值时才是相近点。遍历结束后,每个点都有了对应的堆号,这样的好处是只遍历一次,先简单进行分堆。比如100个点,就只需要比较99次,就可以完成初步分堆。
54.四、对经过初分堆后的点云堆进行合堆处理:
55.本步骤中,顺序遍历所有堆,用当前堆的分布信息与其余堆的分布信息进行对比,是否有重叠或邻近,如果有,则将堆信息进行合并,归为一堆,更新堆信息后继续遍历,直至无堆可合即完成分堆聚类。这里判断点堆边界是否重叠或邻近可以设置x方向最大间隔为spacex、y方向的最大间隔为spacey、z方向的最大间隔为spacez。只要点堆之间各个方向间隔都小于设置的阈值,则为邻近点堆。由于重叠或邻近的形式有很多种,不可能每种都去判断,条件太复杂,于是只需要判断非邻近的情景。比如有a和b两堆点,那么非邻近的条件就可以设置为:
56.a.maxy spacey《b.miny||a.miny-spacey》b.maxy||a.maxx spacex《b.minx||
57.a.minx-spacex》b.maxx||a.maxz spacez《b.minz||a.minz-spacez》b.maxz
58.其中,a.maxx、a.minx、a.maxy、a.miny、a.maxz、a.minz分别表示点云堆a中的最大x坐标、最小x坐标、最大y坐标、最小y坐标、最大z坐标和最小z坐标;
59.b.maxx、b.minx、b.maxy、b.miny、b.maxz、b.minz分别表示点云堆b中的最大x坐标、最小x坐标、最大y坐标、最小y坐标、最大z坐标和最小z坐标;
60.spacex、spacey、spacez分别表示点云堆a和点云堆b在x轴、y轴、z轴方向上的间隔。
61.在实际应用中,针对不同的功能需求,可以灵活的设置邻近的阈值,比如姿态判断,跌倒时人产生的点云分布就比较散,可以适当调高邻近的阈值,尽量将分散的点归为一堆,提高姿态的准确性。
62.最后应当说明的是,上述实施例仅是优选实施方式,并不用以限制本发明。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以做出若干修改,等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献