Skip to content

whai362/PSENet

Repository files navigation

News

  • PSENet is included in MMOCR.
  • We have upgraded PSENet from python2 to python3. You can find the old version here.
  • We have implemented PSENet using Paddle. Visit it here.
  • You can find code of PAN here.
  • Another group also implemented PSENet using Paddle. You can visit it here. You can also have a try online with all the environment ready here.

Introduction

Official Pytorch implementations of PSENet [1].

[1] W. Wang, E. Xie, X. Li, W. Hou, T. Lu, G. Yu, and S. Shao. Shape robust text detection with progressive scale expansion network. In Proc. IEEE Conf. Comp. Vis. Patt. Recogn., pages 9336–9345, 2019.

Recommended environment

Python 3.6+
Pytorch 1.1.0
torchvision 0.3
mmcv 0.2.12
editdistance
Polygon3
pyclipper
opencv-python 3.4.2.17
Cython

Install

pip install -r requirement.txt
./compile.sh

Training

CUDA_VISIBLE_DEVICES=0,1,2,3 python train.py ${CONFIG_FILE}

For example:

CUDA_VISIBLE_DEVICES=0,1,2,3 python train.py config/psenet/psenet_r50_ic15_736.py

Test

python test.py ${CONFIG_FILE} ${CHECKPOINT_FILE}

For example:

python test.py config/psenet/psenet_r50_ic15_736.py checkpoints/psenet_r50_ic15_736/checkpoint.pth.tar

Speed

python test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --report_speed

For example:

python test.py config/psenet/psenet_r50_ic15_736.py checkpoints/psenet_r50_ic15_736/checkpoint.pth.tar --report_speed

Evaluation

Introduction

The evaluation scripts of ICDAR 2015 (IC15), Total-Text (TT) and CTW1500 (CTW) datasets.

Text detection

./eval_ic15.sh

Text detection

./eval_tt.sh

Text detection

./eval_ctw.sh

Benchmark

Results

ICDAR 2015

Method Backbone Fine-tuning Scale Config Precision (%) Recall (%) F-measure (%) Model
PSENet ResNet50 N Shorter Side: 736 psenet_r50_ic15_736.py 83.6 74.0 78.5 Releases
PSENet ResNet50 N Shorter Side: 1024 psenet_r50_ic15_1024.py 84.4 76.3 80.2 Releases
PSENet (paper) ResNet50 N Longer Side: 2240 - 81.5 79.7 80.6 -
PSENet ResNet50 Y Shorter Side: 736 psenet_r50_ic15_736_finetune.py 85.3 76.8 80.9 Releases
PSENet ResNet50 Y Shorter Side: 1024 psenet_r50_ic15_1024_finetune.py 86.2 79.4 82.7 Releases
PSENet (paper) ResNet50 Y Longer Side: 2240 - 86.9 84.5 85.7 -

CTW1500

Method Backbone Fine-tuning Config Precision (%) Recall (%) F-measure (%) Model
PSENet ResNet50 N psenet_r50_ctw.py 82.6 76.4 79.4 Releases
PSENet (paper) ResNet50 N - 80.6 75.6 78 -
PSENet ResNet50 Y psenet_r50_ctw_finetune.py 84.5 79.2 81.8 Releases
PSENet (paper) ResNet50 Y - 84.8 79.7 82.2 -

Total-Text

Method Backbone Fine-tuning Config Precision (%) Recall (%) F-measure (%) Model
PSENet ResNet50 N psenet_r50_tt.py 87.3 77.9 82.3 Releases
PSENet (paper) ResNet50 N - 81.8 75.1 78.3 -
PSENet ResNet50 Y psenet_r50_tt_finetune.py 89.3 79.6 84.2 Releases
PSENet (paper) ResNet50 Y - 84.0 78.0 80.9 -

Citation

@inproceedings{wang2019shape,
  title={Shape robust text detection with progressive scale expansion network},
  author={Wang, Wenhai and Xie, Enze and Li, Xiang and Hou, Wenbo and Lu, Tong and Yu, Gang and Shao, Shuai},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages={9336--9345},
  year={2019}
}

License

This project is developed and maintained by IMAGINE Lab@National Key Laboratory for Novel Software Technology, Nanjing University.

IMAGINE Lab

This project is released under the Apache 2.0 license.