深度学习实战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,模型里面的文件结构:

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

手写识别测试图片样例:

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

 识别结果:

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

你可能感兴趣的:(深度学习实战项目,深度学习,人工智能,图像处理)