CRNN论文笔记
来源:互联网 发布:系统数据接口方案 编辑:程序博客网 时间:2024/06/05 23:39
CRNN是《An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition》中提出的模型,解决图像中文字识别问题。
论文地址:https://arxiv.org/abs/1507.05717
github地址:https://github.com/bgshih/crnn
1、应用环境
应用于图像中序列物体的识别。比如说一段文字、一段乐谱。简单而言,就是前后文有联系的。
2、特点
1、可以直接从序列标签学习,不必给每一个字符打标签。例如图片中是“abc123”,标签即是“abc123”,不用给每个字符单独打标签。
2、有CNN的优点,直接从输入图像学习,不必做二值化、分割、定位等,这些预处理操作。
3、有RNN的优点,输出的是一个序列标签。
4、对要识别的序列对象没有长度限制。只是在训练和测试中,高度要归一化。
5、比其他模型参数更少。
6、虽然结合了CNN和RNN,但最后用一个loss函数,可以端到端的训练。
3、模型架构
模型有三部分构成:
(1)convolution layer 直接从图像中提取特征,生成的特征序列
(2)recurrent layer 把特征序列变成特征分布
(3) transcription layer 则把特征分布转化成标签序列
4、特征序列提取
首先输入图像都必须统一成同样高度,其次CNN由convolution layer和max-pooling layer组成。
因为卷积和池化具有平移不变性,所以在从左往右提取特征的时候,生成的特征向量跟原图的位置也是对应的。因此生成的特征序列可以看做是对原图像的描述。
5、序列标签
The recurrent layers 输入的是特征序列,输出的是特征分布。
对特征序列
使用RNN有3个好处:
(1)RNN有很强的联系上下文能力,所以适合处理这种序列任务。
(2)RNN可以将误差反向传播回去,这样就可以跟CNN联合训练
(3)RNN能输入任意序列长度
本文采用了双向LSTM,其原理和作用不再赘述。
最后,作者写了一个“Map-to-Sequence”layer,作为联系CNN和RNN的桥梁。
6、transcription
transcription就是把特征分布转化成标签序列,本质上就是找特征分布中对应标签概率最大的。
采用CTC的方法。未完待续。。
7、训练
训练使用了一个loss函数,可以跟CNN,RNN 联系起来,所以实现了端到端的训练。
采用SGD训练,ADADELTA优化效果更好。
- CRNN论文笔记
- [论文笔记] CRNN(Convolutional Recurrent Neural Network)_2015 学习笔记
- CRNN论文翻译——中英文对照
- CRNN论文翻译——中文版
- 论文笔记---小论文
- 论文笔记
- 论文笔记
- 论文笔记
- 论文笔记
- CRNN add digits
- 论文阅读笔记
- 笔记-作业-论文
- 一篇可视化论文笔记
- 论文阅读笔记- Dremel
- 论文阅读笔记 - Pregel
- 论文阅读笔记1
- 论文阅读笔记2
- 论文阅读笔记3
- DAY-1高精模板
- 变色an
- 常见的激活函数
- AS运行出现Error running app: This version of Android Studio is incompatible with the Gradle
- Android关于Theme.AppCompat相关问题的深入分析
- CRNN论文笔记
- datatable第二次绑定先销毁原datatable
- 基于Docker 分布式部署solrCloud
- quill富文本编辑器
- Ubuntu 16.04 SPARK 开发环境搭建-- 伪分布版 与新建一个Spark版本的WordCount
- js中数组操作
- 线程安全和线程不安全理解
- Android第三方框架 Universal-Image-Loader的使用,进一步封装
- 反向代理为何叫反向代理?