CN117192513A - 一种雪天环境下路侧激光雷达背景过滤方法 - Google Patents
一种雪天环境下路侧激光雷达背景过滤方法 Download PDFInfo
- Publication number
- CN117192513A CN117192513A CN202311152267.8A CN202311152267A CN117192513A CN 117192513 A CN117192513 A CN 117192513A CN 202311152267 A CN202311152267 A CN 202311152267A CN 117192513 A CN117192513 A CN 117192513A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- snow
- data
- ground
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 14
- 241000533950 Leucojum Species 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000008676 import Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明涉及激光雷达目标探测技术领域,具体为一种雪天环境下路侧激光雷达背景过滤方法。该方法主要由地面点过滤、雪花点过滤两部分组成;通过地面点过滤、雪花点过滤的逐步实现,完成对降雪天气下激光雷达点云数据的处理,使得获取的点云数据更加清晰的显示道路中所需的目标,缩短目标检测中处理干扰数据的时间,提高获取检测目标信息的准确性,取得更好的检测效果,提高道路交通的安全性及通行效率。
Description
技术领域
本发明涉及激光雷达目标探测技术领域,具体为一种雪天环境下路侧激光雷达背景过滤方法。
背景技术
复杂的降雪天气会在对交通安全产生两个方面的负面影响:影响视线和增加控制汽车的难度。随着交通领域的快速发展,智能网联汽车在雪天条件下的交通安全性要求越来越高。然而,如何准确地获取道路上的交通数据是目前研究的一个难题。这些数据的质量会受到雪天的影响,从而影响交通安全,引发安全事故。因此,研究如何提高雪天下交通数据的准确性至关重要。
激光雷达作为一种高精度传感器设备,可以在360度水平视野(FOV)中检测所有道路使用者和周围环境。与传统的传感器,如摄像头、环路探测器、雷达相比,激光雷达可以昼夜工作,具有更高的目标检测精度。激光雷达的工作原理与雷达相似。它传输和接收激光束,测量激光束的时间差和相位差,确定物体的三维坐标,生成点云数据,对周围环境进行点云成像。
在雪天下,激光雷达发射的激光会被雪花或空气中的任何颗粒吸收、衍射、反向散射或折射,导致点云数据测量不准确,激光雷达的感知能力会受到一定程度的限制。因此,在雪天等天气条件下,如何对获取的路侧激光雷达点云数据进行降噪处理,以得到去除噪声后的点云数据并进行精准的目标识别是亟待解决的技术问题。
发明内容
本发明提出了一种雪天环境下路侧激光雷达背景过滤方法,该方法主要由地面点过滤、雪花点过滤两部分组成,如图1所示;通过地面点过滤、雪花点过滤的逐步实现,完成对降雪天气下激光雷达点云数据的处理,使得获取的点云数据更加清晰的显示道路中所需的目标,缩短目标检测中处理干扰数据的时间,提高获取检测目标信息的准确性,取得更好的检测效果,提高道路交通的安全性及通行效率。
本发明的技术解决方案是首先对于所获取的点云数据进行地面点滤除,再对数据中的雪花点进行处理;地面点滤除主要用于对雪天中由于降雪而造成的凹凸不平的地面进行处理,凹凸不平的地面会使后续的检测工作难度加大,造成较高的误检率,在地面点滤除模块,通过提前处理复杂的地面情况,精确判断出雪堆凸起出的异常,在雪地中构建准确的平面来拟合地面;雪花点过滤主要用于雪天环境中的雪花点滤除处理,雪花点在空气中飘动,容易影响驾驶员的视线,对激光雷达的工作产生影响,在本模块中,对空间点密度进行计算,采用雪花噪声、行人、车辆点的分类框架,计算三种点云空间分布密度,以此滤除雪花噪声,对环境进行高精度分析。
本发明提出的一种雪天环境下路侧激光雷达背景过滤方法,其特征主要包括:
1)地面点过滤
地面点滤除是雪天点云数据滤除的第一步,主要由数据导入单元、地面分析单元、平面拟合单元、地物分离单元组成。由于雪天的环境下,雪花在低温的条件下落在地面不会立即融化。雪量较大的情况下,地面上会形成雪花的堆积,因此会造成地面的凹凸程度变化。数据导入单元用于将路侧激光雷达采集后的原始数据导入计算机,并在计算机中将数据格式变更为计算机计算的数据类型;数据分析单元用于将环境中的点云逐一分析,判断其数据类型属于地面点或是目标点;平面拟合单元用于分析完数据类型后,计算剩余点云与拟合平面的距离与阈值进行比较,确定是否属于拟合平面;地物分离单元用于拟合完成后的平面与目标物体的分离,使后续目标识别工作准确进行。
2)雪花点过滤
雪花点过滤是雪天点云数据滤除的第二步,主要由数据导入单元、降雪分析单元、混合滤波单元、雪物分离单元组成。在雪天环境中,雪花在环境中飘扬,小雪、中雪、大雪不同天气情况会对驾驶员造成不同程度视线干扰,容易造成安全隐患。数据导入单元用于将前一步中处理数据导入雪花点过滤步骤,并进行后续操作;降雪分析单元用于分析非地面点中的空间密度不同的目标,进行空间上目标物体的密度计算,并通过密度阈值判断降雪程度;混合滤波单元用于将环境中的雪花点密度通过降雪程度设定自适应阈值进行滤除;雪物分离单元用于将雪花点与目标点分离,便于目标识别工作准确进行。
附图说明
图1:一种雪天环境下路侧激光雷达背景过滤方法示意图。
具体实施方式
本发明提出了一种基于路侧激光雷达的雪天点云数据背景过滤方法,该方法主要由地面点滤除、雪花点滤除两部分组成;通过地面点滤除、雪花点滤除对于环境中的相关噪声点进行处理,解决了环境中由于降雪造成的视觉影响,使智能骑车能够通过路侧激光雷达中的原始数据分析判断行驶路线上的雪花障碍物,减少由于不平整的地面或飘扬的雪花造成的误检、漏检问题,缩短判断及处理点云的时间,解决了雪花干扰视线的难题,有效提升点云数据的处理精度与可靠性,提高雪天条件下的交通安全性,提高城市道路交通的通行效率。
本发明所述的一种雪天环境下路侧激光雷达背景过滤方法,其工作的具体流程为:
1)地面点滤除
地面点滤除是雪天点云数据滤除的第一步,主要由数据导入单元、地面分析单元、平面拟合单元、地物分离单元组成。由于雪天的环境下,雪花在低温的条件下落在地面不会立即融化。雪量较大的情况下,地面上会形成雪花的堆积,因此会造成地面的凹凸程度变化。数据导入单元用于将路侧激光雷达采集后的原始数据导入计算机,并在计算机中将数据格式变更为计算机计算的数据类型;数据分析单元用于将环境中的点云逐一分析,判断其数据类型属于地面点或是目标点;平面拟合单元用于分析完数据类型后,计算剩余点云与拟合平面的距离与阈值进行比较,确定是否属于拟合平面;地物分离单元用于拟合完成后的平面与目标物体的分离,使后续目标识别工作精准进行;具体工作步骤如下:
Step1:地面点滤除模块启动数据导入单元,路侧激光雷达主要置于城市道路的路侧区域,以采集道路交通中的多项数据;数据导入单元将路侧激光雷达中的原始.pcap数据分帧以.cav格式存储于计算机中,根据单帧点云数据读取.csv文件,文件编码UTF-8,分别确定单帧点云中不同点云位置,以提取点云坐标Pointcloudi_X、Pointcloudi_Y、Pointcloudi_Z,创建点云对象存储于矩阵Pn中,并将其保存为.pcd格式文件:
其中:Pn为存储第N帧点云的矩阵;Pointcloudn_X1、Pointcloudn_Y1、Pointcloudn_Z1分别为第N帧原始点云数据的X轴坐标、Y轴坐标和Z轴坐标;X轴方向为以激光雷达为坐标原点,以正东方向为正方向,正西方向为负方向;Y轴方向为以激光雷达为坐标原点,以正南方向为正方向,正北方向为负方向;Z轴方向为以激光雷达为坐标原点,以正上方向为正方向,正下方向为负方向;Pointcloudn_X1、Pointcloudn_Y1、Pointcloudn_Z1分别为激光雷达于第N帧数据中第一束激光线束发射后返回的第一个激光点的三维坐标;Pointcloudn_Xi、Pointcloudn_Yi、Pointcloudn_Zi第N帧数据中最后一束激光线束发射后返回的第i个激光点的三维坐标;
Step2:地面点滤除在完成数据导入模块后,启动地面分析单元;地面分析单元通过识别路侧激光雷达在道路路侧三维激光成像扫描得到的数据,分析其数据类型,判断数据属于地面点或是目标点;
Step2.1:通过RANSAC算法分析地面点时,对于第N帧数据,随机选取3个点a(Pointcloudn_Xa,Pointcloudn_Ya,Pointcloudn_Za),
b(Pointcloudn_Xb,Pointcloudn_Yb,Pointcloudn_Zb),
c(Pointcloudn_Xc,Pointcloudn_Yc,Pointcloudn_Zc)计算得到初始平面Plann_0,计算第i个3D激光点(Pointcloudn_Xi,Pointcloudn_Yi,Pointcloudn_Zi)与初始平面Plann_0的距离Distance0_i,如果3D激光点与初始平面Plann_0的距离Distance0_i≤ξ,则判定该3D激光点属于地面点Groudpointsi,将该3D激光点初步归入地面点集GPS_0:
Plann_0:Ax+By+Cz+D=0
A=(Yb-Ya)*(Zc-Za)-(Zb-Za)*(Yc-Ya)
B=(Zb-Za)*(Xc-Xa)-(Xb-Xa)*(Zc-Za)
C=(Xb-Xa)*(Yc-Ya)-(Yb-Ya)*(Xc-Xa)
D=-AXa-BYa-CZa
GPCS_0=[Groudpoints1,Groudpoints2,...,Groudpointsi]
其中:Xa、Ya、Za、Xb、Yb、Zb、Xc、Yc、Zc分别为随机三点a点、b点、c点的X轴坐标、Y轴坐标、Z轴坐标;A、B、C、D为初始平面Plann_0的相关系数;为平面Plann_0的法向量;d(X0,Y0,Z0)为平面Plann_0的任意一点;/>为第i点至d点的方向向量;ξ为判定i点属于地面点或目标点的阈值;
Step2.2:如果3D激光点与初始平面Plann_0的距离Distance0_i>ξ,则判定该3D激光点属于目标点Nongroudpointsi,将该3D激光点初步归入非地面点集{NGPS_0}:
NGPS_0=[Nongroudpoints1,Nongroudpoints2,...,Nongroudpointsi]
Step2.3:计算第n帧中所有目标点Nongroudpointsi在点云数据中的比例η,并确保每次迭代通过采样至少一个“外部点”来计算模型的概率P:
P=1-(1-ηn)k
其中:nNongroudpoints为该帧点云数据中目标点数量;nGroudpoints为该帧点云数据中地面点数量;k为最小迭代次数;
Step3:由于下雪的环境,雪花在低温下下落到地面,不会立即融化。当积雪较多时,地面上形成积雪,导致地面水平发生变化。在地面点滤除模块中,地面分析单元结束后,启动平面拟合单元;平面拟合单元通过计算出点云的法向量,并根据原始算法对点云数据进行初始基点提取。通过遍历最初提取的地面点,计算平均高程,并以计算得到的平均高程作为阈值,得到目标点集,然后从目标点集中最远选择1个点作为种子点,剩余的2个种子点通过最远点采样(FPS)算法进行确定,通过平面模型进行最远拟合。通过遍历点云数据(不包括随机采样的3个点)计算每个点到拟合平面的距离,并将计算出的距离和预设数据与平面模型的最大可接受差值进行比较,确定点云数据类型为地面点或目标点。
Step3.1:求解点云法向量,利用KD-Tree将点云空间划分为不同的区域;根据邻域半径集,得到邻域点集Qn{(x1,y1,z1),(x2,y2,z2),...,(xm,ym,zm)};先计算点集的样本均值然后计算点集的协方差矩阵C,最后计算协方差矩阵的特征值和特征向量;最小特征值对应的特征向量是邻域点集的局部法向量:
其中:为x轴,m为第n帧点云数据中点的数量;
Step3.2:由于利用法向量获取的目标点云中仍包含部分地面点,故利用点云高程信息对点云数据进行二次提取。遍历点云数据获取每个点的高程值并将其存放在一个空列表中,求出点云数据的平均高程h,并将h作为第一次滤波的阈值;再次遍历所有点云数据,对比每个点的高程与阈值h的关系,若某点的高程大于h,则判定该点为目标点,若小于h,则判定该点为地面点;
Step3.3:通过点云的平均高程无法将地面点完全滤除,故需要拟合出最优平面模型来滤除更加精确的地面点云。从点云中随机选取1个点作为种子点,利用FPS算法选取剩余2个种子点。假设数据集S={p1,p2,…,pL}中共有L个点,在S中随机选取1个点pi作为第1个种子点;计算剩余n-1个点与pi点的距离,选择离pi最远的点pj作为第2个种子点,将pi与pj写入点集S1={pi,pj};选取剩余n-2个点计算其与点集S1中每个点的距离,将最短距离作为该点到点集的距离,可得到n-2个到点集的距离,选取最远的点pk作为第3个种子点写入点集S1,此时pi={pi,pj,pk};利用点集S1中的种子点拟合平面模型,通过迭代的方式拟合出最优平面模型,从而精确滤除地面点,获取目标点;
Step4:当平面拟合单元数次循环结束后,启动地物分离单元接收平面拟合单元中点集{S1,S2,...,Sn}的所有点,并将其中的所有点都纳入地面点部分,将初始点集{P1,P2,...,Pn}中的剩余点纳入目标点部分,并对地面点部分和目标点部分进行3D显示;
Step4.1:如果任意第i个3D激光点属于集合{S1,S2,...,Sn},则标记为Groudpointsn_f_i,其中f为迭代次数,并且Groudpointsn_f_i∈{GDCS_n},其中{GDCS_n}为第n帧数据的地面点集;
Step4.2:如果任意第n帧点云数据中的第i个3D激光点属于集合则标记为Nongroudpointsn_f_i,其中f为迭代次数,并且Nongroudpointsn_f_i∈NGDS_n,其中NGDS_n为第n帧数据的目标点集;
Step4.5:当初始点集{P1,P2,...,Pn}中的所有点经过判断后,分别标记为Groudpointsn_f_i、Nongroudpointsn_f_i,并分帧存储在点集{GDCS_n,NGDS_n}中,通过open3d中的point_cloud_viewer进行逐帧可视化显示;
其中:open3d为点云数据处理的一个开源库,支持快速开发和处理3D点数据;point_cloud_viewer为open3d库中的显示3D点云的函数,point_cloud_viewer支持对点云数据试图进行移动缩放、平移等操作;
2)雪花点滤除
雪花点过滤是雪天点云数据滤除的第二步,主要由数据导入单元、降雪分析单元、混合滤波单元、雪物分离单元组成。在雪天环境中,雪花在环境中飘扬,小雪、中雪、大雪不同天气情况会对驾驶员造成不同程度视线干扰,容易造成安全隐患。数据导入单元用于将前一步中处理数据导入雪花点过滤步骤,并进行后续操作;统计滤波单元用于分析非地面点中的空间密度不同的目标,进行空间上目标物体的密度计算,并通过密度阈值判断降雪程度;半径滤波单元用于将环境中的雪花点密度通过降雪程度设定自适应阈值进行滤除;雪物分离单元用于将雪花点与目标点分离;具体工作步骤如下:
Step1:雪花点过滤模块启动数据导入单元,数据导入单元分帧导入地面点滤除单元处理后的地面点集{NGDS_n},并创建点云对象,将其保存为.pcd格式文件;
Step2:数据导入单元将地面点集{NGDS_n}传入数据分析单元,首先,根据环境中所有点的空间分布特性,判断点类型为雪花点或目标点;再根据判定后雪花点数据,计算环境中雪花密度,判断降雪程度,将降雪程度分为小雪(Light)、中雪(Moderate)、大雪(Heavy)三等;
Step2.1:在道路环境中,距离地面3m以上的环境中很少存在目标物体,但在雪天中,该空间分布的点云数据雪花点占比高,因此通过高程滤波,选取3m为高程阈值,计算该空间内雪花点密度ρn_snow:
其中:nsnowpointclouds_n表示当前帧雪花点的数量;nNongroudpoints_n表示当前帧非雪花点的数量;
Step2.2:如果地面点集{NGDS_n}中第i个Nongroudpointsn_i点的高程zn_i≥3,则判断该点属于雪花点集{SPCS_n}:
SPCS_n=[snowpointcloud1,snowpointcloud2,...,snowpointcloudi]
其中:snowpointcloudi表示第n帧数据中的第i个雪花点;
Step2.3:如果点集{NGDS_n}中第i个Nongroudpointsn_i点的高程zn_i<3,则判断该点属于非雪花点集{NSPCS_n}:
NSPCS_n
=[Nonsnowpointcloud1,Nonsnowpointcloud2,...,Nonsnowpointcloudi]
其中:Nonsnowpointcloudi表示第n帧数据中的第i个非雪花点;
Step2.4:当获取雪花点集{SPCS_n}后,计算当前帧ρn_snow,如果0<ρn_snow≤ξ1,则判断当前帧降雪程度为小雪(Light),如果ξ1<ρn_snow≤ξ2,则判断当前帧降雪程度为中雪(Moderate),如果ρn_snow>ξ2,则判断当前帧降雪程度为大雪(Heavy);
其中:ξ1为小雪和中雪的强度阈值,ξ2为中雪和大雪的强度阈值;
Step3:数据分析单元判断降雪程度后,将不同帧降雪程度分别传入混合滤波单元,混合滤波单元通过自适应统计滤波、自适应半径滤波对该帧点云进行雪花降噪处理;
Step3.1:基于点云特征,对于输入点云中的每一个点Nongroudpointi,其领域内各点的平均距离:
假设服从高斯分布,可进一步求得点云空间中的N个点对应的均值μ和标准差σ为:
其中:k为设置的最小邻近点的搜索数量,di为在k构建的邻域内Nongroudpointi到各点的距离;
Step3.2:根据均值μ和标准差σ,分别设置统计滤波最小邻近点的搜索数量k1、k2、k3和标准差系数Vσ_1、Vσ_2、Vσ_3,根据k1、k2、k3和Vσ_1、Vσ_2、Vσ_3计算阈值范围(μ-σ·Vσ_1,μ+σ·Vσ_1)、(μ-σ·Vσ_2,μ+σ·Vσ_2)、(μ-σ·Vσ_3,μ+σ·Vσ_3),滤除部分噪点,将滤除的雪花点存入雪花点集{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3},并将滤除后剩余的目标点存入目标点集{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3};
其中:k1、k2、k3分别为小雪、中雪、大雪情况下统计滤波最小邻近点的搜索数量;Vσ_1、Vσ_2、Vσ_3分别为小雪、中雪、大雪情况下统计滤波标准差系数;{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3}分别为小雪、中雪、大雪情况下自适应统计滤波后的雪花点集;{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3}分别为小雪、中雪、大雪情况下自适应统计滤波后的目标点集;
Step3.3:将目标点集{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3}分别传入自适应半径滤波算法,对于不同帧点云的不同降雪程度,针对该帧数据中的每一个点Nongroudpointi,设置自适应的滤波半径r1、r2、r3,构建球形搜索范围,若范围内点的数量m小于设定的最少临近点数量M,则判定该Nongroudpointi为雪花噪声点,存储为新的点集{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3},予以滤除,反之予以保留,并存入新的点集{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3};
其中:{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3}为小雪、中雪、大雪情况下自适应半径滤波后的雪花点集;{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3}为小雪、中雪、大雪情况下自适应半径滤波后的非雪点集;
Step4:当混合滤波单元完成后,计算机将{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3}与{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3}进行合并,并存储为新的滤波后点集{SPCS_afterfilter_n_1}、{SPCS_afterfilter_n_2}、{SPCS_afterfilter_n_3},与{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3}通过point_cloud_viewer进行逐帧可视化显示。
Claims (1)
1.一种雪天环境下路侧激光雷达背景过滤方法,其特征主要包括:
1)地面点滤除
地面点滤除是雪天点云数据滤除的第一步,主要由数据导入单元、地面分析单元、平面拟合单元、地物分离单元组成,由于雪天的环境下,雪花在低温的条件下落在地面不会立即融化;雪量较大的情况下,地面上会形成雪花的堆积,因此会造成地面的凹凸程度变化;数据导入单元用于将路侧激光雷达采集后的原始数据导入计算机,并在计算机中将数据格式变更为计算机计算的数据类型;数据分析单元用于将环境中的点云逐一分析,判断其数据类型属于地面点或是目标点;平面拟合单元用于分析完数据类型后,计算剩余点云与拟合平面的距离与阈值进行比较,确定是否属于拟合平面;地物分离单元用于拟合完成后的平面与目标物体的分离,使后续目标识别工作精准进行;具体工作步骤如下:
Step1:地面点滤除模块启动数据导入单元,路侧激光雷达主要置于城市道路的路侧区域,以采集道路交通中的多项数据;数据导入单元将路侧激光雷达中的原始.pcap数据分帧以.cav格式存储于计算机中,根据单帧点云数据读取.csv文件,文件编码UTF-8,分别确定单帧点云中不同点云位置,以提取点云坐标Pointcloudi_X、Pointcloudi_Y、Pointcloudi_Z,创建点云对象存储于矩阵Pn中,并将其保存为.pcd格式文件:
其中:Pn为存储第N帧点云的矩阵;Pointcloudn_X1、Pointcloudn_Y1、Pointcloudn_Z1分别为第N帧原始点云数据的X轴坐标、Y轴坐标和Z轴坐标;X轴方向为以激光雷达为坐标原点,以正东方向为正方向,正西方向为负方向;Y轴方向为以激光雷达为坐标原点,以正南方向为正方向,正北方向为负方向;Z轴方向为以激光雷达为坐标原点,以正上方向为正方向,正下方向为负方向;Pointcloudn_X1、Pointcloudn_Y1、Pointcloudn_Z1分别为激光雷达于第N帧数据中第一束激光线束发射后返回的第一个激光点的三维坐标;Pointcloudn_Xi、Pointcloudn_Yi、Pointcloudn_Zi第N帧数据中最后一束激光线束发射后返回的第i个激光点的三维坐标;
Step2:地面点滤除在完成数据导入模块后,启动地面分析单元;地面分析单元通过识别路侧激光雷达在道路路侧三维激光成像扫描得到的数据,分析其数据类型,判断数据属于地面点或是目标点;
Step2.1:通过RANSAC算法分析地面点时,对于第N帧数据,随机选取3个点a(Pointcloudn_Xa,Pointcloudn_Ya,Pointcloudn_Za),
b(Pointcloudn_Xb,Pointcloudn_Yb,Pointcloudn_Zb),
c(Pointcloudn_Xc,Pointcloudn_Yc,Pointcloudn_Zc)计算得到初始平面Plann_0,计算第i个3D激光点(Pointcloudn_Xi,Pointcloudn_Yi,Pointcloudn_Zi)与初始平面Plann_0的距离Distance0_i,如果3D激光点与初始平面Plann_0的距离Distance0_i≤ξ,则判定该3D激光点属于地面点Groudpointsi,将该3D激光点初步归入地面点集GPS_0:
Plann_0:Ax+By+Cz+D=0
A=(Yb-Ya)*(Zc-Za)-(Zb-Za)*(Yc-Ya)
B=(Zb-Za)*(Xc-Xa)-(Xb-Xa)*(Zc-Za)
C=(Xb-Xa)*(Yc-Ya)-(Yb-Ya)*(Xc-Xa)
D=-AXa-BYa-CZa
GPCS_0=[Groudpoints1,Groudpoints2,...,Groudpointsi]
其中:Xa、Ya、Za、Xb、Yb、Zb、Xc、Yc、Zc分别为随机三点a点、b点、c点的X轴坐标、Y轴坐标、Z轴坐标;A、B、C、D为初始平面Plann_0的相关系数;为平面Plann_0的法向量;d(X0,Y0,Z0)为平面Plann_0的任意一点;/>为第i点至d点的方向向量;ξ为判定i点属于地面点或目标点的阈值;
Step2.2:如果3D激光点与初始平面Plann_0的距离Distance0_i>ξ,则判定该3D激光点属于目标点Nongroudpointsi,将该3D激光点初步归入非地面点集{NGPS_0}:
NGPS_0=[Nongroudpoints1,Nongroudpoints2,...,Nongroudpointsi]
Step2.3:计算第n帧中所有目标点Nongroudpointsi在点云数据中的比例η,并确保每次迭代通过采样至少一个“外部点”来计算模型的概率P:
P=1-(1-ηn)k
其中:nNongroudpoints为该帧点云数据中目标点数量;nGroudpoints为该帧点云数据中地面点数量;k为最小迭代次数;
Step3:由于下雪的环境,雪花在低温下下落到地面,不会立即融化;当积雪较多时,地面上形成积雪,导致地面水平发生变化;在地面点滤除模块中,地面分析单元结束后,启动平面拟合单元;平面拟合单元通过计算出点云的法向量,并根据原始算法对点云数据进行初始基点提取;通过遍历最初提取的地面点,计算平均高程,并以计算得到的平均高程作为阈值,得到目标点集,然后从目标点集中最远选择1个点作为种子点,剩余的2个种子点通过最远点采样(FPS)算法进行确定,通过平面模型进行最远拟合;通过遍历点云数据(不包括随机采样的3个点)计算每个点到拟合平面的距离,并将计算出的距离和预设数据与平面模型的最大可接受差值进行比较,确定点云数据类型为地面点或目标点;
Step3.1:求解点云法向量,利用KD-Tree将点云空间划分为不同的区域;根据邻域半径集,得到邻域点集Qn{(x1,y1,z1),(x2,y2,z2),...,(xm,ym,zm)};先计算点集的样本均值然后计算点集的协方差矩阵C,最后计算协方差矩阵的特征值和特征向量;最小特征值对应的特征向量是邻域点集的局部法向量:
其中:为x轴,m为第n帧点云数据中点的数量;
Step3.2:由于利用法向量获取的目标点云中仍包含部分地面点,故利用点云高程信息对点云数据进行二次提取;遍历点云数据获取每个点的高程值并将其存放在一个空列表中,求出点云数据的平均高程h,并将h作为第一次滤波的阈值;再次遍历所有点云数据,对比每个点的高程与阈值h的关系,若某点的高程大于h,则判定该点为目标点,若小于h,则判定该点为地面点;
Step3.3:通过点云的平均高程无法将地面点完全滤除,故需要拟合出最优平面模型来滤除更加精确的地面点云;从点云中随机选取1个点作为种子点,利用FPS算法选取剩余2个种子点;假设数据集S={p1,p2,…,pL}中共有L个点,在S中随机选取1个点pi作为第1个种子点;计算剩余n-1个点与pi点的距离,选择离pi最远的点pj作为第2个种子点,将pi与pj写入点集S1={pi,pj};选取剩余n-2个点计算其与点集S1中每个点的距离,将最短距离作为该点到点集的距离,可得到n-2个到点集的距离,选取最远的点pk作为第3个种子点写入点集S1,此时pi={pi,pj,pk};利用点集S1中的种子点拟合平面模型,通过迭代的方式拟合出最优平面模型,从而精确滤除地面点,获取目标点;
Step4:当平面拟合单元数次循环结束后,启动地物分离单元接收平面拟合单元中点集{S1,S2,...,Sn}的所有点,并将其中的所有点都纳入地面点部分,将初始点集{P1,P2,...,Pn}中的剩余点纳入目标点部分,并对地面点部分和目标点部分进行3D显示;
Step4.1:如果任意第i个3D激光点属于集合{S1,S2,...,Sn},则标记为Groudpointsn_f_i,其中f为迭代次数,并且Groudpointsn_f_i∈{GDCS_n},其中{GDCS_n}为第n帧数据的地面点集;
Step4.2:如果任意第n帧点云数据中的第i个3D激光点属于集合则标记为Nongroudpointsn_f_i,其中f为迭代次数,并且Nongroudpointsn_f_i∈NGDS_n,其中NGDS_n为第n帧数据的目标点集;
Step4.5:当初始点集{P1,P2,...,Pn}中的所有点经过判断后,分别标记为Groudpointsn_f_i、Nongroudpointsn_f_i,并分帧存储在点集{GDCS_n,NGDS_n}中,通过open3d中的point_cloud_viewer进行逐帧可视化显示;
其中:open3d为点云数据处理的一个开源库,支持快速开发和处理3D点数据;point_cloud_viewer为open3d库中的显示3D点云的函数,point_cloud_viewer支持对点云数据试图进行移动缩放、平移等操作;
2)雪花点滤除
雪花点过滤是雪天点云数据滤除的第二步,主要由数据导入单元、降雪分析单元、混合滤波单元、雪物分离单元组成;在雪天环境中,雪花在环境中飘扬,小雪、中雪、大雪不同天气情况会对驾驶员造成不同程度视线干扰,容易造成安全隐患;数据导入单元用于将前一步中处理数据导入雪花点过滤步骤,并进行后续操作;统计滤波单元用于分析非地面点中的空间密度不同的目标,进行空间上目标物体的密度计算,并通过密度阈值判断降雪程度;半径滤波单元用于将环境中的雪花点密度通过降雪程度设定自适应阈值进行滤除;雪物分离单元用于将雪花点与目标点分离;具体工作步骤如下:
Step1:雪花点过滤模块启动数据导入单元,数据导入单元分帧导入地面点滤除单元处理后的地面点集{NGDS_n},并创建点云对象,将其保存为.pcd格式文件;
Step2:数据导入单元将地面点集{NGDS_n}传入数据分析单元,首先,根据环境中所有点的空间分布特性,判断点类型为雪花点或目标点;再根据判定后雪花点数据,计算环境中雪花密度,判断降雪程度,将降雪程度分为小雪(Light)、中雪(Moderate)、大雪(Heavy)三等;
Step2.1:在道路环境中,距离地面3m以上的环境中很少存在目标物体,但在雪天中,该空间分布的点云数据雪花点占比高,因此通过高程滤波,选取3m为高程阈值,计算该空间内雪花点密度ρn_snow:
其中:nsnowpointclouds_n表示当前帧雪花点的数量;nNongroudpoints_n表示当前帧非雪花点的数量;
Step2.2:如果地面点集{NGDS_n}中第i个Nongroudpointsn_i点的高程zn_i≥3,则判断该点属于雪花点集{SPCS_n}:
SPCS_n=[snowpointcloud1,snowpointcloud2,...,snowpointcloudi]
其中:snowpointcloudi表示第n帧数据中的第i个雪花点;
Step2.3:如果点集{NGDS_n}中第i个Nongroudpointsn_i点的高程zn_i<3,则判断该点属于非雪花点集{NSPCS_n}:
NSPCS_n
=[Nonsnowpointcloud1,Nonsnowpointcloud2,...,Nonsnowpointcloudi]
其中:Nonsnowpointcloudi表示第n帧数据中的第i个非雪花点;
Step2.4:当获取雪花点集{SPCS_n}后,计算当前帧ρn_snow,如果0<ρn_snow≤ξ1,则判断当前帧降雪程度为小雪(Light),如果ξ1<ρn_snow≤ξ2,则判断当前帧降雪程度为中雪(Moderate),如果ρn_snow>ξ2,则判断当前帧降雪程度为大雪(Heavy);
其中:ξ1为小雪和中雪的强度阈值,ξ2为中雪和大雪的强度阈值;
Step3:数据分析单元判断降雪程度后,将不同帧降雪程度分别传入混合滤波单元,混合滤波单元通过自适应统计滤波、自适应半径滤波对该帧点云进行雪花降噪处理;
Step3.1:基于点云特征,对于输入点云中的每一个点Nongroudpointi,其领域内各点的平均距离:
假设服从高斯分布,可进一步求得点云空间中的N个点对应的均值μ和标准差σ为:
其中:k为设置的最小邻近点的搜索数量,di为在k构建的邻域内Nongroudpointi到各点的距离;
Step3.2:根据均值μ和标准差σ,分别设置统计滤波最小邻近点的搜索数量k1、k2、k3和标准差系数Vσ_1、Vσ_2、Vσ_3,根据k1、k2、k3和Vσ_1、Vσ_2、Vσ_3计算阈值范围(μ-σ·Vσ_1,μ+σ·Vσ_1)、(μ-σ·Vσ_2,μ+σ·Vσ_2)、(μ-σ·Vσ_3,μ+σ·Vσ_3),滤除部分噪点,将滤除的雪花点存入雪花点集{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3},并将滤除后剩余的目标点存入目标点集{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3};
其中:k1、k2、k3分别为小雪、中雪、大雪情况下统计滤波最小邻近点的搜索数量;Vσ_1、Vσ_2、Vσ_3分别为小雪、中雪、大雪情况下统计滤波标准差系数;{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3}分别为小雪、中雪、大雪情况下自适应统计滤波后的雪花点集;{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3}分别为小雪、中雪、大雪情况下自适应统计滤波后的目标点集;
Step3.3:将目标点集{NSPCS_statistic_n_1}、{NSPCS_statistic_n_2}、{NSPCS_statistic_n_3}分别传入自适应半径滤波算法,对于不同帧点云的不同降雪程度,针对该帧数据中的每一个点Nongroudpointi,设置自适应的滤波半径r1、r2、r3,构建球形搜索范围,若范围内点的数量m小于设定的最少临近点数量M,则判定该Nongroudpointi为雪花噪声点,存储为新的点集{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3},予以滤除,反之予以保留,并存入新的点集{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3};
其中:{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3}为小雪、中雪、大雪情况下自适应半径滤波后的雪花点集;{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3}为小雪、中雪、大雪情况下自适应半径滤波后的非雪点集;
Step4:当混合滤波单元完成后,计算机将{SPCS_statistic_n_1}、{SPCS_statistic_n_2}、{SPCS_statistic_n_3}与{SPCS_radius_n_1}、{SPCS_radius_n_2}、{SPCS_radius_n_3}进行合并,并存储为新的滤波后点集{SPCS_afterfilter_n_1}、{SPCS_afterfilter_n_2}、{SPCS_afterfilter_n_3},与{NSPCS_radius_n_1}、{NSPCS_radius_n_2}、{NSPCS_radius_n_3}通过point_cloud_viewer进行逐帧可视化显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311152267.8A CN117192513A (zh) | 2023-09-07 | 2023-09-07 | 一种雪天环境下路侧激光雷达背景过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311152267.8A CN117192513A (zh) | 2023-09-07 | 2023-09-07 | 一种雪天环境下路侧激光雷达背景过滤方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117192513A true CN117192513A (zh) | 2023-12-08 |
Family
ID=88993698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311152267.8A Pending CN117192513A (zh) | 2023-09-07 | 2023-09-07 | 一种雪天环境下路侧激光雷达背景过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117192513A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495932A (zh) * | 2023-12-25 | 2024-02-02 | 国网山东省电力公司滨州供电公司 | 一种电力设备异源点云配准方法及系统 |
-
2023
- 2023-09-07 CN CN202311152267.8A patent/CN117192513A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495932A (zh) * | 2023-12-25 | 2024-02-02 | 国网山东省电力公司滨州供电公司 | 一种电力设备异源点云配准方法及系统 |
CN117495932B (zh) * | 2023-12-25 | 2024-04-16 | 国网山东省电力公司滨州供电公司 | 一种电力设备异源点云配准方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110988912B (zh) | 自动驾驶车辆的道路目标与距离检测方法、系统、装置 | |
Biçici et al. | An approach for the automated extraction of road surface distress from a UAV-derived point cloud | |
US9239384B1 (en) | Terrain detection and classification using single polarization SAR | |
CN106570454B (zh) | 基于移动激光扫描的行人交通参数提取方法 | |
Charaniya et al. | Supervised parametric classification of aerial lidar data | |
Zhang et al. | An automatic background filtering method for detection of road users in heavy traffics using roadside 3-D LiDAR sensors with noises | |
CN109738910A (zh) | 一种基于三维激光雷达的路沿检测方法 | |
CN108717540B (zh) | 基于2d激光雷达区分行人和车辆的方法及装置 | |
Yao et al. | Comparison of two methods for vehicle extraction from airborne LiDAR data toward motion analysis | |
Chaabani et al. | Estimating meteorological visibility range under foggy weather conditions: A deep learning approach | |
CN107992782A (zh) | 基于图像几何特征参量的云降水粒子形状识别方法 | |
CN117192513A (zh) | 一种雪天环境下路侧激光雷达背景过滤方法 | |
Bock et al. | On-street parking statistics using lidar mobile mapping | |
CN113281782A (zh) | 一种基于无人驾驶车的激光雷达雪点滤除方法 | |
CN114019503A (zh) | 基于fod检测系统的机场跑道异物检测方法、设备、存储介质 | |
CN113963259A (zh) | 基于点云数据的街景地物多维度提取方法和系统 | |
Schlichting et al. | Vehicle localization by lidar point correlation improved by change detection | |
CN112379393A (zh) | 一种列车碰撞预警方法及其装置 | |
Jiangui et al. | A method for main road extraction from airborne LiDAR data in urban area | |
CN117029840A (zh) | 一种移动车辆定位方法及系统 | |
Lin et al. | Vehicle detection and tracking using low-channel roadside LiDAR | |
CN115797910A (zh) | 一种长尾目标识别方法、计算机可读存储介质及车辆 | |
CN117130010B (zh) | 用于无人驾驶的障碍物感知方法、系统及无人驾驶汽车 | |
Sun et al. | Objects detection with 3-D roadside LiDAR under snowy weather | |
CN116299315A (zh) | 一种使用激光雷达实时检测路面障碍物的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |