【问题标题】:Measuring image processing quality for tesseract ocr测量 tesseract ocr 的图像处理质量
【发布时间】:2022-01-17 01:05:18
【问题描述】:

我正在为 tesseract-ocr测试各种 Python 图像预处理管道

我的输入数据是各种质量的 pdf 发票和收据,从扫描文档(最好)到手机提供的在光线不足的情况下拍摄的照片(最差),以及介于两者之间的所有内容。在为 OCR 执行手动扫描时,我通常会在几个扫描预设(不锐化蒙版、边缘填充、颜色增强、伽玛)中进行选择。我正在考虑在 Python 管道中实现类似的解决方案。

我了解 OCR 质量 的标准衡量标准是 Levenshtein(编辑距离),它是衡量结果与实际情况相比的质量。

我追求的是图像处理效果对 OCR 结果质量的测量。例如,在这篇论文Prediction of OCR Accuracy 中,作者描述了至少两个测量White Speckle Factor (WSF)Broken Character Factor (BCF)。我读过的其他描述符包括椒盐噪声异常像素

我在这里解决了 200 个近 4k tesseract 标记的问题。很有意思。大多数问题都是这样的类型,我有这种图像,我该如何改进 OCR 结果。目前还没有关于测量图像处理对 OCR 结果的影响。

Dirty Image Quality Assesment Measure 是一个奇怪的问题,但问题并不集中在 OCR 上,而且解决方案似乎有点矫枉过正。

【问题讨论】:

    标签: python tesseract image-preprocessing


    【解决方案1】:

    OCR 能力没有通用的图像改进技术。每个图像缺陷都(部分)通过临时技术进行纠正,在一种情况下有效的技术在另一种情况下可能会适得其反。

    对于同质数据集(即所有文档具有相似的来源/质量并且在相同条件下捕获),您确实可以通过尝试不同的组合和设置以及计算总编辑距离来优化预处理链。但这需要对基本事实有初步的了解(至少对于文档的抽样)。

    但对于异构数据集,您几乎无能为力。仍然可以选择测试不同的预处理链并依赖 OCR 引擎返回的识别分数,假设更好的可读性对应更好的正确性。


    您还可以提取一些全局图像特征,例如对比度、信噪比、清晰度、字符大小和密度……并如上所述优化可读性。然后将此信息提供给一个分类器,该分类器将学习如何处理不同的图像条件。老实说,我不太相信这种方法。

    【讨论】:

    • 您将我的目标解释为寻求“通用图像改进技术”,这对我不利。但是,P4 很有趣,具体测量的是什么?导致良好 OCR 结果的关键措施(分辨率、对比度、清晰度、几何形状)单独过于抽象。所以,编辑距离。现在这是我的天真,因为我的 OP 并没有阻止读者假设我正在进行最先进的模型训练。不,更基本的。我正在寻找 OCRimage 质量的“自以为是”的措施。天真地,我认为与积极识别的字符相关的值直方图是一种衡量标准。
    • @xtian:编辑距离仅在您拥有基本事实时定义,即当您根本不需要执行 OCR 时。
    猜你喜欢
    • 1970-01-01
    • 2019-01-12
    • 2018-02-11
    • 2016-11-14
    • 2014-03-30
    • 1970-01-01
    • 2019-10-16
    • 2018-08-09
    • 2019-03-14
    相关资源
    最近更新 更多