《4DenoiseNet: Adverse Weather Denoising from Adjacent Point Clouds》

一、引言:(阐述研究的动机,说明研究的目的)

问题:恶劣天气下导致激光雷达点云会丢失并离散。
影响:对下游的感知算法的影响(建图缺损,漏检误检…)。
//进行研究的动机或背景

这项研究的意义或目的:为下游的算法(建图,定位,目标检测,导航)提供干净、鲁棒的激光雷达数据。
//研究工作的目的

研究工作的简介:区别于之前的研究,以及数据流在整个框架处理的流程,研究成果效果与之前比较的突出点,是否有实验支撑。
难点:传感器特性,点云稀疏,噪声遮挡,噪声密度变化(个人胡思乱想:卡尔曼滤波是否可以预测密度变化),为什么是难点,因为无法有效区分有效点和噪声点。
针对难点的工作:(创新点吧)深度学习架构学习均方差函数。解决的关键是高效利用时空信息。我们的体系结构通过k近邻卷积核捕捉时空信息以及运动引导的注意机制来研究这些现象。
//主要的研究工作

1、第一个利用时空信息对恶劣天气激光雷达去噪的神经网络方法。
2、提供标注的半模拟数据集,将成为户外激光雷达传感器应用的重要组成,为所有下游任务提供干净的感知数据。
//研究工作的在该邻域的地位和贡献

二、相关研究

传统的方法(ROR,SOR,DROR,DSOR,LIOR,DDIOR)
Dsor: A scalable statistical filter forremoving falling snow from lidar point clouds in severe winter weather.
学习的方法( Cylinder3D/Searching efficient 3d architectures with sparse point-voxel convolution/Panoptic-polarnet:Proposal-free lidar point cloud panoptic segmentation/Squeezeseg:Convolutional neural nets with recurrent crf for real-time road-object segmentation from 3d lidar point cloud/Squeezesegv2: Improved model structure and unsupervised domain adaptation for road-object segmentation from a lidar point cloud/Squeezesegv3:Spatially-adaptive convolution for efficient point-cloud segmentation/Lite-hdseg: Lidar semantic segmentation using lite harmonic dense convolutions/Pointnet:Deep learning on point sets for 3d classification and segmentation/Point-net++: Deep hierarchical feature learning on point sets in a metric space/Large-scale point cloud semantic segmentation with superpoint graphs/Splatnet: Sparse lattice networks for point cloud processing/Tangent convolutions for dense prediction in 3d/Randla-net: Efficient semantic segmentation of large-scale point clouds/Latticenet: fast spatio-temporal point cloud segmentation using permutohedral lattices/Sparse single sweep lidar point cloud segmentation via learning contextual shape priors from scene completion/Rangenet++: Fast and accurate lidar semantic segmentation/Rpvnet: A deep and efficient range-point-voxel fusion network for lidar point cloud segmentation)

三、实现方法

1、点云球面投影



fvup是从水平面到垂直视角的角度
sh是整个图像的高度,sw是整个图像的宽度。xyz代表点云的坐标值,额外加一个强度值通道。u行,v列。

2、空间信息使用

空间点密度对判断点是否是噪声点是帮助的,噪声点的密度往往更小,但不是决定性的。
第一个卷积层获取每个点的k邻域(KNN卷积)

为何经过relu函数会变为32维?锚点和邻域点与权重相乘。所有点经过该操作放入relu函数后,空间纬度由HW5变为HW32,应该有填充。


w是训练权重。ps:什么是卷积,系统某一时刻的输出是由多个输入共同作用(叠加)的结果。
∂p不太明白是什么意思。看公式理解为p点k个邻域点。
整个公式:邻域点对应的权重值乘以邻域点对应的投影后的点//将该查询点所有邻域点乘以相应权重求和


图4的值作为ReLu函数(其实就是个取最大值的函数)的输入。ps:ReLu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。相关的特征并不是很多,因此稀疏化能够更好地挖掘相关特征,拟合训练数据。

3、时间信息的使用

噪声比有效点更加混乱,由于气流其轨迹无法预测。
由雪引起的噪声两次出现在相同位置的概率极低。
用当前点云的坐标系以及锚点对上一帧的点云搜寻KNN点集,获取时间信息。

卷积之前将笛卡尔坐标系转为球坐标系

时间-KNN-卷积:


4、神经网络的设计与训练

