PaddleOCR verwendet C++, um ultraleichte chinesische Erkennungs- und Erkennungsmodelle vorherzusagen

1. Vorbereitung

1.1 Betriebsumgebung

Das empfohlene Betriebssystem ist Linux. Ich verwende Ubuntu 16.04.6 und der Prozessor ist eine 4-Kern-Intel® Core™ i5-7500-CPU mit 3,40 GHz.

1.2 Kompilieren Sie abhängige Bibliotheken

Diese Demo verwendet hauptsächlich die Bibliotheken OpenCV und Paddle Prediction von Drittanbietern.

1.2.1 Opencv kompilieren

Es wird empfohlen, opencv 3.0 oder höher zu verwenden (nehmen Sie opencv3.4.7 als Beispiel).

1) Herunterladen und dekomprimieren

wget https://github.com/opencv/opencv/archive/3.4.7.tar.gz
    
tar xvf 3.4.7.tar.gz

2) Kompilieren

cd opencv-3.4.7
mkdir build
cd build

cmake .. \
-DCMAKE_INSTALL_PREFIX= {设定的opencv要install的目录} \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_IPP=OFF \
-DBUILD_IPP_IW=OFF \
-DWITH_LAPACK=OFF \
-DWITH_EIGEN=OFF \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DWITH_ZLIB=ON \
-DBUILD_ZLIB=ON \
-DWITH_JPEG=ON \
-DBUILD_JPEG=ON \
-DWITH_PNG=ON \
-DBUILD_PNG=ON \
-DWITH_TIFF=ON \
-DBUILD_TIFF=ON

make -j4
make install

Nach Abschluss der Make-Installation werden OpenCV-Headerdateien und Bibliotheksdateien im Verzeichnis der OpenCV-Installation für die anschließende OCR-Codekompilierung generiert. Die endgültige Dateistruktur im Installationspfad lautet wie folgt:

opencv3/
|-- bin
|-- include
|-- lib
|-- lib64
|-- share
1.2.2 Kompilieren Sie die Paddle-Vorhersagebibliothek

1) Laden Sie den Code herunter

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

2) Kompilieren

mkdir build
cd build

cmake  .. \
-DWITH_CONTRIB=OFF \
-DWITH_MKL=OFF \
-DWITH_MKLDNN=OFF  \
-DWITH_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_INFERENCE_API_TEST=OFF \
-DON_INFER=ON \
-DWITH_PYTHON=ON

make -j4
make inference_lib_dist

Nachdem die Kompilierung abgeschlossen ist, können Sie sehen, dass die folgenden Dateien und Ordner unter der Datei build/paddle_inference_install_dir/ generiert wurden.

build/paddle_inference_install_dir/
|-- CMakeCache.txt
|-- paddle
|-- third_party
|-- version.txt
  • Hinweis: Wenn während der Kompilierung Fehler beim Öffnen zu vieler Dateien gemeldet werden, legen Sie ulimit -n 63356 fest

Weitere Kompilierungsparameteroptionen finden Sie auf der offiziellen Website der Paddle C++-Vorhersagebibliothek:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html#congyuanmabianyi

2. laufen

2.1 Exportieren Sie das Modell als Inferenzmodell

Informationen zum Exportieren des Inferenzmodells für die Modellvorhersage finden Sie im Kapitel zur Modellvorhersage ( https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/inference.md ). Nachdem das Modell exportiert wurde, sieht die Verzeichnisstruktur wie folgt aus, vorausgesetzt, es wird im Inferenzverzeichnis abgelegt.

inference/
|-- det_db
|   |--inference.pdparams
|   |--inference.pdimodel
|-- rec_rcnn
|   |--inference.pdparams
|   |--inference.pdparams

2.2 Kompilieren Sie die PaddleOCR C++-Vorhersagedemo

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

cd PaddleOCR/deploy/cpp_infer

vi tools/build.sh

Setzen Sie OPENCV_DIR in build.sh auf den Installationspfad (1.2.1), der zum Kompilieren von opencv selbst verwendet wird, und setzen Sie LIB_DIR auf den Pfad, der zum Kompilieren der Paddle-Vorhersagebibliothek verwendet wird. Siehe die folgende Abbildung:

Fügen Sie hier eine Bildbeschreibung ein

sh tools/build.sh

Nach Abschluss der Kompilierung wird im Build-Ordner eine ausführbare Datei mit dem Namen ocr_system generiert.

Führen Sie das Programm aus:

sh tools/run.sh

Der laufende Effekt des Programms ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein
Das Ergebnisbild von ocr_vis.png wird im aktuellen Verzeichnis generiert. Der Effekt ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein

Je suppose que tu aimes

Origine blog.csdn.net/santanan/article/details/111886720
conseillé
Classement