本项目为基于Python的mmdetection3d设计源码,旨在同步官方最新版本。项目包含800个文件,涵盖各类文件类型,包括520个Python源文件、98个Markdown文件、36个YAML文件、25个二进制文件、19个Python pickle文件、17个文本文件、16个PNG图片文件、16个JSON文件、10个Shell脚本文件、10个ReStructuredText文件。该源码同步旨在为用户提供最新、最稳定的mmdetection3d版本,适用于需要进行3D目标检测和分割的复杂场景。
目录结构
├── .circleci
├── config.yml
├── docker
├── Dockerfile
├── test.yml
├── .dev_scripts
├── benchmark_full_models.txt
├── benchmark_options.py
├── benchmark_train_models.txt
├── covignore.cfg
├── diff_coverage_test.sh
├── gather_models.py
├── gen_benchmark_script.py
├── linter.sh
├── test_benchmark.sh
├── train_benchmark.sh
├── .github
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
├── 1-bug-report.yml
├── 2-feature_request.yml
├── 3-new-model.yml
├── 4-documentation.yml
├── config.yml
├── pull_request_template.md
├── workflows
├── deploy.yml
├── lint.yml
├── merge_stage_test.yml
├── pr_stage_test.yml
├── test_mim.yml
├── .gitignore
├── .pre-commit-config-zh-cn.yaml
├── .pre-commit-config.yaml
├── .readthedocs.yml
├── CITATION.cff
├── LICENSE
├── MANIFEST.in
├── README_zh-CN.md
├── configs
├── 3dssd
├── 3dssd_4xb4_kitti-3d-car.py
├── metafile.yml
├── _base_
├── datasets
├── kitti-3d-3class.py
├── kitti-3d-car.py
├── kitti-mono3d.py
├── lyft-3d-range100.py
├── lyft-3d.py
├── nuim-instance.py
├── nus-3d.py
├── nus-mono3d.py
├── s3dis-3d.py
├── s3dis-seg.py
├── scannet-3d.py
├── scannet-seg.py
├── semantickitti.py
├── sunrgbd-3d.py
├── waymoD3-fov-mono3d-3class.py
├── waymoD3-mv-mono3d-3class.py
├── waymoD5-3d-3class.py
├── waymoD5-3d-car.py
├── waymoD5-fov-mono3d-3class.py
├── waymoD5-mv-mono3d-3class.py
├── waymoD5-mv3d-3class.py
├── default_runtime.py
├── models
├── 3dssd.py
├── cascade-mask-rcnn_r50_fpn.py
├── centerpoint_pillar02_second_secfpn_nus.py
├── centerpoint_voxel01_second_secfpn_nus.py
├── cylinder3d.py
├── dgcnn.py
├── fcaf3d.py
├── fcos3d.py
├── groupfree3d.py
├── h3dnet.py
├── imvotenet.py
├── mask-rcnn_r50_fpn.py
├── minkunet.py
├── multiview_dfm.py
├── paconv_ssg-cuda.py
├── paconv_ssg.py
├── parta2.py
├── pgd.py
├── point_rcnn.py
├── pointnet2_msg.py
├── pointnet2_ssg.py
├── pointpillars_hv_fpn_lyft.py
├── pointpillars_hv_fpn_nus.py
├── pointpillars_hv_fpn_range100_lyft.py
├── pointpillars_hv_secfpn_kitti.py
├── pointpillars_hv_secfpn_waymo.py
├── second_hv_secfpn_kitti.py
├── second_hv_secfpn_waymo.py
├── smoke.py
├── spvcnn.py
├── votenet.py
├── schedules
├── cosine.py
├── cyclic-20e.py
├── cyclic-40e.py
├── mmdet-schedule-1x.py
├── schedule-2x.py
├── schedule-3x.py
├── seg-cosine-100e.py
├── seg-cosine-150e.py
├── seg-cosine-200e.py
├── seg-cosine-50e.py
├── benchmark
├── hv_PartA2_secfpn_4x8_cyclic_80e_pcdet_kitti-3d-3class.py
├── hv_pointpillars_secfpn_3x8_100e_det3d_kitti-3d-car.py
├── hv_pointpillars_secfpn_4x8_80e_pcdet_kitti-3d-3class.py
├── hv_second_secfpn_4x8_80e_pcdet_kitti-3d-3class.py
├── centerpoint
├── centerpoint_pillar02_second_secfpn_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_pillar02_second_secfpn_head-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_pillar02_second_secfpn_head-dcn-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_pillar02_second_secfpn_head-dcn_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-dcn-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-dcn-circlenms_8xb4-flip-tta-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-dcn_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-dcn_8xb4-flip-tta-cyclic-20e_nus-3d.py
├── centerpoint_voxel0075_second_secfpn_head-dcn_8xb4-tta-cyclic-20e_nus-3d.py
├── centerpoint_voxel01_second_secfpn_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel01_second_secfpn_head-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel01_second_secfpn_head-dcn-circlenms_8xb4-cyclic-20e_nus-3d.py
├── centerpoint_voxel01_second_secfpn_head-dcn_8xb4-cyclic-20e_nus-3d.py
├── metafile.yml
├── cylinder3d
├── cylinder3d_4xb4-3x_semantickitti.py
├── cylinder3d_8xb2-laser-polar-mix-3x_semantickitti.py
├── metafile.yml
├── dgcnn
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area1.py
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area2.py
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area3.py
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area4.py
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area5.py
├── dgcnn_4xb32-cosine-100e_s3dis-seg_test-area6.py
├── metafile.yml
├── dynamic_voxelization
├── metafile.yml
├── pointpillars_dv_secfpn_8xb6-160e_kitti-3d-car.py
├── second_dv_secfpn_8xb2-cosine-80e_kitti-3d-3class.py
├── second_dv_secfpn_8xb6-80e_kitti-3d-car.py
├── fcaf3d
├── fcaf3d_2xb8_s3dis-3d-5class.py
├── fcaf3d_2xb8_scannet-3d-18class.py
├── fcaf3d_2xb8_sunrgbd-3d-10class.py
├── metafile.yml
├── fcos3d
├── fcos3d_r101-caffe-dcn_fpn_head-gn_8xb2-1x_nus-mono3d.py
├── fcos3d_r101-caffe-dcn_fpn_head-gn_8xb2-1x_nus-mono3d_finetune.py
├── metafile.yml
├── free_anchor
├── metafile.yml
├── pointpillars_hv_fpn_head-free-anchor_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-1.6gf_fpn_head-free-anchor_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-1.6gf_fpn_head-free-anchor_sbn-all_8xb4-strong-aug-3x_nus-3d.py
├── pointpillars_hv_regnet-3.2gf_fpn_head-free-anchor_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-3.2gf_fpn_head-free-anchor_sbn-all_8xb4-strong-aug-3x_nus-3d.py
├── pointpillars_hv_regnet-400mf_fpn_head-free-anchor_sbn-all_8xb4-2x_nus-3d.py
├── groupfree3d
├── groupfree3d_head-L12-O256_4xb8_scannet-seg.py
├── groupfree3d_head-L6-O256_4xb8_scannet-seg.py
├── groupfree3d_w2x-head-L12-O256_4xb8_scannet-seg.py
├── groupfree3d_w2x-head-L12-O512_4xb8_scannet-seg.py
├── metafile.yml
├── h3dnet
├── h3dnet_8xb3_scannet-seg.py
├── metafile.yml
├── imvotenet
├── imvotenet_faster-rcnn-r50_fpn_4xb2_sunrgbd-3d.py
├── imvotenet_stage2_8xb16_sunrgbd-3d.py
├── metafile.yml
├── imvoxelnet
├── imvoxelnet_2xb4_sunrgbd-3d-10class.py
├── imvoxelnet_8xb4_kitti-3d-car.py
├── metafile.yml
├── minkunet
├── metafile.yml
├── minkunet18_w16_torchsparse_8xb2-amp-15e_semantickitti.py
├── minkunet18_w20_torchsparse_8xb2-amp-15e_semantickitti.py
├── minkunet18_w32_torchsparse_8xb2-amp-15e_semantickitti.py
├── minkunet34_w32_minkowski_8xb2-laser-polar-mix-3x_semantickitti.py
├── minkunet34_w32_spconv_8xb2-amp-laser-polar-mix-3x_semantickitti.py
├── minkunet34_w32_spconv_8xb2-laser-polar-mix-3x_semantickitti.py
├── minkunet34_w32_torchsparse_8xb2-amp-laser-polar-mix-3x_semantickitti.py
├── minkunet34_w32_torchsparse_8xb2-laser-polar-mix-3x_semantickitti.py
├── minkunet34v2_w32_torchsparse_8xb2-amp-laser-polar-mix-3x_semantickitti.py
├── monoflex
├── metafile.yml
├── mvfcos3d
├── multiview-fcos3d_r101-dcn_8xb2_waymoD5-3d-3class.py
├── multiview-fcos3d_r101-dcn_centerhead_16xb2_waymoD5-3d-3class.py
├── mvxnet
├── metafile.yml
├── mvxnet_fpn_dv_second_secfpn_8xb2-80e_kitti-3d-3class.py
├── nuimages
├── cascade-mask-rcnn-r50-fpn_coco-20e_nuim.py
├── cascade-mask-rcnn_r101_fpn_1x_nuim.py
├── cascade-mask-rcnn_r50_fpn_1x_nuim.py
├── cascade-mask-rcnn_r50_fpn_coco-20e-1x_nuim.py
├── cascade-mask-rcnn_x101_32x4d_fpn_1x_nuim.py
├── htc_r50_fpn_1x_nuim.py
├── htc_r50_fpn_coco-20e-1x_nuim.py
├── htc_r50_fpn_coco-20e_nuim.py
├── htc_r50_fpn_head-without-semantic_1x_nuim.py
├── htc_x101_64x4d_fpn_dconv_c3-c5_coco-20e-1xb16_nuim.py
├── mask-rcnn_r101_fpn_1x_nuim.py
├── mask-rcnn_r50_caffe_fpn_1x_nuim.py
├── mask-rcnn_r50_caffe_fpn_coco-3x_1x_nuim.py
├── mask-rcnn_r50_caffe_fpn_coco-3x_20e_nuim.py
├── mask-rcnn_r50_fpn_1x_nuim.py
├── mask-rcnn_r50_fpn_coco-2x_1x_nuim.py
├── mask-rcnn_r50_fpn_coco-2x_1x_nus-2d.py
├── mask-rcnn_x101_32x4d_fpn_1x_nuim.py
├── metafile.yml
├── paconv
├── metafile.yml
├── paconv_ssg-cuda_8xb8-cosine-200e_s3dis-seg.py
├── paconv_ssg_8xb8-cosine-150e_s3dis-seg.py
├── parta2
├── metafile.yml
├── parta2_hv_secfpn_8xb2-cyclic-80e_kitti-3d-3class.py
├── parta2_hv_secfpn_8xb2-cyclic-80e_kitti-3d-car.py
├── pgd
├── metafile.yml
├── pgd_r101-caffe_fpn_head-gn_16xb2-1x_nus-mono3d.py
├── pgd_r101-caffe_fpn_head-gn_16xb2-1x_nus-mono3d_finetune.py
├── pgd_r101-caffe_fpn_head-gn_16xb2-2x_nus-mono3d.py
├── pgd_r101-caffe_fpn_head-gn_16xb2-2x_nus-mono3d_finetune.py
├── pgd_r101-caffe_fpn_head-gn_4xb3-4x_kitti-mono3d.py
├── pgd_r101_fpn-head_dcn_16xb3_waymoD5-fov-mono3d.py
├── pgd_r101_fpn-head_dcn_16xb3_waymoD5-mv-mono3d.py
├── pgd_r101_fpn_gn-head_dcn_8xb3-2x_waymoD3-fov-mono3d.py
├── pgd_r101_fpn_gn-head_dcn_8xb3-2x_waymoD3-mv-mono3d.py
├── point_rcnn
├── metafile.yml
├── point-rcnn_8xb2_kitti-3d-3class.py
├── pointnet2
├── metafile.yml
├── pointnet2_msg_2xb16-cosine-250e_scannet-seg-xyz-only.py
├── pointnet2_msg_2xb16-cosine-250e_scannet-seg.py
├── pointnet2_msg_2xb16-cosine-80e_s3dis-seg.py
├── pointnet2_ssg_2xb16-cosine-200e_scannet-seg-xyz-only.py
├── pointnet2_ssg_2xb16-cosine-200e_scannet-seg.py
├── pointnet2_ssg_2xb16-cosine-50e_s3dis-seg.py
├── pointpillars
├── metafile.yml
├── pointpillars_hv_fpn_sbn-all_8xb2-2x_lyft-3d-range100.py
├── pointpillars_hv_fpn_sbn-all_8xb2-2x_lyft-3d.py
├── pointpillars_hv_fpn_sbn-all_8xb2-amp-2x_nus-3d.py
├── pointpillars_hv_fpn_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class.py
├── pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py
├── pointpillars_hv_secfpn_sbn-all_16xb2-2x_waymo-3d-3class.py
├── pointpillars_hv_secfpn_sbn-all_16xb2-2x_waymo-3d-car.py
├── pointpillars_hv_secfpn_sbn-all_16xb2-2x_waymoD5-3d-3class.py
├── pointpillars_hv_secfpn_sbn-all_16xb2-2x_waymoD5-3d-car.py
├── pointpillars_hv_secfpn_sbn-all_8xb2-2x_lyft-3d-range100.py
├── pointpillars_hv_secfpn_sbn-all_8xb2-2x_lyft-3d.py
├── pointpillars_hv_secfpn_sbn-all_8xb2-amp-2x_nus-3d.py
├── pointpillars_hv_secfpn_sbn-all_8xb4-2x_nus-3d.py
├── pv_rcnn
├── metafile.yml
├── pv_rcnn_8xb2-80e_kitti-3d-3class.py
├── regnet
├── metafile.yml
├── pointpillars_hv_regnet-1.6gf_fpn_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-400mf_fpn_sbn-all_8xb2-2x_lyft-3d.py
├── pointpillars_hv_regnet-400mf_fpn_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-400mf_fpn_sbn-all_range100_8xb2-2x_lyft-3d.py
├── pointpillars_hv_regnet-400mf_secfpn_sbn-all_8xb2-2x_lyft-3d.py
├── pointpillars_hv_regnet-400mf_secfpn_sbn-all_8xb4-2x_nus-3d.py
├── pointpillars_hv_regnet-400mf_secfpn_sbn-all_range100_8xb2-2x_lyft-3d.py
├── sassd
├── sassd_8xb6-80e_kitti-3d-3class.py
├── second
├── metafile.yml
├── second_hv_secfpn_8xb6-80e_kitti-3d-3class.py
├── second_hv_secfpn_8xb6-80e_kitti-3d-car.py
├── second_hv_secfpn_8xb6-amp-80e_kitti-3d-3class.py
├── second_hv_secfpn_8xb6-amp-80e_kitti-3d-car.py
├── second_hv_secfpn_sbn-all_16xb2-2x_waymoD5-3d-3class.py
├── smoke
├── metafile.yml
├── smoke_dla34_dlaneck_gn-all_4xb8-6x_kitti-mono3d.py
├── spvcnn
├── metafile.yml
├── spvcnn_w16_8xb2-amp-15e_semantickitti.py
├── spvcnn_w20_8xb2-amp-15e_semantickitti.py
├── spvcnn_w32_8xb2-amp-15e_semantickitti.py
├── spvcnn_w32_8xb2-amp-laser-polar-mix-3x_semantickitti.py
├── ssn
├── metafile.yml
├── ssn_hv_regnet-400mf_secfpn_sbn-all_16xb1-2x_lyft-3d.py
├── ssn_hv_regnet-400mf_secfpn_sbn-all_16xb2-2x_nus-3d.py
├── ssn_hv_secfpn_sbn-all_16xb2-2x_lyft-3d.py
├── ssn_hv_secfpn_sbn-all_16xb2-2x_nus-3d.py
├── votenet
├── metafile.yml
├── votenet_8xb16_sunrgbd-3d.py
├── votenet_8xb8_scannet-3d.py
├── votenet_head-iouloss_8xb8_scannet-3d.py
├── data
├── lyft
├── test.txt
├── train.txt
├── val.txt
├── s3dis
├── collect_indoor3d_data.py
├── indoor3d_util.py
├── meta_data
├── anno_paths.txt
├── class_names.txt
├── scannet
├── batch_load_scannet_data.py
├── extract_posed_images.py
├── load_scannet_data.py
├── meta_data
├── scannet_means.npz
├── scannet_train.txt
├── scannetv2-labels.combined.tsv
├── scannetv2_test.txt
├── scannetv2_train.txt
├── scannetv2_val.txt
├── scannet_utils.py
├── sunrgbd
├── matlab
├── extract_rgbd_data_v1.m
├── extract_rgbd_data_v2.m
├── extract_split.m
├── dataset-index.yml
├── demo
├── data
├── kitti
├── 000008.bin
├── 000008.pkl
├── 000008.png
├── 000008.txt
├── nuscenes
├── n015-2018-07-24-11-22-45+0800.pkl
├── n015-2018-07-24-11-22-45+0800__CAM_BACK_LEFT__1532402927647423.jpg
├── n015-2018-07-24-11-22-45+0800__CAM_BACK_RIGHT__1532402927627893.jpg
├── n015-2018-07-24-11-22-45+0800__CAM_BACK__1532402927637525.jpg
├── n015-2018-07-24-11-22-45+0800__CAM_FRONT_LEFT__1532402927604844.jpg
├── n015-2018-07-24-11-22-45+0800__CAM_FRONT_RIGHT__1532402927620339.jpg
├── n015-2018-07-24-11-22-45+0800__CAM_FRONT__1532402927612460.jpg
├── n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin
├── scannet
├── scene0000_00.bin
├── sunrgbd
├── 000017.bin
├── 000017.jpg
├── sunrgbd_000017_infos.pkl
├── inference_demo.ipynb
├── mono_det_demo.py
├── multi_modality_demo.py
├── pcd_demo.py
├── pcd_seg_demo.py
├── docker
├── Dockerfile
├── serve
├── Dockerfile
├── config.properties
├── entrypoint.sh
├── docs
├── en
├── Makefile
├── _static
├── css
├── readthedocs.css
├── image
├── mmdet3d-logo.png
├── advanced_guides
├── customize_dataset.md
├── customize_models.md
├── customize_runtime.md
├── datasets
├── index.rst
├── kitti.md
├── lyft.md
├── nuscenes.md
├── s3dis.md
├── scannet.md
├── semantickitti.md
├── sunrgbd.md
├── waymo.md
├── index.rst
├── pure_point_cloud_dataset.md
├── supported_tasks
├── index.rst
├── lidar_det3d.md
├── lidar_sem_seg3d.md
├── vision_det3d.md
├── api.rst
├── conf.py
├── get_started.md
├── index.rst
├── make.bat
├── migration.md
├── model_zoo.md
├── notes
├── benchmarks.md
├── changelog.md
├── changelog_v1.0.x.md
├── compatibility.md
├── contribution_guides.md
├── faq.md
├── index.rst
├── stat.py
├── switch_language.md
├── user_guides
├── backends_support.md
├── config.md
├── coord_sys_tutorial.md
├── data_pipeline.md
├── dataset_prepare.md
├── index.rst
├── inference.md
├── model_deployment.md
├── new_data_model.md
├── train_test.md
├── useful_tools.md
├── visualization.md
├── zh_cn
├── Makefile
├── _static
├── css
├── readthedocs.css
├── image
├── mmdet3d-logo.png
├── advanced_guides
├── customize_dataset.md
├── customize_models.md
├── customize_runtime.md
├── datasets
├── index.rst
├── kitti.md
├── lyft.md
├── nuscenes.md
├── s3dis.md
├── scannet.md
├── semantickitti.md
├── sunrgbd.md
├── waymo.md
├── index.rst
├── supported_tasks
├── index.rst
├── lidar_det3d.md
├── lidar_sem_seg3d.md
├── vision_det3d.md
├── api.rst
├── conf.py
├── get_started.md
├── index.rst
├── make.bat
├── model_zoo.md
├── notes
├── benchmarks.md
├── changelog.md
├── changelog_v1.0.x.md
├── compatibility.md
├── faq.md
├── index.rst
├── stat.py
├── switch_language.md
├── user_guides
├── backends_support.md
├── config.md
├── coord_sys_tutorial.md
├── data_pipeline.md
├── dataset_prepare.md
├── index.rst
├── inference.md
├── model_deployment.md
├── new_data_model.md
├── train_test.md
├── useful_tools.md
├── visualization.md
├── mmdet3d
├── __init__.py
├── apis
├── __init__.py
├── inference.py
├── inferencers
├── __init__.py
├── base_3d_inferencer.py
├── lidar_det3d_inferencer.py
├── lidar_seg3d_inferencer.py
├── mono_det3d_inferencer.py
├── multi_modality_det3d_inferencer.py
├── configs
├── _base_
├── datasets
├── kitti_3d_3class.py
├── kitti_3d_car.py
├── kitti_mono3d.py
├── lyft_3d.py
├── lyft_3d_range100.py
├── nuim_instance.py
├── nus_3d.py
├── nus_mono3d.py
├── s3dis_3d.py
├── s3dis_seg.py
├── scannet_3d.py
├── scannet_seg.py
├── semantickitti.py
├── sunrgbd_3d.py
├── waymoD5_3d_3class.py
├── waymoD5_3d_car.py
├── waymoD5_fov_mono3d_3class.py
├── waymoD5_mv3d_3class.py
├── waymoD5_mv_mono3d_3class.py
├── default_runtime.py
├── models
├── centerpoint_pillar02_second_secfpn_nus.py
├── centerpoint_voxel01_second_secfpn_nus.py
├── cylinder3d.py
├── fcos3d.py
├── minkunet.py
├── pgd.py
├── votenet.py
├── schedules
├── cosine.py
├── cyclic_20e.py
├── cyclic_40e.py
├── mmdet_schedule_1x.py
├── schedule_2x.py
├── schedule_3x.py
├── seg_cosine_100e.py
├── seg_cosine_150e.py
├── seg_cosine_200e.py
├── seg_cosine_50e.py
├── centerpoint
├── centerpoint_pillar02_second_secfpn_8xb4_cyclic_20e_nus_3d.py
├── centerpoint_voxel01_second_secfpn_8xb4_cyclic_20e_nus_3d.py
├── cylinder3d
├── cylinder3d_4xb4-3x_semantickitti.py
├── cylinder3d_8xb2-laser-polar-mix-3x_semantickitti.py
├── minkunet
├── minkunet34_w32_torchsparse_8xb2_laser_polar_mix_3x_semantickitti.py
├── mvxnet
├── mvxnet_fpn_dv_second_secfpn_8xb2_80e_kitti_3d_3class.py
├── pgd
├── pgd_r101_caffe_fpn_head_gn_4xb3_4x_kitti_mono3d.py
├── votenet
├── __init__.py
├── votenet_8xb8_scannet_3d.py
├── datasets
├── __init__.py
├── convert_utils.py
├── dataset_wrappers.py
├── det3d_dataset.py
├── kitti2d_dataset.py
├── kitti_dataset.py
├── lyft_dataset.py
├── nuscenes_dataset.py
├── s3dis_dataset.py
├── scannet_dataset.py
├── seg3d_dataset.py
├── semantickitti_dataset.py
├── sunrgbd_dataset.py
├── transforms
├── __init__.py
├── data_augment_utils.py
├── dbsampler.py
├── formating.py
├── loading.py
├── test_time_aug.py
├── transforms_3d.py
├── utils.py
├── waymo_dataset.py
├── engine
├── __init__.py
├── hooks
├── __init__.py
├── benchmark_hook.py
├── disable_object_sample_hook.py
├── visualization_hook.py
├── evaluation
├── __init__.py
├── functional
├── __init__.py
├── indoor_eval.py
├── instance_seg_eval.py
├── kitti_utils
├── __init__.py
├── eval.py
├── rotate_iou.py
├── lyft_eval.py
├── panoptic_seg_eval.py
├── scannet_utils
├── __init__.py
├── evaluate_semantic_instance.py
├── util_3d.py
├── seg_eval.py
├── waymo_utils
├── __init__.py
├── prediction_to_waymo.py
├── metrics
├── __init__.py
├── indoor_metric.py
├── instance_seg_metric.py
├── kitti_metric.py
├── lyft_metric.py
├── nuscenes_metric.py
├── panoptic_seg_metric.py
├── seg_metric.py
├── waymo_metric.py
├── models
├── __init__.py
├── backbones
├── __init__.py
├── base_pointnet.py
├── cylinder3d.py
├── dgcnn.py
├── dla.py
├── mink_resnet.py
├── minkunet_backbone.py
├── multi_backbone.py
├── nostem_regnet.py
├── pointnet2_sa_msg.py
├── pointnet2_sa_ssg.py
├── second.py
├── spvcnn_backone.py
├── data_preprocessors
├── __init__.py
├── data_preprocessor.py
├── utils.py
├── voxelize.py
├── decode_heads
├── __init__.py
├── cylinder3d_head.py
├── decode_head.py
├── dgcnn_head.py
├── minkunet_head.py
├── paconv_head.py
├── pointnet2_head.py
├── dense_heads
├── __init__.py
├── anchor3d_head.py
├── anchor_free_mono3d_head.py
├── base_3d_dense_head.py
├── base_conv_bbox_head.py
├── base_mono3d_dense_head.py
├── centerpoint_head.py
├── fcaf3d_head.py
├── fcos_mono3d_head.py
├── free_anchor3d_head.py
├── groupfree3d_head.py
├── imvoxel_head.py
├── monoflex_head.py
├── parta2_rpn_head.py
├── pgd_head.py
├── point_rpn_head.py
├── shape_aware_head.py
├── smoke_mono3d_head.py
├── ssd_3d_head.py
├── train_mixins.py
├── vote_head.py
├── detectors
├── __init__.py
├── base.py
├── centerpoint.py
├── dfm.py
├── dynamic_voxelnet.py
├── fcos_mono3d.py
├── groupfree3dnet.py
├── h3dnet.py
├── imvotenet.py
├── imvoxelnet.py
├── mink_single_stage.py
├── multiview_dfm.py
├── mvx_faster_rcnn.py
├── mvx_two_stage.py
├── parta2.py
├── point_rcnn.py
├── pv_rcnn.py
├── sassd.py
├── single_stage.py
├── single_stage_mono3d.py
├── smoke_mono3d.py
├── ssd3dnet.py
├── two_stage.py
├── votenet.py
├── voxelnet.py
├── layers
├── __init__.py
├── box3d_nms.py
├── dgcnn_modules
├── __init__.py
├── dgcnn_fa_module.py
├── dgcnn_fp_module.py
├── dgcnn_gf_module.py
├── edge_fusion_module.py
├── fusion_layers
├── __init__.py
├── coord_transform.py
├── point_fusion.py
├── vote_fusion.py
├── minkowski_engine_block.py
├── mlp.py
├── norm.py
├── paconv
├── __init__.py
├── paconv.py
├── utils.py
├── pointnet_modules
├── __init__.py
├── builder.py
├── paconv_sa_module.py
├── point_fp_module.py
├── point_sa_module.py
├── stack_point_sa_module.py
├── sparse_block.py
├── spconv
├── __init__.py
├── overwrite_spconv
├── __init__.py
├── write_spconv2.py
├── torchsparse
├── __init__.py
├── torchsparse_wrapper.py
├── torchsparse_block.py
├── transformer.py
├── vote_module.py
├── losses
├── __init__.py
├── axis_aligned_iou_loss.py
├── chamfer_distance.py
├── lovasz_loss.py
├── multibin_loss.py
├── paconv_regularization_loss.py
├── rotated_iou_loss.py
├── uncertain_smooth_l1_loss.py
├── middle_encoders
├── __init__.py
├── pillar_scatter.py
├── sparse_encoder.py
├── sparse_unet.py
├── voxel_set_abstraction.py
├── necks
├── __init__.py
├── dla_neck.py
├── imvoxel_neck.py
├── pointnet2_fp_neck.py
├── second_fpn.py
├── roi_heads
├── __init__.py
├── base_3droi_head.py
├── bbox_heads
├── __init__.py
├── h3d_bbox_head.py
├── parta2_bbox_head.py
├── point_rcnn_bbox_head.py
├── pv_rcnn_bbox_head.py
├── h3d_roi_head.py
├── mask_heads
├── __init__.py
├── foreground_segmentation_head.py
├── pointwise_semantic_head.py
├── primitive_head.py
├── part_aggregation_roi_head.py
├── point_rcnn_roi_head.py
├── pv_rcnn_roi_head.py
├── roi_extractors
├── __init__.py
├── batch_roigridpoint_extractor.py
├── single_roiaware_extractor.py
├── single_roipoint_extractor.py
├── segmentors
├── __init__.py
├── base.py
├── cylinder3d.py
├── encoder_decoder.py
├── minkunet.py
├── seg3d_tta.py
├── task_modules
├── __init__.py
├── anchor
├── __init__.py
├── anchor_3d_generator.py
├── builder.py
├── assigners
├── __init__.py
├── max_3d_iou_assigner.py
├── builder.py
├── coders
├── __init__.py
├── anchor_free_bbox_coder.py
├── centerpoint_bbox_coders.py
├── delta_xyzwhlr_bbox_coder.py
├── fcos3d_bbox_coder.py
├── groupfree3d_bbox_coder.py
├── monoflex_bbox_coder.py
├── partial_bin_based_bbox_coder.py
├── pgd_bbox_coder.py
├── point_xyzwhlr_bbox_coder.py
├── smoke_bbox_coder.py
├── samplers
├── __init__.py
├── iou_neg_piecewise_sampler.py
├── pseudosample.py
├── voxel
├── __init__.py
├── voxel_generator.py
├── test_time_augs
├── __init__.py
├── merge_augs.py
├── utils
├── __init__.py
├── add_prefix.py
├── clip_sigmoid.py
├── edge_indices.py
├── gaussian.py
├── gen_keypoints.py
├── handle_objs.py
├── voxel_encoders
├── __init__.py
├── pillar_encoder.py
├── utils.py
├── voxel_encoder.py
├── registry.py
├── structures
├── __init__.py
├── bbox_3d
├── __init__.py
├── base_box3d.py
├── box_3d_mode.py
├── cam_box3d.py
├── coord_3d_mode.py
├── depth_box3d.py
├── lidar_box3d.py
├── utils.py
├── det3d_data_sample.py
├── ops
├── __init__.py
├── box_np_ops.py
├── iou3d_calculator.py
├── transforms.py
├── point_data.py
├── points
├── __init__.py
├── base_points.py
├── cam_points.py
├── depth_points.py
├── lidar_points.py
├── testing
├── __init__.py
├── data_utils.py
├── model_utils.py
├── utils
├── __init__.py
├── array_converter.py
├── collect_env.py
├── compat_cfg.py
├── misc.py
├── setup_env.py
├── typing_utils.py
├── version.py
├── visualization
├── __init__.py
├── local_visualizer.py
├── vis_utils.py
├── model-index.yml
├── projects
├── BEVFusion
├── bevfusion
├── __init__.py
├── bevfusion.py
├── bevfusion_necks.py
├── depth_lss.py
├── loading.py
├── ops
├── __init__.py
├── bev_pool
├── __init__.py
├── bev_pool.py
├── src
├── bev_pool.cpp
├── bev_pool_cuda.cu
├── voxel
├── __init__.py
├── scatter_points.py
├── src
├── scatter_points_cpu.cpp
├── scatter_points_cuda.cu
├── voxelization.cpp
├── voxelization.h
├── voxelization_cpu.cpp
├── voxelization_cuda.cu
├── voxelize.py
├── sparse_encoder.py
├── transformer.py
├── transforms_3d.py
├── transfusion_head.py
├── utils.py
├── configs
├── bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py
├── bevfusion_lidar_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py
├── demo
├── multi_modality_demo.py
├── setup.py
├── CENet
├── cenet
├── __init__.py
├── boundary_loss.py
├── cenet_backbone.py
├── range_image_head.py
├── range_image_segmentor.py
├── transforms_3d.py
├── utils.py
├── configs
├── cenet-64x1024_4xb4_semantickitti.py
├── cenet-64x2048_4xb4_semantickitti.py
├── cenet-64x512_4xb4_semantickitti.py
├── CenterFormer
├── centerformer
├── __init__.py
├── bbox_ops.py
├── centerformer.py
├── centerformer_backbone.py
├── centerformer_head.py
├── losses.py
├── multi_scale_deform_attn.py
├── transformer.py
├── configs
├── centerformer_voxel01_second-attn_secfpn-attn_4xb4-cyclic-20e_waymoD5-3d-3class.py
├── DETR3D
├── configs
├── detr3d_r101_gridmask.py
├── detr3d_r101_gridmask_cbgs.py
├── detr3d_vovnet_gridmask_trainval_cbgs.py
├── detr3d
├── __init__.py
├── detr3d.py
├── detr3d_head.py
├── detr3d_transformer.py
├── grid_mask.py
├── hungarian_assigner_3d.py
├── match_cost.py
├── nms_free_coder.py
├── util.py
├── vovnet.py
├── old_detr3d_converter.py
├── DSVT
├── configs
├── dsvt_voxel032_res-second_secfpn_8xb1-cyclic-12e_waymoD5-3d-3class.py
├── dsvt
├── __init__.py
├── disable_aug_hook.py
├── dsvt.py
├── dsvt_head.py
├── dsvt_input_layer.py
├── dsvt_transformer.py
├── dynamic_pillar_vfe.py
├── map2bev.py
├── ops
├── ingroup_inds
├── ingroup_inds_op.py
├── src
├── error.cuh
├── ingroup_inds.cpp
├── ingroup_inds_kernel.cu
├── res_second.py
├── transforms_3d.py
├── utils.py
├── setup.py
├── NeRF-Det
├── configs
├── nerfdet_res101_2x_low_res_depth.py
├── nerfdet_res50_2x_low_res.py
├── nerfdet_res50_2x_low_res_depth.py
├── nerfdet
├── __init__.py
├── data_preprocessor.py
├── formating.py
├── multiview_pipeline.py
├── nerf_det3d_data_sample.py
├── nerf_utils
├── nerf_mlp.py
├── projection.py
├── render_ray.py
├── save_rendered_img.py
├── nerfdet.py
├── nerfdet_head.py
├── scannet_multiview_dataset.py
├── prepare_infos.py
├── PETR
├── configs
├── petr_vovnet_gridmask_p4_800x320.py
├── petr
├── __init__.py
├── cp_fpn.py
├── grid_mask.py
├── hungarian_assigner_3d.py
├── match_cost.py
├── nms_free_coder.py
├── petr.py
├── petr_head.py
├── petr_transformer.py
├── positional_encoding.py
├── transforms_3d.py
├── utils.py
├── vovnetcp.py
├── TPVFormer
├── configs
├── tpvformer_8xb1-2x_nus-seg.py
├── tpvformer
├── __init__.py
├── cross_view_hybrid_attention.py
├── data_preprocessor.py
├── image_cross_attention.py
├── loading.py
├── nuscenes_dataset.py
├── positional_encoding.py
├── tpvformer.py
├── tpvformer_encoder.py
├── tpvformer_head.py
├── tpvformer_layer.py
├── TR3D
├── configs
├── tr3d.py
├── tr3d_1xb16_s3dis-3d-5class.py
├── tr3d_1xb16_scannet-3d-18class.py
├── tr3d_1xb16_sunrgbd-3d-10class.py
├── tr3d
├── __init__.py
├── axis_aligned_iou_loss.py
├── mink_resnet.py
├── rotated_iou_loss.py
├── tr3d_head.py
├── tr3d_neck.py
├── transforms_3d.py
├── example_project
├── configs
├── fcos3d_dummy-resnet-caffe-dcn_fpn_head-gn_8xb2-1x_nus-mono3d.py
├── dummy
├── __init__.py
├── dummy_resnet.py
├── readme.txt
├── requirements.txt
├── requirements
├── build.txt
├── docs.txt
├── mminstall.txt
├── optional.txt
├── readthedocs.txt
├── runtime.txt
├── tests.txt
├── resources
├── browse_dataset_mono.png
├── browse_dataset_multi_modality.png
├── browse_dataset_seg.png
├── coord_sys_all.png
├── data_pipeline.png
├── loss_curve.png
├── mmdet3d-logo.png
├── mmdet3d_outdoor_demo.gif
├── nuimages_demo.gif
├── open3d_visual.gif
├── open3d_visual.png
├── setup.cfg
├── setup.py
├── tests
├── data
├── kitti
├── a.bin
├── kitti_dbinfos_train.pkl
├── kitti_gt_database
├── 0_Pedestrian_0.bin
├── kitti_infos_mono3d.coco.json
├── kitti_infos_mono3d.pkl
├── kitti_infos_train.pkl
├── mono3d_sample_results.pkl
├── mono3d_sample_results2d.pkl
├── training
├── calib
├── 000000.pkl
├── image_2
├── 000000.png
├── 000007.png
├── velodyne
├── 000000.bin
├── velodyne_reduced
├── 000000.bin
├── lyft
├── lidar
├── host-a017_lidar1_1236118886501000046.bin
├── host-a017_lidar1_1236118886701083686.bin
├── host-a017_lidar1_1236118886901125926.bin
├── lyft_infos.pkl
├── lyft_infos_val.pkl
├── sample_results.pkl
├── v1.01-train
├── maps
├── map_raster_palo_alto.png
├── v1.01-train
├── attribute.json
├── calibrated_sensor.json
├── category.json
├── ego_pose.json
├── instance.json
├── log.json
├── map.json
├── sample.json
├── sample_annotation.json
├── sample_data.json
├── scene.json
├── sensor.json
├── visibility.json
├── val.txt
├── nuscenes
├── mono3d_sample_results.pkl
├── nus_info.pkl
├── nus_infos_mono3d.coco.json
├── samples
├── CAM_BACK_LEFT
├── n015-2018-07-18-11-07-57+0800__CAM_BACK_LEFT__1531883530447423.jpg
├── LIDAR_TOP
├── n015-2018-08-02-17-16-37+0800__LIDAR_TOP__1533201470948018.pcd.bin
├── sweeps
├── LIDAR_TOP
├── n008-2018-09-18-12-07-26-0400__LIDAR_TOP__1537287083900561.pcd.bin
├── n015-2018-08-02-17-16-37+0800__LIDAR_TOP__1533201470898274.pcd.bin
├── ops
├── features_for_fps_distance.npy
├── fps_idx.npy
├── s3dis
├── instance_mask
├── Area_1_office_2.bin
├── points
├── Area_1_office_2.bin
├── s3dis_infos.pkl
├── semantic_mask
├── Area_1_office_2.bin
├── scannet
├── instance_mask
├── scene0000_00.bin
├── points
├── scene0000_00.bin
├── scannet_infos.pkl
├── semantic_mask
├── scene0000_00.bin
├── semantickitti
├── semantickitti_infos.pkl
├── sequences
├── 00
├── labels
├── 000000.label
├── velodyne
├── 000000.bin
├── sunrgbd
├── points
├── 000001.bin
├── sunrgbd_infos.pkl
├── sunrgbd_trainval
├── image
├── 000001.jpg
├── waymo
├── kitti_format
├── training
├── image_0
├── 0000000.png
├── 1000000.png
├── velodyne
├── 0000000.bin
├── 1000000.bin
├── waymo_dbinfos_train.pkl
├── waymo_gt_database
├── 0_Car_0.bin
├── waymo_infos_train.pkl
├── waymo_infos_val.pkl
├── waymo_format
├── gt.bin
├── validation
├── val.tfrecord
├── test_apis
├── test_inferencers
├── test_lidar_det3d_inferencer.py
├── test_lidar_seg3d_inferencer.py
├── test_mono_det3d_inferencer.py
├── test_multi_modality_det3d_inferencer.py
├── test_datasets
├── test_dataset_wrappers.py
├── test_kitti_dataset.py
├── test_lyft_dataset.py
├── test_nuscenes_dataset.py
├── test_s3dis_dataset.py
├── test_scannet_dataset.py
├── test_semantickitti_dataset.py
├── test_sunrgbd_dataset.py
├── test_transforms
├── test_formating.py
├── test_loading.py
├── test_transforms_3d.py
├── utils.py
├── test_tta.py
├── test_waymo_dataset.py
├── test_engine
├── test_hooks
├── test_disable_object_sample_hook.py
├── test_visualization_hook.py
├── test_evaluation
├── test_functional
├── test_instance_seg_eval.py
├── test_kitti_eval.py
├── test_panoptic_seg_eval.py
├── test_seg_eval.py
├── test_metrics
├── test_indoor_metric.py
├── test_instance_seg_metric.py
├── test_kitti_metric.py
├── test_panoptic_seg_metric.py
├── test_seg_metric.py
├── test_models
├── test_backbones
├── test_cylinder3d_backbone.py
├── test_dgcnn.py
├── test_dla.py
├── test_mink_resnet.py
├── test_minkunet_backbone.py
├── test_multi_backbone.py
├── test_pointnet2_sa_msg.py
├── test_pointnet2_sa_ssg.py
├── test_spvcnn_backbone.py
├── test_data_preprocessors
├── test_data_preprocessor.py
├── test_decode_heads
├── test_cylinder3d_head.py
├── test_dgcnn_head.py
├── test_minkunet_head.py
├── test_paconv_head.py
├── test_pointnet2_head.py
├── test_dense_heads
├── test_anchor3d_head.py
├── test_fcaf3d_head.py
├── test_fcos_mono3d_head.py
├── test_freeanchors.py
├── test_imvoxel_head.py
├── test_monoflex_head.py
├── test_pgd_head.py
├── test_smoke_mono3d_head.py
├── test_ssn.py
├── test_detectors
├── test_3dssd.py
├── test_center_point.py
├── test_fcaf3d.py
├── test_groupfree3d.py
├── test_h3dnet.py
├── test_imvotenet.py
├── test_imvoxelnet.py
├── test_mvxnet.py
├── test_parta2.py
├── test_pointrcnn.py
├── test_pvrcnn.py
├── test_sassd.py
├── test_votenet.py
├── test_voxelnet.py
├── test_layers
├── test_box3d_nms.py
├── test_dgcnn_modules
├── test_dgcnn_fa_module.py
├── test_dgcnn_fp_module.py
├── test_dgcnn_gf_module.py
├── test_fusion_layers
├── test_fusion_coord_trans.py
├── test_point_fusion.py
├── test_vote_fusion.py
├── test_minkowski_engine
├── test_minkowski_engine_module.py
├── test_paconv
├── test_paconv_modules.py
├── test_paconv_ops.py
├── test_pointnet_modules
├── test_point_fp_module.py
├── test_point_sa_module.py
├── test_spconv
├── test_spconv_module.py
├── test_torchsparse
├── test_torchsparse_module.py
├── test_vote_module.py
├── test_losses
├── test_chamfer_disrance.py
├── test_multibin_loss.py
├── test_paconv_regularization_loss.py
├── test_rotated_iou_loss.py
├── test_uncertain_smooth_l1_loss.py
├── test_middle_encoders
├── test_sparse_encoders.py
├── test_sparse_unet.py
├── test_necks
├── test_dla_neck.py
├── test_imvoxel_neck.py
├── test_pointnet2_fp_neck.py
├── test_second_fpn.py
├── test_segmentors
├── test_cylinder3d.py
├── test_minkunet.py
├── test_seg3d_tta_model.py
├── test_task_modules
├── test_anchor
├── test_anchor_3d_generator.py
├── test_coders
├── test_anchor_free_box_coder.py
├── test_centerpoint_bbox_coder.py
├── test_fcos3d_bbox_coder.py
├── test_monoflex_bbox_coder.py
├── test_partial_bin_based_box_coder.py
├── test_pgd_bbox_coder.py
├── test_point_xyzwhlr_bbox_coder.py
├── test_smoke_bbox_coder.py
├── test_samplers
├── test_iou_piecewise_sampler.py
├── test_voxel
├── test_voxel_generator.py
├── test_utils
├── test_utils.py
├── test_voxel_encoders
├── test_pillar_encoder.py
├── test_voxel_encoders.py
├── test_samples
├── parta2_roihead_inputs.npz
├── test_structures
├── test_bbox
├── test_box3d.py
├── test_coord_3d_mode.py
├── test_det3d_data_sample.py
├── test_ops
├── test_box_np_ops.py
├── test_point_data.py
├── test_points
├── test_base_points.py
├── test_cam_points.py
├── test_depth_points.py
├── test_utils
├── test_compat_cfg.py
├── test_setup_env.py
├── tools
├── analysis_tools
├── analyze_logs.py
├── benchmark.py
├── get_flops.py
├── create_data.py
├── create_data.sh
├── dataset_converters
├── create_gt_database.py
├── indoor_converter.py
├── kitti_converter.py
├── kitti_data_utils.py
├── kitti_unzip.sh
├── lyft_converter.py
├── lyft_data_fixer.py
├── nuimage_converter.py
├── nuscenes_converter.py
├── nuscenes_unzip.sh
├── s3dis_data_utils.py
├── scannet_data_utils.py
├── semantickitti_converter.py
├── semantickitti_unzip.sh
├── sunrgbd_data_utils.py
├── update_infos_to_v2.py
├── waymo_converter.py
├── deployment
├── mmdet3d2torchserve.py
├── mmdet3d_handler.py
├── test_torchserver.py
├── dist_test.sh
├── dist_train.sh
├── misc
├── browse_dataset.py
├── fuse_conv_bn.py
├── print_config.py
├── visualize_results.py
├── model_converters
├── convert_h3dnet_checkpoints.py
├── convert_votenet_checkpoints.py
├── publish_model.py
├── regnet2mmdet.py
├── slurm_test.sh
├── slurm_train.sh
├── test.py
├── train.py
├── update_data_coords.py
├── update_data_coords.sh