假设前提:拥有时间空间特征的函数,其效果优于同类函数。
通过下图神经网络近似估计该函数
Residual block:解决梯度消失和梯度爆炸问题,在训练更深网络的同时,又能保证良好的性能。K是卷积核大小,D卷积核膨胀(dilation 是对 kernel 进行膨胀,多出来的空隙用 0 padding,用于克服 stride卷积步长 中造成的失真问题,引入 dilation 的目的是 既想利用已经训练好的模型进行fine-tuning,又想改变网络结构得到更加dense的score map),BN:让激活函数的输入分布保持在一个稳定状态来尽可能避免它们陷入梯度饱和区,又引入了两个可学习(learnable)的参数一定程度上保证了输入数据的表达能力。

Dropout: dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络,是CNN中防止过拟合提高效果的一个大杀器.
Pixel Shuffle:是一种上采样方法,可以对缩小后的特征图进行有效的放大。可以替代插值或解卷积的方法实现upscale。主要功能是将低分辨的特征图,通过卷积和多通道间的重组得到高分辨率的特征图。

Motion guided attention:《Motion Guided Attention for Video Salient Object Detection》2019港大 MGA 运动引导的注意力机制,为了建模显著运动如何结合外观信息来影响物体显著性的。

Softmax:分成soft和max两个部分,核心在于soft,Softmax的含义就在于不再唯一的确定某一个最大值,而是为每个输出分类的结果都赋予一个概率值,表示属于每个类别的可能性。

Jaccard index:用于比较有限样本集之间的相似性与差异性。 Jaccard系数值越大,样本相似度越高。也被称为IOU score。
Lovász-Softmax loss:神经网络中联合损失平均交集的直接优化方法。《The lovász-softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networks》

mi©:使用softmax将模型输出映射为概率分布,类别概率xi©,第c个类的 pixel errors 为 m©,c=yi(x)输出的结果与真值一样。
优化公式如下:

如下图就是K3D3的情况
跳跃连接:跳过一层或者好几层,从而将信息传递到神经网络的更深层。

四、实验复现

1、数据集

训练数据集:暂未开源。
测试数据集:/media/pf/Elements/MY_PROJECT/lidar_desnow/cadcd/2018_03_06/0005/raw/lidar_points
测试命令:cd networks/train/tasks/semantic
激活虚拟环境 AI :conda activate AI
python3 infer.py -d /media/pf/Elements/MY_PROJECT/lidar_desnow/cadcd/2018_03_06/0005/raw/lidar_points/ -m /home/pf/open_source_code/4DenoiseNet-main/logs/2022-9-22-20:56/ -l /home/pf/open_source_code/4DenoiseNet_predict/ -s test

2、数据测试

使用源码提供的数据集测试
python3 infer.py -d /home/pf/open_source_code/4DenoiseNet-main/toy_snowyKITTI/dataset/ -m /home/pf/open_source_code/4DenoiseNet-main/logs/2022-9-22-20:56/ -l /home/pf/open_source_code/4DenoiseNet_predict/ -s test

ModuleNotFoundError: No module named ‘yaml’。
pip install pyyaml

ModuleNotFoundError: No module named ‘cv2’
pip install opencv-python

No such file or directory: 'root/logs/2022-9-22-20:56/arch_cfg.yaml
/home/pf/open_source_code/4DenoiseNet-main/logs/2022-9-22-20:56/

ModuleNotFoundError: No module named ‘scipy.spatial.transform’
scipy版本太低
pip uninstall scipy
pip install scipy

AssertionError//assert len(self.testloader) > 0,当len < 0会引发异常
modified the /4DenoiseNet/logs/2022-9-22-20:56/data_cfg.yaml file to infer sequence 22

RuntimeError: version_ <= kMaxSupportedFileFormatVersion INTERNAL ASSERT FAILED at /opt/conda/conda-bld/pytorch_1579022119164/work/caffe2/serialize/inline_container.cc:132, please report a bug to PyTorch. Attempted to read a PyTorch file with version 3, but the maximum supported version for reading is 2. Your PyTorch installation may be old
原因是:在高版本上训练模型,在低版本上加载模型带来的版本冲突问题。
尝试了很多方法,只有更新版本才能解决问题
conda update pytorch torchvision

AttributeError: module ‘torch’ has no attribute ‘arctan2’
pytorch 1.10版本没有arctan2 官网搜索该版本也没有搜索到arctan2
只有arctan.且只有一个参数//卸载PYTORCH

重新创建虚拟空间-python-3.9 pytorch-1.12.0
成功测试该算法。
使用自己下载的数据集测试
暂未实现

3、结果可视

可视化数据
python3 snow_visualize.py -d /home/pf/open_source_code/4DenoiseNet-main/toy_snowyKITTI/dataset/ -c /home/pf/open_source_code/4DenoiseNet-main/networks/train/tasks/semantic/config/labels/snowy-kitti.yaml -p /home/pf/open_source_code/4DenoiseNet_predict/ -s 22

