原文链接:https://ieeexplore.ieee.org/abstract/document/10446596/
1. 引言
激光雷达数据通常包含大量3D稀疏点,导致本地存储和网络投递具有挑战性。因此,有效压缩激光雷达点云意义重大。
过去的方法在相对密集的3D室内点云中进行了有效压缩,但在非均匀分布的激光雷达点云上压缩有限。有方法将3D激光雷达点云投影到距离视图上得到2D表达,然后使用2D压缩技术压缩。BEV图像的压缩也可行,但垂直方向上的遮挡会导致几何信息损失。总的来说,目前的方法都使用显式表达进行压缩。
本文的方法称为NeRI,使用隐式神经表达(INR),用神经网络建模激光雷达点云的距离图像序列。解码时,给定任意时间帧索引和激光雷达的空间姿态,NeRI可以输出重建的距离图像,并进一步还原为点云。
2. 方法
2.1 时空位置编码
记视频序列为 V = { v t } t = 1 T V=\{v_t\}_{t=1}^T V={vt}t=1T,其中 T T T为总帧数。过去的视频压缩方法证明了可将时间 t t t映射到高维嵌入空间,作为神经网络 f θ f_\theta fθ的输入,从而得到视频帧: v t = f θ ( t ) v_t=f_\theta(t) vt=fθ(t)。
与视频不同,激光雷达传感器的轨迹通常是已知的,可使用各时刻激光雷达姿态作为先验促进处理。因此,NeRI的输入分为3部分:时间 t t t,空间平移 T t = ( x , y , z ) T_t=(x,y,z) Tt=(x,y,z)和空间旋转 R t = ( α , β , ν ) R_t=(\alpha,\beta,\nu) Rt=(α,β,ν)。注意空间平移与旋转是相对于全局坐标系的,表示了激光雷达的位置和朝向。记距离图像序列表达为 { I t } t = 1 T \{I_t\}_{t=1}^T {It}t=1T,有 I t = f θ ( t , T t , R t ) I_t=f_\theta(t,T_t,R_t) It=fθ(t,Tt,Rt),其中 f θ f_\theta fθ为NeRI网络。
由网络表达式可见,本文方法需要逐场景训练。
此后,参考NeRF,对三个输入进行位置编码,并将位置编码结果堆叠输入网络,生成距离图像序列。
2.2 距离图像投影
距离图像的行为激光雷达激光束的俯仰角,而列为水平角。距离测量被存储于距离图像的单元格内。如下图所示。
给定帧
p
p
p中某点的3D坐标
(
x
p
,
y
p
,
z
p
)
(x_p,y_p,z_p)
(xp,yp,zp),可按下式得到其距离
r
p
r_p
rp,水平角
θ
p
\theta_p
θp和俯仰角
ϕ
p
\phi_p
ϕp:
{
r
p
=
x
p
2
+
y
p
2
+
z
p
2
,
θ
p
=
arctan
(
x
p
/
y
p
)
,
ϕ
p
=
arcsin
(
z
p
/
r
p
)
.
\begin{cases}r_p=\sqrt{x_p^2+y_p^2+z_p^2},\\\theta_p=\arctan(x_p/y_p),\\\phi_p=\arcsin(z_p/r_p). \end{cases}
⎩
⎨
⎧rp=xp2+yp2+zp2,θp=arctan(xp/yp),ϕp=arcsin(zp/rp).
使用激光雷达传感器的参数,包括水平视野 F O V h FOV_h FOVh,垂直最大角 ϕ max \phi_{\max} ϕmax,垂直最小角 ϕ min \phi_{\min} ϕmin,垂直光束数 N N N和水平角分辨率 ρ \rho ρ,可得到分辨率为 ( w , h ) (w,h) (w,h)的图像,其中 w = [ F O V h / ρ ] , h = N w=[FOV_h/\rho],h=N w=[FOVh/ρ],h=N, [ ⋅ ] [\cdot] [⋅]为取整操作。
点
(
r
p
,
θ
p
,
ϕ
p
)
(r_p,\theta_p,\phi_p)
(rp,θp,ϕp)在距离图像上的像素索引为
{
u
p
=
[
θ
p
w
F
O
V
h
]
,
v
p
=
[
(
ϕ
p
−
ϕ
min
)
/
ϕ
max
−
ϕ
min
h
−
1
]
.
\begin{cases}u_p=[\frac{\theta_pw}{FOV_h}],\\v_p=[(\phi_p-\phi_{\min})/\frac{\phi_{\max}-\phi_{\min}}{h-1}].\end{cases}
{up=[FOVhθpw],vp=[(ϕp−ϕmin)/h−1ϕmax−ϕmin].
2.3 网络优化和量化
本文以自监督方式训练模型,使得生成的距离图像尽可能接近原始距离图像:
L
1
=
1
T
∑
i
∣
y
t
−
f
θ
(
t
,
T
t
,
R
t
)
∣
L_1=\frac1T\sum_i|y_t-f_\theta(t,T_t,R_t)|
L1=T1i∑∣yt−fθ(t,Tt,Rt)∣
其中 T T T为总帧数, y t y_t yt为投影的距离图像。
然后,浮点型网络参数被量化为低比特精度,以减小比特率消耗。直接均匀量化(UQ)会导致极大的量化误差:
U
Q
(
w
;
b
,
w
l
,
w
u
,
z
)
=
s
×
w
q
+
z
,
w
q
=
[
min
(
max
(
w
,
w
u
)
,
w
l
)
−
z
s
]
,
s
=
w
u
−
w
l
2
b
−
1
UQ(w;b,w_l,w_u,z)=s\times w_q+z,\\w_q=[\frac{\min(\max(w,w_u),w_l)-z}{s}],s=\frac{w_u-w_l}{2^b-1}
UQ(w;b,wl,wu,z)=s×wq+z,wq=[smin(max(w,wu),wl)−z],s=2b−1wu−wl
其中 [ w l , w u ] [w_l,w_u] [wl,wu]为量化范围, s s s为缩放因数, w q w_q wq为量化整数, z z z为偏移量(默认为0)。
考虑到参数的钟形分布,本文使用分段线性量化(PWLQ),将量化范围
[
−
m
,
m
]
[-m,m]
[−m,m]分割为两个对称区域:
R
1
=
[
−
p
,
p
]
,
R
2
=
[
−
m
,
−
p
)
∪
(
p
,
m
]
R_1=[-p,p],R_2=[-m,-p)\cup(p,m]
R1=[−p,p],R2=[−m,−p)∪(p,m],然后执行
b
b
b位量化:
P
W
L
Q
(
w
;
b
,
m
,
p
)
=
{
sgn
(
w
)
⋅
U
Q
(
∣
w
∣
;
b
−
1
,
0
,
p
,
0
)
,
w
∈
R
1
sgn
(
w
)
⋅
U
Q
(
∣
w
∣
;
b
−
1
,
p
,
m
,
p
)
,
w
∈
R
2
PWLQ(w;b,m,p)=\begin{cases}\text{sgn}(w)\cdot UQ(|w|;b-1,0,p,0),&w\in R_1\\\text{sgn}(w)\cdot UQ(|w|;b-1,p,m,p),&w\in R_2\end{cases}
PWLQ(w;b,m,p)={sgn(w)⋅UQ(∣w∣;b−1,0,p,0),sgn(w)⋅UQ(∣w∣;b−1,p,m,p),w∈R1w∈R2
其中 w w w为模型参数, sgn ( ⋅ ) \text{sgn}(\cdot) sgn(⋅)为符号函数。最优断点 p p p通过最小化期望平方量化误差估计得到。最后,使用赫夫曼编码对量化参数进行无损压缩。
3. 实验结果与分析
如上图所示,本文使用MLP与上采样(卷积+像素打乱+SiLU激活函数)的混合结构网络。
3.2 总体性能
与现有方法相比,NeRI能达到更高的性能,且解码速度更快。虽然编码(网络拟合)速度比显式表达方法更慢,但比其余INR方法更快。
3.3 消融研究
位置编码:保证嵌入总长一致的情况下,改变输入各部分的嵌入长度,可知若不考虑时间编码或空间编码,性能会有所下降。
量化:使用更大的参数大小有更高的重建精度。在相同的比特深度下,UQ量化的比特率比PWLQ的比特率更高,说明PWLQ的压缩效率高。随比特深度下降,UQ量化的性能急剧下降,而PWLQ量化的性能下降更为平缓。此外,UQ量化的性能波动明显,难以确定最优配置,而PWLQ量化更加鲁棒。