写点什么

多标签图像分类综述

  • 2019-11-22
  • 本文字数:4118 字

    阅读完需:约 14 分钟

多标签图像分类综述

图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当图片中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标签图像分类这一方向,了解更具难度的图像分类。

简介

随着科学技术的进步与发展,图像作为信息传播的重要媒介,在通信、无人驾驶、医学影像分析、航天、遥感等多个领域得到了广泛的研究,并在国民社会、经济生活中承担着更加重要的角色。人们对图像研究的愈发重视,也促使计算机视觉领域迎来了蓬勃发展的黄金时代。


作为计算机视觉领域的基础性任务,图像分类是目标检测、语义分割的重要支撑,其目标是将不同的图像划分到不同的类别,并实现最小的分类误差。经过近 30 年的研究,图像分类已经成功应用至社会生活的方方面面。如今,在我们的生活中随处可见——智能手机的相册自动分类、产品缺陷识别、无人驾驶等等。



根据分类任务的目标不同,可以将图像分类任务划分成两部分:(1)单标签图像分类;(2)多标签图像分类。


单标签图像分类是指每张图片对应一个类别标签,根据物体类别的数量,又可以将单标签图像分类划分成二分类、多类别分类。如下图所示,可以将该图的标签记为海洋,通过单标签图像分类我们可以判定该图像中是否含有海洋。


然而,现实生活中的图片中往往包含多个类别的物体,这也更加符合人的认知习惯。我们再来观察下图,可以发现图中不仅包含海洋,还包括了海豚。多标签图像分类可以告知我们图像中是否同时包含这些内容,这也能够更好地解决实际生活中的问题。


传统机器学习算法

机器学习算法主要包括两个解决思路:


(1) 问题迁移,即将多标签分类问题转化为单标签分类问题,如将标签转化为向量、训练多个分类器等;


(2) 根据多标签特点,提出新的适应性算法,包括 ML-KNN、Ranking SVM、Multi-label Decision Tree 等。现对其中具有代表性的算法进行总结。

问题迁移

问题迁移方法的主要思想是先将多标签数据集用某种方式转换成单标签数据集,然后运用单标签分类方法进行分类。该方法有可以包括基于标签转换和基于样本实例转换。

基于标签转换

针对每个标签,将属于这个标签的所有实例分为一类,不属于的分为另一类,将所有数据转换为多个单标签分类问题(如下图)。典型算法主要有 Binary Relevance 和 Classifier Chain 两种。


基于样本实例转换

这种方法是将多标签实例分解成多个单标签实例。如下图所示。实例 E3 对应标签 y3 和 y4,则通过分解多标签方法法将 E3 分解成单独选中标签 y3 和 y4 的实例,然后对每一个标签作单独预测。


适应性方法

如上文所述,新的适应性算法是根据多标签分类的特殊性,改进现有的单标签分类算法,主要包括以下三种:


ML-KNN



ML-KNN 由传统的 KNN 算法发展而来。首先通过 KNN 算法得到样本最接近的 K 个邻近样本,然后根据 K 个邻近样本的标签,统计属于某一标签的邻近样本个数,最后利用最大后验概率原则(MAP)决定测试样本含有的标签集合。


Rank SVM



Rank SVM 是在 SVM 的基础上,加入 Ranking Loss 损失函数和相应的边际函数作为约束条件,并扩展目标函数而提出的一种多标签学习算法。该算法的简要思路是:首先定义函数 s(x)是样本 x 的标签集的规模大小,然后定义 rk(x)=wkTx+bk,如果求得的 rk(x)值在最大的 s(x)个元素(r1(x),…rQ(x))之间,则认为该样本 x 选中该标签 k,否则就没被选中。在求解过程中定义新的排序函数 rk(x)-rl(x)≥1,其中 k 表示被样本 x 选中的标签,l 表示没有被选中的标签,并基于这个新的排序函来大间隔分类器,同时最小化 Ranking Loss,从而推导出适合多标签分类的目标函数和限制条件。


Multi-label Decision Tree



该算法采用决策树技术处理多标签数据,利用基于多标签熵的信息增益准则递归地构建决策树。树形结构包括非叶结点、分支、叶节点。决策树模型用于分类时,特征属性用非叶节点表示,特征属性在某个值域上的输出用非叶节点之间的分支表示,而类别则用叶节点存放。


计算思想如下:首先计算每个特征的信息增益,挑选增益最大的特征来划分样本为左右子集,递归下去,直到满足停止条件,完成决策树的构建。对新的测试样本,沿根节点遍历一条路径到叶子节点,计算叶子节点样本子集中每个标签为 0 和 1 的概率,概率超过 0.5 则表示含有该标签。当遍历所有路径到底不同的叶节点之后,则可判断涵盖的所有标签信息。


