基于自适应双阈值的车窗三维点云修复算法

2021-07-06 02:10马荣贵
计算机技术与发展 2021年6期
关键词:曲率孔洞间距

谭 珂,马荣贵,骆 磊

(长安大学 信息工程学院,陕西 西安 710061)

0 引 言

车辆检测是智能交通系统中一个不可或缺的重要环节,能够为道路交通控制、高速公路管理和紧急事件管理等诸多后续交通环节提供强有力的信息支撑[1]。目前车辆轮廓检测获取手段主要分为两类:一种是通过图片、视频信息,利用多种神经网络进行训练,获取车辆轮廓信息[1-2];另一种是借助激光扫描技术,快速获取复杂曲面的点云模型[3-6]。 当车辆低速通过龙门架,由安装在龙门架两端的测距雷达扫描车辆,获取三维点云数据。由于两端测距雷达水平方向距离车辆较近,并且高度较高,导致激光对车窗扫描时的入射角过大,又因车窗材质特殊,激光测量点严重偏离反射面,在车窗处产生特殊噪声点。针对这类特殊噪声点,该文提出一种改进的车窗三维点云数据修复算法。

对车窗处的点云数据重建有两方面工作,一是去除特殊噪声点,二是点云孔洞修复。在去除特殊噪声点方面,文献[7]中针对散乱点云特征提取过程中效率低和噪声敏感性差的问题,采用主成分分析法和局部二次曲面拟合法对点云模型进行微分几何信息估算,并利用双阈值检测方法对散乱点云的特征信息进行提取。文献[8]采用支持向量机做二维数据的回归分析,获得残缺点的坐标参数,从而完成空洞修补,但是此方法会提取除车窗外的其他处特征点。文献[9]提出了一种改进的八邻域深度差算法进行边界提取,但在面对车辆切片栅格数据中车窗部位边界的拐角,即噪声点和正常数据点同时处于一个八邻域检测框时,该框的深度值难以合理确定,容易造成噪声消去不足或者将正常点云误判为噪声。

在点云空洞修复方面,文献[10]提出了一种基于径向基函数的复杂曲面的孔洞修补算法,能恢复原有模型的基本几何特征;文献[11]提出一种基于经纬网格的点云修补算法,利用样条插值进行孔洞填补,但是对目标物体表面的纹理有一定要求;文献[12]提出一种基于SFM的三维点云孔洞修补算法,利用光栅投影法中得到的二维相位信息来提取三维点云孔洞区域的边界点,从而完成对点云孔洞的填补,但是SFM数据集的获取并非易事。

针对边缘提取算法对车窗边界不敏感,容易造成修复后的车辆数据和真实数据不匹配的问题,该文对其进行了改进,以点云间距与曲率作为双阈值进行噪声特征点提取,利用标准差确定阈值,通过阈值确定车窗处噪声的边界特征点并完成去噪,再使用径向基函数对去噪后的车窗部分的点云数据进行修复。

1 基于点云间距与点云曲率的特征提取算法

1.1 点云间距与点云曲率

考虑到点云处理时,车窗处的噪声形状不定,受车辆驶入角度,座位是否有人等情况影响,对三维车辆点云数据噪声特征提取意义不大,该文对车辆点云数据进行切片,对每一个切片进行分析,提取车窗噪声特征点。

点云间距在车辆点云数据中是一个重要的属性,通常点云间距过大处,可以表示为孔洞或者非连接处,在文中车辆点云数据中,点云间距是车窗处噪声点的一个很明显的特征。图1为一辆面包车右车身处的扫描点切面,可以看出矩形框圈出的是原本应该在车窗处的点云,受车窗材质影响,点云数据偏移,成为了异常噪声点,而车窗部分因此缺失点云数据,产生孔洞。

图1 小面包车身右侧面扫面切面

点间距通常用欧氏距离表示,一个切面上的p,q两点间的欧氏距离计算方式如式(1)所示:

(1)

