├── .clang_format.hook
├── .github
├── ISSUE_TEMPLATE
│ ├── bug-report.yml
│ └── config.yml
├── dependabot.yml
└── workflows
│ ├── build_publish_develop_docs.yml
│ ├── build_publish_release_docs.yml
│ ├── close_inactive_issues.yaml
│ ├── codestyle.yml
│ ├── link-check.yml
│ ├── python-publish.yml
│ ├── test_gpu.yml
│ └── tests.yaml
├── .gitignore
├── .lycheeignore
├── .pre-commit-config.yaml
├── .style.yapf
├── CNAME
├── LICENSE
├── MANIFEST.in
├── README.md
├── applications
└── README.md
├── awesome_projects.md
├── benchmark
├── PaddleOCR_DBNet
│ ├── .gitattributes
│ ├── .gitignore
│ ├── LICENSE.md
│ ├── README.MD
│ ├── base
│ │ ├── __init__.py
│ │ ├── base_dataset.py
│ │ └── base_trainer.py
│ ├── config
│ │ ├── SynthText.yaml
│ │ ├── SynthText_resnet18_FPN_DBhead_polyLR.yaml
│ │ ├── icdar2015.yaml
│ │ ├── icdar2015_dcn_resnet18_FPN_DBhead_polyLR.yaml
│ │ ├── icdar2015_resnet18_FPN_DBhead_polyLR.yaml
│ │ ├── icdar2015_resnet18_FPN_DBhead_polyLR_finetune.yaml
│ │ ├── icdar2015_resnet50_FPN_DBhead_polyLR.yaml
│ │ ├── open_dataset.yaml
│ │ ├── open_dataset_dcn_resnet50_FPN_DBhead_polyLR.yaml
│ │ ├── open_dataset_resnest50_FPN_DBhead_polyLR.yaml
│ │ └── open_dataset_resnet18_FPN_DBhead_polyLR.yaml
│ ├── data_loader
│ │ ├── __init__.py
│ │ ├── dataset.py
│ │ └── modules
│ │ │ ├── __init__.py
│ │ │ ├── augment.py
│ │ │ ├── iaa_augment.py
│ │ │ ├── make_border_map.py
│ │ │ ├── make_shrink_map.py
│ │ │ └── random_crop_data.py
│ ├── environment.yml
│ ├── eval.sh
│ ├── generate_lists.sh
│ ├── imgs
│ │ └── paper
│ │ │ └── db.jpg
│ ├── models
│ │ ├── __init__.py
│ │ ├── backbone
│ │ │ ├── __init__.py
│ │ │ └── resnet.py
│ │ ├── basic.py
│ │ ├── head
│ │ │ ├── DBHead.py
│ │ │ └── __init__.py
│ │ ├── losses
│ │ │ ├── DB_loss.py
│ │ │ ├── __init__.py
│ │ │ └── basic_loss.py
│ │ ├── model.py
│ │ └── neck
│ │ │ ├── FPN.py
│ │ │ └── __init__.py
│ ├── multi_gpu_train.sh
│ ├── post_processing
│ │ ├── __init__.py
│ │ └── seg_detector_representer.py
│ ├── predict.sh
│ ├── requirement.txt
│ ├── single_gpu_train.sh
│ ├── test
│ │ └── README.MD
│ ├── test_tipc
│ │ ├── benchmark_train.sh
│ │ ├── common_func.sh
│ │ ├── configs
│ │ │ └── det_res50_db
│ │ │ │ └── train_infer_python.txt
│ │ ├── prepare.sh
│ │ └── test_train_inference_python.sh
│ ├── tools
│ │ ├── __init__.py
│ │ ├── eval.py
│ │ ├── export_model.py
│ │ ├── infer.py
│ │ ├── predict.py
│ │ └── train.py
│ ├── trainer
│ │ ├── __init__.py
│ │ └── trainer.py
│ └── utils
│ │ ├── __init__.py
│ │ ├── cal_recall
│ │ ├── __init__.py
│ │ ├── rrc_evaluation_funcs.py
│ │ └── script.py
│ │ ├── compute_mean_std.py
│ │ ├── make_trainfile.py
│ │ ├── metrics.py
│ │ ├── ocr_metric
│ │ ├── __init__.py
│ │ └── icdar2015
│ │ │ ├── __init__.py
│ │ │ ├── detection
│ │ │ ├── __init__.py
│ │ │ ├── deteval.py
│ │ │ ├── icdar2013.py
│ │ │ ├── iou.py
│ │ │ └── mtwi2018.py
│ │ │ └── quad_metric.py
│ │ ├── profiler.py
│ │ ├── schedulers.py
│ │ └── util.py
├── analysis.py
├── readme.md
├── run_benchmark_det.sh
└── run_det.sh
├── configs
├── cls
│ ├── ch_PP-OCRv3
│ │ └── ch_PP-OCRv3_rotnet.yml
│ └── cls_mv3.yml
├── det
│ ├── PP-OCRv3
│ │ ├── PP-OCRv3_det_cml.yml
│ │ ├── PP-OCRv3_det_dml.yml
│ │ ├── PP-OCRv3_mobile_det.yml
│ │ └── PP-OCRv3_server_det.yml
│ ├── PP-OCRv4
│ │ ├── PP-OCRv4_det_cml.yml
│ │ ├── PP-OCRv4_mobile_det.yml
│ │ ├── PP-OCRv4_mobile_seal_det.yml
│ │ ├── PP-OCRv4_server_det.yml
│ │ └── PP-OCRv4_server_seal_det.yml
│ ├── PP-OCRv5
│ │ ├── PP-OCRv5_mobile_det.yml
│ │ └── PP-OCRv5_server_det.yml
│ ├── ch_PP-OCRv2
│ │ ├── ch_PP-OCRv2_det_cml.yml
│ │ ├── ch_PP-OCRv2_det_distill.yml
│ │ ├── ch_PP-OCRv2_det_dml.yml
│ │ └── ch_PP-OCRv2_det_student.yml
│ ├── ch_ppocr_v2.0
│ │ ├── ch_det_mv3_db_v2.0.yml
│ │ └── ch_det_res18_db_v2.0.yml
│ ├── det_mv3_db.yml
│ ├── det_mv3_east.yml
│ ├── det_mv3_pse.yml
│ ├── det_r18_vd_ct.yml
│ ├── det_r50_db++_icdar15.yml
│ ├── det_r50_db++_td_tr.yml
│ ├── det_r50_drrg_ctw.yml
│ ├── det_r50_vd_db.yml
│ ├── det_r50_vd_dcn_fce_ctw.yml
│ ├── det_r50_vd_east.yml
│ ├── det_r50_vd_pse.yml
│ ├── det_r50_vd_sast_icdar15.yml
│ ├── det_r50_vd_sast_totaltext.yml
│ ├── det_repsvtr_db.yml
│ └── det_res18_db_v2.0.yml
├── e2e
│ └── e2e_r50_vd_pg.yml
├── kie
│ ├── layoutlm_series
│ │ ├── re_layoutlmv2_xfund_zh.yml
│ │ ├── re_layoutxlm_xfund_zh.yml
│ │ ├── ser_layoutlm_xfund_zh.yml
│ │ ├── ser_layoutlmv2_xfund_zh.yml
│ │ └── ser_layoutxlm_xfund_zh.yml
│ ├── sdmgr
│ │ └── kie_unet_sdmgr.yml
│ └── vi_layoutxlm
│ │ ├── re_vi_layoutxlm_xfund_zh.yml
│ │ ├── re_vi_layoutxlm_xfund_zh_udml.yml
│ │ ├── ser_vi_layoutxlm_xfund_zh.yml
│ │ └── ser_vi_layoutxlm_xfund_zh_udml.yml
├── rec
│ ├── LaTeX_OCR_rec.yaml
│ ├── PP-FormuaNet
│ │ ├── PP-FormulaNet-L.yaml
│ │ ├── PP-FormulaNet-S.yaml
│ │ ├── PP-FormulaNet_plus-L.yaml
│ │ ├── PP-FormulaNet_plus-M.yaml
│ │ └── PP-FormulaNet_plus-S.yaml
│ ├── PP-OCRv3
│ │ ├── PP-OCRv3_mobile_rec.yml
│ │ ├── PP-OCRv3_mobile_rec_distillation.yml
│ │ ├── en_PP-OCRv3_mobile_rec.yml
│ │ └── multi_language
│ │ │ ├── .gitkeep
│ │ │ ├── arabic_PP-OCRv3_mobile_rec.yml
│ │ │ ├── chinese_cht_PP-OCRv3_mobile_rec.yaml
│ │ │ ├── cyrillic_PP-OCRv3_mobile_rec.yml
│ │ │ ├── devanagari_PP-OCRv3_mobile_rec.yml
│ │ │ ├── japan_PP-OCRv3_mobile_rec.yml
│ │ │ ├── ka_PP-OCRv3_mobile_rec.yml
│ │ │ ├── korean_PP-OCRv3_mobile_rec.yml
│ │ │ ├── latin_PP-OCRv3_mobile_rec.yml
│ │ │ ├── ta_PP-OCRv3_mobile_rec.yml
│ │ │ └── te_PP-OCRv3_mobile_rec.yml
│ ├── PP-OCRv4
│ │ ├── PP-OCRv4_mobile_rec.yml
│ │ ├── PP-OCRv4_mobile_rec_ampO2_ultra.yml
│ │ ├── PP-OCRv4_mobile_rec_distillation.yml
│ │ ├── PP-OCRv4_mobile_rec_fp32_ultra.yml
│ │ ├── PP-OCRv4_server_rec.yml
│ │ ├── PP-OCRv4_server_rec_ampO2_ultra.yml
│ │ ├── PP-OCRv4_server_rec_doc.yml
│ │ ├── PP-OCRv4_server_rec_fp32_ultra.yml
│ │ ├── ch_PP-OCRv4_rec_svtr_large.yml
│ │ └── en_PP-OCRv4_mobile_rec.yml
│ ├── PP-OCRv5
│ │ ├── PP-OCRv5_mobile_rec.yml
│ │ ├── PP-OCRv5_server_rec.yml
│ │ └── multi_language
│ │ │ ├── arabic_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── cyrillic_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── devanagari_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── el_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── en_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── eslav_PP-OCRv5_mobile_rec.yml
│ │ │ ├── korean_PP-OCRv5_mobile_rec.yml
│ │ │ ├── latin_PP-OCRv5_mobile_rec.yml
│ │ │ ├── ta_PP-OCRv5_mobile_rec.yaml
│ │ │ ├── te_PP-OCRv5_mobile_rec.yaml
│ │ │ └── th_PP-OCRv5_mobile_rec.yaml
│ ├── SVTRv2
│ │ ├── ch_RepSVTR_rec.yml
│ │ ├── ch_RepSVTR_rec_gtc.yml
│ │ ├── ch_SVTRv2_rec.yml
│ │ ├── ch_SVTRv2_rec_distillation.yml
│ │ ├── ch_SVTRv2_rec_gtc.yml
│ │ └── ch_SVTRv2_rec_gtc_distill.yml
│ ├── UniMERNet.yaml
│ ├── ch_PP-OCRv2
│ │ ├── ch_PP-OCRv2_rec.yml
│ │ ├── ch_PP-OCRv2_rec_distillation.yml
│ │ └── ch_PP-OCRv2_rec_enhanced_ctc_loss.yml
│ ├── ch_ppocr_v2.0
│ │ ├── rec_chinese_common_train_v2.0.yml
│ │ └── rec_chinese_lite_train_v2.0.yml
│ ├── multi_language
│ │ ├── generate_multi_language_configs.py
│ │ ├── rec_arabic_lite_train.yml
│ │ ├── rec_cyrillic_lite_train.yml
│ │ ├── rec_devanagari_lite_train.yml
│ │ ├── rec_en_number_lite_train.yml
│ │ ├── rec_french_lite_train.yml
│ │ ├── rec_german_lite_train.yml
│ │ ├── rec_hebrew_lite_train.yml
│ │ ├── rec_japan_lite_train.yml
│ │ ├── rec_korean_lite_train.yml
│ │ ├── rec_latin_lite_train.yml
│ │ ├── rec_multi_language_lite_train.yml
│ │ ├── rec_samaritan_lite_train.yml
│ │ └── rec_syriac_lite_train.yml
│ ├── rec_d28_can.yml
│ ├── rec_efficientb3_fpn_pren.yml
│ ├── rec_icdar15_train.yml
│ ├── rec_mtb_nrtr.yml
│ ├── rec_mv3_none_bilstm_ctc.yml
│ ├── rec_mv3_none_none_ctc.yml
│ ├── rec_mv3_tps_bilstm_att.yml
│ ├── rec_mv3_tps_bilstm_ctc.yml
│ ├── rec_r31_robustscanner.yml
│ ├── rec_r31_sar.yml
│ ├── rec_r32_gaspin_bilstm_att.yml
│ ├── rec_r34_vd_none_bilstm_ctc.yml
│ ├── rec_r34_vd_none_none_ctc.yml
│ ├── rec_r34_vd_tps_bilstm_att.yml
│ ├── rec_r34_vd_tps_bilstm_ctc.yml
│ ├── rec_r45_abinet.yml
│ ├── rec_r45_visionlan.yml
│ ├── rec_r50_fpn_srn.yml
│ ├── rec_resnet_rfl_att.yml
│ ├── rec_resnet_rfl_visual.yml
│ ├── rec_resnet_stn_bilstm_att.yml
│ ├── rec_satrn.yml
│ ├── rec_svtrnet.yml
│ ├── rec_svtrnet_ch.yml
│ ├── rec_svtrnet_cppd_base_ch.yml
│ ├── rec_svtrnet_cppd_base_en.yml
│ ├── rec_vit_parseq.yml
│ └── rec_vitstr_none_ce.yml
├── sr
│ ├── sr_telescope.yml
│ └── sr_tsrn_transformer_strock.yml
└── table
│ ├── SLANeXt_wired.yml
│ ├── SLANeXt_wireless.yml
│ ├── SLANet.yml
│ ├── SLANet_lcnetv2.yml
│ ├── SLANet_plus.yml
│ ├── table_master.yml
│ └── table_mv3.yml
├── deploy
├── README.md
├── README_ch.md
├── android_demo
│ ├── .gitignore
│ ├── README.md
│ ├── app
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ ├── androidTest
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baidu
│ │ │ │ └── paddle
│ │ │ │ └── lite
│ │ │ │ └── demo
│ │ │ │ └── ocr
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ │ └── images
│ │ │ │ │ ├── det_0.jpg
│ │ │ │ │ ├── det_180.jpg
│ │ │ │ │ ├── det_270.jpg
│ │ │ │ │ ├── det_90.jpg
│ │ │ │ │ ├── rec_0.jpg
│ │ │ │ │ ├── rec_0_180.jpg
│ │ │ │ │ ├── rec_1.jpg
│ │ │ │ │ └── rec_1_180.jpg
│ │ │ ├── cpp
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── common.h
│ │ │ │ ├── native.cpp
│ │ │ │ ├── native.h
│ │ │ │ ├── ocr_clipper.cpp
│ │ │ │ ├── ocr_clipper.hpp
│ │ │ │ ├── ocr_cls_process.cpp
│ │ │ │ ├── ocr_cls_process.h
│ │ │ │ ├── ocr_crnn_process.cpp
│ │ │ │ ├── ocr_crnn_process.h
│ │ │ │ ├── ocr_db_post_process.cpp
│ │ │ │ ├── ocr_db_post_process.h
│ │ │ │ ├── ocr_ppredictor.cpp
│ │ │ │ ├── ocr_ppredictor.h
│ │ │ │ ├── ppredictor.cpp
│ │ │ │ ├── ppredictor.h
│ │ │ │ ├── predictor_input.cpp
│ │ │ │ ├── predictor_input.h
│ │ │ │ ├── predictor_output.cpp
│ │ │ │ ├── predictor_output.h
│ │ │ │ ├── preprocess.cpp
│ │ │ │ └── preprocess.h
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── baidu
│ │ │ │ │ └── paddle
│ │ │ │ │ └── lite
│ │ │ │ │ └── demo
│ │ │ │ │ └── ocr
│ │ │ │ │ ├── AppCompatPreferenceActivity.java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ ├── OCRPredictorNative.java
│ │ │ │ │ ├── OcrResultModel.java
│ │ │ │ │ ├── Predictor.java
│ │ │ │ │ ├── SettingsActivity.java
│ │ │ │ │ └── Utils.java
│ │ │ └── res
│ │ │ │ ├── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── drawable
│ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── layout
│ │ │ │ └── activity_main.xml
│ │ │ │ ├── menu
│ │ │ │ └── menu_action_options.xml
│ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── values
│ │ │ │ ├── arrays.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ │ └── xml
│ │ │ │ ├── file_paths.xml
│ │ │ │ └── settings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── baidu
│ │ │ └── paddle
│ │ │ └── lite
│ │ │ └── demo
│ │ │ └── ocr
│ │ │ └── ExampleUnitTest.java
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── avh
│ ├── .gitignore
│ ├── Makefile
│ ├── README.md
│ ├── README_ch.md
│ ├── arm-none-eabi-gcc.cmake
│ ├── configure_avh.sh
│ ├── convert_image.py
│ ├── corstone300.ld
│ ├── imgs_words_en
│ │ ├── word_10.png
│ │ └── word_116.png
│ ├── include
│ │ ├── crt_config.h
│ │ └── tvm_runtime.h
│ ├── requirements.txt
│ ├── run_demo.sh
│ └── src
│ │ └── demo_bare_metal.c
├── cpp_infer
│ ├── CMakeLists.txt
│ ├── THIRD_PARTY_LICENSES
│ │ └── tensorRT_Pro
│ │ │ └── LICENSE
│ ├── cli.cc
│ ├── src
│ │ ├── api
│ │ │ ├── models
│ │ │ │ ├── doc_img_orientation_classification.cc
│ │ │ │ ├── doc_img_orientation_classification.h
│ │ │ │ ├── text_detection.cc
│ │ │ │ ├── text_detection.h
│ │ │ │ ├── text_image_unwarping.cc
│ │ │ │ ├── text_image_unwarping.h
│ │ │ │ ├── text_recognition.cc
│ │ │ │ ├── text_recognition.h
│ │ │ │ ├── textline_orientation_classification.cc
│ │ │ │ └── textline_orientation_classification.h
│ │ │ └── pipelines
│ │ │ │ ├── base.h
│ │ │ │ ├── doc_preprocessor.cc
│ │ │ │ ├── doc_preprocessor.h
│ │ │ │ ├── ocr.cc
│ │ │ │ └── ocr.h
│ │ ├── base
│ │ │ ├── base_batch_sampler.cc
│ │ │ ├── base_batch_sampler.h
│ │ │ ├── base_cv_result.h
│ │ │ ├── base_pipeline.cc
│ │ │ ├── base_pipeline.h
│ │ │ ├── base_predictor.cc
│ │ │ └── base_predictor.h
│ │ ├── common
│ │ │ ├── image_batch_sampler.cc
│ │ │ ├── image_batch_sampler.h
│ │ │ ├── parallel.h
│ │ │ ├── processors.cc
│ │ │ ├── processors.h
│ │ │ ├── static_infer.cc
│ │ │ ├── static_infer.h
│ │ │ ├── thread_pool.cc
│ │ │ └── thread_pool.h
│ │ ├── configs
│ │ │ ├── OCR.yaml
│ │ │ └── doc_preprocessor.yaml
│ │ ├── modules
│ │ │ ├── image_classification
│ │ │ │ ├── predictor.cc
│ │ │ │ ├── predictor.h
│ │ │ │ ├── processors.cc
│ │ │ │ ├── processors.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ │ ├── image_unwarping
│ │ │ │ ├── predictor.cc
│ │ │ │ ├── predictor.h
│ │ │ │ ├── processors.cc
│ │ │ │ ├── processors.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ │ ├── text_detection
│ │ │ │ ├── predictor.cc
│ │ │ │ ├── predictor.h
│ │ │ │ ├── processors.cc
│ │ │ │ ├── processors.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ │ └── text_recognition
│ │ │ │ ├── predictor.cc
│ │ │ │ ├── predictor.h
│ │ │ │ ├── processors.cc
│ │ │ │ ├── processors.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ ├── pipelines
│ │ │ ├── doc_preprocessor
│ │ │ │ ├── pipeline.cc
│ │ │ │ ├── pipeline.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ │ └── ocr
│ │ │ │ ├── pipeline.cc
│ │ │ │ ├── pipeline.h
│ │ │ │ ├── result.cc
│ │ │ │ └── result.h
│ │ └── utils
│ │ │ ├── args.cc
│ │ │ ├── args.h
│ │ │ ├── func_register.h
│ │ │ ├── ilogger.cc
│ │ │ ├── ilogger.h
│ │ │ ├── mkldnn_blocklist.cc
│ │ │ ├── mkldnn_blocklist.h
│ │ │ ├── pp_option.cc
│ │ │ ├── pp_option.h
│ │ │ ├── utility.cc
│ │ │ ├── utility.h
│ │ │ ├── yaml_config.cc
│ │ │ └── yaml_config.h
│ └── tools
│ │ ├── build.sh
│ │ └── build_opencv.sh
├── docker
│ └── hubserving
│ │ ├── README.md
│ │ ├── README_cn.md
│ │ ├── cpu
│ │ └── Dockerfile
│ │ ├── gpu
│ │ └── Dockerfile
│ │ └── sample_request.txt
├── hubserving
│ ├── kie_ser
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── kie_ser_re
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── ocr_cls
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── ocr_det
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── ocr_rec
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── ocr_system
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── readme.md
│ ├── readme_en.md
│ ├── structure_layout
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ ├── structure_system
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
│ └── structure_table
│ │ ├── __init__.py
│ │ ├── config.json
│ │ ├── module.py
│ │ └── params.py
├── ios_demo
│ └── README.md
├── lite
│ ├── Makefile
│ ├── cls_process.cc
│ ├── cls_process.h
│ ├── config.txt
│ ├── crnn_process.cc
│ ├── crnn_process.h
│ ├── db_post_process.cc
│ ├── db_post_process.h
│ ├── imgs
│ │ └── lite_demo.png
│ ├── ocr_db_crnn.cc
│ ├── prepare.sh
│ ├── readme.md
│ └── readme_ch.md
├── paddle2onnx
│ ├── images
│ │ ├── lite_demo_onnx.png
│ │ └── lite_demo_paddle.png
│ ├── readme.md
│ └── readme_ch.md
├── paddlecloud
│ ├── README.md
│ └── images
│ │ ├── architecture.jpeg
│ │ └── paddlecloud.png
├── paddleocr_vl_docker
│ ├── build.sh
│ ├── compose.yaml
│ ├── pipeline.Dockerfile
│ ├── pipeline_config.yaml
│ └── vlm.Dockerfile
└── slim
│ ├── auto_compression
│ ├── README.md
│ ├── configs
│ │ └── ppocrv4
│ │ │ ├── ppocrv4_det_qat_dist.yaml
│ │ │ ├── ppocrv4_det_server_qat_dist.yaml
│ │ │ ├── ppocrv4_rec_qat_dist.yaml
│ │ │ └── ppocrv4_rec_server_qat_dist.yaml
│ ├── ppocr_keys_v1.txt
│ ├── ppocrv4_det_server_dataset_process.py
│ ├── run.py
│ ├── test_ocr.py
│ ├── test_ocr_det.sh
│ └── test_ocr_rec.sh
│ ├── prune
│ ├── README.md
│ ├── README_en.md
│ ├── export_prune_model.py
│ └── sensitivity_anal.py
│ └── quantization
│ ├── README.md
│ ├── README_en.md
│ ├── export_model.py
│ ├── quant.py
│ └── quant_kl.py
├── doc
└── fonts
│ ├── arabic.ttf
│ ├── chinese_cht.ttf
│ ├── cyrillic.ttf
│ ├── french.ttf
│ ├── german.ttf
│ ├── hindi.ttf
│ ├── japan.ttc
│ ├── kannada.ttf
│ ├── korean.ttf
│ ├── latin.ttf
│ ├── marathi.ttf
│ ├── nepali.ttf
│ ├── persian.ttf
│ ├── simfang.ttf
│ ├── spanish.ttf
│ ├── tamil.ttf
│ ├── telugu.ttf
│ ├── urdu.ttf
│ └── uyghur.ttf
├── docs
├── FAQ.en.md
├── FAQ.md
├── community
│ ├── code_and_doc.en.md
│ ├── code_and_doc.md
│ ├── community_contribution.md
│ └── images
│ │ ├── banner.png
│ │ ├── pr.png
│ │ └── precommit_pass.png
├── data_anno_synth
│ ├── data_annotation.en.md
│ ├── data_annotation.md
│ ├── data_synthesis.en.md
│ ├── data_synthesis.md
│ ├── images
│ │ ├── VoTT.jpg
│ │ ├── labelimg.jpg
│ │ ├── labelme.jpg
│ │ └── roLabelImg.png
│ ├── overview.en.md
│ └── overview.md
├── datasets
│ ├── datasets.en.md
│ ├── datasets.md
│ ├── handwritten_datasets.en.md
│ ├── handwritten_datasets.md
│ ├── images
│ │ ├── 20210816_210413.gif
│ │ ├── ArT.jpg
│ │ ├── CASIA_0.jpg
│ │ ├── CDLA_demo
│ │ │ ├── val_0633.jpg
│ │ │ └── val_0941.jpg
│ │ ├── LSVT_1.jpg
│ │ ├── LSVT_2.jpg
│ │ ├── captcha_demo.png
│ │ ├── ccpd_demo.png
│ │ ├── ch_doc1.jpg
│ │ ├── ch_doc3.jpg
│ │ ├── ch_street_rec_1.png
│ │ ├── ch_street_rec_2.png
│ │ ├── cmb_demo.jpg
│ │ ├── crohme_demo
│ │ │ ├── hme_00.jpg
│ │ │ ├── hme_01.jpg
│ │ │ └── hme_02.jpg
│ │ ├── funsd_demo
│ │ │ ├── gt_train_00040534.jpg
│ │ │ └── gt_train_00070353.jpg
│ │ ├── ic15_location_download.png
│ │ ├── icdar_rec.png
│ │ ├── nist_demo.png
│ │ ├── pme_demo
│ │ │ ├── 0000013.png
│ │ │ ├── 0000099.png
│ │ │ ├── 0000295.png
│ │ │ └── 0000562.png
│ │ ├── publaynet_demo
│ │ │ ├── gt_PMC3724501_00006.jpg
│ │ │ └── gt_PMC5086060_00002.jpg
│ │ ├── rctw.jpg
│ │ ├── table_PubTabNet_demo
│ │ │ ├── PMC524509_007_00.png
│ │ │ └── PMC535543_007_01.png
│ │ ├── table_tal_demo
│ │ │ ├── 1.jpg
│ │ │ └── 2.jpg
│ │ ├── tablebank_demo
│ │ │ ├── 004.png
│ │ │ └── 005.png
│ │ ├── wildreceipt_demo
│ │ │ ├── 1bbe854b8817dedb8585e0732089fd1f752d2cec.jpeg
│ │ │ └── 2769.jpeg
│ │ └── xfund_demo
│ │ │ ├── gt_zh_train_0.jpg
│ │ │ └── gt_zh_train_1.jpg
│ ├── kie_datasets.en.md
│ ├── kie_datasets.md
│ ├── layout_datasets.en.md
│ ├── layout_datasets.md
│ ├── ocr_datasets.en.md
│ ├── ocr_datasets.md
│ ├── table_datasets.en.md
│ ├── table_datasets.md
│ ├── vertical_and_multilingual_datasets.en.md
│ └── vertical_and_multilingual_datasets.md
├── images
│ ├── 00006737.jpg
│ ├── 185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240708082238739.jpg
│ ├── 185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240708082310650.jpg
│ ├── 185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240708082247529.png
│ ├── 185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240708082316558.jpg
│ ├── 186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d-20240708082323916.png
│ ├── 197464552-69de557f-edff-4c7f-acbf-069df1ba097f-20240708082253634.png
│ ├── Banner.png
│ ├── Banner_cn.png
│ ├── Banner_ja.png
│ ├── PP-OCRv3-pic001.jpg
│ ├── PP-OCRv3-pic002.jpg
│ ├── PP-OCRv3-pic003.jpg
│ ├── en_1.png
│ ├── en_2.png
│ ├── en_3-0398013.png
│ ├── en_3.png
│ ├── japan_2.jpg
│ ├── korean_1.jpg
│ ├── ppocrv4.png
│ ├── ppocrv4_en.jpg
│ ├── ppstructure-20240708082235651.gif
│ └── test_add_91.jpg
├── index.en.md
├── index.md
├── index
│ ├── index.en.md
│ ├── index.hi.md
│ ├── index.ja.md
│ ├── index.ko.md
│ ├── index.md
│ └── index.ru.md
├── quick_start.en.md
├── quick_start.md
├── update
│ ├── update.en.md
│ ├── update.md
│ ├── upgrade_notes.en.md
│ └── upgrade_notes.md
├── version2.x
│ ├── README.en.md
│ ├── README.md
│ ├── algorithm
│ │ ├── add_new_algorithm.en.md
│ │ ├── add_new_algorithm.md
│ │ ├── end_to_end
│ │ │ ├── algorithm_e2e_pgnet.en.md
│ │ │ ├── algorithm_e2e_pgnet.md
│ │ │ └── images
│ │ │ │ ├── e2e_res_img293_pgnet.png
│ │ │ │ ├── e2e_res_img295_pgnet.png
│ │ │ │ ├── e2e_res_img623_pgnet.jpg
│ │ │ │ ├── e2e_res_img_10_pgnet.jpg
│ │ │ │ └── pgnet_framework.png
│ │ ├── formula_recognition
│ │ │ ├── algorithm_rec_can.en.md
│ │ │ ├── algorithm_rec_can.md
│ │ │ ├── algorithm_rec_latex_ocr.en.md
│ │ │ ├── algorithm_rec_latex_ocr.md
│ │ │ ├── algorithm_rec_ppformulanet.md
│ │ │ ├── algorithm_rec_ppformulanet_en.md
│ │ │ ├── algorithm_rec_unimernet.md
│ │ │ ├── algorithm_rec_unimernet_en.md
│ │ │ ├── images
│ │ │ │ └── hme_00.jpg
│ │ │ └── requirements.txt
│ │ ├── kie
│ │ │ ├── algorithm_kie_layoutxlm.en.md
│ │ │ ├── algorithm_kie_layoutxlm.md
│ │ │ ├── algorithm_kie_sdmgr.en.md
│ │ │ ├── algorithm_kie_sdmgr.md
│ │ │ ├── algorithm_kie_vi_layoutxlm.en.md
│ │ │ ├── algorithm_kie_vi_layoutxlm.md
│ │ │ └── images
│ │ │ │ ├── sdmgr_result.png
│ │ │ │ ├── zh_val_42_re.jpg
│ │ │ │ └── zh_val_42_ser.jpg
│ │ ├── overview.en.md
│ │ ├── overview.md
│ │ ├── super_resolution
│ │ │ ├── algorithm_sr_gestalt.en.md
│ │ │ ├── algorithm_sr_gestalt.md
│ │ │ ├── algorithm_sr_telescope.en.md
│ │ │ ├── algorithm_sr_telescope.md
│ │ │ └── images
│ │ │ │ ├── sr_word_52-20240704093810101.png
│ │ │ │ ├── sr_word_52-20240704094309205.png
│ │ │ │ ├── sr_word_52.png
│ │ │ │ ├── word_52-20240704094304807.png
│ │ │ │ └── word_52.png
│ │ ├── table_recognition
│ │ │ ├── algorithm_table_master.en.md
│ │ │ ├── algorithm_table_master.md
│ │ │ └── algorithm_table_slanet.md
│ │ ├── text_detection
│ │ │ ├── algorithm_det_ct.en.md
│ │ │ ├── algorithm_det_ct.md
│ │ │ ├── algorithm_det_db.en.md
│ │ │ ├── algorithm_det_db.md
│ │ │ ├── algorithm_det_drrg.en.md
│ │ │ ├── algorithm_det_drrg.md
│ │ │ ├── algorithm_det_east.en.md
│ │ │ ├── algorithm_det_east.md
│ │ │ ├── algorithm_det_fcenet.en.md
│ │ │ ├── algorithm_det_fcenet.md
│ │ │ ├── algorithm_det_psenet.en.md
│ │ │ ├── algorithm_det_psenet.md
│ │ │ ├── algorithm_det_sast.en.md
│ │ │ ├── algorithm_det_sast.md
│ │ │ └── images
│ │ │ │ ├── det_res_img623_ct.jpg
│ │ │ │ ├── det_res_img623_fce.jpg
│ │ │ │ ├── det_res_img623_sast.jpg
│ │ │ │ ├── det_res_img_10_db.jpg
│ │ │ │ ├── det_res_img_10_east.jpg
│ │ │ │ ├── det_res_img_10_fce.jpg
│ │ │ │ ├── det_res_img_10_pse.jpg
│ │ │ │ ├── det_res_img_10_pse_poly.jpg
│ │ │ │ └── det_res_img_10_sast.jpg
│ │ └── text_recognition
│ │ │ ├── algorithm_rec_abinet.en.md
│ │ │ ├── algorithm_rec_abinet.md
│ │ │ ├── algorithm_rec_aster.en.md
│ │ │ ├── algorithm_rec_cppd.en.md
│ │ │ ├── algorithm_rec_cppd.md
│ │ │ ├── algorithm_rec_crnn.en.md
│ │ │ ├── algorithm_rec_crnn.md
│ │ │ ├── algorithm_rec_nrtr.en.md
│ │ │ ├── algorithm_rec_nrtr.md
│ │ │ ├── algorithm_rec_parseq.en.md
│ │ │ ├── algorithm_rec_parseq.md
│ │ │ ├── algorithm_rec_rare.en.md
│ │ │ ├── algorithm_rec_rare.md
│ │ │ ├── algorithm_rec_rfl.en.md
│ │ │ ├── algorithm_rec_rfl.md
│ │ │ ├── algorithm_rec_robustscanner.en.md
│ │ │ ├── algorithm_rec_robustscanner.md
│ │ │ ├── algorithm_rec_rosetta.en.md
│ │ │ ├── algorithm_rec_rosetta.md
│ │ │ ├── algorithm_rec_sar.en.md
│ │ │ ├── algorithm_rec_sar.md
│ │ │ ├── algorithm_rec_satrn.en.md
│ │ │ ├── algorithm_rec_satrn.md
│ │ │ ├── algorithm_rec_seed.en.md
│ │ │ ├── algorithm_rec_seed.md
│ │ │ ├── algorithm_rec_spin.en.md
│ │ │ ├── algorithm_rec_spin.md
│ │ │ ├── algorithm_rec_srn.en.md
│ │ │ ├── algorithm_rec_srn.md
│ │ │ ├── algorithm_rec_starnet.en.md
│ │ │ ├── algorithm_rec_starnet.md
│ │ │ ├── algorithm_rec_svtr.en.md
│ │ │ ├── algorithm_rec_svtr.md
│ │ │ ├── algorithm_rec_svtrv2.md
│ │ │ ├── algorithm_rec_visionlan.en.md
│ │ │ ├── algorithm_rec_visionlan.md
│ │ │ ├── algorithm_rec_vitstr.en.md
│ │ │ ├── algorithm_rec_vitstr.md
│ │ │ └── images
│ │ │ ├── word_1-20240704183926496.png
│ │ │ ├── word_1-20240704184113913.png
│ │ │ ├── word_10.png
│ │ │ ├── word_336-20240705082445918.png
│ │ │ └── word_336.png
│ ├── javascripts
│ │ └── katex.min.js
│ ├── legacy
│ │ ├── android_demo.en.md
│ │ ├── android_demo.md
│ │ ├── benchmark.en.md
│ │ ├── benchmark.md
│ │ ├── cpp_infer.en.md
│ │ ├── cpp_infer.md
│ │ ├── images
│ │ │ ├── 00057937.jpg
│ │ │ ├── 1.jpg
│ │ │ ├── 196874354-1b5eecb0-f273-403c-aa6c-4463bf6d78db.png
│ │ │ ├── 197918203-c7d46f8a-75d4-47f9-9687-405ee0d6727e.gif
│ │ │ ├── 68747470733a.jpeg
│ │ │ ├── 68747470733a.png
│ │ │ ├── 68747470733a2f2f7061.jpeg
│ │ │ ├── 68747470733adfd.jpeg
│ │ │ ├── cmake_step1.png
│ │ │ ├── cmake_step2.jpg
│ │ │ ├── cmake_step3.jpg
│ │ │ ├── cmake_step4.jpg
│ │ │ ├── deployment.jpg
│ │ │ ├── deployment_en.jpg
│ │ │ ├── det_res_00018069.jpg
│ │ │ ├── det_res_french_0.jpg
│ │ │ ├── det_res_img623_sast.jpg
│ │ │ ├── det_res_img_10_db.jpg
│ │ │ ├── det_res_img_10_east.jpg
│ │ │ ├── det_res_img_10_sast.jpg
│ │ │ ├── doc.jpg
│ │ │ ├── img_10_east_starnet.jpg
│ │ │ ├── img_12.jpg
│ │ │ ├── img_12_result.jpg
│ │ │ ├── import_demo.jpg
│ │ │ ├── lite_demo.png
│ │ │ ├── lite_demo_onnx.png
│ │ │ ├── lite_demo_paddle.png
│ │ │ ├── pipeline_result.png
│ │ │ ├── result.jpg
│ │ │ ├── results.png
│ │ │ ├── run_cls.jpg
│ │ │ ├── run_cls_rec.jpg
│ │ │ ├── run_det.jpg
│ │ │ ├── run_det_cls_rec-20240806100407184.jpg
│ │ │ ├── run_det_cls_rec.jpg
│ │ │ ├── run_det_rec.jpg
│ │ │ ├── run_rec.jpg
│ │ │ ├── start_server.png
│ │ │ ├── system_res_00018069_v3.jpg
│ │ │ ├── vs_step1.jpg
│ │ │ ├── word_1.jpg
│ │ │ ├── word_1.png
│ │ │ ├── word_10.png
│ │ │ ├── word_336.png
│ │ │ └── word_4.jpg
│ │ ├── index.en.md
│ │ ├── index.md
│ │ ├── lite.en.md
│ │ ├── lite.md
│ │ ├── model_list_2.x.en.md
│ │ ├── model_list_2.x.md
│ │ ├── paddle2onnx.en.md
│ │ ├── paddle2onnx.md
│ │ ├── paddle_cloud.md
│ │ ├── paddle_server.en.md
│ │ ├── paddle_server.md
│ │ ├── python_infer.en.md
│ │ ├── python_infer.md
│ │ ├── windows_vs2019_build.en.md
│ │ └── windows_vs2019_build.md
│ ├── model
│ │ ├── hardware
│ │ │ ├── install_other_devices.md
│ │ │ └── supported_models.md
│ │ └── index.md
│ ├── ppocr
│ │ ├── blog
│ │ │ ├── PP-OCRv3_introduction.md
│ │ │ ├── PP-OCRv4_introduction.md
│ │ │ ├── clone.en.md
│ │ │ ├── clone.md
│ │ │ ├── config.en.md
│ │ │ ├── config.md
│ │ │ ├── customize.en.md
│ │ │ ├── customize.md
│ │ │ ├── distributed_training.en.md
│ │ │ ├── distributed_training.md
│ │ │ ├── enhanced_ctc_loss.en.md
│ │ │ ├── enhanced_ctc_loss.md
│ │ │ ├── images
│ │ │ │ ├── 11_det.jpg
│ │ │ │ ├── 11_det_rec.jpg
│ │ │ │ ├── 12_det.jpg
│ │ │ │ ├── 12_det_rec.jpg
│ │ │ │ ├── 187578511-9f3c351e-b68c-4359-a6e5-475810993c61.png
│ │ │ │ ├── 254-20240709081442260.jpg
│ │ │ │ ├── 5e612.png
│ │ │ │ ├── DF.png
│ │ │ │ ├── GTC.png
│ │ │ │ ├── LCNet_SVTR.png
│ │ │ │ ├── LKPAN.png
│ │ │ │ ├── PFHead.png
│ │ │ │ ├── RSEFPN.png
│ │ │ │ ├── SSL.png
│ │ │ │ ├── UIM.png
│ │ │ │ ├── arabic_0.jpg
│ │ │ │ ├── focal_loss_image.png
│ │ │ │ ├── french_0.jpg
│ │ │ │ ├── img_02.jpg
│ │ │ │ ├── img_12.jpg
│ │ │ │ ├── japan_2-20240709081138234.jpg
│ │ │ │ ├── korean.jpg
│ │ │ │ ├── korean_0.jpg
│ │ │ │ ├── multi_scale.png
│ │ │ │ ├── ppocrv3_det_cml.png
│ │ │ │ ├── ppocrv3_framework-0052468.png
│ │ │ │ ├── ppocrv4_det_cml.png
│ │ │ │ ├── ppocrv4_framework.png
│ │ │ │ ├── ppocrv4_gtc.png
│ │ │ │ ├── rec_algo_compare.png
│ │ │ │ ├── recconaug.png
│ │ │ │ ├── svtr_g2.png
│ │ │ │ ├── svtr_g4.png
│ │ │ │ ├── svtr_tiny.png
│ │ │ │ ├── teacher_dml.png
│ │ │ │ ├── v3_rec_pipeline.png
│ │ │ │ ├── v4_rec_pipeline.png
│ │ │ │ └── word_308.png
│ │ │ ├── inference_args.en.md
│ │ │ ├── inference_args.md
│ │ │ ├── multi_languages.en.md
│ │ │ ├── multi_languages.md
│ │ │ ├── ocr_book.en.md
│ │ │ ├── ocr_book.md
│ │ │ ├── slice.en.md
│ │ │ ├── slice.md
│ │ │ ├── whl.en.md
│ │ │ └── whl.md
│ │ ├── environment.en.md
│ │ ├── environment.md
│ │ ├── images
│ │ │ ├── 254.jpg
│ │ │ ├── Anaconda_download.png
│ │ │ ├── PP-OCRv2
│ │ │ │ ├── PP-OCRv2-pic001.jpg
│ │ │ │ ├── PP-OCRv2-pic002.jpg
│ │ │ │ └── PP-OCRv2-pic003.jpg
│ │ │ ├── PP-OCRv3
│ │ │ │ ├── ch
│ │ │ │ │ ├── PP-OCRv3-pic001.jpg
│ │ │ │ │ ├── PP-OCRv3-pic002.jpg
│ │ │ │ │ └── PP-OCRv3-pic003.jpg
│ │ │ │ ├── en
│ │ │ │ │ ├── en_1.png
│ │ │ │ │ ├── en_2.png
│ │ │ │ │ ├── en_3.png
│ │ │ │ │ └── en_4.png
│ │ │ │ └── multi_lang
│ │ │ │ │ ├── japan_2.jpg
│ │ │ │ │ └── korean_1.jpg
│ │ │ ├── anaconda_download-20240704081644684.png
│ │ │ ├── anaconda_install_env.png
│ │ │ ├── anaconda_install_folder.png
│ │ │ ├── anaconda_prompt.png
│ │ │ ├── anaconda_start.png
│ │ │ ├── ch_ppocr_mobile_v2.0
│ │ │ │ ├── 00006737.jpg
│ │ │ │ ├── 00009282.jpg
│ │ │ │ ├── 00015504.jpg
│ │ │ │ ├── 00059985.jpg
│ │ │ │ ├── 00111002.jpg
│ │ │ │ ├── img_12.jpg
│ │ │ │ ├── rotate_00052204.jpg
│ │ │ │ └── test_add_91.jpg
│ │ │ ├── conda_activate.png
│ │ │ ├── conda_create-20240704081656378.png
│ │ │ ├── conda_create.png
│ │ │ ├── conda_list_env.png
│ │ │ ├── conda_new_env.png
│ │ │ ├── model_prod_flow_ch.png
│ │ │ ├── model_prod_flow_en.png
│ │ │ ├── multi_lang
│ │ │ │ ├── arabic_0.jpg
│ │ │ │ ├── en_1.jpg
│ │ │ │ ├── en_2.jpg
│ │ │ │ ├── en_3.jpg
│ │ │ │ ├── french_0.jpg
│ │ │ │ ├── img_01.jpg
│ │ │ │ ├── img_02.jpg
│ │ │ │ ├── img_12.jpg
│ │ │ │ ├── japan_2.jpg
│ │ │ │ └── korean_0.jpg
│ │ │ ├── ppocrv2_framework.jpg
│ │ │ └── ppocrv3_framework.png
│ │ ├── installation.en.md
│ │ ├── installation.md
│ │ ├── model_compress
│ │ │ ├── knowledge_distillation.en.md
│ │ │ ├── knowledge_distillation.md
│ │ │ ├── prune.en.md
│ │ │ ├── prune.md
│ │ │ ├── quantization.en.md
│ │ │ └── quantization.md
│ │ ├── model_list.en.md
│ │ ├── model_list.md
│ │ ├── model_train
│ │ │ ├── PPOCRv3_det_train.en.md
│ │ │ ├── PPOCRv3_det_train.md
│ │ │ ├── angle_class.en.md
│ │ │ ├── angle_class.md
│ │ │ ├── detection.en.md
│ │ │ ├── detection.md
│ │ │ ├── finetune.en.md
│ │ │ ├── finetune.md
│ │ │ ├── images
│ │ │ │ ├── angle_class_example.jpg
│ │ │ │ ├── en_paper.jpg
│ │ │ │ ├── icdar_rec.png
│ │ │ │ ├── image-20240710082046188.jpg
│ │ │ │ ├── long_text_examples.jpg
│ │ │ │ ├── word_1-20240704092705543.png
│ │ │ │ └── word_1-20240704092713071.jpg
│ │ │ ├── kie.en.md
│ │ │ ├── kie.md
│ │ │ ├── recognition.en.md
│ │ │ ├── recognition.md
│ │ │ ├── training.en.md
│ │ │ ├── training.md
│ │ │ ├── tricks.en.md
│ │ │ └── tricks.md
│ │ ├── overview.en.md
│ │ ├── overview.md
│ │ ├── quick_start.en.md
│ │ ├── quick_start.md
│ │ ├── visualization.en.md
│ │ └── visualization.md
│ ├── ppstructure
│ │ ├── blog
│ │ │ ├── how_to_do_kie.en.md
│ │ │ ├── how_to_do_kie.md
│ │ │ ├── images
│ │ │ │ ├── 184526682-8b810397-5a93-4395-93da-37b8b8494c41.png
│ │ │ │ ├── 184526785-c3d2d310-cd57-4d31-b933-912716b29856.jpg
│ │ │ │ ├── 184528728-626f77eb-fd9f-4709-a7dc-5411cc417dab.jpg
│ │ │ │ ├── 184588654-d87f54f3-13ab-42c4-afc0-da79bead3f14.png
│ │ │ │ ├── 3c200538-f2e6-4d79-847a-4c4587efa9f0.jpeg
│ │ │ │ ├── 799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg
│ │ │ │ └── d0858341-a889-483c-8373-5ecaa57f3b20.png
│ │ │ ├── return_word_pos.en.md
│ │ │ └── return_word_pos.md
│ │ ├── images
│ │ │ ├── 185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240705094001639.jpg
│ │ │ ├── 185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240705094037073.jpg
│ │ │ ├── 185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68-20240705093932704.jpg
│ │ │ ├── 185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240705094013236.png
│ │ │ ├── 185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240705094043151.jpg
│ │ │ ├── 186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d.png
│ │ │ ├── 186095641-5843b4da-34d7-4c1c-943a-b1036a859fe3.png
│ │ │ ├── 186095702-9acef674-12af-4d09-97fc-abf4ab32600e.png
│ │ │ ├── 195265734-6f4b5a7f-59b1-4fcc-af6d-89afc9bd51e1-20240705140834325.jpg
│ │ │ ├── 197464552-69de557f-edff-4c7f-acbf-069df1ba097f.png
│ │ │ ├── 799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg
│ │ │ ├── ppstructure.gif
│ │ │ ├── recovery.jpg
│ │ │ └── table_1.png
│ │ ├── infer_deploy
│ │ │ ├── cpp_infer.en.md
│ │ │ ├── cpp_infer.md
│ │ │ ├── images
│ │ │ │ └── deployment-20240704135743247.png
│ │ │ ├── index.en.md
│ │ │ ├── index.md
│ │ │ ├── paddle_server.en.md
│ │ │ ├── paddle_server.md
│ │ │ ├── python_infer.en.md
│ │ │ └── python_infer.md
│ │ ├── model_train
│ │ │ ├── images
│ │ │ │ ├── 185310636-6ce02f7c-790d-479f-b163-ea97a5a04808.jpg
│ │ │ │ ├── 185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb.jpg
│ │ │ │ ├── 185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68.jpg
│ │ │ │ ├── 185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a.png
│ │ │ │ ├── 185539735-37b5c2ef-629d-43fe-9abb-44bb717ef7ee.jpg
│ │ │ │ ├── 185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f.jpg
│ │ │ │ ├── 185540291-f64e5daf-6d42-4e7c-bbbb-471e3fac4fcc.png
│ │ │ │ ├── 195319840-68fc60ec-ea66-4095-b734-0ec115860341.png
│ │ │ │ ├── layout.jpg
│ │ │ │ ├── layout_res.jpg
│ │ │ │ ├── recovery-20240708091126891.jpg
│ │ │ │ ├── recovery_ch.jpg
│ │ │ │ ├── table_ch_result1.jpg
│ │ │ │ ├── table_ch_result2.jpg
│ │ │ │ ├── table_ch_result3.jpg
│ │ │ │ ├── tableocr_pipeline.jpg
│ │ │ │ └── zh_val_42_ser.jpg
│ │ │ ├── recovery_to_doc.en.md
│ │ │ ├── recovery_to_doc.md
│ │ │ ├── train_kie.en.md
│ │ │ ├── train_kie.md
│ │ │ ├── train_layout.en.md
│ │ │ ├── train_layout.md
│ │ │ ├── train_table.en.md
│ │ │ ├── train_table.md
│ │ │ ├── training.en.md
│ │ │ └── training.md
│ │ ├── models_list.en.md
│ │ ├── models_list.md
│ │ ├── overview.en.md
│ │ ├── overview.md
│ │ ├── ppstructure_model.md
│ │ ├── quick_start.en.md
│ │ └── quick_start.md
│ └── static
│ │ └── images
│ │ ├── demo.jpg
│ │ └── favicon.ico
└── version3.x
│ ├── algorithm
│ ├── PP-ChatOCRv4
│ │ ├── PP-ChatOCRv4.en.md
│ │ └── PP-ChatOCRv4.md
│ ├── PP-OCRv5
│ │ ├── PP-OCRv5.en.md
│ │ ├── PP-OCRv5.md
│ │ ├── PP-OCRv5_multi_languages.en.md
│ │ └── PP-OCRv5_multi_languages.md
│ ├── PP-StructureV3
│ │ ├── PP-StructureV3.en.md
│ │ └── PP-StructureV3.md
│ └── PaddleOCR-VL
│ │ ├── PaddleOCR-VL.en.md
│ │ └── PaddleOCR-VL.md
│ ├── deployment
│ ├── cpp
│ │ ├── OCR.en.md
│ │ ├── OCR.md
│ │ ├── OCR_windows.en.md
│ │ ├── OCR_windows.md
│ │ ├── cpp_local_deployment.en.md
│ │ └── cpp_local_deployment.md
│ ├── high_performance_inference.en.md
│ ├── high_performance_inference.md
│ ├── mcp_server.en.md
│ ├── mcp_server.md
│ ├── obtaining_onnx_models.en.md
│ ├── obtaining_onnx_models.md
│ ├── on_device_deployment.en.md
│ ├── on_device_deployment.md
│ ├── packaging.en.md
│ ├── packaging.md
│ ├── serving.en.md
│ └── serving.md
│ ├── installation.en.md
│ ├── installation.md
│ ├── logging.en.md
│ ├── logging.md
│ ├── logo.jpg
│ ├── model_list.md
│ ├── module_usage
│ ├── chart_parsing.en.md
│ ├── chart_parsing.md
│ ├── doc_img_orientation_classification.en.md
│ ├── doc_img_orientation_classification.md
│ ├── doc_vlm.en.md
│ ├── doc_vlm.md
│ ├── formula_recognition.en.md
│ ├── formula_recognition.md
│ ├── layout_analysis.en.md
│ ├── layout_analysis.md
│ ├── layout_detection.en.md
│ ├── layout_detection.md
│ ├── module_overview.en.md
│ ├── module_overview.md
│ ├── seal_text_detection.en.md
│ ├── seal_text_detection.md
│ ├── table_cells_detection.en.md
│ ├── table_cells_detection.md
│ ├── table_classification.en.md
│ ├── table_classification.md
│ ├── table_structure_recognition.en.md
│ ├── table_structure_recognition.md
│ ├── text_detection.en.md
│ ├── text_detection.md
│ ├── text_image_unwarping.en.md
│ ├── text_image_unwarping.md
│ ├── text_recognition.en.md
│ ├── text_recognition.md
│ ├── textline_orientation_classification.en.md
│ └── textline_orientation_classification.md
│ ├── other_devices_support
│ ├── multi_devices_use_guide.en.md
│ ├── multi_devices_use_guide.md
│ ├── paddlepaddle_install_NPU.en.md
│ ├── paddlepaddle_install_NPU.md
│ ├── paddlepaddle_install_XPU.en.md
│ └── paddlepaddle_install_XPU.md
│ ├── paddleocr_and_paddlex.en.md
│ ├── paddleocr_and_paddlex.md
│ ├── paddlex
│ ├── overview.en.md
│ ├── overview.md
│ ├── quick_start.en.md
│ └── quick_start.md
│ └── pipeline_usage
│ ├── OCR.en.md
│ ├── OCR.md
│ ├── PP-ChatOCRv4.en.md
│ ├── PP-ChatOCRv4.md
│ ├── PP-DocTranslation.en.md
│ ├── PP-DocTranslation.md
│ ├── PP-StructureV3.en.md
│ ├── PP-StructureV3.md
│ ├── PaddleOCR-VL-RTX50.en.md
│ ├── PaddleOCR-VL-RTX50.md
│ ├── PaddleOCR-VL.en.md
│ ├── PaddleOCR-VL.md
│ ├── doc_preprocessor.en.md
│ ├── doc_preprocessor.md
│ ├── doc_understanding.en.md
│ ├── doc_understanding.md
│ ├── formula_recognition.en.md
│ ├── formula_recognition.md
│ ├── instructions
│ ├── benchmark.en.md
│ ├── benchmark.md
│ ├── parallel_inference.en.md
│ └── parallel_inference.md
│ ├── pipeline_overview.en.md
│ ├── pipeline_overview.md
│ ├── seal_recognition.en.md
│ ├── seal_recognition.md
│ ├── table_recognition_v2.en.md
│ └── table_recognition_v2.md
├── mcp_server
├── README.md
├── README_en.md
├── paddleocr_mcp
│ ├── __init__.py
│ ├── __main__.py
│ ├── pipelines.py
│ └── py.typed
└── pyproject.toml
├── mkdocs.yml
├── overrides
├── hooks
│ └── expiry.py
├── main.html
└── partials
│ ├── comments.html
│ ├── content.html
│ └── expired_notice.html
├── paddleocr
├── __init__.py
├── __main__.py
├── _abstract.py
├── _cli.py
├── _common_args.py
├── _constants.py
├── _env.py
├── _models
│ ├── __init__.py
│ ├── _doc_vlm.py
│ ├── _image_classification.py
│ ├── _object_detection.py
│ ├── _text_detection.py
│ ├── base.py
│ ├── chart_parsing.py
│ ├── doc_img_orientation_classification.py
│ ├── doc_vlm.py
│ ├── formula_recognition.py
│ ├── layout_detection.py
│ ├── seal_text_detection.py
│ ├── table_cells_detection.py
│ ├── table_classification.py
│ ├── table_structure_recognition.py
│ ├── text_detection.py
│ ├── text_image_unwarping.py
│ ├── text_recognition.py
│ └── textline_orientation_classification.py
├── _pipelines
│ ├── __init__.py
│ ├── base.py
│ ├── doc_preprocessor.py
│ ├── doc_understanding.py
│ ├── formula_recognition.py
│ ├── ocr.py
│ ├── paddleocr_vl.py
│ ├── pp_chatocrv4_doc.py
│ ├── pp_doctranslation.py
│ ├── pp_structurev3.py
│ ├── seal_recognition.py
│ ├── table_recognition_v2.py
│ └── utils.py
├── _utils
│ ├── __init__.py
│ ├── cli.py
│ ├── deprecation.py
│ └── logging.py
└── _version.py
├── ppocr
├── __init__.py
├── data
│ ├── __init__.py
│ ├── collate_fn.py
│ ├── imaug
│ │ ├── ColorJitter.py
│ │ ├── __init__.py
│ │ ├── abinet_aug.py
│ │ ├── copy_paste.py
│ │ ├── ct_process.py
│ │ ├── drrg_targets.py
│ │ ├── east_process.py
│ │ ├── fce_aug.py
│ │ ├── fce_targets.py
│ │ ├── frost_img
│ │ │ ├── frost1.jpg
│ │ │ ├── frost2.png
│ │ │ ├── frost3.png
│ │ │ ├── frost4.jpg
│ │ │ ├── frost5.jpg
│ │ │ └── frost6.jpg
│ │ ├── iaa_augment.py
│ │ ├── label_ops.py
│ │ ├── latex_ocr_aug.py
│ │ ├── make_border_map.py
│ │ ├── make_pse_gt.py
│ │ ├── make_shrink_map.py
│ │ ├── operators.py
│ │ ├── pg_process.py
│ │ ├── randaugment.py
│ │ ├── random_crop_data.py
│ │ ├── rec_img_aug.py
│ │ ├── sast_process.py
│ │ ├── ssl_img_aug.py
│ │ ├── table_ops.py
│ │ ├── text_image_aug
│ │ │ ├── __init__.py
│ │ │ ├── augment.py
│ │ │ └── warp_mls.py
│ │ ├── unimernet_aug.py
│ │ └── vqa
│ │ │ ├── __init__.py
│ │ │ ├── augment.py
│ │ │ └── token
│ │ │ ├── __init__.py
│ │ │ ├── vqa_re_convert.py
│ │ │ ├── vqa_token_chunk.py
│ │ │ ├── vqa_token_pad.py
│ │ │ └── vqa_token_relation.py
│ ├── latexocr_dataset.py
│ ├── lmdb_dataset.py
│ ├── multi_scale_sampler.py
│ ├── pgnet_dataset.py
│ ├── pubtab_dataset.py
│ └── simple_dataset.py
├── ext_op
│ ├── __init__.py
│ └── roi_align_rotated
│ │ ├── roi_align_rotated.cc
│ │ ├── roi_align_rotated.cu
│ │ └── roi_align_rotated.py
├── losses
│ ├── __init__.py
│ ├── ace_loss.py
│ ├── basic_loss.py
│ ├── center_loss.py
│ ├── cls_loss.py
│ ├── combined_loss.py
│ ├── det_basic_loss.py
│ ├── det_ct_loss.py
│ ├── det_db_loss.py
│ ├── det_drrg_loss.py
│ ├── det_east_loss.py
│ ├── det_fce_loss.py
│ ├── det_pse_loss.py
│ ├── det_sast_loss.py
│ ├── distillation_loss.py
│ ├── e2e_pg_loss.py
│ ├── kie_sdmgr_loss.py
│ ├── rec_aster_loss.py
│ ├── rec_att_loss.py
│ ├── rec_can_loss.py
│ ├── rec_ce_loss.py
│ ├── rec_cppd_loss.py
│ ├── rec_ctc_loss.py
│ ├── rec_enhanced_ctc_loss.py
│ ├── rec_latexocr_loss.py
│ ├── rec_multi_loss.py
│ ├── rec_nrtr_loss.py
│ ├── rec_parseq_loss.py
│ ├── rec_ppformulanet_loss.py
│ ├── rec_pren_loss.py
│ ├── rec_rfl_loss.py
│ ├── rec_sar_loss.py
│ ├── rec_satrn_loss.py
│ ├── rec_spin_att_loss.py
│ ├── rec_srn_loss.py
│ ├── rec_unimernet_loss.py
│ ├── rec_vl_loss.py
│ ├── stroke_focus_loss.py
│ ├── table_att_loss.py
│ ├── table_master_loss.py
│ ├── text_focus_loss.py
│ └── vqa_token_layoutlm_loss.py
├── metrics
│ ├── __init__.py
│ ├── bleu.py
│ ├── cls_metric.py
│ ├── ct_metric.py
│ ├── det_metric.py
│ ├── distillation_metric.py
│ ├── e2e_metric.py
│ ├── eval_det_iou.py
│ ├── kie_metric.py
│ ├── rec_metric.py
│ ├── sr_metric.py
│ ├── table_metric.py
│ ├── vqa_token_re_metric.py
│ └── vqa_token_ser_metric.py
├── modeling
│ ├── architectures
│ │ ├── __init__.py
│ │ ├── base_model.py
│ │ └── distillation_model.py
│ ├── backbones
│ │ ├── __init__.py
│ │ ├── det_mobilenet_v3.py
│ │ ├── det_pp_lcnet.py
│ │ ├── det_pp_lcnet_v2.py
│ │ ├── det_resnet.py
│ │ ├── det_resnet_vd.py
│ │ ├── det_resnet_vd_sast.py
│ │ ├── e2e_resnet_vd_pg.py
│ │ ├── kie_unet_sdmgr.py
│ │ ├── rec_densenet.py
│ │ ├── rec_donut_swin.py
│ │ ├── rec_efficientb3_pren.py
│ │ ├── rec_hgnet.py
│ │ ├── rec_hybridvit.py
│ │ ├── rec_lcnetv3.py
│ │ ├── rec_micronet.py
│ │ ├── rec_mobilenet_v3.py
│ │ ├── rec_mv1_enhance.py
│ │ ├── rec_nrtr_mtb.py
│ │ ├── rec_pphgnetv2.py
│ │ ├── rec_repvit.py
│ │ ├── rec_resnet_31.py
│ │ ├── rec_resnet_32.py
│ │ ├── rec_resnet_45.py
│ │ ├── rec_resnet_aster.py
│ │ ├── rec_resnet_fpn.py
│ │ ├── rec_resnet_rfl.py
│ │ ├── rec_resnet_vd.py
│ │ ├── rec_resnetv2.py
│ │ ├── rec_shallow_cnn.py
│ │ ├── rec_svtrnet.py
│ │ ├── rec_svtrv2.py
│ │ ├── rec_vary_vit.py
│ │ ├── rec_vit.py
│ │ ├── rec_vit_parseq.py
│ │ ├── rec_vitstr.py
│ │ ├── table_master_resnet.py
│ │ └── vqa_layoutlm.py
│ ├── heads
│ │ ├── __init__.py
│ │ ├── cls_head.py
│ │ ├── det_ct_head.py
│ │ ├── det_db_head.py
│ │ ├── det_drrg_head.py
│ │ ├── det_east_head.py
│ │ ├── det_fce_head.py
│ │ ├── det_pse_head.py
│ │ ├── det_sast_head.py
│ │ ├── e2e_pg_head.py
│ │ ├── gcn.py
│ │ ├── kie_sdmgr_head.py
│ │ ├── local_graph.py
│ │ ├── proposal_local_graph.py
│ │ ├── rec_abinet_head.py
│ │ ├── rec_aster_head.py
│ │ ├── rec_att_head.py
│ │ ├── rec_can_head.py
│ │ ├── rec_cppd_head.py
│ │ ├── rec_ctc_head.py
│ │ ├── rec_latexocr_head.py
│ │ ├── rec_multi_head.py
│ │ ├── rec_nrtr_head.py
│ │ ├── rec_parseq_head.py
│ │ ├── rec_ppformulanet_head.py
│ │ ├── rec_pren_head.py
│ │ ├── rec_rfl_head.py
│ │ ├── rec_robustscanner_head.py
│ │ ├── rec_sar_head.py
│ │ ├── rec_satrn_head.py
│ │ ├── rec_spin_att_head.py
│ │ ├── rec_srn_head.py
│ │ ├── rec_unimernet_head.py
│ │ ├── rec_visionlan_head.py
│ │ ├── self_attention.py
│ │ ├── sr_rensnet_transformer.py
│ │ ├── table_att_head.py
│ │ └── table_master_head.py
│ ├── necks
│ │ ├── __init__.py
│ │ ├── csp_pan.py
│ │ ├── ct_fpn.py
│ │ ├── db_fpn.py
│ │ ├── east_fpn.py
│ │ ├── fce_fpn.py
│ │ ├── fpn.py
│ │ ├── fpn_unet.py
│ │ ├── intracl.py
│ │ ├── pg_fpn.py
│ │ ├── pren_fpn.py
│ │ ├── rf_adaptor.py
│ │ ├── rnn.py
│ │ ├── sast_fpn.py
│ │ └── table_fpn.py
│ └── transforms
│ │ ├── __init__.py
│ │ ├── gaspin_transformer.py
│ │ ├── stn.py
│ │ ├── tbsrn.py
│ │ ├── tps.py
│ │ ├── tps_spatial_transformer.py
│ │ └── tsrn.py
├── optimizer
│ ├── __init__.py
│ ├── learning_rate.py
│ ├── lr_scheduler.py
│ ├── optimizer.py
│ └── regularizer.py
├── postprocess
│ ├── __init__.py
│ ├── cls_postprocess.py
│ ├── ct_postprocess.py
│ ├── db_postprocess.py
│ ├── drrg_postprocess.py
│ ├── east_postprocess.py
│ ├── fce_postprocess.py
│ ├── locality_aware_nms.py
│ ├── pg_postprocess.py
│ ├── picodet_postprocess.py
│ ├── pse_postprocess
│ │ ├── __init__.py
│ │ ├── pse
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── pse.pyx
│ │ │ └── setup.py
│ │ └── pse_postprocess.py
│ ├── rec_postprocess.py
│ ├── sast_postprocess.py
│ ├── table_postprocess.py
│ ├── vqa_token_re_layoutlm_postprocess.py
│ └── vqa_token_ser_layoutlm_postprocess.py
└── utils
│ ├── EN_symbol_dict.txt
│ ├── __init__.py
│ ├── dict
│ ├── README.md
│ ├── ar_dict.txt
│ ├── arabic_dict.txt
│ ├── be_dict.txt
│ ├── bengali_dict.txt
│ ├── bg_dict.txt
│ ├── bm_dict.txt
│ ├── bm_dict_add.txt
│ ├── bn_dict.txt
│ ├── chinese_cht_dict.txt
│ ├── confuse.pkl
│ ├── cyrillic_dict.txt
│ ├── devanagari_dict.txt
│ ├── en_dict.txt
│ ├── fa_dict.txt
│ ├── french_dict.txt
│ ├── german_dict.txt
│ ├── gujarati_dict.txt
│ ├── hebrew_dict.txt
│ ├── hi_dict.txt
│ ├── it_dict.txt
│ ├── japan_dict.txt
│ ├── ka_dict.txt
│ ├── kazakh_dict.txt
│ ├── kie_dict
│ │ └── xfund_class_list.txt
│ ├── korean_dict.txt
│ ├── latex_ocr_tokenizer.json
│ ├── latex_symbol_dict.txt
│ ├── latin_dict.txt
│ ├── layout_dict
│ │ ├── layout_cdla_dict.txt
│ │ ├── layout_publaynet_dict.txt
│ │ └── layout_table_dict.txt
│ ├── mr_dict.txt
│ ├── ne_dict.txt
│ ├── oc_dict.txt
│ ├── parseq_dict.txt
│ ├── ppocrv4_doc_dict.txt
│ ├── ppocrv5_arabic_dict.txt
│ ├── ppocrv5_cyrillic_dict.txt
│ ├── ppocrv5_devanagari_dict.txt
│ ├── ppocrv5_dict.txt
│ ├── ppocrv5_el_dict.txt
│ ├── ppocrv5_en_dict.txt
│ ├── ppocrv5_eslav_dict.txt
│ ├── ppocrv5_korean_dict.txt
│ ├── ppocrv5_latin_dict.txt
│ ├── ppocrv5_ta_dict.txt
│ ├── ppocrv5_te_dict.txt
│ ├── ppocrv5_th_dict.txt
│ ├── pu_dict.txt
│ ├── rs_dict.txt
│ ├── rsc_dict.txt
│ ├── ru_dict.txt
│ ├── samaritan_dict.txt
│ ├── spin_dict.txt
│ ├── syriac_dict.txt
│ ├── ta_dict.txt
│ ├── table_dict.txt
│ ├── table_master_structure_dict.txt
│ ├── table_structure_dict.txt
│ ├── table_structure_dict_ch.txt
│ ├── te_dict.txt
│ ├── th_dict.txt
│ ├── ug_dict.txt
│ ├── uk_dict.txt
│ ├── unimernet_tokenizer
│ │ ├── tokenizer.json
│ │ └── tokenizer_config.json
│ ├── ur_dict.txt
│ ├── vi_dict.txt
│ └── xi_dict.txt
│ ├── dict90.txt
│ ├── e2e_metric
│ ├── Deteval.py
│ └── polygon_fast.py
│ ├── e2e_utils
│ ├── extract_batchsize.py
│ ├── extract_textpoint_fast.py
│ ├── extract_textpoint_slow.py
│ ├── pgnet_pp_utils.py
│ └── visual.py
│ ├── en_dict.txt
│ ├── export_model.py
│ ├── formula_utils
│ ├── math_txt2pkl.py
│ └── unimernet_data_convert.py
│ ├── gen_label.py
│ ├── ic15_dict.txt
│ ├── iou.py
│ ├── loggers
│ ├── __init__.py
│ ├── base_logger.py
│ ├── loggers.py
│ └── wandb_logger.py
│ ├── logging.py
│ ├── network.py
│ ├── poly_nms.py
│ ├── ppocr_keys_v1.txt
│ ├── profiler.py
│ ├── save_load.py
│ ├── stats.py
│ ├── utility.py
│ └── visual.py
├── ppstructure
├── README.md
├── __init__.py
├── kie
│ ├── README.md
│ ├── README_ch.md
│ ├── how_to_do_kie.md
│ ├── how_to_do_kie_en.md
│ ├── predict_kie_token_ser.py
│ ├── predict_kie_token_ser_re.py
│ ├── requirements.txt
│ └── tools
│ │ ├── eval_with_label_end2end.py
│ │ ├── trans_funsd_label.py
│ │ └── trans_xfun_data.py
├── layout
│ ├── README.md
│ ├── README_ch.md
│ ├── __init__.py
│ └── predict_layout.py
├── pdf2word
│ ├── README.md
│ ├── icons
│ │ ├── chinese.png
│ │ ├── english.png
│ │ ├── folder-open.png
│ │ └── folder-plus.png
│ └── pdf2word.py
├── predict_system.py
├── recovery
│ ├── README.md
│ ├── README_ch.md
│ ├── __init__.py
│ ├── recovery_to_doc.py
│ ├── recovery_to_markdown.py
│ ├── requirements.txt
│ └── table_process.py
├── table
│ ├── README.md
│ ├── README_ch.md
│ ├── __init__.py
│ ├── convert_label2html.py
│ ├── eval_table.py
│ ├── matcher.py
│ ├── predict_structure.py
│ ├── predict_table.py
│ ├── table_master_match.py
│ ├── table_metric
│ │ ├── __init__.py
│ │ ├── parallel.py
│ │ └── table_metric.py
│ └── tablepyxl
│ │ ├── __init__.py
│ │ ├── style.py
│ │ └── tablepyxl.py
└── utility.py
├── pyproject.toml
├── readme
├── README_ar.md
├── README_cn.md
├── README_es.md
├── README_fr.md
├── README_ja.md
├── README_ko.md
├── README_ru.md
└── README_tcn.md
├── requirements.txt
├── setup.py
├── test_tipc
├── benchmark_train.sh
├── build_server.sh
├── common_func.sh
├── compare_results.py
├── configs
│ ├── PP-OCRv3_mobile_rec
│ │ ├── PP-OCRv3_mobile_rec_distillation.yml
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── PP-OCRv3_mobile_rec_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── PP-OCRv3_mobile_rec_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ └── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ ├── PP-OCRv4_mobile_rec
│ │ └── train_infer_python.txt
│ ├── PP-OCRv4_mobile_rec_ampO2_ultra
│ │ └── train_infer_python.txt
│ ├── PP-OCRv4_mobile_rec_fp32_ultra
│ │ └── train_infer_python.txt
│ ├── PP-OCRv4_server_rec
│ │ └── train_infer_python.txt
│ ├── PP-OCRv4_server_rec_ampO2_ultra
│ │ └── train_infer_python.txt
│ ├── PP-OCRv4_server_rec_fp32_ultra
│ │ └── train_infer_python.txt
│ ├── ch_PP-OCRv2
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv2_det
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── ch_PP-OCRv2_det_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv2_det_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv2_rec
│ │ ├── ch_PP-OCRv2_rec_distillation.yml
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── ch_PP-OCRv2_rec_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv2_rec_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv3
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv3_det
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── ch_PP-OCRv3_det_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv3_det_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_PP-OCRv4_mobile_det
│ │ └── train_infer_python.txt
│ ├── ch_PP-OCRv4_server_det
│ │ └── train_infer_python.txt
│ ├── ch_ppocr_mobile_v2_0
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_mobile_v2_0_det
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_jetson.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_dcu_normal_normal_infer_python_dcu.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_mac_cpu_normal_normal_infer_python_mac_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ ├── train_ptq_infer_python.txt
│ │ └── train_windows_gpu_normal_normal_infer_python_windows_cpu_gpu.txt
│ ├── ch_ppocr_mobile_v2_0_det_FPGM
│ │ ├── train_infer_python.txt
│ │ └── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_mobile_v2_0_det_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_mac_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_windows_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_mobile_v2_0_det_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_mobile_v2_0_rec
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── ch_ppocr_mobile_v2_0_rec_FPGM
│ │ ├── rec_chinese_lite_train_v2.0.yml
│ │ ├── train_infer_python.txt
│ │ └── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_mobile_v2_0_rec_KL
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ └── rec_chinese_lite_train_v2.0.yml
│ ├── ch_ppocr_mobile_v2_0_rec_PACT
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ └── rec_chinese_lite_train_v2.0.yml
│ ├── ch_ppocr_server_v2_0
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_cpp_linux_gpu_cpu.txt
│ │ └── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_server_v2_0_det
│ │ ├── det_r50_vd_db.yml
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ └── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ ├── ch_ppocr_server_v2_0_rec
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_serving_python_linux_gpu_cpu.txt
│ │ ├── rec_icdar15_train.yml
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ └── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ ├── det_mv3_db_v2_0
│ │ └── train_infer_python.txt
│ ├── det_mv3_east_v2_0
│ │ ├── det_mv3_east.yml
│ │ └── train_infer_python.txt
│ ├── det_mv3_pse_v2_0
│ │ ├── det_mv3_pse.yml
│ │ └── train_infer_python.txt
│ ├── det_r18_ct
│ │ └── train_infer_python.txt
│ ├── det_r50_db_plusplus
│ │ └── train_infer_python.txt
│ ├── det_r50_db_v2_0
│ │ └── train_infer_python.txt
│ ├── det_r50_dcn_fce_ctw_v2_0
│ │ ├── det_r50_vd_dcn_fce_ctw.yml
│ │ └── train_infer_python.txt
│ ├── det_r50_vd_east_v2_0
│ │ ├── det_r50_vd_east.yml
│ │ └── train_infer_python.txt
│ ├── det_r50_vd_pse_v2_0
│ │ ├── det_r50_vd_pse.yml
│ │ └── train_infer_python.txt
│ ├── det_r50_vd_sast_icdar15_v2_0
│ │ ├── det_r50_vd_sast_icdar2015.yml
│ │ └── train_infer_python.txt
│ ├── det_r50_vd_sast_totaltext_v2_0
│ │ ├── det_r50_vd_sast_totaltext.yml
│ │ └── train_infer_python.txt
│ ├── en_server_pgnetA
│ │ └── train_infer_python.txt
│ ├── en_table_structure
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── en_table_structure_PACT
│ │ └── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ ├── layoutxlm_ser
│ │ ├── ser_layoutxlm_xfund_zh.yml
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── rec_d28_can
│ │ ├── rec_d28_can.yml
│ │ └── train_infer_python.txt
│ ├── rec_mtb_nrtr
│ │ ├── rec_mtb_nrtr.yml
│ │ └── train_infer_python.txt
│ ├── rec_mv3_none_bilstm_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_mv3_none_none_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_mv3_tps_bilstm_att_v2_0
│ │ ├── rec_mv3_tps_bilstm_att.yml
│ │ └── train_infer_python.txt
│ ├── rec_mv3_tps_bilstm_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_parseq
│ │ ├── rec_vit_parseq.yml
│ │ └── train_infer_python.txt
│ ├── rec_r31_robustscanner
│ │ ├── rec_r31_robustscanner.yml
│ │ └── train_infer_python.txt
│ ├── rec_r31_sar
│ │ ├── rec_r31_sar.yml
│ │ └── train_infer_python.txt
│ ├── rec_r32_gaspin_bilstm_att
│ │ ├── rec_r32_gaspin_bilstm_att.yml
│ │ └── train_infer_python.txt
│ ├── rec_r34_vd_none_bilstm_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_r34_vd_none_none_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_r34_vd_tps_bilstm_att_v2_0
│ │ ├── rec_r34_vd_tps_bilstm_att.yml
│ │ └── train_infer_python.txt
│ ├── rec_r34_vd_tps_bilstm_ctc_v2_0
│ │ ├── rec_icdar15_train.yml
│ │ └── train_infer_python.txt
│ ├── rec_r45_abinet
│ │ ├── rec_r45_abinet.yml
│ │ └── train_infer_python.txt
│ ├── rec_r45_visionlan
│ │ ├── rec_r45_visionlan.yml
│ │ └── train_infer_python.txt
│ ├── rec_r50_fpn_vd_none_srn
│ │ ├── rec_r50_fpn_srn.yml
│ │ └── train_infer_python.txt
│ ├── rec_resnet_rfl
│ │ ├── rec_resnet_rfl.yml
│ │ └── train_infer_python.txt
│ ├── rec_svtrnet
│ │ ├── rec_svtrnet.yml
│ │ └── train_infer_python.txt
│ ├── rec_vitstr_none_ce
│ │ ├── rec_vitstr_none_ce.yml
│ │ └── train_infer_python.txt
│ ├── slanet
│ │ ├── model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt
│ │ ├── model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
│ ├── sr_telescope
│ │ ├── sr_telescope.yml
│ │ └── train_infer_python.txt
│ ├── table_master
│ │ ├── table_master.yml
│ │ └── train_infer_python.txt
│ └── vi_layoutxlm_ser
│ │ ├── train_infer_python.txt
│ │ ├── train_linux_gpu_fleet_normal_infer_python_linux_gpu_cpu.txt
│ │ ├── train_linux_gpu_normal_amp_infer_python_linux_gpu_cpu.txt
│ │ ├── train_pact_infer_python.txt
│ │ └── train_ptq_infer_python.txt
├── docs
│ ├── benchmark_train.md
│ ├── compare_cpp_right.png
│ ├── compare_cpp_wrong.png
│ ├── compare_right.png
│ ├── compare_wrong.png
│ ├── guide.png
│ ├── install.md
│ ├── lite_auto_log.png
│ ├── lite_log.png
│ ├── mac_test_train_inference_python.md
│ ├── ssh_termux_ls.png
│ ├── termux.jpg
│ ├── termux_for_android.md
│ ├── test.png
│ ├── test_inference_cpp.md
│ ├── test_lite_arm_cpp.md
│ ├── test_paddle2onnx.md
│ ├── test_ptq_inference_python.md
│ ├── test_serving.md
│ ├── test_train_fleet_inference_python.md
│ ├── test_train_inference_python.md
│ └── win_test_train_inference_python.md
├── prepare.sh
├── prepare_lite_cpp.sh
├── readme.md
├── results
│ ├── cpp_ppocr_det_mobile_results_fp16.txt
│ ├── cpp_ppocr_det_mobile_results_fp32.txt
│ ├── python_ppocr_det_mobile_results_fp16.txt
│ └── python_ppocr_det_mobile_results_fp32.txt
├── supplementary
│ ├── __init__.py
│ ├── config.py
│ ├── custom_op
│ │ ├── custom_relu_op.cc
│ │ ├── custom_relu_op.cu
│ │ └── test.py
│ ├── data.py
│ ├── data_loader.py
│ ├── load_cifar.py
│ ├── loss.py
│ ├── metric.py
│ ├── mv3.py
│ ├── mv3_distill.yml
│ ├── mv3_large_x0_5.yml
│ ├── optimizer.py
│ ├── readme.md
│ ├── requirements.txt
│ ├── slim
│ │ ├── __init__.py
│ │ ├── slim_fpgm.py
│ │ └── slim_quant.py
│ ├── test_tipc
│ │ ├── common_func.sh
│ │ ├── test_train_python.sh
│ │ ├── tipc_train.png
│ │ ├── train_infer_python.txt
│ │ ├── train_infer_python_FPGM.txt
│ │ ├── train_infer_python_FPGM_fleet.txt
│ │ ├── train_infer_python_PACT.txt
│ │ ├── train_infer_python_PACT_fleet.txt
│ │ └── train_infer_python_fleet.txt
│ ├── train.py
│ ├── train.sh
│ └── utils.py
├── test_inference_cpp.sh
├── test_inference_python.sh
├── test_lite_arm_cpp.sh
├── test_paddle2onnx.sh
├── test_ptq_inference_python.sh
├── test_serving_infer_cpp.sh
├── test_serving_infer_python.sh
├── test_train_inference_python.sh
├── test_train_inference_python_npu.sh
├── test_train_inference_python_xpu.sh
└── web
│ ├── expect.json
│ ├── index.html
│ ├── index.test.js
│ ├── jest-puppeteer.config.js
│ ├── jest.config.js
│ └── test.jpg
├── tests
├── __init__.py
├── models
│ ├── __init__.py
│ ├── image_classification_common.py
│ ├── object_detection_common.py
│ ├── test_doc_img_orientation_classifcation.py
│ ├── test_doc_vlm.py
│ ├── test_formula_recognition.py
│ ├── test_layout_detection.py
│ ├── test_seal_text_detection.py
│ ├── test_table_cells_detection.py
│ ├── test_table_classifcation.py
│ ├── test_table_structure_recognition.py
│ ├── test_text_detection.py
│ ├── test_text_image_unwarping.py
│ ├── test_text_recognition.py
│ └── test_textline_orientation_classifcation.py
├── pipelines
│ ├── __init__.py
│ ├── test_doc_preprocessor.py
│ ├── test_doc_understanding.py
│ ├── test_formula_recognition.py
│ ├── test_ocr.py
│ ├── test_pp_chatocrv4_doc.py
│ ├── test_pp_doctranslation.py
│ ├── test_pp_structurev3.py
│ ├── test_seal_rec.py
│ └── test_table_recognition_v2.py
├── test_cls_postprocess.py
├── test_files
│ ├── book.jpg
│ ├── book_rot180.jpg
│ ├── doc_with_formula.png
│ ├── formula.png
│ ├── medal_table.png
│ ├── seal.png
│ ├── table.jpg
│ ├── textline.png
│ └── textline_rot180.jpg
├── test_formula_model.py
├── test_iaa_augment.py
├── test_ppstructure.py
└── testing_utils.py
├── tools
├── __init__.py
├── end2end
│ ├── convert_ppocr_label.py
│ ├── draw_html.py
│ ├── eval_end2end.py
│ └── readme.md
├── eval.py
├── export_center.py
├── export_model.py
├── infer
│ ├── predict_cls.py
│ ├── predict_det.py
│ ├── predict_e2e.py
│ ├── predict_rec.py
│ ├── predict_sr.py
│ ├── predict_system.py
│ └── utility.py
├── infer_cls.py
├── infer_det.py
├── infer_e2e.py
├── infer_kie.py
├── infer_kie_token_ser.py
├── infer_kie_token_ser_re.py
├── infer_rec.py
├── infer_sr.py
├── infer_table.py
├── naive_sync_bn.py
├── program.py
├── test_hubserving.py
└── train.py
└── train.sh
/.clang_format.hook:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | readonly VERSION="13.0.0"
5 |
6 | version=$(clang-format -version)
7 |
8 | if ! [[ $(python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}') -ge 36 ]]; then
9 | echo "clang-format installation by pip need python version great equal 3.6,
10 | please change the default python to higher version."
11 | exit 1
12 | fi
13 |
14 | if ! [[ $version == *"$VERSION"* ]]; then
15 | # low version of pip may not have the source of clang-format whl
16 | pip install --upgrade pip
17 | pip install clang-format==13.0.0
18 | fi
19 |
20 | clang-format $@
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: 🙏 Q&A
4 | url: https://github.com/PaddlePaddle/PaddleOCR/discussions/categories/q-a
5 | about: Ask the community for help
6 | - name: 💡 Feature requests and ideas
7 | url: https://github.com/PaddlePaddle/PaddleOCR/discussions/categories/ideas
8 | about: Share ideas for new features
9 | - name: 🙌 Show and tell
10 | url: https://github.com/PaddlePaddle/PaddleOCR/discussions/categories/show-and-tell
11 | about: Show off something you've made
12 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # Keep GitHub Actions up to date with GitHub's Dependabot...
2 | # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
3 | # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
4 | version: 2
5 | updates:
6 | - package-ecosystem: github-actions
7 | directory: /
8 | groups:
9 | github-actions:
10 | patterns:
11 | - "*" # Group all Actions updates into a single larger pull request
12 | schedule:
13 | interval: weekly
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | .ipynb_checkpoints/
4 | *.py[cod]
5 | *$py.class
6 |
7 | # C extensions
8 | *.so
9 |
10 | inference/
11 | inference_results/
12 | output/
13 | train_data/
14 | log/
15 | *.DS_Store
16 | *.vs
17 | *.user
18 | *~
19 | *.vscode
20 | *.idea
21 |
22 | *.log
23 | .clang-format
24 | .clang_format.hook
25 |
26 | build/
27 | dist/
28 | paddleocr.egg-info/
29 | /deploy/android_demo/app/OpenCV/
30 | /deploy/android_demo/app/PaddleLite/
31 | /deploy/android_demo/app/.cxx/
32 | /deploy/android_demo/app/cache/
33 | test_tipc/web/models/
34 | test_tipc/web/node_modules/
35 |
--------------------------------------------------------------------------------
/.lycheeignore:
--------------------------------------------------------------------------------
1 | zhuanlan.zhihu.com/*
2 | https://demo.doctrp.top/
3 | http://127.0.0.1:8001/
4 | http://localhost:9003
5 | https://rrc.cvc.uab.es/
6 |
--------------------------------------------------------------------------------
/.style.yapf:
--------------------------------------------------------------------------------
1 | [style]
2 | based_on_style = pep8
3 | column_limit = 80
4 |
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | www.paddleocr.ai
2 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | prune .github
2 | prune applications
3 | prune benchmark
4 | prune configs
5 | prune deploy
6 | prune doc
7 | prune docs
8 | prune overrides
9 | prune ppocr/ext_op
10 | prune ppocr/losses
11 | prune ppocr/metrics
12 | prune ppocr/modeling
13 | prune ppocr/optimizer
14 | prune ppstructure/docs
15 | prune test_tipc
16 | prune tests
17 | exclude .clang_format.hook
18 | exclude .gitignore
19 | exclude .pre-commit-config.yaml
20 | exclude .style.yapf
21 | exclude mkdocs.yml
22 | exclude train.sh
23 |
--------------------------------------------------------------------------------
/applications/README.md:
--------------------------------------------------------------------------------
1 | 移步[docs](https://www.paddleocr.ai/v2.10.0/applications/overview.html)
2 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/.gitattributes:
--------------------------------------------------------------------------------
1 | *.html linguist-language=python
2 | *.ipynb linguist-language=python
3 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.pth
3 | *.pyc
4 | *.pyo
5 | *.log
6 | *.tmp
7 | *.pkl
8 | __pycache__/
9 | .idea/
10 | output/
11 | test/*.jpg
12 | datasets/
13 | index/
14 | train_log/
15 | log/
16 | profiling_log/
17 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/base/__init__.py:
--------------------------------------------------------------------------------
1 | from .base_trainer import BaseTrainer
2 | from .base_dataset import BaseDataSet
3 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/data_loader/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/12/4 10:53
3 | # @Author : zhoujun
4 | from .iaa_augment import IaaAugment
5 | from .augment import *
6 | from .random_crop_data import EastRandomCropData, PSERandomCrop
7 | from .make_border_map import MakeBorderMap
8 | from .make_shrink_map import MakeShrinkMap
9 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/environment.yml:
--------------------------------------------------------------------------------
1 | name: dbnet
2 | channels:
3 | - conda-forge
4 | - defaults
5 | dependencies:
6 | - anyconfig==0.9.10
7 | - future==0.18.2
8 | - imgaug==0.4.0
9 | - matplotlib==3.1.2
10 | - numpy==1.17.4
11 | - opencv
12 | - pyclipper
13 | - PyYAML==5.2
14 | - scikit-image==0.16.2
15 | - Shapely==1.6.4
16 | - tensorboard=2
17 | - tqdm==4.40.1
18 | - ipython
19 | - pip
20 | - pip:
21 | - polygon3
22 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/eval.sh:
--------------------------------------------------------------------------------
1 | CUDA_VISIBLE_DEVICES=0 python3 tools/eval.py --model_path ''
2 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/imgs/paper/db.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/benchmark/PaddleOCR_DBNet/imgs/paper/db.jpg
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/models/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/8/23 21:55
3 | # @Author : zhoujun
4 | import copy
5 | from .model import Model
6 | from .losses import build_loss
7 |
8 | __all__ = ["build_loss", "build_model"]
9 | support_model = ["Model"]
10 |
11 |
12 | def build_model(config):
13 | """
14 | get architecture model class
15 | """
16 | copy_config = copy.deepcopy(config)
17 | arch_type = copy_config.pop("type")
18 | assert (
19 | arch_type in support_model
20 | ), f"{arch_type} is not developed yet!, only {support_model} are support now"
21 | arch_model = eval(arch_type)(copy_config)
22 | return arch_model
23 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/models/backbone/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/8/23 21:54
3 | # @Author : zhoujun
4 |
5 | from .resnet import *
6 |
7 | __all__ = ["build_backbone"]
8 |
9 | support_backbone = [
10 | "resnet18",
11 | "deformable_resnet18",
12 | "deformable_resnet50",
13 | "resnet50",
14 | "resnet34",
15 | "resnet101",
16 | "resnet152",
17 | ]
18 |
19 |
20 | def build_backbone(backbone_name, **kwargs):
21 | assert (
22 | backbone_name in support_backbone
23 | ), f"all support backbone is {support_backbone}"
24 | backbone = eval(backbone_name)(**kwargs)
25 | return backbone
26 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/models/head/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2020/6/5 11:35
3 | # @Author : zhoujun
4 | from .DBHead import DBHead
5 |
6 | __all__ = ["build_head"]
7 | support_head = ["DBHead"]
8 |
9 |
10 | def build_head(head_name, **kwargs):
11 | assert head_name in support_head, f"all support head is {support_head}"
12 | head = eval(head_name)(**kwargs)
13 | return head
14 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/models/losses/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2020/6/5 11:36
3 | # @Author : zhoujun
4 | import copy
5 | from .DB_loss import DBLoss
6 |
7 | __all__ = ["build_loss"]
8 | support_loss = ["DBLoss"]
9 |
10 |
11 | def build_loss(config):
12 | copy_config = copy.deepcopy(config)
13 | loss_type = copy_config.pop("type")
14 | assert loss_type in support_loss, f"all support loss is {support_loss}"
15 | criterion = eval(loss_type)(**copy_config)
16 | return criterion
17 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/models/neck/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2020/6/5 11:34
3 | # @Author : zhoujun
4 | from .FPN import FPN
5 |
6 | __all__ = ["build_neck"]
7 | support_neck = ["FPN"]
8 |
9 |
10 | def build_neck(neck_name, **kwargs):
11 | assert neck_name in support_neck, f"all support neck is {support_neck}"
12 | neck = eval(neck_name)(**kwargs)
13 | return neck
14 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/multi_gpu_train.sh:
--------------------------------------------------------------------------------
1 | # export NCCL_P2P_DISABLE=1
2 | CUDA_VISIBLE_DEVICES=0,1,2,3 python3 -m paddle.distributed.launch tools/train.py --config_file "config/icdar2015_resnet50_FPN_DBhead_polyLR.yaml"
3 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/post_processing/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/12/5 15:17
3 | # @Author : zhoujun
4 |
5 | from .seg_detector_representer import SegDetectorRepresenter
6 |
7 |
8 | def get_post_processing(config):
9 | try:
10 | cls = eval(config["type"])(**config["args"])
11 | return cls
12 | except:
13 | return None
14 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/predict.sh:
--------------------------------------------------------------------------------
1 | CUDA_VISIBLE_DEVICES=0 python tools/predict.py --model_path model_best.pth --input_folder ./input --output_folder ./output --thre 0.7 --polygon --show --save_result
2 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/requirement.txt:
--------------------------------------------------------------------------------
1 | anyconfig
2 | future
3 | imgaug
4 | matplotlib
5 | numpy
6 | opencv-python
7 | Polygon3
8 | pyclipper
9 | PyYAML
10 | scikit-image
11 | Shapely
12 | tqdm
13 | addict
14 | visualdl
15 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/single_gpu_train.sh:
--------------------------------------------------------------------------------
1 | CUDA_VISIBLE_DEVICES=0 python3 tools/train.py --config_file "config/icdar2015_resnet50_FPN_DBhead_polyLR.yaml"
2 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/test/README.MD:
--------------------------------------------------------------------------------
1 | Place the images that you want to detect here. You better named them as such:
2 | img_10.jpg
3 | img_11.jpg
4 | img_{img_id}.jpg
5 |
6 | For predicting single images, you can change the `img_path` in the `/tools/predict.py` to your image number.
7 |
8 | The result will be saved in the output_folder(default is test/output) you give in predict.sh
9 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/tools/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/12/8 13:14
3 | # @Author : zhoujun
4 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/trainer/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/8/23 21:58
3 | # @Author : zhoujun
4 | from .trainer import Trainer
5 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/8/23 21:58
3 | # @Author : zhoujun
4 | from .util import *
5 | from .metrics import *
6 | from .schedulers import *
7 | from .cal_recall.script import cal_recall_precision_f1
8 | from .ocr_metric import get_metric
9 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/utils/cal_recall/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 1/16/19 6:40 AM
3 | # @Author : zhoujun
4 | from .script import cal_recall_precision_f1
5 |
6 | __all__ = ["cal_recall_precision_f1"]
7 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/utils/ocr_metric/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/12/5 15:36
3 | # @Author : zhoujun
4 | from .icdar2015 import QuadMetric
5 |
6 |
7 | def get_metric(config):
8 | try:
9 | if "args" not in config:
10 | args = {}
11 | else:
12 | args = config["args"]
13 | if isinstance(args, dict):
14 | cls = eval(config["type"])(**args)
15 | else:
16 | cls = eval(config["type"])(args)
17 | return cls
18 | except:
19 | return None
20 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/utils/ocr_metric/icdar2015/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | # @Time : 2019/12/5 15:36
3 | # @Author : zhoujun
4 |
5 | from .quad_metric import QuadMetric
6 |
--------------------------------------------------------------------------------
/benchmark/PaddleOCR_DBNet/utils/ocr_metric/icdar2015/detection/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/benchmark/PaddleOCR_DBNet/utils/ocr_metric/icdar2015/detection/__init__.py
--------------------------------------------------------------------------------
/configs/rec/PP-OCRv3/multi_language/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/configs/rec/PP-OCRv3/multi_language/.gitkeep
--------------------------------------------------------------------------------
/deploy/README_ch.md:
--------------------------------------------------------------------------------
1 | See [link](https://www.paddleocr.ai/main/version3.x/deployment/high_performance_inference.html) for details.
2 |
--------------------------------------------------------------------------------
/deploy/android_demo/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/*
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/det_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/det_0.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/det_180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/det_180.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/det_270.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/det_270.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/det_90.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/det_90.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/rec_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/rec_0.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/rec_0_180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/rec_0_180.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/rec_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/rec_1.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/assets/images/rec_1_180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/assets/images/rec_1_180.jpg
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/cpp/ocr_crnn_process.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by fujiayi on 2020/7/3.
3 | //
4 | #pragma once
5 |
6 | #include "common.h"
7 | #include <opencv2/opencv.hpp>
8 | #include <vector>
9 |
10 | extern const std::vector<int> REC_IMAGE_SHAPE;
11 |
12 | cv::Mat get_rotate_crop_image(const cv::Mat &srcimage,
13 | const std::vector<std::vector<int>> &box);
14 |
15 | cv::Mat crnn_resize_img(const cv::Mat &img, float wh_ratio);
16 |
17 | template <class ForwardIterator>
18 | inline size_t argmax(ForwardIterator first, ForwardIterator last) {
19 | return std::distance(first, std::max_element(first, last));
20 | }
21 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/cpp/ocr_db_post_process.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by fujiayi on 2020/7/2.
3 | //
4 | #pragma once
5 | #include <opencv2/opencv.hpp>
6 | #include <vector>
7 |
8 | std::vector<std::vector<std::vector<int>>>
9 | boxes_from_bitmap(const cv::Mat &pred, const cv::Mat &bitmap);
10 |
11 | std::vector<std::vector<std::vector<int>>>
12 | filter_tag_det_res(const std::vector<std::vector<std::vector<int>>> &o_boxes,
13 | float ratio_h, float ratio_w, const cv::Mat &srcimg);
14 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/cpp/preprocess.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "common.h"
4 | #include <jni.h>
5 | #include <opencv2/opencv.hpp>
6 | cv::Mat bitmap_to_cv_mat(JNIEnv *env, jobject bitmap);
7 |
8 | cv::Mat resize_img(const cv::Mat &img, int height, int width);
9 |
10 | void neon_mean_scale(const float *din, float *dout, int size,
11 | const std::vector<float> &mean,
12 | const std::vector<float> &scale);
13 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/menu/menu_action_options.xml:
--------------------------------------------------------------------------------
1 | <menu xmlns:android="http://schemas.android.com/apk/res/android"
2 | xmlns:app="http://schemas.android.com/apk/res-auto">
3 |
4 | <group>
5 | <item
6 | android:id="@+id/settings"
7 | android:title="Settings..."
8 | app:showAsAction="withText"/>
9 | </group>
10 | </menu>
11 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 | <?xml version="1.0" encoding="utf-8"?>
2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3 | <background android:drawable="@drawable/ic_launcher_background" />
4 | <foreground android:drawable="@drawable/ic_launcher_foreground" />
5 | </adaptive-icon>
6 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 | <?xml version="1.0" encoding="utf-8"?>
2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3 | <background android:drawable="@drawable/ic_launcher_background" />
4 | <foreground android:drawable="@drawable/ic_launcher_foreground" />
5 | </adaptive-icon>
6 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 | <?xml version="1.0" encoding="utf-8"?>
2 | <resources>
3 | <color name="colorPrimary">#008577</color>
4 | <color name="colorPrimaryDark">#00574B</color>
5 | <color name="colorAccent">#D81B60</color>
6 | </resources>
7 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/main/res/xml/file_paths.xml:
--------------------------------------------------------------------------------
1 | <?xml version="1.0" encoding="utf-8"?>
2 | <paths xmlns:android="http://schemas.android.com/apk/res/android">
3 | <external-files-path name="my_images" path="Pictures" />
4 | </paths>
5 |
--------------------------------------------------------------------------------
/deploy/android_demo/app/src/test/java/com/baidu/paddle/lite/demo/ocr/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.baidu.paddle.lite.demo.ocr;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/deploy/android_demo/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | google()
6 | jcenter()
7 |
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:4.1.2'
11 |
12 | // NOTE: Do not place your application dependencies here; they belong
13 | // in the individual module build.gradle files
14 | }
15 | }
16 |
17 | allprojects {
18 | repositories {
19 | google()
20 | jcenter()
21 |
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/deploy/android_demo/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/android_demo/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/deploy/android_demo/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Feb 04 20:28:08 CST 2021
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
7 |
--------------------------------------------------------------------------------
/deploy/android_demo/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/deploy/avh/.gitignore:
--------------------------------------------------------------------------------
1 | include/inputs.h
2 | include/outputs.h
3 |
4 | __pycache__/
5 | build/
6 |
--------------------------------------------------------------------------------
/deploy/avh/imgs_words_en/word_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/avh/imgs_words_en/word_10.png
--------------------------------------------------------------------------------
/deploy/avh/imgs_words_en/word_116.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/avh/imgs_words_en/word_116.png
--------------------------------------------------------------------------------
/deploy/avh/requirements.txt:
--------------------------------------------------------------------------------
1 | paddlepaddle
2 | numpy
3 | opencv-python
4 | typing-extensions
5 |
--------------------------------------------------------------------------------
/deploy/cpp_infer/src/configs/doc_preprocessor.yaml:
--------------------------------------------------------------------------------
1 |
2 | pipeline_name: doc_preprocessor
3 |
4 | use_doc_orientation_classify: True
5 | use_doc_unwarping: True
6 | batch_size: 1
7 | SubModules:
8 | DocOrientationClassify:
9 | module_name: doc_text_orientation
10 | model_name: PP-LCNet_x1_0_doc_ori
11 | model_dir: null
12 | DocUnwarping:
13 | module_name: image_unwarping
14 | model_name: UVDoc
15 | model_dir: null
16 |
--------------------------------------------------------------------------------
/deploy/cpp_infer/tools/build.sh:
--------------------------------------------------------------------------------
1 | OPENCV_DIR=your_opencv_dir
2 | LIB_DIR=your_paddle_lib_dir
3 | CUDA_LIB_DIR=your_cuda_lib_dir
4 | CUDNN_LIB_DIR=your_cudnn_lib_dir
5 |
6 | BUILD_DIR=build
7 | rm -rf ${BUILD_DIR}
8 | mkdir ${BUILD_DIR}
9 | cd ${BUILD_DIR}
10 |
11 | cmake .. \
12 | -DPADDLE_LIB=${LIB_DIR} \
13 | -DWITH_MKL=ON \
14 | -DWITH_GPU=OFF \
15 | -DWITH_STATIC_LIB=OFF \
16 | -DWITH_TENSORRT=OFF \
17 | -DOPENCV_DIR=${OPENCV_DIR} \
18 | -DCUDNN_LIB=${CUDNN_LIB_DIR} \
19 | -DCUDA_LIB=${CUDA_LIB_DIR} \
20 | -DUSE_FREETYPE=OFF
21 |
22 | make -j
23 |
--------------------------------------------------------------------------------
/deploy/hubserving/kie_ser/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/kie_ser/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "kie_ser": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8871,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/kie_ser_re/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/kie_ser_re/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "kie_ser_re": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8872,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_cls/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_cls/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "ocr_cls": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8866,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_det/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_det/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "ocr_det": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8865,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_rec/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_rec/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "ocr_rec": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8867,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_system/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/ocr_system/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "ocr_system": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8868,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_layout/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_layout/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "structure_layout": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8871,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_system/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_system/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "structure_system": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8870,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_table/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/deploy/hubserving/structure_table/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules_info": {
3 | "structure_table": {
4 | "init_args": {
5 | "version": "1.0.0",
6 | "use_gpu": true
7 | },
8 | "predict_args": {
9 | }
10 | }
11 | },
12 | "port": 8869,
13 | "use_multiprocess": false,
14 | "workers": 2
15 | }
16 |
--------------------------------------------------------------------------------
/deploy/ios_demo/README.md:
--------------------------------------------------------------------------------
1 | # ios Demo
2 |
3 | 参考 https://github.com/PaddlePaddle/Paddle-Lite-Demo/blob/develop/ocr/ios/ppocr_demo/ppocr_demo/README.md
4 |
--------------------------------------------------------------------------------
/deploy/lite/config.txt:
--------------------------------------------------------------------------------
1 | max_side_len 960
2 | det_db_thresh 0.3
3 | det_db_box_thresh 0.5
4 | det_db_unclip_ratio 1.6
5 | det_db_use_dilate 0
6 | det_use_polygon_score 1
7 | use_direction_classify 1
8 | rec_image_height 48
9 |
--------------------------------------------------------------------------------
/deploy/lite/imgs/lite_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/lite/imgs/lite_demo.png
--------------------------------------------------------------------------------
/deploy/lite/prepare.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir -p $1/demo/cxx/ocr/debug/
4 | cp ../../ppocr/utils/ppocr_keys_v1.txt $1/demo/cxx/ocr/debug/
5 | cp -r ./* $1/demo/cxx/ocr/
6 | cp ./config.txt $1/demo/cxx/ocr/debug/
7 | cp ../../doc/imgs/11.jpg $1/demo/cxx/ocr/debug/
8 |
9 | echo "Prepare Done"
10 |
--------------------------------------------------------------------------------
/deploy/paddle2onnx/images/lite_demo_onnx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/paddle2onnx/images/lite_demo_onnx.png
--------------------------------------------------------------------------------
/deploy/paddle2onnx/images/lite_demo_paddle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/paddle2onnx/images/lite_demo_paddle.png
--------------------------------------------------------------------------------
/deploy/paddlecloud/images/architecture.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/paddlecloud/images/architecture.jpeg
--------------------------------------------------------------------------------
/deploy/paddlecloud/images/paddlecloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/deploy/paddlecloud/images/paddlecloud.png
--------------------------------------------------------------------------------
/doc/fonts/arabic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/arabic.ttf
--------------------------------------------------------------------------------
/doc/fonts/chinese_cht.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/chinese_cht.ttf
--------------------------------------------------------------------------------
/doc/fonts/cyrillic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/cyrillic.ttf
--------------------------------------------------------------------------------
/doc/fonts/french.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/french.ttf
--------------------------------------------------------------------------------
/doc/fonts/german.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/german.ttf
--------------------------------------------------------------------------------
/doc/fonts/hindi.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/hindi.ttf
--------------------------------------------------------------------------------
/doc/fonts/japan.ttc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/japan.ttc
--------------------------------------------------------------------------------
/doc/fonts/kannada.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/kannada.ttf
--------------------------------------------------------------------------------
/doc/fonts/korean.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/korean.ttf
--------------------------------------------------------------------------------
/doc/fonts/latin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/latin.ttf
--------------------------------------------------------------------------------
/doc/fonts/marathi.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/marathi.ttf
--------------------------------------------------------------------------------
/doc/fonts/nepali.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/nepali.ttf
--------------------------------------------------------------------------------
/doc/fonts/persian.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/persian.ttf
--------------------------------------------------------------------------------
/doc/fonts/simfang.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/simfang.ttf
--------------------------------------------------------------------------------
/doc/fonts/spanish.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/spanish.ttf
--------------------------------------------------------------------------------
/doc/fonts/tamil.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/tamil.ttf
--------------------------------------------------------------------------------
/doc/fonts/telugu.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/telugu.ttf
--------------------------------------------------------------------------------
/doc/fonts/urdu.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/urdu.ttf
--------------------------------------------------------------------------------
/doc/fonts/uyghur.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/doc/fonts/uyghur.ttf
--------------------------------------------------------------------------------
/docs/community/images/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/community/images/banner.png
--------------------------------------------------------------------------------
/docs/community/images/pr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/community/images/pr.png
--------------------------------------------------------------------------------
/docs/community/images/precommit_pass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/community/images/precommit_pass.png
--------------------------------------------------------------------------------
/docs/data_anno_synth/data_synthesis.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | # 数据合成工具
6 |
7 | 除了开源数据,用户还可使用合成工具自行合成。这里整理了常用的数据合成工具,持续更新中,欢迎各位小伙伴贡献工具~
8 |
9 | - [text_renderer (old version)](https://github.com/Sanster/text_renderer)
10 | - [text_renderer (new version)](https://github.com/oh-my-ocr/text_renderer)
11 | - [SynthText](https://github.com/ankush-me/SynthText)
12 | - [SynthText_Chinese_version](https://github.com/Snowty/SynthText_Chinese)
13 | - [TextRecognitionDataGenerator](https://github.com/Belval/TextRecognitionDataGenerator)
14 | - [SynthText3D](https://github.com/MhLiao/SynthText3D)
15 | - [UnrealText](https://github.com/Jyouhou/UnrealText/)
16 | - [SynthTIGER](https://github.com/clovaai/synthtiger)
17 |
--------------------------------------------------------------------------------
/docs/data_anno_synth/images/VoTT.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/data_anno_synth/images/VoTT.jpg
--------------------------------------------------------------------------------
/docs/data_anno_synth/images/labelimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/data_anno_synth/images/labelimg.jpg
--------------------------------------------------------------------------------
/docs/data_anno_synth/images/labelme.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/data_anno_synth/images/labelme.jpg
--------------------------------------------------------------------------------
/docs/data_anno_synth/images/roLabelImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/data_anno_synth/images/roLabelImg.png
--------------------------------------------------------------------------------
/docs/data_anno_synth/overview.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | - Semi-automatic Annotation Tool: PPOCRLabel: <https://github.com/PFCCLab/PPOCRLabel/blob/main/README_ch.md>
6 | - Data Synthesis Tool: Style-Text: <https://github.com/PFCCLab/StyleText/blob/main/README_ch.md>
7 |
--------------------------------------------------------------------------------
/docs/data_anno_synth/overview.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 |
6 | - 半自动标注工具 PPOCRLabel: <https://github.com/PFCCLab/PPOCRLabel/blob/main/README_ch.md>
7 | - 数据合成工具 Style-Text: <https://github.com/PFCCLab/StyleText/blob/main/README_ch.md>
8 |
--------------------------------------------------------------------------------
/docs/datasets/images/20210816_210413.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/20210816_210413.gif
--------------------------------------------------------------------------------
/docs/datasets/images/ArT.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ArT.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/CASIA_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/CASIA_0.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/CDLA_demo/val_0633.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/CDLA_demo/val_0633.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/CDLA_demo/val_0941.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/CDLA_demo/val_0941.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/LSVT_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/LSVT_1.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/LSVT_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/LSVT_2.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/captcha_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/captcha_demo.png
--------------------------------------------------------------------------------
/docs/datasets/images/ccpd_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ccpd_demo.png
--------------------------------------------------------------------------------
/docs/datasets/images/ch_doc1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ch_doc1.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/ch_doc3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ch_doc3.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/ch_street_rec_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ch_street_rec_1.png
--------------------------------------------------------------------------------
/docs/datasets/images/ch_street_rec_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ch_street_rec_2.png
--------------------------------------------------------------------------------
/docs/datasets/images/cmb_demo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/cmb_demo.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/crohme_demo/hme_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/crohme_demo/hme_00.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/crohme_demo/hme_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/crohme_demo/hme_01.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/crohme_demo/hme_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/crohme_demo/hme_02.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/funsd_demo/gt_train_00040534.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/funsd_demo/gt_train_00040534.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/funsd_demo/gt_train_00070353.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/funsd_demo/gt_train_00070353.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/ic15_location_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/ic15_location_download.png
--------------------------------------------------------------------------------
/docs/datasets/images/icdar_rec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/icdar_rec.png
--------------------------------------------------------------------------------
/docs/datasets/images/nist_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/nist_demo.png
--------------------------------------------------------------------------------
/docs/datasets/images/pme_demo/0000013.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/pme_demo/0000013.png
--------------------------------------------------------------------------------
/docs/datasets/images/pme_demo/0000099.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/pme_demo/0000099.png
--------------------------------------------------------------------------------
/docs/datasets/images/pme_demo/0000295.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/pme_demo/0000295.png
--------------------------------------------------------------------------------
/docs/datasets/images/pme_demo/0000562.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/pme_demo/0000562.png
--------------------------------------------------------------------------------
/docs/datasets/images/publaynet_demo/gt_PMC3724501_00006.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/publaynet_demo/gt_PMC3724501_00006.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/publaynet_demo/gt_PMC5086060_00002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/publaynet_demo/gt_PMC5086060_00002.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/rctw.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/rctw.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/table_PubTabNet_demo/PMC524509_007_00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/table_PubTabNet_demo/PMC524509_007_00.png
--------------------------------------------------------------------------------
/docs/datasets/images/table_PubTabNet_demo/PMC535543_007_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/table_PubTabNet_demo/PMC535543_007_01.png
--------------------------------------------------------------------------------
/docs/datasets/images/table_tal_demo/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/table_tal_demo/1.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/table_tal_demo/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/table_tal_demo/2.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/tablebank_demo/004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/tablebank_demo/004.png
--------------------------------------------------------------------------------
/docs/datasets/images/tablebank_demo/005.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/tablebank_demo/005.png
--------------------------------------------------------------------------------
/docs/datasets/images/wildreceipt_demo/1bbe854b8817dedb8585e0732089fd1f752d2cec.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/wildreceipt_demo/1bbe854b8817dedb8585e0732089fd1f752d2cec.jpeg
--------------------------------------------------------------------------------
/docs/datasets/images/wildreceipt_demo/2769.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/wildreceipt_demo/2769.jpeg
--------------------------------------------------------------------------------
/docs/datasets/images/xfund_demo/gt_zh_train_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/xfund_demo/gt_zh_train_0.jpg
--------------------------------------------------------------------------------
/docs/datasets/images/xfund_demo/gt_zh_train_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/datasets/images/xfund_demo/gt_zh_train_1.jpg
--------------------------------------------------------------------------------
/docs/images/00006737.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/00006737.jpg
--------------------------------------------------------------------------------
/docs/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240708082238739.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240708082238739.jpg
--------------------------------------------------------------------------------
/docs/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240708082310650.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240708082310650.jpg
--------------------------------------------------------------------------------
/docs/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240708082247529.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240708082247529.png
--------------------------------------------------------------------------------
/docs/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240708082316558.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240708082316558.jpg
--------------------------------------------------------------------------------
/docs/images/186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d-20240708082323916.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d-20240708082323916.png
--------------------------------------------------------------------------------
/docs/images/197464552-69de557f-edff-4c7f-acbf-069df1ba097f-20240708082253634.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/197464552-69de557f-edff-4c7f-acbf-069df1ba097f-20240708082253634.png
--------------------------------------------------------------------------------
/docs/images/Banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/Banner.png
--------------------------------------------------------------------------------
/docs/images/Banner_cn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/Banner_cn.png
--------------------------------------------------------------------------------
/docs/images/Banner_ja.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/Banner_ja.png
--------------------------------------------------------------------------------
/docs/images/PP-OCRv3-pic001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/PP-OCRv3-pic001.jpg
--------------------------------------------------------------------------------
/docs/images/PP-OCRv3-pic002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/PP-OCRv3-pic002.jpg
--------------------------------------------------------------------------------
/docs/images/PP-OCRv3-pic003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/PP-OCRv3-pic003.jpg
--------------------------------------------------------------------------------
/docs/images/en_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/en_1.png
--------------------------------------------------------------------------------
/docs/images/en_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/en_2.png
--------------------------------------------------------------------------------
/docs/images/en_3-0398013.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/en_3-0398013.png
--------------------------------------------------------------------------------
/docs/images/en_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/en_3.png
--------------------------------------------------------------------------------
/docs/images/japan_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/japan_2.jpg
--------------------------------------------------------------------------------
/docs/images/korean_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/korean_1.jpg
--------------------------------------------------------------------------------
/docs/images/ppocrv4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/ppocrv4.png
--------------------------------------------------------------------------------
/docs/images/ppocrv4_en.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/ppocrv4_en.jpg
--------------------------------------------------------------------------------
/docs/images/ppstructure-20240708082235651.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/ppstructure-20240708082235651.gif
--------------------------------------------------------------------------------
/docs/images/test_add_91.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/images/test_add_91.jpg
--------------------------------------------------------------------------------
/docs/version2.x/README.en.md:
--------------------------------------------------------------------------------
1 | # Features of the 2.x Branch
2 |
3 | Due to the upgrade of the 3.x branch, the wheel package has undergone refactoring, resulting in some models and features no longer being compatible with the older branch. To ensure that users relying on the 2.x branch's features can continue using them, we have retained the code related to the 2.x branch in this directory.
4 |
--------------------------------------------------------------------------------
/docs/version2.x/README.md:
--------------------------------------------------------------------------------
1 | # 关于 2.x 分支的功能
2 |
3 | 由于 3.x 分支的升级,wheel 包经历了重构,导致部分模型和功能与旧版分支不再兼容。为了使得依赖于 2.x 分支功能的用户能够继续使用这些功能,我们在此目录中保留了与 2.x 分支相关的代码。
4 |
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/end_to_end/images/e2e_res_img293_pgnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/end_to_end/images/e2e_res_img293_pgnet.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/end_to_end/images/e2e_res_img295_pgnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/end_to_end/images/e2e_res_img295_pgnet.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/end_to_end/images/e2e_res_img623_pgnet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/end_to_end/images/e2e_res_img623_pgnet.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/end_to_end/images/e2e_res_img_10_pgnet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/end_to_end/images/e2e_res_img_10_pgnet.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/end_to_end/images/pgnet_framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/end_to_end/images/pgnet_framework.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/formula_recognition/images/hme_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/formula_recognition/images/hme_00.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/formula_recognition/requirements.txt:
--------------------------------------------------------------------------------
1 | tokenizers==0.19.1
2 | imagesize
3 | ftfy
4 | Wand
5 |
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/kie/images/sdmgr_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/kie/images/sdmgr_result.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/kie/images/zh_val_42_re.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/kie/images/zh_val_42_re.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/kie/images/zh_val_42_ser.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/kie/images/zh_val_42_ser.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/super_resolution/images/sr_word_52-20240704093810101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/super_resolution/images/sr_word_52-20240704093810101.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/super_resolution/images/sr_word_52-20240704094309205.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/super_resolution/images/sr_word_52-20240704094309205.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/super_resolution/images/sr_word_52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/super_resolution/images/sr_word_52.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/super_resolution/images/word_52-20240704094304807.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/super_resolution/images/word_52-20240704094304807.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/super_resolution/images/word_52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/super_resolution/images/word_52.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img623_ct.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img623_ct.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img623_fce.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img623_fce.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img623_sast.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img623_sast.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_db.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_db.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_east.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_east.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_fce.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_fce.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_pse.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_pse.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_pse_poly.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_pse_poly.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_detection/images/det_res_img_10_sast.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_detection/images/det_res_img_10_sast.jpg
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_recognition/images/word_1-20240704183926496.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_recognition/images/word_1-20240704183926496.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_recognition/images/word_1-20240704184113913.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_recognition/images/word_1-20240704184113913.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_recognition/images/word_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_recognition/images/word_10.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_recognition/images/word_336-20240705082445918.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_recognition/images/word_336-20240705082445918.png
--------------------------------------------------------------------------------
/docs/version2.x/algorithm/text_recognition/images/word_336.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/algorithm/text_recognition/images/word_336.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/00057937.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/00057937.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/196874354-1b5eecb0-f273-403c-aa6c-4463bf6d78db.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/196874354-1b5eecb0-f273-403c-aa6c-4463bf6d78db.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/197918203-c7d46f8a-75d4-47f9-9687-405ee0d6727e.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/197918203-c7d46f8a-75d4-47f9-9687-405ee0d6727e.gif
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/68747470733a.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/68747470733a.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/68747470733a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/68747470733a.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/68747470733a2f2f7061.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/68747470733a2f2f7061.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/68747470733adfd.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/68747470733adfd.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/cmake_step1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/cmake_step1.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/cmake_step2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/cmake_step2.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/cmake_step3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/cmake_step3.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/cmake_step4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/cmake_step4.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/deployment.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/deployment.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/deployment_en.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/deployment_en.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_00018069.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_00018069.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_french_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_french_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_img623_sast.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_img623_sast.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_img_10_db.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_img_10_db.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_img_10_east.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_img_10_east.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/det_res_img_10_sast.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/det_res_img_10_sast.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/doc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/doc.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/img_10_east_starnet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/img_10_east_starnet.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/img_12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/img_12.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/img_12_result.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/img_12_result.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/import_demo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/import_demo.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/lite_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/lite_demo.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/lite_demo_onnx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/lite_demo_onnx.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/lite_demo_paddle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/lite_demo_paddle.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/pipeline_result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/pipeline_result.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/result.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/result.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/results.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_cls.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_cls.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_cls_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_cls_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_det.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_det.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_det_cls_rec-20240806100407184.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_det_cls_rec-20240806100407184.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_det_cls_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_det_cls_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_det_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_det_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/run_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/run_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/start_server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/start_server.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/system_res_00018069_v3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/system_res_00018069_v3.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/vs_step1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/vs_step1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/word_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/word_1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/word_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/word_1.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/word_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/word_10.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/word_336.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/word_336.png
--------------------------------------------------------------------------------
/docs/version2.x/legacy/images/word_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/legacy/images/word_4.jpg
--------------------------------------------------------------------------------
/docs/version2.x/model/hardware/supported_models.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | typora-copy-images-to: images
4 | ---
5 |
6 | # PaddleOCR模型列表
7 |
8 | *多硬件安装方式请参考[多硬件安装文档](./install_other_devices.md)*
9 |
10 | | 模型名称 | 昇腾NPU |
11 | | ---------------- | -------- |
12 | | PP-OCRv4 | √ |
13 |
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/clone.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | # 项目克隆
6 |
7 | ## 1. 克隆PaddleOCR repo代码
8 |
9 | ```bash linenums="1"
10 | git clone https://github.com/PaddlePaddle/PaddleOCR
11 | ```
12 |
13 | 如果因为网络问题无法pull成功,也可选择使用码云上的托管:
14 |
15 | ```bash linenums="1"
16 | git clone https://gitee.com/paddlepaddle/PaddleOCR
17 | ```
18 |
19 | 注:码云托管代码可能无法实时同步本github项目更新,存在3~5天延时,请优先使用推荐方式。
20 |
21 | ## 2. 安装第三方库
22 |
23 | ```bash linenums="1"
24 | cd PaddleOCR
25 | pip3 install -r requirements.txt
26 | ```
27 |
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/11_det.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/11_det.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/11_det_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/11_det_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/12_det.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/12_det.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/12_det_rec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/12_det_rec.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/187578511-9f3c351e-b68c-4359-a6e5-475810993c61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/187578511-9f3c351e-b68c-4359-a6e5-475810993c61.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/254-20240709081442260.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/254-20240709081442260.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/5e612.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/5e612.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/DF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/DF.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/GTC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/GTC.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/LCNet_SVTR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/LCNet_SVTR.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/LKPAN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/LKPAN.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/PFHead.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/PFHead.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/RSEFPN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/RSEFPN.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/SSL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/SSL.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/UIM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/UIM.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/arabic_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/arabic_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/focal_loss_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/focal_loss_image.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/french_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/french_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/img_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/img_02.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/img_12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/img_12.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/japan_2-20240709081138234.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/japan_2-20240709081138234.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/korean.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/korean.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/korean_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/korean_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/multi_scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/multi_scale.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/ppocrv3_det_cml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/ppocrv3_det_cml.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/ppocrv3_framework-0052468.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/ppocrv3_framework-0052468.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/ppocrv4_det_cml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/ppocrv4_det_cml.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/ppocrv4_framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/ppocrv4_framework.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/ppocrv4_gtc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/ppocrv4_gtc.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/rec_algo_compare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/rec_algo_compare.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/recconaug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/recconaug.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/svtr_g2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/svtr_g2.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/svtr_g4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/svtr_g4.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/svtr_tiny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/svtr_tiny.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/teacher_dml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/teacher_dml.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/v3_rec_pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/v3_rec_pipeline.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/v4_rec_pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/v4_rec_pipeline.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/blog/images/word_308.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/blog/images/word_308.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/254.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/254.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/Anaconda_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/Anaconda_download.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic001.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic002.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv2/PP-OCRv2-pic003.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic001.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic002.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/ch/PP-OCRv3-pic003.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/en/en_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/en/en_1.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/en/en_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/en/en_2.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/en/en_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/en/en_3.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/en/en_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/en/en_4.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/multi_lang/japan_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/multi_lang/japan_2.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/PP-OCRv3/multi_lang/korean_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/PP-OCRv3/multi_lang/korean_1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/anaconda_download-20240704081644684.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/anaconda_download-20240704081644684.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/anaconda_install_env.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/anaconda_install_env.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/anaconda_install_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/anaconda_install_folder.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/anaconda_prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/anaconda_prompt.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/anaconda_start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/anaconda_start.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00006737.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00006737.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00009282.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00009282.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00015504.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00015504.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00059985.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00059985.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00111002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/00111002.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/img_12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/img_12.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/rotate_00052204.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/rotate_00052204.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/test_add_91.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ch_ppocr_mobile_v2.0/test_add_91.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/conda_activate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/conda_activate.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/conda_create-20240704081656378.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/conda_create-20240704081656378.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/conda_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/conda_create.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/conda_list_env.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/conda_list_env.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/conda_new_env.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/conda_new_env.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/model_prod_flow_ch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/model_prod_flow_ch.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/model_prod_flow_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/model_prod_flow_en.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/arabic_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/arabic_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/en_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/en_1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/en_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/en_2.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/en_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/en_3.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/french_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/french_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/img_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/img_01.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/img_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/img_02.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/img_12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/img_12.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/japan_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/japan_2.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/multi_lang/korean_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/multi_lang/korean_0.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ppocrv2_framework.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ppocrv2_framework.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/images/ppocrv3_framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/images/ppocrv3_framework.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/angle_class_example.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/angle_class_example.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/en_paper.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/en_paper.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/icdar_rec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/icdar_rec.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/image-20240710082046188.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/image-20240710082046188.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/long_text_examples.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/long_text_examples.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/word_1-20240704092705543.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/word_1-20240704092705543.png
--------------------------------------------------------------------------------
/docs/version2.x/ppocr/model_train/images/word_1-20240704092713071.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppocr/model_train/images/word_1-20240704092713071.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/184526682-8b810397-5a93-4395-93da-37b8b8494c41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/184526682-8b810397-5a93-4395-93da-37b8b8494c41.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/184526785-c3d2d310-cd57-4d31-b933-912716b29856.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/184526785-c3d2d310-cd57-4d31-b933-912716b29856.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/184528728-626f77eb-fd9f-4709-a7dc-5411cc417dab.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/184528728-626f77eb-fd9f-4709-a7dc-5411cc417dab.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/184588654-d87f54f3-13ab-42c4-afc0-da79bead3f14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/184588654-d87f54f3-13ab-42c4-afc0-da79bead3f14.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/3c200538-f2e6-4d79-847a-4c4587efa9f0.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/3c200538-f2e6-4d79-847a-4c4587efa9f0.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/blog/images/d0858341-a889-483c-8373-5ecaa57f3b20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/blog/images/d0858341-a889-483c-8373-5ecaa57f3b20.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240705094001639.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808-20240705094001639.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240705094037073.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb-20240705094037073.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68-20240705093932704.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68-20240705093932704.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240705094013236.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a-20240705094013236.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240705094043151.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f-20240705094043151.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/186094813-3a8e16cc-42e5-4982-b9f4-0134dfb5688d.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/186095641-5843b4da-34d7-4c1c-943a-b1036a859fe3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/186095641-5843b4da-34d7-4c1c-943a-b1036a859fe3.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/186095702-9acef674-12af-4d09-97fc-abf4ab32600e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/186095702-9acef674-12af-4d09-97fc-abf4ab32600e.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/195265734-6f4b5a7f-59b1-4fcc-af6d-89afc9bd51e1-20240705140834325.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/195265734-6f4b5a7f-59b1-4fcc-af6d-89afc9bd51e1-20240705140834325.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/197464552-69de557f-edff-4c7f-acbf-069df1ba097f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/197464552-69de557f-edff-4c7f-acbf-069df1ba097f.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/799450d4-d2c5-4b61-b490-e160dc0f515c.jpeg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/ppstructure.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/ppstructure.gif
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/recovery.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/recovery.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/images/table_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/images/table_1.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/infer_deploy/images/deployment-20240704135743247.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/infer_deploy/images/deployment-20240704135743247.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/infer_deploy/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | typora-copy-images-to: images
3 | comments: true
4 | ---
5 |
6 | # PP-OCR 模型推理部署
7 |
8 | ## Paddle 推理部署方式简介
9 |
10 | 飞桨提供多种部署方案,以满足不同场景的部署需求,请根据实际情况进行选择:
11 |
12 | 
13 |
14 | ## PP-OCR 推理部署
15 |
16 | PP-OCR模型已打通多种场景部署方案,点击链接获取具体的使用教程。
17 |
18 | - [Python 推理](./python_infer.md)
19 | - [C++ 推理](./cpp_infer.md)
20 | - [Serving 服务化部署(Python/C++)](./paddle_server.md)
21 | - [Paddle-Lite 端侧部署(ARM CPU/OpenCL ARM GPU)](../../legacy/lite.md)
22 | - [Paddle2ONNX 推理](../../legacy/paddle2onnx.md)
23 |
24 | 需要PP-OCR以外的学术算法模型的推理部署,请直接进入相应算法主页面,[入口](../../algorithm/overview.md)。
25 |
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185310636-6ce02f7c-790d-479f-b163-ea97a5a04808.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185393805-c67ff571-cf7e-4217-a4b0-8b396c4f22bb.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185539141-68e71c75-5cf7-4529-b2ca-219d29fa5f68.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185539517-ccf2372a-f026-4a7c-ad28-c741c770f60a.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185539735-37b5c2ef-629d-43fe-9abb-44bb717ef7ee.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185539735-37b5c2ef-629d-43fe-9abb-44bb717ef7ee.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185540080-0431e006-9235-4b6d-b63d-0b3c6e1de48f.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/185540291-f64e5daf-6d42-4e7c-bbbb-471e3fac4fcc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/185540291-f64e5daf-6d42-4e7c-bbbb-471e3fac4fcc.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/195319840-68fc60ec-ea66-4095-b734-0ec115860341.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/195319840-68fc60ec-ea66-4095-b734-0ec115860341.png
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/layout.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/layout.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/layout_res.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/layout_res.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/recovery-20240708091126891.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/recovery-20240708091126891.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/recovery_ch.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/recovery_ch.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/table_ch_result1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/table_ch_result1.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/table_ch_result2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/table_ch_result2.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/table_ch_result3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/table_ch_result3.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/tableocr_pipeline.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/tableocr_pipeline.jpg
--------------------------------------------------------------------------------
/docs/version2.x/ppstructure/model_train/images/zh_val_42_ser.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/ppstructure/model_train/images/zh_val_42_ser.jpg
--------------------------------------------------------------------------------
/docs/version2.x/static/images/demo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/static/images/demo.jpg
--------------------------------------------------------------------------------
/docs/version2.x/static/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version2.x/static/images/favicon.ico
--------------------------------------------------------------------------------
/docs/version3.x/deployment/cpp/cpp_local_deployment.en.md:
--------------------------------------------------------------------------------
1 | # C++ Local Deployment
2 |
3 | Linux:
4 |
5 | [C++ Local Deployment for General OCR Pipeline - Linux](./OCR.en.md)
6 |
7 | Windows:
8 |
9 | [C++ Local Deployment for General OCR Pipeline - Windows](./OCR_windows.en.md)
10 |
--------------------------------------------------------------------------------
/docs/version3.x/deployment/cpp/cpp_local_deployment.md:
--------------------------------------------------------------------------------
1 | # C++ 本地部署
2 |
3 | Linux:
4 |
5 | [通用 OCR 产线 C++ 本地部署 - Linux](./OCR.md)
6 |
7 | Windows:
8 |
9 | [通用 OCR 产线 C++ 本地部署 - Windows](./OCR_windows.md)
10 |
--------------------------------------------------------------------------------
/docs/version3.x/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/docs/version3.x/logo.jpg
--------------------------------------------------------------------------------
/docs/version3.x/module_usage/module_overview.en.md:
--------------------------------------------------------------------------------
1 | # Module Overview
2 |
3 | A module is the smallest unit that implements basic functionality. Modules typically use a single model to accomplish specific tasks, such as text detection, image classification, and other basic functions. As fundamental building blocks, modules provide the necessary functional support for more complex application scenarios. This design approach allows users to flexibly select and combine different modules according to their needs, thereby simplifying the development process and enhancing development flexibility and efficiency.
4 |
--------------------------------------------------------------------------------
/docs/version3.x/module_usage/module_overview.md:
--------------------------------------------------------------------------------
1 | # 模块概述
2 |
3 | 模块是实现基本功能的最小单位。模块通常使用单个模型去完成特定的任务,比如文本检测、图像分类等基本功能。模块作为基础构建单元,为更复杂的应用场景提供了必要的功能支持。这种设计方式使得用户可以根据需要灵活选择和组合不同的模块,从而简化了开发流程,并提高了开发的灵活性和效率。
4 |
--------------------------------------------------------------------------------
/docs/version3.x/pipeline_usage/pipeline_overview.en.md:
--------------------------------------------------------------------------------
1 | # Pipeline Overview
2 |
3 | A pipeline is a practical functional implementation composed of one or more modules. Through reasonable module combination and configuration, pipelines can meet the needs of complex application scenarios, such as technological applications like Optical Character Recognition (OCR). Pipelines not only demonstrate the integrated application of basic modules but also support capabilities such as high-performance inference and service-oriented deployment, providing users with higher development efficiency and broader application possibilities.
4 |
--------------------------------------------------------------------------------
/docs/version3.x/pipeline_usage/pipeline_overview.md:
--------------------------------------------------------------------------------
1 | # 产线概述
2 |
3 | 产线是由一个或多个模块组合而成的实际功能实现。通过合理的模块组合与配置,产线能够满足复杂应用场景的需求,比如光学字符识别(OCR)等技术应用。产线不仅体现了基础模块的整合应用,还支持高性能推理和服务化部署等能力,赋予用户更高的开发效率和更广泛的应用可能性。
4 |
--------------------------------------------------------------------------------
/mcp_server/README.md:
--------------------------------------------------------------------------------
1 | # PaddleOCR MCP 服务器
2 |
3 | 中文 | [English](./README_en.md)
4 |
5 | 请查看 [文档](../docs/version3.x/deployment/mcp_server.md)。
6 |
--------------------------------------------------------------------------------
/mcp_server/README_en.md:
--------------------------------------------------------------------------------
1 | # PaddleOCR MCP Server
2 |
3 | [中文](./README.md)| English
4 |
5 | Please refer to the [documentation](../docs/version3.x/deployment/mcp_server.en.md)。
6 |
--------------------------------------------------------------------------------
/mcp_server/paddleocr_mcp/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | __version__ = "0.1.0"
16 |
--------------------------------------------------------------------------------
/mcp_server/paddleocr_mcp/py.typed:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/mcp_server/paddleocr_mcp/py.typed
--------------------------------------------------------------------------------
/mcp_server/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["setuptools>=69"]
3 | build-backend = "setuptools.build_meta"
4 |
5 | [project]
6 | name = "paddleocr_mcp"
7 | version = "0.2.1"
8 | requires-python = ">=3.10"
9 | dependencies = [
10 | "mcp>=1.5.0",
11 | "fastmcp>=2.0.0",
12 | "httpx>=0.24.0",
13 | "numpy>=1.24.0",
14 | "pillow>=9.0.0",
15 | "puremagic>=1.30.0",
16 | "typing-extensions>=4.0.0",
17 |
18 | ]
19 |
20 | [project.optional-dependencies]
21 | local = [
22 | "paddleocr[doc-parser]>=3.2",
23 | ]
24 | local-cpu = [
25 | "paddleocr[doc-parser]>=3.2",
26 | "paddlepaddle>=3.0.0",
27 | ]
28 |
29 | [project.scripts]
30 | paddleocr_mcp = "paddleocr_mcp.__main__:main"
31 |
--------------------------------------------------------------------------------
/overrides/main.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block outdated %}
4 | You're not viewing the latest version.
5 | <a href="{{ '../' ~ base_url }}">
6 | <strong>Click here to go to latest.</strong>
7 | </a>
8 | {% endblock %}
9 |
--------------------------------------------------------------------------------
/overrides/partials/expired_notice.html:
--------------------------------------------------------------------------------
1 | {% if is_expired %}
2 | <div class="admonition warning">
3 | <p class="admonition-title">Warning</p>
4 | <p>
5 | 本文档最后更新于 {{ last_update }},
6 | 已超过 {{ expiry_days }} 天未更新,内容可能已经过时,阅读注意甄别。
7 | </p>
8 | </div>
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/paddleocr/_utils/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppocr/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost1.jpg
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost2.png
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost3.png
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost4.jpg
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost5.jpg
--------------------------------------------------------------------------------
/ppocr/data/imaug/frost_img/frost6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/data/imaug/frost_img/frost6.jpg
--------------------------------------------------------------------------------
/ppocr/ext_op/__init__.py:
--------------------------------------------------------------------------------
1 | from .roi_align_rotated.roi_align_rotated import RoIAlignRotated
2 |
--------------------------------------------------------------------------------
/ppocr/postprocess/pse_postprocess/pse/README.md:
--------------------------------------------------------------------------------
1 | ## 编译
2 | This code is refer from:
3 | https://github.com/whai362/PSENet/blob/python3/models/post_processing/pse
4 | ```python
5 | python3 setup.py build_ext --inplace
6 | ```
7 |
--------------------------------------------------------------------------------
/ppocr/postprocess/pse_postprocess/pse/setup.py:
--------------------------------------------------------------------------------
1 | from distutils.core import setup, Extension
2 | from Cython.Build import cythonize
3 | import numpy
4 |
5 | setup(
6 | ext_modules=cythonize(
7 | Extension(
8 | "pse",
9 | sources=["pse.pyx"],
10 | language="c++",
11 | include_dirs=[numpy.get_include()],
12 | library_dirs=[],
13 | libraries=[],
14 | extra_compile_args=["-O3"],
15 | extra_link_args=[],
16 | )
17 | )
18 | )
19 |
--------------------------------------------------------------------------------
/ppocr/utils/EN_symbol_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 | A
38 | B
39 | C
40 | D
41 | E
42 | F
43 | G
44 | H
45 | I
46 | J
47 | K
48 | L
49 | M
50 | N
51 | O
52 | P
53 | Q
54 | R
55 | S
56 | T
57 | U
58 | V
59 | W
60 | X
61 | Y
62 | Z
63 | !
64 | "
65 | #
66 | $
67 | %
68 | &
69 | '
70 | (
71 | )
72 | *
73 | +
74 | ,
75 | -
76 | .
77 | /
78 | :
79 | ;
80 | <
81 | =
82 | >
83 | ?
84 | @
85 | [
86 | \
87 | ]
88 | ^
89 | _
90 | `
91 | {
92 | |
93 | }
94 | ~
95 |
--------------------------------------------------------------------------------
/ppocr/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/README.md:
--------------------------------------------------------------------------------
1 | ## Dictionary and Corpus
2 |
3 | Dictionary files (usually character level vocabulary) are included here for easier configuration. Corpus contributed by OSS contributors are listed here, please respect copyrights when using them at your own risk.
4 |
5 | - Burmese corpus: https://github.com/1chimaruGin/BurmeseCorpus
6 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/bengali_dict.txt:
--------------------------------------------------------------------------------
1 | হ
2 | থ
3 | শ
4 | ৫
5 | ক
6 | ও
7 | য
8 | ০
9 | গ
10 | দ
11 | ড়
12 | খ
13 | য়
14 | ঋ
15 | ন
16 | অ
17 | ৪
18 | এ
19 | ব
20 | ঠ
21 | ঢ
22 | ৭
23 | ৯
24 | ধ
25 | ঙ
26 | ট
27 | ঝ
28 | ৎ
29 | ণ
30 | ত
31 | র
32 | ২
33 | চ
34 | ঌ
35 | ড
36 | ৬
37 | ঔ
38 | প
39 | ভ
40 | ম
41 | ঢ়
42 | ঈ
43 | ৮
44 | ঘ
45 | ১
46 | ষ
47 | ৩
48 | ফ
49 | ছ
50 | ল
51 | জ
52 | আ
53 | ।
54 | ঊ
55 | ই
56 | স
57 | ঐ
58 | উ
59 | ঞ
60 | া
61 | ্
62 | ু
63 | ী
64 | ে
65 | ং
66 | ি
67 | ়
68 | ঁ
69 | ৃ
70 | ো
71 | ূ
72 | ৈ
73 | ৌ
74 | ঃ
75 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/confuse.pkl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppocr/utils/dict/confuse.pkl
--------------------------------------------------------------------------------
/ppocr/utils/dict/en_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 | A
38 | B
39 | C
40 | D
41 | E
42 | F
43 | G
44 | H
45 | I
46 | J
47 | K
48 | L
49 | M
50 | N
51 | O
52 | P
53 | Q
54 | R
55 | S
56 | T
57 | U
58 | V
59 | W
60 | X
61 | Y
62 | Z
63 |
64 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/gujarati_dict.txt:
--------------------------------------------------------------------------------
1 | અ
2 | આ
3 | ઇ
4 | ઈ
5 | ઉ
6 | ઊ
7 | ઋ
8 | ઌ
9 | એ
10 | ઐ
11 | ઓ
12 | ઔ
13 | અં
14 | અઃ
15 | ક
16 | ખ
17 | ગ
18 | ઘ
19 | ઙ
20 | ચ
21 | છ
22 | જ
23 | ઝ
24 | ઞ
25 | ટ
26 | ઠ
27 | ડ
28 | ઢ
29 | ણ
30 | ત
31 | થ
32 | દ
33 | ધ
34 | ન
35 | પ
36 | ફ
37 | બ
38 | ભ
39 | મ
40 | ય
41 | ર
42 | લ
43 | ળ
44 | વ
45 | શ
46 | ષ
47 | સ
48 | હ
49 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/kazakh_dict.txt:
--------------------------------------------------------------------------------
1 | А
2 | Ә
3 | Б
4 | В
5 | Г
6 | Ғ
7 | Д
8 | Е
9 | Ё
10 | Ж
11 | З
12 | И
13 | Й
14 | К
15 | Қ
16 | Л
17 | М
18 | Н
19 | Ң
20 | О
21 | Ө
22 | П
23 | Р
24 | С
25 | Т
26 | У
27 | Ұ
28 | Ү
29 | Ф
30 | Х
31 | Һ
32 | Ц
33 | Ч
34 | Ш
35 | Щ
36 | Ъ
37 | Ы
38 | І
39 | Ь
40 | Э
41 | Ю
42 | Я
43 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/kie_dict/xfund_class_list.txt:
--------------------------------------------------------------------------------
1 | OTHER
2 | QUESTION
3 | ANSWER
4 | HEADER
5 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/layout_dict/layout_cdla_dict.txt:
--------------------------------------------------------------------------------
1 | text
2 | title
3 | figure
4 | figure_caption
5 | table
6 | table_caption
7 | header
8 | footer
9 | reference
10 | equation
11 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/layout_dict/layout_publaynet_dict.txt:
--------------------------------------------------------------------------------
1 | text
2 | title
3 | list
4 | table
5 | figure
6 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/layout_dict/layout_table_dict.txt:
--------------------------------------------------------------------------------
1 | table
2 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/oc_dict.txt:
--------------------------------------------------------------------------------
1 | o
2 | c
3 | _
4 | i
5 | m
6 | g
7 | /
8 | 2
9 | 0
10 | I
11 | L
12 | S
13 | V
14 | R
15 | C
16 | 1
17 | v
18 | a
19 | l
20 | 4
21 | 3
22 | .
23 | j
24 | p
25 | r
26 | e
27 | è
28 | t
29 | 9
30 | 7
31 | 5
32 | 8
33 | n
34 | '
35 | b
36 | s
37 | 6
38 | q
39 | u
40 | á
41 | d
42 | ò
43 | à
44 | h
45 | z
46 | f
47 | ï
48 | í
49 | A
50 | ç
51 | x
52 | ó
53 | é
54 | P
55 | O
56 | Ò
57 | ü
58 | k
59 | À
60 | F
61 | -
62 | ú
63 |
64 | æ
65 | Á
66 | D
67 | E
68 | w
69 | K
70 | T
71 | N
72 | y
73 | U
74 | Z
75 | G
76 | B
77 | J
78 | H
79 | M
80 | W
81 | Y
82 | X
83 | Q
84 | %
85 | $
86 | ,
87 | @
88 | &
89 | !
90 | :
91 | (
92 | #
93 | ?
94 | +
95 | É
96 |
97 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/parseq_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 | A
38 | B
39 | C
40 | D
41 | E
42 | F
43 | G
44 | H
45 | I
46 | J
47 | K
48 | L
49 | M
50 | N
51 | O
52 | P
53 | Q
54 | R
55 | S
56 | T
57 | U
58 | V
59 | W
60 | X
61 | Y
62 | Z
63 | !
64 | "
65 | #
66 | $
67 | %
68 | &
69 | '
70 | (
71 | )
72 | *
73 | +
74 | ,
75 | -
76 | .
77 | /
78 | :
79 | ;
80 | <
81 | =
82 | >
83 | ?
84 | @
85 | [
86 | \
87 | ]
88 | ^
89 | _
90 | `
91 | {
92 | |
93 | }
94 | ~
95 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/rs_dict.txt:
--------------------------------------------------------------------------------
1 | r
2 | s
3 | _
4 | i
5 | m
6 | g
7 | /
8 | 1
9 | I
10 | L
11 | S
12 | V
13 | R
14 | C
15 | 2
16 | 0
17 | v
18 | a
19 | l
20 | 7
21 | 5
22 | 8
23 | 6
24 | .
25 | j
26 | p
27 |
28 | t
29 | d
30 | 9
31 | 3
32 | e
33 | š
34 | 4
35 | k
36 | u
37 | ć
38 | c
39 | n
40 | đ
41 | o
42 | z
43 | č
44 | b
45 | ž
46 | f
47 | Z
48 | T
49 | h
50 | M
51 | F
52 | O
53 | Š
54 | B
55 | H
56 | A
57 | E
58 | Đ
59 | Ž
60 | D
61 | P
62 | G
63 | Č
64 | K
65 | U
66 | N
67 | J
68 | Ć
69 | w
70 | y
71 | W
72 | x
73 | Y
74 | X
75 | q
76 | Q
77 | #
78 | &
79 | $
80 | ,
81 | -
82 | %
83 | '
84 | @
85 | !
86 | :
87 | ?
88 | (
89 | É
90 | é
91 | +
92 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/spin_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 | :
38 | (
39 | '
40 | -
41 | ,
42 | %
43 | >
44 | .
45 | [
46 | ?
47 | )
48 | "
49 | =
50 | _
51 | *
52 | ]
53 | ;
54 | &
55 | +
56 | $
57 | @
58 | /
59 | |
60 | !
61 | <
62 | #
63 | `
64 | {
65 | ~
66 | \
67 | }
68 | ^
69 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/table_master_structure_dict.txt:
--------------------------------------------------------------------------------
1 | <thead>
2 | <tr>
3 | <td></td>
4 | </tr>
5 | </thead>
6 | <tbody>
7 | <eb></eb>
8 | </tbody>
9 | <td
10 | colspan="5"
11 | >
12 | </td>
13 | colspan="2"
14 | colspan="3"
15 | <eb2></eb2>
16 | <eb1></eb1>
17 | rowspan="2"
18 | colspan="4"
19 | colspan="6"
20 | rowspan="3"
21 | colspan="9"
22 | colspan="10"
23 | colspan="7"
24 | rowspan="4"
25 | rowspan="5"
26 | rowspan="9"
27 | colspan="8"
28 | rowspan="8"
29 | rowspan="6"
30 | rowspan="7"
31 | rowspan="10"
32 | <eb3></eb3>
33 | <eb4></eb4>
34 | <eb5></eb5>
35 | <eb6></eb6>
36 | <eb7></eb7>
37 | <eb8></eb8>
38 | <eb9></eb9>
39 | <eb10></eb10>
40 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/table_structure_dict.txt:
--------------------------------------------------------------------------------
1 | <thead>
2 | <tr>
3 | <td>
4 | </td>
5 | </tr>
6 | </thead>
7 | <tbody>
8 | </tbody>
9 | <td
10 | colspan="5"
11 | >
12 | colspan="2"
13 | colspan="3"
14 | rowspan="2"
15 | colspan="4"
16 | colspan="6"
17 | rowspan="3"
18 | colspan="9"
19 | colspan="10"
20 | colspan="7"
21 | rowspan="4"
22 | rowspan="5"
23 | rowspan="9"
24 | colspan="8"
25 | rowspan="8"
26 | rowspan="6"
27 | rowspan="7"
28 | rowspan="10"
29 |
--------------------------------------------------------------------------------
/ppocr/utils/dict/th_dict.txt:
--------------------------------------------------------------------------------
1 | ก
2 | ข
3 | ฃ
4 | ค
5 | ฅ
6 | ฆ
7 | ง
8 | จ
9 | ฉ
10 | ช
11 | ซ
12 | ฌ
13 | ญ
14 | ฎ
15 | ฏ
16 | ฐ
17 | ฑ
18 | ฒ
19 | ณ
20 | ด
21 | ต
22 | ถ
23 | ท
24 | ธ
25 | น
26 | บ
27 | ป
28 | ผ
29 | ฝ
30 | พ
31 | ฟ
32 | ภ
33 | ม
34 | ย
35 | ร
36 | ล
37 | ว
38 | ศ
39 | ษ
40 | ส
41 | ห
42 | ฬ
43 | อ
44 | ฮ
45 | ะ
46 | ั
47 | า
48 | ำ
49 | ิ
50 | ี
51 | ึ
52 | ื
53 | ุ
54 | ู
55 | เ
56 | แ
57 | โ
58 | ใ
59 | ไ
60 | ็
61 | ่
62 | ้
63 | ๊
64 | ๋
65 | ์
66 | ๐
67 | ๑
68 | ๒
69 | ๓
70 | ๔
71 | ๕
72 | ๖
73 | ๗
74 | ๘
75 | ๙
76 | ฯ
77 | ๆ
78 | ฤ
79 | ฤา
80 | ฦ
81 | ฦา
82 |
--------------------------------------------------------------------------------
/ppocr/utils/dict90.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 | A
38 | B
39 | C
40 | D
41 | E
42 | F
43 | G
44 | H
45 | I
46 | J
47 | K
48 | L
49 | M
50 | N
51 | O
52 | P
53 | Q
54 | R
55 | S
56 | T
57 | U
58 | V
59 | W
60 | X
61 | Y
62 | Z
63 | !
64 | "
65 | #
66 | $
67 | %
68 | &
69 | '
70 | (
71 | )
72 | *
73 | +
74 | ,
75 | -
76 | .
77 | /
78 | :
79 | ;
80 | <
81 | =
82 | >
83 | ?
84 | @
85 | [
86 | \
87 | ]
88 | _
89 | `
90 | ~
91 |
--------------------------------------------------------------------------------
/ppocr/utils/en_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | :
12 | ;
13 | <
14 | =
15 | >
16 | ?
17 | @
18 | A
19 | B
20 | C
21 | D
22 | E
23 | F
24 | G
25 | H
26 | I
27 | J
28 | K
29 | L
30 | M
31 | N
32 | O
33 | P
34 | Q
35 | R
36 | S
37 | T
38 | U
39 | V
40 | W
41 | X
42 | Y
43 | Z
44 | [
45 | \
46 | ]
47 | ^
48 | _
49 | `
50 | a
51 | b
52 | c
53 | d
54 | e
55 | f
56 | g
57 | h
58 | i
59 | j
60 | k
61 | l
62 | m
63 | n
64 | o
65 | p
66 | q
67 | r
68 | s
69 | t
70 | u
71 | v
72 | w
73 | x
74 | y
75 | z
76 | {
77 | |
78 | }
79 | ~
80 | !
81 | "
82 | #
83 | $
84 | %
85 | &
86 | '
87 | (
88 | )
89 | *
90 | +
91 | ,
92 | -
93 | .
94 | /
95 |
96 |
--------------------------------------------------------------------------------
/ppocr/utils/ic15_dict.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | a
12 | b
13 | c
14 | d
15 | e
16 | f
17 | g
18 | h
19 | i
20 | j
21 | k
22 | l
23 | m
24 | n
25 | o
26 | p
27 | q
28 | r
29 | s
30 | t
31 | u
32 | v
33 | w
34 | x
35 | y
36 | z
37 |
--------------------------------------------------------------------------------
/ppocr/utils/loggers/__init__.py:
--------------------------------------------------------------------------------
1 | from .wandb_logger import WandbLogger
2 | from .loggers import Loggers
3 |
--------------------------------------------------------------------------------
/ppocr/utils/loggers/base_logger.py:
--------------------------------------------------------------------------------
1 | import os
2 | from abc import ABC, abstractmethod
3 |
4 |
5 | class BaseLogger(ABC):
6 | def __init__(self, save_dir):
7 | self.save_dir = save_dir
8 | os.makedirs(self.save_dir, exist_ok=True)
9 |
10 | @abstractmethod
11 | def log_metrics(self, metrics, prefix=None):
12 | pass
13 |
14 | @abstractmethod
15 | def close(self):
16 | pass
17 |
--------------------------------------------------------------------------------
/ppocr/utils/loggers/loggers.py:
--------------------------------------------------------------------------------
1 | from .wandb_logger import WandbLogger
2 |
3 |
4 | class Loggers(object):
5 | def __init__(self, loggers):
6 | super().__init__()
7 | self.loggers = loggers
8 |
9 | def log_metrics(self, metrics, prefix=None, step=None):
10 | for logger in self.loggers:
11 | logger.log_metrics(metrics, prefix=prefix, step=step)
12 |
13 | def log_model(self, is_best, prefix, metadata=None):
14 | for logger in self.loggers:
15 | logger.log_model(is_best=is_best, prefix=prefix, metadata=metadata)
16 |
17 | def close(self):
18 | for logger in self.loggers:
19 | logger.close()
20 |
--------------------------------------------------------------------------------
/ppstructure/__init__.py:
--------------------------------------------------------------------------------
1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppstructure/kie/requirements.txt:
--------------------------------------------------------------------------------
1 | sentencepiece
2 | yacs
3 | seqeval
4 | pypandoc
5 | attrdict3
6 | python_docx
7 | paddlenlp==2.5.2
8 |
--------------------------------------------------------------------------------
/ppstructure/layout/__init__.py:
--------------------------------------------------------------------------------
1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppstructure/pdf2word/icons/chinese.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppstructure/pdf2word/icons/chinese.png
--------------------------------------------------------------------------------
/ppstructure/pdf2word/icons/english.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppstructure/pdf2word/icons/english.png
--------------------------------------------------------------------------------
/ppstructure/pdf2word/icons/folder-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppstructure/pdf2word/icons/folder-open.png
--------------------------------------------------------------------------------
/ppstructure/pdf2word/icons/folder-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/ppstructure/pdf2word/icons/folder-plus.png
--------------------------------------------------------------------------------
/ppstructure/recovery/__init__.py:
--------------------------------------------------------------------------------
1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppstructure/recovery/requirements.txt:
--------------------------------------------------------------------------------
1 | python-docx
2 | beautifulsoup4
3 | fonttools>=4.43.0
4 | fire>=0.3.0
5 |
--------------------------------------------------------------------------------
/ppstructure/table/__init__.py:
--------------------------------------------------------------------------------
1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/ppstructure/table/tablepyxl/__init__.py:
--------------------------------------------------------------------------------
1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | shapely
2 | scikit-image
3 | pyclipper
4 | lmdb
5 | tqdm
6 | numpy
7 | rapidfuzz
8 | opencv-python
9 | opencv-contrib-python
10 | cython
11 | Pillow
12 | pyyaml
13 | requests
14 | albumentations
15 | # to be compatible with albumentations
16 | albucore
17 | packaging
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/PP-OCRv3_mobile_rec/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:PP-OCRv3_mobile_rec
3 | use_opencv:True
4 | infer_model:./inference/PP-OCRv3_mobile_rec_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr --rec_img_h=48 --rec_char_dict_path=./ppocr/utils/ppocr_keys_v1.txt
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:6
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --rec_model_dir:
14 | --image_dir:./inference/rec_inference/
15 | null:null
16 | --benchmark:True
17 | --det:False
18 | --rec:True
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/PP-OCRv3_mobile_rec/model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================paddle2onnx_params===========================
2 | model_name:PP-OCRv3_mobile_rec
3 | python:python3.7
4 | 2onnx: paddle2onnx
5 | --det_model_dir:
6 | --model_filename:inference.pdmodel
7 | --params_filename:inference.pdiparams
8 | --det_save_file:
9 | --rec_model_dir:./inference/PP-OCRv3_mobile_rec_infer/
10 | --rec_save_file:./inference/rec_v3_onnx/model.onnx
11 | --opset_version:10
12 | --enable_onnx_checker:True
13 | inference:tools/infer/predict_rec.py --rec_image_shape="3,48,320"
14 | --use_gpu:True|False
15 | --det_model_dir:
16 | --rec_model_dir:
17 | --image_dir:./inference/rec_inference/
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2/model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================ch_PP-OCRv2===========================
2 | model_name:ch_PP-OCRv2
3 | python:python3.7
4 | infer_model:./inference/ch_PP-OCRv2_det_infer/
5 | infer_export:null
6 | infer_quant:False
7 | inference:tools/infer/predict_system.py
8 | --use_gpu:False|True
9 | --enable_mkldnn:False
10 | --cpu_threads:6
11 | --rec_batch_num:1
12 | --use_tensorrt:False
13 | --precision:fp32
14 | --det_model_dir:
15 | --image_dir:./inference/ch_det_data_50/all-sum-510/
16 | --rec_model_dir:./inference/ch_PP-OCRv2_rec_infer/
17 | --benchmark:True
18 | null:null
19 | null:null
20 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn system
3 | runtime_device:ARM_CPU
4 | det_infer_model:ch_PP-OCRv2_det_infer|ch_PP-OCRv2_det_slim_quant_infer
5 | rec_infer_model:ch_PP-OCRv2_rec_infer|ch_PP-OCRv2_rec_slim_quant_infer
6 | cls_infer_model:ch_ppocr_mobile_v2.0_cls_infer|ch_ppocr_mobile_v2.0_cls_slim_infer
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | --rec_batch_size:1
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | --rec_dict_dir:./ppocr_keys_v1.txt
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2/model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn system
3 | runtime_device:ARM_GPU_OPENCL
4 | det_infer_model:ch_PP-OCRv2_det_infer|ch_PP-OCRv2_det_slim_quant_infer
5 | rec_infer_model:ch_PP-OCRv2_rec_infer|ch_PP-OCRv2_rec_slim_quant_infer
6 | cls_infer_model:ch_ppocr_mobile_v2.0_cls_infer|ch_ppocr_mobile_v2.0_cls_slim_infer
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | --rec_batch_size:1
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | --rec_dict_dir:./ppocr_keys_v1.txt
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv2_det
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv2_det_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_CPU
4 | det_infer_model:ch_PP-OCRv2_det_infer|ch_PP-OCRv2_det_slim_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det/model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_GPU_OPENCL
4 | det_infer_model:ch_PP-OCRv2_det_infer|ch_PP-OCRv2_det_slim_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det/model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================paddle2onnx_params===========================
2 | model_name:ch_PP-OCRv2_det
3 | python:python3.7
4 | 2onnx: paddle2onnx
5 | --det_model_dir:./inference/ch_PP-OCRv2_det_infer/
6 | --model_filename:inference.pdmodel
7 | --params_filename:inference.pdiparams
8 | --det_save_file:./inference/det_v2_onnx/model.onnx
9 | --rec_model_dir:
10 | --rec_save_file:
11 | --opset_version:10
12 | --enable_onnx_checker:True
13 | inference:tools/infer/predict_det.py
14 | --use_gpu:True|False
15 | --det_model_dir:
16 | --rec_model_dir:
17 | --image_dir:./inference/ch_det_data_50/all-sum-510/
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det_KL/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv2_det_KL
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv2_det_klquant_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_det_PACT/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv2_det_PACT
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv2_det_pact_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_rec/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv2_rec
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv2_rec_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr --rec_char_dict_path=./ppocr/utils/ppocr_keys_v1.txt --rec_img_h=32
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:6
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --rec_model_dir:
14 | --image_dir:./inference/rec_inference/
15 | null:null
16 | --benchmark:True
17 | --det:False
18 | --rec:True
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv2_rec/model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================paddle2onnx_params===========================
2 | model_name:ch_PP-OCRv2_rec
3 | python:python3.7
4 | 2onnx: paddle2onnx
5 | --det_model_dir:
6 | --model_filename:inference.pdmodel
7 | --params_filename:inference.pdiparams
8 | --det_save_file:
9 | --rec_model_dir:./inference/ch_PP-OCRv2_rec_infer/
10 | --rec_save_file:./inference/rec_v2_onnx/model.onnx
11 | --opset_version:10
12 | --enable_onnx_checker:True
13 | inference:tools/infer/predict_rec.py --rec_image_shape="3,32,320"
14 | --use_gpu:True|False
15 | --det_model_dir:
16 | --rec_model_dir:
17 | --image_dir:./inference/rec_inference/
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3/model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================ch_PP-OCRv2===========================
2 | model_name:ch_PP-OCRv3
3 | python:python3.7
4 | infer_model:./inference/PP-OCRv3_mobile_det_infer/
5 | infer_export:null
6 | infer_quant:False
7 | inference:tools/infer/predict_system.py --rec_image_shape="3,48,320"
8 | --use_gpu:False|True
9 | --enable_mkldnn:False
10 | --cpu_threads:6
11 | --rec_batch_num:1
12 | --use_tensorrt:False
13 | --precision:fp32
14 | --det_model_dir:
15 | --image_dir:./inference/ch_det_data_50/all-sum-510/
16 | --rec_model_dir:./inference/PP-OCRv3_mobile_rec_infer/
17 | --benchmark:True
18 | null:null
19 | null:null
20 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn system
3 | runtime_device:ARM_CPU
4 | det_infer_model:PP-OCRv3_mobile_det_infer|ch_PP-OCRv3_det_slim_quant_infer
5 | rec_infer_model:PP-OCRv3_mobile_rec_infer|PP-OCRv3_mobile_rec_slim_quant_infer
6 | cls_infer_model:ch_ppocr_mobile_v2.0_cls_infer|ch_ppocr_mobile_v2.0_cls_slim_infer
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | --rec_batch_size:1
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | --rec_dict_dir:./ppocr_keys_v1.txt
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3/model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn system
3 | runtime_device:ARM_GPU_OPENCL
4 | det_infer_model:PP-OCRv3_mobile_det_infer|ch_PP-OCRv3_det_slim_quant_infer
5 | rec_infer_model:PP-OCRv3_mobile_rec_infer|PP-OCRv3_mobile_rec_slim_quant_infer
6 | cls_infer_model:ch_ppocr_mobile_v2.0_cls_infer|ch_ppocr_mobile_v2.0_cls_slim_infer
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | --rec_batch_size:1
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | --rec_dict_dir:./ppocr_keys_v1.txt
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv3_det
3 | use_opencv:True
4 | infer_model:./inference/PP-OCRv3_mobile_det_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_CPU
4 | det_infer_model:PP-OCRv3_mobile_det_infer|ch_PP-OCRv3_det_slim_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det/model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_GPU_OPENCL
4 | det_infer_model:PP-OCRv3_mobile_det_infer|ch_PP-OCRv3_det_slim_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det/model_linux_gpu_normal_normal_paddle2onnx_python_linux_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================paddle2onnx_params===========================
2 | model_name:ch_PP-OCRv3_det
3 | python:python3.7
4 | 2onnx: paddle2onnx
5 | --det_model_dir:./inference/PP-OCRv3_mobile_det_infer/
6 | --model_filename:inference.pdmodel
7 | --params_filename:inference.pdiparams
8 | --det_save_file:./inference/det_v3_onnx/model.onnx
9 | --rec_model_dir:
10 | --rec_save_file:
11 | --opset_version:10
12 | --enable_onnx_checker:True
13 | inference:tools/infer/predict_det.py
14 | --use_gpu:True|False
15 | --det_model_dir:
16 | --rec_model_dir:
17 | --image_dir:./inference/ch_det_data_50/all-sum-510/
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det_KL/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv3_det_KL
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv3_det_klquant_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_PP-OCRv3_det_PACT/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_PP-OCRv3_det_PACT
3 | use_opencv:True
4 | infer_model:./inference/ch_PP-OCRv3_det_pact_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0/model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================ch_ppocr_mobile_v2.0===========================
2 | model_name:ch_ppocr_mobile_v2_0
3 | python:python3.7
4 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_infer/
5 | infer_export:null
6 | infer_quant:False
7 | inference:tools/infer/predict_system.py
8 | --use_gpu:False|True
9 | --enable_mkldnn:False
10 | --cpu_threads:6
11 | --rec_batch_num:1
12 | --use_tensorrt:False
13 | --precision:fp32
14 | --det_model_dir:
15 | --image_dir:./inference/ch_det_data_50/all-sum-510/
16 | --rec_model_dir:./inference/ch_ppocr_mobile_v2.0_rec_infer/
17 | --benchmark:True
18 | null:null
19 | null:null
20 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn system
3 | runtime_device:ARM_CPU
4 | det_infer_model:ch_ppocr_mobile_v2.0_det_infer|ch_ppocr_db_mobile_v2.0_det_quant_infer
5 | rec_infer_model:ch_ppocr_mobile_v2.0_rec_infer|ch_ppocr_mobile_v2.0_rec_slim_infer
6 | cls_infer_model:ch_ppocr_mobile_v2.0_cls_infer|ch_ppocr_mobile_v2.0_cls_slim_infer
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | --rec_batch_size:1
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | --rec_dict_dir:./ppocr_keys_v1.txt
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_ppocr_mobile_v2_0_det
3 | use_opencv:True
4 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det/model_linux_gpu_normal_normal_infer_python_jetson.txt:
--------------------------------------------------------------------------------
1 | ===========================infer_params===========================
2 | model_name:ch_ppocr_mobile_v2_0_det
3 | python:python
4 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_infer
5 | infer_export:null
6 | infer_quant:False
7 | inference:tools/infer/predict_det.py
8 | --use_gpu:True|False
9 | --enable_mkldnn:False
10 | --cpu_threads:6
11 | --rec_batch_num:1
12 | --use_tensorrt:False
13 | --precision:fp32
14 | --det_model_dir:
15 | --image_dir:./inference/ch_det_data_50/all-sum-510/
16 | null:null
17 | --benchmark:True
18 | null:null
19 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det/model_linux_gpu_normal_normal_lite_cpp_arm_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_CPU
4 | det_infer_model:ch_ppocr_mobile_v2.0_det_infer|ch_ppocr_db_mobile_v2.0_det_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det/model_linux_gpu_normal_normal_lite_cpp_arm_gpu_opencl.txt:
--------------------------------------------------------------------------------
1 | ===========================lite_params===========================
2 | inference:./ocr_db_crnn det
3 | runtime_device:ARM_GPU_OPENCL
4 | det_infer_model:ch_ppocr_mobile_v2.0_det_infer|ch_ppocr_db_mobile_v2.0_det_quant_infer
5 | null:null
6 | null:null
7 | --cpu_threads:1|4
8 | --det_batch_size:1
9 | null:null
10 | --image_dir:./test_data/icdar2015_lite/text_localization/ch4_test_images/
11 | --config_dir:./config.txt
12 | null:null
13 | --benchmark:True
14 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det/train_linux_dcu_normal_normal_infer_python_dcu.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/configs/ch_ppocr_mobile_v2_0_det/train_linux_dcu_normal_normal_infer_python_dcu.txt
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det_KL/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_ppocr_mobile_v2_0_det_KL
3 | use_opencv:True
4 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_klquant_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det_KL/model_linux_gpu_normal_normal_infer_python_mac_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================kl_quant_params===========================
2 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_infer/
3 | infer_export:deploy/slim/quantization/quant_kl.py -c configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml -o
4 | infer_quant:True
5 | inference:tools/infer/predict_det.py
6 | --use_gpu:False
7 | --enable_mkldnn:False
8 | --cpu_threads:1|6
9 | --rec_batch_num:1
10 | --use_tensorrt:False
11 | --precision:int8
12 | --det_model_dir:
13 | --image_dir:./inference/ch_det_data_50/all-sum-510/
14 | null:null
15 | --benchmark:True
16 | null:null
17 | null:null
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det_KL/model_linux_gpu_normal_normal_infer_python_windows_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================kl_quant_params===========================
2 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_infer/
3 | infer_export:deploy/slim/quantization/quant_kl.py -c configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml -o
4 | infer_quant:True
5 | inference:tools/infer/predict_det.py
6 | --use_gpu:False
7 | --enable_mkldnn:False
8 | --cpu_threads:1|6
9 | --rec_batch_num:1
10 | --use_tensorrt:False
11 | --precision:int8
12 | --det_model_dir:
13 | --image_dir:./inference/ch_det_data_50/all-sum-510/
14 | null:null
15 | --benchmark:True
16 | null:null
17 | null:null
18 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_mobile_v2_0_det_PACT/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_ppocr_mobile_v2_0_det_PACT
3 | use_opencv:True
4 | infer_model:./inference/ch_ppocr_mobile_v2.0_det_pact_infer
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_server_v2_0/model_linux_gpu_normal_normal_infer_python_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================ch_ppocr_server_v2.0===========================
2 | model_name:ch_ppocr_server_v2_0
3 | python:python3.7
4 | infer_model:./inference/ch_ppocr_server_v2.0_det_infer/
5 | infer_export:null
6 | infer_quant:True
7 | inference:tools/infer/predict_system.py
8 | --use_gpu:False|True
9 | --enable_mkldnn:False
10 | --cpu_threads:6
11 | --rec_batch_num:1
12 | --use_tensorrt:False
13 | --precision:fp32
14 | --det_model_dir:
15 | --image_dir:./inference/ch_det_data_50/all-sum-510/
16 | --rec_model_dir:./inference/ch_ppocr_server_v2.0_rec_infer/
17 | --benchmark:True
18 | null:null
19 | null:null
20 |
--------------------------------------------------------------------------------
/test_tipc/configs/ch_ppocr_server_v2_0_det/model_linux_gpu_normal_normal_infer_cpp_linux_gpu_cpu.txt:
--------------------------------------------------------------------------------
1 | ===========================cpp_infer_params===========================
2 | model_name:ch_ppocr_server_v2_0_det
3 | use_opencv:True
4 | infer_model:./inference/ch_ppocr_server_v2.0_det_infer/
5 | infer_quant:False
6 | inference:./deploy/cpp_infer/build/ppocr
7 | --use_gpu:True|False
8 | --enable_mkldnn:False
9 | --cpu_threads:6
10 | --rec_batch_num:1
11 | --use_tensorrt:False
12 | --precision:fp32
13 | --det_model_dir:
14 | --image_dir:./inference/ch_det_data_50/all-sum-510/
15 | null:null
16 | --benchmark:True
17 | --det:True
18 | --rec:False
19 | --cls:False
20 | --use_angle_cls:False
21 |
--------------------------------------------------------------------------------
/test_tipc/docs/compare_cpp_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/compare_cpp_right.png
--------------------------------------------------------------------------------
/test_tipc/docs/compare_cpp_wrong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/compare_cpp_wrong.png
--------------------------------------------------------------------------------
/test_tipc/docs/compare_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/compare_right.png
--------------------------------------------------------------------------------
/test_tipc/docs/compare_wrong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/compare_wrong.png
--------------------------------------------------------------------------------
/test_tipc/docs/guide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/guide.png
--------------------------------------------------------------------------------
/test_tipc/docs/lite_auto_log.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/lite_auto_log.png
--------------------------------------------------------------------------------
/test_tipc/docs/lite_log.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/lite_log.png
--------------------------------------------------------------------------------
/test_tipc/docs/ssh_termux_ls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/ssh_termux_ls.png
--------------------------------------------------------------------------------
/test_tipc/docs/termux.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/termux.jpg
--------------------------------------------------------------------------------
/test_tipc/docs/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/docs/test.png
--------------------------------------------------------------------------------
/test_tipc/supplementary/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/supplementary/__init__.py
--------------------------------------------------------------------------------
/test_tipc/supplementary/mv3_distill.yml:
--------------------------------------------------------------------------------
1 |
2 | class_dim: 100
3 | total_images: 50000
4 | epochs: 1000
5 | topk: 5
6 | save_model_dir: ./output/
7 | use_gpu: True
8 | model_type: cls_distill
9 |
10 | LEARNING_RATE:
11 | function: 'Cosine'
12 | params:
13 | lr: 0.001
14 | warmup_epoch: 5
15 |
16 | OPTIMIZER:
17 | function: 'Momentum'
18 | params:
19 | momentum: 0.9
20 | regularizer:
21 | function: 'L2'
22 | factor: 0.00002
23 |
24 | TRAIN:
25 | batch_size: 1280
26 | num_workers: 4
27 |
28 | VALID:
29 | batch_size: 64
30 | num_workers: 4
31 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/requirements.txt:
--------------------------------------------------------------------------------
1 | paddleslim==2.2.1
2 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/slim/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/supplementary/slim/__init__.py
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/tipc_train.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/supplementary/test_tipc/tipc_train.png
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:0|0,1
5 | use_gpu:True|True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train:train.py -c mv3_large_x0_5.yml -o
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python_FPGM.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:0|0,1
5 | use_gpu:True|True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train:train.py -c mv3_large_x0_5.yml -o prune_train=True
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python_FPGM_fleet.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:xx.xx.xx.xx,yy.yy.yy.yy;0,1
5 | use_gpu:True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train:train.py -c mv3_large_x0_5.yml -o prune_train=True
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python_PACT.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:0|0,1
5 | use_gpu:True|True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train:train.py -c mv3_large_x0_5.yml -o quant_train=True
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python_PACT_fleet.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:xx.xx.xx.xx,yy.yy.yy.yy;0,1
5 | use_gpu:True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train:train.py -c mv3_large_x0_5.yml -o quant_train=True
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/test_tipc/train_infer_python_fleet.txt:
--------------------------------------------------------------------------------
1 | ===========================train_params===========================
2 | model_name:ch_PPOCRv2_det
3 | python:python3.7
4 | gpu_list:xx.xx.xx.xx,yy.yy.yy.yy;0,1
5 | use_gpu:True
6 | AMP.use_amp:True|False
7 | epoch:lite_train_lite_infer=2|whole_train_whole_infer=1000
8 | save_model_dir:./output/
9 | TRAIN.batch_size:lite_train_lite_infer=1280|whole_train_whole_infer=1280
10 | pretrained_model:null
11 | checkpoints:null
12 | use_custom_relu:False|True
13 | model_type:cls|cls_distill|cls_distill_multiopt
14 | MODEL.siamese:False|True
15 | norm_train: train.py -c mv3_large_x0_5.yml -o
16 | quant_train:False
17 | prune_train:False
18 |
--------------------------------------------------------------------------------
/test_tipc/supplementary/train.sh:
--------------------------------------------------------------------------------
1 | # single GPU
2 | python3.7 train.py -c mv3_large_x0_5.yml
3 |
4 | # distribute training
5 | python3.7 -m paddle.distributed.launch --log_dir=./debug/ --gpus '0,1' train.py -c mv3_large_x0_5.yml
6 |
--------------------------------------------------------------------------------
/test_tipc/web/expect.json:
--------------------------------------------------------------------------------
1 | {
2 | "text": [
3 | "纯臻营养护发素",
4 | "产品信息/参数",
5 | "(45元/每公斤,100公斤起订)",
6 | "每瓶22元,1000瓶起订)",
7 | "【品牌】:代加工方式/OEMODM",
8 | "【品名】:纯臻营养护发素",
9 | "【产品编号】:YM-X-3011",
10 | "ODMOEM",
11 | "【净含量】:220ml",
12 | "【适用人群】:适合所有肤质",
13 | "【主要成分】:鲸蜡硬脂醇、燕麦β-葡聚",
14 | "糖、椰油酰胺丙基甜菜碱、泛醌",
15 | "(成品包材)",
16 | "【主要功能】:可紧致头发磷层,从而达到",
17 | "即时持久改善头发光泽的效果,给干燥的头",
18 | "发足够的滋养"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/test_tipc/web/index.html:
--------------------------------------------------------------------------------
1 | <!DOCTYPE html>
2 | <html lang="en">
3 | <head>
4 | <meta charset="UTF-8">
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 | <meta http-equiv="X-UA-Compatible" content="ie=edge">
7 | <title>ocr test</title>
8 | </head>
9 | <body>
10 | <img id="ocr" src="./test.jpg" />
11 | </body>
12 | <script src="./node_modules/@paddlejs-models/ocr/lib/index.js"></script>
13 | </html>
14 |
--------------------------------------------------------------------------------
/test_tipc/web/jest-puppeteer.config.js:
--------------------------------------------------------------------------------
1 | // jest-puppeteer.config.js
2 | module.exports = {
3 | launch: {
4 | headless: false,
5 | product: 'chrome'
6 | },
7 | browserContext: 'default',
8 | server: {
9 | command: 'python3 -m http.server 9811',
10 | port: 9811,
11 | launchTimeout: 10000,
12 | debug: true
13 | }
14 | };
15 |
--------------------------------------------------------------------------------
/test_tipc/web/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/test_tipc/web/test.jpg
--------------------------------------------------------------------------------
/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/__init__.py
--------------------------------------------------------------------------------
/tests/models/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/models/__init__.py
--------------------------------------------------------------------------------
/tests/models/image_classification_common.py:
--------------------------------------------------------------------------------
1 | def check_result_item_keys(result_item):
2 | assert result_item.keys() == {
3 | "input_path",
4 | "page_index",
5 | "input_img",
6 | "class_ids",
7 | "scores",
8 | "label_names",
9 | }
10 |
--------------------------------------------------------------------------------
/tests/models/object_detection_common.py:
--------------------------------------------------------------------------------
1 | def check_result_item_keys(result_item):
2 | assert result_item.keys() == {
3 | "input_path",
4 | "page_index",
5 | "input_img",
6 | "boxes",
7 | }
8 |
--------------------------------------------------------------------------------
/tests/pipelines/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/pipelines/__init__.py
--------------------------------------------------------------------------------
/tests/test_files/book.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/book.jpg
--------------------------------------------------------------------------------
/tests/test_files/book_rot180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/book_rot180.jpg
--------------------------------------------------------------------------------
/tests/test_files/doc_with_formula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/doc_with_formula.png
--------------------------------------------------------------------------------
/tests/test_files/formula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/formula.png
--------------------------------------------------------------------------------
/tests/test_files/medal_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/medal_table.png
--------------------------------------------------------------------------------
/tests/test_files/seal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/seal.png
--------------------------------------------------------------------------------
/tests/test_files/table.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/table.jpg
--------------------------------------------------------------------------------
/tests/test_files/textline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/textline.png
--------------------------------------------------------------------------------
/tests/test_files/textline_rot180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_files/textline_rot180.jpg
--------------------------------------------------------------------------------
/tests/test_ppstructure.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/75c170a616d5368685bf2cd000157968d1c93609/tests/test_ppstructure.py
--------------------------------------------------------------------------------
/train.sh:
--------------------------------------------------------------------------------
1 | # recommended paddle.__version__ == 3.0.0
2 | python3 -m paddle.distributed.launch --log_dir=./log/ --gpus '0,1,2,3,4,5,6,7' tools/train.py -c configs/rec/PP-OCRv5/PP-OCRv5_server_rec.yml
3 |
--------------------------------------------------------------------------------