当对日常生活中的场景进行分类时,现有的模型在处理以下两类情况时,表现出来的效果比较差,一类是出现稀有对象的时候,另一类是本数据库对此类对象比较特殊,在其他场景或数据库中有着类似的对象,但标注词并不相同的时候。当出现第二类的数据时,在现有的方法中,通常被分为了负样本(negative sample)。但是这个样本,其物理特征却是一个正样本(positive sample)。如果采用现有的模型处理,不仅仅是降低了训练样本中正样本的数量,同样也会把一部分正样本划分为负样本,而且还会大幅度降低所训练出来的分类器的效果。在本章中,对这类样本取名为灰样本(gray sample)。利用好这类灰样本,不但能增加训练数据中正样本的数量,减少错误的负样本数量,而且能很大程度上提升所训练出来的分类器的效果。
本书所提出的模型,需要考虑到图像的语义特征,因此采用了特征包模型的框架,如图2.2所示。首先对训练图像提取底层特征,选取SIFT特征作为的底层特征。经过SIFT特征提取后,将训练图像转化为多个特征向量,每个特征向量对应一个SIFT兴趣点。然后对所有训练图像中得到的特征向量进行聚类,采用k-means聚类法,这里设定聚类中心的数目 Z ,得到 Z 个聚类中心,这些聚类中心的集合称为视觉词典(Visual Vocabulary),如图2.2右上方所示,Visual Vocabulary ={W 1 ,W 2 ,…,W a ,W b ,…,W z }。得到视觉词典后,每一个SIFT特征点可以用一个视觉词汇来表示,这样特征就由128维的SIFT特征向量变为1维视觉词汇,同时每一张图片可以由一组视觉词汇来表示,即每一个SIFT特征点处有一个视觉词汇。本书认为这些视觉词汇虽然不像自然语言中的词汇那样有具体的拼写和意思,但是能从一定侧面描述或解释这张图像或这个事物。
图2.2 特征包模型概述
本书的任务是将图像中的每一个目标进行分类识别。在一般的自然场景图像中,每一个目标通常有一个标注词;每一张图像包含了多个目标;每一个类别场景包含了多张图像。这里考虑这类数据库结构的情况下,由上往下看,每一个类别的场景包含多个训练图像,每一个训练图像中又含有多个事物,每一个事物又含有多个SIFT兴趣点,每一个SIFT兴趣点对应着一个视觉词汇。由下往上看,则是每一个SIFT兴趣点对应着一个视觉词汇,而这个视觉词汇会在多个事物中出现,每一类事物也会在多个图像中出现,包括同类的场景中的图像或者不同类场景中的图像,但是每一张图像只属于一个场景类别。这里存在着以下几个关系:场景类别和训练图像之间确定的一对多关系;事物和图像之间的关系是多对多,且事物的标注词与事物之间的关系是多对一,即一个事物可能在不同人不同环境下有着不同的标注词来说明;视觉词汇与事物之间的关系是多对多关系;SIFT特征与视觉词汇之间的关系是确定的一对一关系,关系层次图如图2.3所示。
图2.3 场景、目标、底层特征关系图
定义2.1 场景的内涵 p ( a , s ):表示标注词 a 与场景 s 之间的关系。
定义2.2 视觉词汇的内涵 p ( y , a ):表示视觉词汇 b 与标注词 a 之间的关系。
定义2.3 视觉词汇的外延 p ( b | y ):表示视觉词汇 b 表示概念 c 的程度。
本书使用以下字母来表示模型中的变量: b 表示视觉词汇; a 表示标注词; y 表示 b 的外延; z 表示 a 的内涵; c 表示目标概念。
在PLSA模型中,使用给定的视觉词汇-标注词的共现矩阵 O ,其中的元素 O b , a ,用来表示底层特征的视觉词汇 b 出现在标注词 a 中的频率。PLSA模型中 O 是采用标注词的隐含语义模型进行建模的:
在对偶PLSA模型中,可以将多种不同的隐含层,即同时采用视觉词汇的外延 y 和标注词的内涵 z 。视觉词汇-标注词共现矩阵 O 给定的情况下,将式(2.13)和式(2.14)改写为:
基于对偶PLSA模型,本书提出了一个基于概念的统计学习方法来实现跨场景学习。假设前 s 个场景为源域,具有目标的标签信息,剩下的 t 个场景作为目标域,可以在目标域中提取视觉词汇和标注词的内涵和外延。为了得到唯一的概念内涵,变量 y 和 z 需要分别与变量 c 相独立。在图2.4中,描述了本书的方法在转换不同场景中转化知识,转化知识的核心是依据的场景的主题。在图2.5中,详细解释了本书的方法的思想,即在不同场景中对象按照语义进行转化的过程。场景主题的内涵确定了是否能进行知识转化,即相似度在一定阈值内才能进行知识转换。用式(2.17)来说明场景之间的知识转换:
图2.4 不同场景之间的知识转化
考虑到标注词和场景之间的语义关系,在场景之间的知识转换过程中,加入 p ( a , s )到式(2.17),这样式(2.17)变为:
图2.5 模型的详解
对于 p ( a , s ),作为判断是否能进行场景间的知识转化的阈值。
当 <迁移阈值时,设置 p ( a , s )=0,即不能进行场景间的知识转换。
当 >迁移阈值时,认为这个源场景和目标场景之间是有一定相似的,场景 s i 中的样本能作为灰样本学习到目标场景 s j 中。这个迁移阈值则是能否能够将源场景中的样本作为灰样本学习到目标场景中的判断标准。
在视觉词汇-标注词共现矩阵中,用 O c 表示第 c 个目标概念,元素 O ( b , a , c )表示共现矩阵中( b , a , c )这三者的共现频率。如果设置两个隐含变量 y 和 z ,其中 z 的全集 Z 是由所有其他场景的数据 X 所得到的,将问题转化为最大似然估计为以下公式:
其中 Φ 包含了各参数项: p ( y , z ), p ( b | y , c ), p ( a | z , c ), p ( c )和 p ( a , s )。
本书的模型是基于这个假设:在不同场景中相同目标概念 c 的外延具有一定程度的相似性。这是能通过在训练样本和灰样本中共享相似的内涵 p ( y , z )的原因,这个共享是通过 p ( a , s )联系起来的,即场景和标注词的内涵。在图2.6中,详细说明了本书算法的整个过程。
图2.6 场景-CDPLSA的过程