多语言展示
当前在线:240今日阅读:23今日分享:31

怎么获得大量的类似于手写数字训练数据?

MNIST是用来训练手写数字的主要数据来源,且数据量比较大。然而,真实的情况是,这么多数据,却仍旧是杯水车薪。训练人工智能所需要的数据,不仅要量大,而且还需要多样化。每个人都有不同的笔迹,相同的数字,不同的人会写出不同的模样。而计算机如果只是一直对照某一个人的笔迹进行训练,那么,只能得到专属于他的数字识别系统。本文,就来介绍一下,怎么获得手写数字训练数据。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

数据的一个直接来源,就是手写数字。让你的家人和朋友都来写一些数字,数字形状和大小、颜色可以多样化,使得数据尽量的丰富一些。

2

然而,这种手写数字实在是难以使用,因为我们要把每一个数字截图,显然不是一个容易的工作。好在,我发现,网上有许多数度游戏的图片。那么,我们可以使用数度游戏里面的数字,来进行数据提取。

3

Mathematica可以分割图片:ImagePartition[img]我们只需要界定出每一个小方格的尺寸就行了。

4

然后,我们再把每一个小图片边界上的黑边裁掉,就是一组完美的数字图片。

5

可以把空白的,视为0。实际上,这是允许的,因为数度图片里面不会出现数字0,而计算机在解数独问题的时候,都是把空白的位置视为0。

6

数独图片风格各异,但是有一点是几乎不会变的,那就是,里面的数字排列是整齐的。因此,这个方法,适用于任意数独图片。如下图。

7

我们还可以对每一个小图形进行简单的共形变换,这样就可以获得更多的数据。

注意事项
1

其实,你还可以用多种方法获得数据,比如:

2

改变数据图片的大小;

3

弄一个整齐的表格,让你的朋友在里面任意填写数字,只要不出界,就可以。

4

表格的分割线的颜色尽量浅一点,可以省去裁剪边界的烦恼。

5

改变数字的颜色,也有可能实现增加数据量。

推荐信息