图像分类基础与实战

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 图像分类基础与实战(1)

理论

什么是图像分类?

图像分类指将不同图像划分为不同类别标签的过程。从计算机的视角来看,一张图片是一个值从0到255的矩阵,计算机对矩阵进行分析,得到类别结果,即计算机视觉的图像分类。

图像分类是计算机视觉领域最基础的问题,解决的问题是:给定一个图像,正确地给出图像所属类别,是最底层、最基本的任务,常作为其他任务的预处理或与其他任务融合在一起,目标检测也是图像分类的子任务。

可以说,计算机视觉基础模型的发展是图像分类提升任务的发展,做好图像分类任务,关系到后续更高阶的内容。

图像分类的应用场景非常丰富,比如图像识别APP,能够识别动物、植物,汽车的车型,水果、蔬菜等;比如iPhone手机上自带的照片自动分类功能;比如电商平台图像内容检索,用户每天可能会上传几万张鞋子图片,后台需要将照片进行分类处理,建立数据库,用户进行图像搜索时,能够实现更精准的搜索;另外,也可用于垃圾分类等场景。

总的来说,图像分类是用于识别某张图片是否为某个物体/状态/场景,适合图像中的主题或状态单一的场景。

图像的领域划分主要有:

  • 多类别图像分类,指每个图像只属于其中一个类别,比如一张图像只能属于猫或只能属于狗。特点为具有较大的类间方差,较小的类内误差,是图像分类中最简单最基本的任务。

  • 细粒度图像分类,比如两张图像中都是猫,但属于不同品种的猫,具有相似的外观和特征,类内差异比较大,因此分类难度更高。

  • 多标签图像分类:每个图像都拥有两种以上的类别,比如一张图中既有猫也有狗,因此标签类别既是猫也是狗。

  • 根据监督信息的不同,分为有监督、弱监督、无监督、自监督等学习:
  • 弱监督学习是机器学习中最经典的任务之一,在训练集中只有少数的标签数据,大部分为未标签数据,训练出的模型用来预测的测试集中有可能是有标签的,也有可能是无标签的;
  • 无监督图像分类指训练集中都是无标签的数据,训练出的模型用来预测的测试集中都是没有标签的。

  • 0样本图像分类:也称为0样本学习模型,能够识别出训练阶段没有出现过的类别,即训练集和测试集在数据的类别上没有交集,是解决类别标签缺失的一种方法。比如图像中训练的数据只有马、老虎和熊猫三个类别的数据,0样本图像分类会通过已有的知识,比如马、老虎与熊猫的描述,对同时拥有马的形状、老虎的斑纹、熊猫的黑白颜色特征的动物识别为斑马。 0样本图像分类指利用类别的高维语义特征来代替样本的低维特征,使得训练出来的模型具有迁移性。比如斑马的高维语义指马的外形、老虎的斑纹和熊猫的颜色,通过高维的语义刻画了斑马类别的特征,从而识别出模型从来没有见过的斑马图像。

传统图像分类的过程为:输入一张图片,手工提取特征,再使用分类器进行分类,最终输出分类的结果。

深度学习的图像分类过程为:将特征提取和分类器合并在一起,输入一张图像,自动提取特征,输出分类结果,是端到端的识别过程。

传统的图像分类与深度学习的图像分类过程大致一样,都是数据的预处理、特征提取、分类的过程。

上图为图像分类常用的评估指标。

标签值和预测值之间会产生4种组合,分别是:

  • TP:标签为正样本,预测也为正样本。说明模型预测正确,是真正的正样本,也说明模型能够正确识别正样本。

  • FN:标签为正样本,预测值为负样本,说明预测错误,是假的负样本。属于漏报了正样本。

  • FP:标签为负样本,预测值为正样本,说明预测错误,是假的正样本。属于误报了负样本。

  • TN:标签为负样本,预测也为负样本,说明模型正确预测了负样本,是真的负样本。

精度(也称为查准率)的定义为:预测为正样本的所有样本中,真正的正样本所占比例,P=TP/(TP+FP)。

召回率(也称为查全率)指预测为正样本的样本占所有正样本的比例,R=TP/(TP+FN)。

F1-score指综合考虑精度和召回率,是两者的调和平均,F1=2*P*R/(P+R)。

PR曲线是描述精度和召回率关系的曲线,横坐标是召回率,纵坐标是精度。精度和召回率是一对相互矛盾的指标,如果召回率增加,则精度下降;如果精度增加,则召回率下降。曲线和坐标轴围成的面积越大,说明模型的性能越好。但PR曲线对正负样本不均衡较为敏感,正负样本类别差异较大时,PR曲线会变化较严重。

