This repo presents you the official code of "VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention"

Related tags

Miscellaneous VISTA
Overview

VISTA

arc

VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention

Shengheng Deng, Zhihao Liang, Lin Sun and Kui Jia*

(*) Corresponding author

Introduction

Detecting objects from LiDAR point clouds is of tremendous significance in autonomous driving. In spite of good progress, accurate and reliable 3D detection is yet to be achieved due to the sparsity and irregularity of LiDAR point clouds. Among existing strategies, multi-view methods have shown great promise by leveraging the more comprehensive information from both bird's eye view (BEV) and range view (RV). These multi-view methods either refine the proposals predicted from single view via fused features, or fuse the features without considering the global spatial context; their performance is limited consequently. In this paper, we propose to adaptively fuse multi-view features in a global spatial context via Dual Cross-VIew SpaTial Attention (VISTA). The proposed VISTA is a novel plug-and-play fusion module, wherein the multi-layer perceptron widely adopted in standard attention modules is replaced with a convolutional one. Thanks to the learned attention mechanism, VISTA can produce fused features of high quality for prediction of proposals. We decouple the classification and regression tasks in VISTA, and an additional constraint of attention variance is applied that enables the attention module to focus on specific targets instead of generic points. [arxiv]

Requirements

  • Linux
  • Python 3.7+ (Tested on 3.7)
  • PyTorch 1.8 or higher (Tested on 1.8.1)
  • CUDA 11.1 or higher (Tested on 11.1)
  • spconv 2.0+

Notes

  • Spconv should be the exact same version we provide in the instruction down below

  • Nuscenes-Devkit should be the exact same version we provide in the instruction down below

Installation

Make sure your gpu driver and system environment support the pytorch version

conda create --name vista python=3.7
conda activate vista
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

git clone https://github.com/Gorilla-Lab-SCUT/VISTA.git

pip install -r requirements.txt

python setup.py build develop

Spconv

Please refer to spconv for detailed installation instructions

In our cases, we follow the command down below to install the latest spconv 2.0 which is faster and lighter than spconv 1.0, and is easier to install

pip install spconv-cu111

NOTE You need to install the spconv according to your current CUDA version!

Nuscenes-Devkit

git clone https://github.com/AndlollipopDE/nuscenes.git
cd nuscenes
pip install -r requirements.txt
python setup.py install

Data Preparation

Download the nuscenes data and organise as follows

NUSCENES_TRAINVAL_DATASET_ROOT
       ├── samples       <-- key frames
       ├── sweeps        <-- frames without annotation
       ├── maps          <-- unused
       └── v1.0-trainval <-- metadata and annotations
NUSCENES_TEST_DATASET_ROOT
       ├── samples       <-- key frames
       ├── sweeps        <-- frames without annotation
       ├── maps          <-- unused
       └── v1.0-test     <-- metadata

Then run the following command to create data pkl for trainval set

python tools/create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-trainval" --nsweeps=10

If you want to create data pkl for test set:

python tools/create_data.py nuscenes_data_prep_test --root_path=NUSCENES_TEST_DATASET_ROOT --nsweeps=10

Training

We provide the configurations. Please modify the data path and batch size accordingly

To train the VISTA, please run the following command, note that you should modify the workdir path and CUDA GPU Number in the script

./tools/scripts/train.sh experiment_description configuration_path

To resume a training, run

./tools/scripts/train.sh experiment_description configuration_path resume_checkpoint_path

Evaluation and Testing

To evaluate the VISTA on the validation set, simply run

./tools/scripts/test.sh configuration_path work_dir workdir/checkpoint.pth

To test the VISTA on the test set, please enable the test flag in test.sh and replace the testing pkl path in dist_test.py

Pretrained model

We provide a pretrained model trained on the nuScenes dataset, the configuration is exactly the one we provide. The pretrained model can be downloaded from Google Drive. The performances of the pretrained model on validation set of nuScenes are presented down below (Double Flip Enabled).

mAP NDS Car AP Truck AP Bus AP Trailer AP
62.83 69.52 85.93 60.73 68.40 41.42
Cons Vehicle AP Pedestrian AP Motorcycle AP Bicycle AP Traffic Cone AP Barrier AP
23.50 85.40 70.20 55.53 71.47 65.84

Acknowlegement

This repo is built upon several opensourced codebases, shout out to them for their amazing works.

Citation

If you find this work useful in your research, please cite

