7、SVM实战——SVM手写数字识别

1 图像基础理论

​ 视网膜上分布光线接收的神经细胞,分为锥状体和杆状体。每只眼睛有600万- 700万个锥状体,其对颜色灵敏度很高,负责亮光视觉。有7500万- 15000万杆状体,杆状体没有颜色感觉,负责暗视觉。

在这里插入图片描述

​ 多数传感器的输出是连续的电压波形,图像数字化就是将一副画面的数据转换为计算机能够处理的数字形式。

在这里插入图片描述

​ 采样后得到离散图像的尺寸称为图像分辨率。分辨率是数字图像可辨别的最小细节。分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数,高表示垂直方向的细节数。

在这里插入图片描述

​ 数字图像中的每一个采样点,被称之为像素(Pixel)。像素可以由它在图像中的位置坐标(x,y)来描述。对于一副M∗ N分辨率的数字图像,通常我们把左上角的像素记为原点(0,0)。水平方向的坐标范围是[0,M-1],垂直方向的坐标范围是[0,N-1]。

在这里插入图片描述

灰度

灰度级(depth)表征了每个采样点的传感器输出中可分辨的最小变化。灰度级通常是2的整数次幂。我们用m级或者n位来表示灰度级。图像数据的灰度级越多视觉效果就越好。计算机中最常用的是8位图像。单通道的数字图像被称为灰度图。通常,单通道记录了采样点的亮度信息。

在这里插入图片描述

通道

​ 为了表示彩色图像,我们需要使用多通道数字图像。最普遍的方式是使用RGB颜色空间。RGB颜色空间中每个像素点有三个维度,分别记录在红(Red)、绿(Green)、蓝(Blue)三原色的分量上的亮度 。例如:
按照(r,g,b) 的方式:

  • (255,0,0) 纯红

  • (124,252,0) 草坪绿

  • (135,206,235) 天蓝色

在这里插入图片描述

2 手写数字与SVM结合

2.1 项目实现流程

在这里插入图片描述

  • 对图片进行处理

    • 获取图片数据
    • 标签数据
  • 模型训练

    • 模型调参
    • 模型训练
    • 模型保存
  • 模型测试

    • 调用训练好的模型
    • 获取测试数据集信息
    • 显示测试集数据

2.2 手写数字图片

  • 图像简单:灰度图、尺寸小
  • 多分类:0-9数字识别
  • 差别:风格迥异

在这里插入图片描述

2.3 模型保存处理操作

模型保存库 :joblib , 安装方法

pip install joblib
  • 模型保存语法:joblib.dump(模型对象, ‘模型名称.model’)

  • 模型读取:模型对象 = joblib.load(model_path)

    #!/usr/bin/python3
    #code-python(3.6)
    #导入鸢尾花数据集
    from sklearn import datasets    #导入内置数据集模块
    iris=datasets.load_iris()   #导入鸢尾花的数据集
    x=iris.data    #样本数据共150个,每个样本4个属性分别为花瓣和花萼的长、宽
    y=iris.target  #样本数据的标签,共150个
    
    #训练模型-SVM
    from sklearn import svm  #导入sklearn模块中svm
    model = svm.SVC(gamma=0.1,C=100)    #定义一个svm分类器
    model.fit(x, y)   #用训练集构建模型
    
    #训练模型的保存与恢复
    from sklearn.externals import joblib
    joblib.dump(model,'dump_model.pkl')  #将模型保存到本地
    model2 = joblib.load('dump_model.pkl')  #调入本地模型
    
    #model为用训练集训练好的模型
    score_test = model2.score(x,y)  #计算模型准确度
    print(score_test)
    

3 效果可视化处理

3.1 可视化效果展示

1)主界面效果

在这里插入图片描述

2)点击选择图片按钮

在这里插入图片描述

3)显示预测效果

在这里插入图片描述

4)可视化页面设计

​ 页面UI设计;页面预测效果(调用SVM模型,预测效果,页面展示)

3.2 模型测试

  • 1)获取模型位置并加载

  • 2)获取测试图片路径:将图片和标签进行处理

  • 3)模型预测结果

  • 4)统计用时及准确率

3.3 界面设计

采用可视化页面工具Pyqt5

pip install pyqt5

优势:简单;功能强;跨平台;性能高

  • 1)界面外观:尺寸设计;显示窗口;按钮

  • 2)功能操作:点击显示图片功能;窗口回调功能

若需需项目代码可私聊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

healed萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值