Skip to content

Commit

Permalink
Release of v0.3.2
Browse files Browse the repository at this point in the history
Release of v0.3.2
  • Loading branch information
ZwwWayne authored Jul 6, 2022
2 parents d1d273b + 36de5f6 commit c62f148
Show file tree
Hide file tree
Showing 28 changed files with 2,798 additions and 2,622 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/test_mim.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: test-mim

on:
push:
paths:
- 'model-index.yml'
- 'configs/**'

pull_request:
paths:
- 'model-index.yml'
- 'configs/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_cpu:
runs-on: ubuntu-18.04
strategy:
matrix:
python-version: [3.7]
torch: [1.8.0]
include:
- torch: 1.8.0
torch_version: torch1.8
torchvision: 0.9.0
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip
run: pip install pip --upgrade
- name: Install PyTorch
run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html
- name: Install openmim
run: pip install openmim
- name: Build and install
run: rm -rf .eggs && mim install -e .
- name: test commands of mim
run: mim search mmrotate
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ repos:
- id: codespell
args: [ '--ignore-words-list', 'DOTA' ]
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.14
rev: 0.7.9
hooks:
- id: mdformat
args: ["--number"]
additional_dependencies:
- mdformat-gfm
- mdformat-openmmlab
- mdformat_frontmatter
- linkify-it-py
- repo: https://github.com/myint/docformatter
Expand Down
66 changes: 43 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,33 @@
</div>
<div>&nbsp;</div>

