This project is a PyTorch implementation that uses deep CNN to recognize multi-digit numbers using the SVHN dataset derived from Google Street View house numbers, each picture contains a set of numbers from 0 to 9, the model is tested to have 89% accuracy.
conda create -n py311 python=3.11 -y
conda activate py311
pip install -r requirements.txt
- Clone the source code:
git clone [email protected]:MuGemSt/SVHN-Recognition.git
cd SVHN-Recognition
- Run
convert_to_lmdb.py
- Run
train.py
Street View House Number Dateset 来源于谷歌街景门牌号码
本次任务的目标数据集是其中的 Format 1 (Full Numbers: train.tar.gz, test.tar.gz , extra.tar.gz)
其中,train.tar.gz 为训练数据集,test.tar.gz为测试数据集。注:extra.tar.gz是附加数据集,建议不使用。
在 train.tar.gz 与 test.tar.gz 中,分别包含:
- 一些 .png 格式的图片,每张图片包含一个门牌号;
- 一个 digitStruct.mat 文件,包含每张图片所对应的门牌号,以及每个门牌号数字的位置信息;
- 一个 see_bboxes.m 文件,用于辅助 Matlab 环境下的处理,请忽略之。
- 设计一个网络,用 train.tar.gz 中的数据进行训练,并用 test.tar.gz 中的数据进行测试;
- 在测试的过程中,不允许使用 test.tar.gz/digitStruct.mat 文件中的位置信息作为输入,即必须在“忽略测试数据集中给出的位置信息”的前提下,识别出 test.tar.gz 中每张图片中的门牌号;
- 撰写一份报告,包含如下信息:
(1) 所设计的网络的结构和超参数信息;
(2) 网络的训练方法和优化方法;
(3) 体现训练过程的“训练曲线”;
(4) 识别准确率;
Steps | GPU | Batch Size | Learning Rate | Patience | Decay Step | Decay Rate | Accuracy |
---|---|---|---|---|---|---|---|
122000 | GTX 1080 Ti | 512 | 0.01 | 100 | 625 | 0.9 | 89.21% |
[1] Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks