过滤 OCR 结果

Filtering OCR Result

我正在研究 OCR,我一直在研究它,但现在我被困在如何过滤 OCR 结果以将每个字符串移动到一组文本字段中。

例如, OCR 结果:

Name : Jhon

No : 12345

Address : Canada

...但有时它会将 "Jhon" 分配给文本字段 "Address",或将 "Jhon" 分配给文本字段 "No"。

对于包含校验和的数据(通常是银行账号),可以校验校验和,如果你真的想要非常低的误报失败,你需要视频流输入,并继续做一段时间的OCR积累几个结果。当大多数 "checksum-valid" 相同时,那很可能 (99,5+%) 是正确的字符串。

如果没有视频流和累积结果,您可能会使用校验和数据达到 97-99,5%。

没有校验和:好吧,你真的不知道。

对于像 "No" 这样的字段,你至少可以拒绝按字母顺序排列的结果,对于 "Name" 你可以对数字进行惩罚(尽管我认为有一些晦涩的国家/地区名称中的数字是有效的?) ,在 Address 中,您可以对 "alphabet_digit" 结果给予额外的信心,并拥有所有 street/cities 字符串的字典,但最终无法说出哪个结果比其他结果更正确。

再次输入视频流并在较长时间(1-5 秒)内累积多个结果可能会给您足够的结果 运行 对它们进行一些统计,然后如果您有足够大的阈值部分结果出现在OCR中,考虑"correct".

即便如此,此类字符串的可靠性可能会低于 98%,接近 90-95%,对于没有任何提示的通用文本 (digit/letter/size/position),您甚至可以达到 50-80% 的可靠性范围(作为整个字符串,因为 OCR 本身每个字符大约有 95-98%)。