ModuleNotFoundError: No module named ‘vispy’
pip install vispy

ModuleNotFoundError: No module named ‘matplotlib’
conda install matplotlib

ModuleNotFoundError: No module named ‘auxiliary’
将utils 下的laserscanvis.py 中from auxiliary.laserscan 修改为 from laserscan

ModuleNotFoundError: No module named ‘imageio’
pip install imageio

将可视化命令中的 -dc 改为-c


《4DenoiseNet: Adverse Weather Denoising from Adjacent Point Clouds》相关推荐

  1. 《FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds》

    FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds Abstract 1 Introduction 背景 ...

  2. Autonomous Driving in Adverse Weather Conditions: A Survey - 恶劣天气条件下的自动驾驶:一项调查 (arXiv 2021)

    Autonomous Driving in Adverse Weather Conditions: A Survey - 恶劣天气条件下的自动驾驶:一项调查(arXiv 2021) 摘要 1. 引言 ...

  3. Seeing Through Fog Without Seeing Fog:Deep Multimodal Sensor Fusion in Unseen Adverse Weather (翻)

    Title:Seeing Through Fog Without Seeing Fog:Deep Multimodal Sensor Fusion in Unseen Adverse Weather ...

  4. 《术以载道——软件过程改进实践指南》—第1章1.1节对CMMI的基本认识

    本节书摘来自异步社区<术以载道--软件过程改进实践指南>一书中的第1章1.1节对CMMI的基本认识,作者任甲林,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第 ...

  5. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

  6. 【论文学习笔记】《An Overview of Voice Conversion and Its Challenges》

    <An Overview of Voice Conversion and Its Challenges: From Statistical Modeling to Deep Learning&g ...

  7. 读后感和机翻《人类因果迁移:深度强化学习的挑战》

    研究朱松纯FPICU体系的第1篇文章 <Human Causal Transfer: Challenges for Deep Reinforcement Learning>CogSci 2 ...

  8. 《树莓派开发实战(第2版)》——1.15 使用蓝牙设备

    本节书摘来自异步社区<树莓派开发实战(第2版)>一书中的第1章,第1.15节,作者[英]Simon Monk(蒙克),韩波 译,更多章节内容可以访问云栖社区"异步社区" ...

  9. 《为iPad而设计:打造畅销App》——大胆创意

    本节书摘来自异步社区<为iPad而设计:打造畅销App>一书中的大胆创意作者[英]Chris Stevens,更多章节内容可以访问云栖社区"异步社区"公众号查看 大胆创 ...

最新文章

  1. numpy.linspace详解
  2. 如何自行分析定位SAP BSP错误
  3. SAP Material type mapping
  4. 机器学习性能评估指标(综合性总结)
  5. CodeForces - 786C——二分+模拟?
  6. php 扒取网页数据
  7. C# 程序集 和 反射
  8. 全球最快!湖南大学天河超算存储系统!
  9. 海康视频监控解决方案
  10. FAT32文件操作系统
  11. java将多张图片合成视频
  12. 为赢过老婆打造自动瞄准弓,闭眼也能百发百中,零件电路算法全自制
  13. 利用按键精灵实现QQ群发和微信群发
  14. 随便举个例子,说明单线程比多线程编程提高性能
  15. oracle中vim设置行号,vim的常用操作
  16. NSIS对卸载程序的签名
  17. 泸州市的电子计算机学校名称,泸州市电子机械学校 学校图片简介
  18. 显示屏flicker闪烁 测试 计算软件
  19. 本地差分隐私 随机响应_局部差分隐私的新型实现方法
  20. git提交文件名大小写的坑 如何填

热门文章

  1. utf-8中一个汉字是3个字节,你知道吗?
  2. 转:GIS不是花瓶——由地震引起的思考
  3. 【pyecharts数据可视化】python爬取去哪儿网景点数据,做交互式数据可视化
  4. 今天给大家分享scratch与数学,小猫绘画随机多边形!
  5. 华为麦芒6支持鸿蒙吗,华为麦芒6支持电信吗_华为麦芒6支持电信卡吗-太平洋IT百科...
  6. 派斯宝多尼斯荣登纳斯达克大屏 闪耀国际舞台
  7. matlab模拟高尔顿板实验,高尔顿钉板试验模拟
  8. kali mysql 远程连接_mysql连接的使用
  9. GFE2022第43届广州特许连锁加盟展览会
  10. ava锁机制Synchronized方法简介