点云深度学习系列:4DenoiseNet——考虑时空维度的去雪模型

文章:4DenoiseNet: Adverse Weather Denoising From Adjacent Point Clouds

代码:https://github.com/alvariseppanen/4DenoiseNet

1)摘要

        可靠的点云数据对于感知任务至关重要,例如在机器人和自动驾驶应用中。恶劣天气会导致特定类型的噪声进入到激光测距 (LiDAR) 传感器数据,这会显着降低点云的质量。为了解决这个问题,本文提出了一种新颖的点云恶劣天气去噪深度学习算法(4DenoiseNet)。与文献中的深度学习恶劣天气降噪方法不同,文中的算法利用了时间维度。与之前的工作相比,它在交并集度量方面的性能提高了约 10%,并且计算效率更高。这些结果是在我们新颖的SnowyKITTI数据集上实现的,该数据集有超过 40000 个恶劣天气注释的点云。此外,加拿大不利驾驶条件数据集的强大定性结果表明,对域偏移和不同传感器特性具有良好的普遍性。

2)创新点

提出了一种新颖的时空特征编码器,能够适用轻、中、大雪场景的去噪;

②模型只有 0.6 M 的可训练参数,需要较少的标记数据,并且具有更好的泛化性。

3)算法结构

A.有序点云表达

        首先,将点云映射到球面坐标系,然后再转换为图像坐标系:

其中,fv为激光雷达的垂直视场角分辨率,fvup为原点水平面到垂直视场角的角度,sw和sh分别为图像的宽度和高度。得到的图像坐标列表用于构建 (x,y,z)的通道图像,即有序点云 Po ∈ Rsh×sw×(3+Cf) ,其中 Cf 表示特征通道的数量,在作者文章中,Cf = 1 表示强度。

B.空间数据构建

        传统方法DROR、DSOR和DDIOR已经证明了密度在检测空气中颗粒物点云具有参考性。因此,利用神经网络去获取密度信息是表达空间信息的关键之处。因为文章方法是基于点云 球面投影结果进行度量处理,传统的2D卷积难以适用获取局部点云。如上图所示,作者利用KNN卷积作为第一层卷积用于获取度量空间中的K近邻邻域点。具体如下步骤:

①:从有序点云中选取一个锚点p(u,v),该点包含一个坐标3通道和一个强度通道(C=4);

②:基于锚点获取其点云周边的K个近邻点,从而每个点就构成了C*K个通道;而锚点的个数为H*W,那么就形成一个m=H*W,n=C*K的特征矩阵;

③:为了生成一个m=H*W,n=32的特征矩阵输入给ReLU,则共享权重矩阵应该为m=C*K,n为32的权重矩阵。

空间KNN卷积公式具体可参照下列公式:

其中有序点云

∂p为p的K邻域,

为K近邻搜索。

  1. 时间数据构建

        LiDAR 点云中恶劣天气的影响比有效点具有更混乱的性质。这是由来自空气中粒子的光束反射引起的。由这些粒子引起的反射更加不可预测,因为它们很小并且受到气流的移动。这种混沌行为在其他点上的规模要小得多。因此,时间信息可以用于文中的任务。一项实证研究表明,空气中的颗粒物(例如雪花)的反射极不可能在同一地方发生两次。也就是说,在给定光束,从空气传播粒子反射的单个光束极不可能发生在相邻扫描中,而其他表面的反射则较为一致。如上图所示,对于具有均匀运动的一组点,它们的变化距离随着角度变化更平滑。相反,由非匀速运动引起的一组点更具随机性。具体步骤如下:

①:从当前扫描的有序点云选取一个锚点p(u,v),该点包含一个坐标3通道,C=3;

②:在上一个相邻扫描中,获取锚点的最近K个点;

③:计算相邻扫描中近邻点的运动状态:(r、θ, φ):

根据上述公式,计算得到运动状态矩阵m=H*W,n=3*K。

④:为了生成一个m=H*W,n=32的特征矩阵输入给ReLU,则共享权重矩阵应该为m=3*K,n为32的权重矩阵。

  1. 模型结构

        模型包括两个分支:空间特征提取分支和时间特征提取分支。空间特征提取分支通过KNN卷积获取空间特征表达式,然后,利用Residual Block进行特征编码,最后利用均值池化进行特征图下采样;时间特征提取分支以空间分支的锚点作为参考点,利用相邻扫描场景计算时间特征图,并利用Residual Block进行特征编码,利用均值池化进行特征图下采样;接着,利用MGA进行时空特征融合,利用Residual Block进行时空特征图编码,并采用DropOut进行神经元的随机关闭,防止模型过拟合;然后,利用Pixel Shuffle进行特征图上采样,使用Residual Block进行编码,并利用K1D1的膨胀卷积生成密集的Score Map。最后,利用SoftMax的置信度生成用于删除噪声点的mask——M。基于mask对球面投影图进行噪声滤出,并反投影回点云空间,完成噪声滤除。