@inproceedings{deng2022vista,
  title={VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention},
  author={Deng, Shengheng and Liang, Zhihao and Sun, Lin and Jia, Kui},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2022}
}

Bugs

If you find any bugs in this repo, please let me know!

Comments
  • Evaluation performance

    Evaluation performance

    hello, @AndlollipopDE, your work is great, I trained the model with all configurations unchanged but got a strange evaluation performance. the mAVE/mAAE/NDS is faraway behind your pretrained model.

    | name | mAP | mATE | mASE | mAOE | mAVE | mAAE | NDS | | ----| ---- | ---- | ---- |---- |---- |---- |---- | | Yours | 0.6283 | 0.2925 | 0.2452 | 0.2573 | 0.1980 | 0.1967 | 0.6952 | | Own | 0.6298 | 0.2890 | 0.2457 | 0.2563 | 1.3230 | 0.4685 | 0.5890 |

    mAP seems normal for all classes, but the NDS is really strange, can you give some suggestion for this?

    opened by FangGet 5
  • A question about attetion

    A question about attetion

    Hello, it's impressive work and it's pleasure to read your code. And i have a question about the details in attention module... In the paper, the BEV feature is added by attentioned RV feature, but in the code below, the bev feature is added twice, one in ConvAttentionLayer_Decouple and one in self.residual_add. From my point of view, it should be only add once in second place. Is there any special design or is it experimentally proven to work better? Forward for your replay~

    temp_view = view + r

    bev_output_feat_map = self.residual_add(bev_feat_map, bev_atten_output, bev_kernel_size).contiguous()

    opened by Liaoqing-up 3
  • ModuleNotFoundError: No module named 'det3d.utils.dist'

    ModuleNotFoundError: No module named 'det3d.utils.dist'

    I'm debugging your code and running "python tools/create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-trainval" --nsweeps=10" this code. The following error occurs

    (vista) xgp@xgp-pc:~/pyPrj/VISTA$ python tools/create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-trainval" --nsweeps=10 Traceback (most recent call last): File "tools/create_data.py", line 11, in from det3d.datasets.nuscenes import nusc_common as nu_ds File "/home/xgp/pyPrj/VISTA/det3d/datasets/init.py", line 3, in from .nuscenes import NuScenesDataset File "/home/xgp/pyPrj/VISTA/det3d/datasets/nuscenes/init.py", line 1, in from .nuscenes import NuScenesDataset File "/home/xgp/pyPrj/VISTA/det3d/datasets/nuscenes/nuscenes.py", line 15, in from det3d.datasets.custom import PointCloudDataset File "/home/xgp/pyPrj/VISTA/det3d/datasets/custom.py", line 8, in from .pipelines import Compose File "/home/xgp/pyPrj/VISTA/det3d/datasets/pipelines/init.py", line 16, in from .preprocess import Preprocess, Voxelization File "/home/xgp/pyPrj/VISTA/det3d/datasets/pipelines/preprocess.py", line 6, in from det3d.builder import ( File "/home/xgp/pyPrj/VISTA/det3d/builder.py", line 18, in from det3d.models.losses import losses File "/home/xgp/pyPrj/VISTA/det3d/models/init.py", line 2, in from .backbones import * # noqa: F401,F403 File "/home/xgp/pyPrj/VISTA/det3d/models/backbones/init.py", line 1, in from .scn import RCNNSpMiddleFHD, SpMiddleFHD File "/home/xgp/pyPrj/VISTA/det3d/models/backbones/scn.py", line 8, in from det3d.models.utils import Empty, change_default_args File "/home/xgp/pyPrj/VISTA/det3d/models/utils/init.py", line 1, in from .conv_module import ConvModule, build_conv_layer File "/home/xgp/pyPrj/VISTA/det3d/models/utils/conv_module.py", line 7, in from .norm import build_norm_layer File "/home/xgp/pyPrj/VISTA/det3d/models/utils/norm.py", line 4, in from det3d.utils.dist import dist_common as comm ModuleNotFoundError: No module named 'det3d.utils.dist'

    Can you help me solve this problem? thank you

    opened by XGP810364691 3
  • does this train log is right?

    does this train log is right?

    2022-05-15 08:12:46,743 - INFO - Epoch [20/20][7720/7724] lr: 0.00000, eta: 0:00:06, time: 1.556, data_time: 0.030, transfer_time: 0.017, forward_time: 0.593, loss_parse_time: 0.000 memory: 20244, 2022-05-15 08:12:46,743 - INFO - task : ['car'], loss: 0.4897, cls_pos_loss: 39.7980, cls_neg_loss: 7.9678, cls_loss_reduced: 0.1939, loc_loss_reduced: 0.2963, loc_loss_elem: ['0.1600', '0.1844', '0.1411', '0.0669', '0.0563', '0.0727', '0.0992', '0.1623', '0.1025', '0.1399'], num_pos: 1192.8000, num_neg: 217831.2000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['car'], loss: 0.4868, cls_pos_loss: 35.7277, cls_neg_loss: 6.1502, cls_loss_reduced: 0.1860, loc_loss_reduced: 0.3013, loc_loss_elem: ['0.1767', '0.1825', '0.1398', '0.0646', '0.0436', '0.0636', '0.0850', '0.1920', '0.1330', '0.1245'], num_pos: 1070.8000, num_neg: 217953.2000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['truck', 'construction_vehicle'], loss: 0.5707, cls_pos_loss: 26.7107, cls_neg_loss: 8.4709, cls_loss_reduced: 0.2211, loc_loss_reduced: 0.3501, loc_loss_elem: ['0.1877', '0.2110', '0.2062', '0.0999', '0.1100', '0.0986', '0.0412', '0.0774', '0.1877', '0.1807'], num_pos: 800.0000, num_neg: 218224.0000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['car'], loss: 0.3706, cls_pos_loss: 30.9678, cls_neg_loss: 7.2526, cls_loss_reduced: 0.1557, loc_loss_reduced: 0.2154, loc_loss_elem: ['0.1434', '0.1362', '0.1243', '0.0494', '0.0452', '0.0634', '0.0505', '0.0466', '0.0676', '0.1349'], num_pos: 1213.6000, num_neg: 217810.4000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['truck', 'construction_vehicle'], loss: 0.5138, cls_pos_loss: 25.3130, cls_neg_loss: 7.8816, cls_loss_reduced: 0.2034, loc_loss_reduced: 0.3109, loc_loss_elem: ['0.1986', '0.1927', '0.2306', '0.0680', '0.0910', '0.0708', '0.0604', '0.0889', '0.1219', '0.1206'], num_pos: 821.2000, num_neg: 218202.8000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['bus', 'trailer'], loss: 0.5221, cls_pos_loss: 20.3353, cls_neg_loss: 3.9172, cls_loss_reduced: 0.1991, loc_loss_reduced: 0.3235, loc_loss_elem: ['0.1858', '0.2285', '0.1994', '0.0657', '0.0761', '0.0763', '0.1176', '0.0753', '0.1341', '0.1350'], num_pos: 575.8000, num_neg: 218448.2000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['truck', 'construction_vehicle'], loss: 0.5325, cls_pos_loss: 30.7220, cls_neg_loss: 7.7134, cls_loss_reduced: 0.2229, loc_loss_reduced: 0.3101, loc_loss_elem: ['0.2113', '0.2105', '0.2012', '0.0883', '0.0984', '0.0973', '0.0447', '0.0410', '0.1183', '0.1293'], num_pos: 823.0000, num_neg: 218201.0000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['bus', 'trailer'], loss: 0.5451, cls_pos_loss: 20.6988, cls_neg_loss: 5.1361, cls_loss_reduced: 0.1931, loc_loss_reduced: 0.3524, loc_loss_elem: ['0.2195', '0.3080', '0.2250', '0.0719', '0.0756', '0.0805', '0.0881', '0.0996', '0.1043', '0.1372'], num_pos: 637.2000, num_neg: 218386.8000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['barrier'], loss: 0.5466, cls_pos_loss: 7.8401, cls_neg_loss: 1.4271, cls_loss_reduced: 0.1737, loc_loss_reduced: 0.3733, loc_loss_elem: ['0.1640', '0.2043', '0.0973', '0.0737', '0.1422', '0.0899', '0.0110', '0.0239', '0.2895', '0.3973'], num_pos: 261.2000, num_neg: 218761.2000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['bus', 'trailer'], loss: 0.6005, cls_pos_loss: 21.6510, cls_neg_loss: 4.9544, cls_loss_reduced: 0.2182, loc_loss_reduced: 0.3828, loc_loss_elem: ['0.2106', '0.3028', '0.2388', '0.0765', '0.0878', '0.0785', '0.1120', '0.1403', '0.1422', '0.1415'], num_pos: 579.8000, num_neg: 218444.2000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['barrier'], loss: 0.5430, cls_pos_loss: 6.5709, cls_neg_loss: 1.3659, cls_loss_reduced: 0.1721, loc_loss_reduced: 0.3714, loc_loss_elem: ['0.1295', '0.1416', '0.1110', '0.0525', '0.1577', '0.0632', '0.0135', '0.0170', '0.3678', '0.4318'], num_pos: 218.6000, num_neg: 218805.4000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['motorcycle', 'bicycle'], loss: 0.4751, cls_pos_loss: 5.3969, cls_neg_loss: 1.4374, cls_loss_reduced: 0.2119, loc_loss_reduced: 0.2637, loc_loss_elem: ['0.0788', '0.0814', '0.0869', '0.1209', '0.0761', '0.0742', '0.0684', '0.0655', '0.1779', '0.2246'], num_pos: 156.0000, num_neg: 218867.8000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['barrier'], loss: 0.5746, cls_pos_loss: 6.3840, cls_neg_loss: 1.1629, cls_loss_reduced: 0.2062, loc_loss_reduced: 0.3688, loc_loss_elem: ['0.1085', '0.1475', '0.1067', '0.0723', '0.1614', '0.0749', '0.0198', '0.0261', '0.3026', '0.4556'], num_pos: 172.2000, num_neg: 218851.6000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['motorcycle', 'bicycle'], loss: 0.4852, cls_pos_loss: 5.0316, cls_neg_loss: 1.2284, cls_loss_reduced: 0.2062, loc_loss_reduced: 0.2794, loc_loss_elem: ['0.0955', '0.1071', '0.0966', '0.1175', '0.0717', '0.0773', '0.0347', '0.0901', '0.2000', '0.2271'], num_pos: 145.8000, num_neg: 218878.0000, var_loss: -0.0005 2022-05-15 08:12:46,743 - INFO - task : ['pedestrian', 'traffic_cone'], loss: 0.5569, cls_pos_loss: 1.6029, cls_neg_loss: 2.3435, cls_loss_reduced: 0.2166, loc_loss_reduced: 0.3408, loc_loss_elem: ['0.0715', '0.0804', '0.1103', '0.1199', '0.1649', '0.0729', '0.0456', '0.0618', '0.3183', '0.3175'], num_pos: 117.2000, num_neg: 218906.6000, var_loss: -0.0005

    Hi, I use your vista config to train the model, in which the batch size is 16. but I only have 7724 data samples in an epoch which is not equal to raw nuscenes train dataset size. is this right? could i see your train log?

    thanks! @AndlollipopDE

    opened by TianhaoFu 1
  • errors then create data

    errors then create data

    hi when i run the python tools/create_data.py nuscenes_data_prep --root_path="data/nuScenes/" --version="v1.0-trainval" --nsweeps=10 command, i came across such error:

    Traceback (most recent call last):
      File "tools/create_data.py", line 106, in <module>
        fire.Fire()
      File "/opt/conda/lib/python3.6/site-packages/fire/core.py", line 141, in Fire
        component_trace = _Fire(component, args, parsed_flag_args, context, name)
      File "/opt/conda/lib/python3.6/site-packages/fire/core.py", line 471, in _Fire
        target=component.__name__)
      File "/opt/conda/lib/python3.6/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
        component = fn(*varargs, **kwargs)
      File "tools/create_data.py", line 89, in nuscenes_data_prep
        resample_infos(train_info_copy_path, val_info_copy_path, nsweeps)
      File "tools/create_data.py", line 67, in resample_infos
        new_train_info_path = train_info_path.replace('velo.pkl', 'velo_resampled.pkl')
    TypeError: replace() takes 2 positional arguments but 3 were given
    

    could you helps me ?

    thanks!

    opened by TianhaoFu 1
  • The published code does not use attention model?

    The published code does not use attention model?

    In the configs/vista/vista.py neck uses RPNT. image But under the det3d/models/necks/attention.py, I see the attention model you mentioned in your paper. So if I want to use the attention model how do I need to change the config file?

    opened by ECNULchase 1
  • 这个问题该怎么解决呢 可以更换论文使用的torch 和 cuda版本吗

    这个问题该怎么解决呢 可以更换论文使用的torch 和 cuda版本吗

    2022-06-21 06:53:49,243 - INFO - Start running, host: root@b888ba3bf1e3, work_dir: /data/Outputs/VISTA/VISTA_experiment_description_20220621-065325 2022-06-21 06:53:49,243 - INFO - workflow: [('train', 1)], max: 20 epochs 2022-06-21 06:54:48,241 - INFO - finding looplift candidates 2022-06-21 06:54:49,855 - INFO - finding looplift candidates 2022-06-21 06:54:50,903 - INFO - finding looplift candidates 2022-06-21 06:54:50,913 - INFO - finding looplift candidates Traceback (most recent call last): File "./tools/train.py", line 137, in main() File "./tools/train.py", line 132, in main logger=logger, File "/content/drive/MyDrive/VISTA-main/det3d/torchie/apis/train.py", line 336, in train_detector trainer.run(data_loaders, cfg.workflow, cfg.total_epochs, local_rank=cfg.local_rank) File "/content/drive/MyDrive/VISTA-main/det3d/torchie/trainer/trainer.py", line 542, in run epoch_runner(data_loaders[i], self.epoch, **kwargs) File "/content/drive/MyDrive/VISTA-main/det3d/torchie/trainer/trainer.py", line 403, in train self.model, data_batch, train_mode=True, **kwargs File "/content/drive/MyDrive/VISTA-main/det3d/torchie/trainer/trainer.py", line 362, in batch_processor_inline losses = model(example, return_loss=True) File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/content/drive/MyDrive/VISTA-main/det3d/models/detectors/ohs.py", line 83, in forward xs, atten_maps = self.extract_feat(data) File "/content/drive/MyDrive/VISTA-main/det3d/models/detectors/ohs.py", line 66, in extract_feat return self.ca_neck((x_bev, x_rv)) File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/content/drive/MyDrive/VISTA-main/det3d/models/necks/attention.py", line 337, in forward bev_feat_block, rv_feat_block, bev_pos, rv_pos) File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(input, **kwargs) File "/content/drive/MyDrive/VISTA-main/det3d/models/necks/attention.py", line 206, in forward views, atten_maps= self.cross_atten(view_1, view_2, view_2, pos_emb_1, pos_emb_2) File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(input, **kwargs) File "/content/drive/MyDrive/VISTA-main/det3d/models/necks/attention.py", line 113, in forward energy = torch.bmm(q, k.transpose(1, 2)) # [h_qw_q, h_kvw_kv] RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches) Killing subprocess 859 Traceback (most recent call last): File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/usr/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.7/dist-packages/torch/distributed/launch.py", line 340, in main() File "/usr/local/lib/python3.7/dist-packages/torch/distributed/launch.py", line 326, in main sigkill_handler(signal.SIGTERM, None) # not coming back File "/usr/local/lib/python3.7/dist-packages/torch/distributed/launch.py", line 301, in sigkill_handler raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd) subprocess.CalledProcessError: Command '['/usr/bin/python3', '-u', './tools/train.py', '--local_rank=0', './configs/vista/vista.py', '--work_dir=/data/Outputs/VISTA/VISTA_experiment_description_20220621-065325']' returned non-zero exit status 1.

    opened by phoebedddd 0
  • evaluation error

    evaluation error

    hi, when i run the evaluation code, i came across such error, could you help me?

    thanks!

    Traceback (most recent call last):
      File "./tools/dist_test.py", line 186, in <module>
        main()
      File "./tools/dist_test.py", line 178, in main
        predictions, output_dir=args.work_dir)
      File 
    "vista/det3d/datasets/nuscenes/nuscenes.py", line 205, in evaluation
        gt_annos = self.ground_truth_annotations
      File "vista/
    "vista/det3d/datasets/nuscenes/nuscenes.py", line 138, in ground_truth_annotations
        cls_range_map = config_factory(self.eval_version).serialize()['class_range']
      File "/opt/conda/lib/python3.6/site-packages/nuscenes/eval/detection/config.py", line 22, in config_factory
        'Requested unknown configuration {}'.format(configuration_name)
    AssertionError: Requested unknown configuration cvpr_2019
    
    opened by TianhaoFu 0
  • A question about attetion

    A question about attetion

    Hello, it's impressive work and it's pleasure to read your code. And i have a question about the details in attention module... In the paper, the BEV feature is added by attentioned RV feature, but in the code below, the bev feature is added twice, one in ConvAttentionLayer_Decouple and one in self.residual_add. From my point of view, it should be only add once in second place. Is there any special design or is it experimentally proven to work better? Forward for your replay~

    temp_view = view + r

    bev_output_feat_map = self.residual_add(bev_feat_map, bev_atten_output, bev_kernel_size).contiguous()

    opened by Liaoqing-up 0
  • The essential elements of VISTA-CenterPoint

    The essential elements of VISTA-CenterPoint

    Hello, really impressive works! I see that the code in this repo is about VISTA-OHS, but what catches my eyes is your plug-and-play VISTA module applied in CenterPoint. I'm working on reproducing VISTA-CenterPoint mentioned in your paper. I add RV feature map and the cross-view attention neck, the attention loss. I wonder whether I should perform Regression and classification decoupling as well. Could you please give me some hints about how to implement VISTA-CenterPoint on my own since there is not much information about this on your paper. Thanks in advance.

    opened by QingXIA233 1
  • problem when evaluate the nuscenes dataset-mini  in colab

    problem when evaluate the nuscenes dataset-mini in colab

    hallo, when i evaluate the minidataset with the cmd !./tools/scripts/test.sh /content/VISTA/configs/vista/vista.py /content/VISTA/checkpoint --eval bbox there is an error

    `Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.


    Traceback (most recent call last): File "./tools/dist_test.py", line 186, in main() File "./tools/dist_test.py", line 86, in main torch.cuda.set_device(args.local_rank) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 261, in set_device torch._C._cuda_setDevice(device) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 170, in _lazy_init torch._C._cuda_init() RuntimeError: No CUDA GPUs are available Traceback (most recent call last): File "./tools/dist_test.py", line 186, in main() File "./tools/dist_test.py", line 86, in main torch.cuda.set_device(args.local_rank) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 261, in set_device torch._C._cuda_setDevice(device) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 170, in _lazy_init torch._C._cuda_init() RuntimeError: No CUDA GPUs are available Traceback (most recent call last): File "./tools/dist_test.py", line 186, in main() File "./tools/dist_test.py", line 86, in main torch.cuda.set_device(args.local_rank) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 261, in set_device torch._C._cuda_setDevice(device) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 170, in _lazy_init torch._C._cuda_init() RuntimeError: No CUDA GPUs are available Traceback (most recent call last): File "./tools/dist_test.py", line 186, in main() File "./tools/dist_test.py", line 86, in main torch.cuda.set_device(args.local_rank) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 261, in set_device torch._C._cuda_setDevice(device) File "/usr/local/lib/python3.7/site-packages/torch/cuda/init.py", line 170, in _lazy_init torch._C._cuda_init() RuntimeError: No CUDA GPUs are available Killing subprocess 3601 Killing subprocess 3602 Killing subprocess 3603 Killing subprocess 3604 Traceback (most recent call last): File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.7/site-packages/torch/distributed/launch.py", line 340, in main() File "/usr/local/lib/python3.7/site-packages/torch/distributed/launch.py", line 326, in main sigkill_handler(signal.SIGTERM, None) # not coming back File "/usr/local/lib/python3.7/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd) subprocess.CalledProcessError: Command '['/usr/local/bin/python', '-u', './tools/dist_test.py', '--local_rank=3', '/content/VISTA/configs/vista/vista.py', '--work_dir=/content/VISTA/checkpoint', '--checkpoint=--eval', '--test', 'True']' returned non-zero exit status 1.`

    Wed Jul 27 08:29:44 2022
    +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla P100-PCIE... Off | 00000000:00:04.0 Off | 0 | | N/A 36C P0 25W / 250W | 2MiB / 16280MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+

    +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found |

    and another problem when i create the data !python tools/create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-mini" --nsweeps=10 there is an erroe ModuleNotFoundError: No module named 'det3d.datasets.kitti'

    thanks

    opened by RouDanCongJii 1
  • The problem of VISTA

    The problem of VISTA

    Hi, thanks for your great work!

    In the paper,VISTA projects the input feature sequences X1 ∈ Rn×df and X2 ∈ Rm×df into queries Q ∈ Rn×dq and keys K ∈ Rm×dq (values V ∈Rm×dv) via convolutional operators of 3 × 3 kernels, where dq and dv are the feature dimensions of queries (keys) and values. To decouple the classification and regression tasks, Q and K are further projected into Qi, Ki, i ∈ {sem, geo} via individual MLP (implemented as 1D convolution).

    However,This is not the case in the code!

    opened by wensuinan 1
