openocr-python 0.0.9__py3-none-any.whl → 0.1.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. openocr/__init__.py +35 -1
  2. openocr/configs/dataset/rec/evaluation.yaml +41 -0
  3. openocr/configs/dataset/rec/ltb.yaml +9 -0
  4. openocr/configs/dataset/rec/mjsynth.yaml +11 -0
  5. openocr/configs/dataset/rec/openvino.yaml +25 -0
  6. openocr/configs/dataset/rec/ost.yaml +17 -0
  7. openocr/configs/dataset/rec/synthtext.yaml +7 -0
  8. openocr/configs/dataset/rec/test.yaml +77 -0
  9. openocr/configs/dataset/rec/textocr.yaml +13 -0
  10. openocr/configs/dataset/rec/textocr_horizontal.yaml +13 -0
  11. openocr/configs/dataset/rec/union14m_b.yaml +47 -0
  12. openocr/configs/dataset/rec/union14m_l_filtered.yaml +35 -0
  13. openocr/configs/rec/cmer/cmer.yml +127 -0
  14. openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_base.yml +152 -0
  15. openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_small.yml +152 -0
  16. openocr/configs/rec/unirec/focalsvtr_ardecoder_unirec.yml +114 -0
  17. openocr/configs/rec/unirec/opendoc_pipeline.yml +105 -0
  18. openocr/demo_gradio.py +28 -8
  19. openocr/demo_opendoc.py +572 -0
  20. openocr/demo_unirec.py +392 -0
  21. openocr/opendet/losses/__init__.py +5 -7
  22. openocr/opendet/preprocess/crop_resize.py +2 -1
  23. openocr/openocr.py +685 -0
  24. openocr/openrec/losses/__init__.py +8 -3
  25. openocr/openrec/losses/cmer_loss.py +12 -0
  26. openocr/openrec/losses/mdiff_loss.py +11 -0
  27. openocr/openrec/losses/unirec_loss.py +12 -0
  28. openocr/openrec/metrics/__init__.py +4 -1
  29. openocr/openrec/metrics/rec_metric_cmer.py +328 -0
  30. openocr/openrec/modeling/cmer_modeling/modeling_cmer.py +643 -0
  31. openocr/openrec/modeling/decoders/__init__.py +1 -0
  32. openocr/openrec/modeling/decoders/ctc_decoder.py +1 -1
  33. openocr/openrec/modeling/decoders/dan_decoder.py +4 -4
  34. openocr/openrec/modeling/decoders/dptr_parseq_clip_b_decoder.py +1563 -1398
  35. openocr/openrec/modeling/decoders/mdiff_decoder.py +587 -0
  36. openocr/openrec/modeling/decoders/smtr_decoder.py +99 -48
  37. openocr/openrec/modeling/unirec_modeling/configuration_unirec.py +166 -0
  38. openocr/openrec/modeling/unirec_modeling/modeling_unirec.py +433 -0
  39. openocr/openrec/optimizer/__init__.py +4 -3
  40. openocr/openrec/optimizer/lr.py +49 -0
  41. openocr/openrec/postprocess/__init__.py +2 -0
  42. openocr/openrec/postprocess/abinet_postprocess.py +1 -1
  43. openocr/openrec/postprocess/ar_postprocess.py +1 -1
  44. openocr/openrec/postprocess/cmer_postprocess.py +86 -0
  45. openocr/openrec/postprocess/cppd_postprocess.py +1 -1
  46. openocr/openrec/postprocess/igtr_postprocess.py +1 -1
  47. openocr/openrec/postprocess/lister_postprocess.py +1 -1
  48. openocr/openrec/postprocess/mgp_postprocess.py +1 -1
  49. openocr/openrec/postprocess/nrtr_postprocess.py +2 -2
  50. openocr/openrec/postprocess/smtr_postprocess.py +1 -1
  51. openocr/openrec/postprocess/srn_postprocess.py +1 -1
  52. openocr/openrec/postprocess/unirec_postprocess.py +58 -0
  53. openocr/openrec/postprocess/visionlan_postprocess.py +1 -1
  54. openocr/openrec/preprocess/__init__.py +5 -0
  55. openocr/openrec/preprocess/ce_label_encode.py +1 -1
  56. openocr/openrec/preprocess/cmer_label_encode.py +1025 -0
  57. openocr/openrec/preprocess/ctc_label_encode.py +1 -1
  58. openocr/openrec/preprocess/dptr_label_encode.py +177 -157
  59. openocr/openrec/preprocess/igtr_label_encode.py +4 -2
  60. openocr/openrec/preprocess/mdiff_label_encode.py +312 -0
  61. openocr/openrec/preprocess/rec_aug.py +128 -2
  62. openocr/openrec/preprocess/resize.py +57 -0
  63. openocr/openrec/preprocess/unirec_label_encode.py +62 -0
  64. openocr/tools/data/__init__.py +78 -55
  65. openocr/tools/data/cmer_web_dataset.py +310 -0
  66. openocr/tools/data/native_size_dataset.py +753 -0
  67. openocr/tools/data/native_size_sampler.py +158 -0
  68. openocr/tools/data/ratio_dataset_tvresize.py +2 -0
  69. openocr/tools/data/ratio_sampler.py +2 -1
  70. openocr/tools/download/download_dataset.py +38 -0
  71. openocr/tools/download/utils.py +28 -0
  72. openocr/tools/download_example_images.py +236 -0
  73. openocr/tools/engine/trainer.py +155 -39
  74. openocr/tools/eval_rec_all_ch.py +2 -2
  75. openocr/tools/infer_det.py +20 -2
  76. openocr/tools/infer_doc.py +898 -0
  77. openocr/tools/infer_doc_onnx.py +1172 -0
  78. openocr/tools/infer_e2e.py +27 -10
  79. openocr/tools/infer_rec.py +64 -15
  80. openocr/tools/infer_unirec_onnx.py +730 -0
  81. openocr/tools/to_markdown.py +468 -0
  82. openocr/tools/utils/ckpt.py +17 -5
  83. openocr/tools/utils/opendoc_onnx_utils/utils.py +1052 -0
  84. openocr_python-0.1.0.dev0.dist-info/METADATA +324 -0
  85. {openocr_python-0.0.9.dist-info → openocr_python-0.1.0.dev0.dist-info}/RECORD +89 -45
  86. {openocr_python-0.0.9.dist-info → openocr_python-0.1.0.dev0.dist-info}/WHEEL +1 -1
  87. openocr_python-0.1.0.dev0.dist-info/entry_points.txt +2 -0
  88. openocr_python-0.0.9.dist-info/METADATA +0 -149
  89. /openocr_python-0.0.9.dist-info/LICENCE → /openocr_python-0.1.0.dev0.dist-info/licenses/LICENSE +0 -0
  90. {openocr_python-0.0.9.dist-info → openocr_python-0.1.0.dev0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,324 @@
1
+ Metadata-Version: 2.4
2
+ Name: openocr-python
3
+ Version: 0.1.0.dev0
4
+ Summary: Accurate and Efficient General OCR System
5
+ Home-page: https://github.com/Topdu/OpenOCR
6
+ Author: OCR Team, FVL Lab
7
+ Author-email: "OCR Team, FVL Lab" <784990967@qq.com>
8
+ Maintainer-email: "OCR Team, FVL Lab" <784990967@qq.com>
9
+ License: Apache License 2.0
10
+ Project-URL: Homepage, https://github.com/Topdu/OpenOCR
11
+ Project-URL: Documentation, https://github.com/Topdu/OpenOCR/tree/main/docs
12
+ Project-URL: Repository, https://github.com/Topdu/OpenOCR
13
+ Project-URL: Bug Reports, https://github.com/Topdu/OpenOCR/issues
14
+ Keywords: ocr,optical character recognition,text detection,text recognition,document parsing,deep learning,computer vision
15
+ Classifier: Development Status :: 4 - Beta
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: Apache Software License
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
25
+ Classifier: Topic :: Scientific/Engineering :: Image Recognition
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Requires-Python: >=3.8
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ Requires-Dist: numpy==1.26.4
31
+ Requires-Dist: opencv-python<=4.12.0
32
+ Requires-Dist: Pillow>=8.0.0
33
+ Requires-Dist: pyyaml>=5.4.0
34
+ Requires-Dist: tqdm>=4.60.0
35
+ Requires-Dist: rapidfuzz>=2.0.0
36
+ Requires-Dist: pyclipper>=1.3.0
37
+ Requires-Dist: pydantic
38
+ Requires-Dist: shapely
39
+ Provides-Extra: onnx
40
+ Requires-Dist: onnxruntime>=1.12.0; extra == "onnx"
41
+ Provides-Extra: onnx-gpu
42
+ Requires-Dist: onnxruntime-gpu>=1.12.0; extra == "onnx-gpu"
43
+ Provides-Extra: pytorch
44
+ Requires-Dist: torch>=1.10.0; extra == "pytorch"
45
+ Requires-Dist: torchvision>=0.11.0; extra == "pytorch"
46
+ Provides-Extra: gradio
47
+ Requires-Dist: gradio==4.20.0; extra == "gradio"
48
+ Provides-Extra: huggingface
49
+ Requires-Dist: huggingface-hub>=0.16.0; extra == "huggingface"
50
+ Provides-Extra: modelscope
51
+ Requires-Dist: modelscope>=1.9.0; extra == "modelscope"
52
+ Provides-Extra: all
53
+ Requires-Dist: onnxruntime>=1.12.0; extra == "all"
54
+ Requires-Dist: torch>=1.10.0; extra == "all"
55
+ Requires-Dist: torchvision>=0.11.0; extra == "all"
56
+ Requires-Dist: gradio==4.20.0; extra == "all"
57
+ Requires-Dist: huggingface-hub>=0.16.0; extra == "all"
58
+ Requires-Dist: modelscope>=1.9.0; extra == "all"
59
+ Dynamic: author
60
+ Dynamic: home-page
61
+ Dynamic: license-file
62
+ Dynamic: requires-python
63
+
64
+ # OpenOCR: An Open-Source Toolkit for General-OCR Research and Applications
65
+
66
+ ## For More Information
67
+
68
+ Visit: https://github.com/Topdu/OpenOCR
69
+
70
+ ## Recent Updates
71
+
72
+ - **0.1.0**: Use a unified interface for OCR, Document Parsing, and Unirec
73
+ - **0.0.10**: Remove OpenCV version restrictions.
74
+ - **0.0.9**: Fixing torch inference bug.
75
+ - **0.0.8**: Automatic Downloading ONNX model.
76
+ - **0.0.7**: Releasing the feature of [ONNX model export for wider compatibility](#export-onnx-model).
77
+
78
+ # Quick Start Guide
79
+
80
+ ## Installation
81
+
82
+ ```bash
83
+ # Install from PyPI (recommended)
84
+ pip install openocr-python huggingface-hub==0.36.0 modelscope onnxruntime
85
+
86
+ # Or install from source
87
+ git clone https://github.com/Topdu/OpenOCR.git
88
+ cd OpenOCR
89
+ python build_package.py
90
+ pip install ./build/dist/openocr_python-*.whl huggingface-hub==0.36.0 modelscope onnxruntime
91
+ ```
92
+
93
+ ## Command Line Usage
94
+
95
+ ### 1. Text Detection + Recognition (OCR)
96
+
97
+ End-to-end OCR for Chinese/English text detection and recognition:
98
+
99
+ ```bash
100
+ # Basic usage
101
+ openocr --task ocr --input_path path/to/img
102
+
103
+ # With visualization
104
+ openocr --task ocr --input_path path/to/img --is_vis
105
+
106
+ # Process directory with custom output
107
+ openocr --task ocr --input_path ./images --output_path ./results --is_vis
108
+
109
+ # Use server mode (higher accuracy)
110
+ pip install torch torchvision
111
+ openocr --task ocr --input_path path/to/img --mode server --backend torch
112
+ ```
113
+
114
+ ### 2. Text Detection Only
115
+
116
+ Detect text regions without recognition:
117
+
118
+ ```bash
119
+ # Basic detection
120
+ openocr --task det --input_path path/to/img
121
+
122
+ # With visualization
123
+ openocr --task det --input_path path/to/img --is_vis
124
+
125
+ # Use polygon detection (more accurate for curved text)
126
+ openocr --task det --input_path path/to/img --det_box_type poly
127
+ ```
128
+
129
+ ### 3. Text Recognition Only
130
+
131
+ Recognize text from cropped word/line images:
132
+
133
+ ```bash
134
+ # Basic recognition
135
+ openocr --task rec --input_path path/to/img
136
+
137
+ # Use server mode (higher accuracy)
138
+ pip install torch torchvision
139
+ openocr --task rec --input_path path/to/img --mode server --backend torch
140
+
141
+ # Batch processing
142
+ openocr --task rec --input_path ./word_images --rec_batch_num 16
143
+ ```
144
+
145
+ ### 4. Universal Recognition (UniRec)
146
+
147
+ Recognize text, formulas, and tables using Vision-Language Model:
148
+
149
+ ```bash
150
+ # Basic usage
151
+ openocr --task unirec --input_path path/to/img
152
+
153
+ # Process directory
154
+ openocr --task unirec --input_path ./images --output_path ./results
155
+ ```
156
+
157
+ ### 5. Document Parsing (OpenDoc)
158
+
159
+ Parse documents with layout analysis, table/formula/table recognition:
160
+
161
+ ```bash
162
+ # Full document parsing with all outputs
163
+ openocr --task doc --input_path path/to/img --use_layout_detection --save_vis --save_json --save_markdown
164
+
165
+ # Parse PDF document
166
+ openocr --task doc --input_path document.pdf --use_layout_detection --save_vis --save_json --save_markdown
167
+
168
+ # Custom layout threshold
169
+ openocr --task doc --input_path path/to/img --use_layout_detection --save_vis --save_json --save_markdown --layout_threshold 0.5
170
+ ```
171
+
172
+ ## Launch Interactive Demos
173
+
174
+ ```bash
175
+ # Install gradio
176
+ pip install gradio==4.20.0
177
+ ```
178
+
179
+ ### OCR Demo
180
+
181
+ Launch Gradio web interface for OCR tasks:
182
+
183
+ ```bash
184
+ pip install onnxruntime
185
+ # Local access only
186
+ openocr --task launch_openocr_demo --server_port 7860
187
+
188
+ # Public share link
189
+ openocr --task launch_openocr_demo --server_port 7860 --share
190
+ ```
191
+
192
+ ### UniRec Demo
193
+
194
+ Launch Gradio web interface for universal recognition:
195
+
196
+ ```bash
197
+ pip install onnxruntime
198
+ openocr --task launch_unirec_demo --server_port 7861 --share
199
+ ```
200
+
201
+ ### OpenDoc Demo
202
+
203
+ Launch Gradio web interface for document parsing:
204
+
205
+ ```bash
206
+ pip install onnxruntime
207
+ openocr --task launch_opendoc_demo --server_port 7862 --share
208
+ ```
209
+
210
+ ## Python API Usage
211
+
212
+ ### OCR Task
213
+
214
+ ```python
215
+ import json
216
+ from openocr import OpenOCR
217
+
218
+ # Initialize OCR engine
219
+ ocr = OpenOCR(task='ocr', mode='mobile')
220
+
221
+ # Process single image
222
+ results, time_dicts = ocr(
223
+ image_path='path/to/image.jpg',
224
+ save_dir='./output',
225
+ is_visualize=True
226
+ )
227
+
228
+ # Access results
229
+ for result in results:
230
+ image_name, ocr_result = result.split('\t')
231
+ ocr_result = json.loads(ocr_result)
232
+ print(f"✅ OCR: {image_name} results: {ocr_result}")
233
+ ```
234
+
235
+ ### Detection Task
236
+
237
+ ```python
238
+ from openocr import OpenOCR
239
+
240
+ # Initialize detector
241
+ detector = OpenOCR(task='det')
242
+
243
+ # Detect text regions
244
+ results = detector(image_path='path/to/image.jpg')
245
+
246
+ # Access detection boxes
247
+ boxes = results[0]['boxes']
248
+ print(f"Found {len(boxes)} text regions")
249
+ ```
250
+
251
+ ### Recognition Task
252
+
253
+ ```python
254
+ from openocr import OpenOCR
255
+
256
+ # Initialize recognizer
257
+ recognizer = OpenOCR(task='rec', mode='server', backend='torch') # pip install torch torchvision
258
+
259
+ # Recognize text
260
+ results = recognizer(image_path='path/to/word.jpg')
261
+
262
+ # Access recognition result
263
+ text = results[0]['text']
264
+ score = results[0]['score']
265
+ print(f"Text: {text}, Confidence: {score}")
266
+ ```
267
+
268
+ ### UniRec Task
269
+
270
+ ```python
271
+ from openocr import OpenOCR
272
+
273
+ # Initialize UniRec
274
+ unirec = OpenOCR(task='unirec')
275
+
276
+ # Recognize text/formula/table
277
+ result_text, generated_ids = unirec(
278
+ image_path='path/to/image.jpg',
279
+ max_length=2048
280
+ )
281
+ print(f"Result: {result_text}")
282
+ ```
283
+
284
+ ### Document Parsing Task
285
+
286
+ ```python
287
+ from openocr import OpenOCR
288
+
289
+ # Initialize OpenDoc
290
+ doc_parser = OpenOCR(
291
+ task='doc',
292
+ use_layout_detection=True,
293
+ )
294
+
295
+ # Parse document
296
+ result = doc_parser(image_path='path/to/document.jpg')
297
+
298
+ # Save results
299
+ doc_parser.save_to_markdown(result, './output')
300
+ doc_parser.save_to_json(result, './output')
301
+ doc_parser.save_visualization(result, './output')
302
+ ```
303
+
304
+ ## Common Parameters
305
+
306
+ - `--task`: Task type (ocr, det, rec, unirec, doc, launch\_\*\_demo)
307
+ - `--input_path`: Input image/PDF path or directory
308
+ - `--output_path`: Output directory (default: openocr_output/{task})
309
+ - `--use_gpu`: GPU usage (auto, true, false)
310
+ - `--mode`: Model mode (mobile, server) - server mode has higher accuracy
311
+ - `--is_vis`: Visualize results
312
+ - `--save_vis`: Save visualization (doc task)
313
+ - `--save_json`: Save JSON results (doc task)
314
+ - `--save_markdown`: Save Markdown results (doc task)
315
+
316
+ ## Output Structure
317
+
318
+ Results are saved to `openocr_output/{task}/` by default:
319
+
320
+ - **OCR task**: `ocr_results.txt` + visualization images (if --is_vis)
321
+ - **Detection task**: `det_results.txt` + visualization images (if --is_vis)
322
+ - **Recognition task**: `rec_results.txt`
323
+ - **UniRec task**: `unirec_results.txt`
324
+ - **Doc task**: JSON files, Markdown files, visualization images (based on flags)
@@ -1,5 +1,19 @@
1
- openocr/__init__.py,sha256=ffaa4l5Fk2jecN_eq4G-je17UsJxqdt0Fa17lE_nPuA,341
2
- openocr/demo_gradio.py,sha256=JviQX9r4Rg445AYAOH6nv6CwKnyX6LN9kYSV5BglWVw,8250
1
+ openocr/__init__.py,sha256=Ao27Pzv2CMNfno6nGFmJ-HpFn-pXxfQ0K3hP9O_HF4A,1258
2
+ openocr/demo_gradio.py,sha256=4OSMUpLMfqzwwQLGUK7gDe3nI-v6o5Hy3tXcgyBWObc,9013
3
+ openocr/demo_opendoc.py,sha256=7vGwIr5b-a2afIm8oS5rxTD2HHhEq0X3W3xruXIhWCw,20113
4
+ openocr/demo_unirec.py,sha256=Rrh8Gvb2YEsvrEa0pP2I8h0hoD0dzjUySynSCQwyYQ4,14395
5
+ openocr/openocr.py,sha256=qmto_sb30DTfIIhf6e4U1LK-sLrlMGcjG08P457jqrk,27670
6
+ openocr/configs/dataset/rec/evaluation.yaml,sha256=sOjO7NqLg58igfc7t5560R555o3hY3bG4XkN9Vhqw7o,1914
7
+ openocr/configs/dataset/rec/ltb.yaml,sha256=GMnpMtpKeiGX5yoNonQZVP566nWu6TNPLKhdEYbvZLo,327
8
+ openocr/configs/dataset/rec/mjsynth.yaml,sha256=PMtkyIIY29NeMCMOHAo6OVbJs2B4nPxZE98kaGp1sng,472
9
+ openocr/configs/dataset/rec/openvino.yaml,sha256=KpkPM8JHc_1TbZEnFQcQEMW7RMELGaTKCn_RpHdPFl0,883
10
+ openocr/configs/dataset/rec/ost.yaml,sha256=TUCsTI2OPyRMdszLwfNcrb2A6bIiqaYWt69rbkvFaUw,659
11
+ openocr/configs/dataset/rec/synthtext.yaml,sha256=9v9XtwB9_q-6zvVV9eVs8oWkj-vdKsO7sHdaHzH0SlQ,201
12
+ openocr/configs/dataset/rec/test.yaml,sha256=sGffrarkHZJidMtxCxn9ONWRFKLWuql8Fz6CDl9ppdQ,3624
13
+ openocr/configs/dataset/rec/textocr.yaml,sha256=Cmnt-LR6OCeqUaCWJJsjL8J1Ov0Ig9707RwrQbYjL3A,374
14
+ openocr/configs/dataset/rec/textocr_horizontal.yaml,sha256=_JKmyyeN6baoEqY5KdPZ7eO5etzMuKtKX9CPJp6b84A,407
15
+ openocr/configs/dataset/rec/union14m_b.yaml,sha256=N2WOLT4WdCAMOXbi9wDFF3Ldr1_vJhw9MHZmfD9hEvU,2214
16
+ openocr/configs/dataset/rec/union14m_l_filtered.yaml,sha256=p4TjRus7W5Hww_ZS03k_De6xc70u0a3_9FW8YoVMFV4,1886
3
17
  openocr/configs/det/dbnet/repvit_db.yml,sha256=mjZeU0UYbDX3RGTWjxLOxFnUtAEfyTt1Q_RB2BnXT-A,3354
4
18
  openocr/configs/rec/abinet/resnet45_trans_abinet_lang.yml,sha256=nvRROLPVuG7xwf7mN09GwL52ckG7RW-swHf7y4Rc8qw,2038
5
19
  openocr/configs/rec/abinet/resnet45_trans_abinet_wo_lang.yml,sha256=LrAhjALUX8CvktwDZkJyYcy7wOxFzTeMDdJ5UnsDNdY,2007
@@ -18,6 +32,7 @@ openocr/configs/rec/cam/convnextv2_tiny_cam_tps_on.yml,sha256=tImOXiJetiQnPsWTI2
18
32
  openocr/configs/rec/cam/svtrv2_cam_tps_on.yml,sha256=b4Wx-2lkYd6R_qVNVQwnfFJmtnsgoZe6NWhCtxm481U,3107
19
33
  openocr/configs/rec/cdistnet/resnet45_trans_cdistnet.yml,sha256=jIWa54IwOZsR72sIR8zysEnBQdQyR5D2l3SoEsz0-lk,2088
20
34
  openocr/configs/rec/cdistnet/svtrv2_cdistnet.yml,sha256=98l9lNdusrEc6sqgKpCHwS85xTiRQXEZwSRbroavHiY,3872
35
+ openocr/configs/rec/cmer/cmer.yml,sha256=sBEef1vO0Dh9047yca6AGOFDDm2-WCVPKpk041nzOoM,2603
21
36
  openocr/configs/rec/cppd/svtr_base_cppd.yml,sha256=4p2q8vBfz9IF7VMBmmykcFyp_Ivk-ip-wHJ8Oq7wZE4,3145
22
37
  openocr/configs/rec/cppd/svtr_base_cppd_ch.yml,sha256=26GOPTQWg1LLCNq2_Qd5dDBSNxE72_S4560JzWZe-lw,3291
23
38
  openocr/configs/rec/cppd/svtr_base_cppd_h8.yml,sha256=_XCxbjS60PJAFPuKml9CJA-adYfXsegWvuNK-fqdEI4,3190
@@ -41,6 +56,8 @@ openocr/configs/rec/lpv/svtrv2_lpv_wo_glrm.yml,sha256=CSCcI4HXDKZLEFEZcor6AJI-CZ
41
56
  openocr/configs/rec/maerec/vit_nrtr.yml,sha256=IKtopRYWSVK5_AGhvMz3B8WueIRiuhaq4pcc3Irem18,2853
42
57
  openocr/configs/rec/matrn/resnet45_trans_matrn.yml,sha256=DGAdHt0i22r-qW7icRf-dbj5sDatYIkENM14H8xm73I,2066
43
58
  openocr/configs/rec/matrn/svtrv2_matrn.yml,sha256=RzweOM41-SrAbKaalQYrz9mOqGUDJ9DlQrivfeZdABU,3393
59
+ openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_base.yml,sha256=y4kYzDLt9YYax4qSaAwcq4u1gvm2nQPwzj9ByWM3njE,4358
60
+ openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_small.yml,sha256=0FINJAjD7m0HHbXBSzGjNS8H0kd7T-QiJHPMSYOHOPk,4310
44
61
  openocr/configs/rec/mgpstr/svtrv2_mgpstr_only_char.yml,sha256=sZYfXoKQv25JnlwnaKFSk_KJd3Mwkvh9YL-VBzcbC8E,3963
45
62
  openocr/configs/rec/mgpstr/vit_base_mgpstr_only_char.yml,sha256=GqjJkLdhDp73ftr5X6OvL-nBg0bTw3rikQUTdo2pV4Q,2725
46
63
  openocr/configs/rec/mgpstr/vit_large_mgpstr_only_char.yml,sha256=Ueta3greWKE91kNmN8Saqpp9LX6zYh01XwfEzhNfSv0,2708
@@ -96,13 +113,15 @@ openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc.yml,sha256=rjpXi3ZX1KjDUIQ_3dtQQ
96
113
  openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc_ch.yml,sha256=VzjWEvWLKsOO-Tv2vIwWSYGCI7Z3nw39Q3Nif9BVLR0,4355
97
114
  openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc_infer.yml,sha256=rMlfz16qSwyeUaVBJ53u-qxgtDbsKlZ9XC_4KwE-zD4,4203
98
115
  openocr/configs/rec/svtrv2/svtrv2_tiny_rctc.yml,sha256=ynQme_9SIVDSAqrmtmrxY4623_CRpamgEDYoAjc5xxg,3593
116
+ openocr/configs/rec/unirec/focalsvtr_ardecoder_unirec.yml,sha256=qs6P2ZGwgZwp_7Wv9sOVM9enYrV3hMLPiC40ioPS64g,3106
117
+ openocr/configs/rec/unirec/opendoc_pipeline.yml,sha256=2UJe63IGCyHo7J30ddu7T0v1bzWDt2VjGTD4j89krHI,2515
99
118
  openocr/configs/rec/visionlan/resnet45_trans_visionlan_LA.yml,sha256=r3nAyutuexAnbasm4SmYOK2kg8IjjhUWC9p1l3A9vMs,2674
100
119
  openocr/configs/rec/visionlan/resnet45_trans_visionlan_LF_1.yml,sha256=B-fQAO9TboZ82QrTyjOM_BJOJacHzPYKvkvAREgZUmQ,2610
101
120
  openocr/configs/rec/visionlan/resnet45_trans_visionlan_LF_2.yml,sha256=-Wc_7O1kjRtzzhy1o34nlCo04tx6LOfMmCoxd9Lz0zo,2677
102
121
  openocr/configs/rec/visionlan/svtrv2_visionlan_LA.yml,sha256=E4pD297NYPbB-vElnhzX2CWbyeCnQMVaTc-EvHI7ROk,3076
103
122
  openocr/configs/rec/visionlan/svtrv2_visionlan_LF_1.yml,sha256=UdOHU7gBocPqvqhCwd8tSaqjF5d_ltaCn6Gbvr4t90U,3021
104
123
  openocr/configs/rec/visionlan/svtrv2_visionlan_LF_2.yml,sha256=Wg4P_jsrX_o1hdcvdWDkSj4vP9bzIMJlAc85Uzy8QKo,3078
105
- openocr/opendet/losses/__init__.py,sha256=Z9nU-a3qpT26STGVV-UYupJ5lcJSZG3QqTYw_rz7p7c,607
124
+ openocr/opendet/losses/__init__.py,sha256=wq70n2xN8nzaUb5NBwM7bVfaS5pv_h1jpDnlcRie86g,563
106
125
  openocr/opendet/losses/db_loss.py,sha256=imlzRGnQstADkMLj8gsoVKqrB7efmE5AfSflJbXfI3w,3354
107
126
  openocr/opendet/losses/det_basic_loss.py,sha256=FjBGhc1pAVc5Ny989m_bTonHCHa6MNDf6VfGiasfakg,5229
108
127
  openocr/opendet/metrics/__init__.py,sha256=HSgWMh4KYy_xGRrgekaXlch0ZsDJc2Q77ZP3zu-OPSc,382
@@ -120,50 +139,56 @@ openocr/opendet/postprocess/__init__.py,sha256=7rGu0o-e9QxlnmQo8BalN4urTukfizi4h
120
139
  openocr/opendet/postprocess/db_postprocess.py,sha256=f3idW7jYimHy9rGxBxEXYQ3lptTeM00ERXGrhxKG_xY,9670
121
140
  openocr/opendet/preprocess/__init__.py,sha256=1BYFtForSAEP8DuFIASeJLXwje_3mxQpSpodSNm5yis,4893
122
141
  openocr/opendet/preprocess/crop_paste.py,sha256=vZtPeFKrc4q3aWf5EWnS9Bu8xGAEjtG3NtsXvmpylZg,6649
123
- openocr/opendet/preprocess/crop_resize.py,sha256=ETrpJIYv0iyXtqLlkajkob1_g3w3veVJO4rmjitlKWc,10069
142
+ openocr/opendet/preprocess/crop_resize.py,sha256=eBLFNPlJtbnghhR2_jp5WAG35plB004pU9c6xWNxL0s,10085
124
143
  openocr/opendet/preprocess/db_label_encode.py,sha256=0zevqLxqICGaBIIjtsB5DA2QukrWNQVFRYXm7tYaAk4,11392
125
144
  openocr/opendet/preprocess/db_resize_for_test.py,sha256=Dc4Vak1YWKd5y43kfslkjN9NtHNs20UqdS0WpWr4jjA,4713
126
145
  openocr/opendet/preprocess/iaa_augment.py,sha256=Ndc_fCZZJ3pRNKVn3q5BnVhUMPUZT8LIsxXTbcFR0xM,9345
127
- openocr/openrec/losses/__init__.py,sha256=_DfBj5CzcGGQkELd-mt2wyRZkSTkS-dc2A40eOzrFnI,2061
146
+ openocr/openrec/losses/__init__.py,sha256=hdL5QhAh2YwLszS5ny8G0pRnIEjdnZp7v-37Y8OF_uE,2256
128
147
  openocr/openrec/losses/abinet_loss.py,sha256=L_olPjHdFJU6s5c9gRyHZv2Vzd7ye3tVyKHseADabf8,1511
129
148
  openocr/openrec/losses/ar_loss.py,sha256=atxtvNMHl4nyds1xF1v7rjBqPZWr-WI0_Bp_P24Gj4s,675
130
149
  openocr/openrec/losses/cam_loss.py,sha256=_aOPeabJ5HNLnNCMpr__Gk-i3sm3fjSox0ePIwhuNfg,1627
131
150
  openocr/openrec/losses/cdistnet_loss.py,sha256=K1X5GxPx5i3ADKuul4MkFHdPO5YdfxhhN2Kg_rHfQ00,1305
132
151
  openocr/openrec/losses/ce_loss.py,sha256=eEiBCgIv44wywdi41hsqmIXCmSHDEkBCcVU68Xv4bSs,2756
152
+ openocr/openrec/losses/cmer_loss.py,sha256=vUvhsr8g3hYM-RDe9XwT6u01lR16sEznibP9K921HKo,290
133
153
  openocr/openrec/losses/cppd_loss.py,sha256=oTFoyXq7PdOvGDMcifBarxYCi-8WEMUWpYbcfJnQSDQ,2912
134
154
  openocr/openrec/losses/ctc_loss.py,sha256=ZvJp4-3WQAkrPJ3AvbpNHTxW2ocqHP-YFaUmoQztMlc,1321
135
155
  openocr/openrec/losses/igtr_loss.py,sha256=ZA8U1pWMtaiTsDNDf76nqZPgteUQlknp5Rpn3t7QKeA,265
136
156
  openocr/openrec/losses/lister_loss.py,sha256=zIb2pg2OEqoKKSBoZl154WErSGYOC1Hz5ogqfCzogpo,332
137
157
  openocr/openrec/losses/lpv_loss.py,sha256=fkewYMPlb5L-tsjT8vWUq5Cg2xj4_jbrssZgxog7EbY,881
158
+ openocr/openrec/losses/mdiff_loss.py,sha256=6AZmD4bfatOa4LSc7HQtrnMqkyFW9p9XA8G-jQTORoA,204
138
159
  openocr/openrec/losses/mgp_loss.py,sha256=D0YXBbh9FihyoWkt9GdI59nai1SWyQwBuDhedtZ-qvk,1152
139
160
  openocr/openrec/losses/parseq_loss.py,sha256=pT3tEMpjIBO-YFfnbkpkIOr3IlkqiQoqz6DH3HeIb98,265
140
161
  openocr/openrec/losses/robustscanner_loss.py,sha256=aUwU7Mosz9ULNKQo_uPrF4KBZHmA9FC0XyxpJU-f5as,576
141
162
  openocr/openrec/losses/seed_loss.py,sha256=zZKVKL4b9e_i58jwNtuFeKBeUq_IJYY9SeKswG9BC-c,1383
142
163
  openocr/openrec/losses/smtr_loss.py,sha256=Wxy3Paqo6jvSLqpNT2Y46PCwO0uAxn9XQ80ojGN39JA,265
143
164
  openocr/openrec/losses/srn_loss.py,sha256=qmi22dlwyCD25eWZswjFuD3uy6gUEy2GUARFqvFpVuY,1503
165
+ openocr/openrec/losses/unirec_loss.py,sha256=_ABLD5jC6dFAZqmA36Br-o15JXzVazW_cIisg_mMl1M,294
144
166
  openocr/openrec/losses/visionlan_loss.py,sha256=sO5th04eVoFFBHrpqhiXdYsZgUqdVSvu1CemnV-oAw4,2248
145
- openocr/openrec/metrics/__init__.py,sha256=4erT9eOw8wdaT5NRq3PrFnPLA3iAZcl7hOgBgNlEgb8,556
167
+ openocr/openrec/metrics/__init__.py,sha256=291EpoeCTtdCzJQh9Y6FiSD9aV4Lr9tIVk-1SfQgY6s,616
146
168
  openocr/openrec/metrics/rec_metric.py,sha256=r_SWi_gP_aRcOwys2zdS0YFBMxqnRJyiCLfvxvRsS8w,10303
169
+ openocr/openrec/metrics/rec_metric_cmer.py,sha256=w0yCkN85PuajUlHCLwmsiDVizzF5IT_xP0wIigDfkM0,10406
147
170
  openocr/openrec/metrics/rec_metric_gtc.py,sha256=3yc0MQXjUie9lQjEtkf3Y_9a6mv8XG6HfiF2bFf3E-s,2179
148
171
  openocr/openrec/metrics/rec_metric_long.py,sha256=R4eSkOZf32vfVcEFZRgMeBxisfVK743z0RfD_PJl2aE,5476
149
172
  openocr/openrec/metrics/rec_metric_mgp.py,sha256=5po7P9cWFgf8iTg90H0lxArDwDe0adG9Ke1WEiWcqFs,4156
150
173
  openocr/openrec/modeling/__init__.py,sha256=G7c4de0OeHF5-mj4G9_JG6v1OCvJugvhTe3Fl6auBhM,206
151
174
  openocr/openrec/modeling/base_recognizer.py,sha256=wkkrbF8H6CCU3D4PqYU719UjFu4rSFUGpTymL9uCXZQ,2323
152
175
  openocr/openrec/modeling/common.py,sha256=gpA1Ufu6xV0VxNvt8qQyWj-J7w2A18x3SJTW6H6tO6E,7351
153
- openocr/openrec/modeling/decoders/__init__.py,sha256=i2uHMCQAKOfdePxxWRjbbo-7bPDWl0_Td1IaDnTq168,3949
176
+ openocr/openrec/modeling/cmer_modeling/modeling_cmer.py,sha256=-KqWIzLBWZJMmmxOB_CBQwb8KIZkcH6r2w97uFskDN0,26183
177
+ openocr/openrec/modeling/decoders/__init__.py,sha256=Uez9W8WJn5b9I8jTI1VGA7b-qHBZ7oIIU9kxjwJaRHw,3987
154
178
  openocr/openrec/modeling/decoders/abinet_decoder.py,sha256=5FM3DF8lkKct7dLfIxt6nT29-qrTLwQ4H8P5YZAhLeo,10301
155
179
  openocr/openrec/modeling/decoders/aster_decoder.py,sha256=RD2pN89cA6NsvYelxDtK3kHtjBaKGL-wwIxAL1MupRI,5983
156
180
  openocr/openrec/modeling/decoders/bus_decoder.py,sha256=CEV1oeVP37KsR2QZEFhBw1I26Y-K3yhSH99EeTPIO8Q,5236
157
181
  openocr/openrec/modeling/decoders/cam_decoder.py,sha256=ylqXn0ktsTJQsi42wh8EHWw_g-nh3A9wXB-WysEeg_8,1151
158
182
  openocr/openrec/modeling/decoders/cdistnet_decoder.py,sha256=dSrywGmI2AZIWaDX3blFYM3gs28O50moyxq-LYi-J1I,9996
159
183
  openocr/openrec/modeling/decoders/cppd_decoder.py,sha256=mDS0dko-ar2KtwZ2Pfr8R2GGk5hfy9GACAFh9a2EBnY,13578
160
- openocr/openrec/modeling/decoders/ctc_decoder.py,sha256=qO2PmbYtc6d4ngu62QQn2zYK1W4FrKEWGnUkvbg3hVU,5774
161
- openocr/openrec/modeling/decoders/dan_decoder.py,sha256=88B1oodErOMndMOVZW0Sx_y7nHRM79r6bziIWoTQRUY,8225
162
- openocr/openrec/modeling/decoders/dptr_parseq_clip_b_decoder.py,sha256=eQ9FlphqGn3FNsNVRMQtSvULb1WvQkA4yn-YlrmgiG4,58180
184
+ openocr/openrec/modeling/decoders/ctc_decoder.py,sha256=OU0dqLUMLjSO0TNOGJ-sXw1VlSCG5LygTKKRQLWnDco,5787
185
+ openocr/openrec/modeling/decoders/dan_decoder.py,sha256=I3W5TNtlicYDv_0SsDA_2Fq-8fjOc2wXjMlK8LUZoLs,8216
186
+ openocr/openrec/modeling/decoders/dptr_parseq_clip_b_decoder.py,sha256=mMb3e0XhaXAQKCRr98m2bv8KwUw9ysYFgfxoPhFXdKA,60131
163
187
  openocr/openrec/modeling/decoders/igtr_decoder.py,sha256=7rWAObOmb5wGS_64DC8DPfTtL5eSgL9uC_e3ALfhp0Y,39298
164
188
  openocr/openrec/modeling/decoders/lister_decoder.py,sha256=huIR4WDAKzExYF3sSIl3u0uN0pH4LaDqOTFB5SJrG5U,19475
165
189
  openocr/openrec/modeling/decoders/lpv_decoder.py,sha256=C7yIGT-T6bR1rNEJPCxF5LKa50T0JlxmwBKn1VwdhoU,4551
166
190
  openocr/openrec/modeling/decoders/matrn_decoder.py,sha256=RiA1NaHQU0LgSqTiWVCqza_BE609QfiOt2yclPO_OOI,9248
191
+ openocr/openrec/modeling/decoders/mdiff_decoder.py,sha256=Wlefl7U0pg3M4mxON_2y3KSRgJsIIJhtGdsY5gnnlEg,25704
167
192
  openocr/openrec/modeling/decoders/mgp_decoder.py,sha256=6i1K48hdZcqx46WEPOzQwl7qqvsAF9qDFR8kSgsdh7A,3614
168
193
  openocr/openrec/modeling/decoders/nrtr_decoder.py,sha256=--6eK38BshQ3uTqE0apIsAoHfjnypirCU0hBwOJTsYs,16390
169
194
  openocr/openrec/modeling/decoders/ote_decoder.py,sha256=mVMz31rJ28Ku_x364tFGaFcfcRTxS3pGB7cdbNVWpC8,7219
@@ -171,7 +196,7 @@ openocr/openrec/modeling/decoders/parseq_decoder.py,sha256=RyCDa6uBcEktOQvjehpdV
171
196
  openocr/openrec/modeling/decoders/rctc_decoder.py,sha256=ziDNIUX2MhyHAhsHtn3obyTNt-oKIDBMZWdjUsctBaw,2318
172
197
  openocr/openrec/modeling/decoders/robustscanner_decoder.py,sha256=xG2qxbm4H5GxD7HO5YfrZK_MfEn7QE8cpxRfb6QeeWM,26912
173
198
  openocr/openrec/modeling/decoders/sar_decoder.py,sha256=xFOxi5GuZ1wrtj4NNWHrTJglCwjD_XUnLkrBr4tZzx0,8855
174
- openocr/openrec/modeling/decoders/smtr_decoder.py,sha256=86cniK2LyA6_H7Ch8cpipmf4uJVjkGHe-p70TnCX-go,28308
199
+ openocr/openrec/modeling/decoders/smtr_decoder.py,sha256=npuwWZkNNp6jV08MoPJ31mO1RL2exNq8asmUgeT8oKs,29960
175
200
  openocr/openrec/modeling/decoders/smtr_decoder_nattn.py,sha256=pqf_4m_rDhzAJunx0xbTHWm1amHv6dz8xU3Nj0eMYck,22459
176
201
  openocr/openrec/modeling/decoders/srn_decoder.py,sha256=JnVZDeg5E_mkZwQKPT7rMxAzRa_uV5-2zvqHk5xuGh8,9660
177
202
  openocr/openrec/modeling/decoders/visionlan_decoder.py,sha256=wNHTpAdy31NeWofA-z-vXNYndH0UFOWsP_Qj6-94rkw,12205
@@ -202,79 +227,96 @@ openocr/openrec/modeling/transforms/__init__.py,sha256=5EF4trTDqmBSjKjLPbotzINj1
202
227
  openocr/openrec/modeling/transforms/aster_tps.py,sha256=_8k-dd9L4NYFQv2K53SfUqNtXIekOjlWQwu6npys1GA,10008
203
228
  openocr/openrec/modeling/transforms/moran.py,sha256=6KhbCcQ4PR4NGfMJ0VjHGFjaSdkTSzsB-sFTsk17zbA,6257
204
229
  openocr/openrec/modeling/transforms/tps.py,sha256=P697SxisdJCBeciMTy1nsEEmkXR6SyMi-iMKeDYPXuQ,8864
205
- openocr/openrec/optimizer/__init__.py,sha256=K1X6-PY1m9q1mxaNO6vWhCfpbKsORp67vsNVx2spM5Y,2347
206
- openocr/openrec/optimizer/lr.py,sha256=UwfjQlKFQUh1tod3_0p2Nw_ou2A-9uMN1jeoIV0pAm0,7439
207
- openocr/openrec/postprocess/__init__.py,sha256=rL094czYQXNNre0ti7NyMYemNWqkBWd1bA462uluc8c,2972
208
- openocr/openrec/postprocess/abinet_postprocess.py,sha256=llgBogog3eNtbtwqsdrMPRfytx6BaaBKTP3d3lQAM3A,1260
209
- openocr/openrec/postprocess/ar_postprocess.py,sha256=8OH4W7OmBzf_zAtp7d8KCJ_E8_N017IpKM6nPcgd_to,2144
230
+ openocr/openrec/modeling/unirec_modeling/configuration_unirec.py,sha256=sqf5iqRI9Y1IRAX3kkMexdpMq5Sf39QoqWgJIWtF_ZY,7472
231
+ openocr/openrec/modeling/unirec_modeling/modeling_unirec.py,sha256=BhES7yjCP3wZRqgQvMFm6P9QQ3X0lr9hQqB5uiGLKfY,18935
232
+ openocr/openrec/optimizer/__init__.py,sha256=jVN7OReLw5USNPmtoL3RtYOgU2DDEAAxL9JAW8xnz_Y,2361
233
+ openocr/openrec/optimizer/lr.py,sha256=L2Gzw_ceufJKGsEg4iuJtnvFEM5pILesNOLX-4ymMxE,8928
234
+ openocr/openrec/postprocess/__init__.py,sha256=MS7WQRC78R0yFn61pgSZiECBUUi_ZwqnIzfsqMlOg7Q,3064
235
+ openocr/openrec/postprocess/abinet_postprocess.py,sha256=6dBOI0gq3VkVlcGTaT88V9poTrokIswme3YSZnLnIUM,1246
236
+ openocr/openrec/postprocess/ar_postprocess.py,sha256=SvdBvQCRaHx0U5ssn4REW6DIl4rJLBCiOYVXC2DcrnY,2121
210
237
  openocr/openrec/postprocess/ce_postprocess.py,sha256=CDEYOw8jQy_ar8r10TPiYuoYDOVQWrtM1eyfjU9eQKM,1461
211
238
  openocr/openrec/postprocess/char_postprocess.py,sha256=GLs_qGWJOenOdCDFDTQPP5Ydck171Ckgan_nnqHcGTI,4026
212
- openocr/openrec/postprocess/cppd_postprocess.py,sha256=Ax2semT_LalBB9jOndJho5dmpw0yY2-ugNX38FR9Huo,1475
239
+ openocr/openrec/postprocess/cmer_postprocess.py,sha256=1ZHnOb2RnslIwADMNhlZydMavbiZfR1xwJG37snmFYk,2843
240
+ openocr/openrec/postprocess/cppd_postprocess.py,sha256=g_hdc3gVd7y4wtrBxGd7D6hJRPW4R9pMugsateyE69g,1452
213
241
  openocr/openrec/postprocess/ctc_postprocess.py,sha256=OH7JKka1Wcsteob2TQqaXJixJ4kVCUQevkUOSaIFdfs,4025
214
- openocr/openrec/postprocess/igtr_postprocess.py,sha256=flT5843qhnB1ubaAFMC__2JF2zcUxz90Z2hexI4gxuA,3942
215
- openocr/openrec/postprocess/lister_postprocess.py,sha256=TGPbpN7sdoCA-TWTi08Mlx_w4iZdTxsKTvEH92-hxdo,2180
216
- openocr/openrec/postprocess/mgp_postprocess.py,sha256=i-w_Mx7Isk43WFTE50L5tjoRQTpVYhURT088QvqX5g4,5511
217
- openocr/openrec/postprocess/nrtr_postprocess.py,sha256=E_s8eS2cnUUbfbEEhtNO7WVtwc8PWM0ffQXGnC_b8t0,2861
218
- openocr/openrec/postprocess/smtr_postprocess.py,sha256=LQ8FI99ODhgxP1CBrupNNEWmgBGynLiGxah13pBxCBY,2539
219
- openocr/openrec/postprocess/srn_postprocess.py,sha256=1zzLm8tqNOK9mAazSPa1aVXRUqeZCBdZhKTC4raTABQ,3020
220
- openocr/openrec/postprocess/visionlan_postprocess.py,sha256=ZHQLyBTib1gIoFO-9Q-gWDT5fi61EOoEo6UINcoIqU4,3310
221
- openocr/openrec/preprocess/__init__.py,sha256=7B9XlzTs1Uoa0x8bgThHsr6JhcxBvo5LQZ7r1bO97Z0,4988
242
+ openocr/openrec/postprocess/igtr_postprocess.py,sha256=AaNtS_9PyLrzbMRURQbIvZHcwvPEOk_U1WrWWcI9LzA,3919
243
+ openocr/openrec/postprocess/lister_postprocess.py,sha256=hHLtoBCcm2cPWVeSBJ1BeFljpSm6DP1XtZo0VccXngM,2157
244
+ openocr/openrec/postprocess/mgp_postprocess.py,sha256=--oz_ToIFYJg-s8c5GLwCGz2a1nwoYsjM1oD3b5ThGc,5488
245
+ openocr/openrec/postprocess/nrtr_postprocess.py,sha256=e4F6jsvfHE7k7hMbo5we1Fk5k6ncSKs_gViyGlf7cQA,2833
246
+ openocr/openrec/postprocess/smtr_postprocess.py,sha256=qf2Ep3fWynYeAwda36yhfBBG5B_C19r1HnqHSIxBspA,2516
247
+ openocr/openrec/postprocess/srn_postprocess.py,sha256=axqCmVMzF9AHdGaHfq88kPr3mppaD4gqNzoHU4PRDG0,3006
248
+ openocr/openrec/postprocess/unirec_postprocess.py,sha256=WnzA1fHY5rH2tjctWvxUDKb0Ra1VUrkz02FT9lg4Mdo,1806
249
+ openocr/openrec/postprocess/visionlan_postprocess.py,sha256=FndhnaM7zs-Xo4LbFDxar17NSrErGOtidM_Bp90NHHQ,3287
250
+ openocr/openrec/preprocess/__init__.py,sha256=UVhIW3rmaVm9LMa7clpY6l_UgeSPTceI6MEVe32gbOg,5184
222
251
  openocr/openrec/preprocess/abinet_aug.py,sha256=kjKyx580qseDbh7JsmF-PKlWu_RXdrjDXgC2n6m6NSE,16485
223
252
  openocr/openrec/preprocess/abinet_label_encode.py,sha256=zgH8x4wO0j7oXHgW0BlHNrXUslIaQ1V9IaM2ljBIhDg,1104
224
253
  openocr/openrec/preprocess/ar_label_encode.py,sha256=f1aDRgopb1Jrq765NwkYzwWdcEVtYZvNluepAPKeM6E,1119
225
254
  openocr/openrec/preprocess/auto_augment.py,sha256=glRP1ZnAuE1wbhVi29GeJ9S5bACCuluzuqTTXS1pUj8,36049
226
255
  openocr/openrec/preprocess/cam_label_encode.py,sha256=BR3oAMUxbLwSyN89DmgA2IQjURs35t0NVGhH7D5VUVI,4696
227
- openocr/openrec/preprocess/ce_label_encode.py,sha256=eCZ0DU7jKUB_PW_g5zAESHXmJ474axpUDNQmifMhpxE,3742
256
+ openocr/openrec/preprocess/ce_label_encode.py,sha256=f_PGlRd24RyulX4uxV2WfBWHbfpaemYyewyCRgswou0,3742
228
257
  openocr/openrec/preprocess/char_label_encode.py,sha256=i8arfamrCb2STFU3nNHLkZ8Wk_thTw8J7RARySeraBA,1178
258
+ openocr/openrec/preprocess/cmer_label_encode.py,sha256=k8MIuD64e-f-gYg1hjOXaVpCOe77m5F9dLqhMqOYWfk,41541
229
259
  openocr/openrec/preprocess/cppd_label_encode.py,sha256=Fp_cS2RMMAapJUdY3UWNW6pge_5vPtJxxXEMnhUcBbc,6051
230
- openocr/openrec/preprocess/ctc_label_encode.py,sha256=F5RG2UJ__GpDjC-qAdYtGSg8664rFW1YhFSR62Ny79M,4055
231
- openocr/openrec/preprocess/dptr_label_encode.py,sha256=ntJn-IukxFGD72eSoEjIxUMNT_G3aXbP53X-5hbHPoY,6009
260
+ openocr/openrec/preprocess/ctc_label_encode.py,sha256=mMYGiv99kIf9QpfvDDY2q_9UuvIIDNBJHmZRoQRO7mA,4055
261
+ openocr/openrec/preprocess/dptr_label_encode.py,sha256=JR-IpEEQPHhoc14fmATYbxnAl7gAsTaFfa9xE4Kxxts,6140
232
262
  openocr/openrec/preprocess/ep_label_encode.py,sha256=39kAVqrUEZ0HfAy0F3iItj-jU9N6XBj7AVVlPnOZLlY,1136
233
- openocr/openrec/preprocess/igtr_label_encode.py,sha256=6ET88T4IFdZdBw-KpBlBPcu0R3QLfvkhMttVY6fAzww,16522
263
+ openocr/openrec/preprocess/igtr_label_encode.py,sha256=Z6QAd3A2Nmij6A5PTFBi3tyviavE0fAKAMw6SCZbXFY,16563
264
+ openocr/openrec/preprocess/mdiff_label_encode.py,sha256=7JFQinu51xN3FFaiG9csYK_aKGt1sQeS7OjWqfMuy4Y,13468
234
265
  openocr/openrec/preprocess/mgp_label_encode.py,sha256=LvDL0tgYBdoxHxwndhaCG-qdrYiG3nJaJbT9ptn5ez4,3441
235
266
  openocr/openrec/preprocess/parseq_aug.py,sha256=6nPLCzJkuNf24K7IlbK1u_ICykdlHDuDoPlIlD7Th5c,4712
236
- openocr/openrec/preprocess/rec_aug.py,sha256=MLGJKuUtdO8pbJ4G13PqEM8rYwUd21OvHiOnzGLjoLM,5508
237
- openocr/openrec/preprocess/resize.py,sha256=-9sjSSrdoaXBVi82IdpFH-faAnLI9JHea-JnhyxX9Is,17851
267
+ openocr/openrec/preprocess/rec_aug.py,sha256=Y9b9S_NGc-9wpqE6A7BbtKs2fAJWu9-FxOl8hK9FtSU,10534
268
+ openocr/openrec/preprocess/resize.py,sha256=77V4cXi0-Im7ylHktKC1jFEGL1hWjVPsf9XHW4qQVfs,20010
238
269
  openocr/openrec/preprocess/smtr_label_encode.py,sha256=EX4UQszj9UIqET5uLv12MRLMh_ybf2y39-f1vsZdtsw,4654
239
270
  openocr/openrec/preprocess/srn_label_encode.py,sha256=iyXC_0Bw4_gt2D-oWIcmUQvr-c5ve-cfozL6qKw5TgY,1175
271
+ openocr/openrec/preprocess/unirec_label_encode.py,sha256=zAIPi4v08B7qaLGdHZCHLBlaXOzxi4QESVFnUQX39Mw,2153
240
272
  openocr/openrec/preprocess/visionlan_label_encode.py,sha256=wg8vEolU4KHf7fnUrAD9BN16XOATXEFgTX6JStY0goU,2343
241
273
  openocr/tools/create_lmdb_dataset.py,sha256=1gnB9majff_L9BiPiA_1_B5RjzeL_tPEHQZItD6_MA0,4362
274
+ openocr/tools/download_example_images.py,sha256=wJ64s7eja3QhfKTSW0RsTYTJCD45WVeMtET4lI-9slk,9406
242
275
  openocr/tools/eval_det.py,sha256=9kJeV7hppP6EC70vUxHy1fSUdfyzlHBRMI1GAs034Iw,1013
243
276
  openocr/tools/eval_rec.py,sha256=NK6t0Qk1TIp8EfGigkncUaIzxqRmdnq2CxZb9bf7kgA,1001
244
- openocr/tools/eval_rec_all_ch.py,sha256=b0HK6UqiPtIXFwbXeHBwpuPHrN1q4_DPSH78elQD5l4,7588
277
+ openocr/tools/eval_rec_all_ch.py,sha256=VH8PMQAnx_eJGVzOBGtTR4rK98f5cBk2isNMIHrhz5Y,7588
245
278
  openocr/tools/eval_rec_all_en.py,sha256=Ilh1HBejDlCL7LTdMmUM7snh0qQuvO6kJEjOfRPZFvE,8644
246
279
  openocr/tools/eval_rec_all_long.py,sha256=B3xfqJhr_kkwBqU2mByaP4HOooQnsdGwk3kfEfbziMo,4541
247
280
  openocr/tools/eval_rec_all_long_simple.py,sha256=aulQCI9dWFZD10roJRjXol3uIgJZpmlfZkuVEUWGRw0,4724
248
281
  openocr/tools/export_rec.py,sha256=Lc0MxthLFSEl-kNyirP4EKiSo6Lr2OBHZLT6xHQPthw,3949
249
- openocr/tools/infer_det.py,sha256=yKtwsSZXzUElj0mIDuGwH00O1DOI-GpGVrVt8UcwJEs,12290
250
- openocr/tools/infer_e2e.py,sha256=AVvHruZ5mLs3coKAGbF6ov67FZq4p05XJS9c1OODLy4,17400
282
+ openocr/tools/infer_det.py,sha256=GamUEYJOTEWWHcjncqYzYC4j1LATKfPrgAvsyGVOyA4,12947
283
+ openocr/tools/infer_doc.py,sha256=ByTnFYg224eAk5UWjQyEAurjyZmiSBJxGx92ZykTPwM,39174
284
+ openocr/tools/infer_doc_onnx.py,sha256=F4ILDCi5tmC2Bb8whLLVsPTXmvokstWPm1igJH1fnjU,44220
285
+ openocr/tools/infer_e2e.py,sha256=rz1HiLr4r8_hzctdA1lz0Dx_V5GJlLr0Y58mAVsmTaA,18174
251
286
  openocr/tools/infer_e2e_parallel.py,sha256=QyeyPYsM_7K986ko1mzsgNp2PukFTfnokhYrF8D9txQ,7170
252
- openocr/tools/infer_rec.py,sha256=x0AMtJdfc1cmJbDuTriOVCBE0L51B5SFB8pUqLrIz6E,16497
287
+ openocr/tools/infer_rec.py,sha256=aS8kILu6UO7pvObaIcOJvFtU4Y39VQF4Bq7vBXFiS5k,18838
288
+ openocr/tools/infer_unirec_onnx.py,sha256=teOkCj90smL3FW8gK0PE25UcZJfBSGVcZTkisweiL9M,26373
289
+ openocr/tools/to_markdown.py,sha256=ECCooxMhn7qqZSKwaykvatfY3B0ftGgIdOmMTR1Lz7M,18565
253
290
  openocr/tools/toonnx.py,sha256=OEFnUl6U30sdgMtEaLn-9N4ItDzvwmw9oRj6KaJPn5M,2444
254
291
  openocr/tools/train_det.py,sha256=RDfsjJkfVtVJjOMUfADjqvs7571omnkkgPMYbXYkKF0,895
255
292
  openocr/tools/train_rec.py,sha256=4dlUIC_cQedDLvZXIZTq255nsNGYvlu8XteNSisO5i0,895
256
293
  openocr/tools/utility.py,sha256=nSrsrxFLE1L2OT5pxYnh2kDhDSI9xf-1dRZkZKEYS5o,1551
257
- openocr/tools/data/__init__.py,sha256=TWB2KzJGtjBicwxg9I0yN49x6OV3ahRe0H5fw4nl10k,4035
294
+ openocr/tools/data/__init__.py,sha256=D7AG-f94H8QA5JIEO1Xru7v6FYBTvvajEIdOYW3gtgY,5263
295
+ openocr/tools/data/cmer_web_dataset.py,sha256=8c61-zR6k4apfatg4Yqi-D8_SQQ84hCw32FAEkb6QkU,11518
258
296
  openocr/tools/data/collate_fn.py,sha256=kAbk98DKFgsS6jnNSlLA0uczD2ezN8TQs3VrHIN1qu8,3315
259
297
  openocr/tools/data/lmdb_dataset.py,sha256=BlN4gnPSlc27HneqEExE75BlP3r-bqxkr8g6rz8L7xU,5149
260
298
  openocr/tools/data/lmdb_dataset_test.py,sha256=A2sMXWR0y9ra1y8X9lNeaLgsfExnWnqtAVHA0yhrQ4U,6443
261
299
  openocr/tools/data/multi_scale_sampler.py,sha256=82_pkGaZiKOb_1i9_WTQK6M8noP0NPeSym5vjlx3IoQ,6722
300
+ openocr/tools/data/native_size_dataset.py,sha256=R8zktS0kVki_bvIXsXFtzdLKDykuqA8rhERm7MSG_H0,31499
301
+ openocr/tools/data/native_size_sampler.py,sha256=nctpxWhI2_QpEcHiD7zPYha2MwXe3kBjU0-L89i7TZ4,7120
262
302
  openocr/tools/data/ratio_dataset.py,sha256=sAG2BW667EedqOnPB5CwVscZ8FsrA1ljJdoCEvOYy2A,8764
263
303
  openocr/tools/data/ratio_dataset_test.py,sha256=HiSc4AXfX2wXPVcIzghtzPH6ITEt2u5E7LAnxUj6qgU,11129
264
- openocr/tools/data/ratio_dataset_tvresize.py,sha256=HzOGGGSegEgYOSJXQ3-K_NEdRHsHQZmUV9xpkNSr1q0,8627
304
+ openocr/tools/data/ratio_dataset_tvresize.py,sha256=G8KouHA9wnJnd1EP8TIz3A76JnCaUYEF9zgIcjqFUCg,8705
265
305
  openocr/tools/data/ratio_dataset_tvresize_test.py,sha256=ctfFrNG4WxMgKf_vvMnceyAEugHVZ1awzk-ZL7Fern8,11276
266
- openocr/tools/data/ratio_sampler.py,sha256=GMqTBttePNQEGO1H5DLUSSuFqzXqnbRPRfeoU8RzLkI,7928
306
+ openocr/tools/data/ratio_sampler.py,sha256=0lfq9mVLj1diuUGsRdx1fEsvZDaX5ruaV_hy0VHDVkc,7937
267
307
  openocr/tools/data/simple_dataset.py,sha256=-aAMuZ2XKiOvLH1M1Pl-qNu4PkrWAVvxoCecOuCy18Q,10571
268
308
  openocr/tools/data/strlmdb_dataset.py,sha256=lbRZCtXaApyQ-irYwDBHsWpLuTYV6HWhgnQtBUphOsQ,5256
269
309
  openocr/tools/data/text_lmdb_dataset.py,sha256=m0Qrt0s1QfO1URDPVpihOLET-iE2fNMnkLNTh1HlJNI,4850
310
+ openocr/tools/download/download_dataset.py,sha256=cLvOJq5e243B97E4N7yeMGkTfxrxq92GP5aIdKZPa4A,1208
311
+ openocr/tools/download/utils.py,sha256=yGwOJbyilKl55XyBsJOEHX972QImbWTOF8ISKOJNxYU,1177
270
312
  openocr/tools/engine/config.py,sha256=-wrG9EacI7aBfiAPDTfYu4zc5i4mcCe28zf_yoDhKzg,5462
271
- openocr/tools/engine/trainer.py,sha256=RGmZuibgCVsCcb0BiAsPRpm_Z6jmwkb7Dnd2AhZqdVg,19801
313
+ openocr/tools/engine/trainer.py,sha256=Qc3Me18zACT3EIHRpxv5k9SdAhlFoeePrX3e8xAFkZY,25855
272
314
  openocr/tools/infer/onnx_engine.py,sha256=7lYOeOjE-JZuuG1Wa2Eo0ye5pnYeQcKT_vsIQPDDuLw,2002
273
315
  openocr/tools/infer/predict_rec.py,sha256=AtttIh_iltb1zxwdn5OzAfvkJUnEGz97aShjGKP4aeU,5078
274
316
  openocr/tools/infer/utility.py,sha256=dDCsOGktKwtmZ7_ppMVWlHkMXOkhKn2aUhb9Ys0fOeY,8313
275
317
  openocr/tools/utils/EN_symbol_dict.txt,sha256=94aZvqMXUlgPGDRP0sJ2Fx0f2CaAlLZVRS9wP-lB5uA,187
276
318
  openocr/tools/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
277
- openocr/tools/utils/ckpt.py,sha256=e3YJElvZYklzbbRLjFRyIShjJi6Jpt23eIPV9Nasar0,2927
319
+ openocr/tools/utils/ckpt.py,sha256=VyqfdRebmXiRnEzIvqm5FbeAvb53M-mrCWSzKMRdIeg,3366
278
320
  openocr/tools/utils/dict90.txt,sha256=tWww2Rgi6CfAF-tUZ6CEvmsv3doJHsqLjQ7PvvMK2HI,179
279
321
  openocr/tools/utils/en_dict.txt,sha256=VmLfnS0D8OjKDTsGSdasurkEtqFLPTUhRjxxw3xmjOM,190
280
322
  openocr/tools/utils/gen_label.py,sha256=8hhgDFGAXGeAyE7HkGVbTZJe7_vVzkvubV5LVCjigKg,2383
@@ -332,8 +374,10 @@ openocr/tools/utils/e2e_utils/extract_textpoint_fast.py,sha256=nt-k_zniEKEpRI9fs
332
374
  openocr/tools/utils/e2e_utils/extract_textpoint_slow.py,sha256=dVtbF8W5Mdcd9ylbeEPxKY5-z2yHBbApyAAmxPc8sH4,21155
333
375
  openocr/tools/utils/e2e_utils/pgnet_pp_utils.py,sha256=j2FVjdxF_gSEYiwP75swTbgu9Sr1pq4V09qpwalhtFk,5845
334
376
  openocr/tools/utils/e2e_utils/visual.py,sha256=ZN0uY6fPm8NDexhOSmFObSKEmJQ-Dp_OyR93sFK7RiM,4698
335
- openocr_python-0.0.9.dist-info/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
336
- openocr_python-0.0.9.dist-info/METADATA,sha256=WkMicoeU7Mf6Lc4rQKTJjzhYblW8dJmzplXOzyoMIQU,4383
337
- openocr_python-0.0.9.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
338
- openocr_python-0.0.9.dist-info/top_level.txt,sha256=i0EQuKjljQIUl8B7AmOrP3pskzeWU4hy2R9Or-vFkec,8
339
- openocr_python-0.0.9.dist-info/RECORD,,
377
+ openocr/tools/utils/opendoc_onnx_utils/utils.py,sha256=eXd8uHxKm9Pp5CRQtiI21JyoeDH69j2JHBigCU7tBsU,34429
378
+ openocr_python-0.1.0.dev0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
379
+ openocr_python-0.1.0.dev0.dist-info/METADATA,sha256=1itTPHccGfmuUa1NBH-90dT6AmbXSYMFPE7QbARENpo,8951
380
+ openocr_python-0.1.0.dev0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
381
+ openocr_python-0.1.0.dev0.dist-info/entry_points.txt,sha256=F8p9FushuZ_a4jtFzZeC-yc1EBdK1gEtRXiSJCSRrgM,49
382
+ openocr_python-0.1.0.dev0.dist-info/top_level.txt,sha256=i0EQuKjljQIUl8B7AmOrP3pskzeWU4hy2R9Or-vFkec,8
383
+ openocr_python-0.1.0.dev0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ openocr = openocr.openocr:main