因为车窗边界噪声点的间距大小不一,单纯使用间距表示特征效果较差。通过对间距进行微分,利用间距的变化程度,作为是否出现噪声点的判断依据效果良好。如图2所示,图中是车辆车顶轮廓局部的一处点云,单位为mm,横坐标表示车辆的车身长度,纵坐标表示车辆的车身高度。

图2 点间距说明示意图

有p、q、m三个点,它们间距的变化量计算方式如式(2)所示:

(2)

其中,dLq为点q处的间距变化量,Lpq为相邻两点p、q的间距,Lqm为相邻两点q、m的间距。

点云数据中曲率可以客观地表示出该点处的模型特征情况,局部一点的曲率越小,表明该点处的模型越平缓,局部一点的曲率越大,则表明该点处的模型越尖锐。计算近邻点所对应的曲率变化,与设定的阈值对比,则可以有效提取出特征点。

离散点的曲率计算公式如式(3)所示:

(3)

其中,K表示曲率,y表示一个切面的数据点的纵坐标,则第i点处的y的一阶导数的计算公式为:

(4)

同理,第i点处的y的二阶导数计算公式如式(5)所示:

(5)

1.2 基于标准差的自适应双阈值去噪算法

在车辆点云数据中,无论是曲率还是间距,车窗处的噪声点都应该相较于正常点来说,远偏于数据集,标准差可以很好地反映数据的离散程度。噪声点的标准差与均值的和必定小于最大值,因此以标准差与均值的和作为阈值,可以提取出远偏于实际数据的那部分。应用标准差与均值的和作为阈值,会将非车窗噪声特征点进行提取,但因为由双阈值共同确定噪声边界特征点,所以几乎不会影响提取的准确度。

点间距变化量的标准差的计算方式如式(6)所示:

(6)

其中,N为一个切面内的点云数据个数。

曲率的标准差的计算方式如式(7)所示:

(7)

计算当前切面的阈值,与每一个点处的间距变化量和曲率进行比较,当该点同时大于两个阈值,则可以确定该点为车窗噪声边界特征点。

单阈值曲率提取噪声特征点与双阈值提取车窗噪声特征点的对比如图3所示,取车头的一处车窗切面为例。横纵坐标单位都是mm,纵坐标是车头的高度,横坐标是车身的侧切面即车辆的长度,图中标灰的点云是算法确定的车窗噪声边界特征点。

(a)单一阈值曲率确定噪声特征点

(b)双阈值确定噪声特征点

可以看出,图3(a)是将曲率作为唯一阈值进行判断,图中车身横向边缘上的很多灰色点云是被误判为噪声点的正常数据,而图3(b)是采用曲率和点间距双阈值进行判断后的特征点确定结果,由于考虑到点间距变化量阈值的限制,既标定了车窗处的噪声特征点,又避免了单阈值误判正常数据的情况,因此该文提出的双阈值算法可以很好地对车窗噪声边界特征点进行识别。

2 基于径向基函数的孔洞修复

2.1 车窗边界拟合

在采用双阈值去噪方法后,可以大致确定车窗噪声点边界。如图4(a)所示,车窗处灰色较浅的点是特征提取算法识别出的车窗噪声边界点。

图4(b)是根据识别的噪声特征点,使用了最小二乘法进行了初步线性拟合后的结果,将分离的车窗噪声特征点初步拟合成了闭合曲线。

(a)车窗边界特征点确定图

(b)车窗边界初步拟合结果图

对每一个切面使用拟合即可构成车窗,但是这种做法没有考虑车窗的整体信息,只考虑了一个切面的车窗信息,受车窗边界点的影响较大,重新构建的车窗曲面会因为各个切面直接彼此分离,呈凹凸不平感。因此需要从车窗整体数据考虑,进行车窗重建。

2.2 基于径向基函数的插值修复

径向基函数(radial basis function,RBF)是一种确定性的多维空间插值模型,可以有效逼近任意维度的空间数据[12]。RBF插值模型的插值精度受基函数形态参数的影响,如何快速获取较优的形态参数,研究者们提出了不同的方法[13-17]。

在三维空间R3中,有点云集合P={p1,p2,…,pn},其分别对应约束值为{h1,h2,…,hn}。RBF方法要求拟合的目标曲面必须通过每一个测得的采样值,故如果能构造函数f(x),使得每个点均满足条件F(pi)=hi,那么一个隐式曲面就可以用方程F(qi)=0来表示。该文以确定的噪声孔洞边界点及其初步拟合边界为基础,建立基于径向基函数的隐式曲面。

根据点云集合和约束条件,构建基于径向基函数的隐式曲面,曲面表示如式(8)所示:

(8)

其中,r为构建曲面时通过的任意散乱点云,qj为建立曲面所需的采样点,ωj为对应每个采样点qj的权值,φ(r-qj)为径向基函数。

P(r)=c0+c1r=p0+p1x+p2y+p3z

(9)

径向基函数的插值函数表达式为:

(10)

在对空间散乱点进行插值时,根据文中需求,选择立方体曲面函数作为基函数,对于三维空间中的任意两个散乱点,其基函数表达式如式(11)所示:

φ(qi-qj)=|qi-qj|3=

(11)

根据约束点和约束条件确定了曲面的隐式方程,如式(12):

(12)

曲面方程确定后,需要对车窗处的去噪后的点云孔洞进行修复。该文选择梯度下降法计算车窗处需要填充的点云坐标。梯度下降法的计算过程就是沿梯度下降的方向求解极小值,它可以最快地向曲面迭代逼近。当满足迭代需求或梯度下降变化为0时,迭代停止,即完成对孔洞部分的填充修补。

3 实验结果分析

3.1 实验结果

编程实现提出的双阈值去噪算法对原始车辆点云数据进行去噪,对收集到的车辆数据进行实验验证。车辆修复重建的效果如图5所示,图中黑色部分表示车辆的数据点,灰色部分表示重建后车窗的数据点,其所在坐标系的单位均为mm。

(a)车辆原始点云

(b)车辆去噪点云

(c)车窗修复后

图5(a)是激光雷达获取的车辆的原始三维点维数据图,图5(b)是对面包车数据进行了双阈值去噪并标记出了车窗部分,等待对车窗部分的修复重建。图5(c)中,面包车侧面的三个车窗部分,已经没有特殊噪声点,且整体点云没有孔洞,达到车窗重建的目的。

3.2 对比结果

如图6所示,图6(a)是半挂车的原始点云数据,图6(b)中文献[9]的算法将噪声点识别为车窗边界,会使得修复的车窗在噪声点处形成了小孔洞,图6(c)中文中算法对车窗右上拐角处的噪声判断得当,进行了合理去噪,图6(d)中文中算法在对半挂车车窗进行修复时,不仅整体车窗效果好,在局部边缘处,较文献[9]的算法效果更好。

(a)半挂车原始点云

(b)文献[9]算法去噪

(c)文中算法去噪

(d)文中算法对半挂车的修复

4 结束语

通过上述实验结果,可以得到结论:以点云间距与曲率作为双阈值进行噪声特征点提取,利用标准差确定阈值,通过阈值确定车窗处噪声的边界特征点并完成去噪,用最小二乘法对车窗边界进行初步拟合,使用基于径向基函数的方式对车窗边界进行优化,用梯度下降算法对径向基函数确定点云孔洞进行填充,实现了对车窗点云数据的修复。综上所述,该算法可以对车辆的车窗进行数据修复,且对边缘敏感,行之有效。

猜你喜欢
曲率孔洞间距
开始和结束
调整图标间距让桌面布局更个性
调整图标间距让桌面布局更个性
提线木偶
悬崖上有字
走路时,我们会踩死细菌吗
不同曲率牛顿环条纹干涉级次的选取
各类曲线弯曲程度的探究
一类广义平均曲率Liénard方程周期解存在性与唯一性(英文)
算距离