VoxelNet论文理解
*[https://blog.csdn.net/weixin_40805392/article/details/99549300]
预处理(preprocess)(KITTI)
投影对称(相机、点云坐标不同)
TODO——没看懂。。。
计算点云到图像的投影矩阵需要三个参数,分别是P_rect(相机内参矩阵)和R_rect(参考相机0到相机xx图像平面的旋转矩阵)以及Tr_velo_to_cam(点云到相机的[R T]外参矩阵)。
计算投影矩阵
点云投影到图像?
TODO
裁剪(Crop)
数据分割(split)
用于后面训练使用——文件目录格式
Feature Learning Network
Voxel Partition
预处理后的点云数据为 D ( Z 轴 ) × H ( Y 轴 ) × W ( X 轴 ) D(Z轴)\times H(Y轴)\times W(X轴) D(Z轴)×H(Y轴)×W(X轴)
体素(voxel)定义为 v D × v H × v W v_{D}\times v_{H} \times v_{W} vD×vH×vW
总空间被划分为 D ′ × H ′ × W ′ D^{\prime} \times H^{\prime} \times W^{\prime} D′×H′×W′个体素
Grouping
将点云中的点包括到体素(voxel)中去,
Random Sampling
固定一个 T 为一个体素(voxel)中所能包含的最多的点。
即超过 T 个点的体素被随机降采样到 T 个点。
- 可以降低计算效率
- 空间中高密度的点(highly variable point density throughout the space)可能会让检测产生误差。
-
- 减少体素间点的不平衡,可以减小采样偏差,增加训练的可变性?(adds more variation
to training)。
- 减少体素间点的不平衡,可以减小采样偏差,增加训练的可变性?(adds more variation
Stacked Voxel Feature Encoding(VFE)
共n次叠加这个网络 VFE Layer -1 ~ VFE Layer-n,结构除输入输出外都一样。
VFE Layer -1 为例
V = { p i = [ x i , y i , z i , r i ] T ∈ R 4 } i = 1... t ( t ≤ T ) V = \left \{ p_{i}= [x_{i}, y_{i}, z_{i}, r_{i}]^{T} \in R^{4}\right \}_{i=1...t}\left ( t \le T\right ) V={
pi=[xi,yi,zi,ri]T∈R4}i=1...t(t≤T)
(x,y,z)—点在空间坐标 , r 点的反射率 , V是一个体素中所有点的集合
中心点
计算当前体素内的中心点(质心) ( v x , v y , v z ) (v_{x},v_{y},v_{z}) (vx,vy,vz)
增强每个点的特征
在每个点的特征中加入与中心点的相对偏移量(4维—7维)
V i n = { p ^ i = [ x i , y i , z i , r i , x i − v x , y i − v y , z i − v z ] T ∈ R 7 } i = 1... t V_{in}= \left \{ \hat p_{i}=[x_{i}, y_{i}, z_{i}, r_{i}, x_{i}−v_{x}, y_{i}−v_{y}, z_{i}−v_{z}]^{T} \in R^{7}\right \} _ {i=1...t} V