From f9d158fafa368e8a5ff9bd41b6c37046df388d08 Mon Sep 17 00:00:00 2001 From: Tong Gao Date: Wed, 25 Aug 2021 16:43:31 +0800 Subject: [PATCH] Bump version to 0.3.0 (#461) * Bump version to 0.3.0 * update changelog --- .gitignore | 1 + README.md | 2 +- README_zh-CN.md | 2 +- docs/changelog.md | 80 ++++++++++++++++++++++++++++++++++++++++------- mmocr/version.py | 2 +- 5 files changed, 72 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index a1ad80d16..a2ca9a726 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ mmocr/core/font.TTF mmocr/.mim workdirs/ .history/ +.dev/ diff --git a/README.md b/README.md index 1e23d133e..f45ca79d7 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ If you find this project useful in your research, please consider cite: ## Changelog -v0.2.1 was released in 2021-7-20. +v0.3.0 was released in 2021-8-25. ## Installation diff --git a/README_zh-CN.md b/README_zh-CN.md index 8ab869a0c..504a4ed64 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -106,7 +106,7 @@ MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检 ## 更新日志 -最新的月度版本 v0.2.1 在 2021.07.20 发布。 +最新的月度版本 v0.3.0 在 2021.08.25 发布。 ## 安装 diff --git a/docs/changelog.md b/docs/changelog.md index bc11df28f..ae9c780f1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,14 +1,71 @@ # Changelog +## v0.3.0 (25/8/2021) + +### Highlights +1. We add a new text recognition model -- SATRN! Its pretrained checkpoint achieves the best performance over other provided text recognition models. A lighter version of SATRN is also released which can obtain ~98% of the performance of the original model with only 45 MB in size. ([@2793145003](https://github.com/2793145003)) [#405](https://github.com/open-mmlab/mmocr/pull/405) +2. Improve the demo script, `ocr.py`, which supports applying end-to-end text detection, text recognition and key information extraction models on images with easy-to-use commands. Users can find its full documentation in the demo section. ([@samayala22](https://github.com/samayala22), [@manjrekarom](https://github.com/manjrekarom)) [#371](https://github.com/open-mmlab/mmocr/pull/371), [#386](https://github.com/open-mmlab/mmocr/pull/386), [#400](https://github.com/open-mmlab/mmocr/pull/400), [#374](https://github.com/open-mmlab/mmocr/pull/374), [#428](https://github.com/open-mmlab/mmocr/pull/428) +3. Our documentation is reorganized into a clearer structure. More useful contents are on the way! [#409](https://github.com/open-mmlab/mmocr/pull/409), [#454](https://github.com/open-mmlab/mmocr/pull/454) +4. The requirement of `Polygon3` is removed since this project is no longer maintained or distributed. We unified all its references to equivalent substitutions in `shapely` instead. [#448](https://github.com/open-mmlab/mmocr/pull/448) + +### Breaking Changes & Migration Guide +1. Upgrade version requirement of MMDetection to 2.14.0 to avoid bugs [#382](https://github.com/open-mmlab/mmocr/pull/382) +2. MMOCR now has its own model and layer registries inherited from MMDetection's or MMCV's counterparts. ([#436](https://github.com/open-mmlab/mmocr/pull/436)) The modified hierarchical structure of the model registries are now organized as follows. + +```text +mmcv.MODELS -> mmdet.BACKBONES -> BACKBONES +mmcv.MODELS -> mmdet.NECKS -> NECKS +mmcv.MODELS -> mmdet.ROI_EXTRACTORS -> ROI_EXTRACTORS +mmcv.MODELS -> mmdet.HEADS -> HEADS +mmcv.MODELS -> mmdet.LOSSES -> LOSSES +mmcv.MODELS -> mmdet.DETECTORS -> DETECTORS +mmcv.ACTIVATION_LAYERS -> ACTIVATION_LAYERS +mmcv.UPSAMPLE_LAYERS -> UPSAMPLE_LAYERS +``` + +To migrate your old implementation to our new backend, you need to change the import path of any registries and their corresponding builder functions (including `build_detectors`) from `mmdet.models.builder` to `mmocr.models.builder`. If you have referred to any model or layer of MMDetection or MMCV in your model config, you need to add `mmdet.` or `mmcv.` prefix to its name to inform the model builder of the right namespace to work on. + +Interested users may check out [MMCV's tutorial on Registry](https://mmcv.readthedocs.io/en/latest/understand_mmcv/registry.html) for in-depth explanations on its mechanism. + + +### New Features +- Automatically replace SyncBN with BN for inference [#420](https://github.com/open-mmlab/mmocr/pull/420), [#453](https://github.com/open-mmlab/mmocr/pull/453) +- Support batch inference for CRNN and SegOCR [#407](https://github.com/open-mmlab/mmocr/pull/407) +- Support exporting documentation in pdf or epub format [#406](https://github.com/open-mmlab/mmocr/pull/406) +- Support `persistent_workers` option in data loader [#459](https://github.com/open-mmlab/mmocr/pull/459) + +### Bug Fixes +- Remove depreciated key in kie_test_imgs.py [#381](https://github.com/open-mmlab/mmocr/pull/381) +- Fix dimension mismatch in batch testing/inference of DBNet [#383](https://github.com/open-mmlab/mmocr/pull/383) +- Fix the problem of dice loss which stays at 1 with an empty target given [#408](https://github.com/open-mmlab/mmocr/pull/408) +- Fix a wrong link in ocr.py ([@naarkhoo](https://github.com/naarkhoo)) [#417](https://github.com/open-mmlab/mmocr/pull/417) +- Fix undesired assignment to "pretrained" in test.py [#418](https://github.com/open-mmlab/mmocr/pull/418) +- Fix a problem in polygon generation of DBNet [#421](https://github.com/open-mmlab/mmocr/pull/421), [#443](https://github.com/open-mmlab/mmocr/pull/443) +- Skip invalid annotations in totaltext_converter [#438](https://github.com/open-mmlab/mmocr/pull/438) +- Add zero division handler in poly utils, remove Polygon3 [#448](https://github.com/open-mmlab/mmocr/pull/448) + +### Improvements +- Replace lanms-proper with lanms-neo to support installation on Windows (with special thanks to [@gen-ko](https://github.com/gen-ko) who has re-distributed this package!) +- Support MIM [#394](https://github.com/open-mmlab/mmocr/pull/394) +- Add tests for PyTorch 1.9 in CI [#401](https://github.com/open-mmlab/mmocr/pull/401) +- Enables fullscreen layout in readthedocs [#413](https://github.com/open-mmlab/mmocr/pull/413) +- General documentation enhancement [#395](https://github.com/open-mmlab/mmocr/pull/395) +- Update version checker [#427](https://github.com/open-mmlab/mmocr/pull/427) +- Add copyright info [#439](https://github.com/open-mmlab/mmocr/pull/439) +- Update citation information [#440](https://github.com/open-mmlab/mmocr/pull/440) + +### Contributors + +We thank [@2793145003](https://github.com/2793145003), [@samayala22](https://github.com/samayala22), [@manjrekarom](https://github.com/manjrekarom), [@naarkhoo](https://github.com/naarkhoo), [@gen-ko](https://github.com/gen-ko), [@duanjiaqi](https://github.com/duanjiaqi), [@gaotongxiao](https://github.com/gaotongxiao), [@cuhk-hbsun](https://github.com/cuhk-hbsun), [@innerlee](https://github.com/innerlee), [@wdsd641417025](https://github.com/wdsd641417025) for their contribution to this release! + ## v0.2.1 (20/7/2021) -**Highlights** +### Highlights 1. Upgrade to use MMCV-full **>= 1.3.8** and MMDetection **>= 2.13.0** for latest features 2. Add ONNX and TensorRT export tool, supporting the deployment of DBNet, PSENet, PANet and CRNN (experimental) [#278](https://github.com/open-mmlab/mmocr/pull/278), [#291](https://github.com/open-mmlab/mmocr/pull/291), [#300](https://github.com/open-mmlab/mmocr/pull/300), [#328](https://github.com/open-mmlab/mmocr/pull/328) 3. Unified parameter initialization method which uses init_cfg in config files [#365](https://github.com/open-mmlab/mmocr/pull/365) -**New Features** - +### New Features - Support TextOCR dataset [#293](https://github.com/open-mmlab/mmocr/pull/293) - Support Total-Text dataset [#266](https://github.com/open-mmlab/mmocr/pull/266), [#273](https://github.com/open-mmlab/mmocr/pull/273), [#357](https://github.com/open-mmlab/mmocr/pull/357) - Support grouping text detection box into lines [#290](https://github.com/open-mmlab/mmocr/pull/290), [#304](https://github.com/open-mmlab/mmocr/pull/304) @@ -17,7 +74,7 @@ - Support batch inference during testing [#310](https://github.com/open-mmlab/mmocr/pull/310) - Add user-friendly OCR inference script [#366](https://github.com/open-mmlab/mmocr/pull/366) -**Bug Fixes** +### Bug Fixes - Fix improper class ignorance in SDMGR Loss [#221](https://github.com/open-mmlab/mmocr/pull/221) - Fix potential numerical zero division error in DRRG [#224](https://github.com/open-mmlab/mmocr/pull/224) @@ -34,8 +91,7 @@ - Docs fixes [#247](https://github.com/open-mmlab/mmocr/pull/247), [#255](https://github.com/open-mmlab/mmocr/pull/255), [#265](https://github.com/open-mmlab/mmocr/pull/265), [#267](https://github.com/open-mmlab/mmocr/pull/267), [#268](https://github.com/open-mmlab/mmocr/pull/268), [#270](https://github.com/open-mmlab/mmocr/pull/270), [#276](https://github.com/open-mmlab/mmocr/pull/276), [#287](https://github.com/open-mmlab/mmocr/pull/287), [#330](https://github.com/open-mmlab/mmocr/pull/330), [#355](https://github.com/open-mmlab/mmocr/pull/355), [#367](https://github.com/open-mmlab/mmocr/pull/367) - Fix NRTR config [#356](https://github.com/open-mmlab/mmocr/pull/356), [#370](https://github.com/open-mmlab/mmocr/pull/370) -**Improvements** - +### Improvements - Add backend for resizeocr [#244](https://github.com/open-mmlab/mmocr/pull/244) - Skip image processing pipelines in SDMGR novisual [#260](https://github.com/open-mmlab/mmocr/pull/260) - Speedup DBNet [#263](https://github.com/open-mmlab/mmocr/pull/263) @@ -52,7 +108,7 @@ ## v0.2.0 (18/5/2021) -**Highlights** +### Highlights 1. Add the NER approach Bert-softmax (NAACL'2019) 2. Add the text detection method DRRG (CVPR'2020) @@ -60,7 +116,7 @@ 4. Increase the ease of use via adding text detection and recognition end-to-end demo, and colab online demo. 5. Simplify the installation. -**New Features** +### New Features - Add Bert-softmax for Ner task [#148](https://github.com/open-mmlab/mmocr/pull/148) - Add DRRG [#189](https://github.com/open-mmlab/mmocr/pull/189) @@ -73,7 +129,7 @@ - Add metafile [#175](https://github.com/open-mmlab/mmocr/pull/175) [#176](https://github.com/open-mmlab/mmocr/pull/176) [#177](https://github.com/open-mmlab/mmocr/pull/177) [#182](https://github.com/open-mmlab/mmocr/pull/182) [#183](https://github.com/open-mmlab/mmocr/pull/183) - Add support for numpy array inference [#74](https://github.com/open-mmlab/mmocr/pull/74) -**Bug Fixes** +### Bug Fixes - Fix the duplicated point bug due to transform for textsnake [#130](https://github.com/open-mmlab/mmocr/pull/130) - Fix CTC loss NaN [#159](https://github.com/open-mmlab/mmocr/pull/159) @@ -81,7 +137,7 @@ - Fix results missing if one image has a large number of boxes [#98](https://github.com/open-mmlab/mmocr/pull/98) - Fix package missing in dockerfile [#109](https://github.com/open-mmlab/mmocr/pull/109) -**Improvements** +### Improvements - Simplify installation procedure via removing compiling [#188](https://github.com/open-mmlab/mmocr/pull/188) - Speed up panet post processing so that it can detect dense texts [#188](https://github.com/open-mmlab/mmocr/pull/188) @@ -93,11 +149,11 @@ ## v0.1.0 (7/4/2021) -**Highlights** +### Highlights - MMOCR is released. -**Main Features** +### Main Features - Support text detection, text recognition and the corresponding downstream tasks such as key information extraction. - For text detection, support both single-step (`PSENet`, `PANet`, `DBNet`, `TextSnake`) and two-step (`MaskRCNN`) methods. diff --git a/mmocr/version.py b/mmocr/version.py index 4c3230f52..8b05f9201 100644 --- a/mmocr/version.py +++ b/mmocr/version.py @@ -1,4 +1,4 @@ # Copyright (c) Open-MMLab. All rights reserved. -__version__ = '0.2.1' +__version__ = '0.3.0' short_version = __version__