synth90k 数据集上的 tensorflow attention ocr

tensorflow attention ocr on synth90k dataset

我想用 Synth 90k 测试集评估 http://download.tensorflow.org/models/attention_ocr_2017_05_17.tar.gz 上可用的注意力 OCR 模型。问题是评估结果很差,只报告了 0.1 个字符的精度。似乎对于每个输入图像模型输出都与 FSNS 数据集相关:

以下是 运行 eval.py 脚本使用此命令时的输入和输出值列表:

python eval.py --split_name test --train_log_dir attention_ocr_2017_05_17 --dataset_name synth90k --num_batches 10

以下是一些实施细节:

我已经使用来自 Synth 90k 测试子集的 10 个示例创建了 tfrecord。另外,我创建了包含字符编码的 charset_synth90k.txt 文件(与 fsns charset_size=134.txt 相同的内容)。

这是我的 synth90k.py 数据集文件(仅包括更改的行):

DEFAULT_DATASET_DIR = os.path.join(os.path.dirname(file), 'synth90k')

DEFAULT_CONFIG = {

'name':'synth90k',

'splits': {

   'test': {
       'size': 10,
       'pattern': 'synth90k_test*.tfrecord'
   }

},

'charset_filename': 'charset_synth90k.txt',

'image_shape': (31, 200, 3),

'num_of_views':1,

'max_sequence_length': 37,

'null_code': 133,

...

}

注意力 OCR 模型仅使用 FSNS 训练数据集进行训练,它仅适用于看起来或多或少类似于法国街道名称的图像。为了将它应用于来自不同分布的图像,您需要使用来自该分布的图像重新训练(或至少微调)它。