技术交流28群

服务热线

135-6963-3175

微信服务号

场景之-OCR发票识别及类库模型 更新时间 2023-11-4 浏览2444次


场景之-OCR发票识别类库模型

OCR识别传统流程

1699091391230.jpeg

1699091391734.png

经典技术流程:

1699091391828.png

1、图像预处理

    Opencv

    使用图像预处理技术来增强发票图像的可读性,如去噪、灰度化、二值化等。

2、文本检测模型

     获取文本区域的边界框。

     用于检测发票图像中的文本区域。文本检测模型可以帮助定位发票中的文字区域,为后续的文字识别提供准确的输入。一些常用的文本检测模型包括EAST、CTPN(连接文本提议网络)等。

3、文字识别模型(OCR模型)

      将文本区域的边界框提取出来,作为输入。

      用于将发票图像中的文字提取出来。Tesseract是一个常用的开源OCR引擎,可以用于文字识别。除了Tesseract,还有其他的OCR模型可用,如CRNN(卷积循环神经网络)、EAST(文本检测与识别网络)等。

4、物体检测模型

      用于识别发票上的特定物体,如公司标识、发票编号等。物体检测模型可以帮助提取发票中的关键信息。常用的物体检测模型有YOLO(You Only Look Once)、Faster R-CNN(快速区域卷积神经网络)等。

5、文本解析和信息提取技术

     用于从提取出的文字中解析和提取发票的关键信息,如日期、金额、供应商等。这可以使用正则表达式、自然语言处理(NLP)技术或专门的信息提取工具来处理。


文本检测模型算法有哪些?

以下是一些常用的文本检测模型算法:

1、EAST(Efficient and Accurate Scene Text Detection):

       EAST是一种基于深度学习的文本检测算法,通过检测文本的边界框来定位和识别场景中的文本。EAST算法具有高效和准确的特点,适用于各种场景下的文本检测任务。可以使用开源库实现,如OpenCV或TensorFlow等。

2、CRAFT(Character Region Awareness for Text Detection):

      CRAFT是一种基于深度学习的文本检测算法,主要用于场景文本的检测和定位。CRAFT算法通过将文本区域分解为字符级别的区域,实现对不规则文本的准确检测。可以使用开源库实现,如PyTorch或TensorFlow等。

3、TextBoxes:

      TextBoxes是一种基于深度学习的文本检测算法,旨在检测图像中的文本区域。该算法通过预测文本区域的边界框和文本的方向,实现对不同形状和角度的文本的准确检测。可以使用开源库实现,如Caffe或TensorFlow等。

4、DB(Deep Bonding):

      DB是一种基于深度学习的文本检测算法,专注于检测任意形状的文本。DB算法通过学习文本的边界和特征信息,实现对曲线、弯曲和不规则形状的文本的检测。可以使用开源库实现,如TensorFlow或PyTorch等。

经典的 OCR(Optical Character Recognition,光学字符识别)识别类库和模型有哪些?

1、Tesseract:

      Tesseract 是一个开源的 OCR 引擎,由 Google 开发和维护。它支持多种语言,并具有良好的识别准确率和性能。Tesseract 可以作为命令行工具使用,也可以通过其 API 在应用程序中进行集成。用于检测和识别图像中的文本。它支持多种语言,并且具有良好的文本检测和识别能力。

2、OCRopus:

      OCRopus 是另一个开源的 OCR 引擎,也是由 Google 开发。它基于 Tesseract 并提供了更高级的功能和工具,包括文本分割、布局分析和语言模型训练等。

3、OpenCV:

      OpenCV(Open Source Computer Vision Library)是一个广泛使用的计算机视觉库,提供了许多图像处理和分析功能,包括文字检测和识别。通过结合 OpenCV 的图像处理功能和其他 OCR 引擎,可以实现基于边缘检测、轮廓检测和形态学操作等方法的文本检测。

4、PyTesseract:

     PyTesseract 是 Tesseract OCR 的 Python 封装库,提供了简单且易于使用的接口,方便在 Python 程序中进行 OCR 文字识别。

5、EasyOCR:

     EasyOCR 是一个基于深度学习模型的开源 OCR 库,支持多种语言和字符集。它提供了简单的接口,可以快速进行文字检测和识别。

6、CRNN:

     CRNN(Convolutional Recurrent Neural Network)是一种深度学习模型,结合了卷积神经网络(CNN)和循环神经网络(RNN),在文本图像识别任务中表现出色。CRNN 可以用于检测和识别图像中的文字。

7. YOLO(You Only Look Once):

   YOLO是一种基于深度学习的目标检测算法,也可用于文本检测。它通过将图像划分为网格,并预测每个网格中是否存在文本区域来实现文本检测。YOLO算法的实现通常使用深度学习框架,如Darknet、PyTorch等。

    这些文本检测类库提供了不同的方法和技术,用于检测图像中的文本区域。选择合适的类库取决于您的具体需求、技术栈偏好和应用场景。需要注意的是,这些类库通常需要与其他图像处理和机器学习库结合使用,以完成完整的文本检测任务。