opencood-HEAL
data_utils
augmentor
augment_utils.py (点云翻转、旋转、拉伸数据增强)
data_augmentor.py (利用 augment_utils 写了一个点云数据增强类,输入是 data_dict)
datasets
basedataset
opv2v_basedataset.py
heterinfer
intermediate_heter_infer_fusion_dataset.py (inference_heter_in_order.py 中在做特征级融合时,会用这个数据集)
__init__.py (build_dataset)
early_fusion_dataset.py
intermediate_2stage_fusion_dataset.py
intermediate_fusion_dataset.py
intermediate_heter_fusion_dataset.py
late_fusion_dataset.py
late_heter_fusion_dataset.py
post_processor
__init__.py
base_postprocessor.py
bev_postprocessor.py
ciassd_postprocessor.py
fpvrcnn_postprocessor.py
uncertainty_voxel_postprocessor.py
voxel_postprocessor.py (3D Anchor Generator for Voxel)
pre_processor
__init__.py
base_preprocessor.py
bev_preprocessor.py
sp_voxel_preprocessor.py (Transform points to voxels using sparse conv library)
voxel_preprocessor.py
hypes_yaml
yaml_utils.py (读取配置文件,经常是 load_yaml + load_general_params 的组合)
readme.md (New Style Yaml and Old Style Yaml)
exemplar.yaml (详细的配置文件字段说明,想搞懂配置应该首先阅读这个文件!!)
opv2v
CameraOnly
camera_xxx.yaml (m2)
LiDAROnly
lidar_xxx.yaml (m1)
MoreModality
2_modality_end2end_training
lidar_camera_xxx.yaml (m1,m2)
3_modality_end2end_training
m1m2m3_xxx.yaml
4_modality_end2end_training
m1m2m3m4_xxx.yaml
HEAL
final_infer
m1m2m3m4.yaml
stage1 (base training)
m1_pyramid.yaml
m2_pyramid.yaml
m3_pyramid.yaml
m4_pyramid.yaml
stage2 (local training)
m1_single_pyramid.yaml
m2_single_pyramid.yaml
m3_single_pyramid.yaml
m4_single_pyramid.yaml
Single (no fusion)
m1_pointpillar_pretrain.yaml
m2_LSSeff48_pretrain.yaml
m3_SECOND32_pretrain.yaml
m4_LSSres48_pretrain.yaml
logs
heter_modality_assign (copy 一份过来,里面指定了某个 id 的车对应的 m1/m.. 种类,保证测试时的唯一性)
xxx (每次实验新建一个文件夹,放好配置文件,如果是测试,则把权重文件也放在同一个文件夹下)
loss
point_pillar_loss.py (Add direction classification loss. The originally point_pillar_loss.py, can not determine if the box heading is opposite to the GT.)
point_pillar_depth_loss.py (Depth Supervision)
point_pillar_pyramid_loss.py
point_pillar_disconet_loss.py (for disconet)
point_pillar_uncertainty_loss.py
uncertainty_loss_old.py
voxel_net_loss.py
pixor_loss.py
fpvrcnn_loss.py
ciassd_loss.py
center_point_loss.py
modality_assign
models
comm_modules
where2comm.py
fuse_modules
fuse_utils.py (def regroup(dense_feature, record_len, max_len): -> return regroup_features, mask) N, C, H, W -> B, L, C, H, W (L=max_len) mask 用来标记是不是车辆数 <max,然后 padding 出来的
fusion_in_one.py (类:ScaledDotProductAttention, MaxFusion, AttFusion, DiscoFusion, V2VNetFusion, V2XViTFusion, CoBEVT, Where2commFusion, Who2comFusion 函数:regroup, warp_feature)
pyramid_fuse.py
self_attn.py
swap_fusion_modules.py (MaxViT)
transformer_fuse.py (Implementation of transformer encoder fusion.)
transformer.py (Implementation of Simple transformer fusion.)
v2v_fuse.py (for v2vnet)
when2com_fuse.py (for when2com)
where2comm_attn.py (for where2comm)
sub_modules
此处省略n多子模块
heter_encoders.py (PointPillar, SECOND, LiftSplatShoot, LiftSplatShootVoxel)
heter_model_baseline_ms.py (Multiscale feature extraction and fusion.)
heter_model_baseline.py (Support multiple fusion strategies.)
heter_model_late.py
heter_pyramid_collab.py
heter_pyramid_single.py
lift_splat_shoot_xxx.py
pixor_xxx.py
point_pillar_xxx.py
second_xxx.py
center_point_xxx.py
ciassd.py
fpvrcnn.py
pcdet_utils (都是cpp写的工具类)
iou3d_nms
pointnet2
roiaware_pool3d
tools
profiler (里面是一些统计 FLOPs、Peak Memory 的工具类)
xxx.py
heal_tools.py (包含了将异质模型的权重合为一个的工具)
inference_heter_in_order.py (异质推理)
inference_utils.py
inference_w_noise.py
inference.py
multi_gpu_utils.py
pose_graph_evaluate.py
pose_graph_pre_calc.py
train_ddp.py
train_utils.py
train_w_kd.py
train.py
utils
xxx
visualization
xxx