Commit Graph
1536 Commits
Author SHA1 Message Date
SWHL b73ec51ecf feat: add PP-OCRv5 cls module 2026-04-07 17:35:01 +08:00
SWHL 9023589c86 feat: add PP-OCRv5 cls module 2026-04-07 17:34:15 +08:00
SWHL 5ef452516d fix: added missing package import 2026-03-19 17:36:24 +08:00
locviettriandClaude Opus 4.6 1f78b76eb4 feat(docker): add per-engine Docker dev environments (#649)
Replace the single legacy Dockerfile (rapidocr_api only) with 7
per-engine development images covering all supported inference backends:

- onnxruntime-cpu: ONNX Runtime on CPU (python:3.10-slim-bookworm)
- onnxruntime-gpu: ONNX Runtime with CUDA (nvidia/cuda:12.4.1)
- tensorrt: NVIDIA TensorRT (nvcr.io/nvidia/deepstream:7.0-gc-triton-devel)
- paddle: PaddlePaddle CPU
- openvino: Intel OpenVINO
- pytorch: PyTorch CPU
- mnn: Alibaba MNN

Infrastructure:
- Dockerfile.base: shared foundation for CPU variants
- docker-compose.yaml: all 7 services with shared model volume
- Makefile: make build-*/test-*/shell-* convenience commands
- .dockerignore: excludes .git, models, build artifacts

Key design decisions:
- PYTHONPATH-based imports (setup.py incompatible with pip editable install)
- Named volume (rapidocr-models) for persistent model cache across rebuilds
- Source bind-mounted at runtime for live editing
- tensorrt pinned to 8.6.x + cuda-python 12.x (matching DeepStream 7.0)

All 7 images built and tested with full OCR pipeline inference.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 17:29:41 +08:00
SWHL 8ea96265b5 feat(python): add model_root_dir and download_models (API + CLI) 2026-03-19 17:27:44 +08:00
SWHL 6e829e313e chore: update backer url 2026-03-05 14:18:57 +08:00
SWHL 878cc1167c chore: update backer list 2026-03-05 14:17:30 +08:00
SWHL f7961d3d2c chore: update default_model url path v3.7.0 2026-03-04 23:17:44 +08:00
HighDoping 597fe059ac feat: add experimental MPS support to PyTorch backend. (#639) 2026-03-04 16:32:50 +08:00
SWHL 4553a88757 docs: update downloads badge 2026-03-02 08:00:11 +08:00
SWHL 5aa9079e75 refactor: standardize public interface with __all__
Close issue #646
2026-02-28 23:37:25 +08:00
HighDoping 7c880e8ac9 feat(inference_engine): add experimental CoreML support for onnxruntime (#634)
* Add CoreML support for onnxruntime.

* Add more CoreML execution provider configs.
2026-02-28 18:25:00 +08:00
SWHL 42150aae6d docs: update downloads badge 2026-02-27 10:34:39 +08:00
SWHL 289ca3b40d docs: update README 2026-02-27 09:13:01 +08:00
SWHL 9d12451b7b refactor(openvino): remove dict_url from model configs 2026-02-26 19:42:45 +08:00
SWHL 80bbdc9615 test(tensorrt): skip TensorRT tests when not installed and exclude from parametrized suites 2026-02-26 17:34:30 +08:00
SWHL e549f7eacc feat(inference): add get_character_list abstract method to InferSession 2026-02-26 17:32:47 +08:00
SWHL 106d4d189d fix(openvino): fixed the missing List import 2026-02-26 17:07:35 +08:00
SWHL 9108b617ab feat(openvino): support retrieving character list from model runtime info 2026-02-25 19:00:08 +08:00
SWHL 7ac11d768b chore: add discord webhook 2026-02-13 10:44:10 +08:00
SWHL 84b6b342fc chore: update cliff template 2026-02-13 10:39:18 +08:00
SWHL 1f106db4ad docs: update style 2026-02-06 20:15:11 +08:00
SWHL ac63a90b84 docs: add CONTRIBUTING 2026-02-06 18:42:35 +08:00
locviettriandCursor b132a915e7 feat(inference_engine): add TensorRT engine support (#623)
* feat(inference_engine): add TensorRT engine support

- Add TensorRT inference session with dynamic shape support
- Implement automatic engine building and caching per GPU architecture
- Add pre-allocated buffers with pinned memory optimization
- Support FP16/FP32/INT8 precision modes
- Add optimization profiles for det/rec/cls models
- Include comprehensive error handling and resource cleanup
- Add unit tests for TensorRT engine (skipped when unavailable)
- Add TensorRT configuration section in config.yaml

* fix(tensorrt): dynamically allocate output buffers to prevent overflow

* Update test_engine.py with TensorRT support final version

* feat(tensorrt): add model_type to engine cache key

- Include model_type in TensorRT engine cache key generation
- Ensures proper cache differentiation based on model_type

* fix(tensorrt): update maximum shape configurations for input and output tensors

- Increased max_shape values in config.yaml and engine_builder.py to 2048 for both detection and recognition tasks.
- Updated default maximum shapes in memory_utils.py to reflect the new limits for input and output buffers.

* feat(tensorrt): implement square input handling for MULTI models

- Added functionality to check if the model requires square input based on configuration.
- Implemented padding of input to square shape and cropping of output back to original dimensions.
- Introduced methods to determine maximum profile size and handle square input requirements for TensorRT inference.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 08:09:21 +08:00
SWHL 771b558cf6 chore: update Discord invite link 2026-02-02 11:17:24 +08:00
SWHL 009a210a79 chore: update default image url 2026-02-01 14:36:32 +08:00
SWHL 75d0d159d2 chore: update model list to direct version v3.6.0 2026-01-28 22:32:35 +08:00
SWHL 12f1bf9594 ci(mnn): add MNN dependency 2026-01-28 22:25:51 +08:00
SWHL 3a4a91020b test(mnn): add mnn unit testings 2026-01-28 22:18:58 +08:00
SWHL 0ae0375710 feat(mnn): add mnn model list 2026-01-28 22:18:05 +08:00
SWHL 58bf4f81cc refactor: add tip when model_dict is None
Closes #628
2026-01-28 22:11:01 +08:00
SWHL 402aadb121 refactor(openvino): fix openvion error typo error 2026-01-28 21:40:08 +08:00
locviettri 4818b4f1e1 refactor: modularize MNN and OpenVINO Inference Engines (#629)
* refactor: modularize mnn and openvino inference engines

* Revert test_engine.py to original version
2026-01-28 21:35:15 +08:00
narcissus 86c527e14b feat(engine): 引入 MNN 推理后端,丰富部署生态 (#613) 2026-01-22 09:41:41 +08:00
moesnow 4c39ce92fd fix: replace deprecated openvino.runtime import (#626) 2026-01-21 08:17:41 +08:00
SWHL 0debb66e0f docs: fix backer syntax error 2026-01-12 10:06:23 +08:00
SWHL 9b8f74bc63 docs: add backer 2026-01-08 09:23:15 +08:00
SWHL d37b37f62b docs: add Discord link 2026-01-07 10:23:18 +08:00
SWHL efb0ed414f ci: add python-bidi dependence v3.5.0 2026-01-06 22:30:41 +08:00
SWHL 7d88c84acf fix(inference_engine): fix model type comparison and improve error handling
Closed #565
2026-01-06 21:57:34 +08:00
SWHL 5cd7de1e47 refactor: refactor paddle inference code (#622)
* refactor: refactor paddle inference code

* fix(paddle): correct typo and improve device env setup
2026-01-05 21:19:25 +08:00
SWHL 09dbaf5ae5 refactor: remove unused parameters from calc_word_boxes 2025-12-26 22:07:10 +08:00
SWHL 32c705b99c fix: fixed error of showing cls result (#621)
* fix: fixed error of showing cls result

Related #616

* refactor(cls/utils): use cv2.ROTATE_180 and add type hint
2025-12-26 21:51:16 +08:00
SWHL 8487133fc5 feat: update five multi language files (#619)
* feat: update five multi language files

* feat(rec): enable RTL text display for Arabic

* test(rec): add arabic, cyrillic, devanagari, ta and te unit testings

* test(rec): remove duplicate cyrillic unit testing

* feat(rec): update url to v3.5.0
2025-12-26 21:24:58 +08:00
SWHL 2af4d3eed6 docs: update link to the repo being used 2025-12-19 08:21:13 +08:00
SWHL df8c571f1c fix: correct incorrect character coordinates in returned data (#614)
* chore: update files

* fix: correct incorrect character coordinates in returned data

Related #612

* chore: restore demo

* fix(utils): add missing type annotations to filter_by_indices and is_chinese_char
v3.4.5
2025-12-18 08:20:43 +08:00
SWHL 6ff07a57f8 fix: sync filtering of scores with word_results
Closes #608
v3.4.3
2025-12-09 21:29:26 +08:00
SWHL c65d816b5b feat: replace flawed RGBA-to-BGA conversion with auto-contrast background blending 2025-12-09 21:11:44 +08:00
SWHL 67222d0688 chore: move README-CN.md out of docs directory 2025-12-08 21:01:31 +08:00
SWHL d2e7e433c5 docs(readme): add trending badge 2025-12-05 22:19:04 +08:00