CTC

Using Tensorflow's Connectionist Temporal Classification (CTC) implementation

牧云@^-^@ 提交于 2019-12-02 17:19:31
I'm trying to use the Tensorflow's CTC implementation under contrib package (tf.contrib.ctc.ctc_loss) without success. First of all, anyone know where can I read a good step-by-step tutorial? Tensorflow's documentation is very poor on this topic. Do I have to provide to ctc_loss the labels with the blank label interleaved or not? I could not be able to overfit my network even using a train dataset of length 1 over 200 epochs. :( How can I calculate the label error rate using tf.edit_distance? Here is my code: with graph.as_default(): max_length = X_train.shape[1] frame_size = X_train.shape[2]

【AI实战】手把手教你文字识别(识别篇:LSTM+CTC, CRNN, chineseocr方法)

萝らか妹 提交于 2019-11-30 11:09:54
文字识别 是AI的一个重要应用场景,文字识别过程一般由图像输入、预处理、文本检测、文本识别、结果输出等环节组成。 其中, 文本检测、文本识别是最核心的环节 。文本检测方面,在前面的文章中已介绍过了多种基于深度学习的方法,可针对各种场景实现对文字的检测,详见以下文章: 【AI实战】手把手教你文字识别(检测篇:MSER、CTPN、SegLink、EAST等方法) 【AI实战】手把手教你文字识别(检测篇:AdvancedEAST、PixelLink方法) 而本文主要就是介绍在“文本识别”方面的实战方法,只要掌握了这些方法,那么跟前面介绍的文本检测方法结合起来,就可以轻松应对各种文字识别的任务了。话不多说,马上来学习“文本识别”的方法。 文字识别可根据待识别的文字特点采用不同的识别方法, 一般分为定长文字、不定长文字两大类别。 定长文字 (例如验证码),由于字符数量固定,采用的网络结构相对简单,识别也比较容易; 不定长文字 (例如印刷文字、广告牌文字等),由于字符数量是不固定的,因此需要采用比较复杂的网络结构和后处理环节,识别也具有一定的难度。 下面按照定长文字、不定长文字分别介绍识别方法。 一、定长文字识别 定长文字的识别相对简单,应用场景也比较局限,最典型的场景就是验证码的识别了。由于字符数量是已知的、固定的,因此,网络结构比较简单,一般构建3层卷积层,2层全连接层便能满足“定长文字