【技术实现步骤摘要】
一种雪天环境下路侧激光雷达背景过滤方法
[0001]本专利技术涉及激光雷达目标探测
,具体为一种雪天环境下路侧激光雷达背景过滤方法
。
技术介绍
[0002]复杂的降雪天气会在对交通安全产生两个方面的负面影响:影响视线和增加控制汽车的难度
。
随着交通领域的快速发展,智能网联汽车在雪天条件下的交通安全性要求越来越高
。
然而,如何准确地获取道路上的交通数据是目前研究的一个难题
。
这些数据的质量会受到雪天的影响,从而影响交通安全,引发安全事故
。
因此,研究如何提高雪天下交通数据的准确性至关重要
。
[0003]激光雷达作为一种高精度传感器设备,可以在
360
度水平视野
(FOV)
中检测所有道路使用者和周围环境
。
与传统的传感器,如摄像头
、
环路探测器
、
雷达相比,激光雷达可以昼夜工作,具有更高的目标检测精度
。
激光雷达的工作原理与雷达相似
。
它传输和接收激光束,测量激光束的时间差和相位差,确定物体的三维坐标,生成点云数据,对周围环境进行点云成像
。
[0004]在雪天下,激光雷达发射的激光会被雪花或空气中的任何颗粒吸收
、
衍射
、
反向散射或折射,导致点云数据测量不准确,激光雷达的感知能力会受到一定程度的限制
。
因此,在雪天等天气条
【技术保护点】
【技术特征摘要】
1.
一种雪天环境下路侧激光雷达背景过滤方法,其特征主要包括:
1)
地面点滤除地面点滤除是雪天点云数据滤除的第一步,主要由数据导入单元
、
地面分析单元
、
平面拟合单元
、
地物分离单元组成,由于雪天的环境下,雪花在低温的条件下落在地面不会立即融化;雪量较大的情况下,地面上会形成雪花的堆积,因此会造成地面的凹凸程度变化;数据导入单元用于将路侧激光雷达采集后的原始数据导入计算机,并在计算机中将数据格式变更为计算机计算的数据类型;数据分析单元用于将环境中的点云逐一分析,判断其数据类型属于地面点或是目标点;平面拟合单元用于分析完数据类型后,计算剩余点云与拟合平面的距离与阈值进行比较,确定是否属于拟合平面;地物分离单元用于拟合完成后的平面与目标物体的分离,使后续目标识别工作精准进行;具体工作步骤如下:
Step1
:地面点滤除模块启动数据导入单元,路侧激光雷达主要置于城市道路的路侧区域,以采集道路交通中的多项数据;数据导入单元将路侧激光雷达中的原始
.pcap
数据分帧以
.cav
格式存储于计算机中,根据单帧点云数据读取
.csv
文件,文件编码
UTF
‑8,分别确定单帧点云中不同点云位置,以提取点云坐标
Pointcloud
i
_X、Pointcloud
i
_Y、Pointcloud
i
_Z
,创建点云对象存储于矩阵
P
n
中,并将其保存为
.pcd
格式文件:其中:
P
n
为存储第
N
帧点云的矩阵;
Pointcloud
n
_X1、Pointcloud
n
_Y1、Pointcloud
n
_Z1分别为第
N
帧原始点云数据的
X
轴坐标
、Y
轴坐标和
Z
轴坐标;
X
轴方向为以激光雷达为坐标原点,以正东方向为正方向,正西方向为负方向;
Y
轴方向为以激光雷达为坐标原点,以正南方向为正方向,正北方向为负方向;
Z
轴方向为以激光雷达为坐标原点,以正上方向为正方向,正下方向为负方向;
Pointcloud
n
_X1、Pointcloud
n
_Y1、Pointcloud
n
_Z1分别为激光雷达于第
N
帧数据中第一束激光线束发射后返回的第一个激光点的三维坐标;
Pointcloud
n
_X
i
、Pointcloud
n
_Y
i
、Pointcloud
n
_Z
i
第
N
帧数据中最后一束激光线束发射后返回的第
i
个激光点的三维坐标;
Step2
:地面点滤除在完成数据导入模块后,启动地面分析单元;地面分析单元通过识别路侧激光雷达在道路路侧三维激光成像扫描得到的数据,分析其数据类型,判断数据属于地面点或是目标点;
Step2.1
:通过
RANSAC
算法分析地面点时,对于第
N
帧数据,随机选取3个点
a(Pointcloud
n
_X
a
,Pointcloud
n
_Y
a
,Pointcloud
n
_Z
a
)
,
b(Pointcloud
n
_X
b
,Pointcloud
n
_Y
b
,Pointcloud
n
_Z
b
)
,
c(Pointcloud
n
_X
c
,Pointcloud
n
_Y
c
,Pointcloud
n
_Z
c
)
计算得到初始平面
Plan
n
_0
,计算第
i
个
3D
激光点
(Pointcloud
n
_X
i
,Pointcloud
n
_Y
i
,Pointcloud
n
_Z
i
)
与初始平面
Plan
n
_0
的距离
Distance0_i
,如果
3D
激光点与初始平面
Plan
n
_0
的距离
Distance0_i≤
ξ
,则判定该
3D
激光点属于地面点
Groudpoints
i
,将该
3D
激光点初步归入地面点集
GPS_0:Plan
n
_0:Ax+By+Cz+D
=
0A
=
(Y
b
‑
Y
a
)*(Z
c
‑
Z
a
)
‑
(Z
b
‑
Z
a
)*(Y
c
‑
Y
a
)B
=
(Z
b
‑
Z
a
)*(X
c
‑
X
a
)
‑
(X
b
‑
X
a
)*(Z
c
‑
Z
a
)
C
=
(X
b
‑
X
a
)*(Y
c
‑
Y
a
)
‑
(Y
b
‑
Y
a
)*(X
c
‑
X
a
)D
=
‑
AX
a
‑
BY
a
‑
CZ
aaa
GPCS_0
=
[Groudpoints1,Groudpoints2,...,Groudpoints
i
]
其中:
X
a
、Y
a
、Z
a
、X
b
、Y
b
、Z
b
、X
c
、Y
c
、Z
c
分别为随机三点
a
点
、b
点
、c
点的
X
轴坐标
、Y
轴坐标
、Z
轴坐标;
A、B、C、D
为初始平面
Plan
n
_0
的相关系数;为平面
Plan
n
_0
的法向量;
d(X0,Y0,Z0)
为平面
Plan
n
_0
的任意一点;为第
i
点至
d
点的方向向量;
ξ
为判定
i
点属于地面点或目标点的阈值;
Step2.2
:如果
3D
激光点与初始平面
Plan
n
_0
的距离
Distance0_i>
ξ
,则判定该
3D
激光点属于目标点
Nongroudpoints
i
,将该
3D
激光点初步归入非地面点集
{NGPS_0}
:
NGPS_0
=
[Nongroudpoints1,Nongroudpoints2,...,Nongroudpoints
i
]Step2.3
:计算第
n
帧中所有目标点
Nongroudpoints
i
在点云数据中的比例
η
,并确保每次迭代通过采样至少一个“外部点”来计算模型的概率
P
:
P
=1‑
(1
‑
η
n
)
k
其中:
n
Nongroudpoints
为该帧点云数据中目标点数量;
n
Groudpoints
为该帧点云数据中地面点数量;
k
为最小迭代次数;
Step3
:由于下雪的环境,雪花在低温下下落到地面,不会立即融化;当积雪较多时,地面上形成积雪,导致地面水平发生变化;在地面点滤除模块中,地面分析单元结束后,启动平面拟合单元;平面拟合单元通过计算出点云的法向量,并根据原始算法对点云数据进行初始基点提取;通过遍历最初提取的地面点,计算平均高程,并以计算得到的平均高程作为阈值,得到目标点集,然后从目标点集中最远选择1个点作为种子点,剩余的2个种子点通过最远点采样
(FPS)
算法进行确定,通过平面模型进行最远拟合;通过遍历点云数据
(
不包括随机采样的3个点
)
计算每个点到拟合平面的距离,并将计算出的距离和预设数据与平面模型的最大可接受差值进行比较,确定点云数据类型为地面点或目标点;
Step3.1
:求解点云法向量,利用
KD
‑
Tree
将点云空间划分为不同的区域;根据邻域半径集,得到邻域点集
Q
n
{(x1,y1,z1),(x2,y2,z2),...,(x
m
,y
m
,z
m
)}
;先计算点集的样本均值然后计算点集的协方差矩阵
C
,最后计算协方差矩阵的特征值和特征向量;最小特征值对应的特征向量是邻域点集的局部法向量:
其中:为
x
轴,
m
为第
n
帧点云数据中点的数量;
Step3.2
:由于利用法向量获取的目标点云中仍包含部分地面点,故利用点云高程信息对点云数据进行二次提取;遍历点云数据获取每个点的高程值并将其存放在一个空列表中,求出点云数据的平均高程
h
,并将
h
作为第一次滤波的阈值;再次遍历所有点云数据,对比每个点的高程与阈值
h
的关系,若某点的高程大于
h
,则判定该点为目标点,若小于
h
,则判定该点为地面点;
Step3.3
:通过点云的平均高程无法将地面点完全滤除,故需要拟合出最优平面模型来滤除更加精确的地面点云;从点云中随机选取1个点作为种子点,利用
FPS
算法选取剩余2个种子点;假设数据集
S
=
{p1,p2,
…
,p
L
}
中共有
L
个点,在
S
中随机选取1个点
p
i
作为第1个种子点;计算剩余
n
‑1个点与
p
i
点的距离,选择离
p
i
最远的点
p
j
作为第2个种子点,将
p
i
与
p
j
写入点集
S1=
{p
i
,p
j
}
;选取剩余
n
‑2个点计算其与点集
S1中每个点的距离,将最短距离作为该点到点集的距离,可得到
n
‑2个到点集的距离,选取最远的点
p
k
作为第3个种子点写入点集
S1,此时
p
i
=
{p
i
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。