4)实验

实验采用模拟数据集SnowyKITTI进行训练,如上表所示,SnowyKITTI可以划分为6个子集,如下图所示,通过不同子集训练得到的模型,文章方法具有较好的稳定性。

下表是根据SnowyKITTI进行训练,训练占比80%,剩余的用于测试,从结果来看,文章方法在精度上与现有方法有较大改善,同时,在效率和参数大小上也具有优越性。

作者在构建空间特征时,采用r,x,y,z四个通道,其中r为距离,发现不使用强度训练的模型,在实际场景中的泛化性能更好。

上图为CADC数据集的测试结果,该数据集为实际场景采集的小雪、中雪和大雪场景,从上述图中可以观察到,能够较好地去除雪产生的点云噪声。

        为了研究时空 kNN卷积的重要性,进行了如上表所示的一项消融研究,比较了四种 4DenoiseNet 变体。描述了变体及其性能、运行时间和可训练参数的数量。kNN-卷积模块被传统的二维卷积层所取代。在没有时间分支的变体中,不使用 MGA,空间分支直接连接到第二个残差块。基于消融研究,空间 kNN-卷积比时间 kNN 卷积对性能的提高略大。总体而言,空间和时间kNN-convolution模块均显著提高了性能。

5)结论

        4DenoiseNet,这是第一个用于对相邻 LiDAR 点云进行恶劣天气降噪的深度学习算法。带注释的 SnowyKITTI 数据集的定量结果、加拿大不利驾驶条件数据集的定性结果和运行时间表明,模型是恶劣天气降噪的新技术。4DenoiseNet基于本文提出的时空kNN-卷积模块。通过消融研究展示了度量空间中的空间和时间信息在恶劣天气降噪任务中的重要性。鉴于轻量级的计算需求和性能,算法将成为户外LiDAR应用中必不可少的组成部分,为所有下游任务提供干净的点云数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

giugughk

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

基于Arduino的智能眼镜

基于Arduino的智能眼镜 制作智能眼镜 大家好,今天我要和大家分享一个非常有趣的项目——使用Arduino Nano制作智能眼镜。这个项目结合了电子技术和编程,是DIY爱好者的完美选择。以下是如何构建这款智能眼镜的基本概述。 实物图: 智能眼镜的…

ESP8266使用AT指令完成MQTT功能

ESP8266使用AT指令完成MQTT功能 在esp8266设备中烧录安信可的AT固件之后,进行AT指令完成信息发布,并最终实现在Homeassistant中发布传感器并设置传感器状态。 一、基础指令 以下是完整的步骤和对应的AT指令: 1. 配置ESP8266为Station模式 …

贪吃蛇游戏(代码篇)

我们并不是为了满足别人的期待而活着。 前言 这是我自己做的第五个小项目---贪吃蛇游戏(代码篇)。后期我会继续制作其他小项目并开源至博客上。 上一小项目是贪吃蛇游戏(必备知识篇),没看过的同学可以去看看&#xf…

多态对象的存储方案小结

某个类型有几种不同的子类,Jackson中的JsonTypeInfo 和JsonSubTypes可以应对这种情形,但有点麻烦,并且name属性必须是字符串、必须用Jackson为基础的json工具类对json字符串和对象进行序列化和反序列化。用过一次这种方案后边就不想再用了。 …

【Python数据结构】深入理解Python中的列表、字典和集合!

【Python数据结构】深入理解Python中的列表、字典和集合! 在Python编程中,数据结构是处理和组织数据的核心部分。Python提供了许多内置的数据结构,如列表、字典和集合,它们为程序员提供了灵活、高效的数据管理方式。本篇博客将深…

如何实现简单的 WinCC 项目分屏?

说明: 本文主要介绍了在不使用分屏器的情况下,通过 WinCC 项目中的设置,实现简单的分屏操作。两台显示器分别显示不同的 WinCC 画面,独自操作,互不影响。 试验环境 : 本文试验时所用硬件及软件环境…

