基于matlab使用 HOG 功能和多类 SVM 分类器对数字进行分类(附源码)

news2024/11/16 19:34:19

一、前言

此示例说明如何使用 HOG 功能和多类 SVM 分类器对数字进行分类。

对象分类是许多计算机视觉应用中的一项重要任务,包括监控、汽车安全和图像检索。例如,在汽车安全应用程序中,您可能需要将附近的对象分类为行人或车辆。无论要分类的对象类型如何,创建对象分类器的基本过程是:

  • 获取带有所需对象图像的标记数据集。

  • 将数据集分区为训练集和测试集。

  • 使用从训练集中提取的特征训练分类器。

  • 使用从测试集中提取的特征测试分类器。

为了说明这一点,此示例展示了如何使用 HOG(定向梯度直方图)特征和多类 SVM(支持向量机)分类器对数字进行分类。这种类型的分类通常用于许多光学字符识别 (OCR) 应用程序。

二、数字数据集

合成数字图像用于训练。每个训练图像都包含一个被其他数字包围的数字,这模仿了数字通常一起看到的方式。使用合成图像很方便,它可以创建各种训练样本,而无需手动收集它们。对于测试,手写数字扫描用于验证分类器对与训练数据不同的数据的性能。虽然这不是最具代表性的数据集,但有足够的数据来训练和测试分类器,并显示该方法的可行性。

用于将与每个标签关联的图像数制成表格。在此示例中,训练集由 101 位数字中的每一个的 10 张图像组成。测试集由每个数字 12 张图像组成。

显示一些训练和测试图像

在训练和测试分类器之前,将应用预处理步骤来消除收集图像样本时引入的噪声伪影。这为训练分类器提供了更好的特征向量。

三、使用 HOG 功能

用于训练分类器的数据是从训练图像中提取的 HOG 特征向量。因此,确保 HOG 特征向量编码有关对象的适量信息非常重要。该函数返回一个可视化输出,可以帮助形成一些关于“适量信息”含义的直觉。通过改变 HOG 像元大小参数并可视化结果,您可以看到像元大小参数对特征向量中编码的形状信息量的影响。

可视化显示,单元格大小 [8 8] 不会编码太多形状信息,而单元格大小 [2 2] 编码大量形状信息,但显著增加了 HOG 特征向量的维数。一个很好的折衷方案是 4 x 4 的像元大小。此大小设置编码足够的空间信息以直观地识别数字形状,同时限制 HOG 特征向量中的维度数,这有助于加快训练速度。在实践中,应通过重复的分类器训练和测试来改变HOG参数,以确定最佳参数设置。

四、训练数字分类器

数字分类是一个多类分类问题,您必须将图像分类为十个可能的数字类中的一个。在此示例中,统计和机器学习工具箱™中的函数用于使用二进制 SVM 创建多类分类器。

首先从训练集中提取 HOG 特征。这些功能将用于训练分类器。接下来,使用提取的特征训练分类器。

五、评估数字分类器

使用测试集中的图像评估数字分类器,并生成混淆矩阵以量化分类器的准确性。

与训练步骤一样,首先从测试图像中提取 HOG 特征。这些功能将用于使用经过训练的分类器进行预测。

该表以百分比形式显示混淆矩阵。矩阵的列表示预测的标签,而行表示已知标签。对于此测试集,数字 0 经常被错误分类为 6,很可能是由于它们的形状相似。在 9 和 3 中也可以看到类似的错误。与使用此合成数据集创建的分类器相比,使用更具代表性的数据集(如 MNIST [2] 或 SVHN [3])进行训练,其中包含数千个手写字符,可能会产生更好的分类器。

六、总结

此示例演示了使用计算机视觉工具箱中的函数和统计和机器学习工具箱中的函数创建多类对象分类器的基本过程。尽管这里使用了 HOG 特征和 ECOC 分类器,但其他特征和机器学习算法可以以相同的方式使用。例如,您可以探索使用不同的特征类型来训练分类器;或者,您可以看到使用统计和机器学习工具箱™中提供的其他机器学习算法(例如 k 近邻)的效果。

七、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

程序下载:基于matlab使用HOG功能和多类SVM分类器对数字进行分类资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS Linux的最佳替代方案(一)_Rocky Linux OS 8.6基础安装教程

CentOS Linux的最佳替代方案(一)_Rocky Linux OS 8.6基础安装教程 一 Rocky Linux介绍和发展历史 Rocky Linux 官网:https://rockylinux.org/ 在CentOS官方宣布停止Centos的维护之后,Centos的创始人Gregory Kurtzer宣布启动新的…

2023年上半年部分团队的总结

(目前还是草稿版本) 写作,慢思考: 软件团队每天有繁忙的工作,有很多待办事项,会议,口头交流,线上的 bug 要处理,报表要生成和解释… … 一个月过去了,正想总…

数字化远传表计实验的记录

国网去年4月份出了一个《智慧变电站技术规范第 4 部分:数字化远传表计(试行版)》,对SF6数字化密度表、避雷器数字化泄漏电流表、变压器数字化油温计等设备数据通信做了要求。数字化感知单元与监测模块之间宜采用有线通信方式&…

深度学习:什么是多层感知机(神经网络)

文章目录 1.神经网络2.反向传播算法3.激活函数4.损失函数5.神经网络的使用场景参考 1.神经网络 神经网络是一种计算模型,它受到人脑神经元之间连接和信息处理方式的启发。它由许多简单的处理单元(称为神经元或节点)组成,并通过这…

innovus/ICC2:如何copy metal shape/via

