2019/04/07创新实训------街景翻译APP

团队进展

本周团队获得了一定的成果,文本检测和识别模型都已经完成实现,正在尝试训练获得好的结果。

文本检测

见成员博客
XYC: https://blog.****.net/weixin_44633882/article/details/89075627
XCY: https://blog.****.net/u013575592/article/details/89089524

文本识别

模型训练中,纠正了之前的理解错误,进入训练阶段

个人进展

纠正 DTRN 的理解错误

DTRN 是分段训练的,即首先训练 maxoutCNN 模型,训练好之后直接拿来参与第二步的训练但是 CNN 的参数不再改变,第一步训练 maxoutCNN ,第二步只训练 BiLSTM,而我在上一周错误认为是 CNNRNN 一起训练。

关于CTC

在文本识别这个领域内,常见的手段就是 CNN + RNN + CTC 。即将文本识别当作一个序列标注的任务,说是图像,其实是在识别序列。既然是识别序列,那么不可避免的问题就是:

文本的长度是不同的,即每次的输出长度是变化的。

为了解决这个问题,就引入了 CTCCTC 本身是被使用在语音识别领域,也是解决序列不等长问题,用于将音节和文字对齐,这里将 CTC 引入文字识别也算是小小的创新点了。 CTCTensorflow 函数中以* ctc_loss* 的形式出现,需要创建 sparseTensor 才能完成输入, CTC 函数对输入的数据有各种各样的要求,让我极其苦恼。挑比较重要的讲一下:

  1. BiLSTM 的运算结果输入* ctc_loss* 需要将数据变形为 [MAX_TIME, BATCH, NUM_CLASSSES]
  2. sel_len 参数输入的形式是 tf.ones(BATCH) * MAX_TIME

Now

现在显卡正在飞速训练中,从 loss 图看结果并不好,后期继续调参数
2019/04/07创新实训------街景翻译APP