AI实战:用DenseNet + CTC搭建中文OCR模型

前言

前段时间,项目中的一个核心模块中需要中文OCR功能,走过弯路趟过坑,这里分享出来。


实战

  • 常见网络架构
    • cnn + blstm + ctc
    • cnn + ctc
    • crnn + self_attetion + ctc
    • crnn + attetion + ctc

  • github上面测试的结果

    • 地址:https://github.com/senlinuc/caffe_ocr

    • 结果
      AI实战:用DenseNet + CTC搭建中文OCR模型_第1张图片

  • 经验分享

    1、使用DenseNet + CTC 架构搭建模型,在500万+的数据集上面训练,准确率0.97

    2、词典:使用GB2312 + 常见特殊字符 + 数字 + 英文

    3、实际测试中,DenseNet + CTC 比带Attention架构的模型整体识别率要高比较多,带Attention架构的模型一是容易误识别,二是容易漏识别

    4、平衡整体性能,优先选 DenseNet + CTC

    5、DenseNet + CTC模型存在的问题:无法区分字形很相近的字,如“ _ ”和 “ - ”, y和v等。带Attention架构的模型在这块有较大的优势。


  • 详细介绍:DenseNet—Dense卷积网络

参考git源码

  • CTPN + DenseNet + CTC : https://github.com/YCG09/chinese_ocr
  • crnn_self_attetion : https://github.com/koibiki/crnn_self_attetion
  • CRNN_Attention_OCR : https://github.com/wushilian/CRNN_Attention_OCR_Chinese

你可能感兴趣的:(自然语言处理,深度学习,图像识别,人工智能)