OCR表格识别——(二)

前言:

先使用预训练模型体验一下结果:
这里主要使用paddleOC来实现,代码下载链接:
https://github.com/PaddlePaddle/PaddleOCR

预训练模型下载:

# 下载模型
mkdir inference && cd inference
# 下载超轻量级表格英文OCR模型的检测模型并解压
wget -P ./inference/ https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar && cd inference && tar xf ch_PP-OCRv2_det_infer.tar && cd ..
# 下载超轻量级表格英文OCR模型的识别模型并解压
wget -P ./inference/ https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar && cd inference && tar xf ch_PP-OCRv2_rec_infer.tar && cd ..
# 下载超轻量级英文表格英寸模型并解压
wget -P ./inference/ https://paddleocr.bj.bcebos.com/dygraph_v2.0/table/en_ppocr_mobile_v2.0_table_structure_infer.tar && cd inference && tar xf en_ppocr_mobile_v2.0_table_structure_infer.tar && cd ..

使用预训练模型预测结果:

from table.predict_table import TableSystem,to_excel
from utility import init_args
# 初始化参数
args = init_args().parse_args(args=[])
args.det_model_dir='inference/ch_PP-OCRv2_det_infer'
args.rec_model_dir='inference/ch_PP-OCRv2_rec_infer'
args.table_model_dir='inference/en_ppocr_mobile_v2.0_table_structure_infer'
args.image_dir='/home/aistudio/iocreate6.png'
args.rec_char_dict_path='../ppocr/utils/ppocr_keys_v1.txt'
args.table_char_dict_path='../ppocr/utils/dict/table_structure_dict.txt'
args.det_limit_side_len=736
args.det_limit_type='min'
args.output='../output/table'
args.use_gpu=False

# 初始化表格识别系统
table_sys = TableSystem(args)
img = cv2.imread('/home/aistudio/iocreate6.png')
# 执行表格识别
pred_html = table_sys(img)
print(type(pred_html))
# 结果存储到excel文件
to_excel(str(pred_html),'/home/aistudio/iocreate6.xlsx')
print(pred_html)

输入图像:

票据表格数据:
如下所示:

输出表格:

OCR表格识别——(二)_第1张图片

分析:

  • 因为使用的是预训练的模型,OCR识别效果会存在误差,表格结构识别效果也一般,后续针对自己的数据需要进行额外的训练。
  • 其次,针对拍摄的真实数据,数据质量不会很高,需要对图像的光照,拍照角度,背景阴暗进行考虑。可以看到,有一些反光的部分,OCR预训练模型并没有识别出来。
  • 同时,需要考虑表格结构识别效果也一般,两个单元格的,实际上只识别到一个单元格结构。

你可能感兴趣的:(笔记,python,OCR,深度学习,人工智能)