图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标签图像分类这一方向,了解更具难度的图像分类。
作者 | 郭冰洋
编辑 | 言有三
随着科学技术的进步与发展,图像作为信息传播的重要媒介,在通信、无人驾驶、医学影像分析、航天、遥感等多个领域得到了广泛的研究,并在国民社会、经济生活中承担着更加重要的角色。人们对图像研究的愈发重视,也促使计算机视觉领域迎来了蓬勃发展的黄金时代。
作为计算机视觉领域的基础性任务,图像分类是目标检测、语义分割的重要支撑,其目标是将不同的图像划分到不同的类别,并实现最小的分类误差。经过近30年的研究,图像分类已经成功应用至社会生活的方方面面。如今,在我们的生活中随处可见——智能手机的相册自动分类、产品缺陷识别、无人驾驶等等。
根据分类任务的目标不同,可以将图像分类任务划分成两部分:(1)单标签图像分类;(2)多标签图像分类。
单标签图像分类是指每张对应一个类别标签,根据物体类别的数量,又可以将单标签图像分类划分成二分类、多类别分类。如下图所示,可以将该图的标签记为海洋,通过单标签图像分类我们可以判定该图像中是否含有海洋。
然而,现实生活中的中往往包含多个类别的物体,这也更加符合人的认知习惯。我们再来观察下图,可以发现图中不仅包含海洋,还包括了海豚。多标签图像分类可以告知我们图像中是否同时包含这些内容,这也能够更好地解决实际生活中的问题。
机器学习算法主要包括两个解决思路:
(1) 问题迁移,即将多标签分类问题转化为单标签分类问题,如将标签转化为向量、训练多个分类器等;
(2) 根据多标签特点,提出新的适应性算法,包括ML-KNN、Ranking SVM、Multi-label Decision Tree等。现对其中具有代表性的算法进行总结。
21 问题迁移
问题迁移方法的主要思想是先将多标签数据集用某种方式转换成单标签数据集,然后运用单标签分类方法进行分类。该方法有可以包括基于标签转换和基于样本实例转换。
211 基于标签转换
针对每个标签,将属于这个标签的所有实例分为一类,不属于的分为另一类,将所有数据转换为多个单标签分类问题(如下图)。典型算法主要有Binary Relevance和Classifier Chain两种。
212 基于样本实例转换
这种方法是将多标签实例分解成多个单标签实例。如下图所示。实例E3对应标签y3和y4,则通过分解多标签方法法将E3分解成单独选中标签y3和y4的实例,然后对每一个标签作单独预测。
22 适应性方法
如上文所述,新的适应性算法是根据多标签分类的特殊性,改进现有的单标签分类算法,主要包括以下三种:
221 ML-KNN
ML-KNN由传统的KNN算法发展而来。首先通过KNN算法得到样本最接近的K个邻近样本,然后根据K个邻近样本的标签,统计属于某一标签的邻近样本个数,最后利用最大后验概率原则(MAP)决定测试样本含有的标签集合。
222 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,从而推导出适合多标签分类的目标函数和限制条件。
223 Multi-label Decision Tree
该算法采用决策树技术处理多标签数据,利用基于多标签熵的信息增益准则递归地构建决策树。树形结构包括非叶结点、分支、叶节点。决策树模型用于分类时,特征属性用非叶节点表示,特征属性在某个值域上的输出用非叶节点之间的分支表示,而类别则用叶节点存放。
计算思想如下:首先计算每个特征的信息增益,挑选增益最大的特征来划分样本为左右子集,递归下去,直到满足停止条件,完成决策树的构建。对新的测试样本,沿根节点遍历一条路径到叶子节点,计算叶子节点样本子集中每个标签为0和1的概率,概率超过05则表示含有该标签。当遍历所有路径到底不同的叶节点之后,则可判断涵盖的所有标签信息。
除了上述三类主要算法外,还包括诸多以单标签分类进行改进的算法,在此不再赘述。
深度学习的发展带动了图像分类精度的大幅提升,神经网络强大的非线性表征能力可以在大规模数据中学习到更加有效的特征。近年来,多标签图像分类也开始使用深度学习的思想展开研究。
魏云超等在程明明教授提出的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曲线对分类结果进行评价。然而,在多标签分类中一个与多个标签同时关联,其复杂程度远远高于单标签分类。因此,在继承单标签分类评价指标的基础上,许多关于多标签分类的评价指标也被提出。在这里只介绍多标签分类常用的指标,有关单标签分类的指标不再赘述。
41 平均准确率(AP)和平均准确率均值(mAP)
同单标签分类一样,当一张中的所有标记均预测正确时,准确率才可以置1,否则置零。每个类别下的标签分别进行计算后,取其平均值即可获得平均准确率,对所有平均准确率取均值即可获得平均准确率均值。平均准确率可以衡量模型在每个类别的好坏程度,而平均准确率均值则衡量的是在所有类别的好坏程度。
42 汉明距离
将预测的标签集合与实际的标签集合进行对比,按照汉明距离的相似度来衡量。汉明距离的相似度越高,即汉明损失函数越小,则模型的准确率越高。
43 1-错误率
1-错误率用来计算预测结果中排序第一的标签不属于实际标签集中的概率。其思想相当于单标签分类问题中的错误率评价指标。1-错误率越小,说明预测结果越接近实际标签,模型的预测结果也就越好。
44 覆盖率
覆盖率用来度量“排序好的标签列表”平均需要移动多少步数,才能覆盖真实的相关标签集合。对预测集合Y中的所有标签{y1,y2,… yi … yn}进行排序,并返回标签yi在排序表中的排名,排名越高,则相关性越差,反之,相关性越高。
45 排序损失
排序损失计算的是不相关标签比相关标签的相关性还要大的概率。
高质量的数据集是图像分类的基础,更是关键所在。随着人们对数据质量的重视程度越来越高,如今已有诸多完备的多标签图像分类数据集。
51 Pascal VOC
Pascal VOC数据集的主要任务是在真实场景中识别来自多个类别的目标。该数据集共有近两万张,共有20个类别组成。Pascal VOC官方对每张都进行了详细的信息标注,包括类别信息、边界框信息和语义信息,均保存在相应的xml格式文件中。通过读取xml文件中的项,我们可以获取到单张中包含的多个物体类别信息,从而构建多标签信息集合并进行分类训练。
52 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) 多标签分类往往没有考虑类别之间的相关性,如房子大概率不会出现老虎、海洋上不太可能出现汽车。对于人类来说,这些均是常识性的问题,但对于计算机却是非常复杂的过程,如何找到类别之间的相关性也能够更好的降低多标签图像分类的难度。
古语有云:“纸上得来终觉浅,绝知此事要躬行”,理论知识的学习必须通过实践才能进一步强化,完成了综述内容的书写,后续将基于Pytorch框架以Pascal VOC2012增强数据集进行多标签图像分类实战,敬请期待哦!
如果想加入我们,后台留言吧
技术交流请移步知识星球
更多请关注知乎专栏《有三AI学院》和公众号《有三AI》
一、图像位置
图像位置 可做为 环境的反射 ,如精神上受创儿童,因过度焦虑而无法自我控制,图面上的物体零乱的散落在整张纸上。
这些精神上受创儿童,发展出强迫性的防御心态,他们无法节制内心的痛苦,将所描绘的线条和物体精确的摆放在应有的位置上。
图形摆放在 纸中间 ,是 正常的, 暗示作画者有 适度的安全感 。
这种图面表示,作画个体为”自我管理”和” 自我为中心 ”的人。
图像摆放在 纸的中线上方 ,则有 不切实际的目标 。
习惯将图像固定的画在图纸某一边,提示我们关于作画者个人的态度。
画在纸的 右边 者,暗示者 理性 程度、自我 控制 ,和 以环境为导向 的行为及受 事实 原理强烈地规范者。他们将思考 专注于未来 ,而非现在。
物体画在 左边 者,则可能暗示着, 冲动 的个性, 自我迷恋 、思考专注于 过去 。
二、图形大小
图面上影像的大小,也有其重大的意义。
影像尺寸和摆放位置一样,皆是较少受意识控制的。
尺寸大小 的最大意义在于画者对 自我的认知 。如:五岁以上的小孩子,在一张A4大小的图画纸上,若所画的单一人物图形超过22厘米左(相当于成年男性手掌大小),则可能蕴含着幼稚、夸张及补偿性防御,或者一种觉得无力和无效的情感伪装。
这方面行为的人,可能较具侵略性和恐吓性。
相反的,假如图像呈现的是小于5厘米(相当于成年男性食指的长度)则可推论,作画者可有强烈的不适当、低劣、低自尊没有自我感。
这些个体,不论是小孩或成人,则无法防御、抵抗,一但他们的自我意识被打破、进入时,则显得焦虑和沮丧。
三、细节
图面的细部描绘,在做图面分析时,也是另一种的检视,它反应了个体知觉和对外在世界的兴趣。
不完全的细节描绘,暗示着内在空虚,低活力、沮丧和内向型的个性。
过度的细节描绘,呈现着一种不正常的强烈架构环境之需要。
正常小孩子对图面主题,会有一定的细节表现,但不会加上不需要的细节或删掉重要的部分。
四、擦拭
对于房树人绘画分析中,对图面的擦拭也应例入评判之考虑。
1正常和适量的修改擦拭,反应弹性和具有批判自已作品的能力。
2当擦拭的动作使得作画的品质受破坏时,那可能喻示作画者陷入了一种冲突性的问题内。
3 过度的擦拭 ,则表示着,犹豫、不确定、泛普遍性的对自已的 不满 。
4 擦拭次数过多 ,常出现于 受创伤 的儿童,导至自我不信任的发展和自尊的动摇。
五、线条和笔触的特色
水平移动的强调暗示着虚弱、恐惧、自我保护或女性化特征。
A:笔迹方向特色:
1、垂直移动的强调暗示男性的自信、决心和过动的可能。
2、曲线的强调,暗示着健康的个性,可能暗示着对传统的厌恶。
3、刚硬直线的强调,暗示着僵硬或攻击的倾向。
4、不断的改变线条方向,暗示着没有安全感。焦虑、不确定、压抑和胆小。
5、固定、果决的特性暗示着安全、坚定、野心的个体。
B:笔触的特色
1、固定、果决的特性暗示着安全、坚定、野心的个体。
2、犹疑不决的方向、模糊线条、中断的笔触暗示着不安全、犹疑不决的倾向。
3、连续的直线笔触和果决肯定的人有关
4、连续的曲线笔触(1)迟顿、犹疑不决的人
(2)依赖性、情绪性倾向
(3)女性和顺从
C:笔触的长度:
1、长的线条,表示着控制的行为,有时是压抑的现象。
2、短、不连续的笔触暗示着冲动、兴奋的倾向。
3、非常短的曲线、速写笔触暗示着焦虑、不确定、压抑和胆小。
六、偏向纸的一边
偏向纸边,则可能是一种没有安全感的概念。
下面来介绍一个案例,通过绘画来看小朋友的内心
背景故事简要介绍:
8岁,男孩,小朋友前天拿了文具店的游戏卡片(图中黑钻卡,价值100元),妈妈很焦虑
首先,二年级小朋友拿别人东西属于比较普遍的行为,不能定义为偷,而是处于前道德阶段,对偷的概念比较模糊, 行为纠正即可。
简言之,小朋友还不懂事,告诉他什么事情不能做,为什么不能做。
另外这也是孩子很多内在需求没有得到满足,从而外化行为的一种表现。
从线条看:笔迹圆滑,说明小朋友比较灵活、随和,情绪状态比较稳定;
从树干形状看:树干是八字形,说明小朋友注重情感交流
房子屋顶缺失一根线(屋顶一般是三角形,有一条横着的线),说明家庭支持不够,还是要给予相应的内在需求满足,如情感交流,沟通以及互动
数字图像的恢复、增强,乃至复合处理,归根到底只是改善图像的品质,提高图像的可解译性。但处理系统(计算机)并未对图像上地物的类别作出“判决”(解译)。由计算按一定的判别模式来自动完成这一“判决”,便是图像分类处理的过程。
图像分类处理的最终目标是智能化,使遥感图像处理发展成为一种人工智能系统。广义的分类处理,既包括波谱信息的分类,也包括空间信息的分类。后者一般包括图形识别、边缘和线条信息的检测与提取,以及纹理结构分析等,通常也称图像的空间信息分析。关于这一部分对于地质工作者显然感兴趣的内容,可参阅文献[3]等著作。限于篇幅,这里仅介绍按波谱信息分类的基本概念。
(一)图像分类的依据
一般来说,同一类地物有着相似的波谱,在多波段遥感的数字图像中,可以粗略地用它们在各个波段上的像元值的连线(亨利曲线)来表示(图4-29A);由于受光照条件、环境背景等因素的影响,在实际的多维波谱空间中,它们的像元值向量往往不是一个点,而是呈点群分布(集群),不同地物的点群处在不同的位置(图4-29B);不仅如此,在实际图像中,不同地物的波谱集群还存在有交叉过渡,受图像分辨力的限制,一个像元中可能包括有若干个地物类别,即所谓“混合像元”。因此,对不同集群的区分一般要依据它们的统计特征(统计量)。例如,集群位置用均值向量表示、点群的中心及离散度常用标准差或协方差来量度等等;数字图像常用的几种统计量见表4-4。
图4-29 索尔顿湖和因佩里亚谷地陆地卫星MSS数字图像上主要几种地物的光谱反射比曲线和集群分布
表4-4 数字图像常用的统计量
图像分类处理的实质就是按概率统计规律,选择适当的判别函数、建立合理的判别模型把这些离散的“集群”分离开来,并作出判决和归类。通常的做法是,将多维波谱空间划分为若干区域(子空间),位于同一区域内的点归于同一类。子空间划分的标准可以概括为两类:①根据点群的统计特征,确定它所应占据的区域范围。例如,以每一类的均值向量为中心,规定在几个标准差的范围内的点归为一类;②确定类别之间的边界,建立边界函数或判别函数。不论采取哪种标准,关键在于确定同一类别在多维波谱空间中的位置(类的均值向量)、范围(协方差矩陈)及类与类边界(判别函数)的确切数值。按确定这些数据是否有已知训练样本(样区)为准,通常把分类技术分为监督和非监督两类。
(二)非监督分类
非监督分类是在没有已知类别的训练数据及分类数的情况下,依据图像数据本身的结构(统计特征)和自然点群分布,按照待分样本在多维波谱空间中亮度值向量的相似程度,由计算机程序自动总结出分类参数,进而逐一对像元作归类,通常也称聚类(集群)分析。使用的方法有图形识别、系统聚类、分裂法和动态聚类等。
其中,比较实用的是动态聚类。它是首先根据经验和分类数,选定若干个均值向量,作为“种子”,建立一批初始中心,进行初步概略的分类,然后根据规定的参数(阈值)检验分类结果,逐步修改调整分类中心,再重新分类,并根据各类离散性统计量(如均方差等)和不同类别之间可分离性统计量(如类间标准化距离等),进行类的合并或分裂;此后再修改中心,直至分类结果合理为止。动态聚类中,聚类中心和分类数可以按客观的波谱特征自动调整,分类效果一般比较好,但分类结果的确切含义(类别的属性)需另作分析,从实况调查或已有的地面资料中去确定它们的地物类型。
非监督分类由于事先不需训练样本,故处理速度较快,较客观,并能为监督分类的训练样区选择提供参照,一般在有目的的监督分类之前进行。
(三)监督分类
监督分类一般是先在图像中选取已知样本(训练区)的统计数据,从中找出分类的参数、条件,建立判别函数,然后对整个图像或待分类像元作出判别归类。遥感图像处理中常用的监督分类方法有最小距离法、费歇尔线性判别法、贝叶斯线性和非线性判别法(最大似然法)等。
其中,最小距离法在算法上比较简单:首先在图像显示屏上选出训练样区,并且从图像数据中求出训练样区各个波段的均值和标准差;尔后再去计算其它各像元的亮度值向量到训练样区波谱均值向量之间的距离。如果距离小于指定的阈值(一般取标准差的倍数),且与某一类的距离最近,遂将该像元归为某类。该分类法的精度取决于训练样区(地物类别)的多少和样本区的统计精度。由于计算简便,并可按像元顺序逐一扫描归类,一般分类效果也较好,因而是较常用的监督分类方法。
最大似然法也是常用的监督分类方法之一。它是用贝叶斯判别原则进行分析的一种非线性监督分类。简单地说,它可以假定已知的或确定的训练样区典型标准的先验概率,然后把某些特征归纳到某些类型的函数中,根据损失函数的情况,在损失最小时获得最佳判别。该法分类效果较好,但运算量较大。
监督分类的结果明确,分类精度相对较高,但对训练样本的要求较高,因此,使用时须注意应用条件,某一地区建立的判别式对别的地区不一定完全适用。此外,有时训练区并不能完全包括所有的波谱样式,会造成一部分像元找不到归属。故实际工作中,监督分类和非监督分类常常是配合使用,互相补充的。
图像分类处理目前在农林、土地资源遥感调查中应用较广。对于地质体的分类,由于干扰因素较大,不容易取得十分理想的效果,故在地质应用上尚不很普遍。但最近已陆续出现了一批使用分类技术的遥感地质应用成果,较多的是用经变换(比值、K-L等)处理的图像再作分类处理,用于岩性填图或热液蚀变填图等,是值得重视的发展方向。
医学方面、安全监控方面、原件缺陷检测、人流统计、车牌识别、机器人运行定位等等。图像识别技术的研究目标是根据观测到的图像,对其中的物体分辨其类别,做出有意义的判断。即利用现代信息处理与计算技术来模拟和完成人类的认识,理解过程。一般而言,一个图像识别系统主要由三个部分组成,如图l所示,分别是图像分割,图像特征提取以及分类器的识别分类。目前,在图像识别的发展中,主要有三种识别方法:统计模式识别、结构模式识别、模糊模式识别。
江苏视图科技目前能做到相同图,相似图搜索,公司是国内一流图像识别算法提供商。
研究生往图像处理方向发展,从原则上来说,需要学很多编程开发的语言。java, vb, python, r, c++, matlab等。以下是一些需要用的软件:
1、visual studio
Microsoft visual studio community 15/17(一般简称vs),号称宇宙第一的ide,可不是浪得虚名。在这里推荐的是免费的社区版,可以说兼具所有ide 的优点。缺点是庞大臃肿(安装内存大),但是后台占用很良心。除了基本的c语言外,还可以开发c++,c#,asp等,现在许多公司和个人在都使用它,既方便团队协作,开发效率还高,使用起来很方便。
2、code blocks
也是一个开源(open source)的ide,可跨平台(cross platform),也就是说windows,linux,macOS都可以使用。支持C99新标准,安装包小巧,包含所有组件大小才90多M,自带mingw编译器,支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试等功能。配置也很方便,有简单的关键词提示,官方没提供中文版,但是有第三方汉化包。
3、clion
这是一款专业的C/C++编程软件,jetbrains公司的产品,同类型的idea、pycharm等,大家应该都非常了解。它支持智能补全、语法提示、代码高亮等常见功能,此外还兼容cmake、代码重构等高级功能,因此开发效率更高,也更适合专业开发者,但缺点就是软件本身不免费,需要付费购买版权。
4、dev c++
开源的c++ ide,一键下载安装,无需任何多余配置,有中文版本。主题多样,相当轻巧。自带有简单的GCC、GDB调试工具,可以直接编译运行C++程序,基本功能和早期的VC60非常相似,没有任何自动补全、语法提示和语法检查的功能,插件扩展也比较少,因此,对于初学者来说,非常锻炼基本功。
扩展资料
Visual Studio 2008为开发人员提供了在最新平台上加速创建紧密联系的应用程序的新工具,这些平台包括 Web、Windows Vista、Office 2007、SQL Server 2008 和Windows Server 2008。对于 Web,ASP NET AJAX 及其他新技术使开发人员能够迅速创建更高效、交互式更强和更个性化的新一代 Web 体验。
Code::Blocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch文件、Fortan77文件、GameMonkey脚本文件、Hitachi汇编文件、Lua文件、MASM汇编文件、Matlab文件、NSIS开源安装程序文件。
参考资料
—Visual Studio
—Code::Blocks
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)