Owner
Research lab focusing on CV, ML, and AI
null
Repo Home WPDrawBot - (Repo, Home, WP) A powerful programmatic 2D drawing application for MacOS X which generates graphics from Python scripts. (graphics, dev, mac)

DrawBot DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in

Frederik Berlaen 342 Dec 27, 2022
This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help..

VS Code Virtual Assistant This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help. Its currentl

Soham Ghugare 6 Aug 22, 2021
You can easily send campaigns, e-marketing have actually account using cash will thank you for using our tools, and you can support our Vodafone Cash +201090788026

*** Welcome User Sorry I Mean Hello Brother ✓ Devolper and Design : Mokhtar Abdelkreem ========================================== You Can Follow Us O

Mo Code 1 Nov 3, 2021
A repo to record how I prepare my Interview, and really hope it can help you as well. Really appreciate Kieran's help in the pattern's part.

Project Overview The purpose of this repo is to help others to find solutions and explaintion I will commit a solution and explanation to every proble

Vincent Zhenhao ZHAO 1 Nov 29, 2021
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

??‍?? ??‍?? school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
AIST++ API This repo contains starter code for using the AIST++ dataset.

AIST++ API This repo contains starter code for using the AIST++ dataset. To download the dataset or explore details of this dataset, please go to our

Google 260 Dec 30, 2022
In this repo i inherit the pos module and added QR code to pos receipt

odoo-pos-inherit In this repo i inherit the pos module and added QR code to pos receipt 1- Create new Odoo Module using command line $ python odoo-bin

null 5 Apr 9, 2022
switching computer? changing your setup? You need to automate the download of your current setup? This is the right tool for you :incoming_envelope:

?? setup_shift(SS.py) switching computer? changing your setup? You need to automate the download of your current setup? This is the right tool for you

Mohamed Elfaleh 15 Aug 26, 2022
A plugin for poetry that allows you to execute scripts defined in your pyproject.toml, just like you can in npm or pipenv

poetry-exec-plugin A plugin for poetry that allows you to execute scripts defined in your pyproject.toml, just like you can in npm or pipenv Installat

null 38 Jan 6, 2023
Do you need a screensaver for CircuitPython? Of course you do

circuitpython_screensaver Do you need a screensaver for CircuitPython? Of course you do Demo video of dvdlogo screensaver: screensaver_dvdlogo.mp4 Dem

Tod E. Kurt 8 Sep 2, 2021
OnTime is a small python that you set a time and on that time, app will send you notification and also play an alarm.

OnTime Always be OnTime! What is OnTime? OnTime is a small python that you set a time and on that time, app will send you notification and also play a

AmirHossein Mohammadi 11 Jan 16, 2022
This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols.

