Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump versions to v2.22.0 #7240

Merged
merged 10 commits into from
Feb 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,11 @@ This project is released under the [Apache 2.0 license](LICENSE).

## Changelog
AronLin marked this conversation as resolved.
Show resolved Hide resolved

**2.21.0** was released in 8/2/2022:
**2.22.0** was released in 24/2/2022:

- Support CPU training
- Allow to set parameters about multi-processing to speed up training and testing
- Support [MaskFormer](configs/maskformer), [DyHead](configs/dyhead), [OpenImages Dataset](configs/openimages) and [TIMM backbone](configs/timm_example)
- Support visualization for Panoptic Segmentation
AronLin marked this conversation as resolved.
Show resolved Hide resolved
- Release a good recipe of using ResNet in object detectors pre-trained by [ResNet Strikes Back](https://arxiv.org/abs/2110.00476), which consistently brings about 3~4 mAP improvements over RetinaNet, Faster/Mask/Cascade Mask R-CNN

Please refer to [changelog.md](docs/en/changelog.md) for details and release history.

Expand Down Expand Up @@ -162,6 +163,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
<td>
<ul>
<li><a href="configs/panoptic_fpn">Panoptic FPN (CVPR'2019)</a></li>
<li><a href="configs/maskformer">MaskFormer (NeurIPS'2019)</a></li>
</ul>
</td>
<td>
Expand Down Expand Up @@ -225,6 +227,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
<li><a href="configs/pvt">PVT (ICCV'2021)</a></li>
<li><a href="configs/swin">Swin (CVPR'2021)</a></li>
<li><a href="configs/pvt">PVTv2 (ArXiv'2021)</a></li>
<li><a href="configs/resnet_strikes_back">ResNet strikes back (ArXiv'2021)</a></li>
</ul>
</td>
<td>
Expand Down
8 changes: 5 additions & 3 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,11 @@ MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 [Ope

## 更新日志

最新的 **2.21.0** 版本已经在 2022.02.08 发布:
最新的 **2.22.0** 版本已经在 2022.02.24 发布:

- 支持了 CPU 训练
- 允许设置多进程相关的参数来加速训练与推理
- 支持 [MaskFormer](configs/maskformer),[DyHead](configs/dyhead),[OpenImages Dataset](configs/openimages) 和 [TIMM backbone](configs/timm_example)
- 支持全景分割可视化
- 发布了一个在目标检测任务中使用 ResNet 的好方法,它是由 [ResNet Strikes Back](https://arxiv.org/abs/2110.00476) 预训练的,并且能稳定的在 RetinaNet, Faster/Mask/Cascade Mask R-CNN 上带来约 3-4 mAP 的提升

如果想了解更多版本更新细节和历史信息,请阅读[更新日志](docs/changelog.md)。

Expand Down Expand Up @@ -224,6 +225,7 @@ MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 [Ope
<li><a href="configs/pvt">PVT (ICCV'2021)</a></li>
<li><a href="configs/swin">Swin (CVPR'2021)</a></li>
<li><a href="configs/pvt">PVTv2 (ArXiv'2021)</a></li>
<li><a href="configs/resnet_strikes_back">ResNet strikes back (ArXiv'2021)</a></li>
</ul>
</td>
<td>
Expand Down
2 changes: 1 addition & 1 deletion docker/serve/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG CUDNN="7"
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel

ARG MMCV="1.3.17"
ARG MMDET="2.21.0"
ARG MMDET="2.22.0"

ENV PYTHONUNBUFFERED TRUE

Expand Down
42 changes: 42 additions & 0 deletions docs/en/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,47 @@
## Changelog

### v2.22.0 (24/2/2022)

#### Highlights

- Support MaskFormer: [Per-Pixel Classification is Not All You Need for Semantic Segmentation](https://arxiv.org/abs/2107.06278) (#7212)
- Support DyHead: [Dynamic Head: Unifying Object Detection Heads with Attentions](https://arxiv.org/abs/2106.08322) (#6823)
- Release a good recipe of using ResNet in object detectors pre-trained by [ResNet Strikes Back](https://arxiv.org/abs/2110.00476), which consistently brings about 3~4 mAP improvements over RetinaNet, Faster/Mask/Cascade Mask R-CNN (#7001)
- Support [Open Images Dataset](https://storage.googleapis.com/openimages/web/index.html) (#6331)
- Support TIMM backbone: [PyTorch Image Models](https://github.com/rwightman/pytorch-image-models) (#7020)

#### New Features

- Support [MaskFormer](configs/maskformer) (#7212)
- Support [DyHead](configs/dyhead) (#6823)
- Support [ResNet Strikes Back](configs/resnet_strikes_back) (#7001)
- Support [OpenImages Dataset](configs/openimages) (#6331)
- Support [TIMM backbone](configs/timm_example) (#7020)
- Support visualization for Panoptic Segmentation (#7041)

#### Breaking Changes

In order to support the visualization for Panoptic Segmentation, the `num_classes` can not be `None` when using the `get_palette` function to determine whether to use the panoptic palette.

#### Bug Fixes

- Fix bug for the best checkpoints can not be saved when the `key_score` is None (#7101)
- Fix MixUp transform filter boxes failing case (#7080)
- Add missing properties in SABLHead (#7091)
- Fix bug when NaNs exist in confusion matrix (#7147)
- Fix PALETTE AttributeError in downstream task (#7230)

#### Improvements

- Speed up SimOTA matching (#7098)
- Add Chinese translation of `docs_zh-CN/tutorials/init_cfg.md` (#7188)

#### Contributors

A total of 20 developers contributed to this release.
Thanks @ZwwWayne, @hhaAndroid, @RangiLyu, @AronLin, @BIGWangYuDong, @jbwang1997, @zytx121, @chhluo, @shinya7y, @LuooChen, @dvansa, @siatwangmin, @del-zhenwu, @vikashranjan26, @haofanwang, @jamiechoi1995, @HJoonKwon, @yarkable, @zhijian-liu, @RangeKing


### v2.21.0 (8/2/2022)

### Breaking Changes
Expand Down
5 changes: 5 additions & 0 deletions docs/en/compatibility.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Compatibility of MMDetection 2.x

## MMDetection 2.21.0

In order to support CPU training, the logic of scatter in batch collating has been changed. We recommend to use
MMCV v1.4.4 or higher. For more details, please refer to [MMCV PR #1621](https://github.com/open-mmlab/mmcv/pull/1621).

## MMDetection 2.18.1

### MMCV compatibility
Expand Down
63 changes: 32 additions & 31 deletions docs/en/get_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,36 @@

Compatible MMDetection and MMCV versions are shown as below. Please install the correct version of MMCV to avoid installation issues.

| MMDetection version | MMCV version |
|:-------------------:|:-------------------:|
| master | mmcv-full>=1.3.17, <1.5.0 |
| 2.21.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.20.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.1 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.18.0 | mmcv-full>=1.3.17, <1.4.0 |
| 2.17.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.16.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.1 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.14.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.13.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.12.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.11.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.10.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.9.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.8.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.7.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.6.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.5.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.4.0 | mmcv-full>=1.1.1, <1.4.0 |
| 2.3.0 | mmcv-full==1.0.5 |
| 2.3.0rc0 | mmcv-full>=1.0.2 |
| 2.2.1 | mmcv==0.6.2 |
| 2.2.0 | mmcv==0.6.2 |
| 2.1.0 | mmcv>=0.5.9, <=0.6.1|
| 2.0.0 | mmcv>=0.5.1, <=0.5.8|
| MMDetection version | MMCV version |
|:-------------------:|:-------------------------:|
| master | mmcv-full>=1.3.17, <1.5.0 |
| 2.22.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.21.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.20.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.1 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.18.0 | mmcv-full>=1.3.17, <1.4.0 |
| 2.17.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.16.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.1 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.14.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.13.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.12.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.11.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.10.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.9.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.8.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.7.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.6.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.5.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.4.0 | mmcv-full>=1.1.1, <1.4.0 |
| 2.3.0 | mmcv-full==1.0.5 |
| 2.3.0rc0 | mmcv-full>=1.0.2 |
| 2.2.1 | mmcv==0.6.2 |
| 2.2.0 | mmcv==0.6.2 |
| 2.1.0 | mmcv>=0.5.9, <=0.6.1 |
| 2.0.0 | mmcv>=0.5.1, <=0.5.8 |

**Note:** You need to run `pip uninstall mmcv` first if you have mmcv installed.
If mmcv and mmcv-full are both installed, there will be `ModuleNotFoundError`.
Expand Down Expand Up @@ -166,7 +167,7 @@ to [official documentation](https://albumentations.ai/docs/getting_started/insta

MMDetection can be built for CPU only environment (where CUDA isn't available).

In CPU mode you can run the demo/webcam_demo.py for example.
In CPU mode you can train (requires MMCV version >= 1.4.4), test or inference a model.
However some functionality is gone in this mode:

- Deformable Convolution
Expand All @@ -182,7 +183,7 @@ However some functionality is gone in this mode:
- sigmoid_focal_loss_cuda
- bbox_overlaps

If you try to run inference with a model containing above ops, an error will be raised.
If you try to train/test/inference a model containing above ops, an error will be raised.
The following table lists affected algorithms.

| Operator | Model |
Expand Down
14 changes: 13 additions & 1 deletion docs/en/model_zoo.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,9 +242,21 @@ Please refer to [SOLO](https://github.com/open-mmlab/mmdetection/blob/master/con

Please refer to [QueryInst](https://github.com/open-mmlab/mmdetection/blob/master/configs/queryinst) for details.

### PanopticFPN

Please refer to [PanopticFPN](https://github.com/open-mmlab/mmdetection/blob/master/configs/panoptic_fpn) for details.

### MaskFormer

Please refer to [MaskFormer](https://github.com/open-mmlab/mmdetection/blob/master/configs/maskformer) for details.

### DyHead

Please refer to [DyHead](https://github.com/open-mmlab/mmdetection/blob/master/configs/dyhead) for details.

### Other datasets

We also benchmark some methods on [PASCAL VOC](https://github.com/open-mmlab/mmdetection/blob/master/configs/pascal_voc), [Cityscapes](https://github.com/open-mmlab/mmdetection/blob/master/configs/cityscapes) and [WIDER FACE](https://github.com/open-mmlab/mmdetection/blob/master/configs/wider_face).
We also benchmark some methods on [PASCAL VOC](https://github.com/open-mmlab/mmdetection/blob/master/configs/pascal_voc), [Cityscapes](https://github.com/open-mmlab/mmdetection/blob/master/configs/cityscapes), [OpenImages](https://github.com/open-mmlab/mmdetection/blob/master/configs/openimages) and [WIDER FACE](https://github.com/open-mmlab/mmdetection/blob/master/configs/wider_face).

### Pre-trained Models

Expand Down
5 changes: 5 additions & 0 deletions docs/zh_cn/compatibility.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# MMDetection v2.x 兼容性说明

## MMDection 2.21.0

为了支持 CPU 训练,MMCV 中进行批处理的 scatter 的代码逻辑已经被修改。我们推荐使用 MMCV v1.4.4 或更高版本,
更多信息请参考 [MMCV PR #1621](https://github.com/open-mmlab/mmcv/pull/1621).

## MMDetection 2.18.1

### MMCV compatibility
Expand Down
65 changes: 33 additions & 32 deletions docs/zh_cn/get_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,37 @@

MMDetection 和 MMCV 版本兼容性如下所示,需要安装正确的 MMCV 版本以避免安装出现问题。

| MMDetection 版本 | MMCV 版本 |
| :--------------: | :----------------------: |
| master | mmcv-full>=1.3.17, <1.5.0 |
| 2.21.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.20.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.1 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.18.1 | mmcv-full>=1.3.17, <1.4.0 |
| 2.18.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.17.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.16.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.1 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.14.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.13.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.12.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.11.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.10.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.9.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.8.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.7.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.6.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.5.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.4.0 | mmcv-full>=1.1.1, <1.4.0 |
| 2.3.0 | mmcv-full==1.0.5 |
| 2.3.0rc0 | mmcv-full>=1.0.2 |
| 2.2.1 | mmcv==0.6.2 |
| 2.2.0 | mmcv==0.6.2 |
| 2.1.0 | mmcv>=0.5.9, <=0.6.1 |
| 2.0.0 | mmcv>=0.5.1, <=0.5.8 |
| MMDetection 版本 | MMCV 版本 |
|:--------------:|:-------------------------:|
| master | mmcv-full>=1.3.17, <1.5.0 |
| 2.22.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.21.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.20.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.1 | mmcv-full>=1.3.17, <1.5.0 |
| 2.19.0 | mmcv-full>=1.3.17, <1.5.0 |
| 2.18.1 | mmcv-full>=1.3.17, <1.4.0 |
| 2.18.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.17.0 | mmcv-full>=1.3.14, <1.4.0 |
| 2.16.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.1 | mmcv-full>=1.3.8, <1.4.0 |
| 2.15.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.14.0 | mmcv-full>=1.3.8, <1.4.0 |
| 2.13.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.12.0 | mmcv-full>=1.3.3, <1.4.0 |
| 2.11.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.10.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.9.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.8.0 | mmcv-full>=1.2.4, <1.4.0 |
| 2.7.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.6.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.5.0 | mmcv-full>=1.1.5, <1.4.0 |
| 2.4.0 | mmcv-full>=1.1.1, <1.4.0 |
| 2.3.0 | mmcv-full==1.0.5 |
| 2.3.0rc0 | mmcv-full>=1.0.2 |
| 2.2.1 | mmcv==0.6.2 |
| 2.2.0 | mmcv==0.6.2 |
| 2.1.0 | mmcv>=0.5.9, <=0.6.1 |
| 2.0.0 | mmcv>=0.5.1, <=0.5.8 |

**注意:**如果已经安装了 mmcv,首先需要使用 `pip uninstall mmcv` 卸载已安装的 mmcv,如果同时安装了 mmcv 和 mmcv-full,将会报 `ModuleNotFoundError` 错误。

Expand Down Expand Up @@ -166,7 +167,7 @@ MIM 能够自动地安装 OpenMMLab 的项目以及对应的依赖包。

我们的代码能够建立在只使用 CPU 的环境(CUDA 不可用)。

在CPU模式下,可以运行 `demo/webcam_demo.py` 示例,然而以下功能将在 CPU 模式下不能使用:
在CPU模式下,可以进行模型训练(需要 MMCV 版本 >= 1.4.4)、测试或者推理,然而以下功能将在 CPU 模式下不能使用:

- Deformable Convolution
- Modulated Deformable Convolution
Expand All @@ -181,7 +182,7 @@ MIM 能够自动地安装 OpenMMLab 的项目以及对应的依赖包。
- sigmoid_focal_loss_cuda
- bbox_overlaps

因此,如果尝试使用包含上述操作的模型进行推理,将会报错。下表列出了由于依赖上述算子而无法在 CPU 上运行的相关模型:
因此,如果尝试使用包含上述操作的模型进行训练/测试/推理,将会报错。下表列出了由于依赖上述算子而无法在 CPU 上运行的相关模型:

| 操作 | 模型 |
| :-----------------------------------------------------: | :----------------------------------------------------------: |
Expand Down
2 changes: 1 addition & 1 deletion mmdet/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copyright (c) OpenMMLab. All rights reserved.

__version__ = '2.21.0'
__version__ = '2.22.0'
short_version = __version__


Expand Down