RRPN
Source code of RRPN ---- Arbitrary-Oriented Scene Text Detection via Rotation Proposals
Citing RRPN
If you find RRPN useful in your research, please consider citing:
@article{Jianqi17RRPN,
Author = {Jianqi Ma and Weiyuan Shao and Hao Ye and Li Wang and Hong Wang and Yingbin Zheng and Xiangyang Xue},
Title = {Arbitrary-Oriented Scene Text Detection via Rotation Proposals},
journal = {IEEE Transactions on Multimedia},
Year = {2018},
publisher={IEEE}
}
To run the demo
cd $RRPN_ROOT
python ./tools/rotation_demo.py
The txt results will be saved in $RRPN_ROOT/result
Beyond the demo: installation for training and testing models
You can use the function get_rroidb()
in $RRPN_ROOT/lib/rotation/data_extractor.py
to manage your training data:
Each training sample should be managed in a python dict like:
im_info = {
'gt_classes': # Set to 1(Only text)
'max_classes': # Set to 1(Only text)
'image': # image path to access
'boxes': # ground truth box
'flipped' : # Flip an image or not (Not implemented)
'gt_overlaps' : # overlap of a class(text)
'seg_areas' : # area of an ground truth region
'height': # height of an image data
'width': # width of an image data
'max_overlaps' : # max overlap with each gt-proposal
'rotated': # Random angle to rotate an image
}
Then assign your database to the variable 'roidb' in main function of $RRPN_ROOT/tools/train_net.py
116: roidb = get_rroidb("train") # change to your data manage function
Download pre-trained ImageNet models
Pre-trained ImageNet models can be downloaded for the networks described in the paper: VGG16.
cd $RRPN_ROOT
./data/scripts/fetch_imagenet_models.sh
VGG16 comes from the Caffe Model Zoo, but is provided here for your convenience.
ZF was trained at MSRA.
Then you can train RRPN by typing:
./experiment/scripts/faster_rcnn_end2end.sh [GPU_ID] [NET] rrpn
[NET] usually takes VGG16
Trained RRPN networks are saved under:(We set the directory to './' by default.)
./
One can change the directory in variable output_dir
in $RRPN_ROOT/tools/train_net.py