Image-to-Text
PaddleOCR
Safetensors
English
Chinese
pp_ocrv5_mobile_det
OCR
PaddlePaddle
textline_detection
Instructions to use tomsanbear/pp-ocrv5-mobile-det with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PaddleOCR
How to use tomsanbear/pp-ocrv5-mobile-det with PaddleOCR:
# 1. See https://www.paddlepaddle.org.cn/en/install to install paddlepaddle # 2. pip install paddleocr from paddleocr import TextDetection model = TextDetection(model_name="pp-ocrv5-mobile-det") output = model.predict(input="path/to/image.png", batch_size=1) for res in output: res.print() res.save_to_img(save_path="./output/") res.save_to_json(save_path="./output/res.json") - Notebooks
- Google Colab
- Kaggle
| { | |
| "architecture_id": "ocr.ppocr-dbnet", | |
| "bundle_id": "ocr/detector/ppocr-dbnet", | |
| "license": "Apache-2.0", | |
| "parity_source": { | |
| "files": [ | |
| "det_mobile.onnx", | |
| "det.json", | |
| "ocr_model/ocr_det.axmodel" | |
| ], | |
| "repo": "AXERA-TECH/PPOCR_v5", | |
| "revision": "2a3427a63c410ee6982250769126328ad85eb24a" | |
| }, | |
| "preprocessing": { | |
| "known_mismatches": [ | |
| "source inference.yml uses DetResizeForTest resize_long=960, while current markers preprocessing direct-stretches to 960x960", | |
| "source preprocessor_config.json and inference.yml list mean/std in opposite channel orders; impl-candle-ocr-detectors must resolve this against source or legacy parity fixtures before changing constants", | |
| "source model names the main input pixel_values in Transformers and x in Paddle inference metadata" | |
| ], | |
| "markers_legacy_compat": { | |
| "channel_order": "bgr", | |
| "input_shape": [ | |
| 1, | |
| 3, | |
| 960, | |
| 960 | |
| ], | |
| "mean_u8": [ | |
| 123.675, | |
| 116.28, | |
| 103.53 | |
| ], | |
| "output": "probability_map", | |
| "postprocess": "decode_prob_map", | |
| "resize": "direct-stretch-to-square", | |
| "std_u8": [ | |
| 58.395, | |
| 57.12, | |
| 57.375 | |
| ] | |
| }, | |
| "source_inference_yml": { | |
| "dynamic_shapes": [ | |
| [ | |
| 1, | |
| 3, | |
| 32, | |
| 32 | |
| ], | |
| [ | |
| 1, | |
| 3, | |
| 736, | |
| 736 | |
| ], | |
| [ | |
| 1, | |
| 3, | |
| 4000, | |
| 4000 | |
| ] | |
| ], | |
| "normalize_mean": [ | |
| 0.485, | |
| 0.456, | |
| 0.406 | |
| ], | |
| "normalize_order": "hwc", | |
| "normalize_scale": "1./255.", | |
| "normalize_std": [ | |
| 0.229, | |
| 0.224, | |
| 0.225 | |
| ], | |
| "paddle_input_name": "x", | |
| "resize_long": 960, | |
| "to_chw": true | |
| }, | |
| "source_processor": { | |
| "channel_first": false, | |
| "do_normalize": true, | |
| "do_rescale": true, | |
| "do_resize": true, | |
| "image_mean": [ | |
| 0.406, | |
| 0.456, | |
| 0.485 | |
| ], | |
| "image_mode": "BGR", | |
| "image_std": [ | |
| 0.225, | |
| 0.224, | |
| 0.229 | |
| ], | |
| "limit_side_len": 960, | |
| "max_side_limit": 4000, | |
| "model_input_names": [ | |
| "pixel_values", | |
| "original_image_size" | |
| ], | |
| "rescale_factor": 0.00392156862745098 | |
| } | |
| }, | |
| "provenance": { | |
| "conversion": "native safetensors copied byte-for-byte; metadata generated", | |
| "runtime_onnx": "false", | |
| "source_model_class": "PPOCRv5MobileDetForObjectDetection", | |
| "source_output": "sigmoid probability map, not logits", | |
| "source_paddle_input_name": "x", | |
| "source_transformers_input_name": "pixel_values", | |
| "source_transformers_output_name": "last_hidden_state" | |
| }, | |
| "required_files": [ | |
| { | |
| "path": "model.safetensors", | |
| "role": "weights" | |
| }, | |
| { | |
| "path": "config.json", | |
| "role": "config" | |
| }, | |
| { | |
| "path": "preprocessor_config.json", | |
| "role": "preprocessor" | |
| }, | |
| { | |
| "path": "inference.yml", | |
| "role": "source-inference-config" | |
| }, | |
| { | |
| "path": "README.md", | |
| "role": "source-card" | |
| }, | |
| { | |
| "path": "ocr_pipeline.py", | |
| "role": "source-example" | |
| }, | |
| { | |
| "path": "tensor_map.json", | |
| "role": "tensor-map" | |
| }, | |
| { | |
| "path": "validation.json", | |
| "role": "validation" | |
| } | |
| ], | |
| "schema_version": 1, | |
| "source": { | |
| "files": [ | |
| "README.md", | |
| "config.json", | |
| "inference.yml", | |
| "model.safetensors", | |
| "ocr_pipeline.py", | |
| "preprocessor_config.json" | |
| ], | |
| "repo": "PaddlePaddle/PP-OCRv5_mobile_det_safetensors", | |
| "revision": "c5041d225cf951ff06900ab81a3c7d543c45e2ad" | |
| }, | |
| "tensor_contract": { | |
| "inputs": [ | |
| { | |
| "aliases": [ | |
| "x" | |
| ], | |
| "dtype": "f32", | |
| "name": "pixel_values", | |
| "shape": [ | |
| "batch", | |
| 3, | |
| 960, | |
| 960 | |
| ] | |
| } | |
| ], | |
| "outputs": [ | |
| { | |
| "aliases": [ | |
| "last_hidden_state" | |
| ], | |
| "dtype": "f32", | |
| "name": "probability_map", | |
| "shape": [ | |
| "batch", | |
| 1, | |
| 960, | |
| 960 | |
| ] | |
| } | |
| ] | |
| }, | |
| "validated_runtime": [ | |
| { | |
| "device": "cpu", | |
| "dtype": "f32" | |
| } | |
| ] | |
| } | |