深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了

大家好,我是微学AI,今天给大家带来手写OCR识别的项目。手写的文稿在日常生活中较为常见,比如笔记、会议记录,合同签名、手写书信等,手写体的文字到处都有,所以针对手写体识别也是有较大的需求。目前手写体的识别相比印刷体识别率不是太高,主要有以下几个难点:

  • 中文汉字字符级别的类别较多;
  • 手写体字符的书写随意性较大, 比如连笔字、草书、行书字体
  • 每个人的书写风格不一样

以上难点对手写体的识别都带来了很大难度。本项目先采用paddlehub第三方库包进行手写识别,让大家体验以下。

#模型导入
import paddlehub as hub

ocr = hub.Module(name="chinese_ocr_db_crnn_server")

import cv2
image_path = '123456.png'
# 读取测试文件夹test.txt中的照片路径
np_images =[cv2.imread(image_path)]

results = ocr.recognize_text(
                    images=np_images,         # 图片数据,ndarray.shape 为 [H, W, C],BGR格式;
                    use_gpu=False,            # 是否使用 GPU;若使用GPU,请先设置CUDA_VISIBLE_DEVICES环境变量
                    output_dir='ocr_result',  # 图片的保存路径,默认设为 ocr_result;
                    visualization=True,       # 是否将识别结果保存为图片文件;
                    box_thresh=0.5,           # 检测文本框置信度的阈值;
                    text_thresh=0.5)          # 识别中文文本置信度的阈值;

for result in results:
    data = result['data']
    save_path = result['save_path']
    for infomation in data:
        print('text: ', infomation['text'], '\nconfidence: ', infomation['confidence'], '\ntext_box_position: ', infomation['text_box_position'])

chinese_ocr_db_crnn_server 模型代码可以自动下载,一般在默认地址里:C:\Users\***\.paddlehub\modules\chinese_ocr_db_crnn_server,模型里面的文件结构:

手写识别测试图片样例:

 识别结果:

text:  每一个人的生命中,都应该有一次, 
confidence:  0.9856153130531311 
text_box_position:  [[162, 20], [836, 31], [835, 100], [161, 88]]
text:  为了某个人而忘了自己,不求有结果 
confidence:  0.9664433598518372 
text_box_position:  [[62, 107], [849, 101], [849, 166], [62, 172]]
text:  不求同行,不求曾经拥有,甚至不求 
confidence:  0.9502739906311035 
text_box_position:  [[52, 184], [850, 177], [850, 256], [52, 263]]
text:  他知道,只求在最美的年华里,遇见他。 
confidence:  0.9504407048225403 
text_box_position:  [[31, 273], [887, 260], [888, 352], [32, 365]]

 大家看到对上面的识别效果还行,也可以选择其他手写照片试试,主要识别率不是大家理想的,需要进一步根据相关数据进行训练,如果是字体特别潦草的识别效果不佳,对于正楷字,规范的行书等识别率较高。

同时我们也可以基于PP-OCRv3中英文超轻量预训练模型进行优化手写文字识别模型,将默认预训练模型的准确率从0.03%提升到54%。

小伙伴可以自己进行训练,可使用公开的手写文本识别数据集,包含Chinese OCR, 手写中文数据集CASIA-HWDB2.x等,可直接下载使用进行训练。训练的过程可根据参考文献进行训练,有具体问题可以私信交流哦。
参考文献:OCR手写文字识别 - 飞桨AI Studio

 往期作品:

深度学习实战项目

1.深度学习实战1-(keras框架)企业数据分析与预测

2.深度学习实战2-(keras框架)企业信用评级与预测

3.深度学习实战3-文本卷积神经网络(TextCNN)新闻文本分类

4.深度学习实战4-卷积神经网络(DenseNet)数学图形识别+题目模式识别

5.深度学习实战5-卷积神经网络(CNN)中文OCR识别项目

6.深度学习实战6-卷积神经网络(Pytorch)+聚类分析实现空气质量与天气预测

7.深度学习实战7-电商产品评论的情感分析

8.深度学习实战8-生活照片转化漫画照片应用

9.深度学习实战9-文本生成图像-本地电脑实现text2img

10.深度学习实战10-数学公式识别-将图片转换为Latex(img2Latex)

11.深度学习实战11(进阶版)-BERT模型的微调应用-文本分类案例

12.深度学习实战12(进阶版)-利用Dewarp实现文本扭曲矫正

13.深度学习实战13(进阶版)-文本纠错功能,经常写错别字的小伙伴的福星

14.深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了

15.深度学习实战15(进阶版)-让机器进行阅读理解+你可以变成出题者提问

16.深度学习实战16(进阶版)-虚拟截图识别文字-可以做纸质合同和表格识别

17.深度学习实战17(进阶版)-智能辅助编辑平台系统的搭建与开发案例

18.深度学习实战18(进阶版)-NLP的15项任务大融合系统,可实现市面上你能想到的NLP任务

19.深度学习实战19(进阶版)-ChatGPT的本地实现部署测试,自己的平台就可以实现ChatGPT

...(待更新)

猜你喜欢

转载自blog.csdn.net/weixin_42878111/article/details/128059001