除了上述三类主要算法外,还包括诸多以单标签分类进行改进的算法,在此不再赘述。

深度学习算法

深度学习的发展带动了图像分类精度的大幅提升,神经网络强大的非线性表征能力可以在大规模数据中学习到更加有效的特征。近年来,多标签图像分类也开始使用深度学习的思想展开研究。



魏云超等在程明明教授提出的 BING 理论基础上,提出了 Hypotheses-CNN-Pooling。首先对每张图片提取含有标签信息的候选区域(如上图中的 Hypotheses Extraction 过程),然后将每个候选区域送入 CNN 进行分类训练,最后利用 cross-hypothesis max-pooling 融合所有候选区域的分类结果,从而得到多个标签信息完整的图片。



CNN 具有强大的语义信息提取能力,而 RNN 则可以建立信息之间的关联。根据这一理论观点,Jiang Wang 等提出了 CNN-RNN 联合的网络结构。首先利用 CNN 对输入图像进行训练,得到相应的特征,然后将图片对应的特征投影到与标签一致的空间中,在该空间利用 RNN 进行单词的搜索训练。该算法充分考虑了类别之间的相关性,可以有效对图像中具有一定关系的标签进行识别。



在 CNN-RNN 结构的基础上,后续文章又加入 Regional LSTM 模块。该模块可以对 CNN 的特征进行导向处理,从而获取特征的位置信息,并计算位置信息和标签之间的相关性。在上文的结果上进一步考虑了特征、位置和标签之间潜在的依赖关系,可以有效计算图片中多个标签同时存在的可能性,并进行图片的分类。


最近,诸多基于 image-level 进行弱监督分割研究的文章,充分利用了多标签分类网络的信息。其主要思想是将标签统一处理为向量形式,为每幅图片构建一个维度为 1xN 的矩阵标签(如[0,0,0,1,1,0]形式),并采用专门的损失函数(Hanming loss、Ranking loss 等)进行训练。这一方法成功地将多标签的复杂问题,转化为单标签问题,从而可以利用传统的分类网络进行训练。


多标签图像分类的相关算法仍然层出不穷,但不论是基于机器学习还是基于深度学习的算法,都有其优势和不足,如何根据实际应用需求选用合适的算法,才是我们应当关注的重点内容。

评价指标

单标签分类中通常采用准确率(Precision),召回率(Recall)、F 值(F-measure)和 AUC 曲线对分类结果进行评价。然而,在多标签分类中一个图片与多个标签同时关联,其复杂程度远远高于单标签分类。因此,在继承单标签分类评价指标的基础上,许多关于多标签分类的评价指标也被提出。在这里只介绍多标签分类常用的指标,有关单标签分类的指标不再赘述。

平均准确率(AP)和平均准确率均值(mAP)


同单标签分类一样,当一张图片中的所有标记均预测正确时,准确率才可以置 1,否则置零。每个类别下的标签分别进行计算后,取其平均值即可获得平均准确率,对所有平均准确率取均值即可获得平均准确率均值。平均准确率可以衡量模型在每个类别的好坏程度,而平均准确率均值则衡量的是在所有类别的好坏程度。

汉明距离


将预测的标签集合与实际的标签集合进行对比,按照汉明距离的相似度来衡量。汉明距离的相似度越高,即汉明损失函数越小,则模型的准确率越高。


错误率



1-错误率


用来计算预测结果中排序第一的标签不属于实际标签集中的概率。其思想相当于单标签分类问题中的错误率评价指标。1-错误率越小,说明预测结果越接近实际标签,模型的预测结果也就越好。


覆盖率



覆盖率用来度量“排序好的标签列表”平均需要移动多少步数,才能覆盖真实的相关标签集合。对预测集合 Y 中的所有标签{y1,y2,… yi … yn}进行排序,并返回标签 yi 在排序表中的排名,排名越高,则相关性越差,反之,相关性越高。


排序损失



排序损失计算的是不相关标签比相关标签的相关性还要大的概率。

数据集

高质量的数据集是图像分类的基础,更是关键所在。随着人们对数据质量的重视程度越来越高,如今已有诸多完备的多标签图像分类数据集。


Pascal VOC

Pascal VOC 数据集的主要任务是在真实场景中识别来自多个类别的目标。该数据集共有近两万张图片,共有 20 个类别组成。Pascal VOC 官方对每张图片都进行了详细的信息标注,包括类别信息、边界框信息和语义信息,均保存在相应的 xml 格式文件中。通过读取 xml 文件中的项,我们可以获取到单张图片中包含的多个物体类别信息,从而构建多标签信息集合并进行分类训练。

COCO