Regex-Reverser This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols. Screenshots Usage/Examples py

x19 0 Jun 2, 2022
Allow you to create you own custom decentralize job management system.

ants Allow you to create you own custom decentralize job management system. Install $> git clone https://github.com/hvuhsg/ants.git Run monitor exampl

null 1 Feb 15, 2022
Wordless - the #1 app for helping you cheat at Wordle, which is sure to make you popular at parties

Wordless Wordless is the #1 app for helping you cheat at Wordle, which is sure t

James Kirk 7 Feb 4, 2022
A toy repo illustrating a minimal installable Python package

MyToy: a minimal Python package This repository contains a minimal, toy Python package with a few files as illustration for students of how to lay out

Fernando Perez 19 Apr 24, 2022
This is the repo for Uncertainty Quantification 360 Toolkit.

UQ360 The Uncertainty Quantification 360 (UQ360) toolkit is an open-source Python package that provides a diverse set of algorithms to quantify uncert

International Business Machines 207 Dec 30, 2022
This repo is related to Google Coding Challenge, given to Bright Network Internship Experience 2021.

BrightNetworkUK-GCC-2021 This repo is related to Google Coding Challenge, given to Bright Network Internship Experience 2021. Language used here is py

Dareer Ahmad Mufti 28 May 23, 2022
Educational Repo. Used whilst learning Flask.

flask_python Educational Repo. Used whilst learning Flask. The below instructions will be required whilst establishing as new project. Install Flask (

Jordan 2 Oct 15, 2021
Repo created for the purpose of adding any kind of programs and projects

Programs and Project Repository A repository for adding programs and projects of any kind starting from beginners level to expert ones Contributing to

Unicorn Dev Community 3 Nov 2, 2022