| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> paddleOCR图像识别及CRNN-CTC结构 -> 正文阅读 |
|
[人工智能]paddleOCR图像识别及CRNN-CTC结构 |
CRNN-CTC结构 CNN->Flatten->Linear->RNN->Linear后输出图像中每个位置所对应的字符概率。考虑到CTC解码器在面对图像中元素数量不一、相邻元素重复时会存在无法正确对齐等情况,故额外添加一个类别代表“分隔符”进行改善。 卷积层由CNN构成,它的作用是从输入的图像中提取特征。提取的特征图将会输入到接下来的循环层中,循环层由RNN构成,它将输出对特征序列每一帧的预测。最后转录层将得到的预测概率分布转换成标记序列,得到最终的识别结果,它实际上就是模型中的损失函数。通过最小化损失函数,训练由CNN和RNN组成的网络。 卷积层=卷积层,池化层,bn层构造而成的,BN(Batch Normalization)层。因为BN层可以对输入数据进行归一化,加速网络的收敛速度。 虽然卷积神经网络以其强大的优势被广泛应用到视觉领域中,但是由于其往往需要将输入图像缩放到统一尺寸,所以对于那些尺寸变化较大的数据比如文本信息便不能起到很好的效果。为此,在这里模型在卷积层的后面添加了由RNN组成的循环层,用来更好地处理序列信息。 在卷积层的后面,是由双向递归神经网络(RNN)构成的循环层, 第一,卷积层不能很好地提取序列的上下文信息,而RNN恰好能解决这个问题。第二,经过循环层得到的误差在反向传播时可以传回卷积层,所以循环层和卷积层可以共同训练。第三,也是最重要的一点就是,RNN可以处理长短不一的序列,而这是卷积层所不具备的。 普通的RNN很可能出现梯度爆炸的问题,所以使用lstm避免这个问题。 转录层的作用是将前面通过CNN层和RNN层得到的预测序列转换成标记序列,得到最终的识别结果。简单来说,就是选取预测序列中每个分量中概率最大的索引对应的符号作为识别结果,最终组成序列作为最终的识别序列。本文采用CTC中定义的条件概率来处理序列的转换问题。 在CRNN中,CTC实际上就是模型对应的损失函数。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 12:24:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |