Spaces:
Runtime error
Runtime error
| # Changelog | |
| ## v0.4.1 (27/01/2022) | |
| ### Highlights | |
| 1. Visualizing edge weights in OpenSet KIE is now supported! https://github.com/open-mmlab/mmocr/pull/677 | |
| 2. Some configurations have been optimized to significantly speed up the training and testing processes! Don't worry - you can still tune these parameters in case these modifications do not work. https://github.com/open-mmlab/mmocr/pull/757 | |
| 3. Now you can use CPU to train/debug your model! https://github.com/open-mmlab/mmocr/pull/752 | |
| 4. We have fixed a severe bug that causes users unable to call `mmocr.apis.test` with our pre-built wheels. https://github.com/open-mmlab/mmocr/pull/667 | |
| ### New Features & Enhancements | |
| * Show edge score for openset kie by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/677 | |
| * Download flake8 from github as pre-commit hooks by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/695 | |
| * Deprecate the support for 'python setup.py test' by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/722 | |
| * Disable multi-processing feature of cv2 to speed up data loading by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/721 | |
| * Extend ctw1500 converter to support text fields by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/729 | |
| * Extend totaltext converter to support text fields by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/728 | |
| * Speed up training by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/739 | |
| * Add setup multi-processing both in train and test.py by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/757 | |
| * Support CPU training/testing by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/752 | |
| * Support specify gpu for testing and training with gpu-id instead of gpu-ids and gpus by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/756 | |
| * Remove unnecessary custom_import from test.py by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/758 | |
| ### Bug Fixes | |
| * Fix satrn onnxruntime test by @AllentDan in https://github.com/open-mmlab/mmocr/pull/679 | |
| * Support both ConcatDataset and UniformConcatDataset by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/675 | |
| * Fix bugs of show_results in single_gpu_test by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/667 | |
| * Fix a bug for sar decoder when bi-rnn is used by @MhLiao in https://github.com/open-mmlab/mmocr/pull/690 | |
| * Fix opencv version to avoid some bugs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/694 | |
| * Fix py39 ci error by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/707 | |
| * Update visualize.py by @TommyZihao in https://github.com/open-mmlab/mmocr/pull/715 | |
| * Fix link of config by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/726 | |
| * Use yaml.safe_load instead of load by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/753 | |
| * Add necessary keys to test_pipelines to enable test-time visualization by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/754 | |
| ### Docs | |
| * Fix recog.md by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/674 | |
| * Add config tutorial by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/683 | |
| * Add MMSelfSup/MMRazor/MMDeploy in readme by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/692 | |
| * Add recog & det model summary by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/693 | |
| * Update docs link by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/710 | |
| * add pull request template.md by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/711 | |
| * Add website links to readme by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/731 | |
| * update readme according to standard by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/742 | |
| ### New Contributors | |
| * @MhLiao made their first contribution in https://github.com/open-mmlab/mmocr/pull/690 | |
| * @TommyZihao made their first contribution in https://github.com/open-mmlab/mmocr/pull/715 | |
| **Full Changelog**: https://github.com/open-mmlab/mmocr/compare/v0.4.0...v0.4.1 | |
| ## v0.4.0 (15/12/2021) | |
| ### Highlights | |
| 1. We release a new text recognition model - [ABINet](https://arxiv.org/pdf/2103.06495.pdf) (CVPR 2021, Oral). With it dedicated model design and useful data augmentation transforms, ABINet can achieve the best performance on irregular text recognition tasks. [Check it out!](https://mmocr.readthedocs.io/en/latest/textrecog_models.html#read-like-humans-autonomous-bidirectional-and-iterative-language-modeling-for-scene-text-recognition) | |
| 2. We are also working hard to fulfill the requests from our community. | |
| [OpenSet KIE](https://mmocr.readthedocs.io/en/latest/kie_models.html#wildreceiptopenset) is one of the achievement, which extends the application of SDMGR from text node classification to node-pair relation extraction. We also provide | |
| a demo script to convert WildReceipt to open set domain, though it cannot | |
| take the full advantage of OpenSet format. For more information, please read our | |
| [tutorial](https://mmocr.readthedocs.io/en/latest/tutorials/kie_closeset_openset.html). | |
| 3. APIs of models can be exposed through TorchServe. [Docs](https://mmocr.readthedocs.io/en/latest/model_serving.html) | |
| ### Breaking Changes & Migration Guide | |
| #### Postprocessor | |
| Some refactoring processes are still going on. For all text detection models, we unified their `decode` implementations into a new module category, `POSTPROCESSOR`, which is responsible for decoding different raw outputs into boundary instances. In all text detection configs, the `text_repr_type` argument in `bbox_head` is deprecated and will be removed in the future release. | |
| **Migration Guide**: Find a similar line from detection model's config: | |
| ``` | |
| text_repr_type=xxx, | |
| ``` | |
| And replace it with | |
| ``` | |
| postprocessor=dict(type='{MODEL_NAME}Postprocessor', text_repr_type=xxx)), | |
| ``` | |
| Take a snippet of PANet's config as an example. Before the change, its config for `bbox_head` looks like: | |
| ``` | |
| bbox_head=dict( | |
| type='PANHead', | |
| text_repr_type='poly', | |
| in_channels=[128, 128, 128, 128], | |
| out_channels=6, | |
| loss=dict(type='PANLoss')), | |
| ``` | |
| Afterwards: | |
| ``` | |
| bbox_head=dict( | |
| type='PANHead', | |
| in_channels=[128, 128, 128, 128], | |
| out_channels=6, | |
| loss=dict(type='PANLoss'), | |
| postprocessor=dict(type='PANPostprocessor', text_repr_type='poly')), | |
| ``` | |
| There are other postprocessors and each takes different arguments. Interested users can find their interfaces or implementations in `mmocr/models/textdet/postprocess` or through our [api docs](https://mmocr.readthedocs.io/en/latest/api.html#textdet-postprocess). | |
| #### New Config Structure | |
| We reorganized the `configs/` directory by extracting reusable sections into `configs/_base_`. Now the directory tree of `configs/_base_` is organized as follows: | |
| ``` | |
| _base_ | |
| βββ det_datasets | |
| βββ det_models | |
| βββ det_pipelines | |
| βββ recog_datasets | |
| βββ recog_models | |
| βββ recog_pipelines | |
| βββ schedules | |
| ``` | |
| Most of model configs are making full use of base configs now, which makes the overall structural clearer and facilitates fair | |
| comparison across models. Despite the seemingly significant hierarchical difference, **these changes would not break the backward compatibility** as the names of model configs remain the same. | |
| ### New Features | |
| * Support openset kie by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/498 | |
| * Add converter for the Open Images v5 text annotations by Krylov et al. by @baudm in https://github.com/open-mmlab/mmocr/pull/497 | |
| * Support Chinese for kie show result by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/464 | |
| * Add TorchServe support for text detection and recognition by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/522 | |
| * Save filename in text detection test results by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/570 | |
| * Add codespell pre-commit hook and fix typos by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/520 | |
| * Avoid duplicate placeholder docs in CN by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/582 | |
| * Save results to json file for kie. by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/589 | |
| * Add SAR_CN to ocr.py by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/579 | |
| * mim extension for windows by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/641 | |
| * Support muitiple pipelines for different datasets by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/657 | |
| * ABINet Framework by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/651 | |
| ### Refactoring | |
| * Refactor textrecog config structure by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/617 | |
| * Refactor text detection config by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/626 | |
| * refactor transformer modules by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/618 | |
| * refactor textdet postprocess by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/640 | |
| ### Docs | |
| * C++ example section by @apiaccess21 in https://github.com/open-mmlab/mmocr/pull/593 | |
| * install.md Chinese section by @A465539338 in https://github.com/open-mmlab/mmocr/pull/364 | |
| * Add Chinese Translation of deployment.md. by @fatfishZhao in https://github.com/open-mmlab/mmocr/pull/506 | |
| * Fix a model link and add the metafile for SATRN by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/473 | |
| * Improve docs style by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/474 | |
| * Enhancement & sync Chinese docs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/492 | |
| * TorchServe docs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/539 | |
| * Update docs menu by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/564 | |
| * Docs for KIE CloseSet & OpenSet by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/573 | |
| * Fix broken links by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/576 | |
| * Docstring for text recognition models by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/562 | |
| * Add MMFlow & MIM by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/597 | |
| * Add MMFewShot by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/621 | |
| * Update model readme by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/604 | |
| * Add input size check to model_inference by @mpena-vina in https://github.com/open-mmlab/mmocr/pull/633 | |
| * Docstring for textdet models by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/561 | |
| * Add MMHuman3D in readme by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/644 | |
| * Use shared menu from theme instead by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/655 | |
| * Refactor docs structure by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/662 | |
| * Docs fix by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/664 | |
| ### Enhancements | |
| * Use bounding box around polygon instead of within polygon by @alexander-soare in https://github.com/open-mmlab/mmocr/pull/469 | |
| * Add CITATION.cff by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/476 | |
| * Add py3.9 CI by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/475 | |
| * update model-index.yml by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/484 | |
| * Use container in CI by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/502 | |
| * CircleCI Setup by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/611 | |
| * Remove unnecessary custom_import from train.py by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/603 | |
| * Change the upper version of mmcv to 1.5.0 by @zhouzaida in https://github.com/open-mmlab/mmocr/pull/628 | |
| * Update CircleCI by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/631 | |
| * Pass custom_hooks to MMCV by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/609 | |
| * Skip CI when some specific files were changed by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/642 | |
| * Add markdown linter in pre-commit hook by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/643 | |
| * Use shape from loaded image by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/652 | |
| * Cancel previous runs that are not completed by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/666 | |
| ### Bug Fixes | |
| * Modify algorithm "sar" weights path in metafile by @ShoupingShan in https://github.com/open-mmlab/mmocr/pull/581 | |
| * Fix Cuda CI by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/472 | |
| * Fix image export in test.py for KIE models by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/486 | |
| * Allow invalid polygons in intersection and union by default by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/471 | |
| * Update checkpoints' links for SATRN by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/518 | |
| * Fix converting to onnx bug because of changing key from img_shape to resize_shape by @Harold-lkk in https://github.com/open-mmlab/mmocr/pull/523 | |
| * Fix PyTorch 1.6 incompatible checkpoints by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/540 | |
| * Fix paper field in metafiles by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/550 | |
| * Unify recognition task names in metafiles by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/548 | |
| * Fix py3.9 CI by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/563 | |
| * Always map location to cpu when loading checkpoint by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/567 | |
| * Fix wrong model builder in recog_test_imgs by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/574 | |
| * Improve dbnet r50 by fixing img std by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/578 | |
| * Fix resource warning: unclosed file by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/577 | |
| * Fix bug that same start_point for different texts in draw_texts_by_pil by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/587 | |
| * Keep original texts for kie by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/588 | |
| * Fix random seed by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/600 | |
| * Fix DBNet_r50 config by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/625 | |
| * Change SBC case to DBC case by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/632 | |
| * Fix kie demo by @innerlee in https://github.com/open-mmlab/mmocr/pull/610 | |
| * fix type check by @cuhk-hbsun in https://github.com/open-mmlab/mmocr/pull/650 | |
| * Remove depreciated image validator in totaltext converter by @gaotongxiao in https://github.com/open-mmlab/mmocr/pull/661 | |
| * Fix change locals() dict by @Fei-Wang in https://github.com/open-mmlab/mmocr/pull/663 | |
| * fix #614: textsnake targets by @HolyCrap96 in https://github.com/open-mmlab/mmocr/pull/660 | |
| ### New Contributors | |
| * @alexander-soare made their first contribution in https://github.com/open-mmlab/mmocr/pull/469 | |
| * @A465539338 made their first contribution in https://github.com/open-mmlab/mmocr/pull/364 | |
| * @fatfishZhao made their first contribution in https://github.com/open-mmlab/mmocr/pull/506 | |
| * @baudm made their first contribution in https://github.com/open-mmlab/mmocr/pull/497 | |
| * @ShoupingShan made their first contribution in https://github.com/open-mmlab/mmocr/pull/581 | |
| * @apiaccess21 made their first contribution in https://github.com/open-mmlab/mmocr/pull/593 | |
| * @zhouzaida made their first contribution in https://github.com/open-mmlab/mmocr/pull/628 | |
| * @mpena-vina made their first contribution in https://github.com/open-mmlab/mmocr/pull/633 | |
| * @Fei-Wang made their first contribution in https://github.com/open-mmlab/mmocr/pull/663 | |
| **Full Changelog**: https://github.com/open-mmlab/mmocr/compare/v0.3.0...0.4.0 | |
| ## 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 | |
| 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 | |
| - 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) | |
| - Add benchmark_processing script that benchmarks data loading process [#261](https://github.com/open-mmlab/mmocr/pull/261) | |
| - Add SynthText preprocessor for text recognition models [#351](https://github.com/open-mmlab/mmocr/pull/351), [#361](https://github.com/open-mmlab/mmocr/pull/361) | |
| - 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 | |
| - 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) | |
| - Fix installing requirements with pip and mim [#242](https://github.com/open-mmlab/mmocr/pull/242) | |
| - Fix dynamic input error of DBNet [#269](https://github.com/open-mmlab/mmocr/pull/269) | |
| - Fix space parsing error in LineStrParser [#285](https://github.com/open-mmlab/mmocr/pull/285) | |
| - Fix textsnake decode error [#264](https://github.com/open-mmlab/mmocr/pull/264) | |
| - Correct isort setup [#288](https://github.com/open-mmlab/mmocr/pull/288) | |
| - Fix a bug in SDMGR config [#316](https://github.com/open-mmlab/mmocr/pull/316) | |
| - Fix kie_test_img for KIE nonvisual [#319](https://github.com/open-mmlab/mmocr/pull/319) | |
| - Fix metafiles [#342](https://github.com/open-mmlab/mmocr/pull/342) | |
| - Fix different device problem in FCENet [#334](https://github.com/open-mmlab/mmocr/pull/334) | |
| - Ignore improper tailing empty characters in annotation files [#358](https://github.com/open-mmlab/mmocr/pull/358) | |
| - 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 | |
| - 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) | |
| - Update mmcv installation method in workflow [#323](https://github.com/open-mmlab/mmocr/pull/323) | |
| - Add part of Chinese documentations [#353](https://github.com/open-mmlab/mmocr/pull/353), [#362](https://github.com/open-mmlab/mmocr/pull/362) | |
| - Add support for ConcatDataset with two workflows [#348](https://github.com/open-mmlab/mmocr/pull/348) | |
| - Add list_from_file and list_to_file utils [#226](https://github.com/open-mmlab/mmocr/pull/226) | |
| - Speed up sort_vertex [#239](https://github.com/open-mmlab/mmocr/pull/239) | |
| - Support distributed evaluation of KIE [#234](https://github.com/open-mmlab/mmocr/pull/234) | |
| - Add pretrained FCENet on IC15 [#258](https://github.com/open-mmlab/mmocr/pull/258) | |
| - Support CPU for OCR demo [#227](https://github.com/open-mmlab/mmocr/pull/227) | |
| - Avoid extra image pre-processing steps [#375](https://github.com/open-mmlab/mmocr/pull/375) | |
| ## v0.2.0 (18/5/2021) | |
| ### Highlights | |
| 1. Add the NER approach Bert-softmax (NAACL'2019) | |
| 2. Add the text detection method DRRG (CVPR'2020) | |
| 3. Add the text detection method FCENet (CVPR'2021) | |
| 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 | |
| - 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) | |
| - Add FCENet [#133](https://github.com/open-mmlab/mmocr/pull/133) | |
| - Add end-to-end demo [#105](https://github.com/open-mmlab/mmocr/pull/105) | |
| - Support batch inference [#86](https://github.com/open-mmlab/mmocr/pull/86) [#87](https://github.com/open-mmlab/mmocr/pull/87) [#178](https://github.com/open-mmlab/mmocr/pull/178) | |
| - Add TPS preprocessor for text recognition [#117](https://github.com/open-mmlab/mmocr/pull/117) [#135](https://github.com/open-mmlab/mmocr/pull/135) | |
| - Add demo documentation [#151](https://github.com/open-mmlab/mmocr/pull/151) [#166](https://github.com/open-mmlab/mmocr/pull/166) [#168](https://github.com/open-mmlab/mmocr/pull/168) [#170](https://github.com/open-mmlab/mmocr/pull/170) [#171](https://github.com/open-mmlab/mmocr/pull/171) | |
| - Add checkpoint for Chinese recognition [#156](https://github.com/open-mmlab/mmocr/pull/156) | |
| - 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 | |
| - 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) | |
| - Fix error raised if result is empty in demo [#144](https://github.com/open-mmlab/mmocr/pull/141) | |
| - 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 | |
| - 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) | |
| - Add zh-CN README [#70](https://github.com/open-mmlab/mmocr/pull/70) [#95](https://github.com/open-mmlab/mmocr/pull/95) | |
| - Support windows [#89](https://github.com/open-mmlab/mmocr/pull/89) | |
| - Add Colab [#147](https://github.com/open-mmlab/mmocr/pull/147) [#199](https://github.com/open-mmlab/mmocr/pull/199) | |
| - Add 1-step installation using conda environment [#193](https://github.com/open-mmlab/mmocr/pull/193) [#194](https://github.com/open-mmlab/mmocr/pull/194) [#195](https://github.com/open-mmlab/mmocr/pull/195) | |
| ## v0.1.0 (7/4/2021) | |
| ### Highlights | |
| - MMOCR is released. | |
| ### 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. | |
| - For text recognition, support CTC-loss based method `CRNN`; Encoder-decoder (with attention) based methods `SAR`, `Robustscanner`; Segmentation based method `SegOCR`; Transformer based method `NRTR`. | |
| - For key information extraction, support GCN based method `SDMG-R`. | |
| - Provide checkpoints and log files for all of the methods above. | |