[![Documentation](https://readthedocs.org/projects/mmrotate/badge/?version=latest)](https://mmrotate.readthedocs.io/en/latest/?badge=latest)
[![actions](https://github.com/open-mmlab/mmrotate/workflows/build/badge.svg)](https://github.com/open-mmlab/mmrotate/actions)
[![codecov](https://codecov.io/gh/open-mmlab/mmrotate/branch/master/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmrotate)
[![PyPI](https://img.shields.io/pypi/v/mmrotate)](https://pypi.org/project/mmrotate/)
[![LICENSE](https://img.shields.io/github/license/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/blob/master/LICENSE)
[![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)
[![Percentage of issues still open](https://isitmaintained.com/badge/open/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)
[![PyPI](https://img.shields.io/pypi/v/mmrotate)](https://pypi.org/project/mmrotate)
[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmrotate.readthedocs.io/en/latest/)
[![badge](https://github.com/open-mmlab/mmrotate/workflows/build/badge.svg)](https://github.com/open-mmlab/mmrotate/actions)
[![codecov](https://codecov.io/gh/open-mmlab/mmrotate/branch/main/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmrotate)
[![license](https://img.shields.io/github/license/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/blob/main/LICENSE)
[![open issues](https://isitmaintained.com/badge/open/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)
[![issue resolution](https://isitmaintained.com/badge/resolution/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)

[📘Documentation](https://mmrotate.readthedocs.io/en/latest/) |
[🛠️Installation](https://mmrotate.readthedocs.io/en/latest/install.html) |
[👀Model Zoo](docs/en/model_zoo.md) |
[👀Model Zoo](https://mmrotate.readthedocs.io/en/latest/model_zoo.html) |
[🆕Update News](https://mmrotate.readthedocs.io/en/latest/changelog.html) |
[🚀Ongoing Projects](https://github.com/open-mmlab/mmrotate/projects) |
[🤔Reporting Issues](https://github.com/open-mmlab/mmrotate/issues/new/choose)

</div>

## Introduction
<!--中/英 文档切换-->

<div align="center">

English | [简体中文](README_zh-CN.md)

</div>

## Introduction

MMRotate is an open-source toolbox for rotated object detection based on PyTorch.
It is a part of the [OpenMMLab project](https://github.com/open-mmlab).

Expand All @@ -62,23 +70,37 @@ https://user-images.githubusercontent.com/10410257/154433305-416d129b-60c8-44c7-

</details>

## Changelog
## What's New

**0.3.1** was released in 6/6/2022:
**0.3.2** was released in 6/7/2022:

- Support Rotated FCOS (#223)
- Support Oriented Reppoints (CVPR'22) (#286)
- Support ConvNeXt backbone (CVPR'22) (#343)

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

## Installation

Please refer to [install.md](docs/en/install.md) for installation guide.
MMRotate depends on [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv) and [MMDetection](https://github.com/open-mmlab/mmdetection).
Below are quick steps for installation.
Please refer to [Install Guide](https://mmrotate.readthedocs.io/en/latest/install.html) for more detailed instruction.

```shell
conda create -n open-mmlab python=3.7 pytorch==1.7.0 cudatoolkit=10.1 torchvision -c pytorch -y
conda activate open-mmlab
pip install openmim
mim install mmcv-full
mim install mmdet
git clone https://github.com/open-mmlab/mmrotate.git
cd mmrotate
pip install -r requirements/build.txt
pip install -v -e .
```

## Get Started

Please see [get_started.md](docs/en/get_started.md) for the basic usage of MMRotate.
We provide [colab tutorial](demo/MMRotate_Tutorial.ipynb) for beginners.
There are also tutorials:
We provide [colab tutorial](demo/MMRotate_Tutorial.ipynb), and other tutorials for:

- [learn the basics](docs/en/intro.md)
- [learn the config](docs/en/tutorials/customize_config.md)
Expand Down Expand Up @@ -116,10 +138,6 @@ A summary can be found in the [Model Zoo](docs/en/model_zoo.md) page.

</details>

### Model Request

We will keep up with the latest progress of the community, and support more popular algorithms and frameworks. If you have any feature requests, please feel free to leave a comment in [MMRotate Roadmap](https://github.com/open-mmlab/mmrotate/issues/1).

## Data Preparation

Please refer to [data_preparation.md](tools/data/README.md) to prepare the data.
Expand All @@ -138,13 +156,15 @@ MMRotate is an open source project that is contributed by researchers and engine

## Citation

If you find this project useful in your research, please consider cite:
If you use this toolbox or benchmark in your research, please cite this project.

```bibtex
@article{mmrotate2022,
title={MMRotate: A Rotated Object Detection Benchmark using PyTorch},
author={Zhou, Yue and Yang, Xue and Zhang, Gefan and Wang, Jiabao and Liu, Yanyi and Hou, Liping and Jiang, Xue and Liu, Xingzhao and Yan, Junchi and Lyu, Chengqi and Zhang, Wenwei and Chen, Kai},
journal={arXiv preprint arXiv:2204.13317},
title = {MMRotate: A Rotated Object Detection Benchmark using PyTorch},
author = {Zhou, Yue and Yang, Xue and Zhang, Gefan and Wang, Jiabao and Liu, Yanyi and
Hou, Liping and Jiang, Xue and Liu, Xingzhao and Yan, Junchi and Lyu, Chengqi and
Zhang, Wenwei and Chen, Kai},
journal= {arXiv preprint arXiv:2204.13317},
year={2022}
}
```
Expand Down
76 changes: 46 additions & 30 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,30 @@
</div>
<div>&nbsp;</div>

[![Documentation](https://readthedocs.org/projects/mmrotate/badge/?version=latest)](https://mmrotate.readthedocs.io/en/latest/?badge=latest)
[![actions](https://github.com/open-mmlab/mmrotate/workflows/build/badge.svg)](https://github.com/open-mmlab/mmrotate/actions)
[![codecov](https://codecov.io/gh/open-mmlab/mmrotate/branch/master/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmrotate)
[![PyPI](https://img.shields.io/pypi/v/mmrotate)](https://pypi.org/project/mmrotate/)
[![LICENSE](https://img.shields.io/github/license/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/blob/master/LICENSE)
[![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)
[![Percentage of issues still open](https://isitmaintained.com/badge/open/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)

[📘文档](https://mmrotate.readthedocs.io/en/latest/) |
[🛠️安装](https://mmrotate.readthedocs.io/en/latest/install.html) |
[👀模型库](docs/en/model_zoo.md) |
[![PyPI](https://img.shields.io/pypi/v/mmrotate)](https://pypi.org/project/mmrotate)
[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmrotate.readthedocs.io/en/latest/)
[![badge](https://github.com/open-mmlab/mmrotate/workflows/build/badge.svg)](https://github.com/open-mmlab/mmrotate/actions)
[![codecov](https://codecov.io/gh/open-mmlab/mmrotate/branch/main/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmrotate)
[![license](https://img.shields.io/github/license/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/blob/main/LICENSE)
[![open issues](https://isitmaintained.com/badge/open/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)
[![issue resolution](https://isitmaintained.com/badge/resolution/open-mmlab/mmrotate.svg)](https://github.com/open-mmlab/mmrotate/issues)

[📘使用文档](https://mmrotate.readthedocs.io/zh_CN/stable/) |
[🛠️安装教程](https://mmrotate.readthedocs.io/zh_CN/stable/get_started.html) |
[👀模型库](https://mmrotate.readthedocs.io/zh_CN/stable/model_zoo.html) |
[🆕更新日志](https://mmrotate.readthedocs.io/en/stable/changelog.html) |
[🚀进行中的项目](https://github.com/open-mmlab/mmrotate/projects) |
[🤔报告问题](https://github.com/open-mmlab/mmrotate/issues/new/choose)

</div>

## 介绍
<div align="center">

[English](./README.md) | 简体中文
[English](/README.md) | 简体中文

</div>

## 介绍

MMRotate 是一款基于 PyTorch 的旋转框检测的开源工具箱,是 [OpenMMLab](http://openmmlab.org/) 项目的成员之一。

Expand All @@ -60,23 +66,36 @@ https://user-images.githubusercontent.com/10410257/154433305-416d129b-60c8-44c7-

</details>

## 更新日志
## 最新进展

最新的 **0.3.1** 版本已经在 2022.06.06 发布:
最新的 **0.3.2** 版本已经在 2022.07.06 发布:

- 支持了 Rotated FCOS 模型 (#223)
- 支持了 Oriented Reppoints 模型 (CVPR'22) (#286)
- 支持了 ConvNeXt 骨干网络 (CVPR'22) (#343)

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

## 安装

请参考 [安装指南](docs/zh_cn/install.md) 进行安装。
MMRotate 依赖 [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv)[MMDetection](https://github.com/open-mmlab/mmdetection),以下是安装的简要步骤。
更详细的安装指南请参考 [安装文档](https://mmrotate.readthedocs.io/zh_CN/latest/install.html)

```shell
conda create -n open-mmlab python=3.7 pytorch==1.7.0 cudatoolkit=10.1 torchvision -c pytorch -y
conda activate open-mmlab
pip install openmim
mim install mmcv-full
mim install mmdet
git clone https://github.com/open-mmlab/mmrotate.git
cd mmrotate
pip install -r requirements/build.txt
pip install -v -e .
```

## 教程

请参考 [get_started.md](docs/zh_cn/get_started.md) 了解 MMRotate 的基本使用。
我们为初学者提供了 [colab 教程](demo/MMRotate_Tutorial.ipynb)
MMRotate 也提供了其他更详细的教程:
请参考[快速入门文档](docs/zh_cn/get_started.md)学习 MMRotate 的基本使用。
我们提供了 [colab 教程](demo/MMRotate_Tutorial.ipynb),也为新手提供了完整的运行教程,其他教程如下

- [学习基础知识](docs/zh_cn/intro.md)
- [配置文件](docs/zh_cn/tutorials/customize_config.md)
Expand Down Expand Up @@ -113,10 +132,6 @@ MMRotate 也提供了其他更详细的教程:

</details>

### 模型需求

我们将跟进学界的最新进展,并支持更多算法和框架。如果您对 MMRotate 有任何功能需求,请随时在 [MMRotate Roadmap](https://github.com/open-mmlab/mmrotate/issues/1) 中留言。

## 数据准备

请参考 [data_preparation.md](tools/data/README.md) 进行数据集准备。
Expand All @@ -136,14 +151,15 @@ MMRotate 是一款由不同学校和公司共同贡献的开源项目。我们

## 引用

如果您觉得 MMRotate 对您的研究有所帮助,请考虑引用它:
如果你在研究中使用了本项目的代码或者性能基准,请参考如下 bibtex 引用 MMRotate。

```bibtex
@article{mmrotate2022,
title={MMRotate: A Rotated Object Detection Benchmark using PyTorch},
author={Zhou, Yue and Yang, Xue and Zhang, Gefan and Wang, Jiabao and Liu, Yanyi and Hou, Liping and Jiang, Xue and Liu, Xingzhao and Yan, Junchi and Lyu, Chengqi and Zhang, Wenwei and Chen, Kai},
journal={arXiv preprint arXiv:2204.13317},
year={2022}
title = {MMRotate: A Rotated Object Detection Benchmark using PyTorch},
author = {Zhou, Yue and Yang, Xue and Zhang, Gefan and Wang, Jiabao and Liu, Yanyi and
Hou, Liping and Jiang, Xue and Liu, Xingzhao and Yan, Junchi and Lyu, Chengqi and
Zhang, Wenwei and Chen, Kai},
journal= {arXiv preprint arXiv:2204.13317},
}
```

Expand Down Expand Up @@ -175,7 +191,7 @@ MMRotate 是一款由不同学校和公司共同贡献的开源项目。我们

## 欢迎加入 OpenMMLab 社区

扫描下方的二维码可关注 OpenMMLab 团队的 [知乎官方账号](https://www.zhihu.com/people/openmmlab)联络 OpenMMLab [官方微信小助手](/docs/en/imgs/wechat_assistant_qrcode.png)或加入 OpenMMLab 团队的 [官方交流 QQ 群](https://jq.qq.com/?_wv=1027&k=GJP18SjI)
扫描下方的二维码可关注 OpenMMLab 团队的 [知乎官方账号](https://www.zhihu.com/people/openmmlab)加入 OpenMMLab 团队的 [官方交流 QQ 群](https://jq.qq.com/?_wv=1027&k=aCvMxdr3)或联络 OpenMMLab 官方微信小助手

<div align="center">
<img src="https://raw.githubusercontent.com/open-mmlab/mmcv/master/docs/en/_static/zhihu_qrcode.jpg" height="400"><img src="https://raw.githubusercontent.com/open-mmlab/mmcv/master/docs/en/_static/wechat_qrcode.jpg" height="400"><img src="https://raw.githubusercontent.com/open-mmlab/mmcv/master/docs/en/_static/qq_group_qrcode.jpg" height="400">
Expand Down
4 changes: 2 additions & 2 deletions configs/_base_/schedules/schedule_1x.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# evaluation
evaluation = dict(interval=12, metric='mAP')
evaluation = dict(interval=1, metric='mAP')
# optimizer
optimizer = dict(type='SGD', lr=0.0025, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2))
Expand All @@ -11,4 +11,4 @@
warmup_ratio=1.0 / 3,
step=[8, 11])
runner = dict(type='EpochBasedRunner', max_epochs=12)
checkpoint_config = dict(interval=12)
checkpoint_config = dict(interval=1)
4 changes: 2 additions & 2 deletions configs/_base_/schedules/schedule_3x.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# evaluation
evaluation = dict(interval=36, metric='mAP')
evaluation = dict(interval=1, metric='mAP')
# optimizer
optimizer = dict(type='SGD', lr=0.0025, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2))
Expand All @@ -11,4 +11,4 @@
warmup_ratio=1.0 / 3,
step=[24, 33])
runner = dict(type='EpochBasedRunner', max_epochs=36)
checkpoint_config = dict(interval=12)
checkpoint_config = dict(interval=1)
4 changes: 2 additions & 2 deletions configs/_base_/schedules/schedule_40e.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# evaluation
evaluation = dict(interval=40, metric='mAP')
evaluation = dict(interval=1, metric='mAP')
# optimizer
optimizer = dict(type='SGD', lr=0.0025, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2))
Expand All @@ -11,4 +11,4 @@
warmup_ratio=1.0 / 3,
step=[24, 32, 38])
runner = dict(type='EpochBasedRunner', max_epochs=40)
checkpoint_config = dict(interval=10)
checkpoint_config = dict(interval=1)
4 changes: 2 additions & 2 deletions configs/_base_/schedules/schedule_6x.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# evaluation
evaluation = dict(interval=36, metric='mAP')
evaluation = dict(interval=1, metric='mAP')
# optimizer
optimizer = dict(type='SGD', lr=0.0025, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2))
Expand All @@ -11,4 +11,4 @@
warmup_ratio=1.0 / 3,
step=[48, 66])
runner = dict(type='EpochBasedRunner', max_epochs=72)
checkpoint_config = dict(interval=36)
checkpoint_config = dict(interval=1)
2 changes: 1 addition & 1 deletion configs/csl/metafile.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Collections:
- Name: CSL
- Name: csl
Metadata:
Training Data: DOTAv1.0
Training Techniques:
Expand Down
4 changes: 2 additions & 2 deletions configs/oriented_rcnn/metafile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Collections:
Models:
- Name: oriented_rcnn_r50_fpn_fp16_1x_dota_le90
In Collection: oriented_rcnn
Config: configs/cfa/oriented_rcnn_r50_fpn_fp16_1x_dota_le90.py
Config: configs/oriented_rcnn/oriented_rcnn_r50_fpn_fp16_1x_dota_le90.py
Metadata:
Training Data: DOTAv1.0
Results:
Expand All @@ -28,7 +28,7 @@ Models:

- Name: oriented_rcnn_r50_fpn_1x_dota_le90
In Collection: oriented_rcnn
Config: configs/cfa/oriented_rcnn_r50_fpn_1x_dota_le90.py
Config: configs/oriented_rcnn/oriented_rcnn_r50_fpn_1x_dota_le90.py
Metadata:
Training Data: DOTAv1.0
Results:
Expand Down
1 change: 1 addition & 0 deletions configs/oriented_reppoints/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ DOTA1.0

**Notes:**

- Oriented RepPoints needs to install [MMCV](https://github.com/open-mmlab/mmcv) >= 1.5.3.
- `ms` means multi-scale image split online (768, 1280).

## Citation
Expand Down
Loading

0 comments on commit c62f148

Please sign in to comment.