【论文笔记】LiDAR Iris for Loop-Closure Detection
~~~~ ~~~ 在本文中,提出了一种称为 LiDAR Iris 的 LiDAR 点云全局描述符,用于快速准确的闭环检测。在对 LiDAR-Iris 图像表示进行多次 LoG-Gabor 滤波和阈值操作后,可以获得每个点云的二进制签名图像。给定两个点云,它们的相似度可以计算为分别从两个点云中提取的两个对应二进制签名图像的汉明距离。如果假设是 3D (x,y,yaw) 姿态空间,我们的 LiDAR-Iris 方法可以在描述符级别通过 LiDAR-Iris 表示的傅立叶变换实现姿态不变回环检测,尽管我们的方法通常可以应用于通过使用额外的 IMU 传感器重新对齐点云来构建 6D 姿态空间。五个道路场景序列的实验结果证明了其在闭环检测中的优异性能。
现状
~~~~ ~~~ 目前激光的全局或者局部描述子的描述能力和不变性能里仍然有所欠缺,虽然Scan-Context的提出,很大程度上缓解了这个问题,但是Scan-Context本身仍然有一些缺陷,一是它只利用了最大的高度,丢失了很多点云信息,二是Scan-Context不具有旋转不变性,需要进行暴力匹配,三是Scan-Context缺少特征提取步骤。IRIS一一解决了上述缺陷。
本文贡献
~~~
~~~
1.提出了一个LiDAR点云的全局描述符LiDAR Iris,将一个地方总结为在LiDAR-Iris图像表示上进行几次Gabor过滤和阈值操作后获得的二进制签名图像, 充分利用了点云的大部分信息。
2.该全局描述符具有旋转不变性,避免了暴力搜索,节约了计算资源。
3.与现有的LIDAR全局描述符相比,该描述符的性能达到了SOTA。
方法
~~~~ ~~~ Lidar Iris描述符的生成理论上可以分解为4个步骤: 一是离散化鸟瞰图像;二是对离散后的图像进行编码;三是生成Lidar-Iris图像;四是对图像执行二值化。执行上可以分解为三个模块,一是生成Lidar-Iris图像的表示;二是通过傅立叶变换使得Lidar-Iris具有平移不变性;三是基于LoG-Gabor滤波器的二值特征提取。
1.Lidar-Iris图像的表示的生成
~~~~
~~~
首先将点云转换为鸟瞰图,过程示意图如下。具体过程是保留一个面积为k×k的正方形作为有效感应区,激光雷达的位置作为正方形的中心。以这个正方形为单位,将点云离散为80(径向) * 360(角向)的bin,
B
i
j
,
i
∈
[
1
,
80
]
;
j
∈
[
1
,
360
]
B_i^j,i ∈ [1,80]; j ∈ [1,360]
Bij,i∈[1,80];j∈[1,360],角分辨率为1°,径向分辨率为1m(如图3所示)。
为了完整地表示点云,对每个面元内的点采用一些特征提取方法,如高度、距离、反射、环等。为简单起见,使用八位二进制代码对同一个bin内的所有点进行编码。以高度的编码方法举例,对于每一个bin内的点云集,首先按照高度的大小顺序,线性离散为8个bin,并不是每个bin都会有点,有点的bin值为1,否则为0,从而可以获得上图中的8位二进制编码。
仿照虹膜识别算法,Lidar-IRIS将激光雷达的鸟瞰图扩展为图像条,Lidar-IRIS图像的像素强度为每个bin的8位二进制数所转换的十进制数。一方面,与现有的基于直方图的全局描述符相比,所提出的编码过程不需要对每个bin中的点进行计数,从而提高了计算效率;另一方面,该编码过程是固定的,不需要像CNNs模型那样预训练。这时候的描述子尚未具有平移不变性,下面会通过傅立叶变换使得描述子具有平移不变性。
2.对于具有平移不变性Lidar-Iris的傅立叶变换
~~~~
~~~
平移变化会导致基于激光雷达的闭环检测的Lidar-IRIS描述子的显著退化。为了解决这个问题,采用傅里叶变换来估计两幅Lidar-IRIS图像之间的平移。基于傅里叶变换的方案能够估计大的旋转、缩放和平移(用不到缩放)。点云的旋转对应于经过傅里叶变换后的Lidar-IRIS图像的水平平移, 点云的平移不仅对应傅里叶变换后的 LiDAR-Iris 图像的垂直平移,还会引起Lidar-IRIS图像像素强度的轻微变化, 但是Lidar-IRIS以bin为最小单位保留了点云的绝对内部结构,提高了辨别能力并且对图像像素强度的变化具有鲁棒性, 所以可以忽略由机器人在小范围内平移引起的 LiDAR-Iris 图像中强度的变化。
假设两个Lidar-IRIS图像仅仅差别一个位移:
那么这两个图像之间的傅立叶变换可以定义为:
其中 ∗ 表示复共轭。取傅里叶逆变换
C
o
r
r
(
x
;
y
)
=
F
−
1
(
C
o
r
r
^
)
=
δ
(
x
−
δ
x
;
y
−
δ
y
)
Corr(x;y) = F^{−1}(\hat{Corr} ) = δ(x − δ_x;y − δ_y )
Corr(x;y)=F−1(Corr^)=δ(x−δx;y−δy),意味着 Corr(x;y) 仅在
(
δ
x
,
δ
y
)
=
a
r
g
m
a
x
x
,
y
C
o
r
r
(
x
;
y
)
(δx,δy) = argmax_{x,y}Corr(x;y)
(δx,δy)=argmaxx,yCorr(x;y) 处非零。
3.基于LoG-Gabor滤波器的二值特征提取
~~~~
~~~
使用LoG-Gabor滤波器从Lidar-IRIS图像中深入提取特征: LoG-Gabor滤波器可用于将Lidar-IRIS区域中的数据分解为以不同分辨率出现的分量,与传统的傅里叶变换相比,它的优势在于允许频率数据局部化,允许在相同位置和分辨率进行特征匹配。为了确保实时性,仅使用1D LoG Gabor滤波器。一维Log-Gabor滤波器的频率响应如下:
利用八个1D LoG Gabor滤波器对Lidar-IRIS图像的每一行进行卷积,其中滤波器的波长增加相同的因子,从而得到每个滤波器的实部和虚部。在下图中,第一幅图像显示了八个1D log-Gabor滤波器,第二幅图像显示了前四个滤波器卷积响应的实部和虚部:
尝试使用不同数量的LoG-Gabor滤波器进行特征提取,实验中发现四个LoG-Gabor滤波器可以在较低的计算成本下实现最佳的闭环检测精度。下图显示了使用不同数量的LoG-Gabor滤波器可以在验证集上实现的精度,其中使用四个滤波器的结果是最好的。通过简单的阈值运算,将四个滤波器的卷积响应转化为二值,从而将它们叠加到每个Lidar-IRIS图像的大型二值特征图中。上图的第三幅图像显示了激光雷达虹膜图像的一个二值特征图。
4.使用Lidar-IRIS的闭环检测
~~~~ ~~~ 为了将Lidar-IRIS应用于闭环检测,为每个点云生成一个Lidar-IRIS的二值特征图。因此,可以保存所有关键帧获取的Lidar-IRIS二进制特征的历史数据库。当前关键帧和每个历史关键帧的Lidar-IRIS二值特征贴图之间的距离由汉明距离计算。如果获得的汉明距离小于阈值,则将其视为闭环。
结论
~~~ ~~~ Lidar-IRIS和Scan-Context的思路是比较相似的,总体上对Scan-Context进行了改进,一是改进了Scan-Context只利用了点云最大高度的问题,二是解决了Scan-Context对于平移不变性需要使用暴力搜索的问题,论文中的实验性能明显高于Scan-Context,实际效果需要运行后测试。