update tree doc

This commit is contained in:
WenmuZhou 2020-12-09 15:58:28 +08:00
parent 28b2d43e57
commit 8524c2c60a
2 changed files with 315 additions and 322 deletions

View File

@ -4,38 +4,34 @@ PaddleOCR 的整体目录结构介绍如下:
``` ```
PaddleOCR PaddleOCR
├── configs // 配置文件可通过yml文件选择模型结构并修改超参 ├── configs // 配置文件,可通过 yml 文件选择模型结构并修改超参
│ ├── cls // 方向分类器相关配置文件 │ ├── cls // 方向分类器相关配置文件
│ │ ├── cls_mv3.yml // 训练配置相关包括骨干网络、head、loss、优化器 │ │ ├── cls_mv3.yml // 训练配置相关包括骨干网络、head、loss、优化器和数据
│ │ └── cls_reader.yml // 数据读取相关,数据读取方式、数据存储路径 │ ├── det // 检测相关配置文件
│ ├── det // 检测相关配置文件 │ │ ├── det_mv3_db.yml // 训练配置
│ │ ├── det_db_icdar15_reader.yml // 数据读取
│ │ ├── det_mv3_db.yml // 训练配置
│ │ ... │ │ ...
│ └── rec // 识别相关配置文件 │ └── rec // 识别相关配置文件
│ ├── rec_benchmark_reader.yml // LMDB 格式数据读取相关 │ ├── rec_mv3_none_bilstm_ctc.yml // crnn 训练配置
│ ├── rec_chinese_common_train.yml // 通用中文训练配置
│ ├── rec_icdar15_reader.yml // simple 数据读取相关,包括数据读取函数、数据路径、标签文件
│ ... │ ...
├── deploy // 部署相关 ├── deploy // 部署相关
│ ├── android_demo // android_demo │ ├── android_demo // android_demo
│ │ ... │ │ ...
│ ├── cpp_infer // C++ infer │ ├── cpp_infer // C++ infer
│ │ ├── CMakeLists.txt // Cmake 文件 │ │ ├── CMakeLists.txt // Cmake 文件
│ │ ├── docs // 说明文档 │ │ ├── docs // 说明文档
│ │ │ └── windows_vs2019_build.md │ │ │ └── windows_vs2019_build.md
│ │ ├── include // 头文件 │ │ ├── include // 头文件
│ │ │ ├── clipper.h // clipper 库 │ │ │ ├── clipper.h // clipper 库
│ │ │ ├── config.h // 预测配置 │ │ │ ├── config.h // 预测配置
│ │ │ ├── ocr_cls.h // 方向分类器 │ │ │ ├── ocr_cls.h // 方向分类器
│ │ │ ├── ocr_det.h // 文字检测 │ │ │ ├── ocr_det.h // 文字检测
│ │ │ ├── ocr_rec.h // 文字识别 │ │ │ ├── ocr_rec.h // 文字识别
│ │ │ ├── postprocess_op.h // 检测后处理 │ │ │ ├── postprocess_op.h // 检测后处理
│ │ │ ├── preprocess_op.h // 检测预处理 │ │ │ ├── preprocess_op.h // 检测预处理
│ │ │ └── utility.h // 工具 │ │ │ └── utility.h // 工具
│ │ ├── readme.md // 说明文档 │ │ ├── readme.md // 说明文档
│ │ ├── ... │ │ ├── ...
│ │ ├── src // 源文件 │ │ ├── src // 源文件
│ │ │ ├── clipper.cpp │ │ │ ├── clipper.cpp
│ │ │ ├── config.cpp │ │ │ ├── config.cpp
│ │ │ ├── main.cpp │ │ │ ├── main.cpp
@ -45,10 +41,10 @@ PaddleOCR
│ │ │ ├── postprocess_op.cpp │ │ │ ├── postprocess_op.cpp
│ │ │ ├── preprocess_op.cpp │ │ │ ├── preprocess_op.cpp
│ │ │ └── utility.cpp │ │ │ └── utility.cpp
│ │ └── tools // 编译、执行脚本 │ │ └── tools // 编译、执行脚本
│ │ ├── build.sh // 编译脚本 │ │ ├── build.sh // 编译脚本
│ │ ├── config.txt // 配置文件 │ │ ├── config.txt // 配置文件
│ │ └── run.sh // 测试启动脚本 │ │ └── run.sh // 测试启动脚本
│ ├── docker │ ├── docker
│ │ └── hubserving │ │ └── hubserving
│ │ ├── cpu │ │ ├── cpu
@ -58,151 +54,151 @@ PaddleOCR
│ │ ├── README_cn.md │ │ ├── README_cn.md
│ │ ├── README.md │ │ ├── README.md
│ │ └── sample_request.txt │ │ └── sample_request.txt
│ ├── hubserving // hubserving │ ├── hubserving // hubserving
│ │ ├── ocr_det // 文字检测 │ │ ├── ocr_cls // 方向分类器
│ │ │ ├── config.json // serving 配置 │ │ │ ├── config.json // serving 配置
│ │ │ ├── __init__.py │ │ │ ├── __init__.py
│ │ │ ├── module.py // 预测模型 │ │ │ ├── module.py // 预测模型
│ │ │ └── params.py // 预测参数 │ │ │ └── params.py // 预测参数
│ │ ├── ocr_rec // 文字识别 │ │ ├── ocr_det // 文字检测
│ │ │ ├── config.json // serving 配置
│ │ │ ├── __init__.py
│ │ │ ├── module.py // 预测模型
│ │ │ └── params.py // 预测参数
│ │ ├── ocr_rec // 文字识别
│ │ │ ├── config.json │ │ │ ├── config.json
│ │ │ ├── __init__.py │ │ │ ├── __init__.py
│ │ │ ├── module.py │ │ │ ├── module.py
│ │ │ └── params.py │ │ │ └── params.py
│ │ └── ocr_system // 系统预测 │ │ └── ocr_system // 系统预测
│ │ ├── config.json │ │ ├── config.json
│ │ ├── __init__.py │ │ ├── __init__.py
│ │ ├── module.py │ │ ├── module.py
│ │ └── params.py │ │ └── params.py
│ ├── imgs // 预测图片 │ ├── imgs // 预测图片
│ │ ├── cpp_infer_pred_12.png │ │ ├── cpp_infer_pred_12.png
│ │ └── demo.png │ │ └── demo.png
│ ├── ios_demo // ios demo │ ├── ios_demo // ios demo
│ │ ... │ │ ...
│ ├── lite // lite 部署 │ ├── lite // lite 部署
│ │ ├── cls_process.cc // 方向分类器数据处理 │ │ ├── cls_process.cc // 方向分类器数据处理
│ │ ├── cls_process.h │ │ ├── cls_process.h
│ │ ├── config.txt // 检测配置参数 │ │ ├── config.txt // 检测配置参数
│ │ ├── crnn_process.cc // crnn数据处理 │ │ ├── crnn_process.cc // crnn 数据处理
│ │ ├── crnn_process.h │ │ ├── crnn_process.h
│ │ ├── db_post_process.cc // db数据处理 │ │ ├── db_post_process.cc // db 数据处理
│ │ ├── db_post_process.h │ │ ├── db_post_process.h
│ │ ├── Makefile // 编译文件 │ │ ├── Makefile // 编译文件
│ │ ├── ocr_db_crnn.cc // 串联预测 │ │ ├── ocr_db_crnn.cc // 串联预测
│ │ ├── prepare.sh // 数据准备 │ │ ├── prepare.sh // 数据准备
│ │ ├── readme.md // 说明文档 │ │ ├── readme.md // 说明文档
│ │ ... │ │ ...
│ ├── pdserving // pdserving 部署 │ ├── pdserving // pdserving 部署
│ │ ├── det_local_server.py // 检测 快速版,部署方便预测速度快 │ │ ├── det_local_server.py // 检测 快速版,部署方便预测速度快
│ │ ├── det_web_server.py // 检测 完整版,稳定性高分布式部署 │ │ ├── det_web_server.py // 检测 完整版,稳定性高分布式部署
│ │ ├── ocr_local_server.py // 检测+识别 快速版 │ │ ├── ocr_local_server.py // 检测+识别 快速版
│ │ ├── ocr_web_client.py // 客户端 │ │ ├── ocr_web_client.py // 客户端
│ │ ├── ocr_web_server.py // 检测+识别 完整版 │ │ ├── ocr_web_server.py // 检测+识别 完整版
│ │ ├── readme.md // 说明文档 │ │ ├── readme.md // 说明文档
│ │ ├── rec_local_server.py // 识别 快速版 │ │ ├── rec_local_server.py // 识别 快速版
│ │ └── rec_web_server.py // 识别 完整版 │ │ └── rec_web_server.py // 识别 完整版
│ └── slim │ └── slim
│ └── quantization // 量化相关 │ └── quantization // 量化相关
│ ├── export_model.py // 导出模型 │ ├── export_model.py // 导出模型
│ ├── quant.py // 量化 │ ├── quant.py // 量化
│ └── README.md // 说明文档 │ └── README.md // 说明文档
├── doc // 文档教程 ├── doc // 文档教程
│ ... │ ...
├── paddleocr.py ├── ppocr // 网络核心代码
├── ppocr // 网络核心代码 │ ├── data // 数据处理
│ ├── data // 数据处理 │ │ ├── imaug // 图片和 label 处理代码
│ │ ├── cls // 方向分类器 │ │ │ ├── text_image_aug // 文本识别的 tia 数据扩充
│ │ │ ├── dataset_traversal.py // 数据传输定义数据读取器读取数据并组成batch │ │ │ │ ├── __init__.py
│ │ │ └── randaugment.py // 随机数据增广操作 │ │ │ │ ├── augment.py // tia_distort,tia_stretch 和 tia_perspective 的代码
│ │ ├── det // 检测 │ │ │ │ ├── warp_mls.py
│ │ │ ├── data_augment.py // 数据增广操作 │ │ │ ├── __init__.py
│ │ │ ├── dataset_traversal.py // 数据传输定义数据读取器读取数据并组成batch │ │ │ ├── iaa_augment.py // 数据增广操作
│ │ │ ├── db_process.py // db 数据处理 │ │ │ ├── label_ops.py // label 编码操作
│ │ │ ├── east_process.py // east 数据处理 │ │ │ ├── make_border_map.py // 生成边界图
│ │ │ ├── make_border_map.py // 生成边界图 │ │ │ ├── make_shrink_map.py // 生成收缩图
│ │ │ ├── make_shrink_map.py // 生成收缩图 │ │ │ ├── operators.py // 图像基本操作,如读取和归一化
│ │ │ ├── random_crop_data.py // 随机切割 │ │ │ ├── randaugment.py // 随机数据增广操作
│ │ │ └── sast_process.py // sast 数据处理 │ │ │ ├── random_crop_data.py // 随机裁剪
│ │ ├── reader_main.py // 数据读取器主函数 │ │ │ └── rec_img_aug.py // 文本识别的数据扩充
│ │ └── rec // 识别 │ │ ├── __init__.py // 构造 dataloader 相关代码
│ │ ├── dataset_traversal.py // 数据传输,定义数据读取器,包含 LMDB_Reader 和 Simple_Reader │ │ ├── lmdb_dataset.py // 读取lmdb数据集的 dataset
│ │ └── img_tools.py // 数据处理相关,包括数据归一化、扰动 │ │ ├── simple_dataset.py // 读取文本格式存储数据集的 dataset
│ ├── __init__.py │ ├── losses // 损失函数
│ ├── modeling // 组网相关 │ │ ├── __init__.py // 构造 loss 相关代码
│ │ ├── architectures // 模型架构,定义模型所需的各个模块 │ │ ├── cls_loss.py // 方向分类器 loss
│ │ │ ├── cls_model.py // 方向分类器 │ │ ├── det_basic_loss.py // 检测基础 loss
│ │ │ ├── det_model.py // 检测 │ │ ├── det_db_loss.py // DB loss
│ │ │ └── rec_model.py // 识别 │ │ ├── rec_ctc_loss.py // ctc loss
│ │ ├── backbones // 骨干网络 │ ├── metrics // 评估指标
│ │ │ ├── det_mobilenet_v3.py // 检测 mobilenet_v3 │ │ ├── __init__.py // 构造 metric 相关代码
│ │ │ ├── det_resnet_vd.py │ │ ├── cls_metric.py // 方向分类器 metric
│ │ │ ├── det_resnet_vd_sast.py │ │ ├── det_metric.py // 检测 metric
│ │ │ ├── rec_mobilenet_v3.py // 识别 mobilenet_v3 │ ├── eval_det_iou.py // 检测 iou 相关
│ │ │ ├── rec_resnet_fpn.py │ │ ├── rec_metric.py // 识别 metric
│ │ │ └── rec_resnet_vd.py │ ├── modeling // 组网相关
│ │ ├── common_functions.py // 公共函数 │ │ ├── architectures // 网络
│ │ ├── heads // 头函数 │ │ │ ├── __init__.py // 构造 model 相关代码
│ │ │ ├── cls_head.py // 分类头 │ │ │ ├── base_model.py // 组网代码
│ │ │ ├── det_db_head.py // db 检测头 │ │ ├── backbones // 骨干网络
│ │ │ ├── det_east_head.py // east 检测头 │ │ │ ├── __init__.py // 构造 backbone 相关代码
│ │ │ ├── det_sast_head.py // sast 检测头 │ │ │ ├── det_mobilenet_v3.py // 检测 mobilenet_v3
│ │ │ ├── rec_attention_head.py // 识别 attention │ │ │ ├── det_resnet_vd.py // 检测 resnet
│ │ │ ├── rec_ctc_head.py // 识别 ctc │ │ │ ├── rec_mobilenet_v3.py // 识别 mobilenet_v3
│ │ │ ├── rec_seq_encoder.py // 识别 序列编码 │ │ │ └── rec_resnet_vd.py // 识别 resnet
│ │ │ ├── rec_srn_all_head.py // 识别 srn 相关 │ │ ├── necks // 颈函数
│ │ │ └── self_attention // srn attention │ │ │ ├── __init__.py // 构造 neck 相关代码
│ │ │ └── model.py │ │ │ ├── db_fpn.py // fpn 网络
│ │ ├── losses // 损失函数 │ │ │ ├── rnn.py // 识别 序列编码
│ │ │ ├── cls_loss.py // 方向分类器损失函数 │ │ ├── heads // 头函数
│ │ │ ├── det_basic_loss.py // 检测基础loss │ │ │ ├── __init__.py // 构造 head 相关代码
│ │ │ ├── det_db_loss.py // DB loss │ │ │ ├── cls_head.py // 方向分类器 分类头
│ │ │ ├── det_east_loss.py // EAST loss │ │ │ ├── det_db_head.py // db 检测头
│ │ │ ├── det_sast_loss.py // SAST loss │ │ │ ├── rec_ctc_head.py // 识别 ctc
│ │ │ ├── rec_attention_loss.py // attention loss │ │ ├── transforms // 图像变换
│ │ │ ├── rec_ctc_loss.py // ctc loss │ │ │ ├── __init__.py // 构造 transform 相关代码
│ │ │ └── rec_srn_loss.py // srn loss │ │ │ └── tps.py // TPS 变换
│ │ └── stns // 空间变换网络 │ ├── optimizer // 优化器
│ │ └── tps.py // TPS 变换 │ │ ├── __init__.py // 构造 optimizer 相关代码
│ ├── optimizer.py // 优化器 │ │ └── learning_rate.py // 学习率衰减
│ ├── postprocess // 后处理 │ │ └── optimizer.py // 优化器
│ │ ├── db_postprocess.py // DB 后处理 │ │ └── regularizer.py // 网络正则化
│ │ ├── east_postprocess.py // East 后处理 │ ├── postprocess // 后处理
│ │ ├── lanms // lanms 相关 │ │ ├── cls_postprocess.py // 方向分类器 后处理
│ │ │ ... │ │ ├── db_postprocess.py // DB 后处理
│ │ ├── locality_aware_nms.py // nms │ │ └── rec_postprocess.py // 识别网络 后处理
│ │ └── sast_postprocess.py // sast 后处理 │ └── utils // 工具
│ └── utils // 工具 │ ├── dict // 小语种字典
│ ├── character.py // 字符处理,包括对文本的编码和解码,计算预测准确率 │ ....
│ ├── check.py // 参数加载检查 │ ├── ic15_dict.txt // 英文数字字典,区分大小写
│ ├── ic15_dict.txt // 英文数字字典,区分大小写 │ ├── ppocr_keys_v1.txt // 中文字典,用于训练中文模型
│ ├── ppocr_keys_v1.txt // 中文字典,用于训练中文模型 │ ├── logging.py // logger
│ ├── save_load.py // 模型保存和加载函数 │ ├── save_load.py // 模型保存和加载函数
│ ├── stats.py // 统计 │ ├── stats.py // 统计
│ └── utility.py // 工具函数,包含输入参数是否合法等相关检查工具 │ └── utility.py // 工具函数
├── README_en.md // 说明文档 ├── tools
├── README.md │ ├── eval.py // 评估函数
├── requirments.txt // 安装依赖 │ ├── export_model.py // 导出 inference 模型
├── setup.py // whl包打包脚本 │ ├── infer // 基于预测引擎预测
└── tools // 启动工具 │ │ ├── predict_cls.py
├── eval.py // 评估函数 │ │ ├── predict_det.py
├── eval_utils // 评估工具 │ │ ├── predict_rec.py
│ ├── eval_cls_utils.py // 分类相关 │ │ ├── predict_system.py
│ ├── eval_det_iou.py // 检测 iou 相关 │ │ └── utility.py
│ ├── eval_det_utils.py // 检测相关 │ ├── infer_cls.py // 基于训练引擎 预测分类
│ ├── eval_rec_utils.py // 识别相关 │ ├── infer_det.py // 基于训练引擎 预测检测
│ └── __init__.py │ ├── infer_rec.py // 基于训练引擎 预测识别
├── export_model.py // 导出 infer 模型 │ ├── program.py // 整体流程
├── infer // 基于预测引擎预测 │ ├── test_hubserving.py
│ ├── predict_cls.py │ └── train.py // 启动训练
│ ├── predict_det.py ├── paddleocr.py
│ ├── predict_rec.py ├── README_ch.md // 中文说明文档
│ ├── predict_system.py ├── README_en.md // 英文说明文档
│ └── utility.py ├── README.md // 主页说明文档
├── infer_cls.py // 基于训练引擎 预测分类 ├── requirments.txt // 安装依赖
├── infer_det.py // 基于训练引擎 预测检测 ├── setup.py // whl包打包脚本
├── infer_rec.py // 基于训练引擎 预测识别 ├── train.sh // 启动训练脚本
├── program.py // 整体流程
├── test_hubserving.py
└── train.py // 启动训练
```

View File

@ -2,40 +2,37 @@
The overall directory structure of PaddleOCR is introduced as follows: The overall directory structure of PaddleOCR is introduced as follows:
``` ```
PaddleOCR PaddleOCR
├── configs // configuration file, you can select model structure and modify hyperparameters through yml file ├── configs // Configuration file, you can config the model structure and modify the hyperparameters through the yml file
│ ├── cls // Related configuration files of direction classifier │ ├── cls // Angle classifier config files
│ │ ├── cls_mv3.yml // training configuration related, including backbone network, head, loss, optimizer │ │ ├── cls_mv3.yml // Training config, including backbone network, head, loss, optimizer and data
│ │ └── cls_reader.yml // Data reading related, data reading method, data storage path │ ├── det // Text detection config files
│ ├── det // Detection related configuration files │ │ ├── det_mv3_db.yml // Training config
│ │ ├── det_db_icdar15_reader.yml // data read
│ │ ├── det_mv3_db.yml // training configuration
│ │ ... │ │ ...
│ └── rec // Identify related configuration files │ └── rec // Text recognition config files
│ ├── rec_benchmark_reader.yml // LMDB format data reading related │ ├── rec_mv3_none_bilstm_ctc.yml // CRNN config
│ ├── rec_chinese_common_train.yml // General Chinese training configuration
│ ├── rec_icdar15_reader.yml // simple data reading related, including data reading function, data path, label file
│ ... │ ...
├── deploy // deployment related ├── deploy // Depoly
│ ├── android_demo // android_demo │ ├── android_demo // Android demo
│ │ ... │ │ ...
│ ├── cpp_infer // C++ infer │ ├── cpp_infer // C++ infer
│ │ ├── CMakeLists.txt // Cmake file │ │ ├── CMakeLists.txt // Cmake file
│ │ ├── docs // documentation │ │ ├── docs // Docs
│ │ │ └── windows_vs2019_build.md │ │ │ └── windows_vs2019_build.md
│ │ ├── include │ │ ├── include // Head Files
│ │ │ ├── clipper.h // clipper library │ │ │ ├── clipper.h // clipper
│ │ │ ├── config.h // infer configuration │ │ │ ├── config.h // Inference config
│ │ │ ├── ocr_cls.h // direction classifier │ │ │ ├── ocr_cls.h // Angle class
│ │ │ ├── ocr_det.h // text detection │ │ │ ├── ocr_det.h // Text detection
│ │ │ ├── ocr_rec.h // text recognition │ │ │ ├── ocr_rec.h // Text recognition
│ │ │ ├── postprocess_op.h // postprocess after detection │ │ │ ├── postprocess_op.h // Post-processing
│ │ │ ├── preprocess_op.h // preprocess detection │ │ │ ├── preprocess_op.h // Pre-processing
│ │ │ └── utility.h // tools │ │ │ └── utility.h // tools
│ │ ├── readme.md // documentation │ │ ├── readme.md // Documentation
│ │ ├── ... │ │ ├── ...
│ │ ├── src // source file │ │ ├── src // Source code files
│ │ │ ├── clipper.cpp │ │ │ ├── clipper.cpp
│ │ │ ├── config.cpp │ │ │ ├── config.cpp
│ │ │ ├── main.cpp │ │ │ ├── main.cpp
@ -45,10 +42,10 @@ PaddleOCR
│ │ │ ├── postprocess_op.cpp │ │ │ ├── postprocess_op.cpp
│ │ │ ├── preprocess_op.cpp │ │ │ ├── preprocess_op.cpp
│ │ │ └── utility.cpp │ │ │ └── utility.cpp
│ │ └── tools // compile and execute script │ │ └── tools // Compile and execute script
│ │ ├── build.sh // compile script │ │ ├── build.sh // Compile script
│ │ ├── config.txt // configuration file │ │ ├── config.txt // Config file
│ │ └── run.sh // Test startup script │ │ └── run.sh // Execute script
│ ├── docker │ ├── docker
│ │ └── hubserving │ │ └── hubserving
│ │ ├── cpu │ │ ├── cpu
@ -58,151 +55,151 @@ PaddleOCR
│ │ ├── README_cn.md │ │ ├── README_cn.md
│ │ ├── README.md │ │ ├── README.md
│ │ └── sample_request.txt │ │ └── sample_request.txt
│ ├── hubserving // hubserving │ ├── hubserving // hubserving
│ │ ├── ocr_det // text detection │ │ ├── ocr_cls // Angle class
│ │ │ ├── config.json // serving configuration │ │ │ ├── config.json // Serving config
│ │ │ ├── __init__.py │ │ │ ├── __init__.py
│ │ │ ├── module.py // prediction model │ │ │ ├── module.py // Model
│ │ │ └── params.py // prediction parameters │ │ │ └── params.py // Parameters
│ │ ├── ocr_rec // text recognition │ │ ├── ocr_det // Text detection
│ │ │ ├── config.json // serving config
│ │ │ ├── __init__.py
│ │ │ ├── module.py // Model
│ │ │ └── params.py // Parameters
│ │ ├── ocr_rec // Text recognition
│ │ │ ├── config.json │ │ │ ├── config.json
│ │ │ ├── __init__.py │ │ │ ├── __init__.py
│ │ │ ├── module.py │ │ │ ├── module.py
│ │ │ └── params.py │ │ │ └── params.py
│ │ └── ocr_system // system forecast │ │ └── ocr_system // Inference System
│ │ ├── config.json │ │ ├── config.json
│ │ ├── __init__.py │ │ ├── __init__.py
│ │ ├── module.py │ │ ├── module.py
│ │ └── params.py │ │ └── params.py
│ ├── imgs // prediction picture │ ├── imgs // Inference images
│ │ ├── cpp_infer_pred_12.png │ │ ├── cpp_infer_pred_12.png
│ │ └── demo.png │ │ └── demo.png
│ ├── ios_demo // ios demo │ ├── ios_demo // IOS demo
│ │ ... │ │ ...
│ ├── lite // lite deployment │ ├── lite // Lite depoly
│ │ ├── cls_process.cc // direction classifier data processing │ │ ├── cls_process.cc // Pre-process for angle class
│ │ ├── cls_process.h │ │ ├── cls_process.h
│ │ ├── config.txt // check configuration parameters │ │ ├── config.txt // Config file
│ │ ├── crnn_process.cc // crnn data processing │ │ ├── crnn_process.cc // Pre-process for CRNN
│ │ ├── crnn_process.h │ │ ├── crnn_process.h
│ │ ├── db_post_process.cc // db data processing │ │ ├── db_post_process.cc // Pre-process for DB
│ │ ├── db_post_process.h │ │ ├── db_post_process.h
│ │ ├── Makefile // compile file │ │ ├── Makefile // Compile file
│ │ ├── ocr_db_crnn.cc // series prediction │ │ ├── ocr_db_crnn.cc // Inference system
│ │ ├── prepare.sh // data preparation │ │ ├── prepare.sh // Prepare bash script
│ │ ├── readme.md // documentation │ │ ├── readme.md // Documentation
│ │ ... │ │ ...
│ ├── pdserving // pdserving deployment │ ├── pdserving // Pdserving depoly
│ │ ├── det_local_server.py // fast detection version, easy deployment and fast prediction │ │ ├── det_local_server.py // Text detection fast version, easy to deploy and fast to predict
│ │ ├── det_web_server.py // Full version of detection, high stability and distributed deployment │ │ ├── det_web_server.py // Text detection full version, high stability distributed deployment
│ │ ├── ocr_local_server.py // detection + identification quick version │ │ ├── ocr_local_server.py // Text detection + recognition fast version
│ │ ├── ocr_web_client.py // client │ │ ├── ocr_web_client.py // client
│ │ ├── ocr_web_server.py // detection + identification full version │ │ ├── ocr_web_server.py // Text detection + recognition full version
│ │ ├── readme.md // documentation │ │ ├── readme.md // Documentation
│ │ ├── rec_local_server.py // recognize quick version │ │ ├── rec_local_server.py // Text recognition fast version
│ │ └── rec_web_server.py // Identify the full version │ │ └── rec_web_server.py // Text recognition full version
│ └── slim │ └── slim
│ └── quantization // quantization related │ └── quantization // Quantization
│ ├── export_model.py // export model │ ├── export_model.py // Export model
│ ├── quant.py // quantization │ ├── quant.py // Quantization script
│ └── README.md // Documentation │ └── README.md // Documentation
├── doc // Documentation tutorial ├── doc // Documentation and Tutorials
│ ... │ ...
├── paddleocr.py ├── ppocr // Core code
├── ppocr // network core code │ ├── data // Data processing
│ ├── data // data processing │ │ ├── imaug // Image and label processing code
│ │ ├── cls // direction classifier │ │ │ ├── text_image_aug // Tia data augment for text recognition
│ │ │ ├── dataset_traversal.py // Data transmission, define data reader, read data and form batch │ │ │ │ ├── __init__.py
│ │ │ └── randaugment.py // Random data augmentation operation │ │ │ │ ├── augment.py // Tia_distort,tia_stretch and tia_perspective
│ │ ├── det // detection │ │ │ │ ├── warp_mls.py
│ │ │ ├── data_augment.py // data augmentation operation │ │ │ ├── __init__.py
│ │ │ ├── dataset_traversal.py // Data transmission, define data reader, read data and form batch │ │ │ ├── iaa_augment.py // Data augmentation operations
│ │ │ ├── db_process.py // db data processing │ │ │ ├── label_ops.py // label encode operations
│ │ │ ├── east_process.py // east data processing │ │ │ ├── make_border_map.py // Generate boundary map
│ │ │ ├── make_border_map.py // Generate boundary map │ │ │ ├── make_shrink_map.py // Generate shrink graph
│ │ │ ├── make_shrink_map.py // Generate shrink map │ │ │ ├── operators.py // Basic image operations, such as reading and normalization
│ │ │ ├── random_crop_data.py // random crop │ │ │ ├── randaugment.py // Random data augmentation operation
│ │ │ └── sast_process.py // sast data processing │ │ │ ├── random_crop_data.py // Random crop
│ │ ├── reader_main.py // main function of data reader │ │ │ └── rec_img_aug.py // Data augmentation for text recognition
│ │ └── rec // recognation │ │ ├── __init__.py // Construct dataloader code
│ │ ├── dataset_traversal.py // Data transmission, define data reader, including LMDB_Reader and Simple_Reader │ │ ├── lmdb_dataset.py // Read lmdb dataset
│ │ └── img_tools.py // Data processing related, including data normalization and disturbance │ │ ├── simple_dataset.py // Read the dataset stored in text format
│ ├── __init__.py │ ├── losses // Loss function
│ ├── modeling // networking related │ │ ├── __init__.py // Construct loss code
│ │ ├── architectures // Model architecture, which defines the various modules required by the model │ │ ├── cls_loss.py // Angle class loss
│ │ │ ├── cls_model.py // direction classifier │ │ ├── det_basic_loss.py // Text detection basic loss
│ │ │ ├── det_model.py // detection │ │ ├── det_db_loss.py // DB loss
│ │ │ └── rec_model.py // recognition │ │ ├── rec_ctc_loss.py // ctc loss
│ │ ├── backbones // backbone network │ ├── metrics // Metrics
│ │ │ ├── det_mobilenet_v3.py // detect mobilenet_v3 │ │ ├── __init__.py // Construct metric code
│ │ │ ├── det_resnet_vd.py │ │ ├── cls_metric.py // Angle class metric
│ │ │ ├── det_resnet_vd_sast.py │ │ ├── det_metric.py // Text detection metric
│ │ │ ├── rec_mobilenet_v3.py // recognize mobilenet_v3 │ ├── eval_det_iou.py // Text detection iou code
│ │ │ ├── rec_resnet_fpn.py │ │ ├── rec_metric.py // Text recognition metric
│ │ │ └── rec_resnet_vd.py │ ├── modeling // Network
│ │ ├── common_functions.py // common functions │ │ ├── architectures // Architecture
│ │ ├── heads │ │ │ ├── __init__.py // Construct model code
│ │ │ ├── cls_head.py // class header │ │ │ ├── base_model.py // Base model
│ │ │ ├── det_db_head.py // db detection head │ │ ├── backbones // backbones
│ │ │ ├── det_east_head.py // east detection head │ │ │ ├── __init__.py // Construct backbone code
│ │ │ ├── det_sast_head.py // sast detection head │ │ │ ├── det_mobilenet_v3.py // Text detection mobilenet_v3
│ │ │ ├── rec_attention_head.py // recognition attention │ │ │ ├── det_resnet_vd.py // Text detection resnet
│ │ │ ├── rec_ctc_head.py // recognition ctc │ │ │ ├── rec_mobilenet_v3.py // Text recognition mobilenet_v3
│ │ │ ├── rec_seq_encoder.py // recognition sequence code │ │ │ └── rec_resnet_vd.py // Text recognition resnet
│ │ │ ├── rec_srn_all_head.py // srn related │ │ ├── necks // Necks
│ │ │ └── self_attention // srn attention │ │ │ ├── __init__.py // Construct neck code
│ │ │ └── model.py │ │ │ ├── db_fpn.py // FPN
│ │ ├── losses // loss function │ │ │ ├── rnn.py // Character recognition sequence encoding
│ │ │ ├── cls_loss.py // Directional classifier loss function │ │ ├── heads // Heads
│ │ │ ├── det_basic_loss.py // detect basic loss │ │ │ ├── __init__.py // Construct head code
│ │ │ ├── det_db_loss.py // DB loss │ │ │ ├── cls_head.py // Angle class head
│ │ │ ├── det_east_loss.py // EAST loss │ │ │ ├── det_db_head.py // DB head
│ │ │ ├── det_sast_loss.py // SAST loss │ │ │ ├── rec_ctc_head.py // Ctc head
│ │ │ ├── rec_attention_loss.py // attention loss │ │ ├── transforms // Transforms
│ │ │ ├── rec_ctc_loss.py // ctc loss │ │ │ ├── __init__.py // Construct transform code
│ │ │ └── rec_srn_loss.py // srn loss │ │ │ └── tps.py // TPS transform
│ │ └── stns // Spatial transformation network │ ├── optimizer // Optimizer
│ │ └── tps.py // TPS conversion │ │ ├── __init__.py // Construct optimizer code
│ ├── optimizer.py // optimizer │ │ └── learning_rate.py // Learning rate decay
│ ├── postprocess // post-processing │ │ └── optimizer.py // Optimizer
│ │ ├── db_postprocess.py // DB postprocess │ │ └── regularizer.py // Network regularization
│ │ ├── east_postprocess.py // East postprocess │ ├── postprocess // Post-processing
│ │ ├── lanms // lanms related │ │ ├── cls_postprocess.py // Angle class post-processing
│ │ │ ... │ │ ├── db_postprocess.py // DB post-processing
│ │ ├── locality_aware_nms.py // nms │ │ └── rec_postprocess.py // Text recognition post-processing
│ │ └── sast_postprocess.py // sast post-processing │ └── utils // utils
│ └── utils // tools │ ├── dict // Minor language dictionary
│ ├── character.py // Character processing, including text encoding and decoding, and calculation of prediction accuracy │ ....
│ ├── check.py // parameter loading check │ ├── ic15_dict.txt // English number dictionary, case sensitive
│ ├── ic15_dict.txt // English number dictionary, case sensitive │ ├── ppocr_keys_v1.txt // Chinese dictionary for training Chinese models
│ ├── ppocr_keys_v1.txt // Chinese dictionary, used to train Chinese models │ ├── logging.py // logger
│ ├── save_load.py // model save and load function │ ├── save_load.py // Model saving and loading functions
│ ├── stats.py // Statistics │ ├── stats.py // Training status statistics
│ └── utility.py // Tool functions, including related check tools such as whether the input parameters are legal │ └── utility.py // Utility function
├── README_en.md // documentation ├── tools
├── README.md │ ├── eval.py // Evaluation function
├── requirments.txt // installation dependencies │ ├── export_model.py // Export inference model
├── setup.py // whl package packaging script │ ├── infer // Inference based on Inference engine
└── tools // start tool │ │ ├── predict_cls.py
├── eval.py // evaluation function │ │ ├── predict_det.py
├── eval_utils // evaluation tools │ │ ├── predict_rec.py
│ ├── eval_cls_utils.py // category related │ │ ├── predict_system.py
│ ├── eval_det_iou.py // detect iou related │ │ └── utility.py
│ ├── eval_det_utils.py // detection related │ ├── infer_cls.py // Angle classification inference based on training engine
│ ├── eval_rec_utils.py // recognition related │ ├── infer_det.py // Text detection inference based on training engine
│ └── __init__.py │ ├── infer_rec.py // Text recognition inference based on training engine
├── export_model.py // export infer model │ ├── program.py // Inference system
├── infer // Forecast based on prediction engine │ ├── test_hubserving.py
│ ├── predict_cls.py │ └── train.py // Start training script
│ ├── predict_det.py ├── paddleocr.py
│ ├── predict_rec.py ├── README_ch.md // Chinese documentation
│ ├── predict_system.py ├── README_en.md // English documentation
│ └── utility.py ├── README.md // Home page documentation
├── infer_cls.py // Predict classification based on training engine ├── requirments.txt // Requirments
├── infer_det.py // Predictive detection based on training engine ├── setup.py // Whl package packaging script
├── infer_rec.py // Predictive recognition based on training engine ├── train.sh // Start training bash script
├── program.py // overall process
├── test_hubserving.py
└── train.py // start training
```