为了解决PR曲线的问题,业内提出了ROC曲线,它涉及到两个基本指标,分别是:

  • TPR:指预测的正样本中真实的正样本占所有正样本的比例。
  • FPR:指预测的负样本中真实的负样本占所有负样本的比例。

ROC曲线对正负样本的不平衡问题不敏感。ROC曲线下的面积被称为AUC,AUC越大,说明模型的性能越好。ROC表示随机挑选正样本和负样本,分类器对正样本给出的预测值高于负样本的概率。

混淆矩阵描述了多类别分类模型各个类别之间的分类情况。

对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器预测为第j类的数量。混淆矩阵是分类任务常用的评估指标。对角线上是正确分类的样本数,其他是错误分类的样本数。对对角线上的值越大,说明正确率越高。

混淆矩阵可以非常直观地展示模型的表现情况,尤其是不同类别之间的混淆情况,能够清晰地反映出某样本会以多大概率被分为其他类别,直观地展示哪些类别之间比较容易混淆。

比如上图中的“21”表示标签值的类别为b、却被预测为d类别的样本数,说明模型很容易将类别b识别成类别d,需要针对性地对该种情况进行调整。

上图为图像分类常用的优化指标。

0-1损失指当预测值等于标签值时损失为1,否则损失为0。0-1损失也是非常直观的损失定义,是真实的优化目标。但无法求导,且不连续,无法进行反向传播,只有理论意义。

学术界更常用的是以熵为代表的分类损失。

熵表示热力学系统的无序程度,在信息学中用于表示信息的多少。不确定性越大,概率越低,则表示携带的信息越多,熵也越高。

常用的分类损失是交叉熵,用于衡量两个概率分布之间的相似性。假设有n个样本、m个类别,yij表示第i个样本,属于第j类的标签,f(Xij)表示第i个样本预测为第j类的概率。

可以将yij看作标签的概率分布,f(Xij)看作分类模型预测值的概率分布,交叉熵衡量主要用于两个概率分布之间的相似程度。

Softmax损失指:当f(Xij)为Softmax函数时,Softmax损失是交叉熵损失的特例。

KL散度通常用来估计两个分布之间的相似性。假设有两个分布p和q,则KL散度等于p和q的交叉熵加上p和p的交叉熵的负值。如果p是一个已知的分布,则-l(p,p)是一个常数,此时的KL散度与交叉熵l(p,q)只相差一个常数,因此它们是等价的。

上图为经典的开源数据集。其中PASCAL数据集常用于目标检测,也可以用来做图像的分类。ImageNet是图像分类最重要的数据集,很多的论文都将其作为训练后的测试基准。


相关文章
|
机器学习/深度学习 算法 自动驾驶
使用机器学习进行图像分类的简介
在现代技术的发展中,图像处理和图像分类一直是一个热门的领域。随着机器学习的兴起,越来越多的人开始使用机器学习算法来解决图像分类问题。本文将介绍如何使用机器学习进行图像分类,并讨论其中的关键步骤和技术。
361 1
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习:从基础到实战
【9月更文挑战第23天】本文将带你走进深度学习的世界,从基本概念到实际应用,一步步揭示深度学习的神秘面纱。我们将通过实例和代码示例,帮助你理解和掌握深度学习的核心技术和方法。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起探索深度学习的奥秘吧!
49 0
|
5月前
|
机器学习/深度学习 API 计算机视觉
如何使用深度学习实现图像分类
深度学习在图像分类中扮演着核心角色,通过卷积神经网络(CNN)自动提取图像特征并分类。本文介绍深度学习原理及其实现流程,包括数据准备、构建CNN模型、训练与评估模型,并讨论如何在阿里云上部署模型及其实用场景。
|
7月前
|
机器学习/深度学习 数据可视化 TensorFlow
【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存
【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存
|
8月前
|
机器学习/深度学习 监控 算法
|
8月前
|
机器学习/深度学习 数据采集 测试技术
|
机器学习/深度学习 存储 人工智能
图像分类基础(二)
图像分类基础(二)
134 0
|
机器学习/深度学习 存储 数据采集
图像分类基础(一)
图像分类基础(一)
241 0
|
机器学习/深度学习 编解码 算法
卷积神经网络入门基础
卷积神经网络入门基础
107 0
卷积神经网络入门基础

热门文章

最新文章