artificial-intelligence - 可以使用感知器来检测手写数字吗?

标签 artificial-intelligence ocr neural-network pattern-recognition perceptron

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

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

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

最佳答案

将位图的每个像素直接输入到神经网络将需要大量的训练,并且在处理图像的缩放或旋转方面效果不佳。

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

  • 标准化图像:
  • 调整对比度和亮度,以使图像的直方图与引用图像匹配。
  • 使图像模糊,以消除噪点。
  • 使用一些阈值将其转换为黑白。
  • 查找形状的边界框,将其缩放到预定义的大小。
  • 计算图像的各种特征,这些特征可用于将一个数字与另一个数字区分开:
  • 图片的Euler number —告诉您形状中有多少个“孔”(例如,数字8的两个孔)。
  • 白色像素数(数字区域)
  • 白色像素的坐标集的principal components —告诉您形状的“伸长度”。
  • ...您可以想到的其他功能对于相似的数字往往具有相似的值。

  • 主成分也可以用于标准化形状的旋转,以使最长的轴垂直。

    功能是输入到神经网络进行分类的内容,而不是像素。

    关于artificial-intelligence - 可以使用感知器来检测手写数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552940/

    相关文章:

    algorithm - NLP,用于确定文本 block 是否为 "similar"的算法(已经匹配关键字后)

    python - 尝试在 tensorflow 中创建 OCR,字母训练后要做什么?

    python - 值错误 : The shape of the input to "Flatten" is not fully defined

    c++ - Caffe C++ - 访问其他层中的数据

    python - 神经网络在数字序列中寻找模式

    python-3.x - 使用 tf.reshape() 时出现无效参数错误

    c++ - 编程在人工智能中的应用

    r - 用 R 做 OCR

    tomcat - tess4j 不适用于 64 位 JDK 的 Web 应用程序

    artificial-intelligence - 如何在 Q-Learning 中使用 MinMax 树?