第1章 绪论
1.1 零样本图像分类
模式识别是信息科学和人工智能的重要组成部分,主要应用于图像分析与处理、语音识别、声音分类、通信、计算机辅助诊断、数据挖掘等方面。研究模式识别的主要目的是对样本进行分类,一个典型的模式识别系统如图1.1所示。模式识别问题主要有三种解决方法:有监督学习、无监督学习与半监督学习。三种解决方法的主要区别在于各实验样本所属的类别标签是否已知。具体来说,有监督学习中对象类的类别标签被视为先验知识,在实验过程中完全已知,通过输入数据类别标签之间的对应关系,学习一个分类或映射函数。目前广泛使用的有监督分类器有人工神经网络、支持向量机(support vector machine,SVM)、*近邻法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类等。无监督学习中对象类的类别标签是完全未知的,在模型训练时由于没有类别标签存在所以无法判断分类结果是否正确,典型模型包括强化学习和聚合操作等。半监督学习则是实验样本的类别标签部分已知,通过综合利用少量有标签的数据和大量没有标签的数据进行机器学习。
图1.1 模式识别系统
在图像识别的实际应用问题中,从海量图像数据中选择有标签的图像类往往需要大量的时间与精力,而无标记样本的获取随着数据收集和存储技术的发展变得越来越容易。如何在标记样本数量不足的情况下利用大量无标签数据来提高模型的泛化能力,成为图像识别领域乃至模式识别领域一个亟须解决的问题。目前人们针对这种图像识别问题场景提出了很多学习方法,如半监督学习[1]、迁移学习[2]、终身学习[3]、多任务学习[4]、自主学习[5]和单样本学习[6]等。这些学习方法都是希望充分地利用标记样本,并借助大量未标记样本来帮助并进一步地提高分类器的学习性能。
现实中还存在一种更难解决的问题,即存在大量对象类(如1000类以上)时,很难为所有对象类都标注一些训练样本,此时就导致每个类未必都有训练样本。例如,在生物学中,使用计算机对蛋白质结构图像进行结构分析或者功能鉴定,由于蛋白质数量成千上万,若为每一个蛋白质都收集并标注一幅结构图像是很难做到的。在这种情况下,若训练阶段样本类别不足以涵盖所有对象类,对于实际应用中出现的新对象类,传统分类器将无法工作。针对上述问题,Larochelle等[7]提出零样本学习(zero-shot learning)概念,也称为零样本图像分类,主要用于解决在标记训练样本不足以涵盖所有对象类的情况下,如何对未知新模式进行正确分类的问题。零样本学习如图1.2所示,训练阶段标记图像样本涵盖“短尾猫”、“水牛”和“吉娃娃”三个类别,测试阶段却出现了“黑猩猩”、“柯利犬”和“兔子”等新的类别,此时由于训练对象类和测试对象类分布不同,通过训练样本学习到的分类器无法对新出现的对象类进行分类识别,这种非常困难的学习任务称为零样本学习。
图1.2 零样本学习
这种极端图像场景识别问题虽然是一个非常困难的学习任务,但是在现实应用场景中广泛存在。Larochelle等[7]针对字符识别领域的零样本问题进行研究,并取得了高于60%的字符识别率。Palatucci等[8]针对神经活动解读实验中的零样本问题进行研究,取得了高于70%的零样本学习识别率。Lampert等[9]在动物数据集上进行了相关问题的研究,提出了两种属性预测模型用于解决零样本问题。Fu等[10]在视觉图像识别领域取得了高于80%的零样本学习识别率。
1.2 零样本图像分类发展现状
在零样本图像分类中,训练类不足以涵盖所有对象类导致训练样本和测试样本分布不同,传统监督方法设计的分类器如果直接应用到零样本图像分类中会出现难理解和泛化性差等问题。零样本图像分类的关键问题在于如何克服训练样本图像和测试样本图像分布不同的困难,即在已知训练类和未知测试类之间搭建一个知识共享的桥梁,因此,目前零样本图像分类主要研究方向可以分为属性知识表示方法及知识迁移与共享方法。本节将对这两个方向的发展现状进行展开介绍。
1.2.1 属性知识表示方法研究进展
在零样本学习中,为实现已知模式和新模式之间的相关知识迁移,需要首先构建可以被对象类共享的某种中间知识表示。针对一幅没有标签信息的测试图像,即使其类别信息缺乏,人类仍然能够很容易地对测试图像进行一些特性的描述,例如,在图1.2中,尽管训练类别中没有黑猩猩,但人们依靠先验知识仍能将其描述为“黑色”“有四肢”“哺乳动物”等。Ferrari等[11]首次将这些较高层次的描述性特征命名为图像的视觉属性,图像的视觉属性可以通过已有的图像及类别标签来学习。Khan等[12]提出了颜色属性的概念,颜色属性结构紧凑,计算效率高,结合传统形状特征使用能够有效地提高图像分类率。
目前主要研究三种类型的属性,颜色及纹理属性主要包括“红色”、“圆形”和“斑点”等;部件属性主要包括“有尾巴”、“有耳朵”和“有四肢”等;区分属性表示不同类别之间的差异,主要包括“比长颈鹿矮”、“不像鸟类”和“类似于老鼠”等。属性作为人们可理解的对象类别间共享的性质,可以作为一种先验信息将高层次的语义关系嵌入机器学习预测模型中,具有图像底层特征不具备的以下优点[13]。
(1)共享性。属性作为底层图像和高层语义之间的一种描述方式,可以被不同的对象类共享,例如,“有皮毛”这一属性可以同时被“兔子”“黑猩猩”“狮子”等对象类别共享。因此,通过对所有对象类共同的属性描述,可以将以前学到的各类属性知识推广迁移到新的对象或类别上。
(2)语义性。属性与一般底层特征相比具有一定的语义含义,可以作为一种更高级的人机交互方式,使图像检索、目标追踪等工作更加方便,并使得模式识别的学习结果更具有可解释性。
(3)灵活性。与底层特征不同,属性描述既可以描述对象的某些局部特征(如“长尾巴”),也可以描述对象的全局特征(如“体积大”),还可以描述对象的类别特征(如“像长颈鹿”)。因此,在描述对象的能力上,属性比特征具有更灵活和更全面的表现形式。
(4)可操作性。与类别标签标注不同,人们在为对象标注属性时常常是以一个对象类而不是以一个图像实例为单位进行的,而一个对象类可能对应着上千幅图像,因此标注属性是一件容易操作且相对经济的事情。
由于具有上述种种优点,属性能够以一种更接近自然语言的方式描述对象,在复杂易变的学习环境中能够一定程度上弥补对象的高层类别标签和底层特征之间的语义鸿沟[14]。近几年来,图像视觉属性广泛地应用于图像描述、图像分类、图像检索、人体行为检测、人脸识别、视频监控、对象跟踪与图像美学鉴定等计算机视觉领域。
由于视觉属性可以用来连接高层对象类别标签与底层图像特征,所以人们尝试采用“图像—中间层属性—高层类别”的结构来试图解决目前存在的语义鸿沟问题。
为了使分类器对训练阶段未见过的对象类仍能在一定程度上进行正确的识别,零样本学习场景中将属性这一概念作为被研究模式的一种中间表示使用,如图1.3所示。对于未知新模式的测试图像,计算机虽然不知道其类别标签,但是人们可以用一系列属性对其进行描述,即“仓鼠”这一测试类可以由“毛皮”、“爪子”、“棕色”和“体积小”这一系列属性进行描述。虽然训练样本中没有“仓鼠”这一类别的图像数据,但是由于属性具有共享性,人们可以使用训练类中的“兔子”、“波斯猫”和“绵羊”等类别学习属性“毛皮”,使用“马”、“柯利犬”和“狮子”等动物学习属性“棕色”等,这样通过学习一系列属性分类器,利用属性在可见模式和未知新模式之间知识传递的作用来实现对未知新模式的预测与识别。
图1.3 属性学习与零样本图像分类
图1.3中类别-属性关系通过语义挖掘技术获得,对图像或类别标注属性标签一般有三种途径。通常,这一过程可以通过人工标注来完成,多个“专家”或“作者”使用亚马逊旗下的Amazon’s Mechanical Turk标注器[15]来进行标注。Farhadi等[16]使用“专家意见”和Amazon’s Mechanical Turk标注器相结合来为图像库加注标签,从自然语言资源中收集目标物体与属性间的视觉相关性信息,包括WordNet和Wikipedia等。Rohrbach等[13]借助外部语义库挖掘属性与类别标签间的对应关系,通过类别之间的属性共享性实现相关知识迁移。此外,还可以借助一些搜索引擎和购物网站上提供或出售的数据进行机器自动挖掘,例如,针对谷歌、淘宝等网站存在的很多人工标注的图像,Russakovsky等[17]和Berg等[18]分别利用这些网站提供的图像及其对应的标签来学习属性描述。
由于人为定义的属性会包含较多的冗余信息,即两个属性或多个属性可能会包含过多相似、相近的信息,冗余信息的存在可能会导致属性的学习能力和效率均有所下降。Branson等[19]将属性模型应用于查询游戏,通过不断地询问问题来确定所要选取的事物属性,进而找到物体。Parikh等[20]提出以自动提取或者人工交互式的方法来生成与选择具备不同含义和较强判别能力的属性,完全依靠机器进行自动挖掘属性相当于一个无监督的学习过程。由于通过增加一些反馈或者使用少量标签可以实现更精确的属性学习效果,因此Rarikh等[20]提出一种使用带反馈环的视觉属性标签获取方法,通过反馈将人的主观选择能力加入属性标签获取过程中,从而建立一个完备的属性集合。
Kulkarni等[21]提出了baby talk的思想:因为一个小孩在认识事物时,会从一个事物的基本含义入手,描述一幅图像为“画里有花、有草、有树”,而属性正有这样的性质,故将图像中的属性比对成小孩认识的元素概念,自动生成相关的语句,进而描述该幅图像。Duan等[22]考虑到属性具有描述物体细节的能力,例如,“家鼠”和“田鼠”可能在图像特征方面很难进行区分,但是通过属性这种语义化的描述方式可以对两类老鼠进行一个细节上的区分,首先对训练图像进行分块处理并进行属性学习,采用有监督方法对预测结果进行交互和反馈,将同一对象类的图像进行细分,使模型能够识别一些细化的子类,如“耳朵小的亚洲象”和“耳朵大的非洲象”、“红色翅膀的蝴蝶”和“黄色翅膀的蝴蝶”等。Kong等[23]提出一种动作属性概念,通过提取动态影像中的人体动作属性来实现动作姿势识别。
Parikh等[24]提出一种包含反馈信息的新的特征表示,使用该特征表示学习一个排序方程以提高系统的相关性估计。用户使用该模型在鞋类和人脸的图像搜索中分别提供二值性反馈和相关性反馈,结果显示当系统学习到一些可解释的行为后,搜索效果得到了极大的改善。Kovashka等[25]提出一种新的反馈式图像搜索模型,使用者按照自己所要检索的图片使示例图像进行适当的调整。例如,使用者针对查询条件“黑色的鞋子”所产生的图像结果不满意,可以继续搜索“黑色鞋子但是有些运动风格”。针对这一搜索要求,模型首先学习一系列排序方程,每个方程均预测图像中的一个属性值的相对强度,例如,属性“运动风格”。在查询阶段,系统首先提供给用户一系列示例图像,然后用户针对这些示例图像使用一些比较词来描述自己所要搜索的图像。在多维属性空间中使用这一系列的约束条件,模型能够反复更新相关模型并对数据集中的图像进行排序,*终得到*满意的查询图像。
具体图像语义属性的学习思路如图1.4所示,首先根据类别或图像与属性间的映射关系获取图像语义属性的训练集,针对某一属性,将共同含有该属性的图像集作为训练集的正样本,不具有此属性的图像集作为负样本。然后对图像进行特征提取和描述,使用训练数据的图像特征对分类器进行训练和学习,从而得到图像的语义属性分类器。以学习“白色”语义属性为例,把拥有“白色”属性的作为训练集的正样本,没有该属性的作为训练集的负样本,通过使用支持向量机等方法对训练集进行正负样本分类,从而学习到“白色”这一属性分类器。具体详细介
展开