From 4357697acaaf7b3eb17a9e78f2e0b8996bcf4e73 Mon Sep 17 00:00:00 2001 From: Kai Chen <chenkaidev@gmail.com> Date: Sat, 14 Dec 2019 12:16:26 +0800 Subject: [PATCH] Release v1.0rc1 (#1805) * update to v1.0rc1 * update maintainers --- .isort.cfg | 3 +- README.md | 54 +++---------------- docs/CHANGELOG.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++ docs/MODEL_ZOO.md | 8 +++ setup.py | 11 ++-- 5 files changed, 155 insertions(+), 51 deletions(-) create mode 100644 docs/CHANGELOG.md diff --git a/.isort.cfg b/.isort.cfg index 5169bea..8c2eb09 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -1,7 +1,8 @@ [isort] line_length = 79 multi_line_output = 0 +known_standard_library = setuptools known_first_party = mmdet -known_third_party = Cython,albumentations,cv2,imagecorruptions,matplotlib,mmcv,numpy,pycocotools,robustness_eval,roi_align,roi_pool,seaborn,setuptools,six,terminaltables,torch +known_third_party = Cython,albumentations,cv2,imagecorruptions,matplotlib,mmcv,numpy,pycocotools,robustness_eval,roi_align,roi_pool,seaborn,six,terminaltables,torch no_lines_before = STDLIB,LOCALFOLDER default_section = THIRDPARTY diff --git a/README.md b/README.md index d173190..f8a667a 100644 --- a/README.md +++ b/README.md @@ -36,51 +36,10 @@ Apart from MMDetection, we also released a library [mmcv](https://github.com/ope This project is released under the [Apache 2.0 license](LICENSE). -## Updates +## Changelog -v1.0rc0 (27/07/2019) -- Implement lots of new methods and components (Mixed Precision Training, HTC, Libra R-CNN, Guided Anchoring, Empirical Attention, Mask Scoring R-CNN, Grid R-CNN (Plus), GHM, GCNet, FCOS, HRNet, Weight Standardization, etc.). Thank all collaborators! -- Support two additional datasets: WIDER FACE and Cityscapes. -- Refactoring for loss APIs and make it more flexible to adopt different losses and related hyper-parameters. -- Speed up multi-gpu testing. -- Integrate all compiling and installing in a single script. - -v0.6.0 (14/04/2019) -- Up to 30% speedup compared to the model zoo. -- Support both PyTorch stable and nightly version. -- Replace NMS and SigmoidFocalLoss with Pytorch CUDA extensions. - -v0.6rc0(06/02/2019) -- Migrate to PyTorch 1.0. - -v0.5.7 (06/02/2019) -- Add support for Deformable ConvNet v2. (Many thanks to the authors and [@chengdazhi](https://github.com/chengdazhi)) -- This is the last release based on PyTorch 0.4.1. - -v0.5.6 (17/01/2019) -- Add support for Group Normalization. -- Unify RPNHead and single stage heads (RetinaHead, SSDHead) with AnchorHead. - -v0.5.5 (22/12/2018) -- Add SSD for COCO and PASCAL VOC. -- Add ResNeXt backbones and detection models. -- Refactoring for Samplers/Assigners and add OHEM. -- Add VOC dataset and evaluation scripts. - -v0.5.4 (27/11/2018) -- Add SingleStageDetector and RetinaNet. - -v0.5.3 (26/11/2018) -- Add Cascade R-CNN and Cascade Mask R-CNN. -- Add support for Soft-NMS in config files. - -v0.5.2 (21/10/2018) -- Add support for custom datasets. -- Add a script to convert PASCAL VOC annotations to the expected format. - -v0.5.1 (20/10/2018) -- Add BBoxAssigner and BBoxSampler, the `train_cfg` field in config files are restructured. -- `ConvFCRoIHead` / `SharedFCRoIHead` are renamed to `ConvFCBBoxHead` / `SharedFCBBoxHead` for consistency. +v1.0rc1 was released in 13/12/2019, with more than 20 bug fixes and 30 improvements and new features. +Please refer to [CHANGELOG.md](docs/CHANGELOG.md) for details and history versions. ## Benchmark and model zoo @@ -99,12 +58,15 @@ Results and models are available in the [Model zoo](docs/MODEL_ZOO.md). | RetinaNet | ✓ | ✓ | ☠| ✗ | ✓ | | GHM | ✓ | ✓ | ☠| ✗ | ✓ | | Mask Scoring R-CNN | ✓ | ✓ | ☠| ✗ | ✓ | -| FCOS | ✓ | ✓ | ☠| ✗ | ✓ | | Double-Head R-CNN | ✓ | ✓ | ☠| ✗ | ✓ | | Grid R-CNN (Plus) | ✓ | ✓ | ☠| ✗ | ✓ | | Hybrid Task Cascade| ✓ | ✓ | ☠| ✗ | ✓ | | Libra R-CNN | ✓ | ✓ | ☠| ✗ | ✓ | | Guided Anchoring | ✓ | ✓ | ☠| ✗ | ✓ | +| FCOS | ✓ | ✓ | ☠| ✗ | ✓ | +| RepPoints | ✓ | ✓ | ☠| ✗ | ✓ | +| Foveabox | ✓ | ✓ | ☠| ✗ | ✓ | +| FreeAnchor | ✓ | ✓ | ☠| ✗ | ✓ | Other features - [x] DCNv2 @@ -157,4 +119,4 @@ If you use this toolbox or benchmark in your research, please cite this project. ## Contact -This repo is currently maintained by Kai Chen ([@hellock](http://github.com/hellock)), Jiangmiao Pang ([@OceanPang](https://github.com/OceanPang)), Jiaqi Wang ([@myownskyW7](https://github.com/myownskyW7)) and Yuhang Cao ([@yhcao6](https://github.com/yhcao6)). \ No newline at end of file +This repo is currently maintained by Kai Chen ([@hellock](http://github.com/hellock)), Yuhang Cao ([@yhcao6](https://github.com/yhcao6)), Wenwei Zhang ([@ZwwWayne](https://github.com/ZwwWayne)), Jiangmiao Pang ([@OceanPang](https://github.com/OceanPang)) and Jiaqi Wang ([@myownskyW7](https://github.com/myownskyW7)). diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 0000000..ad94ec6 --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,130 @@ +## Changelog + +### v1.0rc1 (13/12/2019) + +The RC1 release mainly focuses on improving the user experience, and fixing bugs. + +**Highlights** +- Support new models: [FoveaBox](https://arxiv.org/abs/1904.03797), [RepPoints](https://arxiv.org/abs/1904.11490) and [FreeAnchor](https://arxiv.org/abs/1909.02466). +- Add a Dockerfile. +- Add a jupyter notebook demo and a webcam demo. +- Setup the code style and CI. +- Add lots of docstrings and unit tests. +- Fix lots of bugs. + +**Breaking Changes** +- There was a bug for computing COCO-style mAP w.r.t different scales (AP_s, AP_m, AP_l), introduced by #621. (#1679) + +**Bug Fixes** +- Fix a sampling interval bug in Libra R-CNN. (#1800) +- Fix the learning rate in SSD300 WIDER FACE. (#1781) +- Fix the scaling issue when `keep_ratio=False`. (#1730) +- Fix typos. (#1721, #1492, #1242, #1108, #1107) +- Fix the shuffle argument in `build_dataloader`. (#1693) +- Clip the proposal when computing mask targets. (#1688) +- Fix the "index out of range" bug for samplers in some corner cases. (#1610, #1404) +- Fix the NMS issue on devices other than GPU:0. (#1603) +- Fix SSD Head and GHM Loss on CPU. (#1578) +- Fix the OOM error when there are too many gt bboxes. (#1575) +- Fix the wrong keyword argument `nms_cfg` in HTC. (#1573) +- Process masks and semantic segmentation in Expand and MinIoUCrop transforms. (#1550, #1361) +- Fix a scale bug in the Non Local op. (#1528) +- Fix a bug in transforms when `gt_bboxes_ignore` is None. (#1498) +- Fix a bug when `img_prefix` is None. (#1497) +- Pass the device argument to `grid_anchors` and `valid_flags`. (#1478) +- Fix the data pipeline for test_robustness. (#1476) +- Fix the argument type of deformable pooling. (#1390) +- Fix the coco_eval when there are only two classes. (#1376) +- Fix a bug in Modulated DeformableConv when deformable_group>1. (#1359) +- Fix the mask cropping in RandomCrop. (#1333) +- Fix zero outputs in DeformConv when not running on cuda:0. (#1326) +- Fix the type issue in Expand. (#1288) +- Fix the inference API. (#1255) +- Fix the inplace operation in Expand. (#1249) +- Fix the from-scratch training config. (#1196) +- Fix inplace add in RoIExtractor which cause an error in PyTorch 1.2. (#1160) +- Fix FCOS when input images has no positive sample. (#1136) +- Fix recursive imports. (#1099) + +**Improvements** +- Print the config file and mmdet version in the log. (#1721) +- Lint the code before compiling in travis CI. (#1715) +- Add a probability argument for the `Expand` transform. (#1651) +- Update the PyTorch and CUDA version in the docker file. (#1615) +- Raise a warning when specifying `--validate` in non-distributed training. (#1624, #1651) +- Beautify the mAP printing. (#1614) +- Add pre-commit hook. (#1536) +- Add the argument `in_channels` to backbones. (#1475) +- Add lots of docstrings and unit tests, thanks to [@Erotemic](https://github.com/Erotemic). (#1603, #1517, #1506, #1505, #1491, #1479, #1477, #1475, #1474) +- Add support for multi-node distributed test when there is no shared storage. (#1399) +- Optimize Dockerfile to reduce the image size. (#1306) +- Update new results of HRNet. (#1284, #1182) +- Add an argument `no_norm_on_lateral` in FPN. (#1240) +- Test the compiling in CI. (#1235) +- Move docs to a separate folder. (#1233) +- Add a jupyter notebook demo. (#1158) +- Support different type of dataset for training. (#1133) +- Use int64_t instead of long in cuda kernels. (#1131) +- Support unsquare RoIs for bbox and mask heads. (#1128) +- Manually add type promotion to make compatible to PyTorch 1.2. (#1114) +- Allowing validation dataset for computing validation loss. (#1093) +- Use `.scalar_type()` instead of `.type()` to suppress some warnings. (#1070) + +**New Features** +- Add an option `--with_ap` to compute the AP for each class. (#1549) +- Implement "FreeAnchor: Learning to Match Anchors for Visual Object Detection". (#1391) +- Support [Albumentations](https://github.com/albumentations-team/albumentations) for augmentations in the data pipeline. (#1354) +- Implement "FoveaBox: Beyond Anchor-based Object Detector". (#1339) +- Support horizontal and vertical flipping. (#1273, #1115) +- Implement "RepPoints: Point Set Representation for Object Detection". (#1265) +- Add test-time augmentation to HTC and Cascade R-CNN. (#1251) +- Add a COCO result analysis tool. (#1228) +- Add Dockerfile. (#1168) +- Add a webcam demo. (#1155, #1150) +- Add FLOPs counter. (#1127) +- Allow arbitrary layer order for ConvModule. (#1078) + + +### v1.0rc0 (27/07/2019) +- Implement lots of new methods and components (Mixed Precision Training, HTC, Libra R-CNN, Guided Anchoring, Empirical Attention, Mask Scoring R-CNN, Grid R-CNN (Plus), GHM, GCNet, FCOS, HRNet, Weight Standardization, etc.). Thank all collaborators! +- Support two additional datasets: WIDER FACE and Cityscapes. +- Refactoring for loss APIs and make it more flexible to adopt different losses and related hyper-parameters. +- Speed up multi-gpu testing. +- Integrate all compiling and installing in a single script. + +### v0.6.0 (14/04/2019) +- Up to 30% speedup compared to the model zoo. +- Support both PyTorch stable and nightly version. +- Replace NMS and SigmoidFocalLoss with Pytorch CUDA extensions. + +### v0.6rc0(06/02/2019) +- Migrate to PyTorch 1.0. + +### v0.5.7 (06/02/2019) +- Add support for Deformable ConvNet v2. (Many thanks to the authors and [@chengdazhi](https://github.com/chengdazhi)) +- This is the last release based on PyTorch 0.4.1. + +### v0.5.6 (17/01/2019) +- Add support for Group Normalization. +- Unify RPNHead and single stage heads (RetinaHead, SSDHead) with AnchorHead. + +### v0.5.5 (22/12/2018) +- Add SSD for COCO and PASCAL VOC. +- Add ResNeXt backbones and detection models. +- Refactoring for Samplers/Assigners and add OHEM. +- Add VOC dataset and evaluation scripts. + +### v0.5.4 (27/11/2018) +- Add SingleStageDetector and RetinaNet. + +### v0.5.3 (26/11/2018) +- Add Cascade R-CNN and Cascade Mask R-CNN. +- Add support for Soft-NMS in config files. + +### v0.5.2 (21/10/2018) +- Add support for custom datasets. +- Add a script to convert PASCAL VOC annotations to the expected format. + +### v0.5.1 (20/10/2018) +- Add BBoxAssigner and BBoxSampler, the `train_cfg` field in config files are restructured. +- `ConvFCRoIHead` / `SharedFCRoIHead` are renamed to `ConvFCBBoxHead` / `SharedFCBBoxHead` for consistency. diff --git a/docs/MODEL_ZOO.md b/docs/MODEL_ZOO.md index 7a71826..1b8f11f 100644 --- a/docs/MODEL_ZOO.md +++ b/docs/MODEL_ZOO.md @@ -246,6 +246,14 @@ Please refer to [FCOS](../configs/fcos/README.md) for details. Please refer to [FoveaBox](../configs/foveabox/README.md) for details. +### RepPoints + +Please refer to [RepPoints](../configs/reppoints/README.md) for details. + +### FreeAnchor + +Please refer to [FreeAnchor](../configs/free_anchor/README.md) for details. + ### Grid R-CNN (plus) Please refer to [Grid R-CNN](../configs/grid_rcnn/README.md) for details. diff --git a/setup.py b/setup.py index c75f521..166181f 100644 --- a/setup.py +++ b/setup.py @@ -7,8 +7,8 @@ from setuptools import Extension, dist, find_packages, setup from torch.utils.cpp_extension import BuildExtension, CUDAExtension dist.Distribution().fetch_build_eggs(['Cython', 'numpy>=1.11.1']) -import numpy as np # noqa: E402 -from Cython.Build import cythonize # noqa: E402 +import numpy as np # noqa: E402, isort:skip +from Cython.Build import cythonize # noqa: E402, isort:skip def readme(): @@ -20,8 +20,11 @@ def readme(): MAJOR = 1 MINOR = 0 PATCH = '' -SUFFIX = 'rc0' -SHORT_VERSION = '{}.{}.{}{}'.format(MAJOR, MINOR, PATCH, SUFFIX) +SUFFIX = 'rc1' +if PATCH: + SHORT_VERSION = '{}.{}.{}{}'.format(MAJOR, MINOR, PATCH, SUFFIX) +else: + SHORT_VERSION = '{}.{}{}'.format(MAJOR, MINOR, SUFFIX) version_file = 'mmdet/version.py' -- GitLab