简述
为了针对具体场景进一步优化 OCR 的识别效果(例如解决漏检、误检、文本框粘连或切字等问题),可以对 PaddleOCR 文本检测阶段的三个参数进行微调。
本 Issue 解释了 pixel_thresh, box_thresh, 和 unclip_ratio 这三个参数的具体作用与调试策略。
参数详细说明
1. pixel_thresh (文本检测像素阈值 / 二值化阈值)
- 含义:DB 检测模型输出的是一张概率图,此参数是该概率图的二值化阈值。只有得分大于该阈值的像素点,才会被模型判定为有效的“文本像素”。
- 默认值:0.3
- 调参策略:
- 调大 (如 0.4 - 0.5):过滤标准更严格。适用于画面背景复杂、存在大量容易被误识别为文字的背景纹理噪点的场景。
- 调小 (如 0.1 - 0.2):过滤标准更宽松。适用于文字颜色较浅、与背景对比度低,或者因图像模糊导致大面积漏检的情况。
2. box_thresh (文本检测框平均得分阈值)
- 含义:该参数用于过滤最终生成的文本边界框(Bounding Box)。算法会计算由上述“文本像素”构成的每一个外接框内部的平均得分。如果某个检测框的平均得分低于此阈值,则整个框会被视为低置信度并被直接丢弃。
- 默认值:0.5
- 调参策略:
- 调大 (如 0.6 - 0.8):提高输出文本框的门槛,减少“假阳性”(即把非文字的区域错误地框出来)。
- 调小 (如 0.3 - 0.4):降低门槛以提高召回率。适用于画面中存在模糊等问题导致置信度不高,但确实是文本的区域。
3. unclip_ratio (文本框膨胀比例)
- 物理含义:由于 DB 算法的特性,模型在训练时预测的是收缩后的文本“核心区域”。在推理预测时,需要通过 Vatti clipping 算法将检测到的多边形区域按一定比例向外膨胀,才能包裹住完整的文字边缘。该参数即控制向外膨胀的倍率。
- 默认值:1.5
- 调参策略:
- 调大:生成的文本框会变得更大、更宽。如果发现识别结果经常出现“切字”现象(例如文字边缘被切掉、偏旁部首不全导致识别出错),应适当调大。
- 调小:生成的文本框更紧凑。如果遇到多行或密集排列的文本,由于膨胀过大导致行与行之间的文本框互相粘连重叠,可以缩小该比例。
调参思路
在调整参数时,建议先开启显示检测框功能,以直观感受参数变化带来的影响。建议调优顺序如下:
- 存在漏检(本该有文字却没框出来):尝试降低
box_thresh,若无明显改善,再适当降低 pixel_thresh。
- 存在误检(把背景错认成文字):尝试提高
box_thresh,其次提高 pixel_thresh。
- 文本框粘连或框不全:调整
unclip_ratio。
参考资料
简述
为了针对具体场景进一步优化 OCR 的识别效果(例如解决漏检、误检、文本框粘连或切字等问题),可以对 PaddleOCR 文本检测阶段的三个参数进行微调。
本 Issue 解释了
pixel_thresh,box_thresh, 和unclip_ratio这三个参数的具体作用与调试策略。参数详细说明
1.
pixel_thresh(文本检测像素阈值 / 二值化阈值)2.
box_thresh(文本检测框平均得分阈值)3.
unclip_ratio(文本框膨胀比例)调参思路
在调整参数时,建议先开启显示检测框功能,以直观感受参数变化带来的影响。建议调优顺序如下:
box_thresh,若无明显改善,再适当降低pixel_thresh。box_thresh,其次提高pixel_thresh。unclip_ratio。参考资料