手写数字识别器 已完结
课程介绍
本课程专为零基础学员打造,从基础到进阶,全面覆盖核心知识点,学完即可掌握相关技能。
手写数字识别是计算机视觉领域的经典问题之一,具有广泛的应用。本课程将深入介绍使用支持向量机(SVM)技术来构建一个高效的手写数字识别系统。学生将学习如何使用SVM进行分类,以及如何提取和使用 HOG 特征来实现数字图像的准确识别。课程目标如下: 学习和应用支持向量机算法进行算法模型训练和推理 学习和…
我们的开发环境:Win11 + PyCharm 2021.1.3 + Python 3.8.5 https://mengbaoliang.cn/?p=68695 使用下面的命令创建虚拟环境 digit-env: mkvirtualenv digit-env -p python3.8 在虚拟环境中,安…
在我们的《手写数字识别》项目中,需要提供一个用于手写数字的绘图板作为用户界面,便于获得用户手写的数字输入算法模型以便能够进行识别。这一章节,我们主要介绍关于绘图板开发过程中用到的相关技术。主要包括: 画布构建图形绘制相关事件 1. 画布构建 在 Tkinter 中各种图形的绘制需要在画布上进行,构建…
前面我们已经学习了 Tkinter Canvas 控件相关的技术,现在我们将会使用前面学习的内容来实现用于手写数字的绘画板。绘画板主要包括四个部分,分别是: 主窗口界面顶部工具栏中心绘画区底部状态栏 1. 主窗口界面 主界面编写时,包括三个文件: Config.py 配置文件MainFrame.py…
《手写数字识别》项目基于支持向量机算法的,该算法的背后有着坚实的数学理论作为支撑,为算法的有效性和可靠性提供了坚实的基础。接下来,我们将会从以下第五个方面来讲解: 算法思想初探算法训练内容算法推理过程惩罚参数作用核函数的作用 1. 算法思想初探 一共有 13 个样本(二维向量), 6 个红色的、7 …
《手写数字识别器》中会应用支持向量机算法、以及相关的参数搜索方法。这两个在 Scikit-Learn 中都有实现。这一节,我们将会学习两个相关的 API 的使用。 数据介绍算法使用网格搜索 1. 数据介绍 鸢尾花数据集是一个非常有名的机器学习数据集,它由美国统计学家 R.A. Fisher 收集。这…
这一节,我们主要给大家讲解图像相关的基础知识,以及操作方法。 1. 图像知识 图像可以被视为一系列像素的集合,每个像素分别对应 0 到 255 之间的整数,0 表示黑色,255 表示白色。图像可以根据其颜色模式分为灰度图像和彩色图像、二进制图。 灰度图像(又称为黑白图像)只有一个分量表示像素的颜色,…
经过前面的准备,我们将会进行初次的算法模型训练以及封装,并测试效果。从中去分析不足,然后在后续内容中针对不足进行优化。 import numpy as np from sklearn.svm import SVC import cv2 from skimage import io import gl…
在先前的训练阶段,我们发现算法模型在训练集上达到了1.0的准确率,然而,其在测试集上的表现却不尽如人意,这暗示着模型可能出现了过拟合现象。 我们的算法模型是直接依据每个数字图像的像素数据进行学习的。因此,当遇到新的数字图像时,只要像素的位置或值稍有变动,就可能导致预测结果的不准确。 例如,在训练过程…
经过第八章节的特征优化,我们的手写数字识别准确率有着明显的提升。但是仍然存在一个显而易见的问题,即:我们绘制的数字是对位置很敏感的。接下来,我们将会去探讨解决这一问题的方法。 1. 图像数据增强 数据增强是一种通过对训练图像进行一系列随机改变,从而扩大训练数据集规模的技术。这种技术的核心目标是降低模…
https://mengbaoliang.cn/archives/68483 1. Windows 打包步骤 首先,进入到项目根目录下然后,在项目根目录下执行命令:接着,拷贝 source、data、model 目录到 dist 目录下,保证和 exe 同级目录最后,可以分发给没有 Python 环…
冀公网安备13050302001966号