使用 OCR 进行条码识别

Posted

技术标签:

【中文标题】使用 OCR 进行条码识别【英文标题】:BarCode recognition using OCR 【发布时间】:2020-08-25 11:27:44 【问题描述】:

我正在尝试使用简单的 CNN 识别条形码,将其视为多位识别问题。 结果不是很好。所以我一直在寻找一些更好的深度学习模型。在我的搜索过程中,我没有发现任何在条形码上试用的 OCR 模型。所以我的问题是 - OCR 模型可以被训练来识别条形码。我发现条形码检测和识别的任务与文本识别非常相似。有什么我遗漏的吗?

【问题讨论】:

嗨!非常有趣的方法。答案取决于您要读取哪些条码符号(一维条码,如 EAN,或二维条码,如 QR 码和 PDF417)?你所说的“识别”到底是什么意思——我想它是在读取条形码的内容? 我正在尝试读取一维条码……是的,例如 EAN-13。是的,我需要阅读内容。虽然我更想知道 OCR 是否可以在条形码上工作? 【参考方案1】:

虽然 CNN 可用于读取条码的内容,尤其是在有大量图像数据集可用于训练的场景中,但很难将经典条码读取算法的性能与标准 AI 方法相匹配。

阅读文本和阅读条形码的区别在于结构。文本基本上是非结构化的,而条形码被设计为使用专门设计的解码算法进行结构化以提高可读性。

所有这些阅读算法都有一些规则,在许多情况下,这些规则并不难实现。另一方面,CNN 会遇到困难,需要大量数据来学习这些规则。

此外,许多条码符号(包括 EAN)使用错误检测或纠正算法(如校验位),可以将其集成到错误恢复循环中以进一步提高扫描性能。

所以,理论上,OCR 和条码扫描是类似的问题,而在实践中,却有很大的不同。

注意:我在Microblink 工作,我们在那里从事条形码扫描和文本识别领域的研发工作。在条码扫描方面,我们基本上尝试了 AI 库中的所有内容以充分利用它,最终将 CNN 和经典算法紧密结合使用。

【讨论】:

以上是关于使用 OCR 进行条码识别的主要内容,如果未能解决你的问题,请参考以下文章

各位大神,请问这种条码叫啥 用啥软件可以打印出来?

条码识别

Phonegap 条码扫描仪无法识别 windows phone 上的任何条码

二维码/条码识别身份证识别银行卡识别车牌识别图片文字识别黄图识别驾驶证(驾照)识别

条形码识别

一维条形码生成与识别技术