(14-2)OCR文本检测识别系统(OpenCV+TensorFlow Lite+TensorFlow+Android):系统介绍+准备模型+创建工程

14.3  系统介绍

在本章讲解的OCR项目中, 整个任务通常分为两个阶段。首先,使用文本检测模型来检测可能的文本周围的边界框。其次,将处理后的边界框送入文本识别模型,以确定边界框内的特定字符(在文本识别之前,还需要进行非最大抑制、透视变换等操作)。在本项目中使用两个模型实现上述两个截断的功能,这两个模型都来自 TensorFlow Hub,它们都是 FP16 量化模型。本项目的具体结构如图14-1所示。

图14-1  项目结构

14.4  准备模型

本项目使用的是TensorFlow官方提供的文本检测模型和文本识别模型,大家可以登录TensorFlow官方网站下载对应的模型文件。两个模型的基本信息如表14-1所示。

表14-1  模型信息

模型名称

模型大小

文本检测

45.9 Mb

文本识别

16.8 Mb

14.4.1  文本检测模型

在本项目中,使用的文本检测模型是TFLite模型east-text-detector,功能是用于从自然场景中进行文本检测。下载模型east-text-detector的地址是:

https://tfhub.dev/sayakpaul/lite-model/east-text-detector/fp16/1

14.4.2  文本识别模型

在本项目中,使用的文本识别模型是TFLite模型Keras OCR,功能是从图像中识别文本。下载模型Keras OCR的地址是:

https://tfhub.dev/tulasiram58827/lite-model/keras-ocr/float16/2

Keras OCR是一个用于检测和识别文本(OCR)的模型库,以CRAFT作为文本检测器,以CRNN作为文本识别器来实现。Keras OCR基于卷积递归神经网络(简称CRNN)技术,这是一种非常流行的文本识别模型。

Keras OCR支持对自定义数据集进行微调,可以在Keras OCR的帮助下分别微调检测器和识别器。当转换为TFLite格式时,CTC解码器部分从模型中删除,因为TFLite格式不支持它。基于此,我们需要在模型的输出中显式地运行解码器以获得最终输出。

14.5  创建工程

在准备好TensorFlow模型后,接下来将使用这两个模型基于Android系统开发一个OCR文本识别识别系统。在本节的内容中,首先讲解创建一个Android工程的过程。

14.5.1  工程配置

使用Android Studio创建一个Android工程,工程名为“android”。工程结构如图14-2所示。

图14-2  工程结构

14.5.2  配置应用程序

打开app模块中的文件build.gradle,分别设置Android的编译版本和运行版本,在“dependencies”设置需要引用的库文件,特别是需要引用和Tensorflow-Lite、Opencv相关的库。

14.5.3  导入模型

在文件download.gradle中设置了使用的文本检测模型和文本识别模型的下载地址,具体实现代码如下所示:

task downloadTextDetectionModelFile(type: Download) {
    src 'https://tfhub.dev/sayakpaul/lite-model/east-text-detector/fp16/1?lite-format=tflite'
    dest project.ext.ASSET_DIR + '/text_detection.tflite'
    overwrite false
}

task downloadTextRecognitionModelFile(type: Download) {
    src 'https://tfhub.dev/tulasiram58827/lite-model/keras-ocr/float16/2?lite-format=tflite'
    dest project.ext.ASSET_DIR + '/text_recognition.tflite'
    overwrite false
}

未完待续

  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值