FOTS.PyTorch icon indicating copy to clipboard operation
FOTS.PyTorch copied to clipboard

FOTS Pytorch Implementation

News!!! Recognition branch now is added into model. The whole project has beed optimized and refactored.

  • [x] ICDAR Dataset
  • [x] SynthText 800K Dataset
  • [x] detection branch (verified on the training set, It works!)
  • [x] recognition branch (verified)
  • [x] eval
  • [x] multi-gpu training
  • [x] reasonable project structure
  • [x] wandb
  • [x] pytorch_lightning

Introduction

This is a PyTorch implementation of FOTS.

Instruction

Requirements

  1. build tools

    ./build.sh
    
  2. prepare Dataset

  3. create virtual env, you may need conda

    conda create --name fots --file spec-file.txt
    conda activate fots
    pip install -r reqs.txt
    

Training

# quite easy, for single gpu training set gpus to [0]. 0 is the id of your gpu.
python train.py -c pretrain.json
python train.py -c finetune.json

Evaluation

python eval.py 
-c
finetune.json
-m
<your ckpt>
-i
<icdar2015 folder contains train and test>
--detection    
-o
./results
--cuda

with --detection flag to evaluate detection only or without flag to evaluate e2e

Benchmarking and Models (Coming soon!)

Visualization (1000 epochs, 8 bs, icdar2015 without finetuning, still converging!!!)

img_59.jpg img_108.jpg

Acknowledgement

  • https://github.com/SakuraRiven/EAST (Some codes are copied from here.)
  • https://github.com/chenjun2hao/FOTS.pytorch.git (ROIRotate)