COCO(Common Objects in Context)数据集由微软公司赞助搭建。该数据集包含了 91 个类别,三十余万张图片以及近二百五十万个标签。与 Pascal VOC 相类似,COCO 数据的标注信息均保存在图片对应的 json 格式文件中。通过读取 json 文件中的 annotation 字段,可以获取其中的 category_id 项,从而获取图片中的类别信息。同一 json 文件中包含多个 category_id 项,可以帮助我们构建多标签信息。COCO 数据集的类别虽然远远大于 Pascal VOC,而且每一类包含的图像更多,这也更有利于特定场景下的特征学习。


除了上述两个个主流数据集之外,比较常用的还包括 ImageNet 数据集、NUS-WIDE 数据集。近年来,诸多公司、科研机构也提出了诸多全新的数据集,如 ML-Images 等。这些标注完善的数据,为多标签图像分类的研究提供了有力的支持,同样也为图像处理领域的发展做出了巨大贡献。

多标签图像分类面临的挑战

(1) 多标签图像分类的可能性随着图片中标签类别的增加呈指数级增长,在现有的硬件基础上会加剧训练的负担和时间成本,如何有效的降低信息维度是面临的最大挑战。


(2) 多标签分类往往没有考虑类别之间的相关性,如房子大概率不会出现老虎、海洋上不太可能出现汽车。对于人类来说,这些均是常识性的问题,但对于计算机却是非常复杂的过程,如何找到类别之间的相关性也能够更好的降低多标签图像分类的难度。


原文链接


https://mp.weixin.qq.com/s/6K4tXPlYLaXhexh6gElP5Q


作者介绍


郭冰洋,公众号“有三 AI”作者。该公号聚焦于让大家能够系统性地完成 AI 各个领域所需的专业知识的学习。


2019-11-22 22:212325
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 532.2 次阅读, 收获喜欢 1976 次。

关注

评论

发布
暂无评论
发现更多内容

2024年区块链钱包现状与未来趋势分析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

全景图拼接制作工具PTGui Pro for Mac

Mac相关知识分享

“元脑企智”EPAI:企业AI应用从“手工作坊”到“工厂高精产线”

脑极体

AI

30个sql调优及高级sql技巧

威哥爱编程

MySQL oracle #SQL

Autodesk Flame v2025.1.2最新激活版 支持Intel/M1/M2/M3

理理

(cdr平面设计) CorelDRAW Graphics Suite 2023 for mac 序列号分享

理理

万界星空科技MES系统与各大系统的集成

万界星空科技

系统集成 mes 万界星空科技mes 生产管理MES系统

FinClip助推鸿蒙系统全面商用,纯鸿蒙系统化加速冲刺!

Geek_2305a8

Kubernetes的Pod调度:让你的应用像乘坐头等舱!

不在线第一只蜗牛

Kubernetes 容器 云原生

音乐创作编辑软件Studio One 7 Pro for mac

Mac相关知识分享

软件

用JS实现简单的屏幕录像机

京东科技开发者

10款好用的开源 HarmonyOS 工具库

威哥爱编程

鸿蒙 HarmonyOS HarmonyOS NEXT

Illustrator 2024(AI2024)的核心优势和特点

理理

DoYourClone for Mac(磁盘克隆工具)

Mac相关知识分享

域名的命名规则有哪些?注册域名需要注意哪些?

国科云

万界星空科技MES数据的集成方式

万界星空科技

制造业 mes 万界星空科技 万界星空科技mes

C++20中对于并发方面的进步

快乐非自愿限量之名

c++ 并发

功能强大的 VNC 远程控制软件VNC Server for Mac

Mac相关知识分享

软件

数据驱动决策:低代码平台如何助力智能化业务分析

天津汇柏科技有限公司

数据驱动 低代码平台

打通前后端流程,案例解读华为云开源低代码引擎解决方案

华为云开发者联盟

软件开发 低代码, TinyEngine

A股牛市来袭,资本涌动:加密市场的出路与机遇

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

如何用AI快速开发一个小程序?

FinFish

小程序开发 AI技术开发 AI生成小程序

阿里巴巴商品详情API返回值:电商行业发展的新动力

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

哪家前端跨平台开发工具最出色?

Geek_2305a8

总奖金高达10万元!华为算法精英实战营“亲和任务调度系统”来啦!

华为云开发者联盟

cpu 芯片设计 任务调度

「算力包」璀璨亮相2024中国算力大会!

九章云极DataCanvas

Vue状态管理库Pinia详解

威哥爱编程

JavaScript Vue Pinia

HPE Aruba Networking Central扩展AI自动化能力 推出第三方设备及终端用户体验监控功能

科技热闻

探讨微服务治理场景中,Sermant Backend如何管理插件动态配置

华为云开发者联盟

Backend Developer javaagent 微服务、 sermant

RPA在物流企微私域场景的应用

京东科技开发者

百度AI继续霸榜!百度搜索蝉联国内AI产品第一

Geek_2d6073

多标签图像分类综述_AI&大模型_郭冰洋_InfoQ精选文章