昇腾社区首页
中文
注册
昇腾社区
昇腾AI市场
主页
解决方案
原生大模型
软件服务
ModelZoo
应用案例
Powered by Ascend
文档HOT
支持
应用案例
文本识别
文本识别
OCRC++AscendCL

211次浏览

暂无评分
我要评分
文本行识别技术运用最广泛的是使用卷积神经网络和循环神经网络的组合框架,模型称为卷积-递归神经网络(Convolutional Recurrent Neural Network,CRNN)。本案例提出的CANN模型是对经典CRNN模型的优化,用自注意力机制代替了原来的RNN。读者可在本案例的基础上基础上,复现其他深度学习模型,探索并实现OCR、机器翻译等更多复杂应用。
获取样例

概述

文本行识别技术运用最广泛的是使用卷积神经网络和循环神经网络的组合框架,模型称为卷积-递归神经网络(Convolutional Recurrent Neural Network,CRNN)。本案例提出的CANN模型是对经典CRNN模型的优化,用自注意力机制代替了原来的RNN。读者可在本案例的基础上基础上,复现其他深度学习模型,探索并实现OCR、机器翻译等更多复杂应用。

案例简介

本案例将CANN模型在Atlas 200DK开发者套件上进行了移植与部署,完成了文本的端到端的识别。

系统总体设计

1. 数据集创建:数据集创建用于创建字符表,对原始数据进行预处理,并且生成训练数据集和测试数据集。案例用到的数据集为中文作文数据集SCUT-EPT,包括常见汉字、数字、特殊字符、标点符号等。
2. 模型构建:主要用来搭建文本识别的CANN等模型。模型构建依赖很多超参数,并且需要知道字符表大小,还需要一些基础模块,这些模块由Modules类提供。
3. 训练:训练模型包含数据检查和模型训练两个主要功能。训练过程中需保存训练好的模型,训练程序通过检查模型在验证集上的正确率保存正确率最高的模型。
4. 测试:测试模块用于测试训练好的模型在测试集上的正确率。

模型介绍

本案例使用的CANN模型是对经典CRNN模型的优化,用自注意力机制代替原来的RUN。由于自注意力机制的运算只需要用矩阵乘法即可实现,因此训练和预测速度都会快于RNN。RNN在训练和推理时,每个时刻的隐层状态都由上一个时刻的隐层状态和当前时刻的输入决定,本质上是一个串行的过程,而自注意力机制在计算每个时刻的隐层状态时,可以并行地计算所有时刻的隐层状态,因此可以减少计算时间。

CANN模型主要由一个卷积神经网络和若干层自注意力机制加全连接层组成,其中卷积神经网络为骨干网,自注意力层用于提取序列特征,每个自注意力层后面跟了一个全连接层,用于整合多个头的特征。CANN模型网络结构如下图所示。


效果展示

关于昇腾

昇腾计算产业概述

新闻与活动

新闻资讯昇腾活动

交流与资讯

昇腾论坛技术干货

支持与服务

文档技术工单

开源社区

昇思社区昇腾开放资源
关注我们
友情链接
华为官网华为计算鲲鹏社区华为云启智社区
版权所有 © 2021-2025华为技术有限公司 保留一切权利粤A2-20044005号
粤公网安备 44030702005057号
法律声明隐私政策Cookie协议用户协议联系我们