当前位置: 首页 > news >正文

【论文笔记】Self-Supervised Point Cloud Prediction for Autonomous Driving

原文链接:https://ieeexplore.ieee.org/abstract/document/10571593

0. 概述

在这里插入图片描述
本文的目标是进行自监督3D点云预测,以及多目标检测和跟踪。给定过去帧的点云序列,首要目标是预测将来的点云序列,同时在预测的点云上进行目标检测与跟踪任务。

首先将激光雷达点云投影为距离图像,并合并为3D时空张量,输入编码器-解码器结构中。该结构包含TCNet,3D八度卷积,和3D动作注意力模块,用于提取不同时间范围内的时空信息。输出为预测的距离图像,并进一步转化为3D点云。最后,对预测点云进行聚类和跟踪。

1. 点云到距离图像的投影和反投影

给定点p=(x,y,z)p=(x,y,z)p=(x,y,z),其在距离图像上的坐标为(u,v)(u,v)(u,v)
(u,v)=(12[1−arctan⁡(y/x)π]W,[1−arcsin⁡(z/r)+fupf]H)(u,v)=(\frac12[1-\frac{\arctan(y/x)}\pi]W,[1-\frac{\arcsin(z/r)+f_{up}}f]H)(u,v)=(21[1πarctan(y/x)]W,[1farcsin(z/r)+fup]H)

其中(H,W)(H,W)(H,W)为距离图像的分辨率,f=fup+∣fdown∣f=f_{up}+|f_{down}|f=fup+fdown为激光雷达的垂直视角范围。r=∥p∥2r=\|p\|_2r=p2为距离。若多个点投影到相同像素,则反投影时只保留最近点。

2. TSMNet

2.1 3D动作注意力

3D动作注意力包含3个子模块:时空刺激(STE)模块,通道刺激(CE)模块和运动刺激(ME)模块。设输入为X∈RN×T×C×H×WX\in\mathbb R^{N\times T\times C\times H\times W}XRN×T×C×H×W

  1. STE模块进行在通道维度进行均值池化并通过T,H,WT,H,WT,H,W维度的3D卷积得到XS∈RN×T×1×H×WX_S\in\mathbb R^{N\times T\times 1\times H\times W}XSRN×T×1×H×W,随后进行Sigmoid得到时空注意力图MSM_SMS,最后
    YS=X+X⊙MSY_S=X+X\odot M_SYS=X+XMS
  2. CE模块沿H,WH,WH,W维度进行均值池化,并通过一组卷积得到XC∈RN×T×C×1×1X_C\in\mathbb R^{N\times T\times C\times 1\times 1}XCRN×T×C×1×1,随后进行Sigmoid得到通道注意力图MCM_CMC,最后
    YC=X+X⊙MCY_C=X+X\odot M_CYC=X+XMC
  3. ME模块压缩通道维度得到XM∈RN×T×C′×H×WX_M\in\mathbb R^{N\times T\times C'\times H\times W}XMRN×T×C×H×W后,通过2D卷积得到XM∗X^*_MXM。把XMX_MXMXM∗X^*_MXM的过去T−1T-1T1帧距离图像取出并相减,并与全0图像(对应当前帧)拼接,得到XME∗∗∈RN×T×C′×H×WX^{**}_{ME}\in\mathbb R^{N\times T\times C'\times H\times W}XME∗∗RN×T×C×H×W。通过池化、卷积和Sigmoid函数后,得到运动注意力图MM∈RN×T×C×1×1M_M\in\mathbb R^{N\times T\times C\times 1\times 1}MMRN×T×C×1×1。最后
    YM=X+X⊙MMY_M=X+X\odot M_MYM=X+XMM
  4. 最后将子模块的输出求和并通过3D卷积,得到Y∈RN×T×C×H×WY\in\mathbb R^{N\times T\times C\times H\times W}YRN×T×C×H×W

2.2 3D八度卷积

在这里插入图片描述
3D八度卷积的通道包括低频通道与高频通道。低频通道占比α\alphaα,图像尺寸仅有高频通道的一半;高低频通道之间通过上下采样进行信息交互,如上图图所示。

2.3 编码器-解码器

本文从PPP帧过去点云的距离图像预测FFF帧未来点云的距离图像,即输入特征大小为(N,1,P,H,W)(N,1,P,H,W)(N,1,P,H,W),通道数为1,NNN为batch size。

编码器(由TCNet,3D八度卷积和3D动作注意力模块组成)以上述特征为输入。首先通过3D八度卷积(如2.2节图),之后3D动作注意力模块分别处理高频和低频特征,得到大小为(N,(1−α)C,P−t,Hh,Ww)(N,(1-\alpha)C,P-t,\frac Hh,\frac Ww)(N,(1α)C,Pt,hH,wW)的高频下采样特征和大小为(N,αC,P−t,H2h,W2w)(N,\alpha C,P-t,\frac H{2h},\frac W{2w})(N,αC,Pt,2hH,2wW)的低频下采样特征(ttt为减小的时间维数)。

解码器与编码器结构成镜像,将编码器输出的特征上采样特征到(N,2,F,H,W)(N,2,F,H,W)(N,2,F,H,W)。第一个通道表示距离,第二个通道表示点有效的可能性,仅该值大于0.5的点才会被保留。

