A general 3D Object Detection codebase in PyTorch.

Overview

Det3D

A general 3D Object Detection codebase in PyTorch.

1. Introduction

Det3D is the first 3D Object Detection toolbox which provides off the box implementations of many 3D object detection algorithms such as PointPillars, SECOND, PIXOR, etc, as well as state-of-the-art methods on major benchmarks like KITTI(ViP) and nuScenes(CBGS). Key features of Det3D include the following aspects:

  • Multi Datasets Support: KITTI, nuScenes, Lyft
  • Point-based and Voxel-based model zoo
  • State-of-the-art performance
  • DDP & SyncBN

2. Installation

Please refer to INSTALATION.md.

3. Quick Start

Please refer to GETTING_STARTED.md.

4. Model Zoo

4.1 nuScenes

mAP mATE mASE mAOE mAVE mAAE NDS ckpt
CBGS 49.9 0.335 0.256 0.323 0.251 0.197 61.3 link
PointPillar 41.8 0.363 0.264 0.377 0.288 0.198 56.0 link

The original model and prediction files are available in the CBGS README.

4.2 KITTI

Second on KITTI(val) Dataset

car  AP @0.70, 0.70,  0.70:
bbox AP:90.54, 89.35, 88.43
bev  AP:89.89, 87.75, 86.81
3d   AP:87.96, 78.28, 76.99
aos  AP:90.34, 88.81, 87.66

PointPillars on KITTI(val) Dataset

car  [email protected],  0.70,  0.70:
bbox AP:90.63, 88.86, 87.35
bev  AP:89.75, 86.15, 83.00
3d   AP:85.75, 75.68, 68.93
aos  AP:90.48, 88.36, 86.58

4.3 Lyft

4.4 Waymo

5. Functionality

  • Models
    • VoxelNet
    • SECOND
    • PointPillars
  • Features
    • Multi task learning & Multi-task Learning
    • Distributed Training and Validation
    • SyncBN
    • Flexible anchor dimensions
    • TensorboardX
    • Checkpointer & Breakpoint continue
    • Self-contained visualization
    • Finetune
    • Multiscale Training & Validation
    • Rotated RoI Align

6. TODO List

  • To Be Released

    • CGBS on Lyft(val) Dataset
  • Models

    • PointRCNN
    • PIXOR

7. Call for contribution.

  • Support Waymo Dataset.
  • Add other 3D detection / segmentation models, such as VoteNet, STD, etc.

8. Developers

Benjin Zhu , Bingqi Ma

9. License

Det3D is released under the Apache licenes.

10. Citation

Det3D is a derivative codebase of CBGS, if you find this work useful in your research, please consider cite:

@article{zhu2019class,
  title={Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection},
  author={Zhu, Benjin and Jiang, Zhengkai and Zhou, Xiangxin and Li, Zeming and Yu, Gang},
  journal={arXiv preprint arXiv:1908.09492},
  year={2019}
}

11. Acknowledgement

