使用 OCR 识别条码

BarCode recognition using OCR

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

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

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

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

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

所以,理论上OCR和条码扫描是类似的问题,而在实践中,却有着本质的区别。

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