当前位置:  开发笔记 > 编程语言 > 正文

感知器可以用来检测手写数字吗?

如何解决《感知器可以用来检测手写数字吗?》经验,为你挑选了2个好方法。

假设我有一个小位图,其中包含一个手写的数字(0..9).

是否可以使用(双层)感知器检测数字?

除了使用神经网络之外,还有其他可能从位图中检测单个数字吗?



1> Nick Fortesc..:

这是一个庞大的手写数字数据库的链接.首页还具有许多不同方法的相对性能数据,包括2层神经网络.这应该给你一个良好的开端: MNIST数字数据库和性能

您可能还想看看Geoff Hinton关于Restricted Boltzmann Machines的工作,他说这些工作表现相当不错,而且他的网站上有一个很好的解释性演讲(非常容易观看).



2> flodin..:

将位图的每个像素直接馈送到神经网络中将需要大量训练,并且不能很好地处理图像的缩放或旋转.

为了帮助神经网络执行良好的分类,您需要执行一些预处理步骤.

标准化图像:

调整对比度和亮度,使图像的直方图与参考图像匹配.

模糊图像,消除噪音.

使用一些阈值将其转换为黑白.

找到形状的边界框,缩放到预定义的大小.

计算可用于区分一个数字与另一个数字的图像的各种功能:

图像的欧拉数 - 告诉您形状中有多少个"孔"(例如,数字8的两个孔).

白色像素数(数字区域)

白色像素坐标集的主要组成部分 - 告诉您形状是如何"拉长"的.

...您可以想到的其他功能往往具有类似数字的相似值.

主要成分也可用于标准化形状的旋转,使得最长轴是垂直的.

这些功能是您输入神经网络进行分类的,而不是像素.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有