Skip to content

use ctpn detect id cards and printed transfer orders then crnn discern them

License

Notifications You must be signed in to change notification settings

roughsoft/scenetext_detection

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

text-detection-ctpn

text detection mainly based on ctpn (connectionist text proposal network). It is implemented in tensorflow. I use it to detect id card includes Chinese and European,I also use it to dectect printed transfer orders, but it should be noticing that this model can be used in almost every horizontal scene text detection task. The origin paper can be found here. Also, the origin repo in caffe can be found in here. For more detail about the paper and code, see this blog


setup

  • requirements: tensorflow1.3, opencv-python
  • if you have a gpu device, build the library by
cd lib/utils
chmod +x make.sh
./make.sh

demo

  • put your images in data/demo, the results will be saved in data/results, and run demo in the root
python ./ctpn/demo.py

training

prepare data

  • First, download the pre-trained model of VGG net and put it in data/pretrain/VGG_imagenet.npy.
  • Second, prepare the training data as referred in paper, or you can download the data I prepared from previous link.You can use my label tool to label datas.P.S:This tool can label different types object at the same time.I add 2k id cards and printed transfer orders in the train data.Especialy,for printed transfer records,I use my Java programmer to generate standard form orders at high speed.
cd prepare_training_data
python bbox_label_tool.py
  • Modify the path and gt_path in prepare_training_data/split_label.py according to your dataset. And run
python split_label.py
  • it will generate the prepared data in current folder, and then run
python ToVoc.py
  • to convert the prepared training data into voc format. It will generate a folder named TEXTVOC. move this folder to data/ and then run
cd ../data
ln -s TEXTVOC VOCdevkit2007

train

Simplely run

python ./ctpn/train_net.py
  • you can modify some hyper parameters in ctpn/text.yml, or just used the parameters I set.

here are some results

About

use ctpn detect id cards and printed transfer orders then crnn discern them

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.6%
  • Cuda 2.2%
  • Other 0.2%