Windows 源码安装 PaddleOCR-2.9.1©🌱

编译oneDNN-3.6.2

编译opencv-3.4.20

mkdir build
cd build

cmake .. \
    -DCMAKE_INSTALL_PREFIX=%opencv-install_path% \
    -G "NMake Makefiles JOM" \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=ON \
    -DWITH_IPP=OFF \
    -DBUILD_IPP_IW=OFF \
    -DWITH_LAPACK=OFF \
    -DWITH_EIGEN=OFF \
    -DWITH_ZLIB=ON \
    -DBUILD_ZLIB=ON \
    -DWITH_JPEG=ON \
    -DBUILD_JPEG=ON \
    -DWITH_PNG=ON \
    -DBUILD_PNG=ON \
    -DWITH_TIFF=ON \
    -DBUILD_TIFF=ON

jom
jom install

部署完成后会在安装路径opencv-3.4.20-install_path下生成opencv的头文件和库文件。

获取Paddle预测库

Paddle预测库官网选择并下载适合需要的预测库版本,下载后解压,生成paddle_inference文件夹。

参考Paddle预测库官网说明,从代码仓库克隆最新代码或下载已发布的特定版本号的代码包,解压,设置安装路径paddle-install_path,进入源码路径下:

mkdir build
cd build

cmake  .. \
    -DCMAKE_INSTALL_PREFIX=%paddle-install_path% \
    -G "NMake Makefiles JOM" \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=ON \
    -DWITH_CONTRIB=OFF \
    -DWITH_MKL=ON \
    -DWITH_MKLDNN=ON  \
    -DWITH_TESTING=OFF \
    -DWITH_INFERENCE_API_TEST=OFF \
    -DON_INFER=ON \
    -DWITH_PYTHON=OFF
    
jom
jom install

更多编译参数选项可参考官网Paddle C++说明

|-- CMakeCache.txt
|-- paddle
|-- third_party
|-- version.txt

其中paddleC++预测库开发必须的文件,version.txt含有预测库的版本信息。

部署PaddleOCR

解压得到项目目录

获取PaddleOCR-2.9.1或更新版本的的代码包,合并到项目目录
qmake && jom

use_gpu  0 # 是否使用GPU,1表示使用,0表示不使用
gpu_id  0 # GPU id,使用GPU时有效
gpu_mem  4000  # 申请的GPU内存
cpu_math_library_num_threads  10 # CPU预测时的线程数,在机器核数充足的情况下,该值越大,预测速度越快
use_mkldnn 1 # 是否使用mkldnn库

# det config
max_side_len  960 # 输入图像长宽大于960时,等比例缩放图像,使得图像最长边为960
det_db_thresh  0.3 # 用于过滤DB预测的二值化图像,设置为0.-0.3对结果影响不明显
det_db_box_thresh  0.5 # DB后处理过滤box的阈值,如果检测存在漏框情况,可酌情减小
det_db_unclip_ratio  1.6 # 表示文本框的紧致程度,越小则文本框更靠近文本
use_polygon_score 1 # 是否使用多边形框计算bbox score,0表示使用矩形框计算。矩形框计算速度更快,多边形框对弯曲文本区域计算更准确。
det_model_dir  ./inference/det_db # 检测模型inference model地址

# cls config
use_angle_cls 0 # 是否使用方向分类器,0表示不使用,1表示使用
cls_model_dir ./inference/cls # 方向分类器inference model地址
cls_thresh  0.9 # 方向分类器的得分阈值

# rec config
rec_model_dir  ./inference/rec_crnn # 识别模型inference model地址
char_list_file ../../ppocr/utils/ppocr_keys_v1.txt # 字典文件

# show the detection results
visualize 1 # 是否对结果进行可视化,为1时,会在当前文件夹下保存文件名为`ocr_vis.png`的预测结果。