3. 点云聚类和跟踪

首先移除地面点,随后进行聚类,得到聚类物体,最后进行跟踪得到物体的未来姿态和3D轨迹。
在这里插入图片描述
使用基于斜率的通道分类方法识别地面点
channels(pi)=arctan⁡(yi/xi)2π,bin(pi)=xi2+yi2−rmin⁡2πchannels(p_i)=\frac{\arctan(y_i/x_i)}{2\pi}, bin(p_i)=\frac{\sqrt{x_i^2+y_i^2}-r_{\min}}{2\pi}channels(pi)=2πarctan(yi/xi),bin(pi)=2πxi2+yi2rmin

其中rmin⁡r_{\min}rmin为来自自车的点不可见的半径,rmax⁡r_{\max}rmax为传感器有效范围。如下图所示,激光雷达点pi=(xi,yi,zi,Ii)p_i=(x_i,y_i,z_i,I_i)pi=(xi,yi,zi,Ii)被划分到不同极坐标网格内。地面高度范围[Thmin⁡,Thmax⁡][T_{h\min},T_{h\max}][Thmin,Thmax]由网格的局部最低点确定;根据相邻网格局部最低点之间的斜率是否超过斜率阈值TslopeT_{slope}Tslope,以及网格内局部最低点与其它点的高度差是否超过阈值ThT_hTh,可识别地面点。进一步通过连续性检查和中值过滤优化地面估计。
在这里插入图片描述
使用基于连通域的方法对非地面点进行聚类。首先将点转化为二值占用网格,选择其中一个网格作为中心网格,并检查所有邻域网格,分配相同的聚类ID。重复这一步骤,直到所有占用网格均有聚类ID。

使用基于IMM-UKF-JPDAF(交互式多模型-无迹卡尔曼滤波-联合概率数据关联滤波器)的方法进行跟踪;最后利用LSTM预测的车辆速度和朝向对跟踪目标进行轨迹管理。


文章转载自:

http://fe9H13l9.dnqpq.cn
http://6ex19BPB.dnqpq.cn
http://pfS7gLQS.dnqpq.cn
http://yIQMP0Md.dnqpq.cn
http://s85yDXbu.dnqpq.cn
http://Ir3TT3Yy.dnqpq.cn
http://9vJeKOQb.dnqpq.cn
http://aShJANhy.dnqpq.cn
http://EcdnNDL3.dnqpq.cn
http://u0HOCRtw.dnqpq.cn
http://RUpKQboX.dnqpq.cn
http://46eyv9lw.dnqpq.cn
http://p0gk9BST.dnqpq.cn
http://c8Jwh8BS.dnqpq.cn
http://dR2tNS63.dnqpq.cn
http://d4ZK8X3q.dnqpq.cn
http://gK4STcQK.dnqpq.cn
http://p3GHYE9F.dnqpq.cn
http://2OfqS4OB.dnqpq.cn
http://wUarlKAb.dnqpq.cn
http://7LdIeuNu.dnqpq.cn
http://1FMFZkVs.dnqpq.cn
http://f5uECMUC.dnqpq.cn
http://8DQbEnwX.dnqpq.cn
http://lGoAgvyo.dnqpq.cn
http://hmf70BS1.dnqpq.cn
http://5d4lLeWN.dnqpq.cn
http://tg3mOxrj.dnqpq.cn
http://XlyF3aLD.dnqpq.cn
http://jNhv9LIH.dnqpq.cn
http://www.dtcms.com/a/385310.html

相关文章:

  • MySQL数据库(四)—— 使用MyCat实现MySQL主从读写分离实战指南
  • HTB paper
  • oracle认证有哪几种?如何选择
  • YoloV8改进策略:上采样改进|反卷积|数学上可逆的反卷积」塞进 YOLOv8,涨点不涨参!图像恢复黑科技 Converse2D 的跨界奇袭!
  • springboot netty 服务端网络编程入门与实战
  • 从零开始学AI——15
  • Linux C库函数的可重入与不可重入版本说明
  • ZooKeeper核心知识点总结:分布式系统的“协调者”
  • Unreal故障艺术之RGB颜色分离故障
  • 金融数据---东方财富人气榜-A股
  • 设计模式详解——创建型
  • Java 泛型与通配符全解析
  • Python变量与数据类型全解析:从命名规则到类型转换
  • 了解篇 | StarRocks 是个什么数据库?
  • 风险控制规则引擎:从敏捷开发工具到管理逻辑的承载者
  • 基于Matlab深度学习的植物叶片智能识别系统及其应用
  • AI编程从0-1开发一个小程序
  • Android原生的TextToSpeech,文字合成语音并播放
  • 【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
  • 高德api使用
  • 工程造价指数指标分析:从数据采集到决策支撑的工程经济实践
  • 中控平台数据监控大屏
  • Vue 与 React 的区别?
  • 元图CAD:智能工程图纸解决方案的商业模型创新
  • MySQL 全量备份迁移步骤指南
  • 有关gitlab14.x版本在内网环境下无法添加webhooks的解决方法
  • O3.4 opencv摄像头跟踪
  • 数智管理学(五十二)
  • 121、【OS】【Nuttx】【周边】效果呈现方案解析:find 命令格式(上)
  • Python 3入门指南