Fast multi-language LSTM-based online handwriting recognition 在线手写识别

paper
在线手写识别,是区别于离线手写识别,即带书写轨迹的字符识别,比如平板,写字板等触摸屏活着触控笔等。带有笔迹时许信息。
也区分单字识别(触屏输入法)和行识别(一次性写一行直接识别出来,666)

本文是2019年的论文,我写一下论文概要

谷歌的在线手写识别系统,在IAM-OnDB英文在线行识别数据集上最好。
该系统将来自序列识别的方法与使用贝塞尔曲线的新输入编码相结合。102种语言,各种文字符号都可以,快了10倍,更精确了20%

在线手写越来越重要的原因:
1 新兴市场中许多设备专门是手写的,很多母语不像英文一样好输入(由于有字素簇,字母不一样大,小语种键盘不好设计)
2 触屏设备越来越多

2020年我们取代了自己2017年的分割-解码的系统25(先将笔迹ink过度的细分,再将细分分组转换为字符假设),计算每个字符的特征,然后使用浅层网络分类器。
识别结果使用最佳路径搜索解码算法,结合语言模型等额外信息。以来大量预处理,分割和知识启发内容。但是现在不需要这些了。
新模型就是双向LSTM+CTC

早期方法HMM,比如TDNNs,延时神经网络
近期RNN比如LSTM (6,7,14)
数据上也有所变化:早期用一系列基于手工特征的,每个点都用一组特征表示,或者用全局特征代表整个字符。
现在扫除了大量工程上的努力,变成可学习的特征。


上图你看这识别,各国语言千差万别,多行的,符号的,也能识别

论文创新点:

  1. 详细描述我们调整网络的过程,与之前论文做详细实验比较
  2. 一个创新的输入表达特方式:贝塞尔曲线插值。更短的输入序列,更快的识别
  3. IAM-OnDB数据集最佳精度,包括限制的训练集和开放的训练集(自己有内部数据集)
  4. 为生僻的IBM——UB引入一个评估方式
  5. 消融实验,分析每个部件

训练方法上,早期:显式的分割变为:
CTC loss 或者 encoder-decode方法再加最大似然估计

我们的模型类似于语音识别那个CLDNN(卷积+LSTM+DNNs),有四点不同

  1. 不使用卷积,相比语音,我们的笔迹序列较短
  2. 双向LSTM,时间延迟不太影响
  3. 不用双向LSTM前后的全连接层
  4. CTC而不是HMM


如上图,序列输入+双向LSTM+softmax+CTC 序列预测在线手写数据


输入:老论文中,每个点特征23维
我们现在提出两种表示:

  1. 原始接触点
  2. 贝塞尔曲线

原始笔画:

we use a sequence of 5-dimensional points (xi , yi , ti , pi , ni )
一个点用5维的信息
ti是时间戳
pi代表落笔和笔拿开
ni代表新的笔画
二者之间有冗余,但是大量数据实验中逐渐形成的,简化后不太会有很大提升。
实际输入是坐标差值:
5维:
( xi - xi-1 , y i - yi-1 , ti - ti-1 , pi , ni )

贝塞尔曲线:

自己看论文吧,一种三次多项式拟合笔画的方法,还有很多工程信息,比如笔画过长过弯,拟合不好时,先切断笔画,拟合,再合起来,拟合时可以少量点控制多个笔触点,
对不同采样率适应得很好

1由于不同设备采样率不一致,需要重采样,
2重新选择采样率后,可以代表小特征,但是直线这种会被过度采样
3模型复杂度,模型必须学会绘制小图且能映射到全局特征
贝塞尔曲线是描述轨迹的自然方法空间,论文21主要是消除异常值的方法,22是上采样稀疏数据,35是屏幕上平滑手写数据
贝塞尔曲线可以表示潜在很长的序列,我们使用输入点序列作为参数三次多项式的序列。
s在0-1之间
x(s) = α0 + α1s + α2s2 + α3s3

对精度影响不太大,主要是更快,长度短为四分之一

精度差别不大,速度快好几倍

贝塞尔曲线的数据预处理:

1平移使得x0=0,缩放使得y在0-1之间,若未知大小,则使输入范围大于书写范围20%
2沿着笔画等距离的重采样,δ = 0.05, 即 长度为1的线采样20个点

双层LSTM

根据不同语种的识别任务设定不同层数

层数大一些还是更精确一些
数据更多也是更精确,LSTM节点数大概64或者128就饱和了

softmax层

每个LSTM层的每个帧都输入到softmax层,来获得C上的概率分布。

decode

按照论文12的步骤,softmax层的输出是T时间序列
使用CTC解码器,softmax层的logit输出与特定语言先验知识结合(decoder权值),将其线性的合并
在解码时使用beam search,可以提高精度

