From 45a8d89fb99f13c9692c578ffbf09d8d3c073f00 Mon Sep 17 00:00:00 2001 From: Tong Gao Date: Tue, 7 Mar 2023 20:22:54 +0800 Subject: [PATCH] Bump version to 1.0.0rc6 (#1763) * Bump version to 1.0.0rc6 * fix * update changelog * fix * fix --- README.md | 33 +++++++------ README_zh-CN.md | 35 ++++++++------ docs/en/get_started/install.md | 1 + docs/en/notes/changelog.md | 78 +++++++++++++++++++++++++++++++ docs/zh_cn/get_started/install.md | 1 + mmocr/version.py | 2 +- 6 files changed, 121 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 6dbf5f28..5807a0b5 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,24 @@ English | [简体中文](README_zh-CN.md) +## Latest Updates + +**The default branch has been switched to `1.x` from `main`, and we encourage +users to migrate to the latest version, though it comes with some cost. Please refer to [Migration Guide](https://mmocr.readthedocs.io/en/dev-1.x/migration/overview.html) for more +details.** + +v1.0.0rc6 was released in 2023-03-07. + +1. Two new models, ABCNet v2 (inference only) and SPTS are added to `projects/` folder. +2. Announcing `Inferencer`, a unified inference interface in OpenMMLab for everyone's easy access and quick inference with all the pre-trained weights. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/inference.html) +3. Users can use test-time augmentation for text recognition tasks. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/train_test.html#test-time-augmentation) +4. Support [batch augmentation](https://openaccess.thecvf.com/content_CVPR_2020/papers/Hoffer_Augment_Your_Batch_Improving_Generalization_Through_Instance_Repetition_CVPR_2020_paper.pdf) through [`BatchAugSampler`](https://github.com/open-mmlab/mmocr/pull/1757), which is a technique used in SPTS. +5. Dataset Preparer has been refactored to allow more flexible configurations. Besides, users are now able to prepare text recognition datasets in LMDB formats. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/data_prepare/dataset_preparer.html#lmdb-format) +6. Some textspotting datasets have been revised to enhance the correctness and consistency with the common practice. +7. Potential spurious warnings from `shapely` have been eliminated. + +Read [Changelog](https://mmocr.readthedocs.io/en/dev-1.x/notes/changelog.html) for more details! + ## Introduction MMOCR is an open-source toolbox based on PyTorch and mmdetection for text detection, text recognition, and the corresponding downstream tasks including key information extraction. It is part of the [OpenMMLab](https://openmmlab.com/) project. @@ -82,21 +100,6 @@ The main branch works with **PyTorch 1.6+**. The toolbox provides a comprehensive set of utilities which can help users assess the performance of models. It includes visualizers which allow visualization of images, ground truths as well as predicted bounding boxes, and a validation tool for evaluating checkpoints during training. It also includes data converters to demonstrate how to convert your own data to the annotation files which the toolbox supports. -## Latest Updates - -**The default branch has been switched to `1.x` from `main`, and we encourage -users to migrate to the latest version, though it comes with some cost. Please refer to [Migration Guide](https://mmocr.readthedocs.io/en/dev-1.x/migration/overview.html) for more -details.** - -v1.0.0rc5 was released in 2023-01-06. - -1. Two models, Aster and SVTR, are added to our model zoo. The full implementation of ABCNet is also available now. -2. Dataset Preparer supports 5 more datasets: CocoTextV2, FUNSD, TextOCR, NAF, SROIE. -3. We have 4 more text recognition transforms, and two more helper transforms. -4. The transform, `FixInvalidPolygon`, is getting smarter at dealing with invalid polygons, and now capable of handling more weird annotations. As a result, a complete training cycle on TotalText dataset can be performed bug-free. The weights of DBNet and FCENet pretrained on TotalText are also released. - -Read [Changelog](https://mmocr.readthedocs.io/en/dev-1.x/notes/changelog.html) for more details! - ## What's New in MMOCR 1.0 1. **New engines**. MMOCR 1.x is based on [MMEngine](https://github.com/open-mmlab/mmengine), which provides a general and powerful runner that allows more flexible customizations and significantly simplifies the entrypoints of high-level interfaces. diff --git a/README_zh-CN.md b/README_zh-CN.md index 6d350497..3db4254e 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -41,6 +41,28 @@ +## 近期更新 + +**默认分支已经从 `main` 切换到 `1.x`。我们鼓励用户迁移到最新版本,请参考 [迁移指南](https://mmocr.readthedocs.io/zh_CN/dev-1.x/migration/overview.html) 以了解更多细节。** + +最新的版本 v1.0.0rc6 于 2023-03-07 发布。 + +1. 在 `projects/` 目录中新增了 ABCNet v2 (仅支持推理) 和 SPTS 模型; + +2. 新增统一推理接口 `Inferencer`,用户可以方便直接地进行各任务的推理。[文档](https://mmocr.readthedocs.io/zh_CN/dev-1.x/user_guides/inference.html) + +3. 支持了文本识别任务的测试时数据增强。[文档](https://mmocr.readthedocs.io/zh_CN/dev-1.x/user_guides/train_test.html#id15) + +4. 通过 [`BatchAugSampler`](https://github.com/open-mmlab/mmocr/pull/1757) 支持了 [batch augmentation](https://openaccess.thecvf.com/content_CVPR_2020/papers/Hoffer_Augment_Your_Batch_Improving_Generalization_Through_Instance_Repetition_CVPR_2020_paper.pdf) ,这是 SPTS 中使用的一种技巧。 + +5. 重构了 Dataset Preparer ,用户现在可以更灵活地配置数据集的预处理流程。除此之外,用户现在也可以将文本识别数据集转换为 LMDB 格式。[文档](https://mmocr.readthedocs.io/zh_CN/dev-1.x/user_guides/data_prepare/dataset_preparer.html#lmdb) + +6. 修正了一些端到端数据集的标注,保证了数据集的正确性及与常见实践的一致性。 + +7. 减少了 `shapely` 中可能出现的一些错误警告。 + +阅读[更新日志](https://mmocr.readthedocs.io/zh_CN/dev-1.x/notes/changelog.html)以获取更多信息。 + ## 简介 MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检测,文本识别以及相应的下游任务,如关键信息提取。 它是 OpenMMLab 项目的一部分。 @@ -69,19 +91,6 @@ MMOCR 的模块化设计使用户可以定义自己的优化器,数据预处 该工具箱提供了一套全面的实用程序,可以帮助用户评估模型的性能。它包括可对图像,标注的真值以及预测结果进行可视化的可视化工具,以及用于在训练过程中评估模型的验证工具。它还包括数据转换器,演示了如何将用户自建的标注数据转换为 MMOCR 支持的标注文件。 -## 近期更新 - -**默认分支已经从 `main` 切换到 `1.x`。我们鼓励用户迁移到最新版本,请参考 [迁移指南](https://mmocr.readthedocs.io/zh_CN/dev-1.x/migration/overview.html) 以了解更多细节。** - -最新的版本 v1.0.0rc5 于 2023-01-06 发布。 - -1. 新增了 Aster 和 SVTR 模型,并完整支持了 ABCNet 的训练与测试; -2. Dataset Preparer 新支持了5个数据集:CocoTextV2, FUNSD, TextOCR, NAF, SROIE; -3. 新增了4个文本识别以及2个辅助运行过程的数据变换。 -4. 数据变换 `FixInvalidPolygon` 现在可以处理更多种类的非法多边形,因此各模型如今也可以顺畅地在 TotalText 数据集上完成训练流程。我们同时也发布了 DBNet 和 FCENet 在 TotalText 上的预训练模型。 - -阅读[更新日志](https://mmocr.readthedocs.io/zh_CN/dev-1.x/notes/changelog.html)以获取更多信息。 - ## MMOCR 1.0 更新汇总 1. 架构升级:MMOCR 1.x 是基于 [MMEngine](https://github.com/open-mmlab/mmengine),提供了一个通用的、强大的执行器,允许更灵活的定制,提供了统一的训练和测试入口。 diff --git a/docs/en/get_started/install.md b/docs/en/get_started/install.md index 53c02c18..7192a0dc 100644 --- a/docs/en/get_started/install.md +++ b/docs/en/get_started/install.md @@ -237,5 +237,6 @@ MMOCR has different version requirements on MMEngine, MMCV and MMDetection at ea | MMOCR | MMEngine | MMCV | MMDetection | | -------------- | --------------------------- | -------------------------- | --------------------------- | | dev-1.x | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | +| 1.0.0rc6 | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | | 1.0.0rc\[4-5\] | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc1 \<= mmcv \< 2.1.0 | 3.0.0rc0 \<= mmdet \< 3.1.0 | | 1.0.0rc\[0-3\] | 0.0.0 \<= mmengine \< 0.2.0 | 2.0.0rc1 \<= mmcv \< 2.1.0 | 3.0.0rc0 \<= mmdet \< 3.1.0 | diff --git a/docs/en/notes/changelog.md b/docs/en/notes/changelog.md index 2d42a120..26f49d55 100644 --- a/docs/en/notes/changelog.md +++ b/docs/en/notes/changelog.md @@ -1,5 +1,82 @@ # Changelog of v1.x +## v1.0.0rc5 (07/03/2023) + +### Highlights + +1. Two new models, ABCNet v2 (inference only) and SPTS are added to `projects/` folder. +2. Announcing `Inferencer`, a unified inference interface in OpenMMLab for everyone's easy access and quick inference with all the pre-trained weights. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/inference.html) +3. Users can use test-time augmentation for text recognition tasks. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/train_test.html#test-time-augmentation) +4. Support [batch augmentation](https://openaccess.thecvf.com/content_CVPR_2020/papers/Hoffer_Augment_Your_Batch_Improving_Generalization_Through_Instance_Repetition_CVPR_2020_paper.pdf) through [`BatchAugSampler`](https://github.com/open-mmlab/mmocr/pull/1757), which is a technique used in SPTS. +5. Dataset Preparer has been refactored to allow more flexible configurations. Besides, users are now able to prepare text recognition datasets in LMDB formats. [Docs](https://mmocr.readthedocs.io/en/dev-1.x/user_guides/data_prepare/dataset_preparer.html#lmdb-format) +6. Some textspotting datasets have been revised to enhance the correctness and consistency with the common practice. +7. Potential spurious warnings from `shapely` have been eliminated. + +### Dependency + +This version requires MMEngine >= 0.6.0, MMCV >= 2.0.0rc4 and MMDet >= 3.0.0rc5. + +### New Features & Enhancements + +- Discard deprecated lmdb dataset format and only support img+label now by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1681 +- abcnetv2 inference by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1657 +- Add RepeatAugSampler by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1678 +- SPTS by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1696 +- Refactor Inferencers by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1608 +- Dynamic return type for rescale_polygons by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1702 +- Revise upstream version limit by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1703 +- TextRecogCropConverter add crop with opencv warpPersepective function by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1667 +- change cudnn benchmark to false by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1705 +- Add ST-pretrained DB-series models and logs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1635 +- Only keep meta and state_dict when publish model by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1729 +- Rec TTA by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1401 +- Speedup formatting by replacing np.transpose with torch… by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1719 +- Support auto import modules from registry. by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1731 +- Support batch visualization & dumping in Inferencer by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1722 +- add a new argument font_properties to set a specific font file in order to draw Chinese characters properly by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1709 +- Refactor data converter and gather by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1707 +- Support batch augmentation through BatchAugSampler by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1757 +- Put all registry into registry.py by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1760 +- train by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1756 +- configs for regression benchmark by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1755 +- Support lmdb format in Dataset Preparer by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1762 + +### Docs + +- update the link of DBNet by @AllentDan in https://github.com/open-mmlab/mmocr/pull/1672 +- Add notice for default branch switching by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1693 +- docs: Add twitter discord medium youtube link by @vansin in https://github.com/open-mmlab/mmocr/pull/1724 +- Remove unsupported datasets in docs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1670 + +### Bug Fixes + +- Update dockerfile by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1671 +- Explicitly create np object array for compatibility by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1691 +- Fix a minor error in docstring by @Mountchicken in https://github.com/open-mmlab/mmocr/pull/1685 +- Fix lint by @triple-Mu in https://github.com/open-mmlab/mmocr/pull/1694 +- Fix LoadOCRAnnotation ut by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1695 +- Fix isort pre-commit error by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1697 +- Update owners by @xinke-wang in https://github.com/open-mmlab/mmocr/pull/1699 +- Detect intersection before using shapley.intersection to eliminate spurious warnings by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1710 +- Fix some inferencer bugs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1706 +- Fix textocr ignore flag by @xinke-wang in https://github.com/open-mmlab/mmocr/pull/1712 +- Add missing softmax in ASTER forward_test by @Mountchicken in https://github.com/open-mmlab/mmocr/pull/1718 +- Fix head in readme by @vansin in https://github.com/open-mmlab/mmocr/pull/1727 +- Fix some browse dataset script bugs and draw textdet gt instance with ignore flags by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1701 +- icdar textrecog ann parser skip data with ignore flag by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1708 +- bezier_to_polygon -> bezier2polygon by @double22a in https://github.com/open-mmlab/mmocr/pull/1739 +- Fix docs recog CharMetric P/R error definition by @KevinNuNu in https://github.com/open-mmlab/mmocr/pull/1740 +- Remove outdated resources in demo/ by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1747 +- Fix wrong ic13 textspotting split data; add lexicons to ic13, ic15 and totaltext by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1758 +- SPTS readme by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1761 + +### New Contributors + +- @triple-Mu made their first contribution in https://github.com/open-mmlab/mmocr/pull/1694 +- @double22a made their first contribution in https://github.com/open-mmlab/mmocr/pull/1739 + +**Full Changelog**: https://github.com/open-mmlab/mmocr/compare/v1.0.0rc5...v1.0.0rc6 + ## v1.0.0rc5 (06/01/2023) ### Highlights @@ -41,6 +118,7 @@ - Add Chinese translation for browse_dataset.py by @xinke-wang in https://github.com/open-mmlab/mmocr/pull/1647 - updata abcnet doc by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/1658 - update the dbnetpp\`s readme file by @zhuyue66 in https://github.com/open-mmlab/mmocr/pull/1626 +- Inferencer docs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/1744 ### Bug Fixes diff --git a/docs/zh_cn/get_started/install.md b/docs/zh_cn/get_started/install.md index 5cdb839c..c7272826 100644 --- a/docs/zh_cn/get_started/install.md +++ b/docs/zh_cn/get_started/install.md @@ -236,5 +236,6 @@ docker run --gpus all --shm-size=8g -it -v {实际数据目录}:/mmocr/data mmoc | MMOCR | MMEngine | MMCV | MMDetection | | -------------- | --------------------------- | -------------------------- | --------------------------- | | dev-1.x | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | +| 1.0.0rc6 | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | | 1.0.0rc\[4-5\] | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc1 \<= mmcv \< 2.1.0 | 3.0.0rc0 \<= mmdet \< 3.1.0 | | 1.0.0rc\[0-3\] | 0.0.0 \<= mmengine \< 0.2.0 | 2.0.0rc1 \<= mmcv \< 2.1.0 | 3.0.0rc0 \<= mmdet \< 3.1.0 | diff --git a/mmocr/version.py b/mmocr/version.py index 3f6dbf3d..1b05cf31 100644 --- a/mmocr/version.py +++ b/mmocr/version.py @@ -1,4 +1,4 @@ # Copyright (c) Open-MMLab. All rights reserved. -__version__ = '1.0.0rc5' +__version__ = '1.0.0rc6' short_version = __version__