HEAL 文件组织结构

136 阅读2分钟
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