@@ -19,13 +19,14 @@ PaddleOCR provides 2 service deployment methods:
...
@@ -19,13 +19,14 @@ PaddleOCR provides 2 service deployment methods:
# Service deployment based on PaddleHub Serving
# Service deployment based on PaddleHub Serving
The hubserving service deployment directory includes three service packages: detection, recognition, and two-stage series connection. Please select the corresponding service package to install and start service according to your needs. The directory is as follows:
The hubserving service deployment directory includes three service packages: text detection, text recognition, two-stage series connection and table recognition. Please select the corresponding service package to install and start service according to your needs. The directory is as follows:
```
```
deploy/hubserving/
deploy/hubserving/
└─ ocr_det detection module service package
└─ ocr_det text detection module service package
└─ ocr_cls angle class module service package
└─ ocr_cls text angle class module service package
└─ ocr_rec recognition module service package
└─ ocr_rec text recognition module service package
└─ ocr_system two-stage series connection service package
└─ ocr_system two-stage series connection service package
└─ structure_table table recognition service package
```
```
Each service pack contains 3 files. Take the 2-stage series connection service package as an example, the directory is as follows:
Each service pack contains 3 files. Take the 2-stage series connection service package as an example, the directory is as follows:
Before installing the service module, you need to prepare the inference model and put it in the correct path. By default, the PP-OCRv2 models are used, and the default model path is:
Before installing the service module, you need to prepare the inference model and put it in the correct path. By default, the PP-OCRv2 models are used, and the default model path is:
**The model path can be found and modified in `params.py`.** More models provided by PaddleOCR can be obtained from the [model library](../../doc/doc_en/models_list_en.md). You can also use models trained by yourself.
**The model path can be found and modified in `params.py`.** More models provided by PaddleOCR can be obtained from the [model library](../../doc/doc_en/models_list_en.md). You can also use models trained by yourself.
### 3. Install Service Module
### 3. Install Service Module
PaddleOCR provides 3 kinds of service modules, install the required modules according to your needs.
PaddleOCR provides 5 kinds of service modules, install the required modules according to your needs.
* On Linux platform, the examples are as follows.
* On Linux platform, the examples are as follows.
```shell
```shell
# Install the detection service module:
# Install the text detection service module:
hub install deploy/hubserving/ocr_det/
hub install deploy/hubserving/ocr_det/
# Or, install the angle class service module:
# Or, install the text angle class service module:
hub install deploy/hubserving/ocr_cls/
hub install deploy/hubserving/ocr_cls/
# Or, install the recognition service module:
# Or, install the text recognition service module:
hub install deploy/hubserving/ocr_rec/
hub install deploy/hubserving/ocr_rec/
# Or, install the 2-stage series service module:
# Or, install the 2-stage series service module:
hub install deploy/hubserving/ocr_system/
hub install deploy/hubserving/ocr_system/
# Or install table recognition service module
hub install deploy/hubserving/structure_table/
```
```
* On Windows platform, the examples are as follows.
* On Windows platform, the examples are as follows.
|--modules/-m|PaddleHub Serving pre-installed model, listed in the form of multiple Module==Version key-value pairs<br>*`When Version is not specified, the latest version is selected by default`*|
|--modules/-m|PaddleHub Serving pre-installed model, listed in the form of multiple Module==Version key-value pairs<br>*`When Version is not specified, the latest version is selected by default`*|
|--port/-p|Service port, default is 8866|
|--port/-p|Service port, default is 8866|
|--use_multiprocess|Enable concurrent mode, the default is single-process mode, this mode is recommended for multi-core CPU machines<br>*`Windows operating system only supports single-process mode`*|
|--use_multiprocess|Enable concurrent mode, the default is single-process mode, this mode is recommended for multi-core CPU machines<br>*`Windows operating system only supports single-process mode`*|
For example, if the detection, recognition and 2-stage serial services are started with provided configuration files, the respective `server_url` would be:
For example, if using the configuration file to start the text angle classification, text detection, text recognition, detection+classification+recognition 3 stages, table recognition service, then the `server_url` to send the request will be:
`http://127.0.0.1:8865/predict/ocr_det`
`http://127.0.0.1:8865/predict/ocr_det`
`http://127.0.0.1:8866/predict/ocr_cls`
`http://127.0.0.1:8866/predict/ocr_cls`
`http://127.0.0.1:8867/predict/ocr_rec`
`http://127.0.0.1:8867/predict/ocr_rec`
`http://127.0.0.1:8868/predict/ocr_system`
`http://127.0.0.1:8868/predict/ocr_system`
`http://127.0.0.1:8869/predict/structure_table`
-**image_dir**:Test image path, can be a single image path or an image directory path
-**image_dir**:Test image path, can be a single image path or an image directory path
-**visualize**:Whether to visualize the results, the default value is False
-**visualize**:Whether to visualize the results, the default value is False
...
@@ -184,6 +194,7 @@ The returned result is a list. Each item in the list is a dict. The dict may con
...
@@ -184,6 +194,7 @@ The returned result is a list. Each item in the list is a dict. The dict may con
|text|str|text content|
|text|str|text content|
|confidence|float|text recognition confidence|
|confidence|float|text recognition confidence|
|text_region|list|text location coordinates|
|text_region|list|text location coordinates|
|html|str|table html str|
The fields returned by different modules are different. For example, the results returned by the text recognition service module do not contain `text_region`. The details are as follows:
The fields returned by different modules are different. For example, the results returned by the text recognition service module do not contain `text_region`. The details are as follows: