AutoPlace: Robust Place Recognition with Single-chip Automotive Radar
Author: Kaiwen Cai†, Bing Wang§, Chris Xiaoxuan Lu
The proposed AutoPlace consistently outperforms a variety of competing approaches on the public nuScenes dataset [20], with code avaliable at: https: //github.com/ramdrop/AutoPlace.
1 核心idea
1.1 剔除运动目标点
因为目标任务说识别场景,所以需要将运动目标剔除(噪声点)。而radar点云的一大好处就是可以携带径向速度信息(目标到自车的连线方向)。
从公式出发,设自车速度为 v s v_s vs,被观测点 i i i的径向速度为 v r , i v_{r,i} vr,i,那么可以用下式描述:
$v_{r,i} = -v_scos(\alpha-\theta_i)$
首先分两种情况:
-
自车在当前场景是运动的状态
自车运动时,那么静止点也会具有一定的径向速度(相对运动),但是运动目标的径向速度并不是由自车提供的,所以可能与上式计算的结果有出入,这时运动目标就相当于离群值检测出来了
-
自车在当前场景是非运动的状态
自车在静止状态时,我们无法直接从当前信息中得到自车是运动还是静止,但是通过接受检测信息可以推断:如果大多数点(来自路面环境的静止点)的径向速度为0,那么自车大概率是静止的。同时通过这一信息也可以推断,径向速度非0的少数点应该来自于静止目标。
基于上述通过常识理论的讨论,作者们提出了一个DPR(Dynamic Points Removal)算法来找到运动目标的检测点以供后续剔除:
1.2 特征编码与暂时编码相结合
空间编码:传统2D图像编码
作者将点云转换为了bev图片,采取的方法是给含有点云的pixel赋值为1,否则值为0。空间编码的详细网络结构为虚线图内所示
暂时编码:解决不一致性
因为自车的移动关系,会出现有些点在后续的时间帧中丢失,也就是说在连续帧之间存在不一致性,所以以时间序列的形式作为输入,可以对这种不一致性做一个平滑。
因此在空间编码后接单层的LSTM,得到最终结果
损失函数
引用了NetVLAD的triplet loss function
L = ∑ k m a x { d E ( f ( q ) , f ( p ) ) − d E ( f ( q ) , f ( n k ) ) + m , 0 } L= ∑_k max\{d_E(f (q), f (p)) − d_E(f (q), f (n^k)) + m, 0\} L=∑kmax{ dE(f(q),f(p))−dE(f(q),f(nk))+m,0}
p , q p,q p,q分别为最匹配的sample和query sample,算得是欧氏距离
1.3 利用RCS相似度
RCS介绍
RCS是目标的反射特性,受目标的材料,大小和反射角度的影响。本文进一步利用了RCS来提升网络特性。
地理位置接近的地方应该有相似的RCS直方图,且不受天气和照明条件的影响。因此文中用两个目标(场景)之间的RCS直方图进一步提升了场景之间的对比
计算
损失函数:
k k k 是直方图bin的下标
整个网络的loss函数改写为:
效果: 利用直方图,重新排列后的candidate中最佳匹配的样本得到了top-1的结果