bes-dev / crnn-pytorch

Pytorch implementation of OCR system using CRNN + CTCLoss
BSD 2-Clause "Simplified" License
217 stars 55 forks source link

Convolutional Recurrent Neural Network

This software implements OCR system using CNN + RNN + CTCLoss, inspired by CRNN network.

Usage

python ./train.py --help

Demo

  1. Train simple OCR using TestDataset data generator. Training for ~60-100 epochs.

    python train.py --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots>
  2. Run test for trained model with visualization mode.

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

Train on custom dataset

  1. Create dataset
  1. Train simple OCR using custom dataset.

    python train.pt --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots> --data-path <path_to_custom_dataset>
  2. Run test for trained model with visualization mode.

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

Dependence

Articles