MCPcopy Index your code
hub / github.com/Tsinghua-MARS-Lab/GeoMAE

github.com/Tsinghua-MARS-Lab/GeoMAE @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,875 symbols 10,111 edges 512 files 1,564 documented · 54%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GeoMAE

This is the official implementation of the CVPR 2023 paper - GeoMAE: Masked Geometric Target Prediction for Self-supervised Point Cloud Pre-Training [https://arxiv.org/abs/2305.08808]

Installation

Requirement

CUDA=11.3
python=3.8
pytorch=1.10.1
mmcv=1.4.8
mmdetection=2.20.0
mmdetection3d=0.15.0
spconv-cu113=2.1.21

ATTENTION: It is highly recommended to use the same version of these packages to avoid code mismatch.

For mmcv, you can follow the official installation.md to install the expected version.

For mmdetection and mmdetection3d, you can follow the official installation.md.

Finally, run

python setup.py develop

Dataset preparation

  1. Prepare nuscenes or waymo data. We recommend you follow the MMdetection3D's instructions

  2. Prepare nuscenes ssl data by running:

python tools/create_data.py nuscenes_ssl --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes_ssl

Training

nuScenes

  1. Use GeoMAE to pretrain the SST backbone:
./tools/dist_train.sh configs/mae_sst/m_sst_nus_singlestage_curv_07_ssl_dataset_wo_dbsampler_6x_1e-5.py 8
  1. Use the pretrained SST to train the PointPillar:
./tools/dist_train.sh configs/pre_sst/m_sst_nus_second_pointpillar_fpn355_222_curv_07_ssl_data_wo_dbsampler_6x_1e-5.py 8

CheckPoint

You can load the pretrained GeoMAE to train the PointPillar.

model name weight mAP NDS
GeoMAE Google Drive - -
GeoMAE-PP Google Drive 53.77 57.23

Core symbols most depended-on inside this repo

cat
called by 358
mmdet3d/core/points/base_points.py
view
called by 348
mmdet3d/ops/spconv/include/tensorview/tensorview.h
size
called by 339
mmdet3d/ops/spconv/include/tensorview/tensorview.h
to
called by 215
mmdet3d/core/points/base_points.py
update
called by 122
mmdet3d/ops/sst/sst_ops.py
squeeze
called by 93
mmdet3d/ops/spconv/include/tensorview/tensorview.h
dim
called by 85
mmdet3d/ops/spconv/include/tensorview/tensorview.h
clone
called by 82
mmdet3d/core/points/base_points.py

Shape

Method 1,685
Function 804
Class 380
Route 6

Languages

Python89%
C++11%

Modules by API surface

mmdet3d/datasets/pipelines/transforms_3d.py78 symbols
mmdet3d/ops/spconv/include/tensorview/tensorview.h65 symbols
mmdet3d/ops/spconv/include/prettyprint.h53 symbols
mmdet3d/datasets/pipelines/loading.py43 symbols
mmdet3d/ops/sst/sst_ops.py39 symbols
mmdet3d/ops/sparse_index/sparse_index.py36 symbols
mmdet3d/ops/wnms/src/nms.h33 symbols
mmdet3d/core/bbox/structures/base_box3d.py32 symbols
mmdet3d/core/bbox/box_np_ops.py31 symbols
mmdet3d/models/detectors/mvx_two_stage.py29 symbols
mmdet3d/models/utils/pc_util.py28 symbols
mmdet3d/models/detectors/multi_sub_voxel_dynamic_voxelnet_ssl.py27 symbols

For agents

$ claude mcp add GeoMAE \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact