ZH ·
🌏 English

使用 PaddleOCR 实现曲线文本检测

检测结果

文本检测是计算机视觉领域中的一个经典课题。相比于常规文本,曲线文本由于其自由多变的形态,处理起来更具挑战性。在本文中,我们将向您展示如何使用 PaddleOCR 运行曲线文本检测。

设置环境

首先,创建一个名为 paddle_env 的虚拟环境。

conda create --name paddle_env python=3.8

激活该环境:

conda activate paddle_env 

使用 pip 安装 PaddlePaddle 和 PaddleOCR 相关包:

python -m pip install paddlepaddle
pip install "paddleocr>=2.0.1" # 推荐使用 2.0.1 及以上版本

测试环境

验证安装是否成功:

wget https://paddleocr.bj.bcebos.com/dygraph_v2.1/ppocr_img.zip
unzip ppocr_img.zip
paddleocr --image_dir ./ppocr_img/imgs_en/img_12.jpg \
        --use_angle_cls true --lang en --use_gpu false

使用 SAST 进行曲线文本检测

从 GitHub 克隆 PaddleOCR 仓库,并切换到动态图分支:

git clone https://github.com/PaddlePaddle/PaddleOCR.git
cd PaddleOCR
git checkout dygraph

下载 SAST 训练模型:

mkdir models
cd models
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/en/det_r50_vd_sast_totaltext_v2.0_train.tar
tar -xvf det_r50_vd_sast_totaltext_v2.0_train.tar
cd - # 返回 PaddleOCR 仓库路径

SAST 训练模型需要转换为推理模型才能进行预测:

python tools/export_model.py -c configs/det/det_r50_vd_sast_totaltext.yml \
        -o Global.pretrained_model=./models/det_r50_vd_sast_totaltext_v2.0_train/best_accuracy \
        Global.save_inference_dir=./inference/det_sast_tt

转换完成后,系统会创建一个名为 inference 的新文件夹。

现在,您可以运行曲线文本检测了:

python tools/infer/predict_det.py --det_algorithm="SAST" \
        --image_dir="./doc/imgs_en/img623.jpg" \
        --det_model_dir="./inference/det_sast_tt/" \
        --det_sast_polygon=True

检测结果