python图像分类实验总结_图像分类的5种技术,总结并归纳算法、实现方式,并进行实验验证...

本文总结了图像分类的5种技术,包括KNN、SVM、BP神经网络、CNN和迁移学习。通过实验对比,展示在图像分类任务中,深度学习方法如CNN和迁移学习相比于传统机器学习算法具有更好的性能。实验使用了TensorFlow构建CNN,以及重新训练Inception V3模型。结果显示,虽然KNN和SVM在小数据集上表现不佳,但深度学习方法在处理复杂图像分类问题时表现出色,特别是迁移学习,能够在有限时间内达到高精度。
摘要由CSDN通过智能技术生成

本文为你介绍图像分类的5种技术,总结并归纳算法、实现方式,并进行实验验证。

图像分类问题就是从固定的一组分类中,给输入图像分配标签的任务。这是计算机视觉的核心问题之一,尽管它看似简单,却在实际生活中有着各种各样的应用。

传统方式:功能描述和检测。

也许这种方法对于一些样本任务来说是比较好用的,但实际情况却要复杂得多。

因此,我们将使用机器学习来为每个类别提供许多示例,然后开发学习算法来查看这些示例,并了解每个类的视觉外观,而不是试图直接在代码中指定每一个大家感兴趣的类别是什么样的。

然而,图像分类问题就是一个非常复杂的工作,它总是借用诸如卷积神经网络(CNN)这样的深度学习模型来完成。但我们也知道,通常我们在课堂中学习到的,诸如KNN(邻近算法)和SVM(支持向量机)这样的许多算法,在数据挖掘问题上做得非常好,但似乎它们有时也不是图像分类问题的最佳选择。

因此,我们想要比较一下我们在课堂中学到的算法与CNN和迁移学习算法的性能。

目标

我们的目标是:

将KNN、SVM和BP神经网络,与通常用于工业中图像分类问题的算法进行比较,例如CNN和迁移学习。

获得深度学习的经验。

通过Google的TensorFlow来探索机器学习框架。

算法和工具

我们在这个项目中使用的5种方法分别是KNN、SVM、BP神经网络、CNN,以及迁移学习。

整个项目主要分为3种方法。

第一种方法:使用KNN、SVM和BP神经网络,这是我们在课堂上学到的算法,功能强大而且易于实施。我们主要使用sklearn来实现这些算法。

第二种方法:虽然传统的多层感知器(MLP)模型成功地应用于图像识别,但由于节点之间的完全连通性受到维度灾难的影响,因此不能很好地扩展到更高分辨率的图像。所以在这一部分我们使用Google的TensorFlow深度学习框架来构建一个CNN。

第三种方法:重新训练预先训练的深层神经网络的最后一层(称为Inception V3),同样也是由TensorFlow来实现。Inception V3是为ImageNet大型视觉识别挑战而进行的训练,数据从2012年开始采集。这是计算机视觉中的标准任务,其中模型尝试将整个图像分为1000个类别,如“斑马”、“斑点狗”和“洗碗机”。为了重新训练这个预先训练网络,我们需要确保我们自己的数据集尚未被预先训练。

如何实现

第一种方法:

预处理数据集,并用sklearn来运行KNN、SVM和BP神经网络。

首先,我们使用openCV包定义了两种不同的预处理函数:第一个称为图像特征向量,调整图像大小,然后将图像平坦化为行像素列表。第二个称为提取颜色直方图,使用cv2.normalize从HSV颜色间距中提取3D颜色直方图,然后平坦化结果。

然后,我们构造需要解析的几个参数,因为我们要测试这个部分的准确性,不仅是针对整个数据集的,还要测试具有不同数量标签的子数据集,我们将数据集构造为解析到我们程序中的参数。与此同时,我们还构造了用于k-NN方法的相邻数作为解析参数。

做好这些之后,我们开始提取数据集中的每个图像特征并将其放入数组中。我们使用cv2.imread来读取每个图像,通过从图像名称中提取字符串来拆分标签。在我们的数据集中,我们使用相同的格式设置名称:“类标签”.“图像号”.jpg,因此我们可以轻松地提取每个图像的类标签。然后我们使用之前定义的2个函数来提取2种特征,并附加到数组rawImages和特征中,而我们之前提取的标签则附加到数组标签。

下一步是使用从sklearn包导入的函数tra

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值