体素坐标(voxel_coors)在mmdetection3d中的理解
针对KITTI数据集举例。
1. 范围说明
point_cloud_range
[0, - 40, -3, 70.4, 40, 1]
voxel_size
vx = 0.05, vy = 0.05, vz = 0.1
canvas
- x = (70.4-0)/0.05 = 1408
- y = (40+40)/0.05 = 1600
- z = (1+3)/0.1 = 40
2. 体素划分
3. 体素坐标
体素坐标(voxel_coors) 按照batch_size, z, y, x
的顺序表示。
下图举例后三维(z, y, x)
的表示。
写在后面
由此可以理解下面这段代码:
# mmdet3d/models/voxel_encoders/voxel_encoder.py
indices = (
voxel_coors[:, 0] * canvas_z * canvas_y * canvas_x +
voxel_coors[:, 1] * canvas_y * canvas_x +
voxel_coors[:, 2] * canvas_x + voxel_coors[:, 3])