重要的引用
12. Graves, A., Fernández, S., Gomez, F.J., Schmidhuber, J.: Con- nectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks. In: ICML (2006)
12是谷歌上一版本的论文,用了很多工程技巧拆分结构
25.Keysers, D., Deselaers, T., Rowley, H., Wang, L.L., Carbune, V.: Multi-language online handwriting recognition. IEEE Trans. Pat- tern Anal. Mach. Intell. 39(6), 1180–1194 (2017)
这篇论文数据处理方面比较好

后记

看完这些,希望你已经没有想复现的冲动了。
如果是这样的话,不妨点个赞吧。

为何要点赞?

如果本文解决了你的困惑,不妨点个赞鼓励一下。
不管你信不信,也不管你同不同意,实际上,你的每一次点赞都标志着你自身的进步。而打赏乃是点赞的高级形式
曾经有无数个点赞的机会,但是我都没有好好珍惜,假如时光可以倒流,我一定为他们也为自己点赞。

Fast multi-language LSTM-based online handwriting recognition 在线手写识别相关推荐

  1. 【deep_thoughts】30_PyTorch LSTM和LSTMP的原理及其手写复现

    文章目录 LSTM API 手写 lstm_forward 函数 LSTMP 修改 lstm_forward 函数 视频链接: 30.PyTorch LSTM和LSTMP的原理及其手写复现_哔哩哔哩_ ...

  2. Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》

    论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...

  3. 【论文学习】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》

    <Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks wit ...

  4. 多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解

    论文:COGMEN: COntextualized GNN based Multimodal Emotion recognitioN COGMEN: 基于GNN的多模态情感识别技术 论文实现可参考另外 ...

  5. CNN之手写数字识别(Handwriting Recognition)

    CNN之手写数字识别(Handwriting Recognition) 目录 CNN之手写数字识别(Handwriting Recognition) 1.常用的包 2.常见概念 3.手写数字识别器实现 ...

  6. 教程 | 基于LSTM实现手写数字识别

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 基于tensorflow,如何实现一个简单的循环神经网络,完成手写 ...

  7. TF之LSTM:利用多层LSTM算法对MNIST手写数字识别数据集进行多分类

    TF之LSTM:利用多层LSTM算法对MNIST手写数字识别数据集进行多分类 目录 设计思路 实现代码 设计思路 更新-- 实现代码 # -*- coding:utf-8 -*- import ten ...

  8. TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练、评估(偶尔100%准确度,交叉熵验证)

    TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练.评估(偶尔100%准确度,交叉熵验证) 目录 输出结果 设计思路 代码设计 输出结果 第 0 accuracy 0. ...

  9. 练习利用LSTM实现手写数字分类任务

    练习利用LSTM实现手写数字分类任务 MNIST数据集中图片大小为28*28. 按照行进行展开成28维的特征向量. 考虑到这28个的向量之间存在着顺序依赖关系,我们可以将他们看成是一个长为28的输入序 ...

最新文章

  1. 洛谷 P3803 多项式乘法
  2. 渗透测试-基于白名单执行payload--Compiler
  3. java网络编程(六)
  4. 【算法】梯度消失与梯度爆炸
  5. 暴风TV请来中国人工智能first lady冯雁教授任首席科学家
  6. request payload怎么发_做了一个个人博客,但不知道怎么介绍
  7. 自动清理归档日志_LGWR 日志写入进程
  8. 先河系统为你讲解私有云服务器的优点
  9. 微软技术沙龙 思考 体验 真正的中国网络技术
  10. 【CCCC】L3-010 是否完全二叉搜索树 (30分),完全二叉树判断+层次遍历(奇怪的方法)
  11. (十) 一起学 Unix 环境高级编程 (APUE) 之 线程控制
  12. xp系统打印服务器自动关闭,XP系统服务管理Print spooler自动关闭的解决办法
  13. C语言自己编写头文件
  14. 黄帝81难经11-20难
  15. 服务器删除的excel文件备份在哪里,excel自动备份文件在哪!如何找回EXCEL表格已删除的文件...
  16. riscv ELF bss段解析
  17. 凸优化——对偶问题解题步骤
  18. 这双 Googler 设计的 Nike 鞋真的是──丑爆了
  19. DBMS_SQL的使用
  20. SAP access 破解

热门文章

  1. System V 消息队列概念以及相关函数(msgget、msgsnd、msgrcv、msgctl)介绍
  2. 苹果手机html5 播放器,酷狗全新iPhone版HTML5播放器发布
  3. Linux 服务器管理建议
  4. Google安全视频
  5. PlantUML Themes
  6. X265编码核心函数分析
  7. 神经病学住院医师规范化培训中内科思维的培养
  8. 网络与信息安全领域的四大顶级会议
  9. 计算机专业英语2008影印版第四章翻译,计算机专业英语2008影印版 翻译
  10. 样本协差阵 matlab函数,方差var、协方差cov、协方差矩阵(浅谈)(三)_函数cov...