FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection

Overview

PWC PWC PWC

FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection

This repository contains an implementation of FCAF3D, a 3D object detection method introduced in our paper:

FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection
Danila Rukhovich, Anna Vorontsova, Anton Konushin
Samsung AI Center Moscow
https://arxiv.org/abs/2112.00322

Installation

For convenience, we provide a Dockerfile.

Alternatively, you can install all required packages manually. This implementation is based on mmdetection3d framework. Please refer to the original installation guide getting_started.md, replacing open-mmlab/mmdetection3d with samsunglabs/fcaf3d. Also, MinkowskiEngine and rotated_iou should be installed with these commands.

Most of the FCAF3D-related code locates in the following files: detectors/single_stage_sparse.py, necks/fcaf3d_neck_with_head.py, backbones/me_resnet.py.

Getting Started

Please see getting_started.md for basic usage examples. We follow the mmdetection3d data preparation protocol described in scannet, sunrgbd, and s3dis. The only difference is that we do not sample 50,000 points from each point cloud in SUN RGB-D, using all points.

Training

To start training, run dist_train with FCAF3D configs:

bash tools/dist_train.sh configs/fcaf3d/fcaf3d_scannet-3d-18class.py 2

Testing

Test pre-trained model using dist_test with FCAF3D configs:

bash tools/dist_test.sh configs/fcaf3d/fcaf3d_scannet-3d-18class.py \
    work_dirs/fcaf3d_scannet-3d-18class/latest.pth 2 --eval mAP

Visualization

Visualizations can be created with test script. For better visualizations, you may set score_thr in configs to 0.20:

python tools/test.py configs/fcaf3d/fcaf3d_scannet-3d-18class.py \
    work_dirs/fcaf3d_scannet-3d-18class/latest.pth --show \
    --show-dir work_dirs/fcaf3d_scannet-3d-18class

Models

The metrics are obtained in 5 training runs followed by 5 test runs. We report both the best and the average values (the latter are given in round brackets).

For VoteNet and ImVoteNet, we provide the configs and checkpoints with our Mobius angle parametrization. For ImVoxelNet, please refer to the imvoxelnet repository as it is not currently supported in mmdetection3d. Inference speed (scenes per second) is measured on a single NVidia GTX1080Ti.

FCAF3D

Dataset [email protected] [email protected] Download
ScanNet 71.5 (70.7) 57.3 (56.0) model | log | config
SUN RGB-D 64.2 (63.8) 48.9 (48.2) model | log | config
S3DIS 66.7 (64.9) 45.9 (43.8) model | log | config

Faster FCAF3D on ScanNet

Backbone Voxel
size
[email protected] [email protected] Scenes
per sec.
Download
HDResNet34 0.01 70.7 56.0 8.0 see table above
HDResNet34:3 0.01 69.8 53.6 12.2 model | log | config
HDResNet34:2 0.02 63.1 46.8 31.5 model | log | config

VoteNet on SUN RGB-D

Source [email protected] [email protected] Download
mmdetection3d 59.1 35.8 instruction
ours 61.1 (60.5) 40.4 (39.5) model | log | config

ImVoteNet on SUN RGB-D

Source [email protected] [email protected] Download
mmdetection3d 64.0 37.8 instruction
ours 64.6 (64.1) 40.8 (39.8) model | log | config

Comparison with state-of-the-art on ScanNet

drawing

Example Detections

drawing

Citation

If you find this work useful for your research, please cite our paper:

