菜单

检测模型

相关源文件

本文档介绍了 PaddleOCR 中的文本检测模型,包括其架构、实现和配置系统。检测模型负责在图像中定位文本区域,并在文本区域周围生成边界框或多边形。

有关处理检测到的文本区域的文本识别模型的信息,请参阅 识别模型。有关分析布局和结构的文档理解模型的信息,请参阅 文档理解模型

架构概述

PaddleOCR 实现三种主要的文本检测算法:DB(可微分二值化)、EAST(高效准确场景文本)和 SAST(单发任意形状场景文本)。每种算法都遵循相似的三组件架构模式,但具有算法特定的实现。

检测模型架构模式

来源: ppocr/modeling/necks/__init__.py18-57 configs/det/det_mv3_db.yml20-33 configs/det/det_r50_vd_east.yml18-30

DB(可微分二值化)模型

DB 是 PaddleOCR 中使用最广泛的检测算法,在准确性和速度之间取得了良好的平衡。它使用可学习的阈值机制将概率图转换为二值化文本分割掩码。

DB 架构组件

来源: ppocr/modeling/heads/det_db_head.py96-122 ppocr/modeling/necks/db_fpn.py116-218

DB 配置选项

DB 模型支持多种主干网络和配置组合

配置骨干网络 (Backbone)Neck(颈部)输出通道数用例
det_mv3_db.ymlMobileNetV3DBFPN256移动/边缘部署
det_r50_vd_db.ymlResNet50_vdDBFPN256高精度服务器
ch_det_res18_db_v2.0.ymlResNet18_vdDBFPN256中文文本检测
ch_det_mv3_db_v2.0.ymlMobileNetV3DBFPN96轻量级中文

来源: configs/det/det_mv3_db.yml20-33 configs/det/det_r50_vd_db.yml18-30 configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml18-31

DB 损失和训练

DBLoss 结合了多种损失组件以进行有效训练

训练过程会生成三种图:收缩图(文本区域)、阈值图(自适应阈值)和二值图(最终文本掩码)。

来源: configs/det/det_mv3_db.yml35-41

EAST(高效准确场景文本)模型

EAST 专为快速文本检测而设计,可输出矩形和四边形文本框。它直接预测文本框,无需文本区域分割等中间步骤。

EAST 输出结构

来源: ppocr/postprocess/east_postprocess.py29-142 configs/det/det_r50_vd_east.yml47-51

EAST 模型配置

EAST 支持通过 model_name 参数来配置不同的模型大小

来源: configs/det/det_r50_vd_east.yml25-30 configs/det/det_mv3_east.yml26-31

SAST(单发任意形状场景文本)模型

SAST 专注于检测任意形状的文本,包括弯曲和不规则的文本布局。它使用更复杂的表示法,包括文本中心线和边界偏移。

SAST 输出组件

来源: ppocr/postprocess/sast_postprocess.py33-371 ppocr/modeling/backbones/det_resnet_vd_sast.py190-314

SAST 配置参数

SAST 需要特定的训练数据处理和独特的超参数

根据文本的复杂程度,sample_pts_num 参数可以设置为 0 以自动估计,或设置为固定值(例如 2、6 等)。

来源: configs/det/det_r50_vd_sast_icdar15.yml47-53 configs/det/det_r50_vd_sast_totaltext.yml46-52

Neck(颈部)架构

颈部网络负责融合骨干网络的多尺度特征。PaddleOCR 实现了一些针对文本检测优化的 FPN 变体。

可用的 Neck 网络

来源: ppocr/modeling/necks/__init__.py33-49 ppocr/modeling/necks/db_fpn.py34-492

DBFPN 实现细节

DBFPN 类实现了 DB 模型中使用的特征金字塔网络

该网络通过侧连接执行自顶向下的特征融合,并生成用于检测头的连接特征图。

来源: ppocr/modeling/necks/db_fpn.py116-218

训练配置系统

检测模型使用 YAML 配置文件来指定完整的训练流程。该配置系统可以轻松地尝试不同的模型组件。

配置结构

来源: configs/det/det_mv3_db.yml20-134 configs/det/det_r50_vd_east.yml18-109

数据增强管道

检测模型在训练过程中使用广泛的数据增强

该管道生成训练特定检测算法所需的真实标签图(边界图、收缩图)。

来源: configs/det/det_mv3_db.yml71-99 configs/det/det_r50_vd_east.yml64-75