项目笔记三:驾驶证/行驶证信息提取与识别之OCR自训练

一、 PaddleOCR

项目地址:https://github.com/Alex-1997-Wzx/PaddleOCR

这个项目兼顾了文字检测文字识别,所以如果你有足够的数据集,是可以训练的很好的,毕竟行驶证/驾驶证它们有一定自己的特点,比如照片颜色,字体等等,而且区域都是固定的。我对这个项目的理解主要分为以下几个部分:

1、如果你想直接使用 ,不想训练,那么你可以按照文档说明安装相应的环境,然后直接按照使用说明进行预测推理即可。如果你想要部署在端侧,比如树莓派上,文档中也提供了在端侧部署的例子,只需要类比其操作就可以一步一步的在端侧完成预测推理。其中使用到了Paddle Lite,它是轻量化的推理引擎,可以提升在端侧的推理速度。其中有几点需要注意的是:

  • 正常推理的时候,我们可以直接运行PaddleOCR / tools / infer路径下的几个文件,分别有文字检测程序,文字识别程序以及检测加识别的程序。这些程序使用的都是inference模型,该模型是预测推理时使用的非常重要的文件,当我们自己训练模型的时候,也需要先把训练好的模型转换成inference模型,然后才能开始预测推理。也就是说,它是预测推理所直接调用的文件,非常重要,具体使用看文档即可。

  • 当我们在端侧直接使用的时候,也需要使用inference模型,不过中间又多了一步,还需要将inference模型转换成opt模型。此外,使用的推理引擎也从PaddlePaddle变成了轻量化的Paddle Lite。不过提供的案例是C++版本的,我觉得使用起来不是太方便,如果你要将整个项目作为一个模块去实现一些逻辑比较麻烦。这个时候一个很重要的东西就派上用场了,那就是Paddle Lite,我们可以使用其提供的各种API(链接奉上:Welcome to Paddle-Lite’s documentation!),里面有多种语言多种使用方式可供选择。而我们只需要获取由PaddlePaddle深度学习框架产出的模型文件,就可以结合所提供的API一步一步的在端侧实现预测推理。

2、如果你想要自己训练模型,那么也可以,这个详细的步骤,以及数据集的组织形式在文档中都有说明。我们只需要对训练代码稍作修改,使其训练完成之后将模型保存起来就可以了,之后我们就可以直接使用该保存的已训练模型,结合Paddle Lite提供的API在端侧预测推理。当然也可以运行PaddleOCR / tools / infer路径下的几个文件,使用训练得到的inference模型直接进行预测推理。

二、 CRNN_Chinese_Characters_Rec

项目地址:https://github.com/Alex-1997-Wzx/CRNN_Chinese_Characters_Rec

这个项目只有文字识别的部分,具体的训练和测试方法可以参考该项目自己提供的教程。这里我只再简单的说一下需要注意的地方:

1、一共有四个需要我们自己提供的东西:

  • 含有多张训练图片的文件夹,这些图片里都包含文字
  • 包含大量字符的char.txt文件,也即字符库
  • 包含训练图片名称 图片中的字符对应的索引 信息的train.txt
  • 包含测试图片名称 图片中的字符对应的索引 信息的test.txt

2、在train.txttest.txt中,第一段内容是图片的名称,因为之前我们已经提供过训练图片所在的文件夹路径,所以这里直接提供图片名称即可;第二段内容是图片中的每一个字符(按顺序)对应的自己在字符库char.txt中的索引。

三、 chinese_ocr

项目地址:https://github.com/YCG09/chinese_ocr

这个项目有CTPN文字检测部分和DenseNet文字识别部分,这两部分都可以自己进行训练。

  • 先说CTPN文字检测,这部分提供的数据集链接失效了,我没有找到,所以就无法知道数据集如何组织的,所以这个暂且就不自己训练了。而且提高识别率主要是需要重新训练文字识别部分,所以文字检测我们可以直接使用作者已经训练好的模型。
  • DenseNet文字识别部分,如果我们想要训练自己的数据集,我们就下载教程中提供的数据集,看一下数据集组织形式,按照其所述方法进行训练即可。

四、crnn_ctc_ocr_tf

项目地址:https://github.com/bai-shang/crnn_ctc_ocr_tf

这个项目只有CRNN文字识别部分,并且支持训练。训练数据集的组织方式是如下的图片路径 文字内容的形式。可以使用自己的数据集按照这个形式进行组织,训练自己的数据集。还需要注意的是,训练时该项目会把数据集转变成tfrecord的形式。

90kDICT32px/1/2/373_coley_14845.jpg coley
90kDICT32px/17/5/176_Nevadans_51437.jpg nevadans

你可能感兴趣的:(项目笔记,python,深度学习)