---
comments: true
---
# 印章文本检测模块使用教程
## 一、概述
印章文本检测模块通常会输出文本区域的多点边界框(Bounding Boxes),这些边界框将作为输入传递给弯曲矫正和文本检测模块进行后续处理,识别出印章的文字内容。印章文本的识别是文档处理的一部分,在很多场景都有用途,例如合同比对,出入库审核以及发票报销审核等场景。印章文本检测模块是OCR(光学字符识别)中的子任务,负责在图像中定位和标记出包含印章文本的区域。该模块的性能直接影响到整个印章文本OCR系统的准确性和效率。
## 二、支持模型列表
参数 |
参数说明 |
参数类型 |
可选项 |
默认值 |
model_name |
模型名称 |
str |
所有PaddleX支持的印章文本检测模型名称 |
无 |
model_dir |
模型存储路径 |
str |
无 |
无 |
device |
模型推理设备 |
str |
支持指定GPU具体卡号,如“gpu:0”,其他硬件具体卡号,如“npu:0”,CPU如“cpu”。 |
gpu:0 |
limit_side_len |
检测的图像边长限制 |
int/None |
- int: 大于0的任意整数
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
limit_type |
检测的图像边长限制,检测的边长限制类型 |
str/None |
- str: 支持min和max. min表示保证图像最短边不小于det_limit_side_len, max: 表示保证图像最长边不大于limit_side_len
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
thresh |
输出的概率图中,得分大于该阈值的像素点才会被认为是文字像素点 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
box_thresh |
检测结果边框内,所有像素点的平均得分大于该阈值时,该结果会被认为是文字区域 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
max_candidates |
输出的最大文本框数量 |
int/None |
- int: 大于0的任意整数
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
unclip_ratio |
Vatti clipping算法的扩张系数,使用该方法对文字区域进行扩张 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用PaddleX官方模型配置中的该参数值
|
None |
use_dilation |
是否对分割结果进行膨胀 |
bool/None |
True/False/None |
None |
use_hpip |
是否启用高性能推理插件 |
bool |
无 |
False |
hpi_config |
高性能推理配置 |
dict | None |
无 |
None |
* 其中,`model_name` 必须指定,指定 `model_name` 后,默认使用 PaddleX 内置的模型参数,在此基础上,指定 `model_dir` 时,使用用户自定义的模型。
* 调用印章文本检测模型的 `predict()` 方法进行推理预测,该方法会返回一个结果列表。另外,本模块还提供了 `predict_iter()` 方法。两者在参数接受和结果返回方面是完全一致的,区别在于 `predict_iter()` 返回的是一个 `generator`,能够逐步处理和获取预测结果,适合处理大型数据集或希望节省内存的场景。可以根据实际需求选择使用这两种方法中的任意一种。`predict()` 方法参数有 `input`、 `batch_size`、 `limit_side_len`、 `limit_type`、 `thresh`、 `box_thresh`、 `max_candidates`、`unclip_ratio`和`use_dilation`,具体说明如下:
参数 |
参数说明 |
参数类型 |
可选项 |
默认值 |
input |
待预测数据,支持多种输入类型 |
Python Var /str /dict /list |
- Python变量,如
numpy.ndarray 表示的图像数据
- 文件路径,如图像文件的本地路径:
/root/data/img.jpg
- URL链接,如图像文件的网络URL:示例
- 本地目录,该目录下需包含待预测数据文件,如本地路径:
/root/data/
- 列表,列表元素需为上述类型数据,如
[numpy.ndarray, numpy.ndarray] ,["/root/data/img1.jpg", "/root/data/img2.jpg"] ,["/root/data1", "/root/data2"]
|
无 |
batch_size |
批大小 |
int |
大于0的任意整数 |
1 |
limit_side_len |
检测的图像边长限制 |
int/None |
- int: 大于0的任意整数
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
limit_type |
检测的图像边长限制,检测的边长限制类型 |
str/None |
- str: 支持min和max. min表示保证图像最短边不小于det_limit_side_len, max: 表示保证图像最长边不大于limit_side_len
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
thresh |
输出的概率图中,得分大于该阈值的像素点才会被认为是文字像素点 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
box_thresh |
检测结果边框内,所有像素点的平均得分大于该阈值时,该结果会被认为是文字区域 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
max_candidates |
输出的最大文本框数量 |
int/None |
- int: 大于0的任意整数
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
unclip_ratio |
Vatti clipping算法的扩张系数,使用该方法对文字区域进行扩张 |
float/None |
- float: 大于0的任意浮点数
- None: 如果设置为None, 将默认使用模型初始化的该参数值
|
None |
use_dilation |
是否对分割结果进行膨胀 |
bool/None |
True/False/None |
None |
* 对预测结果进行处理,每个样本的预测结果均为对应的Result对象,且支持打印、保存为图片、保存为`json`文件的操作: