单线激光雷达检测玻璃并把玻璃内的点插值替换为墙体

该文提出了一种基于LiDAR的玻璃检测方法,利用滑动窗口内点云的距离标准差来识别玻璃位置。通过对比穿过和未穿过玻璃的点云标准差,设定阈值来判断是否存在玻璃。此外,第二个滤波器进一步分析点云序列,检测点穿过和离开玻璃的模式,以精确标定玻璃区域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 https://www.researchgate.net/publication/350379689_LiDAR-Based_Glass_Detection_for_Improved_Occupancy_Grid_Mapping

用不起双回波,要是有错误欢迎指正。

思路:

两个滤波器

第一个: 计算滑窗内的标准差来定位玻璃的位置 (距离的标准差????)

先手动取一帧穿过玻璃的点云,用距离算一下标准差计为 PC0G

再手动取一帧不过玻璃的点云,用距离算一下标准差计为 PC0O

PC0G 和 PC0O 要作为两个队列不停的维护

取 PC0G和PC0O中的所有值的一半作为判断是否过玻璃的阈值t ,应该也是可以确定一个t为常量以后就不管了

用的时候就把滑动窗口写成10,每拿到一个点云计算一次

计算每个窗口的标准差,如果该窗口的标准差大于阈值t,则认为有可能是PC0G也就是点云中包含玻璃,否则这真激光一定不包含玻璃。

主要用来区分每个点云中有没有玻璃

第二个: 以第一个滤波器的输出为输入(找第一个滤波器输出的最新的有可能有玻璃的数据

当点云中有玻璃时,第一个穿过的点相对于上一个点距离增加强度降低 且最后一个穿出玻璃的点相对于前一个点距离减少且强度增加

做法,遍历每一个点i和后一个点i+1,如果 disten(i+1)> distance(i) && intensity(i+1)<intensity(i) ,记下这个点为第一个穿过玻璃的点 退出遍历 记下这个点的index为 k

(注意: 这里找到第一个点就退出的话应该是有 bug的比如一帧点云中有两块玻璃,玻璃中间有不透明的墙)

从k 开始往后遍历

遍历每一个点i 和后一个点 i+1 ,如果 distance(i+1)< distance(i) && intensity(i+1)> intensity(i) ,结束遍历,记录这个点的 index 为 k1,中间剩下的点

将k到k1中点的所有距离都插值覆盖

应该是可以考虑只对最新的帧进行操作的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值