--- comments: true --- # 印章文本检测模块使用教程 ## 一、概述 印章文本检测模块通常会输出文本区域的多点边界框(Bounding Boxes),这些边界框将作为输入传递给弯曲矫正和文本检测模块进行后续处理,识别出印章的文字内容。印章文本的识别是文档处理的一部分,在很多场景都有用途,例如合同比对,出入库审核以及发票报销审核等场景。印章文本检测模块是OCR(光学字符识别)中的子任务,负责在图像中定位和标记出包含印章文本的区域。该模块的性能直接影响到整个印章文本OCR系统的准确性和效率。 ## 二、支持模型列表
模型 | 模型下载链接 | 检测Hmean(%) | GPU推理耗时(ms) [常规模式 / 高性能模式] |
CPU推理耗时(ms) [常规模式 / 高性能模式] |
模型存储大小(MB) | 介绍 |
---|---|---|---|---|---|---|
PP-OCRv4_server_seal_det | 推理模型/训练模型 | 98.40 | 124.64 / 91.57 | 545.68 / 439.86 | 109 | PP-OCRv4的服务端印章文本检测模型,精度更高,适合在较好的服务器上部署 |
PP-OCRv4_mobile_seal_det | 推理模型/训练模型 | 96.36 | 9.70 / 3.56 | 50.38 / 19.64 | 4.7 | PP-OCRv4的移动端印章文本检测模型,效率更高,适合在端侧部署 |
模式 | GPU配置 | CPU配置 | 加速技术组合 |
---|---|---|---|
常规模式 | FP32精度 / 无TRT加速 | FP32精度 / 8线程 | PaddleInference |
高性能模式 | 选择先验精度类型和加速策略的最优组合 | FP32精度 / 8线程 | 选择先验最优后端(Paddle/OpenVINO/TRT等) |
参数 | 参数说明 | 参数类型 | 默认值 |
---|---|---|---|
model_name |
模型名称。模型名称。如果设置为None ,则使用PP-OCRv4_mobile_seal_det 。 |
str|None |
None |
model_dir |
模型存储路径。 | str|None |
None |
device |
用于推理的设备。 例如: "cpu" 、"gpu" 、"npu" 、"gpu:0" 、"gpu:0,1" 。如指定多个设备,将进行并行推理。 默认情况下,优先使用 GPU 0;若不可用则使用 CPU。 |
str|None |
None |
enable_hpi |
是否启用高性能推理。 | bool |
False |
use_tensorrt |
是否启用 Paddle Inference 的 TensorRT 子图引擎。如果模型不支持通过 TensorRT 加速,即使设置了此标志,也不会使用加速。 对于 CUDA 11.8 版本的飞桨,兼容的 TensorRT 版本为 8.x(x>=6),建议安装 TensorRT 8.6.1.6。 对于 CUDA 12.6 版本的飞桨,兼容的 TensorRT 版本为 10.x(x>=5),建议安装 TensorRT 10.5.0.18。 |
bool |
False |
precision |
当使用 Paddle Inference 的 TensorRT 子图引擎时设置的计算精度。 可选项: "fp32" 、"fp16" 。 |
str |
"fp32" |
enable_mkldnn |
是否启用 MKL-DNN 加速推理。如果 MKL-DNN 不可用或模型不支持通过 MKL-DNN 加速,即使设置了此标志,也不会使用加速。 |
bool |
True |
mkldnn_cache_capacity |
MKL-DNN 缓存容量。 | int |
10 |
cpu_threads |
在 CPU 上推理时使用的线程数量。 | int |
10 |
limit_side_len |
检测的图像边长限制:int 表示边长限制数值,如果设置为None , 将使用模型默认配置。 |
int|None |
None |
limit_type |
检测的图像边长限制,检测的边长限制类型,"min" 表示保证图像最短边不小于 det_limit_side_len,"max" 表示保证图像最长边不大于 limit_side_len 。如果设置为 None ,将使用模型默认配置。 |
str|None |
None |
thresh |
像素得分阈值。输出概率图中得分大于该阈值的像素点被认为是文本像素。可选大于0的float任意浮点数。如果设置为None 。将使用模型默认配置。 |
float|None |
None |
box_thresh |
检测结果边框内,所有像素点的平均得分大于该阈值时,该结果会被认为是文字区域。可选大于0的float任意浮点数。如果设置为None , 将使用模型默认配置。 |
float|None |
None |
unclip_ratio |
Vatti clipping算法的扩张系数,使用该方法对文字区域进行扩张。可选大于0的任意浮点数。如果设置为None , 将使用模型默认配置。 |
float|None |
None |
input_shape |
模型输入图像尺寸,格式为 (C, H, W) 。若为 None ,将使用模型默认配置。 |
tuple|None |
None |
参数 | 参数说明 | 参数类型 | 默认值 |
---|---|---|---|
input |
待预测数据,支持多种输入类型,必填。
|
Python Var|str|list |
|
batch_size |
批大小,可设置为任意正整数。 | int |
1 |
limit_side_len |
参数含义与实例化参数基本相同。设置为None 表示使用实例化参数,否则该参数优先级更高。 |
int|None |
None |
limit_type |
参数含义与实例化参数基本相同。设置为None 表示使用实例化参数,否则该参数优先级更高。 |
str|None |
None |
thresh |
参数含义与实例化参数基本相同。设置为None 表示使用实例化参数,否则该参数优先级更高。 |
float|None |
None |
box_thresh |
参数含义与实例化参数基本相同。设置为None 表示使用实例化参数,否则该参数优先级更高。 |
float|None |
None |
unclip_ratio |
参数含义与实例化参数基本相同。设置为None 表示使用实例化参数,否则该参数优先级更高。 |
float|None |
None |
方法 | 方法说明 | 参数 | 参数类型 | 参数说明 | 默认值 |
---|---|---|---|---|---|
print() |
打印结果到终端 | format_json |
bool |
是否对输出内容进行使用 JSON 缩进格式化 |
True |
indent |
int |
指定缩进级别,以美化输出的 JSON 数据,使其更具可读性,仅当 format_json 为 True 时有效 |
4 | ||
ensure_ascii |
bool |
控制是否将非 ASCII 字符转义为 Unicode 。设置为 True 时,所有非 ASCII 字符将被转义;False 则保留原始字符,仅当format_json 为True 时有效 |
False |
||
save_to_json() |
将结果保存为json格式的文件 | save_path |
str |
保存的文件路径,当为目录时,保存文件命名与输入文件类型命名一致 | 无 |
indent |
int |
指定缩进级别,以美化输出的 JSON 数据,使其更具可读性,仅当 format_json 为 True 时有效 |
4 | ||
ensure_ascii |
bool |
控制是否将非 ASCII 字符转义为 Unicode 。设置为 True 时,所有非 ASCII 字符将被转义;False 则保留原始字符,仅当format_json 为True 时有效 |
False |
||
save_to_img() |
将结果保存为图像格式的文件 | save_path |
str |
保存的文件路径,当为目录时,保存文件命名与输入文件类型命名一致 | 无 |
属性 | 属性说明 |
---|---|
json |
获取预测的json 格式的结果 |
img |
获取格式为dict 的可视化图像 |