Home

Awesome

Shape Robust Text Detection with Progressive Scale Expansion Network

Requirements

Update

20190401

  1. add author loss, the results are compared in Performance

Download

resnet50 and resnet152 model on icdar 2015:

  1. bauduyun extract code: rxjf

  2. google drive

Data Preparation

follow icdar15 dataset format

img
│   1.jpg
│   2.jpg   
│		...
gt
│   gt_1.txt
│   gt_2.txt
|		...

Train

  1. config the trainroot,testrootin config.py
  2. use following script to run
python3 train.py

Test

eval.py is used to test model on test dataset

  1. config model_path, data_path, gt_path, save_path in eval.py
  2. use following script to test
python3 eval.py

Predict

predict.py is used to inference on single image

  1. config model_path, img_path, gt_path, save_path in predict.py
  2. use following script to predict
python3 predict.py
<h2 id="Performance">Performance</h2>

ICDAR 2015

only train on ICDAR2015 dataset with single NVIDIA 1080Ti

my implementation with my loss use adam and warm_up

MethodPrecision (%)Recall (%)F-measure (%)FPS(1080Ti)
PSENet-1s with resnet50 batch 881.1377.0379.031.76
PSENet-2s with resnet50 batch 881.3677.1379.183.55
PSENet-4s with resnet50 batch 881.0076.5578.714.43
PSENet-1s with resnet152 batch 485.4580.0682.671.48
PSENet-2s with resnet152 batch 485.4280.1182.682.56
PSENet-4s with resnet152 batch 483.9379.0081.392.99

my implementation with my loss use adam and MultiStepLR

MethodPrecision (%)Recall (%)F-measure (%)FPS(1080Ti)
PSENet-1s with resnet50 batch 883.3979.2981.291.76
PSENet-2s with resnet50 batch 883.2279.0581.083.55
PSENet-4s with resnet50 batch 882.5778.2380.344.43
PSENet-1s with resnet152 batch 485.3379.8782.511.48
PSENet-2s with resnet152 batch 485.3679.7382.452.56
PSENet-4s with resnet152 batch 483.9578.8681.332.99

my implementation with author loss use adam and warm_up

MethodPrecision (%)Recall (%)F-measure (%)FPS(1080Ti)
PSENet-1s with resnet50 batch 883.3377.7580.441.76
PSENet-2s with resnet50 batch 883.0177.6680.243.55
PSENet-4s with resnet50 batch 882.3876.9879.594.43
PSENet-1s with resnet152 batch 485.1679.8782.431.48
PSENet-2s with resnet152 batch 485.0379.6382.242.56
PSENet-4s with resnet152 batch 484.53S79.2081.772.99

my implementation with author loss use adam and MultiStepLR

MethodPrecision (%)Recall (%)F-measure (%)FPS(1080Ti)
PSENet-1s with resnet50 batch 883.9379.4881.651.76
PSENet-2s with resnet50 batch 884.1779.6381.843.55
PSENet-4s with resnet50 batch 883.5078.7181.044.43
PSENet-1s with resnet152 batch 485.1679.5882.281.48
PSENet-2s with resnet152 batch 485.1379.1582.032.56
PSENet-4s with resnet152 batch 484.4078.7181.462.99

official implementation use SGD and StepLR

MethodPrecision (%)Recall (%)F-measure (%)FPS(1080Ti)
PSENet-1s with resnet50 batch 884.1580.2682.161.76
PSENet-2s with resnet50 batch 883.6179.8281.673.72
PSENet-4s with resnet50 batch 881.9078.2380.034.51
PSENet-1s with resnet152 batch 482.8778.7680.771.53
PSENet-2s with resnet152 batch 482.3378.3380.282.61
PSENet-4s with resnet152 batch 481.1977.1379.113.00

examples

reference

  1. https://github.com/liuheng92/tensorflow_PSENet
  2. https://github.com/whai362/PSENet