Comments
  • About reproduce CBGS result

    About reproduce CBGS result

    Instructions To Reproduce the Issue:

    1. what changes you made (git diff) or what code you wrote using the Ego velocity in every annotations, the other config are same.
    # convert velo from global to lidar
    for i in range(len(ref_boxes)):
        velo = np.array([*velocity[i], 0.0])
        velo = velo @ np.linalg.inv(e2g_r_mat).T @ np.linalg.inv(
              l2e_r_mat).T
        velocity[i] = velo[:2]
        velocity = velocity.reshape(-1,2)
    
    1. what exact command you run:
    python3 -m torch.distributed.launch --nproc_per_node=8 ./tools/train.py examples/cbgs/configs/nusc_all_vfev3_spmiddleresnetfhd_rpn2_mghead_syncbn.py --work_dir=/home/ubuntu/Documents/Det3D/trained_model
    
    1. what you observed:
    mAP: 0.3719
    mATE: 0.3724
    mASE: 0.2661
    mAOE: 0.9296
    mAVE: 1.3655
    mAAE: 0.2684
    NDS: 0.4023
    Eval time: 140.1s
    
    Per-class results:
    Object Class	AP	ATE	ASE	AOE	AVE	AAE
    car	0.721	0.219	0.158	0.841	1.116	0.230
    truck	0.371	0.426	0.198	0.640	1.155	0.307
    bus	0.500	0.439	0.174	1.223	2.171	0.431
    trailer	0.213	0.687	0.219	0.670	1.371	0.184
    construction_vehicle	0.058	0.798	0.481	1.370	0.157	0.372
    pedestrian	0.653	0.165	0.287	1.350	0.869	0.439
    motorcycle	0.242	0.223	0.243	1.107	3.192	0.153
    bicycle	0.043	0.199	0.264	1.111	0.894	0.031
    traffic_cone	0.449	0.170	0.348	nan	nan	nan
    barrier	0.470	0.398	0.289	0.056	nan	nan
    Evaluation nusc: Nusc v1.0-trainval Evaluation
    car Nusc dist [email protected], 1.0, 2.0, 4.0
    59.48, 71.97, 77.40, 79.65 mean AP: 0.7212472062431424
    truck Nusc dist [email protected], 1.0, 2.0, 4.0
    18.48, 36.29, 44.83, 48.91 mean AP: 0.3712787143771077
    construction_vehicle Nusc dist [email protected], 1.0, 2.0, 4.0
    0.00, 2.09, 8.06, 12.96 mean AP: 0.05777510817362395
    bus Nusc dist [email protected], 1.0, 2.0, 4.0
    23.60, 47.30, 62.94, 66.32 mean AP: 0.5003920838518946
    trailer Nusc dist [email protected], 1.0, 2.0, 4.0
    1.66, 13.24, 29.62, 40.49 mean AP: 0.21251682647224052
    barrier Nusc dist [email protected], 1.0, 2.0, 4.0
    26.14, 46.78, 55.95, 59.13 mean AP: 0.4700045657239055
    motorcycle Nusc dist [email protected], 1.0, 2.0, 4.0
    20.39, 24.74, 25.62, 26.05 mean AP: 0.24202605811125658
    bicycle Nusc dist [email protected], 1.0, 2.0, 4.0
    3.93, 4.27, 4.35, 4.58 mean AP: 0.04280152387228541
    pedestrian Nusc dist [email protected], 1.0, 2.0, 4.0
    62.12, 64.40, 66.13, 68.36 mean AP: 0.6525328516852104
    traffic_cone Nusc dist [email protected], 1.0, 2.0, 4.0
    40.81, 43.40, 45.49, 49.80 mean AP: 0.44874109465427564
    

    9c9f22a58fdc45f2b8a119cda3554f1f 93fdce35d7db4764ad5f822f57ab49e2

    Unable to reproduce the results in model zoo.

    Expected behavior:

    the score NDS don't reach the number in released paper, and the AVE number is abnormal large than others, this reproduced result even worse than pointpillars. Is the loss compute func exist some problems leading to this result?

    opened by muzi2045 36
  • PointPillar's performance is not so good compared with published results

    PointPillar's performance is not so good compared with published results

    Hi @poodarchu Thanks for your great code! I trained pointpillar with default config, while the performance is as follow, which is similar to the results post by @s-ryosky in #18 .

    default

    For the category of car, the published mAP of moderate level on kitti 3D test dataset is 74.99, while my trained one is only 75.66 on kitti val dataset. It seems cannot exceed the published one. As far as I konw, other researchers could achieve about 77 on val with pointpillar, I wonder if there exists any problem in the configs? and can you pubulish your results? Thanks a lot!

    opened by Son-Goku-gpu 15
  • Unable to reproduce CBGS's results on NuScenes

    Unable to reproduce CBGS's results on NuScenes

    Comparing to the current master branch, I made two changes in order to fix the NaN training loss.

    The first change is described in #46 .

    The second change is to add what's below before line 193 in losses.py

    # FIX NaN TARGETS 
    target_tensor = torch.where(
        torch.isnan(target_tensor), prediction_tensor, target_tensor
    )
    

    Besides, I set

    norm_cfg = dict(type='SyncBN', eps=1e-3, momentum=0.01)
    

    in examples/cbgs/configs/nusc_all_vfev3_spmiddleresnetfhd_rpn2_mghead_syncbn.py and

    torch.backends.cudnn.benchmark = True
    

    in tools/train.py.

    Here are my results on the validation set after training 20 epochs:

    car Nusc dist [email protected], 1.0, 2.0, 4.0
    59.25, 71.87, 77.22, 79.63 mean AP: 0.7199402759604012
    truck Nusc dist [email protected], 1.0, 2.0, 4.0
    17.96, 35.01, 43.00, 47.15 mean AP: 0.357782470829584
    construction_vehicle Nusc dist [email protected], 1.0, 2.0, 4.0
    0.00, 1.28, 6.75, 13.37 mean AP: 0.05348830261303094
    bus Nusc dist [email protected], 1.0, 2.0, 4.0
    23.87, 48.49, 62.98, 66.32 mean AP: 0.5041451034213309
    trailer Nusc dist [email protected], 1.0, 2.0, 4.0
    1.94, 14.27, 30.88, 42.11 mean AP: 0.22300031478924093
    barrier Nusc dist [email protected], 1.0, 2.0, 4.0
    28.06, 48.97, 57.80, 60.27 mean AP: 0.4877375663669212
    motorcycle Nusc dist [email protected], 1.0, 2.0, 4.0
    24.97, 29.29, 30.38, 30.99 mean AP: 0.28906646690838084
    bicycle Nusc dist [email protected], 1.0, 2.0, 4.0
    6.20, 7.36, 7.98, 8.53 mean AP: 0.07516058303100348
    pedestrian Nusc dist [email protected], 1.0, 2.0, 4.0
    62.82, 64.73, 66.83, 69.03 mean AP: 0.658543997130018
    traffic_cone Nusc dist [email protected], 1.0, 2.0, 4.0
    42.10, 44.31, 46.23, 50.65 mean AP: 0.4582346501948114
    

    Overall the mean AP is 38.2, which is much lower than what's reported.

    Can someone point me to what I might have missed? Thanks!

    opened by peiyunh 14
  • which config file match the Trained Model named model_epoch_025_step_100100.pth

    which config file match the Trained Model named model_epoch_025_step_100100.pth

    there are two config file in the dir Det3D/examples/cbgs/configs lyft*.py and nusc*.py when I load the model with the file nusc ,the the model unable get right result and as fllow

    The model and loaded state dict do not match exactly

    unexpected key in source state_dict: model, optimizer, iteration, epoch

    missing keys in source state_dict: backbone.middle_conv.8.bn1.running_var, backbone.middle_conv.3.bn2.running_mean, neck.blocks.0.17.bias, backbone.middle_conv.19.bn2.running_mean, backbone.middle_conv.1.running_mean, bbox_head.tasks.2.conv_dir.weight, backbone.middle_conv.4.conv2.bias, backbone.middle_conv.4.conv1.bias, backbone.middle_conv.11.running_mean, backbone.middle_conv.13.conv1.bias, backbone.middle_conv.4.conv2.weight, backbone.middle_conv.1.weight, neck.blocks.0.13.weight, bbox_head.tasks.2.conv_dir.bias, backbone.middle_conv.14.bn1.weight, backbone.middle_conv.5.weight, backbone.middle_conv.6.running_var, backbone.middle_conv.8.conv2.bias, neck.blocks.0.5.weight, backbone.middle_conv.14.bn2.running_mean, backbone.middle_conv.1.bias, backbone.middle_conv.9.bn1.bias, backbone.middle_conv.14.bn2.running_var, backbone.middle_conv.18.bn2.weight, backbone.middle_conv.8.bn1.bias, bbox_head.tasks.3.conv_cls.bias, backbone.middle_conv.16.running_var, backbone.middle_conv.18.bn1.weight, backbone.middle_conv.18.conv1.bias, neck.blocks.1.17.bias, backbone.middle_conv.6.weight, bbox_head.tasks.3.conv_dir.weight, backbone.middle_conv.11.weight, backbone.middle_conv.8.conv1.weight, neck.blocks.0.2.running_mean, backbone.middle_conv.9.conv1.weight, bbox_head.tasks.4.conv_cls.weight, neck.deblocks.0.1.weight, neck.blocks.1.2.running_var, neck.blocks.0.8.bias, backbone.middle_conv.13.bn1.bias, backbone.middle_conv.4.bn2.weight, neck.deblocks.0.1.running_var, backbone.middle_conv.19.bn2.weight, bbox_head.tasks.3.conv_dir.bias, backbone.middle_conv.14.bn2.weight, neck.blocks.1.14.weight, neck.blocks.1.11.weight, backbone.middle_conv.9.conv2.weight, backbone.middle_conv.18.bn2.running_mean, neck.blocks.0.5.running_mean, backbone.middle_conv.3.bn1.bias, neck.deblocks.0.1.running_mean, bbox_head.tasks.1.conv_dir.weight, bbox_head.tasks.5.conv_box.bias, bbox_head.tasks.0.conv_box.weight, backbone.middle_conv.3.bn1.running_mean, neck.blocks.1.8.weight, backbone.middle_conv.4.bn2.bias, neck.blocks.1.8.running_var, neck.blocks.1.2.bias, bbox_head.tasks.0.conv_box.bias, backbone.middle_conv.4.bn1.running_mean, backbone.middle_conv.10.weight, neck.blocks.1.17.running_var, neck.deblocks.1.1.bias, backbone.middle_conv.3.bn1.weight, backbone.middle_conv.9.bn2.weight, bbox_head.tasks.5.conv_dir.bias, backbone.middle_conv.8.bn1.weight, neck.deblocks.1.0.weight, backbone.middle_conv.4.bn2.running_mean, neck.blocks.1.5.bias, backbone.middle_conv.13.bn1.running_var, bbox_head.tasks.4.conv_box.weight, backbone.middle_conv.8.bn2.running_var, neck.blocks.1.2.weight, backbone.middle_conv.11.bias, neck.blocks.1.5.running_var, backbone.middle_conv.19.conv1.bias, backbone.middle_conv.1.running_var, bbox_head.tasks.2.conv_cls.weight, neck.blocks.0.2.weight, backbone.middle_conv.9.bn2.bias, backbone.middle_conv.9.bn1.running_mean, backbone.middle_conv.21.weight, neck.blocks.1.17.running_mean, backbone.middle_conv.8.bn1.running_mean, backbone.middle_conv.13.bn1.weight, bbox_head.tasks.2.conv_cls.bias, backbone.middle_conv.14.bn1.bias, neck.blocks.0.2.bias, neck.blocks.1.16.weight, bbox_head.tasks.5.conv_dir.weight, neck.blocks.1.10.weight, bbox_head.tasks.0.conv_cls.weight, neck.blocks.1.5.weight, bbox_head.tasks.3.conv_box.bias, backbone.middle_conv.14.conv1.weight, backbone.middle_conv.19.bn1.weight, neck.blocks.0.17.running_mean, bbox_head.tasks.4.conv_box.bias, neck.blocks.0.11.bias, neck.blocks.0.17.weight, backbone.middle_conv.3.bn2.running_var, bbox_head.tasks.3.conv_cls.weight, backbone.middle_conv.0.weight, backbone.middle_conv.18.conv1.weight, backbone.middle_conv.18.bn2.running_var, backbone.middle_conv.9.conv1.bias, neck.deblocks.1.1.weight, bbox_head.tasks.1.conv_cls.bias, bbox_head.tasks.3.conv_box.weight, backbone.middle_conv.4.bn2.running_var, neck.blocks.0.5.running_var, backbone.middle_conv.9.conv2.bias, backbone.middle_conv.4.bn1.weight, neck.blocks.0.5.bias, neck.blocks.1.1.weight, backbone.middle_conv.21.bias, backbone.middle_conv.14.conv1.bias, backbone.middle_conv.8.conv1.bias, backbone.middle_conv.6.running_mean, backbone.middle_conv.13.conv1.weight, backbone.middle_conv.9.bn2.running_var, neck.blocks.1.5.running_mean, neck.blocks.0.11.weight, bbox_head.tasks.4.conv_dir.weight, neck.blocks.1.14.running_var, neck.deblocks.0.1.bias, bbox_head.tasks.2.conv_box.bias, backbone.middle_conv.4.conv1.weight, backbone.middle_conv.19.bn2.bias, neck.blocks.0.11.running_mean, neck.blocks.0.11.running_var, backbone.middle_conv.8.bn2.bias, backbone.middle_conv.19.bn2.running_var, backbone.middle_conv.13.bn2.bias, backbone.middle_conv.8.conv2.weight, neck.blocks.1.14.running_mean, backbone.middle_conv.3.bn2.bias, backbone.middle_conv.18.bn2.bias, backbone.middle_conv.18.bn1.running_var, bbox_head.tasks.0.conv_dir.bias, neck.blocks.1.4.weight, backbone.middle_conv.14.conv2.bias, neck.blocks.0.16.weight, neck.blocks.0.8.weight, backbone.middle_conv.13.bn2.weight, neck.blocks.0.14.running_var, neck.deblocks.0.0.weight, neck.deblocks.1.1.running_var, backbone.middle_conv.13.conv2.bias, neck.blocks.1.11.bias, backbone.middle_conv.13.conv2.weight, neck.blocks.0.17.running_var, backbone.middle_conv.19.bn1.running_mean, neck.blocks.0.14.bias, backbone.middle_conv.3.conv1.bias, backbone.middle_conv.18.bn1.bias, neck.blocks.0.8.running_var, backbone.middle_conv.13.bn1.running_mean, bbox_head.tasks.4.conv_cls.bias, neck.blocks.1.17.weight, neck.blocks.1.14.bias, backbone.middle_conv.14.bn2.bias, bbox_head.tasks.2.conv_box.weight, backbone.middle_conv.18.conv2.weight, backbone.middle_conv.9.bn1.running_var, backbone.middle_conv.3.bn2.weight, bbox_head.tasks.1.conv_box.weight, bbox_head.tasks.0.conv_cls.bias, backbone.middle_conv.19.conv1.weight, backbone.middle_conv.8.bn2.weight, neck.blocks.1.8.bias, bbox_head.tasks.0.conv_dir.weight, bbox_head.tasks.1.conv_cls.weight, bbox_head.tasks.1.conv_box.bias, bbox_head.tasks.4.conv_dir.bias, bbox_head.tasks.5.conv_cls.bias, neck.blocks.1.7.weight, backbone.middle_conv.19.conv2.weight, backbone.middle_conv.3.conv2.weight, neck.blocks.1.2.running_mean, backbone.middle_conv.14.conv2.weight, backbone.middle_conv.20.weight, neck.blocks.1.11.running_var, backbone.middle_conv.16.running_mean, backbone.middle_conv.16.bias, neck.blocks.0.1.weight, backbone.middle_conv.18.conv2.bias, backbone.middle_conv.6.bias, neck.blocks.1.11.running_mean, backbone.middle_conv.21.running_var, neck.blocks.0.2.running_var, backbone.middle_conv.4.bn1.bias, backbone.middle_conv.8.bn2.running_mean, backbone.middle_conv.14.bn1.running_mean, backbone.middle_conv.11.running_var, neck.blocks.0.4.weight, neck.blocks.0.14.weight, bbox_head.tasks.5.conv_box.weight, backbone.middle_conv.21.running_mean, neck.deblocks.1.1.running_mean, backbone.middle_conv.19.bn1.running_var, neck.blocks.0.14.running_mean, backbone.middle_conv.16.weight, backbone.middle_conv.9.bn2.running_mean, backbone.middle_conv.3.conv1.weight, backbone.middle_conv.4.bn1.running_var, backbone.middle_conv.3.bn1.running_var, neck.blocks.1.8.running_mean, bbox_head.tasks.1.conv_dir.bias, backbone.middle_conv.9.bn1.weight, backbone.middle_conv.18.bn1.running_mean, backbone.middle_conv.19.bn1.bias, backbone.middle_conv.14.bn1.running_var, backbone.middle_conv.19.conv2.bias, bbox_head.tasks.5.conv_cls.weight, backbone.middle_conv.3.conv2.bias, backbone.middle_conv.13.bn2.running_mean, backbone.middle_conv.15.weight, neck.blocks.1.13.weight, backbone.middle_conv.13.bn2.running_var, neck.blocks.0.10.weight, neck.blocks.0.8.running_mean, neck.blocks.0.7.weight

    opened by 008yheng 13
  • bbox_head compute loss error

    bbox_head compute loss error

    Try to train this CBGS in single GPU, after modified some params, occur this error: image

    it looks like when trained with Nuscenes dataset, setting the Range [-50.4, -50.4, 50.4, 50,4], and voxels_size[0.1, 0.1], it will generate [1008, 1008] array -> 1008 * 1008 * 2 = 2032128 anchors per class, but the box_preds output is [1, 126, 126, 18] per class -> 126 * 126 * 2 = 31752.

    def add_sin_difference(boxes1, boxes2):
        rad_pred_encoding = torch.sin(boxes1[..., -1:]) * torch.cos(boxes2[..., -1:])
        rad_tg_encoding = torch.cos(boxes1[..., -1:]) * torch.sin(boxes2[..., -1:])
        boxes1 = torch.cat([boxes1[..., :-1], rad_pred_encoding], dim=-1)
        boxes2 = torch.cat([boxes2[..., :-1], rad_tg_encoding], dim=-1)
        return boxes1, boxes2
    

    Hopefully for any advice @a157801 @poodarchu

    opened by muzi2045 12
  • Trying to train cbfgs. All values are NaN.

    Trying to train cbfgs. All values are NaN.

    Kindly help all values are naN . Iam using single GPU

    2020-01-07 17:22:53,040 - INFO - task : ['car'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 26.6600, num_neg: 31688.8400 2020-01-07 17:22:53,040 - INFO - task : ['truck', 'construction_vehicle'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 40.4800, num_neg: 63408.1400 2020-01-07 17:22:53,040 - INFO - task : ['bus', 'trailer'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 58.1800, num_neg: 63362.3000 2020-01-07 17:22:53,040 - INFO - task : ['barrier'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 7.8600, num_neg: 31742.0200 2020-01-07 17:22:53,040 - INFO - task : ['motorcycle', 'bicycle'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 11.8800, num_neg: 63486.6800 2020-01-07 17:22:53,040 - INFO - task : ['pedestrian', 'traffic_cone'], loss: nan, cls_pos_loss: nan, cls_neg_loss: nan, dir_loss_reduced: nan, cls_loss_reduced: nan, loc_loss_reduced: nan, loc_loss_elem: ['nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan', 'nan'], num_pos: 13.6200, num_neg: 63489.2200

    opened by chowkamlee81 11
  • How to solve this problem? FileNotFoundError: [Errno 2] No such file or directory:

    How to solve this problem? FileNotFoundError: [Errno 2] No such file or directory:

    How to solve this problem? FileNotFoundError: [Errno 2] No such file or directory: '/media/jsu/F81CA38A1CA3430C/nuScences/NUSCENES_TRAINVAL_DATASET_ROOT/infos_train_10sweeps_withvelo.pkl'

    I ran this command ‘python tools/create_data.py nuscenes_data_prep --root_path='/media/jsu/F81CA38A1CA3430C/nuScences/NUSCENES_TRAINVAL_DATASET_ROOT/' --version="v1.0-trainval" --nsweeps=10’。 The error is as follows: FileNotFoundError: [Errno 2] No such file or directory: '/media/jsu/F81CA38A1CA3430C/nuScences/NUSCENES_TRAINVAL_DATASET_ROOT/infos_train_10sweeps_withvelo.pkl'

    opened by QYWT 8
  • Unexpected endless waiting

    Unexpected endless waiting

    when I use 4 gpus to train a model, the training process always wait something suddenly. Do nothing, and take up the gpu resources. When I forcibly stop the process, It shows:

    File "/opt/conda/lib/python3.6/runpy.py" , line 193, in _run_module_as_main
      "__main__", mod_spec)
    File "/opt/conda/lib/python3.6/runpy.py" , line 85, in _run_code
      exec(code, run_globals)
    File "/opt/conda/lib/python3.6/site-packages/torch/distributed/launch.py" , line 235, in <module>
      main()
    File "/opt/conda/lib/python3.6/site-packages/torch/distributed/launch.py" , line 228, in main
      process.wait()
    File "/opt/conda/lib/python3.6/subprocess.py" , line 1477, in wait
      (pid, sts) = self._try_wait(0)
    File "/opt/conda/lib/python3.6/subprocess.py", line 1424, in _try_wait
      (pid, sts) = os.waitpid(self.pid, wait_flags)
    
    

    Even after half a day, the process do nothing but wait. Can you explain this? How to continue the training process or aviod the endless waiting?

    opened by Chi-Zaozao 8
  • CUDA error terminates the training process

    CUDA error terminates the training process

    Sometimes my program is terminated by "CUDA error: an illegal memory acess was encountered" in the training process. I used official code and default config setting, only changing the data_root and work_dir, the bug occured in the training in both cases of single gpu and distributed multiple gpus. The picture below shows the error infomation: 中途停顿

    Sometimes the training on a single gpu could also be terminated as below: 单卡训的问题

    While this problems seems can be ignored in multi-gpu training: 单卡问题被忽略

    The envrionment of my server includes:

    - OS: Ubuntu 16.04
    - Python:  3.7.3
    - CUDA: 10.1
    - CUDNN: 7.4.1
    - pytorch: 1.3.1
    - gcc: 5.5.0
    - cmake: 3.16.0
    - nvidia driver version: 418.40.04
    - gpu: 8 TITAN Xp
    

    Really weird! How can i solve the problems as they usually occurs? Could anyone provide some information on these problems? Thanks a lot!

    opened by Son-Goku-gpu 8
  • NumbaWarning

    NumbaWarning

    Does it normal that several numbawarning happens when I train PointPillars on the nuscenes mini? whereas it produce the final result. what I observed:

    2020-02-26 18:17:27,109 - INFO - Start running, host: [email protected], work_dir: /workspace/det3d_requirement/Det3D/data/Outputs/Det3D_Outputs/PointPillars_lucky_jupyter_20200226-181359
    2020-02-26 18:17:27,110 - INFO - workflow: [('train', 1), ('val', 1)], max: 20 epochs
    /workspace/det3d_requirement/Det3D/det3d/core/sampler/preprocess.py:464: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      points[i : i + 1, :3] = points[i : i + 1, :3] @ rot_mat_T[j]
    /workspace/det3d_requirement/Det3D/det3d/core/sampler/preprocess.py:464: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      points[i : i + 1, :3] = points[i : i + 1, :3] @ rot_mat_T[j]
    /workspace/det3d_requirement/Det3D/det3d/core/sampler/preprocess.py:464: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      points[i : i + 1, :3] = points[i : i + 1, :3] @ rot_mat_T[j]
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/npydecl.py:958: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      warnings.warn(NumbaPerformanceWarning(msg))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/npydecl.py:958: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      warnings.warn(NumbaPerformanceWarning(msg))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/npydecl.py:958: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (array(float32, 2d, A), array(float32, 2d, C))
      warnings.warn(NumbaPerformanceWarning(msg))
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITH looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: Invalid use of Function(<built-in function getitem>) with argument(s) of type(s): (array(float32, 3d, C), Tuple(slice<a:b>, list(int64), slice<a:b>))
     * parameterized
    In definition 0:
        All templates rejected with literals.
    In definition 1:
        All templates rejected without literals.
    In definition 2:
        All templates rejected with literals.
    In definition 3:
        All templates rejected without literals.
    In definition 4:
        All templates rejected with literals.
    In definition 5:
        All templates rejected without literals.
    In definition 6:
        All templates rejected with literals.
    In definition 7:
        All templates rejected without literals.
    In definition 8:
        All templates rejected with literals.
    In definition 9:
        All templates rejected without literals.
    In definition 10:
        All templates rejected with literals.
    In definition 11:
        All templates rejected without literals.
    In definition 12:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    In definition 13:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    This error is usually caused by passing an argument of a type that is unsupported by the named function.
    [1] During: typing of intrinsic-call at /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py (298)
    
    File "det3d/core/bbox/geometry.py", line 298:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
                    :,
                    [num_points_of_polygon - 1] + list(range(num_points_of_polygon - 1)),
                    ^
    
      @numba.jit
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITH looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: Invalid use of Function(<built-in function getitem>) with argument(s) of type(s): (array(float32, 3d, C), Tuple(slice<a:b>, list(int64), slice<a:b>))
     * parameterized
    In definition 0:
        All templates rejected with literals.
    In definition 1:
        All templates rejected without literals.
    In definition 2:
        All templates rejected with literals.
    In definition 3:
        All templates rejected without literals.
    In definition 4:
        All templates rejected with literals.
    In definition 5:
        All templates rejected without literals.
    In definition 6:
        All templates rejected with literals.
    In definition 7:
        All templates rejected without literals.
    In definition 8:
        All templates rejected with literals.
    In definition 9:
        All templates rejected without literals.
    In definition 10:
        All templates rejected with literals.
    In definition 11:
        All templates rejected without literals.
    In definition 12:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    In definition 13:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    This error is usually caused by passing an argument of a type that is unsupported by the named function.
    [1] During: typing of intrinsic-call at /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py (298)
    
    File "det3d/core/bbox/geometry.py", line 298:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
                    :,
                    [num_points_of_polygon - 1] + list(range(num_points_of_polygon - 1)),
                    ^
    
      @numba.jit
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITH looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: Invalid use of Function(<built-in function getitem>) with argument(s) of type(s): (array(float32, 3d, C), Tuple(slice<a:b>, list(int64), slice<a:b>))
     * parameterized
    In definition 0:
        All templates rejected with literals.
    In definition 1:
        All templates rejected without literals.
    In definition 2:
        All templates rejected with literals.
    In definition 3:
        All templates rejected without literals.
    In definition 4:
        All templates rejected with literals.
    In definition 5:
        All templates rejected without literals.
    In definition 6:
        All templates rejected with literals.
    In definition 7:
        All templates rejected without literals.
    In definition 8:
        All templates rejected with literals.
    In definition 9:
        All templates rejected without literals.
    In definition 10:
        All templates rejected with literals.
    In definition 11:
        All templates rejected without literals.
    In definition 12:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    In definition 13:
        TypeError: unsupported array index type list(int64) in Tuple(slice<a:b>, list(int64), slice<a:b>)
        raised from /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/typing/arraydecl.py:71
    This error is usually caused by passing an argument of a type that is unsupported by the named function.
    [1] During: typing of intrinsic-call at /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py (298)
    
    File "det3d/core/bbox/geometry.py", line 298:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
                    :,
                    [num_points_of_polygon - 1] + list(range(num_points_of_polygon - 1)),
                    ^
    
      @numba.jit
    2020-02-26 18:17:36,478 - INFO - finding looplift candidates
    2020-02-26 18:17:36,478 - INFO - finding looplift candidates
    2020-02-26 18:17:36,478 - INFO - finding looplift candidates
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITHOUT looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: cannot determine Numba type of <class 'numba.dispatcher.LiftedLoop'>
    
    File "det3d/core/bbox/geometry.py", line 315:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        cross = 0.0
        for i in range(num_points):
        ^
    
      @numba.jit
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITHOUT looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: cannot determine Numba type of <class 'numba.dispatcher.LiftedLoop'>
    
    File "det3d/core/bbox/geometry.py", line 315:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        cross = 0.0
        for i in range(num_points):
        ^
    
      @numba.jit
    /workspace/det3d_requirement/Det3D/det3d/core/bbox/geometry.py:279: NumbaWarning: 
    Compilation is falling back to object mode WITHOUT looplifting enabled because Function "points_in_convex_polygon_jit" failed type inference due to: cannot determine Numba type of <class 'numba.dispatcher.LiftedLoop'>
    
    File "det3d/core/bbox/geometry.py", line 315:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        cross = 0.0
        for i in range(num_points):
        ^
    
      @numba.jit
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:178: NumbaWarning: Function "points_in_convex_polygon_jit" was compiled in object mode without forceobj=True, but has lifted loops.
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:178: NumbaWarning: Function "points_in_convex_polygon_jit" was compiled in object mode without forceobj=True, but has lifted loops.
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:178: NumbaWarning: Function "points_in_convex_polygon_jit" was compiled in object mode without forceobj=True, but has lifted loops.
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:188: NumbaDeprecationWarning: 
    Fall-back from the nopython compilation path to the object mode compilation path has been detected, this is deprecated behaviour.
    
    For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:188: NumbaDeprecationWarning: 
    Fall-back from the nopython compilation path to the object mode compilation path has been detected, this is deprecated behaviour.
    
    For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    /opt/conda/lib/python3.6/site-packages/numba-0.48.0-py3.6-linux-x86_64.egg/numba/object_mode_passes.py:188: NumbaDeprecationWarning: 
    Fall-back from the nopython compilation path to the object mode compilation path has been detected, this is deprecated behaviour.
    
    For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit
    
    File "det3d/core/bbox/geometry.py", line 290:
    def points_in_convex_polygon_jit(points, polygon, clockwise=True):
        <source elided>
        # first convert polygon to directed lines
        num_points_of_polygon = polygon.shape[1]
        ^
    
      state.func_ir.loc))
    2020-02-26 18:17:43,102 - INFO - Epoch [1/20][5/318]	lr: 0.00010, eta: 5:38:43, time: 3.198, data_time: 2.711, transfer_time: 0.027, forward_time: 0.171, loss_parse_time: 0.001 memory: 2501, 
    2020-02-26 18:17:43,102 - INFO - task : ['car'], loss: 485.3806, cls_pos_loss: 0.0385, cls_neg_loss: 240.4097, dir_loss_reduced: 0.8125, cls_loss_reduced: 480.8579, loc_loss_reduced: 4.3603, loc_loss_elem: ['0.2031', '0.1620', '0.6211', '0.2591', '0.1530', '0.2292', '0.8962', '1.4495', '0.3871'], num_pos: 23.0000, num_neg: 19952.0000
    2020-02-26 18:17:43,102 - INFO - task : ['truck', 'construction_vehicle'], loss: 1176.6788, cls_pos_loss: 550.3410, cls_neg_loss: 311.2071, dir_loss_reduced: 0.6776, cls_loss_reduced: 1172.7551, loc_loss_reduced: 3.7882, loc_loss_elem: ['0.3187', '0.2664', '0.5612', '0.3263', '0.5586', '0.3248', '0.5465', '0.5400', '0.3458'], num_pos: 24.4000, num_neg: 39932.0000
    2020-02-26 18:17:43,102 - INFO - task : ['bus', 'trailer'], loss: 396.4121, cls_pos_loss: 179.8583, cls_neg_loss: 106.0010, dir_loss_reduced: 0.7220, cls_loss_reduced: 391.8602, loc_loss_reduced: 4.4075, loc_loss_elem: ['0.3016', '0.1981', '0.3558', '0.4285', '1.6443', '0.2680', '0.4065', '0.3449', '0.4598'], num_pos: 72.8000, num_neg: 39916.2000
    2020-02-26 18:17:43,102 - INFO - task : ['barrier'], loss: 1901.0528, cls_pos_loss: 0.0422, cls_neg_loss: 948.9933, dir_loss_reduced: 0.7667, cls_loss_reduced: 1898.0289, loc_loss_reduced: 2.8706, loc_loss_elem: ['0.1731', '0.1723', '0.6855', '0.2647', '0.2434', '0.3112', '0.2356', '0.2740', '0.5107'], num_pos: 14.2000, num_neg: 19984.2000
    2020-02-26 18:17:43,102 - INFO - task : ['motorcycle', 'bicycle'], loss: 2253.0825, cls_pos_loss: 1050.6371, cls_neg_loss: 598.2773, dir_loss_reduced: 0.7013, cls_loss_reduced: 2247.1917, loc_loss_reduced: 5.7506, loc_loss_elem: ['0.2719', '0.3527', '0.6125', '0.3074', '0.3881', '0.2621', '1.1131', '1.9434', '0.4993'], num_pos: 8.2000, num_neg: 39990.4000
    2020-02-26 18:17:43,103 - INFO - task : ['pedestrian', 'traffic_cone'], loss: 2289.1748, cls_pos_loss: 1212.1962, cls_neg_loss: 536.2855, dir_loss_reduced: 0.7453, cls_loss_reduced: 2284.7673, loc_loss_reduced: 4.2585, loc_loss_elem: ['0.3888', '0.3689', '0.6287', '0.3924', '0.3640', '0.3956', '0.4584', '0.6679', '0.5938'], num_pos: 19.6000, num_neg: 39978.6000
    

    I don't know what the normal result should be. Could you give a tutorial please? Maybe a jupyter notebook? Thank you very much.

    opened by Chi-Zaozao 7
  • Error in nuscenes-devkit installation

    Error in nuscenes-devkit installation

    Error when I install the nuscenes-devkit. The detail error is : error in nuscenes-zbj setup command: "values of 'package_data' dict" must be a list of strings (got '*.json')

    opened by nyg2017 7
  • Install issue.

    Install issue.

    In file included from det3d/ops/pointnet2/src/interpolate.cpp:7: det3d/ops/pointnet2/src/interpolate.cpp: In function ‘std::vectorat::Tensor three_nn(at::Tensor, at::Tensor)’: det3d/ops/pointnet2/src/utils.h:17:5: error: ‘TORCH_CHECK’ was not declared in this scope

    pytorch version 1.1 python 3.6 cuda 11.4

    opened by binjiaqm 0
  • refactoring code with Assign Multiple Targets

    refactoring code with Assign Multiple Targets

    refactoring code with Assign Multiple Targets which is more pythonic, concise, readable and efficient;how do think this change which has practical value?

    opened by idiomaticrefactoring 0
  • No module named 'torchie'

    No module named 'torchie'

    Hi, when i was using your codebase, i came across such error:

     File "/root/11/centerpoint/det3d/torchie/utils/config.py", line 95, in fromfile
        import torchie
    ModuleNotFoundError: No module named 'torchie'
    

    could you give me some ideas to fix it? thanks! :)

    opened by TianhaoFu 0
  • Cuda execution failed with error 2

    Cuda execution failed with error 2

    I run : ./tools/scripts/train.sh train1 I get error: /spconv/src/spconv/indice.cu 125 cuda execution failed with error 2

    My PC have only 1 GPU NVIDIA GeForce RTX 2080 SUPER - 8GB My software : CUDA Version 10.0.130 cudnn : 7603 pytorch : 1.3.0 spconv : 1.0 Cmake: cmake version 3.21.3 ninjia: 1.9.0 Python 3.6.8

    I installed without docker or with docker , I got the same error /spconv/src/spconv/indice.cu 125 cuda execution failed with error 2 DO you have idea to resolve error above ? Thank you !

    opened by tuan97anton 4
  • when I set the batchsize 1, I found the the shape of feature from the PillarFeatureNet becomes [64] instead of [N, 64]

    when I set the batchsize 1, I found the the shape of feature from the PillarFeatureNet becomes [64] instead of [N, 64]

    If you do not know the root cause of the problem / bug, and wish someone to help you, please post according to this template:

    Instructions To Reproduce the Issue:

    1. what changes you made (git diff) or what code you wrote
    samples_per_gpu=1,
    workers_per_gpu=1,
    
    1. what exact command you run: python tools/train.py examples/point_pillars/configs/kitti_point_pillars_mghead_syncbn.py
    2. what you observed (including the full logs):
    2021-09-14 16:50:33,540 - INFO - workflow: [('train', 5), ('val', 1)], max: 100 epochs
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([8550, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([10580, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([10413, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([9167, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([12000, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([12000, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([12000, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([10283, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([12000, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([12000, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([11906, 64])
    The shape of feature from the PillarFeatureNet
    input_features.shape:  torch.Size([64])
    Traceback (most recent call last):
      File "/home/wensuinan/program/centerpoint/det_modified/tools/train.py", line 132, in <module>
        main()
      File "/home/wensuinan/program/centerpoint/det_modified/tools/train.py", line 127, in main
        logger=logger,
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/torchie/apis/train.py", line 325, in train_detector
        trainer.run(data_loaders, cfg.workflow, cfg.total_epochs, local_rank=cfg.local_rank)
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/torchie/trainer/trainer.py", line 537, in run
        epoch_runner(data_loaders[i], self.epoch, **kwargs)
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/torchie/trainer/trainer.py", line 404, in train
        self.model, data_batch, train_mode=True, **kwargs
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/torchie/trainer/trainer.py", line 363, in batch_processor_inline
        losses = model(example, return_loss=True)
      File "/home/wensuinan/anaconda3/envs/centerpoint/lib/python3.6/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
        result = self.forward(*input, **kwargs)
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/models/detectors/two_stage.py", line 169, in forward
        out = self.single_det.forward_two_stage(example, return_loss, **kwargs)
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/models/detectors/point_pillars.py", line 74, in forward_two_stage
        x = self.extract_feat(data)     # 3, 384, 248, 216
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/models/detectors/point_pillars.py", line 28, in extract_feat
        input_features, data["coors"], data["batch_size"], data["input_shape"]
      File "/home/wensuinan/anaconda3/envs/centerpoint/lib/python3.6/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
        result = self.forward(*input, **kwargs)
      File "/home/wensuinan/program/centerpoint/det_modified/det3d/models/readers/pillar_encoder.py", line 198, in forward
        voxels = voxel_features[batch_mask, :]
    IndexError: too many indices for tensor of dimension 1
    
    1. please also simplify the steps as much as possible so they do not require additional resources to run, such as a private dataset.

    Expected behavior:

    If there are no obvious error in "what you observed" provided above, please tell us the expected behavior.

    If you expect the model to converge / work better, note that we do not give suggestions on how to train a new model. Only in one of the two conditions we will help with it: (1) You're unable to reproduce the results in model zoo. (2) It indicates a bug in Det3D.

    opened by qfwysw 0
Owner
Benjin Zhu
Computer Vision, Robotics. Re
Benjin Zhu
ImVoxelNet: Image to Voxels Projection for Monocular and Multi-View General-Purpose 3D Object Detection

ImVoxelNet: Image to Voxels Projection for Monocular and Multi-View General-Purpose 3D Object Detection This repository contains implementation of the

Visual Understanding Lab @ Samsung AI Center Moscow 183 Nov 16, 2022
Hybrid CenterNet - Hybrid-supervised object detection / Weakly semi-supervised object detection

Hybrid-Supervised Object Detection System Object detection system trained by hybrid-supervision/weakly semi-supervision (HSOD/WSSOD): This project is

null 4 Mar 21, 2022
Yolo object detection - Yolo object detection with python

How to run download required files make build_image make download Docker versio

null 3 Jan 26, 2022
A general python framework for single object tracking in LiDAR point clouds, based on PyTorch Lightning.

Open3DSOT A general python framework for single object tracking in LiDAR point clouds, based on PyTorch Lightning. The official code release of BAT an

Kangel Zenn 161 Nov 22, 2022
Official PyTorch implementation of Joint Object Detection and Multi-Object Tracking with Graph Neural Networks

This is the official PyTorch implementation of our paper: "Joint Object Detection and Multi-Object Tracking with Graph Neural Networks". Our project website and video demos are here.

Richard Wang 442 Nov 15, 2022
Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera. This project prepares training and testing data for various deep learning projects such as 6D object pose estimation projects singleshotpose, as well as object detection and instance segmentation projects.

null 298 Nov 21, 2022
Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020)

GraspNet Baseline Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020). [paper] [dataset] [API] [do

GraspNet 198 Nov 17, 2022
A general framework for deep learning experiments under PyTorch based on pytorch-lightning

torchx Torchx is a general framework for deep learning experiments under PyTorch based on pytorch-lightning. TODO list gan-like training wrapper text

Yingtian Liu 6 Mar 17, 2022
CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection

CLOCs is a novel Camera-LiDAR Object Candidates fusion network. It provides a low-complexity multi-modal fusion framework that improves the performance of single-modality detectors. CLOCs operates on the combined output candidates of any 3D and any 2D detector, and is trained to produce more accurate 3D and 2D detection results.

Su Pang 248 Nov 22, 2022
Object Detection and Multi-Object Tracking

Object Detection and Multi-Object Tracking

Bobby Chen 1.6k Nov 23, 2022
Object tracking and object detection is applied to track golf puts in real time and display stats/games.

Putting_Game Object tracking and object detection is applied to track golf puts in real time and display stats/games. Works best with the Perfect Prac

Max 1 Dec 29, 2021
Auto-Lama combines object detection and image inpainting to automate object removals

Auto-Lama Auto-Lama combines object detection and image inpainting to automate object removals. It is build on top of DE:TR from Facebook Research and

null 42 Oct 23, 2022
Implementation of paper "DeepTag: A General Framework for Fiducial Marker Design and Detection"

Implementation of paper DeepTag: A General Framework for Fiducial Marker Design and Detection. Project page: https://herohuyongtao.github.io/research/

Yongtao Hu 47 Nov 8, 2022
[Official] Exploring Temporal Coherence for More General Video Face Forgery Detection(ICCV 2021)

Exploring Temporal Coherence for More General Video Face Forgery Detection(FTCN) Yinglin Zheng, Jianmin Bao, Dong Chen, Ming Zeng, Fang Wen Accepted b

null 53 Nov 18, 2022
(Py)TOD: Tensor-based Outlier Detection, A General GPU-Accelerated Framework

(Py)TOD: Tensor-based Outlier Detection, A General GPU-Accelerated Framework Background: Outlier detection (OD) is a key data mining task for identify

Yue Zhao 118 Nov 15, 2022
A Data Annotation Tool for Semantic Segmentation, Object Detection and Lane Line Detection.(In Development Stage)

Data-Annotation-Tool How to Run this Tool? To run this software, follow the steps: git clone https://github.com/Autonomous-Car-Project/Data-Annotation

TiVRA AI 13 Aug 18, 2022
object detection; robust detection; ACM MM21 grand challenge; Security AI Challenger Phase VII

赛题背景 在商品知识产权领域,知识产权体现为在线商品的设计和品牌。不幸的是,在每一天,存在着非法商户通过一些对抗手段干扰商标识别来逃避侵权,这带来了很高的知识产权风险和财务损失。为了促进先进的多媒体人工智能技术的发展,以保护企业来之不易的创作和想法免受恶意使用和剽窃,因此提出了鲁棒性标识检测挑战赛

null 62 Nov 5, 2022
This project deals with the detection of skin lesions within the ISICs dataset using YOLOv3 Object Detection with Darknet.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Skin Lesion detection using YOLO This project deal

Lalith Veerabhadrappa Badiger 1 Nov 22, 2021