注 : 此 文 是 解 析 的 是 p o i n t p i l l a r 不 是 s e c o n d \color{red}{注:此文是解析的是pointpillar不是second} 注:此文是解析的是pointpillar不是second
我们来看一下网络中的example是如何来的~
首先我们看一下example在哪里用到的,然后反推一下:

可以看到exaple是从eval_dataloader迭代器里面进行引用的,这是常规操作,然后看一下eval_dataloader的生成过程:
eval_dataloader = torch.utils.data.DataLoader(
eval_dataset,
batch_size=input_cfg.batch_size,
shuffle=False,
num_workers=input_cfg.num_workers,
pin_memory=False,
collate_fn=merge_second_batch)
然后我们看下eval_dataset是如何来的:
eval_dataset = input_reader_builder.build(
input_cfg,
model_cfg,
training=False,
voxel_generator=voxel_generator,
target_assigner=target_assigner)
这里来进行dataset的建立,我们传入了voxel_generator和target_assigner.
那就先看一下它俩:
1.voxel_generator:通过voxel_builder.build(model_cfg.voxel_generator)来建立,然后调用VoxelGenerator()这个类的构造函数定义一些函数等但是这里面的generate还没被调用,这里面定义好后后面会在input_reader_builder.build()里面用到,最终接收到的是A tensor dict based on the input_reader_config.;

本文深入解析了点云处理中的关键步骤,包括voxel生成、target assigner的构建,以及example的制作流程。在数据预处理阶段,点云数据经过VoxelGenerator转化为voxels,同时利用target assigner生成anchors。在网络输入的example中,包含了voxels、coordinates和num_points等关键信息。整个过程涉及数据读取、转换和目标分配,为后续的点云目标检测网络提供输入。
最低0.47元/天 解锁文章
1493





