使用deeplearning4j实现手写数字识别

项目地址:https://github.com/acgist/aimldl/tree/master/number-ocr

项目使用的是deeplearning4j,训练数据使用的是mnist

首先识别效果:0123458识别度非常高,679这三个数字出错率比较高。

效果如下:

OCR

模型训练的结果:

deeplearning4j手写数字识别模型评估

然后是手写的图片处理,使用的是jSignature这个JS插件,生成的是PNG的图片,没有背景色,所以第一步就是添加背景色。

然后图片二值化和反色,因为mnist的图片是黑色背景白色字。

最后把图片缩小成28px的正方形。

这里还做了一个处理,就是图片缩小后白色不是很明显,这里也做了一点润色,就是将图片除了黑色的背景其他颜色全部转换为白色。
如下:

OCR
OCR
OCR
OCR