Настоящий бой проекта PaddleOCR

искусственный интеллект
Настоящий бой проекта PaddleOCR

PaddleOCR реализует технологию OCR и использует фреймворк Baidu PaddlePaddle.

PaddleOCR aims to create multilingual, awesome, leading, and practical OCR tools that help users train better models and apply them into practice.

Самое замечательное в этом проекте то, что он может распознавать вертикальный текст с высокой скоростью распознавания.

адрес проекта на гитхабе:GitHub.com/paddle pad DL…

Краткое введение в проект (в основном взято из Readme проекта):

Мы можем быстро найти эту область на главной страницеTutorials, В этой части руководства мы можем быстро найти две части Установка и Быстрый запуск, которых достаточно для нашего тестирования и использования.В части глубокого понимания кода мы можем посмотреть на следующую часть алгоритма модели, часть модели, часть вывода, часть данных и т. д.

090.PNG

Requirements

  • PaddleOCR working environment:
    • PaddlePaddle 2.0.0
    • python3.7
    • glibc 2.23 (при тестировании использовалась glibc 2.27)

Примечания по установке:GitHub.com/paddle pad DL…

  • На сайте указано, что лучше всего ставить в виде докера (я им не пользовался)
  • Устанавливать напрямую в виде инсталляционной библиотеки окружения

контрольная работа

python3 tools/infer/predict_system.py --image_dir="./doc/imgs/007.png" --det_model_dir="./inference/ch_ppocr_server_v2.0_det_infer/"  --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True

Практические шаги

Во-первых, для версии gpu нужно установить окружение CUDA 10.1 и cuDNN 7.6.5, здесь используем уже готовое окружение (易学智能平台), что позволяет избежать различных проблем среды установки и быстро реализовать конструкцию проекта.费钱

1. Конфигурация среды

1.0 Пропустить предыдущий процесс покупки простых в освоении умных машин

Эта часть хорошо задокументирована в моем предыдущем блоге:Наггетс.Талант/пост/696575…

1.1 Откройте терминал и переключитесь в указанную среду

Нам нужна среда py37-cuda101, а команда переключения

conda activate py37-cuda101

1008.PNG

1.2 Установка весла

Команду установки можно найти в Installation.md

python3 -m pip install paddlepaddle-gpu==2.0.0 -i https://mirror.baidu.com/pypi/simple

1.3 Загрузите проект PaddleOCR

Эта загрузка выполняется быстро и может быть выполнена напрямую с помощью git clone.

git clone https://github.com/PaddlePaddle/PaddleOCR

1.4 Войдите в проект и установите среду

При установке requirements.txt установка будет много раз давать сбой из-за колебаний сети, просто попробуйте несколько раз.

cd PaddleOCR
pip3 install -r requirements.txt

2. Загрузите модель

Эту часть мы можем прочитать в разделе Quick Start

091.PNG

На изображении выше мы видим, что есть список из двух моделей,относительно небольшой, легкий, эта меньшая часть手机端;Кроме тогоОдин крупнее и громоздче,Да服务器端из.

2.1 Загрузите модель в соответствии с инструкциями

2.1.1 Создайте папку и войдите в папку
mkdir inference && cd inference
2.1.2 Скачайте модель и разархивируйте ее

092.PNG

点击右键,获得下载链接,使用wget下载
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar

下载完成后,使用tar命令进行解压
tar -xvf ch_ppocr_server_v2.0_det_infer.tar
2.1.3 Структура дерева каталогов после загрузки
├── ch_ppocr_mobile_v2.0_cls_infer
│   ├── inference.pdiparams
│   ├── inference.pdiparams.info
│   └── inference.pdmodel
├── ch_ppocr_mobile_v2.0_det_infer
│   ├── inference.pdiparams
│   ├── inference.pdiparams.info
│   └── inference.pdmodel
├── ch_ppocr_mobile_v2.0_rec_infer
    ├── inference.pdiparams
    ├── inference.pdiparams.info
    └── inference.pdmodel

Протестируйте модель

Следующий код реализует обнаружение текста, класс угла и процесс распознавания.

Измените параметр на соответствующий путь вашего собственного проекта.

  • parameter
    • image_dir:the path of a single image or image set
    • det_model_dir:the path to the detection inference model
    • rec_model_dir:the path to the recognition inference model
    • use_angle_cls: whether to use the direction classifier
    • cls_model_dir:the path to the direction classifier model
    • use_space_char: whether to predict the space char
  • result
    • saved to the ./inference_results folder by default
# Predict a single image specified by image_dir
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/007.png" --det_model_dir="./inference/ch_ppocr_server_v2.0_det_infer/"  --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True

# Predict imageset specified by image_dir
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/" --det_model_dir="./inference/ch_ppocr_server_v2.0_det_infer/"  --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True

# If you want to use the CPU for prediction, you need to set the use_gpu parameter to False
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/007.png" --det_model_dir="./inference/ch_ppocr_server_v2.0_det_infer/"  --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True --use_gpu=False

Показать результаты

Первая группа (в основном все пары)

002.jpg 0999.PNG

Вторая группа (в основном все пары)

007.png

0996.PNG

Третья группа (для распознавания вертикального текста эффект уже очень хороший)

006.jpg

0997.PNG