@article{rukhovich2021fcaf3d,
  title={FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection},
  author={Danila Rukhovich, Anna Vorontsova, Anton Konushin},
  journal={arXiv preprint arXiv:2112.00322},
  year={2021}
}
Comments
  • Nothing happened when I visualized my latest.pth

    Nothing happened when I visualized my latest.pth

    Thank you for your Greak work! I followed your dockerfile and everything was well-done. training and evaluation were great. but when i visualized my latest.pth there is nothing happened it seemed like processing my checkpoint file but i cannot understand what was done(any file didn't be produced).

    should i additionally install more program to visualize something? here is my problem.

    [email protected]:/mmdetection3d# python tools/test.py configs/fcaf3d/fcaf3d_sunrgbd-3d-10class.py /mmdetection3d/work_dirs/fcaf3d_sunrgbd-3d-10class/latest.pth --show --show-dir /mmdetection3d/work_dirs/fcaf3d_sunrgbd-3d-10class Use load_from_local loader [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 5050/5050, 8.0 task/s, elapsed: 632s, ETA: 0sroo[email protected]:/mmdetection3d# [email protected]:/mmdetection3d#

    bug 
    opened by joshiaLee 6
  • Performance on SUN RGB-D

    Performance on SUN RGB-D

    I get some trouble when reproducing the results on the SUN RGB-Ddataset. When I train FCAF3D with the following command for 3 times:

    CUDA_VISIBLE_DEVICES=5,6 bash tools/dist_train.sh configs/fcaf3d/fcaf3d_sunrgbd-3d-10class.py 2
    

    I get results as follows:

    +-------------+---------+---------+---------+---------+
    | classes     | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 |
    +-------------+---------+---------+---------+---------+
    | bed         | 0.8719  | 0.9845  | 0.6141  | 0.7456  |
    | table       | 0.4641  | 0.9672  | 0.2555  | 0.6465  |
    | sofa        | 0.6754  | 0.9745  | 0.4773  | 0.7703  |
    | chair       | 0.7990  | 0.9602  | 0.6536  | 0.8373  |
    | toilet      | 0.9059  | 0.9931  | 0.6496  | 0.8138  |
    | desk        | 0.2875  | 0.9431  | 0.0774  | 0.4819  |
    | dresser     | 0.3682  | 0.9358  | 0.1909  | 0.5780  |
    | night_stand | 0.6696  | 0.9647  | 0.5330  | 0.8118  |
    | bookshelf   | 0.2164  | 0.8156  | 0.0430  | 0.2376  |
    | bathtub     | 0.7385  | 0.9388  | 0.4736  | 0.6939  |
    +-------------+---------+---------+---------+---------+
    | Overall     | 0.5997  | 0.9477  | 0.3968  | 0.6617  |
    +-------------+---------+---------+---------+---------+
    
    +-------------+---------+---------+---------+---------+
    | classes     | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 |
    +-------------+---------+---------+---------+---------+
    | bed         | 0.8724  | 0.9883  | 0.6265  | 0.7553  |
    | table       | 0.4751  | 0.9706  | 0.2678  | 0.6520  |
    | sofa        | 0.6932  | 0.9856  | 0.4864  | 0.7352  |
    | chair       | 0.8149  | 0.9672  | 0.6757  | 0.8485  |
    | toilet      | 0.9139  | 1.0000  | 0.6214  | 0.8000  |
    | desk        | 0.2901  | 0.9511  | 0.0759  | 0.4862  |
    | dresser     | 0.3544  | 0.9633  | 0.1908  | 0.6147  |
    | night_stand | 0.6701  | 0.9608  | 0.5355  | 0.8118  |
    | bookshelf   | 0.2548  | 0.8794  | 0.0505  | 0.2872  |
    | bathtub     | 0.7533  | 0.9796  | 0.5332  | 0.6735  |
    +-------------+---------+---------+---------+---------+
    | Overall     | 0.6092  | 0.9646  | 0.4064  | 0.6665  |
    +-------------+---------+---------+---------+---------+
    
    +-------------+---------+---------+---------+---------+
    | classes     | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 |
    +-------------+---------+---------+---------+---------+
    | bed         | 0.8681  | 0.9553  | 0.5910  | 0.7146  |
    | table       | 0.4706  | 0.9497  | 0.2596  | 0.6427  |
    | sofa        | 0.6792  | 0.9665  | 0.4032  | 0.7225  |
    | chair       | 0.7962  | 0.9533  | 0.6424  | 0.8232  |
    | toilet      | 0.9123  | 0.9931  | 0.6393  | 0.7862  |
    | desk        | 0.2962  | 0.9283  | 0.0804  | 0.4718  |
    | dresser     | 0.3405  | 0.9083  | 0.1785  | 0.5596  |
    | night_stand | 0.6685  | 0.9294  | 0.5227  | 0.7529  |
    | bookshelf   | 0.1860  | 0.7730  | 0.0451  | 0.2376  |
    | bathtub     | 0.7124  | 0.9592  | 0.3878  | 0.6327  |
    +-------------+---------+---------+---------+---------+
    | Overall     | 0.5930  | 0.9316  | 0.3750  | 0.6344  |
    +-------------+---------+---------+---------+---------+
    
    opened by Sharpiless 5
  • The error about training the S3DIS dataset

    The error about training the S3DIS dataset

    Hello, an error ocurred when I tried to train the S3DIS dataset:

    Traceback (most recent call last): File "tools/train.py", line 223, in main() File "tools/train.py", line 212, in main train_model( File "/mmdetection3d/mmdet3d/apis/train.py", line 27, in train_model train_detector( File "/opt/conda/lib/python3.8/site-packages/mmdet/apis/train.py", line 170, in train_detector runner.run(data_loaders, cfg.workflow) File "/opt/conda/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run epoch_runner(data_loaders[i], **kwargs) File "/opt/conda/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 50, in train self.run_iter(data_batch, train_mode=True, **kwargs) File "/opt/conda/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 29, in run_iter outputs = self.model.train_step(data_batch, self.optimizer, File "/opt/conda/lib/python3.8/site-packages/mmcv/parallel/data_parallel.py", line 67, in train_step return self.module.train_step(*inputs[0], **kwargs[0]) File "/opt/conda/lib/python3.8/site-packages/mmdet/models/detectors/base.py", line 237, in train_step losses = self(**data) File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/opt/conda/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 98, in new_func return old_func(*args, **kwargs) File "/mmdetection3d/mmdet3d/models/detectors/base.py", line 58, in forward return self.forward_train(**kwargs) File "/mmdetection3d/mmdet3d/models/detectors/single_stage_sparse.py", line 48, in forward_train x = self.extract_feat(points, img_metas) File "/mmdetection3d/mmdet3d/models/detectors/single_stage_sparse.py", line 40, in extract_feat x = self.neck_with_head(x) File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/mmdetection3d/mmdet3d/models/dense_heads/fcaf3d_neck_with_head.py", line 102, in forward x = self._prune(x, scores) File "/mmdetection3d/mmdet3d/models/dense_heads/fcaf3d_neck_with_head.py", line 124, in _prune prune_mask[permutation[mask]] = True RuntimeError: invalid shape dimension -255

    I don't know how to solve it. Looking forward to your reply!

    opened by week0425 5
  • Some question on code (About the origin in class DepthInstance3DBoxes )

    Some question on code (About the origin in class DepthInstance3DBoxes )

    Thanks for your great work, when I read the code, I have some confuse.

    In the file mmdet3d/models/dense_heads/fcaf3d_neck_with_head.py, we can see function loss_single for train, and get_box_single for evaluation. I just want to know, the origin of the box predicated by network is (0.5, 0.5, 0) or (0.5, 0.5, 0.5). Because I see that when we get the box_loss in function '_loss_single', the gt_box is convert to the class with origin(0.5, 0.5, 0.5), and the box predicated by the network do nothing(after _bbox_pred_to_bbox), then we get the loss_bbox. So we can think the p red box's origin is (0.5, 0.5, 0.5). But when we evaluate the network, the predicated box in function '_get_box_single' is convert to box with origin(0.5, 0.5, 0.5), then the boxes are evaluated by the function('indoor_eval') with gt_box which was convert to box with origin(0.5, 0.5, 0,5)

    So I confused with above code, thus, when I using the box to test some others tasks, I have no idea to use the original box or convert it to the box with origin(0.5, 0.5, 0.5)

    opened by wtt0213 5
  • how can I increase small objects'mAP?

    how can I increase small objects'mAP?

    Hi I selected 10 small objects in SUNRGBD and I made those trained in this model. but, result showed only 0.1mAP( learning_rate = 0.001, epoch = 12, Objects were cup,bottle,bowl,book etc) I guess this model was designed for big objects not small things, right? then, how can I increase small objects' mAP? are there any parameters to do that?

    opened by joshiaLee 5
  • Performance on ScanNet

    Performance on ScanNet

    Hi, awesome work! But I get some trouble when reproducing the results on the ScanNet dataset. Could you give me some advice? When I train FCAF3D with the following command:

    bash tools/dist_train.sh configs/fcaf3d/fcaf3d_scannet-3d-18class.py 2

    I get results as follows

    +----------------+---------+---------+---------+---------+ | classes | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 | +----------------+---------+---------+---------+---------+ | cabinet | 0.5393 | 0.9059 | 0.3704 | 0.7366 | | bed | 0.8674 | 0.9259 | 0.7992 | 0.8519 | | chair | 0.9542 | 0.9854 | 0.8964 | 0.9415 | | sofa | 0.9118 | 0.9794 | 0.7914 | 0.9381 | | table | 0.7015 | 0.8971 | 0.6479 | 0.8029 | | door | 0.6186 | 0.9229 | 0.4389 | 0.7195 | | window | 0.5750 | 0.8865 | 0.3336 | 0.5993 | | bookshelf | 0.5852 | 0.8831 | 0.5157 | 0.7922 | | picture | 0.2571 | 0.5721 | 0.1564 | 0.3649 | | counter | 0.6106 | 0.8846 | 0.2338 | 0.5385 | | desk | 0.7157 | 0.9685 | 0.5472 | 0.8819 | | curtain | 0.5929 | 0.8955 | 0.4346 | 0.7015 | | refrigerator | 0.4901 | 0.8772 | 0.4010 | 0.8246 | | showercurtrain | 0.8306 | 0.9643 | 0.4340 | 0.7857 | | toilet | 1.0000 | 1.0000 | 0.9378 | 0.9655 | | sink | 0.8543 | 0.9592 | 0.5197 | 0.6837 | | bathtub | 0.8684 | 0.9032 | 0.8299 | 0.8710 | | garbagebin | 0.6439 | 0.8717 | 0.5762 | 0.7604 | +----------------+---------+---------+---------+---------+ | Overall | 0.7009 | 0.9046 | 0.5480 | 0.7644 | +----------------+---------+---------+---------+---------+

    There is about 0.6 mAP gap between my result (70.09) and paper result (70.7) on AP 0.25 metric, and there is about 1.2 mAP gap between my result (54.8) and paper result (56.0) on AP 0.5 metric. Is this variance? or do I need to modify something to achieve comparable results with paper? Thanks ~

    opened by WWW2323 4
  • output all predict bbox coordinate position

    output all predict bbox coordinate position

    Hello,I successfully run your code,but I want to output all predict bbox coordinate position.I have tried print the bbox_list in single_stage_mono3d.py,but when i run the tools/test.py ,I found it did not call the single_stage_mono3d.py.Could you please help me ?

    opened by PengboLi1998 4
  • Can MinkowskiGenerativeConvolutionTranspose from fcaf3d_neck_with_head.py replaced?

    Can MinkowskiGenerativeConvolutionTranspose from fcaf3d_neck_with_head.py replaced?

    Hi, thank you for the great work!

    I noticed that the code uses MinkowskiEngine as the backend. I am trying to replace the backend with Spconv, which is one of the different sparse convolution libraries for a research purpose.

    I found out that fcaf3d is using MinkowkiGenerativeConvolutionTranspose in fcaf3d_neck_with_head.py. I am not sure how I could replace that function with spconv apis. How is MinkowkiGenerativeConvolutionTranspose different from MinkowskiConvolutionTranspose? The documentation says it produces new coordinates, but is this necessary, or can be replaced with MinkowskiConvolutionTranspose? If not, is there any workaround for this?

    Thanks!

    opened by YJYJLee 4
  • How can I generate per point classification?

    How can I generate per point classification?

    Hi, thanks for sharing your excellent work first! I have several questions.

    I met the following error while testing. For my understanding, there are no annotations available while testing. So after a hard debug, I found that the second composer of test_pipeline called the 'annos' key of my test.pkl data, so I comment out this line dict(type='GlobalAlignment', rotation_axis=2), in the config file so that I can get a result. But actually I'm not sure will it cause any alignment problem on the results.

    File "tools/test.py", line 214, in main() File "tools/test.py", line 184, in main outputs = single_gpu_test(model, data_loader, args.show, args.show_dir) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/apis/test.py", line 36, in single_gpu_test for i, data in enumerate(data_loader): File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 517, in next data = self._next_data() File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1199, in _next_data return self._process_data(data) File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1225, in _process_data data.reraise() File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/_utils.py", line 429, in reraise raise self.exc_type(msg) KeyError: Caught KeyError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop data = fetcher.fetch(index) File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/datasets/custom_3d.py", line 354, in getitem return self.prepare_test_data(idx) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/datasets/scannet_dataset.py", line 135, in prepare_test_data example = self.pipeline(input_dict) File "/home/yangtian/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmdet/datasets/pipelines/compose.py", line 41, in call data = t(data) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/datasets/pipelines/transforms_3d.py", line 475, in call assert 'axis_align_matrix' in input_dict['ann_info'].keys(),
    KeyError: 'ann_info'

    And after that, I wanna visualize the results, so I added--show --show_dir ./results/custom_test/ . However met another error:

    File "tools/test.py", line 214, in main() File "tools/test.py", line 184, in main outputs = single_gpu_test(model, data_loader, args.show, args.show_dir) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/apis/test.py", line 46, in single_gpu_test model.module.show_results(data, result, out_dir) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/models/detectors/base.py", line 107, in show_results show_result(points, None, pred_bboxes, out_dir, file_name) TypeError: show_result() missing 2 required positional arguments: 'out_dir' and 'filename'

    Not fixed yet. But I found that in show_result.py, the function show_result() takes gt_labels and pred_labels as well while in the testing procedure it doesn't pass this two values. I'm gonna continue debugging on it.

    Finally, I'm wondering if there's a convenience way to get per point classification results?

    opened by sylyt62 4
  • some issues for the evaluation results of fcaf3d

    some issues for the evaluation results of fcaf3d

    Hello: There is a obvious difference between the actual evaluation results of the algorithm and those described in the paper, the cause of the problem has not been found yet, please give me some suggestions.

    1.Evaluation results for the model provided in github of SamsungLabs/fcaf3d:(12 epoches) 1.1 sunrgbd


    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.


    Use load_from_local loader Use load_from_local loader [ ] 0/5050, elapsed: [>>>>>>>>>>>>>>>>] 5050/5050, 15.9 task/s, elapsed: 318s, ETA: 0s +-------------+---------+---------+---------+---------+ | classes | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 | +-------------+---------+---------+---------+---------+ | bed | 0.0496 | 0.7612 | 0.0094 | 0.5883 | | table | 0.1570 | 0.8514 | 0.1222 | 0.7909 | | sofa | 0.2261 | 0.8469 | 0.1440 | 0.7735 | | chair | 0.1985 | 0.7662 | 0.1671 | 0.7272 | | toilet | 0.3586 | 0.9379 | 0.2778 | 0.8552 | | desk | 0.0970 | 0.7641 | 0.0665 | 0.6982 | | dresser | 0.2063 | 0.9128 | 0.1956 | 0.8670 | | night_stand | 0.4174 | 0.9608 | 0.4127 | 0.9451 | | bookshelf | 0.1585 | 0.8865 | 0.1489 | 0.8511 | | bathtub | 0.3658 | 0.9592 | 0.3561 | 0.8571 | +-------------+---------+---------+---------+---------+ | Overall | 0.2235 | 0.8647 | 0.1900 | 0.7954 | +-------------+---------+---------+---------+---------+ {'bed_AP_0.25': 0.049614179879426956, 'table_AP_0.25': 0.15698249638080597, 'sofa_AP_0.25': 0.2261233627796173, 'chair_AP_0.25': 0.19846875965595245, 'toilet_AP_0.25': 0.35864582657814026, 'desk_AP_0.25': 0.09701932221651077, 'dresser_AP_0.25': 0.20626720786094666, 'night_stand_AP_0.25': 0.41742968559265137, 'bookshelf_AP_0.25': 0.15852327644824982, 'bathtub_AP_0.25': 0.3657997250556946, 'mAP_0.25': 0.22348737716674805, 'bed_rec_0.25': 0.7611650485436893, 'table_rec_0.25': 0.8513628620102215, 'sofa_rec_0.25': 0.84688995215311, 'chair_rec_0.25': 0.7661741214057508, 'toilet_rec_0.25': 0.9379310344827586, 'desk_rec_0.25': 0.7640807651434643, 'dresser_rec_0.25': 0.9128440366972477, 'night_stand_rec_0.25': 0.9607843137254902, 'bookshelf_rec_0.25': 0.8865248226950354, 'bathtub_rec_0.25': 0.9591836734693877, 'mAR_0.25': 0.8646940630326154, 'bed_AP_0.50': 0.009411284700036049, 'table_AP_0.50': 0.12223674356937408, 'sofa_AP_0.50': 0.14403118193149567, 'chair_AP_0.50': 0.1670922487974167, 'toilet_AP_0.50': 0.27775609493255615, 'desk_AP_0.50': 0.06645272672176361, 'dresser_AP_0.50': 0.19564399123191833, 'night_stand_AP_0.50': 0.41268840432167053, 'bookshelf_AP_0.50': 0.14886672794818878, 'bathtub_AP_0.50': 0.35609957575798035, 'mAP_0.50': 0.19002790749073029, 'bed_rec_0.50': 0.5883495145631068, 'table_rec_0.50': 0.790885860306644, 'sofa_rec_0.50': 0.773524720893142, 'chair_rec_0.50': 0.7272364217252396, 'toilet_rec_0.50': 0.8551724137931035, 'desk_rec_0.50': 0.6981934112646121, 'dresser_rec_0.50': 0.8669724770642202, 'night_stand_rec_0.50': 0.9450980392156862, 'bookshelf_rec_0.50': 0.851063829787234, 'bathtub_rec_0.50': 0.8571428571428571, 'mAR_0.50': 0.7953639545755846}

    1.2 scannet


    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.


    Use load_from_local loader Use load_from_local loader [ ] 0/312, elapsed: 0[>>>>>>>>>>>>>>>>>>>] 312/312, 10.4 task/s, elapsed: 30s, ETA: 0s +----------------+---------+---------+---------+---------+ | classes | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 | +----------------+---------+---------+---------+---------+ | cabinet | 0.0077 | 0.2742 | 0.0052 | 0.2419 | | bed | 0.0003 | 0.0370 | 0.0000 | 0.0247 | | chair | 0.0193 | 0.2661 | 0.0138 | 0.2354 | | sofa | 0.0015 | 0.0825 | 0.0005 | 0.0825 | | table | 0.0016 | 0.1429 | 0.0011 | 0.1229 | | door | 0.0104 | 0.2441 | 0.0079 | 0.2313 | | window | 0.0028 | 0.1773 | 0.0021 | 0.1631 | | bookshelf | 0.0081 | 0.1558 | 0.0042 | 0.1429 | | picture | 0.0028 | 0.2658 | 0.0025 | 0.2568 | | counter | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | desk | 0.0012 | 0.0866 | 0.0010 | 0.0709 | | curtain | 0.0000 | 0.0448 | 0.0000 | 0.0448 | | refrigerator | 0.0000 | 0.0351 | 0.0000 | 0.0000 | | showercurtrain | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | toilet | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | sink | 0.0000 | 0.0102 | 0.0000 | 0.0000 | | bathtub | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | garbagebin | 0.0048 | 0.2113 | 0.0039 | 0.1811 | +----------------+---------+---------+---------+---------+ | Overall | 0.0034 | 0.1130 | 0.0024 | 0.0999 | +----------------+---------+---------+---------+---------+ {'cabinet_AP_0.25': 0.007672073319554329, 'bed_AP_0.25': 0.0003270927118137479, 'chair_AP_0.25': 0.019300922751426697, 'sofa_AP_0.25': 0.0015425414312630892, 'table_AP_0.25': 0.0016294954111799598, 'door_AP_0.25': 0.010358083993196487, 'window_AP_0.25': 0.0027569225057959557, 'bookshelf_AP_0.25': 0.008131678216159344, 'picture_AP_0.25': 0.002778079127892852, 'counter_AP_0.25': 0.0, 'desk_AP_0.25': 0.0011750475969165564, 'curtain_AP_0.25': 2.2466720110969618e-05, 'refrigerator_AP_0.25': 1.3386352293309756e-05, 'showercurtrain_AP_0.25': 0.0, 'toilet_AP_0.25': 0.0, 'sink_AP_0.25': 1.440034111510613e-06, 'bathtub_AP_0.25': 0.0, 'garbagebin_AP_0.25': 0.00475729675963521, 'mAP_0.25': 0.003359251655638218, 'cabinet_rec_0.25': 0.27419354838709675, 'bed_rec_0.25': 0.037037037037037035, 'chair_rec_0.25': 0.26608187134502925, 'sofa_rec_0.25': 0.08247422680412371, 'table_rec_0.25': 0.14285714285714285, 'door_rec_0.25': 0.24411134903640258, 'window_rec_0.25': 0.1773049645390071, 'bookshelf_rec_0.25': 0.15584415584415584, 'picture_rec_0.25': 0.26576576576576577, 'counter_rec_0.25': 0.0, 'desk_rec_0.25': 0.08661417322834646, 'curtain_rec_0.25': 0.04477611940298507, 'refrigerator_rec_0.25': 0.03508771929824561, 'showercurtrain_rec_0.25': 0.0, 'toilet_rec_0.25': 0.0, 'sink_rec_0.25': 0.01020408163265306, 'bathtub_rec_0.25': 0.0, 'garbagebin_rec_0.25': 0.21132075471698114, 'mAR_0.25': 0.11298182832749847, 'cabinet_AP_0.50': 0.005249418318271637, 'bed_AP_0.50': 7.024568276392529e-06, 'chair_AP_0.50': 0.013795703649520874, 'sofa_AP_0.50': 0.0005232820985838771, 'table_AP_0.50': 0.001064108102582395, 'door_AP_0.50': 0.007914243265986443, 'window_AP_0.50': 0.0021169877145439386, 'bookshelf_AP_0.50': 0.0042017120867967606, 'picture_AP_0.50': 0.0025250331964343786, 'counter_AP_0.50': 0.0, 'desk_AP_0.50': 0.0010463166981935501, 'curtain_AP_0.50': 2.2466720110969618e-05, 'refrigerator_AP_0.50': 0.0, 'showercurtrain_AP_0.50': 0.0, 'toilet_AP_0.50': 0.0, 'sink_AP_0.50': 0.0, 'bathtub_AP_0.50': 0.0, 'garbagebin_AP_0.50': 0.003941362723708153, 'mAP_0.50': 0.0023559811525046825, 'cabinet_rec_0. 50': 0.24193548387096775, 'bed_rec_0.50': 0.024691358024691357, 'chair_rec_0.50': 0.23538011695906433, 'sofa_rec_0.50': 0.08247422680412371, 'table_rec_0.50': 0.12285714285714286, 'door_rec_0.50': 0.23126338329764454, 'window_rec_0.50': 0.16312056737588654, 'bookshelf_rec_0.50': 0.14285714285714285, 'picture_rec_0.50': 0.25675675675675674, 'counter_rec_0.50': 0.0, 'desk_rec_0.50': 0.07086614173228346, 'curtain_rec_0. 50': 0.04477611940298507, 'refrigerator_rec_0.50': 0.0, 'showercurtrain_rec_0.50': 0.0, 'toilet_rec_0.50': 0.0, 'sink_rec_0.50': 0.0, 'batht ub_rec_0.50': 0.0, 'garbagebin_rec_0.50': 0.1811320754716981, 'mAR_0.50': 0.0998950286339104}

    2.Evaluation results for the model trained by myself:(12 epoches) 2.1 sunrgbd


    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.


    Use load_from_local loader Use load_from_local loader [ ] 0/5050, elapsed: [>>>>>>>>>>>>>>>] 5050/5050, 0.3 task/s, elapsed: 16300s, ETA: 0s +-------------+---------+---------+---------+---------+ | classes | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 | +-------------+---------+---------+---------+---------+ | bed | 0.5560 | 0.9903 | 0.4873 | 0.8738 | | table | 0.3110 | 0.9817 | 0.2184 | 0.7785 | | sofa | 0.4583 | 0.9841 | 0.4016 | 0.8740 | | chair | 0.5615 | 0.9633 | 0.4967 | 0.8643 | | toilet | 0.6838 | 0.9931 | 0.6078 | 0.8966 | | desk | 0.1938 | 0.9644 | 0.0907 | 0.6791 | | dresser | 0.2366 | 0.9541 | 0.1876 | 0.7752 | | night_stand | 0.4379 | 0.9765 | 0.3945 | 0.8824 | | bookshelf | 0.2321 | 0.9184 | 0.0987 | 0.5426 | | bathtub | 0.3912 | 0.9796 | 0.3296 | 0.8367 | +-------------+---------+---------+---------+---------+ | Overall | 0.4062 | 0.9705 | 0.3313 | 0.8003 | +-------------+---------+---------+---------+---------+ {'bed_AP_0.25': 0.5559849143028259, 'table_AP_0.25': 0.3109968602657318, 'sofa_AP_0.25': 0.4582793712615967, 'chair_AP_0.25': 0.5614634156227112, 'toilet_AP_0.25': 0.6837515830993652, 'desk_AP_0.25': 0.1938285529613495, 'dresser_AP_0.25': 0.23655451834201813, 'night_stand_AP_0.25': 0.43787485361099243, 'bookshelf_AP_0.25': 0.2321251481771469, 'bathtub_AP_0.25': 0.3912363648414612, 'mAP_0.25': 0.4062095582485199, 'bed_rec_0.25': 0.9902912621359223, 'table_rec_0.25': 0.981686541737649, 'sofa_rec_0.25': 0.9840510366826156, 'chair_rec_0.25': 0.963258785942492, 'toilet_rec_0.25': 0.993103448275862, 'desk_rec_0.25': 0.9643995749202976, 'dresser_rec_0.25': 0.9541284403669725, 'night_stand_rec_0.25': 0.9764705882352941, 'bookshelf_rec_0.25': 0.9184397163120568, 'bathtub_rec_0.25': 0.9795918367346939, 'mAR_0.25': 0.9705421231343856, 'bed_AP_0.50': 0.4872896671295166, 'table_AP_0.50': 0.21839171648025513, 'sofa_AP_0.50': 0.40156134963035583, 'chair_AP_0.50': 0.4966593384742737, 'toilet_AP_0.50': 0.607752799987793, 'desk_AP_0.50': 0.09067006409168243, 'dresser_AP_0.50': 0.18762624263763428, 'night_stand_AP_0.50': 0.39452967047691345, 'bookshelf_AP_0.50': 0.09874459356069565, 'bathtub_AP_0.50': 0.32958272099494934, 'mAP_0.50': 0.33128082752227783, 'bed_rec_0.50': 0.8737864077669902, 'table_rec_0.50': 0.778534923339012, 'sofa_rec_0.50': 0.8740031897926634, 'chair_rec_0.50': 0.8643170926517572, 'toilet_rec_0.50': 0.896551724137931, 'desk_rec_0.50': 0.6790648246546227, 'dresser_rec_0.50': 0.7752293577981652, 'night_stand_rec_0.50': 0.8823529411764706, 'bookshelf_rec_0.50': 0.5425531914893617, 'bathtub_rec_0.50': 0.8367346938775511, 'mAR_0.50': 0.8003128346684527}

    2.2 scannet


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


    Use load_from_local loader Use load_from_local loader [ ] 0/312, elapsed: 0[>>>>>>> ] 116/312, 0.2 task/s, elapsed[ ] 117/312, 0.2 t$ sk/s, elapsed: 547s,[ ] 118/312, 0.2 task/s, elapsed: 547s, ETA: 89[>>>>>>>>>>>>> ] 240/312, [> ] 241/312, 0.2 task/s, elapsed: 1262$ [> ] 242/312, 0.2 task/s, elapsed: 1262s[> ] 243/312, 0.2 task/s, elap[>>>>>>>>>>>>>>>>>>] 312/312, 0.2 task/s, elapsed: 1531s, ETA: 0s +----------------+---------+---------+---------+---------+ | classes | AP_0.25 | AR_0.25 | AP_0.50 | AR_0.50 | +----------------+---------+---------+---------+---------+ | cabinet | 0.0089 | 0.2500 | 0.0071 | 0.2419 | | bed | 0.0022 | 0.0494 | 0.0005 | 0.0123 | | chair | 0.0195 | 0.2661 | 0.0131 | 0.2383 | | sofa | 0.0009 | 0.0825 | 0.0000 | 0.0309 | | table | 0.0030 | 0.1400 | 0.0021 | 0.1257 | | door | 0.0072 | 0.2698 | 0.0066 | 0.2548 | | window | 0.0030 | 0.1844 | 0.0020 | 0.1525 | | bookshelf | 0.0041 | 0.1429 | 0.0031 | 0.1429 | | picture | 0.0049 | 0.2523 | 0.0045 | 0.2342 | | counter | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | desk | 0.0041 | 0.0709 | 0.0041 | 0.0551 | | curtain | 0.0001 | 0.0597 | 0.0001 | 0.0597 | | refrigerator | 0.0001 | 0.0877 | 0.0001 | 0.0877 | | showercurtrain | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | toilet | 0.0005 | 0.0345 | 0.0001 | 0.0345 | | sink | 0.0000 | 0.0408 | 0.0000 | 0.0408 | | bathtub | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | garbagebin | 0.0076 | 0.2038 | 0.0063 | 0.1887 | +----------------+---------+---------+---------+---------+ | Overall | 0.0037 | 0.1186 | 0.0028 | 0.1056 | +----------------+---------+---------+---------+---------+ {'cabinet_AP_0.25': 0.0088879419490695, 'bed_AP_0.25': 0.002196365036070347, 'chair_AP_0.25': 0.019513951614499092, 'sofa_AP_0.25': 0.00092$ 0919025614858, 'table_AP_0.25': 0.0029890856239944696, 'door_AP_0.25': 0.007219596300274134, 'window_AP_0.25': 0.002968191634863615, 'books$ elf_AP_0.25': 0.0041231452487409115, 'picture_AP_0.25': 0.004887890536338091, 'counter_AP_0.25': 0.0, 'desk_AP_0.25': 0.004088526125997305, 'curtain_AP_0.25': 0.0001449216069886461, 'refrigerator_AP_0.25': 0.00010905037925112993, 'showercurtrain_AP_0.25': 0.0, 'toilet_AP_0.25': $ .0005089639453217387, 'sink_AP_0.25': 3.358132016728632e-05, 'bathtub_AP_0.25': 0.0, 'garbagebin_AP_0.25': 0.007584888022392988, 'mAP_0.25'$ 0.003676677355542779, 'cabinet_rec_0.25': 0.25, 'bed_rec_0.25': 0.04938271604938271, 'chair_rec_0.25': 0.26608187134502925, 'sofa_rec_0.25$ : 0.08247422680412371, 'table_rec_0.25': 0.14, 'door_rec_0.25': 0.2698072805139186, 'window_rec_0.25': 0.18439716312056736, 'bookshelf_rec_0 .25': 0.14285714285714285, 'picture_rec_0.25': 0.25225225225225223, 'counter_rec_0.25': 0.0, 'desk_rec_0.25': 0.07086614173228346, 'curtain_ rec_0.25': 0.05970149253731343, 'refrigerator_rec_0.25': 0.08771929824561403, 'showercurtrain_rec_0.25': 0.0, 'toilet_rec_0.25': 0.034482758 620689655, 'sink_rec_0.25': 0.04081632653061224, 'bathtub_rec_0.25': 0.0, 'garbagebin_rec_0.25': 0.2037735849056604, 'mAR_0.25': 0.118589569 75081056, 'cabinet_AP_0.50': 0.007079910486936569, 'bed_AP_0.50': 0.0005367686389945447, 'chair_AP_0.50': 0.013134335167706013, 'sofa_AP_0.5 0': 4.525698022916913e-05, 'table_AP_0.50': 0.0021134275011718273, 'door_AP_0.50': 0.00658177025616169, 'window_AP_0.50': 0.0019997931085526 943, 'bookshelf_AP_0.50': 0.0031221157405525446, 'picture_AP_0.50': 0.004526467993855476, 'counter_AP_0.50': 0.0, 'desk_AP_0.50': 0.00407800 916582346, 'curtain_AP_0.50': 0.0001449216069886461, 'refrigerator_AP_0.50': 0.0001018800976453349, 'showercurtrain_AP_0.50': 0.0, 'toilet_A P_0.50': 5.409148434409872e-05, 'sink_AP_0.50': 3.358132016728632e-05, 'bathtub_AP_0.50': 0.0, 'garbagebin_AP_0.50': 0.006303954869508743, ' mAP_0.50': 0.0027697933837771416, 'cabinet_rec_0.50': 0.24193548387096775, 'bed_rec_0.50': 0.012345679012345678, 'chair_rec_0.50': 0.2383040 9356725146, 'sofa_rec_0.50': 0.030927835051546393, 'table_rec_0.50': 0.12571428571428572, 'door_rec_0.50': 0.25481798715203424, 'window_rec_ 0.50': 0.1524822695035461, 'bookshelf_rec_0.50': 0.14285714285714285, 'picture_rec_0.50': 0.23423423423423423, 'counter_rec_0.50': 0.0, 'des k_rec_0.50': 0.05511811023622047, 'curtain_rec_0.50': 0.05970149253731343, 'refrigerator_rec_0.50': 0.08771929824561403, 'showercurtrain_rec

    opened by zschanghai 4
  • Training on KITTI

    Training on KITTI

    @filaPro hi thanks for opensourcing code base , does this architecture been trained on KITTI , ARGOVerse, Nuscense dataset? if not what changes have to be made for the training on those dataset Thanks in advance

    opened by abhigoku10 4
  • resume-from

    resume-from

    --resume-from option in train.py works only once due to the bug regarding epoch update in mmcv-full=1.3.8. The bug is solved in 1.3.9. so I suggest to update requirement in mminstal.txt accordingly.

    opened by rgrbic 0
  • run pcd_demo.py

    run pcd_demo.py

    I want to use the trained model to test point cloud,but I meet following question: Traceback (most recent call last): File "/media/ketizu/086C03DE086C03DE/project1/fcaf3d-master/demo/pcd_demo.py", line 102, in main() File "/media/ketizu/086C03DE086C03DE/project1/fcaf3d-master/demo/pcd_demo.py", line 90, in main show_result_meshlab( File "/media/ketizu/086C03DE086C03DE/project1/fcaf3d-master/mmdet3d/apis/inference.py", line 481, in show_result_meshlab file_name = show_det_result_meshlab(data, result, out_dir, score_thr, File "/media/ketizu/086C03DE086C03DE/project1/fcaf3d-master/mmdet3d/apis/inference.py", line 324, in show_det_result_meshlab show_result( TypeError: show_result() missing 2 required positional arguments: 'out_dir' and 'filename'

    Process finished with exit code 1

    opened by PengboLi1998 2
Owner
SamsungLabs
SAMSUNG
SamsungLabs
A high-performance anchor-free YOLO. Exceeding yolov3~v5 with ONNX, TensorRT, NCNN, and Openvino supported.

YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and industrial communities. For more details, please refer to our rep

7.7k Jan 06, 2023
Learning from Synthetic Humans, CVPR 2017

Learning from Synthetic Humans (SURREAL) Gül Varol, Javier Romero, Xavier Martin, Naureen Mahmood, Michael J. Black, Ivan Laptev and Cordelia Schmid,

Gul Varol 538 Dec 18, 2022
UCSD Oasis platform

oasis UCSD Oasis platform Local project setup Install Docker Compose and make sure you have Pip installed Clone the project and go to the project fold

InSTEDD 4 Jun 16, 2021
(CVPR2021) Kaleido-BERT: Vision-Language Pre-training on Fashion Domain

Kaleido-BERT: Vision-Language Pre-training on Fashion Domain Mingchen Zhuge*, Dehong Gao*, Deng-Ping Fan#, Linbo Jin, Ben Chen, Haoming Zhou, Minghui

248 Dec 04, 2022
Tensorflow implementation of "Learning Deep Features for Discriminative Localization"

Weakly_detector Tensorflow implementation of "Learning Deep Features for Discriminative Localization" B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and

Taeksoo Kim 363 Jun 29, 2022
We present a regularized self-labeling approach to improve the generalization and robustness properties of fine-tuning.

Overview This repository provides the implementation for the paper "Improved Regularization and Robustness for Fine-tuning in Neural Networks", which

NEU-StatsML-Research 21 Sep 08, 2022
Bachelor's Thesis in Computer Science: Privacy-Preserving Federated Learning Applied to Decentralized Data

federated is the source code for the Bachelor's Thesis Privacy-Preserving Federated Learning Applied to Decentralized Data (Spring 2021, NTNU) Federat

Dilawar Mahmood 25 Nov 30, 2022
PyTorch implementation for "Sharpness-aware Quantization for Deep Neural Networks".

Sharpness-aware Quantization for Deep Neural Networks This is the official repository for our paper: Sharpness-aware Quantization for Deep Neural Netw

Zhuang AI Group 30 Dec 19, 2022
Sample and Computation Redistribution for Efficient Face Detection

Introduction SCRFD is an efficient high accuracy face detection approach which initially described in Arxiv. Performance Precision, flops and infer ti

Sajjad Aemmi 13 Mar 05, 2022
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 2022
Visyerres sgdf woob - Modules Woob pour l'intranet et autres sites Scouts et Guides de France

Vis'Yerres SGDF - Modules Woob Vous avez le sentiment que l'intranet des Scouts

Thomas Touhey (pas un pseudonyme) 3 Dec 24, 2022
Benchmarks for the Optimal Power Flow Problem

Power Grid Lib - Optimal Power Flow This benchmark library is curated and maintained by the IEEE PES Task Force on Benchmarks for Validation of Emergi

A Library of IEEE PES Power Grid Benchmarks 207 Dec 08, 2022
An implementation of Deep Graph Infomax (DGI) in PyTorch

DGI Deep Graph Infomax (Veličković et al., ICLR 2019): https://arxiv.org/abs/1809.10341 Overview Here we provide an implementation of Deep Graph Infom

Petar Veličković 491 Jan 03, 2023
Face recognition. Redefined.

FaceFinder Use a powerful CNN to identify faces in images! TABLE OF CONTENTS About The Project Built With Getting Started Prerequisites Installation U

BleepLogger 20 Jun 16, 2021
A modified version of DeepMind's Alphafold2 to divide CPU part (MSA and template searching) and GPU part (prediction model)

ParallelFold Author: Bozitao Zhong This is a modified version of DeepMind's Alphafold2 to divide CPU part (MSA and template searching) and GPU part (p

Bozitao Zhong 77 Dec 22, 2022
Repository of Vision Transformer with Deformable Attention

Vision Transformer with Deformable Attention This repository contains the code for the paper Vision Transformer with Deformable Attention [arXiv]. Int

410 Jan 03, 2023
A CNN implementation using only numpy. Supports multidimensional images, stride, etc.

A CNN implementation using only numpy. Supports multidimensional images, stride, etc. Speed up due to heavy use of slicing and mathematical simplification..

2 Nov 30, 2021
Code of the lileonardo team for the 2021 Emotion and Theme Recognition in Music task of MediaEval 2021

Emotion and Theme Recognition in Music The repository contains code for the submission of the lileonardo team to the 2021 Emotion and Theme Recognitio

Vincent Bour 8 Aug 02, 2022
Template repository to build PyTorch projects from source on any version of PyTorch/CUDA/cuDNN.

The Ultimate PyTorch Source-Build Template Translations: 한국어 TL;DR PyTorch built from source can be x4 faster than a naïve PyTorch install. This repos

Joonhyung Lee/이준형 651 Dec 12, 2022
Library of various Few-Shot Learning frameworks for text classification

FewShotText This repository contains code for the paper A Neural Few-Shot Text Classification Reality Check Environment setup # Create environment pyt

Thomas Dopierre 47 Jan 03, 2023