原文链接:https://mp.weixin.qq.com/s?__biz=Mzg4MjgxMjgyMg==&mid=2247486296&idx=1&sn=593f29ee45f66782e90b247b635696d1&chksm=cf51b9a1f82630b7c6ac427f98bb03c18015b6b1865fec22a8c2465768c6fdf463a5c81ef305#rd
无线感知论文阅读笔记 | TRS 2023, DeepEgo: Deep Instantaneous Ego-Motion Estimation Using Automotive Radar
目标
Propose DeepEgo for robust and accurate estimation
Experiments
背景
高级驾驶系统(ADS)需要实时的自我运动估计
传统方法(如IMU、车轮编码器和GPS)存在诸多问题 ⇒ \Rightarrow ⇒ 采用其他传感器技术(如摄像头、激光雷达、合成孔径声纳、扫描雷达或汽车雷达)进行自我运动估计
汽车雷达具有一定优势
✅ 如适应各种天气和照明条件、对线视遮挡的敏感性较低、轻量化、低成本和紧凑
❌ 尽管汽车雷达具有潜在优势,但仍存在挑战,如较少的几何特征、假正例、漏检、雷达截面波动、多路径反射和互干扰等。
本文:DeepEgo
基于神经网络的端到端自我运动估计解决方案,避免了具有挑战性的数据关联任务
提出了一种混合方法:
神经网络学习如何加权雷达点云中的每个点
加权最小二乘法(WLS)用于计算最终的估计结果
提出了一种新颖的损失函数: 多普勒损失
多普勒损失可以帮助网络自动定位雷达点云中的“内点”,而无需手动标注 ⇒ \Rightarrow ⇒ important to WLS
实验
使用具有挑战性的真实汽车雷达数据集RadarScenes, 与6个baselines比较
Improves accuracy by over 50%
章节安排
使用汽车雷达进行自我运动估计
点云深度学习
✅ believe point-based methods are more suitable for preserving precise geometry, processing automotive radar data
本文考虑多维雷达点云 P t , n J × M P^{J×M}_{t,n} Pt,nJ×M
车辆运动状态: e c = [ v x c , v y c , ω c ] e_c = [v^c_x, v^c_y, \omega^c] ec=[vxc,vyc,ωc]
2D坐标系的原点位于车辆质心处,x轴方向与车辆的距离方向运动一致,y轴方向与车辆的横向运动一致
汽车雷达
雷达测量的是它自身与检测对象之间的相对运动 ⇒ \Rightarrow ⇒ 可将车辆坐标系中的自我运动转换到雷达坐标系
对于雷达坐标系,通常假设x轴方向与雷达的视线方向一致
雷达 n n n的2D运动状态: e n = [ v x n , v y n , ω n ] e_n = [v^n_x, v^n_y, \omega^n] en=[vxn,vyn,ωn]
✅ v x n v^n_x vxn 距离方向速度
✅ v y n v^n_y vyn 横向速度
✅ ω n \omega^n ωn 旋转速度
ω n = ω c \omega_n = \omega_c ωn=ωc: 刚体上的所有点经历相同的角速度
因此, 运动状态 e c e_c ec和 e n e_n en之间的转换可以表示为:
[ v x n v y n ω n ] = [ cos ( θ n c ) sin ( θ n c ) 0 − sin ( θ n c ) cos ( θ n c ) 0 0 0 1 ] [ 1 0 − y n c 0 1 x n c 0 0 1 ] [ v x c v y c ω c ] 等式 1 \left[\begin{array}{c}v_x^{\mathbf{n}} \\ v_y^{\mathbf{n}} \\ \omega^{\mathbf{n}}\end{array}\right]=\left[\begin{array}{ccc}\cos \left(\theta_{\mathbf{n}}^c\right) & \sin \left(\theta_{\mathbf{n}}^c\right) & 0 \\ -\sin \left(\theta_{\mathbf{n}}^c\right) & \cos \left(\theta_{\mathbf{n}}^c\right) & 0 \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{ccc}1 & 0 & -y_n^c \\ 0 & 1 & x_n^c \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{c}v_x^{\mathbf{c}} \\ v_y^{\mathbf{c}} \\ \omega^{\mathbf{c}}\end{array}\right] 等式1 vxnvynωn = cos(θnc)−sin(θnc)0sin(θnc)cos(θnc)0001 100010−yncxnc1 vxcvycωc 等式1
可见:如果可以估计雷达的运动状态,则可以获得车辆的自身运动
雷达运动状态估计 :利用检测到的静止物体的测量径向速度和到达角信息来实现
结论:
1 给定至少两个独立的检测点( J ≥ 2 J \geq 2 J≥2),可以使用标准回归方法(如最小二乘法)来估计 v x n v^n_x vxn和 v y n v^n_y vyn:
✅ V e s t = ( A T A ) − 1 A T D V_{est} = (A^T A)^{-1} A^T D Vest=(ATA)−1ATD
❌ 最小二乘法对异常值非常敏感
❌ radar PCD中异常值常见
2 假设 v y c = 0 v^c_y = 0 vyc=0 (无横向运动),已知 v x n v^n_x vxn和 v y n v^n_y vyn的估计以及雷达位置 [ x n c , y n c , θ n c ] [x^c_n, y^c_n, \theta^c_n] [xnc,ync,θnc],根据等式1可以计算出车辆的自身运动:
✅ v x c = v x n cos ( θ n c ) − v y n sin ( θ n c ) + ω c y n c ω c = v y n cos ( θ n c ) + v x n sin ( θ n c ) x n c \begin{aligned} v_x^{\mathbf{c}} & =v_x^{\mathbf{n}} \cos \left(\theta_{\mathbf{n}}^c\right)-v_y^{\mathbf{n}} \sin \left(\theta_{\mathbf{n}}^c\right)+\omega^{\mathbf{c}} y_{\mathbf{n}}^c \\ \omega^{\mathbf{c}} & =\frac{v_y^{\mathbf{n}} \cos \left(\theta_{\mathbf{n}}^c\right)+v_x^{\mathbf{n}} \sin \left(\theta_{\mathbf{n}}^c\right)}{x_{\mathbf{n}}^c}\end{aligned} vxcωc=vxncos(θnc)−vynsin(θnc)+ωcync=xncvyncos(θnc)+vxnsin(θnc)
要解决的问题:如何尽可能准确地估计 v x n v^n_x vxn和 v y n v^n_y vyn + 考虑雷达点云中存在的异常值。
系统架构
DeepEgo网络结构
点间权重的意义:直接缩小异常值造成的大的拟合误差
点间偏移的意义:进一步减小 “远处”异常值引起的误差
损失函数
运动损失:
L o s s M o t i o n = 1 B ∑ b = 1 B ∥ V g t b − V e s t b ∥ 2 Loss_{Motion} = \frac{1}{B}\sum_{b=1}^{B}\|V_{gt}^b - V_{est}^b\|^2 LossMotion=B1∑b=1B∥Vgtb−Vestb∥2
仅使用运动损失进行训练的一个直接后果:
✅ 模型倾向于在少数几个点(异常值)上过拟合,而忽略许多内点
多普勒损失
❌ 前提假设: 即所有检测到的静止物体的径向速度测量都遵循等式2
✅ 为了减轻“坏”训练样本的影响,本文提出了样本权重对每个训练数据进行单独加权
样本权重
总loss
Shared MLP
Data processing
Network training
Multiple radars
雷达数据集
数据统计
评估指标
APE
RTE
Compared methods
most competitive NDT method
用于比较的五个场景
Translation velocity estimation
Rotation velocity estimation
Long-term stability
Runtime
Visualized trajectories
全数据集结果
误差分析
✅ 这对行车安全更重要
Summary of paper
Propose DeepEgo for radar ego-motion estimation
✅ Hybrid architecture: NN feature extraction + WLS estimation
✅ Can directly process multi-dim point clouds, end-to-end trainable
✅ Provides pointwise weights associated with motion
Outperforms others on real dataset
Future work