使用特征包方法进行图像类别分类

简介: 使用特征包方法进行图像类别分类。这种技术通常也被称为词袋。视觉图像分类是为受测图像分配类别标签的过程。类别可能包含代表几乎任何东西的图像,例如狗、猫、火车、船。

一、前言
使用特征包方法进行图像类别分类。这种技术通常也被称为词袋。视觉图像分类是为受测图像分配类别标签的过程。类别可能包含代表几乎任何东西的图像,例如狗、猫、火车、船。
二、加载图像数据集
解压缩要用于此示例的图像集合。使用 加载图像集合以帮助您管理数据。由于对图像文件位置进行操作,因此不会将所有图像加载到内存中,因此可以安全地用于大型图像集合。

您可以轻松检查每个类别的图像数量以及类别标签,如下所示:
1.png

请注意,标签派生自用于构造图像数据存储的目录名称,但可以通过手动设置对象的标签属性来自定义。接下来,显示一些图像以了解正在使用的图像类型。
2.png

请注意,要使特征袋方法有效,大部分对象必须在图像中可见。

三、准备训练和验证图像集
将集分为训练数据和验证数据。从每组图像中选择 60% 的图像作为训练数据,其余 40% 的图像用于验证数据。随机化拆分以避免结果偏差。

上面的调用返回两个准备用于训练和验证任务对象。

四、创建视觉词汇表并训练图像类别分类器
词袋是一种适应自然语言处理世界的计算机视觉的技术。由于图像实际上不包含离散词,因此我们首先构建代表每个图像类别特征的“词汇表”。
此外,对象提供了一种计算图像中可视单词出现次数的方法。它产生了一个直方图,该直方图成为图像的新简化表示。
3.png

此直方图构成了训练分类器和实际图像分类的基础。本质上,它将图像编码为特征向量。

来自每个类别的编码训练图像被馈送到函数调用的分类器训练过程中。请注意,此函数依赖于统计和机器学习工具箱™中的多类线性 SVM 分类器。

五、评估分类器性能
现在我们有一个经过训练的分类器,让我们来评估它。作为健全性检查,让我们首先使用训练集对其进行测试,它应该产生近乎完美的混淆矩阵,即对角线上的混淆矩阵。
4.png

接下来,让我们评估分类器,该分类器在训练期间未使用。默认情况下,该函数返回混淆矩阵,这是分类器性能良好的初始指标。

六、在测试图像上尝试新训练的分类器
现在,您可以应用新训练的分类器对新图像进行分类。
5.png

目录
相关文章
|
6月前
|
vr&ar
垃圾分类模型想上maixpy(2)
1-1 关于模型部署,MaixPy文档的这一部分中可能有些有用的参考:部署模型到 Maix-I(M1) K210 系列开发板 - Sipeed Wiki 。 实际用数字图片进行测试时,手写数字识别的模型无法产生正确的输出。
164 1
|
6月前
|
编解码 并行计算 TensorFlow
垃圾分类模型想上maixpy(3)
1-5 对比Params与模型文件实际体积。 结果:模型实际大小与Params大小是可以对上的,参数应该是以float32存储。我把“字节”与“位”搞混了,应该是一个字节为8位。
77 0
|
人工智能 数据可视化 数据处理
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
778 0
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
|
1月前
|
机器学习/深度学习 算法
五、分类模型
五、分类模型
20 0
|
2月前
|
自然语言处理 数据挖掘
数据特征包括分布特征、统计特征、对比特征、帕累托特征和文本特征
数据特征包括分布特征、统计特征、对比特征、帕累托特征和文本特征
90 4
|
2月前
|
机器学习/深度学习 数据挖掘
数据特征
数据特征
71 1
|
4月前
|
机器学习/深度学习 自然语言处理 算法
什么是数据集的分类?
【7月更文挑战第10天】什么是数据集的分类?
474 1
|
6月前
|
机器学习/深度学习 存储 数据可视化
MambaOut:状态空间模型并不适合图像的分类任务
该论文研究了Mamba架构(含状态空间模型SSM)在视觉任务(图像分类、目标检测、语义分割)中的必要性。实验表明,Mamba在这些任务中效果不如传统卷积和注意力模型。论文提出,SSM更适合长序列和自回归任务,而非视觉任务。MambaOut(不带SSM的门控CNN块)在图像分类上优于视觉Mamba,但在检测和分割任务中略逊一筹,暗示SSM在这类任务中可能仍有价值。研究还探讨了Mamba在处理长序列任务时的效率和局部信息整合能力。尽管整体表现一般,但论文为优化不同视觉任务的模型架构提供了新视角。
109 2
|
6月前
|
存储 Python
t-sne方法:观察类别区分度
背景:一个二分类任务。 目的:尝试使用t-sne方法,观察这两个类别是否是可分的。
52 0
|
6月前
|
IDE TensorFlow 开发工具
垃圾分类模型想上maixpy(1)
maixpy笔记 Something 上下拉。应该就是强制高、低电平,可以避免不确定的状态。 模型区没有文件系统,模型之间烧录在指定地址。
121 0