Ubuntu如何显示pcl版本

终端输入: apt-cache show libpcl-dev可以看到,Ubuntu20.04,下载的pcl,应该都是1.10版本的

机器学习可解释性

机器学习的稳健性、可解释性和结果正确性等是人工智能安全可信应用必须解决的关键问题。 传统机器学习: 内置可解释性:决策树IF-Then规则,直观可理解事后可解释性:训练结束后的可解释技术特定于模型体系结构的解释与解释方法及模…

VS Code设置右侧滚动条高亮选中的字符位置

打开菜单“文件 -> 首选项 -> 设置”, 搜索“hightlight”,扩展中的Highlight Selections,再点击“在 settings.json中编辑”, 将editor.selectionHighlight选项改为true保存即可

【读书笔记·VLSI电路设计方法解密】问题12:制造MOSFET晶体管的主要工艺步骤是什么

VLSI芯片是在半导体材料上制造的,这种材料的导电性介于绝缘体和导体之间。通过一种称为掺杂的工艺引入杂质,可以改变半导体的电气特性。能够在半导体材料的细小且定义明确的区域内控制导电性,促使了半导体器件的发展。结合更简单的无源元件(电阻、电容和电感),这些器件被…

股市入门常见术语介绍

鉴于最近行情讨论火热,我也想借此平台,结合我大学时期身边同学老师的投资经历,写一篇交易入门术语简介。内容不多但是足以达到科普之用。 ​ 希望大家能谨慎对待投资,始终保持谦虚学习的态度。不要迷失在瞬息万变的金融市场&…

Redis拒绝连接问题分析与解决方案

目录 前言1. 问题描述2. Redis拒绝连接的常见原因分析2.1 Redis服务未启动2.2 Redis配置中的绑定地址问题2.3 防火墙或安全组问题2.4 Redis连接池耗尽2.5 Redis服务器负载过高2.6 权限配置问题 3. 深度解决方案和优化建议4. 总结 前言 在分布式系统中,Redis作为高性…

游戏服务端架构演进

文章目录 前言初出茅庐粗通皮毛略有小成炉火纯青内劲深厚最后 前言 对于网络游戏,一般分为客户端和服务端,客户端主要负责界面图像的渲染与一些交互操作,服务端主要负责数据的业务处理与存储还有与客户端之间的信息交互 比如玩家聊天、广播…

黑马程序员-redis项目实践笔记1

目录 一、 基于Session实现登录 发送验证码 验证用户输入验证码 校验登录状态 Redis代替Session登录 发送验证码修改 验证用户输入验证码 登录拦截器的优化 二、 商铺查询缓存 缓存更新策略 数据库和缓存不一致解决方案 缓存更新策略的最佳实践方案 实现商铺缓…

TS中如何正确处理window类型

在Typescript项目中,你可能都遇到过这个错误: Window & typeof globalThis 类型上不存在属性 X。 快速修复方案 我们将介绍几种不同的解决方案来解决这个问题。 Window 接口是在名为 lib.dom.d.ts 的文件中全局定义的。你可以使用各种技术来更改它&a…

Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍

距离上次发布的23H2版本已经过去了一年时间,现在,Win 11的24H2版本终于等到了,微软已经全面公开发布Win11 24H2版本,版本号为26100.1742,此次官宣的版本包括了消费者版、商业版、LTSC 2024版等,各种语言版本…

如何启动hive

检查mysql是否启动 通过Navicat测试mysql是否可以连接 找打hive配置文件所在目录 检查连接mysql的账号密码是否正确,如果不正确就要修改为正确的 初始化hive元数据存储的库:schematool -dbType <database_type> -initSchema 检查mysql中是否创建hive数据库,这里看到hive数…

zookeeper客户端

启动单机版的zookeeper 配置Maven环境 (1) IDEA自带maven (2) 更新Maven库镜像地址&#xff1a; ① 拷贝D:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\plugins\maven\lib\maven3\conf\settings.xml [IntelliJ的安装目录]到 C:/用户/username/.m2 (如果.m2文件不存在&…

华宇携司法大模型亮相2024中国移动全球合作伙伴大会

2024中国移动全球合作伙伴大会于10月11日在广州琶洲保利世贸博览馆盛大开幕。本届大会以“智焕新生 共创AI时代”为主题&#xff0c;深入探讨数据、算力与人工智能如何深度融合&#xff0c;全力推进AI规模发展、规模应用&#xff0c;加快形成AI技术能力、经济效益上的规模效应&…