Pytorch使用CRNN+CTCLoss实现OCR系统

Song • 1148次浏览 • 0个评论 • 2019-02-02 13:43:42

卷积递归神经网络

此项目使用CNN + RNN + CTCLoss实现OCR系统,灵感来自CRNN网络。

一、用法

python ./train.py --help

二、演示

1、使用TestDataset数据生成器训练简单的OCR。训练60-100次。

python train.py --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots>

2、运行test来训练可视化模型。

python test.py --snapshot <path_to_folder_with_snapshots>/crnn_resnet18_10_best --visualize True

三、训练自定义数据集

1、创建数据集

  • 数据集的结构:
<root_dataset_dir>
---- data
-------- <img_filename_0>
...
-------- <img_filename_1>
---- desc.json
  • desc.json的结构:
    {
    "abc": <symbols_in_aphabet>,
    "train": [
    {
    "text": <text_on_image>
    "name": <img_filename>
    },
    ...
    {
    "text": <text_on_image>
    "name": <img_filename>
    }
    ],
    "test": [
    {
    "text": <text_on_image>
    "name": <img_filename>
    },
    ...
    {
    "text": <text_on_image>
    "name": <img_filename>
    }
    ]
    }

    2、使用自定义数据集训练简单的OCR。

    python train.pt --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots> --data-path <path_to_custom_dataset>

    3、运行test来训练可视化模型。

python test.py --snapshot <path_to_folder_with_snapshots>/crnn_resnet18_10_best --visualize True --data-path <path_to_custom_dataset>

四、依赖

五、相关文章

项目地址:BelBES/crnn-pytorch

提交评论
要回复文章请先登录注册
用户评论
    公告
    中国晚上好,随时随地分享前沿科技,好吃好玩,有趣有料的新鲜事;本站可以分享资源,技术,观点,态度;同时希望大家做一个文明的分享者!
    广告
    pytorch中文网