In Sep 2022, we released the very first release candidate of MMOCR 1.0, bringing tons of new features to the community. MMOCR 1.0 has made many significant changes hoping to address critical complaints and requirements from thousands of users, the actual implementation is never sufficiently supervised by our community. Some changes might be progressive, and some might be bad.
So that's why we have an RC preiod - we hope to broadly collect advice and suggestions from our community and continuously adopt ideas/implementations to improve this beta version before we finalize it into a robust one. We call out to everyone to be early users and even developers of our latest version. Here are some aspects for everyone to get involved in and improve together, you can claim the task by replying to this issue. Your feedback is greatly appreciated :)
You are welcome to learn MMOCR 1.0 from our refactored documentation. If you find any content that is buggy, just report it to us via issues or make a PR to fix it. If you feel the documentation is not comprehensive enough to cover your need, don't hesitate to let us know!
Besides, there are some missing chapters in Basic Concepts. This section reveals the design and usage of every fundamental component and serves as advanced tutorials for those who want to dive deeper into this project. In fact, we have already prepared some Chinese version documentation and they will be raised as a PR to be reviewed. We cordially invite interested community members to be the reviewers for the following sections:
[ ] Datasets
[ ] Models
[ ] General components (Module Loss, Postprocessor, Dictionary)
[ ] Text Detection Models
[ ] Text Recognition Models
[ ] Data Flow
[ ] Translate the missing chapters in [Basic Concepts]() (Easy)
And yes - the English version of these missing chapters are not ready yet. If you are interested in helping us translate them, pick the chapter by replying to this issue! We will contact you when the chapter is ready to translate.
[ ] Datasets
[ ] Models
[ ] General components (Module Loss, Postprocessor, Dictionary)
[ ] Text Detection Models
[ ] Text Recognition Models
[ ] Data Flow
Features
If you want to be a contributor, here are some simple starting points:
[ ] Fill out the docstrings for check_argument.py (Easy)
[ ] Supplement unit tests for these utilities:
[ ] mmocr/utils/bbox_utils.py
[ ] rescale_bbox (Easy)
[ ] rescale_bboxes (Easy)
[ ] mmocr/utils/check_argument.py
[ ] equal_len (Easy)
[ ] mmocr/models/textdet/necks/fpem_ffm.py (Easy)
Some amazing features are worth time exploring:
Visualization
Currently, browse_dataset.py is able to visualize the image and annotation processed through data transforms, but sometimes:
[x] we want to visualize the raw images and annotations to verify the correctness of the annotations (Easy)
[x] we want to visualize every intermediate image and annotation result of each transform in a pipeline to verify the transforms' correctness (Medium)
these features are missing from the scripts and the implementation of them would be a great plus to research.
Optimization of HmeanIoUMetric (Medium)
As reported in this issue, HmeanIoUMetric is still not efficient enough when the numbers of gt and pred polygons are large. It might be sped up with
[ ] multiprocessing, or
[ ] providing an alternative evaluation mode assuming the input bounding boxes are always quadrangles, which can be optimized as done in here
There might be some better solutions out there that have not yet been discovered. So it may be left as an open-ended question that will be improved step by step.
In Sep 2022, we released the very first release candidate of MMOCR 1.0, bringing tons of new features to the community. MMOCR 1.0 has made many significant changes hoping to address critical complaints and requirements from thousands of users, the actual implementation is never sufficiently supervised by our community. Some changes might be progressive, and some might be bad.
So that's why we have an RC preiod - we hope to broadly collect advice and suggestions from our community and continuously adopt ideas/implementations to improve this beta version before we finalize it into a robust one. We call out to everyone to be early users and even developers of our latest version. Here are some aspects for everyone to get involved in and improve together, you can claim the task by replying to this issue. Your feedback is greatly appreciated :)
Documentation
[ ] Read the docs and find the bugs (Easy)
You are welcome to learn MMOCR 1.0 from our refactored documentation. If you find any content that is buggy, just report it to us via issues or make a PR to fix it. If you feel the documentation is not comprehensive enough to cover your need, don't hesitate to let us know!
[ ] Review missing chapters in [Basic Concepts]() (Chinese only) (Easy)
Besides, there are some missing chapters in Basic Concepts. This section reveals the design and usage of every fundamental component and serves as advanced tutorials for those who want to dive deeper into this project. In fact, we have already prepared some Chinese version documentation and they will be raised as a PR to be reviewed. We cordially invite interested community members to be the reviewers for the following sections:
[ ] Translate the missing chapters in [Basic Concepts]() (Easy)
And yes - the English version of these missing chapters are not ready yet. If you are interested in helping us translate them, pick the chapter by replying to this issue! We will contact you when the chapter is ready to translate.
Features
If you want to be a contributor, here are some simple starting points:
Some amazing features are worth time exploring:
Visualization
Currently, browse_dataset.py is able to visualize the image and annotation processed through data transforms, but sometimes:
these features are missing from the scripts and the implementation of them would be a great plus to research.
Optimization of HmeanIoUMetric (Medium)
As reported in this issue,
HmeanIoUMetric
is still not efficient enough when the numbers of gt and pred polygons are large. It might be sped up withThere might be some better solutions out there that have not yet been discovered. So it may be left as an open-ended question that will be improved step by step.