如题,两家工具复制metal shape和via都可以用快捷键C,其中innovus还支持在复制过程中按"F3",调整复制的次数。 这里主要说一下命令: ICC2: copy_objects -x_pitch/y_pitch $pitch \ -x_times/-y_times $times \ [get_selection]/[get_shapes xx]/[get_v…

QWidget的相关API函数

目录 QWidget的相关API函数 设置父对象 窗口位置 窗口尺寸 窗口标题和图标 信号 槽函数 示例1(设置窗口大小): 示例2(移动窗口,修改窗口,获取窗口位置信息): 示例3 &#x…

微信:注意要收费了!

目录 收费说明手机号快速验证组件手机号实时验证组件付费管理修改建议 收费说明 自2023年8月26日起,小程序获取手机号组件将需要付费使用。 手机号快速验证组件 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html 新版…

跳跃与舞动:解密力扣之谜,最少操作使数组递增

本篇博客会讲解力扣“1827. 最少操作使数组递增”的解题思路,这是题目链接。 从前往后遍历数组,从下标为1的元素(第二个元素)开始,若该元素不超过前一个元素,则把该元素改成前一个元素加1后的值。把每个元素…

牛客网KY222 打印日期

KY222 打印日期 描述示例解题思路及代码 描述 给出年分m和一年中的第n天&#xff0c;算出第n天是几月几号。 输入描述&#xff1a; 输入包括两个整数y(1<y<3000)&#xff0c;n(1<n<366)。 输出描述&#xff1a; 可能有多组测试数据&#xff0c;对于每组数据&…

【2023年江西省研究生数学建模竞赛】题目二 国际“合作-冲突”的演化规律研究 建模方案及参考文献

代码与结果如下&#xff1a;完整文档见文末 相关思路请点击原文章查看 题目&#xff1a;国际“合作-冲突”的演化规律研究 国家之间的“合作-冲突”行为具有复杂性和多变性&#xff0c;对其决策模式的研究有着重要的意义。例如&#xff0c;对国际冲突和危机的准确预测可以帮…

SpringBoot:整合 Minio 文件上传操作

简介 对象存储服务OSS&#xff08;Object Storage Service&#xff09;是一种海量、安全、低成本、高可靠的云存储服务&#xff0c;适合存放任意类型的文件。容量和处理能力弹性扩展&#xff0c;多种存储类型供选择&#xff0c;全面优化存储成本&#xff0c;今天我这里主要讲解…

C++ 面向对象程序设计 14万字总结笔记

文章的索引都在目录处可以找到 学好C可以采取以下几个步骤&#xff1a; 掌握基本语法&#xff1a;C的语法对于初学者来说可能是一件比较难的事情&#xff0c;所以需要花时间掌握C的语言基础和语法规则&#xff0c;例如数据类型、流程控制、函数等。 学会面向对象编程(OOP)&a…

6.28 内存分配/管理 学习总结

一、通过程序验证系统内存分配机制 1、实验&#xff1a; 两个char 指针&#xff0c;连续先后在内存中各申请100、102个字节&#xff0c; 它们实际上会占用多少字节的内存空间&#xff1f; 如果两个char 指针&#xff0c;连续先后在内存中各申请200个字节&#xff0c; 它们实…

青大数据结构【2017】【综合应用、算法分析】

关键字&#xff1a; 平衡二叉树、平均查找长度、单链表、二叉树中序遍历非递归 三、综合应用 平衡二叉树AVL定义&#xff1a;任意节点的子树的高度差都小于等于 1 ASL&#xff08;12*24*3&#xff09;/717/7 四、算法分析

APA 参考页格式 | 第六版指南

参考页&#xff1a;文章最后列出所有的参考文献的页面。引用&#xff1a;指在文章正文中进行引用。 APA 参考页是论文末尾的一个单独页面&#xff0c;其中列出了您在正文中引用的所有来源。参考文献按字母顺序排序&#xff0c;双倍行距&#xff0c;并使用1/2 英寸的悬挂缩进进行…

接口自动化测试中,文件上传该如何测试?

在服务端自动化测试过程中&#xff0c;文件上传类型的接口对应的请求头中的 content-type 为 multipart/form-data; boundary...&#xff0c;碰到这种类型的接口&#xff0c;使用 Java 的 REST Assured 或者 Python 的 Requests 均可解决。 实战练习 Python 版本 在 Python …

初识Go语言24-数据结构与算法【链表、栈】

文章目录 数据结构与算法链表栈 数据结构与算法 链表 ---手写单链表 type Node struct {Info intNext *Node }type List struct {Head *NodeLen intTail *Node }func (list *List) Add(ele int) {node : &Node{Info: ele, Next: nil}if list.Len 0 {list.Head nodelist…

基于WebSocket的简易聊天室的基本实现梳理

一&#xff0c;前言 目前在很多网站为了实现推送技术所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔&#xff08;如每1秒&#xff09;&#xff0c;由浏览器对服务器发出HTTP请求&#xff0c;然后由服务器返回最新的数据给客户端的浏览器。HTTP 协议是一种无状态的、无连…

轨道交通车体自动化检修测量大尺寸测量仪器-CASAIM激光三维扫描仪

现今我国轨道交通高速发展&#xff0c;重大装备技术的进步离不开先进的大尺寸测量手段支持&#xff0c;CASAIM大尺寸测量在测量环境、测量精度和测量效率上明显区别于常规尺寸测量&#xff0c;可以快速检测车体表面的尺寸变形等问题&#xff0c;实现高精度、高效率的自动化车体…

(质数)牛客·Prime Distance

非质数的一个性质&#xff1a; 必定有一个因子大于它的算术平方根。 该性质有范围限制&#xff0c;一般情况下都可以使用。以后数学家们再扩张。碰到质数的一般做法&#xff1a;假定范围为[1,n] 1、预处理1-√n的质数&#xff0c;存入数组p中 2、对于[1-n]里的数&#xff0c;用…