Implemented digit detector in natural scene using resnet50 and Yolo-v2. I used SVHN as the training set, and implemented it using tensorflow and keras.
I have implemented a digit detector that applies yolo-v2 to svhn dataset.
I recommend that you create and use an anaconda env that is independent of your project. You can create anaconda env for this project by following these simple steps. This process has been verified on Windows 10 and ubuntu 16.04.
$ conda create -n yolo python=3.6
$ activate yolo # in linux "source activate yolo"
(yolo) $ pip install -r requirements.txt
(yolo) $ pip install -e .
In this project, the pretrained weight file is stored in weights.h5.
This project provides a way to train digit detector from scratch. If you follow the command below, you can build a digit detector with just two images.
project/root> python train.py -c configs/from_scratch.json
project/root> python train.py -c configs/from_scratch2.json
project/root> python evaluate.py -c configs/from_scratch.json -w svhn/weights.h5
{'fscore': 1.0, 'precision': 1.0, 'recall': 1.0}
project/detected
directory.Now you can add more images to train a digit detector with good generalization performance.
In this project, I use pascal voc format as annotation information to train object detector. An annotation file of this format can be downloaded from svhn-voc-annotation-format.
If you are interested in advanced digit detection algorithm, please refer to the following projects. The following projects can be more stable training than the algorithm of this project.
https://github.com/penny4860/tf2-eager-yolo3
https://github.com/penny4860/retinanet-digit-detector