From e0d38a5f0f3b1c26b38384e4e0ef5c72d90c345d Mon Sep 17 00:00:00 2001 From: Wenkang Qin Date: Fri, 22 Jul 2022 00:58:59 +0800 Subject: [PATCH 1/5] [Feature] Add ceph and petrel support for LoadMultiViewImageFromFiles --- mmdet3d/datasets/pipelines/loading.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mmdet3d/datasets/pipelines/loading.py b/mmdet3d/datasets/pipelines/loading.py index bbdcb8ed2c..71abe86b4c 100644 --- a/mmdet3d/datasets/pipelines/loading.py +++ b/mmdet3d/datasets/pipelines/loading.py @@ -20,9 +20,13 @@ class LoadMultiViewImageFromFiles(object): Defaults to 'unchanged'. """ - def __init__(self, to_float32=False, color_type='unchanged'): + def __init__(self, + to_float32=False, + color_type='unchanged', + file_client_args=dict(backend='disk')): self.to_float32 = to_float32 self.color_type = color_type + self.file_client_args = file_client_args.copy() def __call__(self, results): """Call function to load multi-view image from files. @@ -45,7 +49,7 @@ def __call__(self, results): filename = results['img_filename'] # img is of shape (h, w, c, num_views) img = np.stack( - [mmcv.imread(name, self.color_type) for name in filename], axis=-1) + [mmcv.imread(name, self.color_type, file_client_args=self.file_client_args) for name in filename], axis=-1) if self.to_float32: img = img.astype(np.float32) results['filename'] = filename From 64975b55ae20a7f0ad26b55b05792b279b8fc32a Mon Sep 17 00:00:00 2001 From: JingweiZhang12 Date: Thu, 29 Sep 2022 20:16:23 +0800 Subject: [PATCH 2/5] fix lint --- configs/sassd/README.md | 2 +- docs/en/faq.md | 50 +++++++++++++-------------- docs/en/getting_started.md | 33 +++++++++--------- mmdet3d/datasets/pipelines/loading.py | 8 +++-- 4 files changed, 48 insertions(+), 45 deletions(-) diff --git a/configs/sassd/README.md b/configs/sassd/README.md index 3a4444a0e0..d1eb771b2c 100644 --- a/configs/sassd/README.md +++ b/configs/sassd/README.md @@ -1,6 +1,6 @@ # Structure Aware Single-stage 3D Object Detection from Point Cloud -> [Structure Aware Single-stage 3D Object Detection from Point Cloud]([https://arxiv.org/abs/2104.02323](https://openaccess.thecvf.com/content_CVPR_2020/papers/He_Structure_Aware_Single-Stage_3D_Object_Detection_From_Point_Cloud_CVPR_2020_paper.pdf)) +> [Structure Aware Single-stage 3D Object Detection from Point Cloud](<%5Bhttps://arxiv.org/abs/2104.02323%5D(https://openaccess.thecvf.com/content_CVPR_2020/papers/He_Structure_Aware_Single-Stage_3D_Object_Detection_From_Point_Cloud_CVPR_2020_paper.pdf)>) diff --git a/docs/en/faq.md b/docs/en/faq.md index 38b87af9fc..d3f30e3a01 100644 --- a/docs/en/faq.md +++ b/docs/en/faq.md @@ -8,31 +8,31 @@ We list some potential troubles encountered by users and developers, along with The required versions of MMCV, MMDetection and MMSegmentation for different versions of MMDetection3D are as below. Please install the correct version of MMCV, MMDetection and MMSegmentation to avoid installation issues. - | MMDetection3D version | MMDetection version | MMSegmentation version | MMCV version | - | :-------------------: | :---------------------: | :--------------------: | :------------------------: | - | master | mmdet>=2.24.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.4.8, <=1.6.0 | - | v1.0.0rc3 | mmdet>=2.24.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.4.8, <=1.6.0 | - | v1.0.0rc2 | mmdet>=2.24.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.4.8, <=1.6.0 | - | v1.0.0rc1 | mmdet>=2.19.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.4.8, <=1.5.0 | - | v1.0.0rc0 | mmdet>=2.19.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.3.17, <=1.5.0 | - | 0.18.1 | mmdet>=2.19.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.3.17, <=1.5.0 | - | 0.18.0 | mmdet>=2.19.0, <=3.0.0 | mmseg>=0.20.0, <=1.0.0 | mmcv-full>=1.3.17, <=1.5.0 | - | 0.17.3 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.17.2 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.17.1 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.17.0 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.16.0 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.15.0 | mmdet>=2.14.0, <=3.0.0 | mmseg>=0.14.1, <=1.0.0 | mmcv-full>=1.3.8, <=1.4.0 | - | 0.14.0 | mmdet>=2.10.0, <=2.11.0 | mmseg==0.14.0 | mmcv-full>=1.3.1, <=1.4.0 | - | 0.13.0 | mmdet>=2.10.0, <=2.11.0 | Not required | mmcv-full>=1.2.4, <=1.4.0 | - | 0.12.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.2.4, <=1.4.0 | - | 0.11.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.2.4, <=1.3.0 | - | 0.10.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.2.4, <=1.3.0 | - | 0.9.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.2.4, <=1.3.0 | - | 0.8.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.1.5, <=1.3.0 | - | 0.7.0 | mmdet>=2.5.0, <=2.11.0 | Not required | mmcv-full>=1.1.5, <=1.3.0 | - | 0.6.0 | mmdet>=2.4.0, <=2.11.0 | Not required | mmcv-full>=1.1.3, <=1.2.0 | - | 0.5.0 | 2.3.0 | Not required | mmcv-full==1.0.5 | + | MMDetection3D version | MMDetection version | MMSegmentation version | MMCV version | + | :-------------------: | :----------------------: | :---------------------: | :-------------------------: | + | master | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.4.8, \<=1.6.0 | + | v1.0.0rc3 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.4.8, \<=1.6.0 | + | v1.0.0rc2 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.4.8, \<=1.6.0 | + | v1.0.0rc1 | mmdet>=2.19.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.4.8, \<=1.5.0 | + | v1.0.0rc0 | mmdet>=2.19.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.3.17, \<=1.5.0 | + | 0.18.1 | mmdet>=2.19.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.3.17, \<=1.5.0 | + | 0.18.0 | mmdet>=2.19.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.3.17, \<=1.5.0 | + | 0.17.3 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.17.2 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.17.1 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.17.0 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.16.0 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.15.0 | mmdet>=2.14.0, \<=3.0.0 | mmseg>=0.14.1, \<=1.0.0 | mmcv-full>=1.3.8, \<=1.4.0 | + | 0.14.0 | mmdet>=2.10.0, \<=2.11.0 | mmseg==0.14.0 | mmcv-full>=1.3.1, \<=1.4.0 | + | 0.13.0 | mmdet>=2.10.0, \<=2.11.0 | Not required | mmcv-full>=1.2.4, \<=1.4.0 | + | 0.12.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.2.4, \<=1.4.0 | + | 0.11.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.2.4, \<=1.3.0 | + | 0.10.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.2.4, \<=1.3.0 | + | 0.9.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.2.4, \<=1.3.0 | + | 0.8.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.1.5, \<=1.3.0 | + | 0.7.0 | mmdet>=2.5.0, \<=2.11.0 | Not required | mmcv-full>=1.1.5, \<=1.3.0 | + | 0.6.0 | mmdet>=2.4.0, \<=2.11.0 | Not required | mmcv-full>=1.1.3, \<=1.2.0 | + | 0.5.0 | 2.3.0 | Not required | mmcv-full==1.0.5 | - If you faced the error shown below when importing open3d: diff --git a/docs/en/getting_started.md b/docs/en/getting_started.md index 74fdf121e8..4d2a86e98f 100644 --- a/docs/en/getting_started.md +++ b/docs/en/getting_started.md @@ -1,4 +1,5 @@ # Prerequisites + In this section we demonstrate how to prepare an environment with PyTorch. MMDection3D works on Linux, Windows (experimental support) and macOS and requires the following packages: @@ -40,6 +41,7 @@ conda install pytorch torchvision cpuonly -c pytorch We recommend that users follow our best practices to install MMDetection3D. However, the whole process is highly customizable. See [Customize Installation](#customize-installation) section for more information. ## Best Practices + Assuming that you already have CUDA 11.0 installed, here is a full script for quick installation of MMDetection3D with conda. Otherwise, you should refer to the step-by-step installation instructions in the next section. @@ -57,7 +59,6 @@ pip install -e . **Step 1.** Install [MMDetection](https://github.com/open-mmlab/mmdetection). - ```shell pip install mmdet ``` @@ -103,20 +104,20 @@ pip install -v -e . # or "python setup.py develop" Note: 1. The git commit id will be written to the version number with step d, e.g. 0.6.0+2e7045c. The version will also be saved in trained models. -It is recommended that you run step d each time you pull some updates from github. If C++/CUDA codes are modified, then this step is compulsory. + It is recommended that you run step d each time you pull some updates from github. If C++/CUDA codes are modified, then this step is compulsory. - > Important: Be sure to remove the `./build` folder if you reinstall mmdet with a different CUDA/PyTorch version. + > Important: Be sure to remove the `./build` folder if you reinstall mmdet with a different CUDA/PyTorch version. - ```shell - pip uninstall mmdet3d - rm -rf ./build - find . -name "*.so" | xargs rm - ``` + ```shell + pip uninstall mmdet3d + rm -rf ./build + find . -name "*.so" | xargs rm + ``` 2. Following the above instructions, MMDetection3D is installed on `dev` mode, any local modifications made to the code will take effect without the need to reinstall it (unless you submit some commits and want to update the version number). 3. If you would like to use `opencv-python-headless` instead of `opencv-python`, -you can install it before installing MMCV. + you can install it before installing MMCV. 4. Some dependencies are optional. Simply running `pip install -v -e .` will only install the minimum runtime requirements. To use optional dependencies like `albumentations` and `imagecorruptions` either install them manually with `pip install -r requirements/optional.txt` or specify desired extras when calling `pip` (e.g. `pip install -v -e .[optional]`). Valid keys for the extras field are: `all`, `tests`, `build`, and `optional`. @@ -135,14 +136,13 @@ you can install it before installing MMCV. We also support Minkowski Engine as a sparse convolution backend. If necessary please follow original [installation guide](https://github.com/NVIDIA/MinkowskiEngine#installation) or use `pip`: - ```shell - conda install openblas-devel -c anaconda - pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps --install-option="--blas_include_dirs=/opt/conda/include" --install-option="--blas=openblas" - ``` + ```shell + conda install openblas-devel -c anaconda + pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps --install-option="--blas_include_dirs=/opt/conda/include" --install-option="--blas=openblas" + ``` 5. The code can not be built for CPU only environment (where CUDA isn't available) for now. - ## Verification ### Verify with point cloud demo @@ -160,7 +160,7 @@ python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/second/hv_secon ``` If you want to input a `ply` file, you can use the following function and convert it to `bin` format. Then you can use the converted `bin` file to generate demo. -Note that you need to install `pandas` and `plyfile` before using this script. This function can also be used for data preprocessing for training ```ply data```. +Note that you need to install `pandas` and `plyfile` before using this script. This function can also be used for data preprocessing for training `ply data`. ```python import numpy as np @@ -206,6 +206,7 @@ More demos about single/multi-modality and indoor/outdoor 3D detection can be fo ## Customize Installation ### CUDA Versions + When installing PyTorch, you need to specify the version of CUDA. If you are not clear on which to choose, follow our recommendations: - For Ampere-based NVIDIA GPUs, such as GeForce 30 series and NVIDIA A100, CUDA 11 is a must. @@ -229,8 +230,6 @@ For example, the following command install mmcv-full built for PyTorch 1.10.x an pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10/index.html ``` - - ### Using MMDetection3D with Docker We provide a [Dockerfile](https://github.com/open-mmlab/mmdetection3d/blob/master/docker/Dockerfile) to build an image. diff --git a/mmdet3d/datasets/pipelines/loading.py b/mmdet3d/datasets/pipelines/loading.py index 71abe86b4c..42a1b4f2b3 100644 --- a/mmdet3d/datasets/pipelines/loading.py +++ b/mmdet3d/datasets/pipelines/loading.py @@ -48,8 +48,12 @@ def __call__(self, results): """ filename = results['img_filename'] # img is of shape (h, w, c, num_views) - img = np.stack( - [mmcv.imread(name, self.color_type, file_client_args=self.file_client_args) for name in filename], axis=-1) + img = np.stack([ + mmcv.imread( + name, self.color_type, file_client_args=self.file_client_args) + for name in filename + ], + axis=-1) if self.to_float32: img = img.astype(np.float32) results['filename'] = filename From c7569b45b683f552b71bbe6211f2330fce9cdfca Mon Sep 17 00:00:00 2001 From: JingweiZhang12 Date: Thu, 29 Sep 2022 20:26:55 +0800 Subject: [PATCH 3/5] fix link --- configs/sassd/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/sassd/README.md b/configs/sassd/README.md index d1eb771b2c..eadf28140f 100644 --- a/configs/sassd/README.md +++ b/configs/sassd/README.md @@ -1,6 +1,6 @@ # Structure Aware Single-stage 3D Object Detection from Point Cloud -> [Structure Aware Single-stage 3D Object Detection from Point Cloud](<%5Bhttps://arxiv.org/abs/2104.02323%5D(https://openaccess.thecvf.com/content_CVPR_2020/papers/He_Structure_Aware_Single-Stage_3D_Object_Detection_From_Point_Cloud_CVPR_2020_paper.pdf)>) +> [Structure Aware Single-stage 3D Object Detection from Point Cloud](https://openaccess.thecvf.com/content_CVPR_2020/papers/He_Structure_Aware_Single-Stage_3D_Object_Detection_From_Point_Cloud_CVPR_2020_paper.pdf) From 8449b99479653770fd1e45e817d024fd3d85dffb Mon Sep 17 00:00:00 2001 From: Jingwei Zhang Date: Fri, 2 Dec 2022 20:08:10 +0800 Subject: [PATCH 4/5] Bump to 1.0.0rc6 (#2073) * changelog of 1.0.0rc6 * resolve comments * update changelog * update date in changelog * update date in changelog --- README.md | 2 +- README_zh-CN.md | 4 ++-- docs/en/changelog.md | 22 ++++++++++++++++++++++ docs/en/faq.md | 1 + mmdet3d/version.py | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index accbc1772d..0bd40decb6 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ ### ๐Ÿ’Ž Stable version -**v1.0.0rc5** was released in 11/10/2022 +**v1.0.0rc6** was released in 2/12/2022 ### ๐ŸŒŸ Preview of 1.1.x version diff --git a/README_zh-CN.md b/README_zh-CN.md index b188847dd6..8e3374d53d 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -24,11 +24,11 @@ [![codecov](https://codecov.io/gh/open-mmlab/mmdetection3d/branch/master/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmdetection3d) [![license](https://img.shields.io/github/license/open-mmlab/mmdetection3d.svg)](https://github.com/open-mmlab/mmdetection3d/blob/master/LICENSE) -**ๆ–ฐ้—ป**: ๆˆ‘ไปฌๅ‘ๅธƒไบ†็‰ˆๆœฌ v1.0.0rc5. +**ๆ–ฐ้—ป**: ๆˆ‘ไปฌๅ‘ๅธƒไบ†็‰ˆๆœฌ v1.0.0rc6. ### ๐Ÿ’Ž ็จณๅฎš็‰ˆๆœฌ -ๆœ€ๆ–ฐ็š„ **1.0.0rc5** ็‰ˆๆœฌๅทฒ็ปๅœจ 2022.10.11 ๅ‘ๅธƒใ€‚ +ๆœ€ๆ–ฐ็š„ **1.0.0rc6** ็‰ˆๆœฌๅทฒ็ปๅœจ 2022.12.2 ๅ‘ๅธƒใ€‚ ### ๐ŸŒŸ 1.1.x ้ข„่งˆ็‰ˆๆœฌ diff --git a/docs/en/changelog.md b/docs/en/changelog.md index 52fe57b223..1c73179fc9 100644 --- a/docs/en/changelog.md +++ b/docs/en/changelog.md @@ -1,5 +1,27 @@ ## Changelog +### v1.0.0rc6 (2/12/2022) + +#### New Features + +- Add `Projects/` folder and the first example project (#2082) + +#### Improvements + +- Update Waymo converter to save storage space (#1759) +- Update model link and performance of CenterPoint (#1916) + +#### Bug Fixes + +- Fix GPU memory occupancy problem in PointRCNN (#1928) +- Fix sampling bug in `IoUNegPiecewiseSampler` (#2018) + +#### Contributors + +A total of 6 developers contributed to this release. + +@oyel, @zzj403, @VVsssssk, @Tai-Wang, @tpoisonooo, @JingweiZhang12, @ZCMax + ### v1.0.0rc5 (11/10/2022) #### New Features diff --git a/docs/en/faq.md b/docs/en/faq.md index 19746a2929..e32c7d0e6e 100644 --- a/docs/en/faq.md +++ b/docs/en/faq.md @@ -11,6 +11,7 @@ We list some potential troubles encountered by users and developers, along with | MMDetection3D version | MMDetection version | MMSegmentation version | MMCV version | | :-------------------: | :----------------------: | :---------------------: | :-------------------------: | | master | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.5.2, \<=1.7.0 | + | v1.0.0rc6 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.5.2, \<=1.7.0 | | v1.0.0rc5 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.5.2, \<=1.7.0 | | v1.0.0rc4 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.5.2, \<=1.7.0 | | v1.0.0rc3 | mmdet>=2.24.0, \<=3.0.0 | mmseg>=0.20.0, \<=1.0.0 | mmcv-full>=1.4.8, \<=1.6.0 | diff --git a/mmdet3d/version.py b/mmdet3d/version.py index 201312e15b..89fdcd45c3 100644 --- a/mmdet3d/version.py +++ b/mmdet3d/version.py @@ -1,6 +1,6 @@ # Copyright (c) Open-MMLab. All rights reserved. -__version__ = '1.0.0rc5' +__version__ = '1.0.0rc6' short_version = __version__ From 33a9037ea057e7fb514f8c1149e8e55397c8f5e6 Mon Sep 17 00:00:00 2001 From: Jingwei Zhang Date: Fri, 9 Dec 2022 14:40:49 +0800 Subject: [PATCH 5/5] [Doc]: update new releases of 1.1 in readme (#2108) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bd40decb6..2c0a6f3ba1 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ This project is released under the [Apache 2.0 license](LICENSE). ## Changelog -v1.0.0rc5 was released in 11/10/2022. +**v1.0.0rc6** was released in 2/12/2022. Please refer to [changelog.md](docs/en/changelog.md) for details and release history.