Neural Network trained to detect consistent-font numbers amongst large dataset complex images.
Screenshot Gallery...
| Class | # of Training Images |
|---|---|
| Zero | 1368 |
| One | 588 |
| Two | 144 |
| Three | 109 |
| Four | 105 |
| Five | 184 |
| Six | 119 |
| Seven | 324 |
| Eight | 558 |
| Nine | 493 |
| Layer # | Specific Type | Settings |
|---|---|---|
| 0 | Random Flip | |
| 1 | Random Rotation | |
| 2 | Random Zoom | |
| 3 | Rescaling | |
| 4 | 2D Convolutional |
|
| 5 | 2D Max Pooling | |
| 6 | 2D Convolutional |
|
| 7 | 2D Max Pooling | |
| 8 | 2D Convolutional |
|
| 9 | 2D Max Pooling | |
| 10 | Dropout |
|
| 11 |
| |
| 12 |
|
Initial Training:
Initially, the algorithm was applied to separate all number within the image (as determined by the strongest found contours).
Self-supported Training:
With a functional, yet inaccurate network running, a classification was run on all images in the set.
The results were then manually filtered, creating a significantly large set of accurate data.
The neural network training is run on this larger dataset, creating a significantly higher accuracy.
Correctly Identify all 4 numbers: 1294/1324 (97.734%)
Correctly Identify all 4 non-corrupted numbers: 1300/1324 (98.187%)
With the accuracy of the neural network, it appears that the error lies in incorrectly canny-edged images. Different threshvalues or a blurring method may provide an increase in accuracy