多标签学习的图像检索系统研究与设计(附件)
为了能够解决图像检索的不完整、不准确以及图像标注的人工成本问题,本文将图像多标签学习应用于图像检索系统,对基于多标签学习的图像检索系统进行研究和实现。本文的主要工作是,首先对一组已经手工标注的图像进行特征提取,采用颜色特征、LBP纹理特征、Gist特征、HOG特征等8个图像特征,形成图像的特征空间,并且使用主成份分析(PCA)算法对生成的特征向量进行降维处理,生成最后的训练集。然后,为选择应用于系统的最合适的图像多标签学习算法,本文对LIFT算法、ML-kNN算法、LEAD算法、MLNB算法、ML-RBF算法、ML2算法六个算法,在不同训练集进行多标注测试,计算算法的性能衡量标准。通过分析这六个算法的性能比较结果,选择最优算法应用于图像检索系统,作为该系统的图像多标签标注方法。根据该算法对图像的多标签标注,检索图像。关键字特征提取;多标签学习;性能度量标准;图像搜索Image retrieval system research and designbased on multi-label learningMajor in network engineering Zhangchao ZhuThe instructor Xingjian GuAbstract: In order to be able to solve the problem of incomplete, inaccurate and graphed artificial cost in image retrieval,the image retrieval system is applied to image retrieval system, and the image retrieval system based on multi-label learning is studied and realized in this paper. The main job of this article is, first, a set of hand-labeled images were extracted, adopted eight image characteristics which are the color characteristics, characteristics o *好棒文|www.hbsrm.com +Q: ^351916072*
f LBP texture, Gist characteristics and HOG characteristics,and generate the final training set. And using the main component analysis (PCA) algorithm to reduce the dimensional processing of the generated eigenvectors, generate the final training set. Then, in order to select the most appropriate the image multi-label learning algorithm for the system, in this paper, with the method of LIFT algorithm, ML -knn algorithm, LEAD algorithm, MLNB algorithm, ml-rbf algorithm, ML2 algorithm, multi-label tests are carried out in different training sets, and the performance measurements of the algorithms are calculated. By analyzing the performance comparison of these six algorithms, the optimal algorithm is applied to the image retrieval system, which is the method of labeling the image of the system. According to the algorithm, the image is multi-labeled and the image is retrieved.1.绪论1.1问题的提出现在的社会是一个高速发展的社会。自从计算机问世以及因特网普及以来,科技发达,信息流通,我们的社会面临着信息爆炸的威胁。网络拉近了人与人之间的距离,人们之间的交流越来越密切,生活也越来越方便。然而,多媒体化和信息化的普遍带来的是数据的急剧增长,尤其是图像信息。在巨大的数据量中包含着庞大的有用信息,当然也存在着没有用的、无关的、冗余的垃圾信息。面对如此庞大的信息量,如何快速而又有效地从中整理并筛选出能够直接为社会带来帮助的信息是一个急需解决的问题。在这样的背景下,图像多标签分类技术应运而生。目前,我们的搜索引擎大多使用的是关键字搜索技术。关键字搜索技术实现简单,符合大多用户的使用习惯,但是关键字搜索主要适用于文本检索,对于图像搜索,它就存在许多不足。首先,有些图像是无法用文本描述清晰的;其次,手工标注效率太低,面对如今大量的图像信息资源,手工标注已经无法满足需求;最后,手工标注太过主观化,不同的人对于同一幅图像有不同的理解,造成标注不一致,从而导致检索的不完全性和不准确性。而且,根据实际情况,一幅图像不可能独立地属于哪一个类别,每一幅图像中都会包含许多信息,有些信息是相互独立的,有些信息是相互关联的。每一个独立的信息点都可以作为该图像的一个标签,例如图1和图2,图1可以有标签mountain和trees,图2可以有标签sea和sunset。我们在寻找某些图片时,也可能会有多个需求,为了满足用户的需求,我设计了根据多标签搜索的图像搜索引擎这么一个系统。图1 图21.2研究背景1.2.1国内外研究状况在信息技术和多媒体技术迅速发展的今天,人们都习惯于利用网络或者其他通信手段传输信息,包括文本信息、图像信息、视频信息、声音信息等,因此,越来越多的数据信息被堆积起来,促进了数据挖掘研究和数据分析研究的产生和发展。这些数据具有庞大、复杂、重复、无序、模糊等特点,无法直接利用。如果没有强大的数据处理和分析技术,我们将无法把这些图像数据信息完美地运用起来。如此,基于多标签学习的图像分类技术就有了被研究的必要性。图像多标签学习技术是多领域交叉的研究技术,包括图像处理、数据挖掘、多标签分类等。目前有许多国内外的专家和学者研究这个技术,并且做出了许多贡献。滕舟提出了基于EM的非监督的多标签图像分类技术研究、陈智提出了基于卷积神经网络的多标签场景分类、焦阳提出了基于主动学习的多标签分类研究、王占东提出了基于多实例多标签学习的图像分类标注等。1.2.2目前存在的问题虽然,由研究人员提出的图像多标签学习算法已经有很多,但是算法中仍有各种缺陷和不足。图像多标签学习的研究者们都发现了在图像多标签学习的研究过程中存在着客观的、难以解决的问题。首先是语义鸿沟的问题①图像的视觉信息的提取过程中,可能由于抽样的偶然性、信息提取的不完整性等原因,导致视觉内容的部分损失,使得图像视觉信息与特征之间存在差异。②在图像的视觉信息提取的过程中,有些图像的视觉信息十分相似,比如某些小草和禾苗,这就导致了图像的视觉信息和标签之间的差异。③在不同的场景下,同一个图像被赋予不同的含义,或者不同人从不同角度看同一个图像,也各有不同,这是图像的视觉信息与高层含义之间的差异。其次是多标签学习的问题。近年来,随着大数据时代的迅速发展,简单的单标签学习已经不能适应庞大数据信息的准确性和实用性需要。因此,多标签学习逐渐成为了数据挖掘和数据分析技术中分类研究的热点和难点。相对于单标签学习而言,多标签学习更加符合现实中的信息数据应用,但是其复杂程度也是呈几何倍数增加,这又让多标签学习成为了分类研究中的难点。标签之间的相关性使得研究者们难以快速地找到样本训练集,准确地确定分类的模型。有些标签不是常见的特征,有关这些标签的样本训练集元素个数太少,难以对这些特征准确建模,提高了分类的难度。1.3研究内容和技术路线1.3.1研究内容(1)图像特征提取和降维,生成图像数据集。特征提取是图像处理的一个初级运算,是图像处理之前的准备工作。选择一组合适的图像,对图像进行颜色特征、纹理特征、边缘特征提取,生成特征向量,并对特征向量进行降维处理。(2)基于生成的数据集,实现多个多标签学习算法,并进行性能比较。通过1-错误率,汉明损失、排序损失、覆盖率和平均精度5个算法性能衡量标准的比较,分析实验结果并选择性能最佳的算法,在系统中使用性能最佳的图像多标签算法给测试图像进行多标签标注。(3)使用最优性能的多标签算法完成系统,本系统的主要功能有三个,根据标签进行图像搜索、根据图像进行相似图的搜索和对图像进行多标签自动标注。将选择的多标签学习算法应用于本系统,完成本系统的设计。1.3.2研究技术路线(2)了解图像特征提取的相关知识,对特征提取的相关方法进行算法实现,生成图像集的特征向量。(3)了解数据降维的相关知识,实现PCA算法,并对以上生成的特征向量进行降维处理,生成最后的数据集。(4)基于生成的数据集,实现并运行六个多标签学习算法,对运行结果进行比较分析,找到性能相对最优的算法。(5)设计实现图像检索系统。(6)对该系统进行运行测试。2.相关工作2.1图像多标签标注每个标签之间的相关性信息可以为图像多标注提供有效的帮助,从而提高多标签分类器的算法性能,提高分类准确率。因此,有效利用标签之间的相关性是图像多标注的一个重要课题。目前,我们将标签之间的相关性分为三类第一类是一阶方法将图像多标签分类问题转化为一系列独立的二元分类问题。一阶方法在概念上非常容易理解,算法实现非常简单,但是由于完全没有考虑标签之间的相关性,默认所有标签都是相互独立的,所以可能效率比较低。第二类是二阶方法将两个标签结对,考虑成对标签之间的关系。由于二阶算法在一定程度上考虑了标签之间的相关性,相对于一阶算法来说,算法效率有所提高。但是在现实情况下,可能会出现标签相关性超越二阶的真实应用,所以我们提出了高阶方法。第三类是高阶方法考虑所有标签之间的相关性。高阶方法由于充分考虑到了所有标签之间的相关性,完全真实地反映了现实世界中应用的情况,但是很可能会出现高复杂性的模型,无法解决大规模的学习问题。2.2算法性能衡量标准因为多标签数据集的多样性和不确定性,简单而单一的分类器性能评估的方式已经不再适用。为了准确衡量和比较多标签分类算法性能的优劣,专家和学者们提出了许多评价标准,然后结合多个不同的评价标准,从不同的角度分别比较多标签分类算法的性能的高低。2.2.1汉明损失(Hamming loss) (1)汉明损失相当于多个样本标签预测错误率的平均值。如果把真实标签集和测试标签集作为两个数学集合,那么对称差就是两个集合的差集,汉明损失就等价于对称差占两个集合并集的比例。2.2.2排序损失(Ranking loss) (2)排序损失表示,样本实例在进行测试时的特征排序失误率。排序损失的数值越小,多标签分类算法的性能就越好。2.2.3 1-错误率(One error) (3)根据判别函数计算函数值,将函数值由大到小排序,我们将大于指定阈值的判别函数所对应的特征集合称为测试标签集。如果判别函数的最大的函数值对应的特征不属于实际特征集,那么就认为这个样本实例出现1-错误率。出现1-错误率的样本实例数与总的样本实例数的比值就是1-错误率的值。2.2.4覆盖率(Coverage) (4)覆盖率表示计算平均要进行几次排序才能测试出整个真正的标签集。覆盖率的数值越高,分类算法的性能就越低。2.2.5平均精度(Average precision) (5)平均精度的数值越小,分类算法的性能就越差,平均精度的数值为1时,分类算法的性能最好。3.特征提取及特征降维特征提取是图像处理的一个初级运算,是图像处理之前的准备工作。它是指使用计算机提取图片中的主要信息,对图像中的每一个像素进行特征的抽取,特征提取可以提取整幅图像的全局特征,也可以将图像划分为若干个部分,对每一个局部提取特征,然后形成一个特征向量。常用的图像特征包括颜色特征,纹理特征,形状特征,空间特征等。图3图像特征提取的方法3.1颜色特征提取如图3所示,特征提取的方法有很多,本文采用的特征提取的方法有颜色特征提取、纹理特征提取和方向梯度特征提取。颜色特征是一种全局特征,描述了图像或图像局部区域所对应的景物的表面性质。颜色直方图是颜色特征的一种特征提取方法,通过统计图像的颜色出现的概率,描述图像颜色的组成分布。使用颜色直方图来描述图像时,当图像出现旋转、移动、伸缩、模糊等物理变换,颜色直方图的数据不会出现很大的差异。但是,由于颜色直方图在统计颜色数据时,忽视了颜色的空间信息,所以对于几幅颜色相近的不同图像,该特征的效果就会很不理想。本文采用了RGB颜色空间、HSV颜色空间、LAB颜色空间以及HSI颜色空间来描述图像的颜色特征,如图4和图5分别是RGB和HSV的颜色空间直方图。为了弥补颜色直方图在空间上的描述缺陷,本文还使用了颜色聚合向量全面地提取了每一幅图像的颜色特征。颜色聚合向量是颜色直方图的一个改进,将颜色分布的统计信息和颜色空间分布信息相结合。 图4RGB直方图 图5HSV直方图3.2LBP纹理特征提取纹理特征同颜色特征一样,也是一种全局特征,与颜色特征不同的是,纹理特征不是基于像素点的特征,而是对一个区域内的多个像素进行统计计算,比较像素点之间的灰度级变化,将其量化的过程。纹理是一种普遍存在的视觉现象,对于噪声的干扰有很强的抵抗能力,但是也非常容易收到光照、反射等的影响。本文采用LBP算子描述图像的局部纹理特征。3.2.1LBP算法描述局部二值模型简称LBP算子,通过记录中心像素点与周围像素点的差异信息,来描述图像的特征。如图6所示,将中心像素83作为阈值,周围的像素与中心像素比较,大于中心像素阈值的记为1,否则记为0,按照一定的顺序记下这一组二进制数据01111100,转化为十进制数2+4+8+16+32=62,即为LBP值。LBP算法结果如图7所示图6LBP算法示意图图7LBP算法结果示意图3.2.2LBP算法实现Step1初始化输入参数Step2确定大小为bsizey* bsizex的邻域Step3确定所有中心点,组成中心点矩阵Step4以中心点矩阵的大小作为窗口,将邻域像素点作为窗口左上角的像素点,Step5窗口矩阵与中心点矩阵进行比较,得到一个比较结果矩阵DStep6计算该邻域像素点的编码权重vStep7result + v*D,计算编码结果矩阵resultStep8按照spoints顺序,改变邻域像素点Step9重复Step4-7Step10spoints结束,得到最终结果resultLBP算法流程图如图8所示图8LBP算法流程3.3Gist特征提取Gist描述子是一种更加“宏观”的局部特征描述算法。它通过自然度、开放度、粗糙度、膨胀度、险峻度这五种描述方法描述空间包络,并表征图像特征。在提取图像的全局特征时,将图像划分为16(4*4)个小块,对每一小块进行Gist特征提取,然后将每一小块的特征联合起来。Gist特征提取的效果图如图9所示。图9Gist描述子3.4梯度方向直方图HOG特征提取梯度方向直方图简称HOG算法,计算统计图像局部区域的梯度直方图。在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。3.4.1HOG算法描述 HOG算法首先将图像划分为若干个cell单元,统计每一个单元的梯度信息,包括梯度方向和梯度值。如图10所示,假设采用4个bin的直方图来统计一个cell单元的梯度信息,也就是将一个cell单元的梯度方向划分为4个放行块,如果一个像素的方向是0-45度,就在第二个bin上计数加一,以此统计每一个cell单元的梯度方向。然后将9个cell单元组合成一个block,最后检测重叠块,将重叠块的HOG特征收集起来,组合成最终的特征向量。 图10HOG算法示意图3.4.2HOG算法实现Step1初始化输入参数——图像I、block大小、angle角度、bin直方图方向个数、cell大小Step2图像灰度化Step3确定X方向和Y方向上的block个数Step4将每一个block划分为4个cell单元Step5计算每一个cell单元的梯度值,将4个cell单元梯度值的平均值作为block的梯度值Step6将所有block的梯度值连接起来,作为整幅图像的HOG特征HOG算法流程图如图11所示图11HOG算法流程3.5特征降维—主成份分析在进行图像的特征提取的过程中,提取的特征维数太多经常会导致特征匹配时过于复杂,消耗系统资源,不得不采用特征降维的方法。所谓特征降维,即采用一个低纬度的特征来表示高纬度。特征降维一般有两类方法特征选择和特征抽取。特征选择即从高纬度的特征中选择其中的一个子集来作为新的特征;而特征抽取是指将高纬度的特征经过某个函数映射至低纬度作为新的特征。常用的特征抽取方法就是PCA。3.5.1主成份分析算法描述PCA即主成份分析,所谓主成份就是能够最大程度代表原数据的投影数据,所以我们只能将原始数据中的噪声和冗余去除,即减弱数据之间的相关性,去除冗余的、带有非常少量的信息或者没有带有信息的数据。通过计算原始数据的协方差矩阵,将除对角线之外的数据归零,降低数据之间的相关性。对角化后的矩阵,对角线上的数据即是原始数据带有的信息量,我们只需取数据值较大的数据,就可以形成新的低纬度的数据向量。3.5.2主成份分析算法实现Step1计算每一行的均值,并对每一行进行零均值化处理Step2计算协方差矩阵Step3计算协方差矩阵的特征值和特征向量Step4去除特征值为负的特征向量,并对剩余向量进行升序排序Step5选择累计方差>总方差*0.9的特征值和特征向量Step6计算投影后的矩阵PCA算法的流程图如图12所示图12PCA算法流程图3.6图像特征集生成对4500幅图像进行颜色特征RGB、LAB、HSV、HIS、颜色聚合向量、边缘特征LBP算子、Gist特征以及梯度方向HOG特征8个特征的提取,将各特征向量PCA降维处理后,连接为一个特征向量。3.6.1特征集生成算法实现Step1输入一幅图像Step2RGB特征提取,并进行降维处理Step3LAB特征提取,并进行降维处理Step4HSV特征提取,并进行降维处理Step5HSI特征提取,并进行降维处理Step6颜色聚合向量特征提取,并进行降维处理Step7LBP特征提取,并进行降维处理Step8Gist特征提取,并进行降维处理Step9HOG特征提取,并进行降维处理Step10将8个特征向量连接为一个特征向量,保存在data矩阵中Step11重复step1-10,直到所有图像都完成了特征提取Step12将data保存为.mat文件3.6.2特征集生成算法流程图图13特征集生成算法流程图4.图像多标签分类算法4.1基于k近邻的图像多标签算法基于k近邻的图像多标签学习算法,即Multi-Label k-Nearest Neighbor简称ML-kNN,通过输入图像训练集,最近邻个数,测试图像实例,拉普拉斯平滑系数,获得输出测试图像实例的标签向量,测试图像实例的实值向量,模型为。该算法原理是通过统计每一个标签类中样本的个数,将多标签问题转化为单标签问题,然后计算后验概率,设定一个阈值,当概率大于这个阈值时,就预测测试实例属于这个标签集。4.1.1ML-kNN算法描述记X为样本实例,是样本实例对应的标签集,假设ML-kNN算法中的最近邻个数是K。是样本x的标签向量,当时,;否则,。另外,表示训练集中样本X的K个最近邻的集合。基于这些近邻的标签集,计算第l标签类中样本X的近邻个数。 (6)对于每一个测试样本t,表示测试实例t有标签l,则表示测试实例t没有标签l,表示在测试样本t的K个近邻中,j个有标签l。因此标签向量表示为 (7)如表1所示,输入参数s是拉普拉斯平滑系数,设置为1。输出参数是标签集Y上的实值向量,对应的后验概率。4.1.2ML-kNN算法实现表1ML-kNN算法输入图像训练集最近邻个数测试图像实例拉普拉斯平滑系数,设置为1输出测试图像实例的标签向量测试图像实例的实值向量过程%计算前期参量%计算后验概率%计算和4.1.3后验概率计算方法实现Step1初始化的最近邻图像集合Step2对初始化Step3根据公式计算第标签类中样本的近邻个数Step4判断有标签,计算,否则计算Step5重复step2、3,直到结束Step6对计算后验概率4.2基于特定标签的图像多标签学习算法基于特定标签的图像多标签学习算法,即multi-label learning with Label specIfic FeaTures简称LIFT,通过输入图像训练集,比例参数,二元分类器和测试实例,输出测试实例的预测标签集,模型为。该算法原理是将训练集的多标签问题转化为单标签问题,按照具体的标签类分成和两个集合,然后按照具体特征进行聚类分析,对每一个标签类,结合二元分类器建立新的分类器模型,完成测试图像的多标注学习。4.2.1LIFT算法理描述其中是训练集。LIFT算法主要分为两个步骤,特定标签模型的建立和分类器模型的建立。在第一步中,LIFT算法使用聚类技术,通过捕获每一个标签的特定特征来产生不同的特征。对每一个标签类,找出正样本训练集和负样本训练集 (8) (9)然后通过k-means聚类函数将这两个集合表示为和。最后,LIFT建立从原始的特征空间到特定标签空间的映射。 (10)第二步中,LIFT算法建立了q个标签分类模型。对于每一个标签,建立一个二元训练集 (11)基于二元训练集,任何二元学习模型都可以被应用,预测图像的标签集。4.2.2LIFT算法实现流程表2LIFT算法输入训练集比例参数二元分类器测试实例输出:测试实例的预测标签集过程for to do计算利用k-means函数进行聚类建立映射endforfor to do利用二元分类器建立新的分类模型endfor4.2.3LIFT算法中从原始特征空间到特定特征空间的映射模型实现Step1判断训练集中实例是否有标签,有则保存到,否则保存到Step2重复step1,直到为所有标签分类结束Step3选择和的元素个数的最小值,计算聚类个数Step4k-means聚类Step5计算原始特征空间中的实例到聚类中心的欧式距离,建立映射4.3基于RBF神经网络的图像多标签学习算法基于径向基函数的神经网络图像多标签学习算法,即Multi-Label Radial Basis Function简称ML-RBF。通过输入训练集,部分参数,比例系数和测试实例,输出测试实例的预测标签集,模型为。基于RBF神经网络的分类器模型的工作方式是根据权值w将输入向量映射到输出空间。从图14中可以看出,输入层中,输入样本有m维特征。隐含层中,把属于每一类的样本进行k-means聚类,得到k个聚类中心,用表示径向基函数的中心。W表示隐含层到输出层之间的权重。图14神经网络结构图4.3.1ML-RBF算法描述假设是训练集,其中是一个图像实例,是实例的对应标签集。为了学习一个多标签分类器来预测待测图像的标签集,学习系统需要输出一个实值函数。给定实例以及其对应的标签集,对于和存在。因此我们可以得到分类器。在ML-RBF算法中,先将输入样本进行聚类分析 (12) (13)在ML-RBF神经网络中的每个输出神经元都与一个可能的类有关,隐含层和输出层之间的权重被认为是从基函数到神经元间的线,其中,因此可以通过最小化平方误差函数来学习权重矩阵 (14)在隐含层中K+1个径向基函数被组合到一起,然后再重新索引。可以被表示为 (15)其中平滑参数表示为 (16)4.3.2ML-RBF算法实现表3ML-RBF算法输入训练集部分参数比例系数测试实例输出测试实例的预测标签集过程for do利用k-means聚类函数将聚类为将所有聚类中心设为第l个标签类的向量 4.4基于利用标签依赖性的多标签学习算法基于利用标签依赖性的多标签学习算法,即multi-label Learning by Exploiting lAbel Dependency简称LEAD。通过输入训练集,贝叶斯网络结构(有向无环图DAG),二元分类器和测试实例,输出测试实例的预测标签集,模型为。4.4.1LEAD算法描述LEAD算法是利用标签之间的相关性,有效地对图像进行多标签学习。首先,根据 (17)将多标签学习问题转化为单标签学习问题,然后我们要寻找标签之间的相关性。标签之间的相关性可以分为两个部分,第一个是标签之间本身就存在的依赖关系,第二个是由于标注了同一幅图像,让这个标签集中的标签建立了依赖关系。一般来说,存在两种贝叶斯网络结构学习方法。一个是基于约束的,另一个是基于分数的。基于约束的方法利用(有条件的)独立关系在变量之间建立因果结构。在进行有条件的独立测试时,假设变量是离散的,或者是与线性关系相联合的高斯函数。基于分数的方法将贝叶斯网络视为指定一个统计模型,然后将学习作为模型选择问题。如表4所示,首先通过建立所有标签的分类模型,找出相应的误差,来消除标签之间的影响。然后找到的贝叶斯网络模型,把它作为x的近似父标签,然后找出所有标签的父标签。在LEAD算法中,我们通过将父标签集直接合并入特征集,来使用贝叶斯网络结构中的链接。4.4.2LEAD算法实现表4LEAD算法为所有标签独立构建分类器,产生误差学习的贝叶斯网络结构G,对于每一个标签,通过合并特征集合中隐含在网络结构G中的构建新的分类器对于测试数据,递归地用分类器和特征集来预测在G中表示的标签的顺序4.5基于朴素贝叶斯的图像多标签学习算法贝叶斯分类的基础是概率推理,就是在各种条件的存在不确定,仅知其出现概率的情况下,如何完成推理和决策任务。概率推理是与确定性推理相对应的。而朴素贝叶斯分类器是基于独立假设的,即假设样本每个特征与其他特征都不相关。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在概率分布上是独立的。朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得非常好的分类效果。基于朴素贝叶斯的图像多标签学习算法,即Multi-Label Naive Bayes简称MLNB。通过输入图像训练集,测试图像实例,拉普拉斯平滑系数,获得输出测试图像实例的标签向量,模型为。4.5.1MLNB算法描述对于每一个测试样本t,表示测试实例t有标签l,则表示测试实例t没有标签l,因此标签向量表示为 (18)使用贝叶斯规则,采用具有条件独立性的假设作为经典的朴素贝叶斯分类器,我们可以得到 (19)其中,条件概率为 (20)是第k个特征条件下的高斯概率密度函数。结合以上两条,最终的标签向量可以被表示为其中, (21)4.5.2MLNB算法实现表5MLNB算法输入图像训练集测试图像实例拉普拉斯平滑系数,设置为1输出测试图像实例的标签向量过程%计算前期参量%计算高斯分布参数的无偏估计%计算后验概率%计算4.6基于流形的图像多标签学习算法基于流形的图像多标签学习算法,即Muti-Label Manifold Learning简称ML2。通过输入训练集,测试实例和训练集标签的线性组合模型modle,输出测试实例的预测标签集,模型为。流形是局部具有欧几里德空间性质的空间。基于流形的图像多标签算法(ML2)就是将流形的概念加入到图像多标签学习中。在传统的多标签学习算法中,标签空间是逻辑空间,标签空间中的标签元素是逻辑标签。而ML2算法中,标签空间的维度不变,但是取值从逻辑空间转化到实际空间,能够更加准确的描述信息。但是,从训练实例中获得标签流形非常困难。因此,本算法根据平滑度假设,将标签空间转化为特征空间。特征流形用图表示,近似地等于重叠的局部线性区域。每个区域的边缘权重可以通过最小的平方编程来计算。标签流形由特征流型和已经存在的逻辑标签空间重构,这个重构可以通过二次编程来实现。根据标签流形,ML2算法可以有效地找到特征空间和标签空间之间的映射。特征流形可以被近似地表示为 (22)然后,可以通过以下n标准最小二乘法问题解决近似值其中, (23)随着拓扑结构的转移,标签流形的重构可以推断出最小化 (24)我们的回归不仅关系到预测和实际值之间的距离,而且还包括它们之间的符号一致性。它导致了最小化 (25)为了将所有维度考虑为一个唯一的限制,并为所有维度提供一个支持向量,则设置L1损失为 (26)为了使数字标签的符号和逻辑标签尽可能地相同,L2的损失被设置为 (27)然后,进行两次近似构造 (28) (29)因此, (30)它是一个分段的二次问题,它的最优解可以被集成为求解一个线性方程组其中, (31),然后,将上述公式的最优解方向作为优化的降序方向,并且下一个迭代的解决方案是通过沿着这个方向的直线搜索算法获得的。根据代表性定理,在相当普遍的条件下,一个学习问题可以用特征空间中的训练例子的线性组合来表达 (32)结合公式(31)可得,并应用内核技术,行搜索算法即可用和表示。5.算法比较与实验5.1数据集与实验配置本文的数据集有两部分组成,分别是训练集和测试集,两个集合中又包含两个集合,分别是data和target,data是所有图像的特征向量的集合,每一幅图片的特征向量包含全局特征和局部特征,例如颜色特征RGB、颜色聚合向量等,纹理特征LBP描述子,Gist描述子等等。target标记每一幅图像是否属于某标签类,假设图像x属于第i个标签类,则该位置的target记为1,否则记为0。5.1.1Image数据集介绍这个数据集包含2000个自然风景图片,每一幅图片都有一组标签。在这个数据集中,所有可能的标签有desert,mountain,sea,sunset和trees5个。其中,超过22%的图片的标签有2个或2个以上。平均每一张图片的标签数是1.24。在本文中,每一幅图片都被使用相同的特征提取方法进行特征提取,形成一个特征向量。在2000幅图片中,前1500幅作为本次实验的训练集,后500幅作为测试集。表6Image数据集标签集图像数标签集图像数标签集图像数desert340desert+sunset21sunset+trees28mountain268desert+trees20desert+mountain+sunset1sea341mountain+sea38desert+sunset+trees3sunset216mountain+sunset19mountain+sea+trees6trees378mountain+trees106mountain+sunse+trees t1desert+mountain19sea+sunset172sea+sunset+trees4desert+sea5sea+trees14Total2000如图15,Image数据集中包含一组植物图像,包括各种种类和颜色的花、树和草,在不同光照强度和阴影下的各种图片。图155.1.2Yeast数据集介绍该数据集包含1500个训练集和917个测试集。每个基因的输入维度是103,每个基因与一组功能类相关联,它们的大小可能超过190。对于该数据集,我们使用两个方法进行分析。5.1.3Corel5k数据集介绍Corel图像库是科雷尔(Corel)公司收集整理的较为丰富的图像库涵盖多个主题。Corel图像库由若干个CD组成,每个CD包含100张大小相等的图像,可以转换成多种格式。每张CD代表一个语义主题,例如有desert,mountain,sea,sunset等。Corel5k图像库通常被分成三个部分 4000张图像作为训练集,500张图像作为验证集用来估计模型参数,其余500张作为测试集评价算法性能。使用验证集寻找到最优模型参数后4000张训练集和500张验证集混合起来组成新的训练集。该图像库中的每张图片被标注1~5个标注词,训练集中总共有12个标注词,在测试集中总共使用了12个标注词。如图16是一组夕阳图,包括不同时间段,不同环境下的夕阳图像,如图17是一组花景的图像,包括远近,各种角度,不同光照下的花的图像,如图18是一组山景图,包括远景、近景、不同光照,不同周边景色的各种山景图像图16 图17图185.1.4实验配置在本文实验中,一共研究了3个现实生活中的多标签数据集。对于每个数据集,我们用,,,来描述数据集包含的实例数,特征总数,可能的标签类数,标签类。另外,表示标签基数,衡量平均每个例子的可能标签数;表示标签密度,通过可能的标签数规范的值;表示不同的标签集,统计不同标签集的数量;表示不同标签集的比例。表7实验中数据集的特征值Data set|S|dim(S)L(S)LCard(S)LDen(S)DL(S)PDL(S)image200029451.2360,247200.010yeast2417103144.2370.3031980.082Corel5k50005003743.5220.00931750.635本文主要比较了6个多标签分类算法,分别是LEAD算法,具体特征多标签分类算法LIFT,k近邻多标签分类方法ML-kNN,MLNB算法,神经网络多标签分类算法ML-RBF,基于流形的图像多标签算法。表8结果比较数据集汉明损失LEADLIFTML-kNNMLNBML-RBFML2Image0.173±0.0110.156±0.0170.170±0.0080.196±0.0130.163±0.0150156±0.004Yeast0.202±0.0110.193±0.0100.195±0.0110.209±0.0090.195±0.0110.196±0.003Corel5k0.193±0.0100.196±0.0130.237±0.0370.452±0.0150.172±0.0150.010±0.001数据集1-错误率LEADLIFTML-kNNMLNBML-RBFML2Image0.313±0.0260.266±0.0370.320±0.0260.366±0.0420.294±0.0330.272±0.009Yeast0.235±0.0250.221±0.0200.228±0.0290.237±0.0370.233±0.0370.228±0.009Corel5k0. 0.204±0.0300.158±0.0200.266±0.0370.175±0.0190.173±0.0110.247±0.007数据集覆盖率LEADLIFTML-kNNMLNBML-RBFML2Image0.184±0.0070.168±0.0190.194±0.0201.097±0.1320.904±0.0150.168±0.007Yeast0.455±0.0190.452±0.0150.447±0.0146.456±0.2500.352±0.2440.454±0.004Corel5k0.158±0.0200.194±0.0200.204±0.0300.173±0.0110.221±0.0200.372±0.006数据集排名损失LEADLIFTML-kNNMLNBML-RBFML2Image0.164±0.0180.143±0.0180.175±0.0190.204±0.0300.158±0.0200.143±0.007Yeast0.172±0.0150.163±0.0110.166±0.0150.175±0.0170.169±0.0170.168±0.003Corel5k0.221±0.0200.175±0.0190.173±0.0110.266±0.0370.194±0.0200.163±0.003数据集平均精度LEADLIFTML-kNNMLNBML-RBFML2Image0.799±0.0170.825±0.0230.792±0.0170.760±0.0290.809±0.0210.824±0.006Yeast0.761±0.0200.770±0.0170.765±0.0210.753±0.0220.766±0.0210.765±0.005Corel5k0.770±0.0200.870±0.0210.800±0.0190.821±0.0170.793±0.0110.297±0.0025.2实验结果与分析多标签学习的性能评估比传统的单标签学习要复杂得多,因为每一个例子都可以与多个标签相关联。在本文实验中用于评估算法性能的是汉明损失,1-错误率,覆盖率,排名损失和平均精度五个衡量标准。这些衡量标准针对每一个测试实例评估预测标签的性能,然后再返回所有测试实例的平均值。在每一个数据集上,我们进行了十次交叉验证,并记录了每个衡量标准的平均值和标准偏差,减少数据的偶然性,增加数据的准确性和可信度。对于汉明损失,1-错误率,覆盖率和排名损失,值越小,算法的性能就越好,对于平均精度,值越大,算法的性能越好。如表8是六个算法的性能比较结果,为了能够更加清晰地比较出五个算法的性能高低,本文根据表8的数据生成了一个柱形图表,并且用A1>A2表示算法A1的性能优于算法A2,则A1的分值+1,A2的分值-1,通过算法两两之间的比较,计算每个算法的总分值,将六个算法进行性能排序。5.2.1Image数据集上六个算法的五个性能结果比较与分析如表9和图19所示,分析了在数据集Image中,六个算法的性能比较和排序。图19基于数据库Image的五个算法的性能比较表9基于数据库Image的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A2>A1,A3>A1,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A51-错误率A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5覆盖率A2>A1,A1>A3,A1>A4,A1>A5,A2>A3,A2>A4,A2>A5,A3>A4,A3>A5,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5排序损失A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5平均精度A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5整体排序LIFT(23)>ML2(18)>ML-RBF(1)>LEAD(-7)>ML-kNN(-11)>MLNB(-25)从图表中,可以清晰地看出算法LIFT的汉明损失、1-错误率、覆盖率、排名损失、平均精度五个算法评价标准都是最优的,因此最终LIFT算法性能最优。5.2.2Yeast数据集上六个算法的五个性能结果比较与分析如表10和图20分析了在数据集Yeast中,六个算法的性能比较和排序。表10基于数据库Yeast的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A2>A1,A3>A1,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A3>A6,A6>A4,A5>A61-错误率A2>A3,A2>A5,A2>A1,A2>A4,A3>A5,A3>A1,A3>A4,A5>A1,A5>A4,A1>A4,A6>A1,A2>A6,A6>A4,A6>A5覆盖率A5>A3,A5>A2,A5>A1,A5>A1,A3>A2,A3>A1,A3>A4,A2>A1,A2>A4,A1>A4,A6>A1,A2>A6,A3>A6,A6>A4,A5>A6排序损失A2>A3,A2>A5,A2>A1,A2>A4,A3>A5,A3>A1,A3>A4,A5>A1,A5>A4,A1>A4,A6>A1,A2>A6,A3>A6,A6>A4,A6>A5平均精度A2>A5,A2>A3,A2>A1,A2>A4,A5>A3,A5>A1,A5>A4,A3>A1,A3>A4,A1>A4,A6>A1,A4>A6,A6>A2,A6>A5整体排序LIFT(19) >ML-kNN(9)>ML-RBF(6)>ML2(3)>LEAD(-12)>MLNB(-22)图20基于数据库Yeast的五个算法的性能比较从图表中,可以清晰地看出只有覆盖率中MLNB的算法值比较大,性能最差,五个算法的汉明损失、1-错误率、排名损失、平均精度四个算法评价标准差距不大,但是LIFT还是有性能优势,因此最终LIFT算法性能最优。5.2.3Corel5k数据集上六个算法的五个性能结果比较与分析如表11和图21分析了在数据集Corel5k中,六个算法的性能比较和排序。图21基于数据库Corel5k的五个算法的性能比较表11基于数据库Corel5k的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A5>A1,A5>A2,A5>A3,A5>A4,A1>A2,A1>A3,A1>A4,A2>A3,A2>A4,A3>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A51-错误率A2>A5,A2>A4,A2>A1,A2>A3,A5>A4,A5>A1,A5>A3,A4>A1,A4>A3,A1>A3,A1>A6,A2>A6,A6>A3,A4>A6,A5>A6覆盖率A1>A4,A1>A2,A1>A3,A1>A5,A4>A2,A4>A3,A4>A5,A2>A3,A2>A5,A3>A5A1>A6,A2>A6,A3>A6,A4>A6,A5>A6排序损失A3>A2,A3>A5,A3>A1,A3>A4,A2>A5,A2>A1,A2>A4,A5>A1,A5>A4,A1>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A5平均精度A2>A4,A2>A3,A2>A5,A2>A1,A4>A3,A4>A5,A4>A1,A3>A5,A3>A1,A5>A1,A1>A6,A2>A6,A3>A6,A4>A6,A5>A6整体排序LIFT(12)>ML-RBF(1)>LEAD(-1)>ML2(-3)>MLNB(-4)>ML-kNN(-5)从图表中,可以清晰地看出汉明损失中ML-RBF算法性能最优,1-错误率和平均精度中LIFT算法性能最优,覆盖率中LEAD算法的性能最优,排序损失中ML-kNN算法的性能最优,根据每个算法的排序分值,最终LIFT算法性能最优。6.系统设计与实现6.1需求分析6.1.1系统功能需求分析本系统共有两大功能模块,图像多标签分类功能模块和图像检索功能模块,图像检索功能模块中又分为图像相似图搜索和图像标签搜索。图像多标签分类功能模块给用户选择的图像进行多标签自动标注,将标注的结果显示在文本框中。图像相似图搜索功能模块通过获取用户选择的图像标签集,在图像库中进行标签集匹配,找到相似的图像,在界面中显示。图像多标签搜索功能模块用户在选择列表中选择搜索的标签,系统在图像库中,通过标签匹配,找到合适的图像,显示在界面中。6.1.2系统用例图图22系统用例图6.1.3数据描述名称训练图像信息描述已经标注的图像集,用于学习图像多标签分类模型定义训练图像信息=图像名+图像路径+图像标签标记集+图像特征向量名称标签信息描述可能的标签集合,用于实际标注图像类别定义标签信息= 标签名+标签位置名称测试图像信息描述未标注的图像集,用于测试图像多标签分类模型定义测试图像信息=图像名+图像路径+图像特征向量名称图像预测多标签信息描述未标注的图像集经过图像多标签分类后的预测标签信息定义预测多标签信息=预测多标签标志集+预测多标签集6.1.4数据流图本系统的顶层数据流图如图23所示图23顶层数据流图标签图像检索系统的第一第二层数据流图图24和图25所示图24标签图像检索系统第一层数据流图图25标签图像检索系统第二层数据流图相似图检索系统的第一第二层数据流图图26和图27所示图26相似图检索系统第一层数据流图图27相似图检索系统第二层数据流图图像想不起标注系统的第一第二层数据流图图28和图29所示图28图像多标签标注系统第一层数据流图图29图像多标签标注系统第二层数据流图6.2系统详细设计6.2.1数据结构设计无论是训练图像还是测试图像,一幅图像都对应唯一的特征向量,但是对应多个标签。4500幅训练图像组成训练集,500幅测试图像组成测试集。下文详细介绍各数据(1)训练图像标签标记train_target:是一个12维的列向量,表示12个景色标签sky,sun,water,clouds,tree,people,grass,buildings,flowers,sand,cars,desert,当该图像有某一个标签i时,train_target[i]=1,否则,train_target[i]=-1。(2)训练图像特征train_data由图像的特征空间表示,是一个横向量。组成该特征空间的图像特征包括颜色特征RGB,LAB,HSV,HIS,颜色聚合向量,LBP算子,Gist描述子,HOG描述子8个特征。(3)测试图像标签标记test_target结构同train_target一样,与train_target不同的是,train_target是人工标注的,在系统运行过程中的不变量,而test_target是要通过系统的多标签自动标注功能生成的,是随着输入图像的变化而变化的变量。(4)测试图像特征test_data结构同train_data一致,与train_data不同的是train_data的值是提前生成的,是不变量,而test_data是根据输入的图像,通过特征提取和降维获得的。表格12数据结构数据名数据意义数据结构train_data训练图像特征由8个特征向量组成的横向量train_target训练图像标签标记12维的列向量test_target测试图像标签标记12维的列向量test_data测试图像特征由8个特征向量组成的横向量6.2.2功能设计及界面展示本系统设计的功能有图像多标签搜索功能,图像载入功能,图像相似图搜索功能,特征提取功能,图像多标签自动标注功能。本系统的主界面如图30所示,一个选择列表框罗列了本系统的所有可能标签,用于用户选择搜素的标签,7个按钮,每一个按钮表示一个小的功能,一个text编辑框,用于显示图像的标签集,一个显示框,用于显示图像。图30主界面(1)图像多标签搜索功能流程图如图31所示,在选择列表中选择用户想要搜索的图像标签,系统从图像库中进行查找,将查找的结果显示出来。另外在显示过程中还有显示下一张查找的结果图像和显示上一张查找结构图像两个子功能。图31图像搜索流程图查找下一张图片功能由于用户在查找图片时,符合用户查找条件的图像不止一张,本系统在进行标签匹配时,将所有符合查找条件的图像保存在一个变量中,实现查找下一张图片的功能。当查找到最后一张图片时,下一张会显示第一张图片,形成循环查找。查找上一张图片功能用户在浏览检索的图像时,可能会需要查看已经查看过的图像,就需要查看上一张图像的功能。本系统在进行标签匹配时,将所有符合查找条件的图像保存在一个变量中,实现查找上一张图片的功能。当查看第一张图片时,上一张会显示最后一张图片,形成循环查找。本系统图像搜索功能如图32所示,在列表框中选择一个标签,点击搜索按钮,搜索到的图像就会在显示框中显示,点击下一张按钮就会显示下一张符合搜索条件的图像,点击上一张在按钮就会显示上一张符合搜索条件的图像。图32图像搜索(2)图像载入功能流程图如图33所示,用户输入载入图像的命令,系统接受后,打开图像文件选择界面,用户选择合适的图像,将图像路径返回给系统,然后在界面中显示该图像。图33图像载入流程图本系统的图像载入功能界面如图34所示,点击图像载入按钮,弹出文件选择界面,可以选择的是各种格式的图像文件,选择图像后,点击打开,显示框就会显示该图像。图34图像载入(3)图像相似图搜索功能流程图如图35所示,首先载入一张图像,找到该图像的多标签集合,通过多标签集合的匹配,找到相似的图像,在界面中显示出来。图35相似图搜索流程(4)特征提取功能流程图如图36所示,用户输入特征提取的命令,系统接收命令后,调用特征提取方法,生成RGB颜色直方图、HSV颜色直方图以及Gist描述算子,在figure中显示,如图37所示。图36特征提取流程图图37特征提取结果示意图(5)图像多标签自动标注功能流程图如图38所示,首先载入一张待标注的测试图像,显示在界面上,然后对图像进行特征提取和降维,通过LIFT算法建立分类器,然后对待测试图像进行多标签标注,并将标签显示在界面中。在这个功能中还有一个显示提取的图像特征的子子功能。图38图像自动标注流程图本系统的图像多标签标注功能如图39所示,载入图像后,点击多标签分类按钮,在文本编辑框中就会显示该图像的预测标签。图39图像多标签分类6.3系统测试测试1名称标签图像检索测试目的测试标签图像检索功能内容选择搜索图像的标签条件,搜索功能检查,下一张、上一张功能检查,图像显示检查测试用例一共12个测试用例,每一个用例的输入是一个不同的标签条件,输出属于这个标签的图像。表13测试用例测试用例输入标签条件输出图像名1sun1000.jpeg2sky1000.jpeg3water1013.jpeg4clouds1006.jpeg5trees1003.jpeg6people1010.jpeg7grass1013.jpeg8building1077.jpeg9flowers13000.jpeg10sand12050.jpeg11cars21000.jpeg12desert41024.jpeg测试2名称相似图检索测试目的测试相似图检索功能内容载入图像,检索功能检查测试用例一共测试了6个用例,每一个用例输入的图像所对应的标签各不相同,输出的图像是与输入图像标签最相近的图像。表14测试用例测试用例输入图像名输出图像名11000.jpeg182099.jpeg210000.jpeg335046.jpeg312000.jpeg335095.jpeg413000.jpeg182099.jpeg517002.jpeg182099.jpeg61080.jpeg1077.jpeg测试3名称图像多标签标注测试目的测试图像多标签标注功能内容载入图像,图像多标签标注测试,显示预测标签集测试用例一共测试20个用例,每10个用例是一组相似的图像,每一个用例输入不同的一幅图像,使用LIFT算法进行多标签标注,输出相应的标签。由表15的结果比较可知,大部分的多标签标注能够准确标注其中的一部分,比如用例1,4,11,13,14等,也有一部分用例的标注不准确,比如用例3,6,10,12等。表15测试用例测试用例输入图像名输出标签实际标签11000.jpegsun,water,flowersun,sky21001.jpegsun,water,flowersky,trees31002.jpegsunsky41003.jpegsun,water,flowersun,sky51004.jpegsun,flowersun,sky ,clouds61005.jpegsunsky ,clouds71006.jpegsun,water,flowersky ,clouds81007.jpegsun,flowersky ,clouds91008.jpegsun,flowerclouds ,people101009.jpegsunsky,trees1113000.jpegsun,water,flowerflower1213001.jpegsun,waterflower1313002.jpegsun,water,flowerflower1413003.jpegsun,water,flowerflower1513004.jpegsun,water,flowerflower1613005.jpegsun,water,flowerflower1713006.jpegsun,water,flowerflower1813007.jpegsun,water,flowerflower1913008.jpegsun,waterflower2013009.jpegsun,water,flowerflower7.结论在本次实验中,我们主要完成了图像特征的提取,并对图像进行手工标注,建立一个拥有图像特征向量和标签集合的完整数据集。然后针对这些数据集,使用不同多标注算法进行训练测试,利用六个算法衡量标准对每一个算法进行评估,确定算法的优越性。在未来还会有专家和学者不断地研究多标签学习问题,越来越多的算法会被提出来,越来越多的算法会被改进,算法的性能也会越来越好。致谢在此毕业论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。其次要感谢的是我的同学们,他们热情好学,乐于助人。在毕业设计期间,我的同学们和我一起查找资料,互相讨论,互相帮助,无论是学习上还是生活上都给了我很大的帮助。参考文献[1]陈智.基于卷积神经网络的多标签场景分类[D].计算机科学与技术学院,20153-15.[2]檀何凤.基于标签相关性的KNN多标签分类方法研究[D].安徽大学,20152-17.[3]滕舟.基于EM的非监督图像标签区域标定算法[J].计算机应用与件,2012,29(2)6-8.[4]黄莉莉,汤进,孙登第,罗斌.基于多标签ReliefF的特征选择算法[J].计算机应用,2012,32(10)2-4.[5]黄焱,孙剑,谷雨.图像多标签学习综述[J].云南民族大学学报,2011,20(6)490-492.[6]徐美香,孙福明,李豪杰.主动学习的多标签图像在线分类[J].中国图像图形学报,2015,20(2)238-239.[7]徐晓丹,姚明海,刘华文,郑忠龙.基于k-NN的多标签分类预处理方法[J].计算机科学,2015,42(5)106-107.[8]檀何凤.基于标签相关性的KNN多标签分类方法研究[D].安徽大学,2015.[9]徐美香,孙福明,李豪杰.主动学习的多标签图像在线分类[J].中国图像图形学报,2015,20(2)238-239.[10]张振海,李士宁,李志刚,陈昊.一类基于信息熵的多标签特征选择算法[J].计算机研究与发展,2013,50(6)23.[11]Min-Ling Zhang.ML=RBFRBF Neural Networks for Multi-Label Learning[J].College of Computer and Information Engineering,Hohai University,Nanjing,2010,(210098)2-10.[12]Min-Ling Zhang,Kun Zhang.Multi-Label Learning by Exploiting Label Dependency [J].National Key Laboratory for Novel Software,Technology,Nanjing,University,2011,(210093)1-9.[13]Min-Ling Zhang.LIFTMulti-Label Learning with Label-Specific Features[J].National Key Laboratory for Novel Software, Technology,Nanjing ,University,2011,(210093)1-6.[14]Min-Ling Zhang,Zhi-Hua Zhou.Ml-knnA Lazy Learning Approach to Multi-Label Learning [J].National Key Laboratory for Novel Software,Technology,Nanjing ,University,2011,(210093)1-26.[15]Min-Ling Zhang,Jose M.Pena,Victor Robles. Feature Selection for Multi-Label Naive Bayes Classification [J].Department of Computer Architecture and Technology, Technical University of Madrid, Madrid, 2011,(210093)1-20.[16]Zhang Shi Chao,Zhao Jian Min.A Multi-Label Classification Algorithm Based on Label-Specific Features[J].Journal of Nature Sciences,2011,16(6)520-523.[17]Lin Feng,Jing Wang,Sheng Lan Liu,and Yao Xiao.Multi-label dimensionality reduction and classification with extreme learning machines[J].Journal of Systems Engineering and Electronics,2014,25(3)502-512.[18]He Zhi fen,Yang Ming,Liu Hui Dong.Multi-task Joint Feature Selection for Multi-label Classification[J].Chinese Journal of Electronics,2015,24(2)281-286.[19]Li Hong,,Li Ping,Guo Yue jian,Wu Min.Multi-label dimensionality reduction based on semi-supervised discrimination analysis [J].ent South Univ Technol,2010,171310-1318.[20]Fang Yu Chun,Cheng Gong,Luo Jie.Multi-label learning of face demographic classification for correlation analysis[J].Shanghai Univ,2011,15(5)352-355.
目录
摘要 1
关键字 1
Abstract. 1
Keywords 1
1.绪论 1
1.1问题的提出 1
1.2研究背景 2
1.2.1国内外研究状况 2
1.2.2目前存在的问题 2
1.3研究内容和技术路线 3
1.3.1研究内容 3
1.3.2研究技术路线 3
2.相关工作 3
2.1图像多标签标注 3
2.2算法性能衡量标准 4
2.2.1 汉明损失(Hamming loss) 4
2.2.2 排序损失(Ranking loss) 4
2.2.3 1错误率(One error) 4
2.2.4 覆盖率(Coverage) 4
2.2.5 平均精度(Average precision) 5
3.特征提取及特征降维 5
3.1颜色特征提取 5
3.2LBP纹理特征提取 6
3.2.1LBP算法描述 6
3.2.2LBP算法实现 7
3.3Gist特征提取 8
3.4梯度方向直方图HOG特征提取 8
3.4.1HOG算法描述 9
3.4.2HOG算法实现 9
3.5特征降维—主成份分析 10
3.5.1主成份分析算法描述 10
3.5.2主成份分析算法实现 10
3.6图像特征集生成 11
3.6.1特征集生成算法实现 11
3.6.2特征集生成算法流程图 12
4.图像多标签分类算法 12
4.1基于k近邻的图像多标签算法 12
4.1.1MLkNN算法描述 12
4.1.2MLkNN算法实现 13
4.1.3后验概率计算方法实现 13
4.2基于特定标签的图像多标签学习算法 14
4.2.1LIFT算法理描述 14
4.2.2LIFT算法实现流程 14
4.2.3LIFT算法中从原始特征空间到特定特征空间的映射模型实现 15
4.3基于RBF神经网络的图像多标签学习算法 15
4.3.1MLRBF算法描述 16
4.3.2MLRBF算法实现 16
4.4基于利用标签依赖性的多标签学习算法 17
4.4.1LEAD算法描述 17
4.4.2LEAD算法实现 17
4.5基于朴素贝叶斯的图像多标签学习算法 18
4.5.1MLNB算法描述 18
4.5.2MLNB算法实现 18
4.6基于流形的图像多标签学习算法 19
5.算法比较与实验 21
5.1数据集与实验配置 21
5.1.1Image数据集介绍 21
5.1.2Yeast数据集介绍 21
5.1.3Corel5k数据集介绍 21
5.1.4实验配置 22
5.2实验结果与分析 23
5.2.1Image数据集上六个算法的五个性能结果比较与分析 24
5.2.2Yeast数据集上六个算法的五个性能结果比较与分析 24
5.2.3Corel5k数据集上六个算法的五个性能结果比较与分析 25
6.系统设计与实现 26
6.1需求分析 26
6.1.1系统功能需求分析 26
6.1.2系统用例图 27
6.1.3数据描述 27
6.1.4数据流图 28
6.2系统详细设计 29
6.2.1数据结构设计 29
6.2.2功能设计及界面展示 30
6.3系统测试 35
7.结论 37
致谢 37
参考文献 38
基于多标签学习的图像检索系统研究与设计
引言
f LBP texture, Gist characteristics and HOG characteristics,and generate the final training set. And using the main component analysis (PCA) algorithm to reduce the dimensional processing of the generated eigenvectors, generate the final training set. Then, in order to select the most appropriate the image multi-label learning algorithm for the system, in this paper, with the method of LIFT algorithm, ML -knn algorithm, LEAD algorithm, MLNB algorithm, ml-rbf algorithm, ML2 algorithm, multi-label tests are carried out in different training sets, and the performance measurements of the algorithms are calculated. By analyzing the performance comparison of these six algorithms, the optimal algorithm is applied to the image retrieval system, which is the method of labeling the image of the system. According to the algorithm, the image is multi-labeled and the image is retrieved.1.绪论1.1问题的提出现在的社会是一个高速发展的社会。自从计算机问世以及因特网普及以来,科技发达,信息流通,我们的社会面临着信息爆炸的威胁。网络拉近了人与人之间的距离,人们之间的交流越来越密切,生活也越来越方便。然而,多媒体化和信息化的普遍带来的是数据的急剧增长,尤其是图像信息。在巨大的数据量中包含着庞大的有用信息,当然也存在着没有用的、无关的、冗余的垃圾信息。面对如此庞大的信息量,如何快速而又有效地从中整理并筛选出能够直接为社会带来帮助的信息是一个急需解决的问题。在这样的背景下,图像多标签分类技术应运而生。目前,我们的搜索引擎大多使用的是关键字搜索技术。关键字搜索技术实现简单,符合大多用户的使用习惯,但是关键字搜索主要适用于文本检索,对于图像搜索,它就存在许多不足。首先,有些图像是无法用文本描述清晰的;其次,手工标注效率太低,面对如今大量的图像信息资源,手工标注已经无法满足需求;最后,手工标注太过主观化,不同的人对于同一幅图像有不同的理解,造成标注不一致,从而导致检索的不完全性和不准确性。而且,根据实际情况,一幅图像不可能独立地属于哪一个类别,每一幅图像中都会包含许多信息,有些信息是相互独立的,有些信息是相互关联的。每一个独立的信息点都可以作为该图像的一个标签,例如图1和图2,图1可以有标签mountain和trees,图2可以有标签sea和sunset。我们在寻找某些图片时,也可能会有多个需求,为了满足用户的需求,我设计了根据多标签搜索的图像搜索引擎这么一个系统。图1 图21.2研究背景1.2.1国内外研究状况在信息技术和多媒体技术迅速发展的今天,人们都习惯于利用网络或者其他通信手段传输信息,包括文本信息、图像信息、视频信息、声音信息等,因此,越来越多的数据信息被堆积起来,促进了数据挖掘研究和数据分析研究的产生和发展。这些数据具有庞大、复杂、重复、无序、模糊等特点,无法直接利用。如果没有强大的数据处理和分析技术,我们将无法把这些图像数据信息完美地运用起来。如此,基于多标签学习的图像分类技术就有了被研究的必要性。图像多标签学习技术是多领域交叉的研究技术,包括图像处理、数据挖掘、多标签分类等。目前有许多国内外的专家和学者研究这个技术,并且做出了许多贡献。滕舟提出了基于EM的非监督的多标签图像分类技术研究、陈智提出了基于卷积神经网络的多标签场景分类、焦阳提出了基于主动学习的多标签分类研究、王占东提出了基于多实例多标签学习的图像分类标注等。1.2.2目前存在的问题虽然,由研究人员提出的图像多标签学习算法已经有很多,但是算法中仍有各种缺陷和不足。图像多标签学习的研究者们都发现了在图像多标签学习的研究过程中存在着客观的、难以解决的问题。首先是语义鸿沟的问题①图像的视觉信息的提取过程中,可能由于抽样的偶然性、信息提取的不完整性等原因,导致视觉内容的部分损失,使得图像视觉信息与特征之间存在差异。②在图像的视觉信息提取的过程中,有些图像的视觉信息十分相似,比如某些小草和禾苗,这就导致了图像的视觉信息和标签之间的差异。③在不同的场景下,同一个图像被赋予不同的含义,或者不同人从不同角度看同一个图像,也各有不同,这是图像的视觉信息与高层含义之间的差异。其次是多标签学习的问题。近年来,随着大数据时代的迅速发展,简单的单标签学习已经不能适应庞大数据信息的准确性和实用性需要。因此,多标签学习逐渐成为了数据挖掘和数据分析技术中分类研究的热点和难点。相对于单标签学习而言,多标签学习更加符合现实中的信息数据应用,但是其复杂程度也是呈几何倍数增加,这又让多标签学习成为了分类研究中的难点。标签之间的相关性使得研究者们难以快速地找到样本训练集,准确地确定分类的模型。有些标签不是常见的特征,有关这些标签的样本训练集元素个数太少,难以对这些特征准确建模,提高了分类的难度。1.3研究内容和技术路线1.3.1研究内容(1)图像特征提取和降维,生成图像数据集。特征提取是图像处理的一个初级运算,是图像处理之前的准备工作。选择一组合适的图像,对图像进行颜色特征、纹理特征、边缘特征提取,生成特征向量,并对特征向量进行降维处理。(2)基于生成的数据集,实现多个多标签学习算法,并进行性能比较。通过1-错误率,汉明损失、排序损失、覆盖率和平均精度5个算法性能衡量标准的比较,分析实验结果并选择性能最佳的算法,在系统中使用性能最佳的图像多标签算法给测试图像进行多标签标注。(3)使用最优性能的多标签算法完成系统,本系统的主要功能有三个,根据标签进行图像搜索、根据图像进行相似图的搜索和对图像进行多标签自动标注。将选择的多标签学习算法应用于本系统,完成本系统的设计。1.3.2研究技术路线(2)了解图像特征提取的相关知识,对特征提取的相关方法进行算法实现,生成图像集的特征向量。(3)了解数据降维的相关知识,实现PCA算法,并对以上生成的特征向量进行降维处理,生成最后的数据集。(4)基于生成的数据集,实现并运行六个多标签学习算法,对运行结果进行比较分析,找到性能相对最优的算法。(5)设计实现图像检索系统。(6)对该系统进行运行测试。2.相关工作2.1图像多标签标注每个标签之间的相关性信息可以为图像多标注提供有效的帮助,从而提高多标签分类器的算法性能,提高分类准确率。因此,有效利用标签之间的相关性是图像多标注的一个重要课题。目前,我们将标签之间的相关性分为三类第一类是一阶方法将图像多标签分类问题转化为一系列独立的二元分类问题。一阶方法在概念上非常容易理解,算法实现非常简单,但是由于完全没有考虑标签之间的相关性,默认所有标签都是相互独立的,所以可能效率比较低。第二类是二阶方法将两个标签结对,考虑成对标签之间的关系。由于二阶算法在一定程度上考虑了标签之间的相关性,相对于一阶算法来说,算法效率有所提高。但是在现实情况下,可能会出现标签相关性超越二阶的真实应用,所以我们提出了高阶方法。第三类是高阶方法考虑所有标签之间的相关性。高阶方法由于充分考虑到了所有标签之间的相关性,完全真实地反映了现实世界中应用的情况,但是很可能会出现高复杂性的模型,无法解决大规模的学习问题。2.2算法性能衡量标准因为多标签数据集的多样性和不确定性,简单而单一的分类器性能评估的方式已经不再适用。为了准确衡量和比较多标签分类算法性能的优劣,专家和学者们提出了许多评价标准,然后结合多个不同的评价标准,从不同的角度分别比较多标签分类算法的性能的高低。2.2.1汉明损失(Hamming loss) (1)汉明损失相当于多个样本标签预测错误率的平均值。如果把真实标签集和测试标签集作为两个数学集合,那么对称差就是两个集合的差集,汉明损失就等价于对称差占两个集合并集的比例。2.2.2排序损失(Ranking loss) (2)排序损失表示,样本实例在进行测试时的特征排序失误率。排序损失的数值越小,多标签分类算法的性能就越好。2.2.3 1-错误率(One error) (3)根据判别函数计算函数值,将函数值由大到小排序,我们将大于指定阈值的判别函数所对应的特征集合称为测试标签集。如果判别函数的最大的函数值对应的特征不属于实际特征集,那么就认为这个样本实例出现1-错误率。出现1-错误率的样本实例数与总的样本实例数的比值就是1-错误率的值。2.2.4覆盖率(Coverage) (4)覆盖率表示计算平均要进行几次排序才能测试出整个真正的标签集。覆盖率的数值越高,分类算法的性能就越低。2.2.5平均精度(Average precision) (5)平均精度的数值越小,分类算法的性能就越差,平均精度的数值为1时,分类算法的性能最好。3.特征提取及特征降维特征提取是图像处理的一个初级运算,是图像处理之前的准备工作。它是指使用计算机提取图片中的主要信息,对图像中的每一个像素进行特征的抽取,特征提取可以提取整幅图像的全局特征,也可以将图像划分为若干个部分,对每一个局部提取特征,然后形成一个特征向量。常用的图像特征包括颜色特征,纹理特征,形状特征,空间特征等。图3图像特征提取的方法3.1颜色特征提取如图3所示,特征提取的方法有很多,本文采用的特征提取的方法有颜色特征提取、纹理特征提取和方向梯度特征提取。颜色特征是一种全局特征,描述了图像或图像局部区域所对应的景物的表面性质。颜色直方图是颜色特征的一种特征提取方法,通过统计图像的颜色出现的概率,描述图像颜色的组成分布。使用颜色直方图来描述图像时,当图像出现旋转、移动、伸缩、模糊等物理变换,颜色直方图的数据不会出现很大的差异。但是,由于颜色直方图在统计颜色数据时,忽视了颜色的空间信息,所以对于几幅颜色相近的不同图像,该特征的效果就会很不理想。本文采用了RGB颜色空间、HSV颜色空间、LAB颜色空间以及HSI颜色空间来描述图像的颜色特征,如图4和图5分别是RGB和HSV的颜色空间直方图。为了弥补颜色直方图在空间上的描述缺陷,本文还使用了颜色聚合向量全面地提取了每一幅图像的颜色特征。颜色聚合向量是颜色直方图的一个改进,将颜色分布的统计信息和颜色空间分布信息相结合。 图4RGB直方图 图5HSV直方图3.2LBP纹理特征提取纹理特征同颜色特征一样,也是一种全局特征,与颜色特征不同的是,纹理特征不是基于像素点的特征,而是对一个区域内的多个像素进行统计计算,比较像素点之间的灰度级变化,将其量化的过程。纹理是一种普遍存在的视觉现象,对于噪声的干扰有很强的抵抗能力,但是也非常容易收到光照、反射等的影响。本文采用LBP算子描述图像的局部纹理特征。3.2.1LBP算法描述局部二值模型简称LBP算子,通过记录中心像素点与周围像素点的差异信息,来描述图像的特征。如图6所示,将中心像素83作为阈值,周围的像素与中心像素比较,大于中心像素阈值的记为1,否则记为0,按照一定的顺序记下这一组二进制数据01111100,转化为十进制数2+4+8+16+32=62,即为LBP值。LBP算法结果如图7所示图6LBP算法示意图图7LBP算法结果示意图3.2.2LBP算法实现Step1初始化输入参数Step2确定大小为bsizey* bsizex的邻域Step3确定所有中心点,组成中心点矩阵Step4以中心点矩阵的大小作为窗口,将邻域像素点作为窗口左上角的像素点,Step5窗口矩阵与中心点矩阵进行比较,得到一个比较结果矩阵DStep6计算该邻域像素点的编码权重vStep7result + v*D,计算编码结果矩阵resultStep8按照spoints顺序,改变邻域像素点Step9重复Step4-7Step10spoints结束,得到最终结果resultLBP算法流程图如图8所示图8LBP算法流程3.3Gist特征提取Gist描述子是一种更加“宏观”的局部特征描述算法。它通过自然度、开放度、粗糙度、膨胀度、险峻度这五种描述方法描述空间包络,并表征图像特征。在提取图像的全局特征时,将图像划分为16(4*4)个小块,对每一小块进行Gist特征提取,然后将每一小块的特征联合起来。Gist特征提取的效果图如图9所示。图9Gist描述子3.4梯度方向直方图HOG特征提取梯度方向直方图简称HOG算法,计算统计图像局部区域的梯度直方图。在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。3.4.1HOG算法描述 HOG算法首先将图像划分为若干个cell单元,统计每一个单元的梯度信息,包括梯度方向和梯度值。如图10所示,假设采用4个bin的直方图来统计一个cell单元的梯度信息,也就是将一个cell单元的梯度方向划分为4个放行块,如果一个像素的方向是0-45度,就在第二个bin上计数加一,以此统计每一个cell单元的梯度方向。然后将9个cell单元组合成一个block,最后检测重叠块,将重叠块的HOG特征收集起来,组合成最终的特征向量。 图10HOG算法示意图3.4.2HOG算法实现Step1初始化输入参数——图像I、block大小、angle角度、bin直方图方向个数、cell大小Step2图像灰度化Step3确定X方向和Y方向上的block个数Step4将每一个block划分为4个cell单元Step5计算每一个cell单元的梯度值,将4个cell单元梯度值的平均值作为block的梯度值Step6将所有block的梯度值连接起来,作为整幅图像的HOG特征HOG算法流程图如图11所示图11HOG算法流程3.5特征降维—主成份分析在进行图像的特征提取的过程中,提取的特征维数太多经常会导致特征匹配时过于复杂,消耗系统资源,不得不采用特征降维的方法。所谓特征降维,即采用一个低纬度的特征来表示高纬度。特征降维一般有两类方法特征选择和特征抽取。特征选择即从高纬度的特征中选择其中的一个子集来作为新的特征;而特征抽取是指将高纬度的特征经过某个函数映射至低纬度作为新的特征。常用的特征抽取方法就是PCA。3.5.1主成份分析算法描述PCA即主成份分析,所谓主成份就是能够最大程度代表原数据的投影数据,所以我们只能将原始数据中的噪声和冗余去除,即减弱数据之间的相关性,去除冗余的、带有非常少量的信息或者没有带有信息的数据。通过计算原始数据的协方差矩阵,将除对角线之外的数据归零,降低数据之间的相关性。对角化后的矩阵,对角线上的数据即是原始数据带有的信息量,我们只需取数据值较大的数据,就可以形成新的低纬度的数据向量。3.5.2主成份分析算法实现Step1计算每一行的均值,并对每一行进行零均值化处理Step2计算协方差矩阵Step3计算协方差矩阵的特征值和特征向量Step4去除特征值为负的特征向量,并对剩余向量进行升序排序Step5选择累计方差>总方差*0.9的特征值和特征向量Step6计算投影后的矩阵PCA算法的流程图如图12所示图12PCA算法流程图3.6图像特征集生成对4500幅图像进行颜色特征RGB、LAB、HSV、HIS、颜色聚合向量、边缘特征LBP算子、Gist特征以及梯度方向HOG特征8个特征的提取,将各特征向量PCA降维处理后,连接为一个特征向量。3.6.1特征集生成算法实现Step1输入一幅图像Step2RGB特征提取,并进行降维处理Step3LAB特征提取,并进行降维处理Step4HSV特征提取,并进行降维处理Step5HSI特征提取,并进行降维处理Step6颜色聚合向量特征提取,并进行降维处理Step7LBP特征提取,并进行降维处理Step8Gist特征提取,并进行降维处理Step9HOG特征提取,并进行降维处理Step10将8个特征向量连接为一个特征向量,保存在data矩阵中Step11重复step1-10,直到所有图像都完成了特征提取Step12将data保存为.mat文件3.6.2特征集生成算法流程图图13特征集生成算法流程图4.图像多标签分类算法4.1基于k近邻的图像多标签算法基于k近邻的图像多标签学习算法,即Multi-Label k-Nearest Neighbor简称ML-kNN,通过输入图像训练集,最近邻个数,测试图像实例,拉普拉斯平滑系数,获得输出测试图像实例的标签向量,测试图像实例的实值向量,模型为。该算法原理是通过统计每一个标签类中样本的个数,将多标签问题转化为单标签问题,然后计算后验概率,设定一个阈值,当概率大于这个阈值时,就预测测试实例属于这个标签集。4.1.1ML-kNN算法描述记X为样本实例,是样本实例对应的标签集,假设ML-kNN算法中的最近邻个数是K。是样本x的标签向量,当时,;否则,。另外,表示训练集中样本X的K个最近邻的集合。基于这些近邻的标签集,计算第l标签类中样本X的近邻个数。 (6)对于每一个测试样本t,表示测试实例t有标签l,则表示测试实例t没有标签l,表示在测试样本t的K个近邻中,j个有标签l。因此标签向量表示为 (7)如表1所示,输入参数s是拉普拉斯平滑系数,设置为1。输出参数是标签集Y上的实值向量,对应的后验概率。4.1.2ML-kNN算法实现表1ML-kNN算法输入图像训练集最近邻个数测试图像实例拉普拉斯平滑系数,设置为1输出测试图像实例的标签向量测试图像实例的实值向量过程%计算前期参量%计算后验概率%计算和4.1.3后验概率计算方法实现Step1初始化的最近邻图像集合Step2对初始化Step3根据公式计算第标签类中样本的近邻个数Step4判断有标签,计算,否则计算Step5重复step2、3,直到结束Step6对计算后验概率4.2基于特定标签的图像多标签学习算法基于特定标签的图像多标签学习算法,即multi-label learning with Label specIfic FeaTures简称LIFT,通过输入图像训练集,比例参数,二元分类器和测试实例,输出测试实例的预测标签集,模型为。该算法原理是将训练集的多标签问题转化为单标签问题,按照具体的标签类分成和两个集合,然后按照具体特征进行聚类分析,对每一个标签类,结合二元分类器建立新的分类器模型,完成测试图像的多标注学习。4.2.1LIFT算法理描述其中是训练集。LIFT算法主要分为两个步骤,特定标签模型的建立和分类器模型的建立。在第一步中,LIFT算法使用聚类技术,通过捕获每一个标签的特定特征来产生不同的特征。对每一个标签类,找出正样本训练集和负样本训练集 (8) (9)然后通过k-means聚类函数将这两个集合表示为和。最后,LIFT建立从原始的特征空间到特定标签空间的映射。 (10)第二步中,LIFT算法建立了q个标签分类模型。对于每一个标签,建立一个二元训练集 (11)基于二元训练集,任何二元学习模型都可以被应用,预测图像的标签集。4.2.2LIFT算法实现流程表2LIFT算法输入训练集比例参数二元分类器测试实例输出:测试实例的预测标签集过程for to do计算利用k-means函数进行聚类建立映射endforfor to do利用二元分类器建立新的分类模型endfor4.2.3LIFT算法中从原始特征空间到特定特征空间的映射模型实现Step1判断训练集中实例是否有标签,有则保存到,否则保存到Step2重复step1,直到为所有标签分类结束Step3选择和的元素个数的最小值,计算聚类个数Step4k-means聚类Step5计算原始特征空间中的实例到聚类中心的欧式距离,建立映射4.3基于RBF神经网络的图像多标签学习算法基于径向基函数的神经网络图像多标签学习算法,即Multi-Label Radial Basis Function简称ML-RBF。通过输入训练集,部分参数,比例系数和测试实例,输出测试实例的预测标签集,模型为。基于RBF神经网络的分类器模型的工作方式是根据权值w将输入向量映射到输出空间。从图14中可以看出,输入层中,输入样本有m维特征。隐含层中,把属于每一类的样本进行k-means聚类,得到k个聚类中心,用表示径向基函数的中心。W表示隐含层到输出层之间的权重。图14神经网络结构图4.3.1ML-RBF算法描述假设是训练集,其中是一个图像实例,是实例的对应标签集。为了学习一个多标签分类器来预测待测图像的标签集,学习系统需要输出一个实值函数。给定实例以及其对应的标签集,对于和存在。因此我们可以得到分类器。在ML-RBF算法中,先将输入样本进行聚类分析 (12) (13)在ML-RBF神经网络中的每个输出神经元都与一个可能的类有关,隐含层和输出层之间的权重被认为是从基函数到神经元间的线,其中,因此可以通过最小化平方误差函数来学习权重矩阵 (14)在隐含层中K+1个径向基函数被组合到一起,然后再重新索引。可以被表示为 (15)其中平滑参数表示为 (16)4.3.2ML-RBF算法实现表3ML-RBF算法输入训练集部分参数比例系数测试实例输出测试实例的预测标签集过程for do利用k-means聚类函数将聚类为将所有聚类中心设为第l个标签类的向量 4.4基于利用标签依赖性的多标签学习算法基于利用标签依赖性的多标签学习算法,即multi-label Learning by Exploiting lAbel Dependency简称LEAD。通过输入训练集,贝叶斯网络结构(有向无环图DAG),二元分类器和测试实例,输出测试实例的预测标签集,模型为。4.4.1LEAD算法描述LEAD算法是利用标签之间的相关性,有效地对图像进行多标签学习。首先,根据 (17)将多标签学习问题转化为单标签学习问题,然后我们要寻找标签之间的相关性。标签之间的相关性可以分为两个部分,第一个是标签之间本身就存在的依赖关系,第二个是由于标注了同一幅图像,让这个标签集中的标签建立了依赖关系。一般来说,存在两种贝叶斯网络结构学习方法。一个是基于约束的,另一个是基于分数的。基于约束的方法利用(有条件的)独立关系在变量之间建立因果结构。在进行有条件的独立测试时,假设变量是离散的,或者是与线性关系相联合的高斯函数。基于分数的方法将贝叶斯网络视为指定一个统计模型,然后将学习作为模型选择问题。如表4所示,首先通过建立所有标签的分类模型,找出相应的误差,来消除标签之间的影响。然后找到的贝叶斯网络模型,把它作为x的近似父标签,然后找出所有标签的父标签。在LEAD算法中,我们通过将父标签集直接合并入特征集,来使用贝叶斯网络结构中的链接。4.4.2LEAD算法实现表4LEAD算法为所有标签独立构建分类器,产生误差学习的贝叶斯网络结构G,对于每一个标签,通过合并特征集合中隐含在网络结构G中的构建新的分类器对于测试数据,递归地用分类器和特征集来预测在G中表示的标签的顺序4.5基于朴素贝叶斯的图像多标签学习算法贝叶斯分类的基础是概率推理,就是在各种条件的存在不确定,仅知其出现概率的情况下,如何完成推理和决策任务。概率推理是与确定性推理相对应的。而朴素贝叶斯分类器是基于独立假设的,即假设样本每个特征与其他特征都不相关。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在概率分布上是独立的。朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得非常好的分类效果。基于朴素贝叶斯的图像多标签学习算法,即Multi-Label Naive Bayes简称MLNB。通过输入图像训练集,测试图像实例,拉普拉斯平滑系数,获得输出测试图像实例的标签向量,模型为。4.5.1MLNB算法描述对于每一个测试样本t,表示测试实例t有标签l,则表示测试实例t没有标签l,因此标签向量表示为 (18)使用贝叶斯规则,采用具有条件独立性的假设作为经典的朴素贝叶斯分类器,我们可以得到 (19)其中,条件概率为 (20)是第k个特征条件下的高斯概率密度函数。结合以上两条,最终的标签向量可以被表示为其中, (21)4.5.2MLNB算法实现表5MLNB算法输入图像训练集测试图像实例拉普拉斯平滑系数,设置为1输出测试图像实例的标签向量过程%计算前期参量%计算高斯分布参数的无偏估计%计算后验概率%计算4.6基于流形的图像多标签学习算法基于流形的图像多标签学习算法,即Muti-Label Manifold Learning简称ML2。通过输入训练集,测试实例和训练集标签的线性组合模型modle,输出测试实例的预测标签集,模型为。流形是局部具有欧几里德空间性质的空间。基于流形的图像多标签算法(ML2)就是将流形的概念加入到图像多标签学习中。在传统的多标签学习算法中,标签空间是逻辑空间,标签空间中的标签元素是逻辑标签。而ML2算法中,标签空间的维度不变,但是取值从逻辑空间转化到实际空间,能够更加准确的描述信息。但是,从训练实例中获得标签流形非常困难。因此,本算法根据平滑度假设,将标签空间转化为特征空间。特征流形用图表示,近似地等于重叠的局部线性区域。每个区域的边缘权重可以通过最小的平方编程来计算。标签流形由特征流型和已经存在的逻辑标签空间重构,这个重构可以通过二次编程来实现。根据标签流形,ML2算法可以有效地找到特征空间和标签空间之间的映射。特征流形可以被近似地表示为 (22)然后,可以通过以下n标准最小二乘法问题解决近似值其中, (23)随着拓扑结构的转移,标签流形的重构可以推断出最小化 (24)我们的回归不仅关系到预测和实际值之间的距离,而且还包括它们之间的符号一致性。它导致了最小化 (25)为了将所有维度考虑为一个唯一的限制,并为所有维度提供一个支持向量,则设置L1损失为 (26)为了使数字标签的符号和逻辑标签尽可能地相同,L2的损失被设置为 (27)然后,进行两次近似构造 (28) (29)因此, (30)它是一个分段的二次问题,它的最优解可以被集成为求解一个线性方程组其中, (31),然后,将上述公式的最优解方向作为优化的降序方向,并且下一个迭代的解决方案是通过沿着这个方向的直线搜索算法获得的。根据代表性定理,在相当普遍的条件下,一个学习问题可以用特征空间中的训练例子的线性组合来表达 (32)结合公式(31)可得,并应用内核技术,行搜索算法即可用和表示。5.算法比较与实验5.1数据集与实验配置本文的数据集有两部分组成,分别是训练集和测试集,两个集合中又包含两个集合,分别是data和target,data是所有图像的特征向量的集合,每一幅图片的特征向量包含全局特征和局部特征,例如颜色特征RGB、颜色聚合向量等,纹理特征LBP描述子,Gist描述子等等。target标记每一幅图像是否属于某标签类,假设图像x属于第i个标签类,则该位置的target记为1,否则记为0。5.1.1Image数据集介绍这个数据集包含2000个自然风景图片,每一幅图片都有一组标签。在这个数据集中,所有可能的标签有desert,mountain,sea,sunset和trees5个。其中,超过22%的图片的标签有2个或2个以上。平均每一张图片的标签数是1.24。在本文中,每一幅图片都被使用相同的特征提取方法进行特征提取,形成一个特征向量。在2000幅图片中,前1500幅作为本次实验的训练集,后500幅作为测试集。表6Image数据集标签集图像数标签集图像数标签集图像数desert340desert+sunset21sunset+trees28mountain268desert+trees20desert+mountain+sunset1sea341mountain+sea38desert+sunset+trees3sunset216mountain+sunset19mountain+sea+trees6trees378mountain+trees106mountain+sunse+trees t1desert+mountain19sea+sunset172sea+sunset+trees4desert+sea5sea+trees14Total2000如图15,Image数据集中包含一组植物图像,包括各种种类和颜色的花、树和草,在不同光照强度和阴影下的各种图片。图155.1.2Yeast数据集介绍该数据集包含1500个训练集和917个测试集。每个基因的输入维度是103,每个基因与一组功能类相关联,它们的大小可能超过190。对于该数据集,我们使用两个方法进行分析。5.1.3Corel5k数据集介绍Corel图像库是科雷尔(Corel)公司收集整理的较为丰富的图像库涵盖多个主题。Corel图像库由若干个CD组成,每个CD包含100张大小相等的图像,可以转换成多种格式。每张CD代表一个语义主题,例如有desert,mountain,sea,sunset等。Corel5k图像库通常被分成三个部分 4000张图像作为训练集,500张图像作为验证集用来估计模型参数,其余500张作为测试集评价算法性能。使用验证集寻找到最优模型参数后4000张训练集和500张验证集混合起来组成新的训练集。该图像库中的每张图片被标注1~5个标注词,训练集中总共有12个标注词,在测试集中总共使用了12个标注词。如图16是一组夕阳图,包括不同时间段,不同环境下的夕阳图像,如图17是一组花景的图像,包括远近,各种角度,不同光照下的花的图像,如图18是一组山景图,包括远景、近景、不同光照,不同周边景色的各种山景图像图16 图17图185.1.4实验配置在本文实验中,一共研究了3个现实生活中的多标签数据集。对于每个数据集,我们用,,,来描述数据集包含的实例数,特征总数,可能的标签类数,标签类。另外,表示标签基数,衡量平均每个例子的可能标签数;表示标签密度,通过可能的标签数规范的值;表示不同的标签集,统计不同标签集的数量;表示不同标签集的比例。表7实验中数据集的特征值Data set|S|dim(S)L(S)LCard(S)LDen(S)DL(S)PDL(S)image200029451.2360,247200.010yeast2417103144.2370.3031980.082Corel5k50005003743.5220.00931750.635本文主要比较了6个多标签分类算法,分别是LEAD算法,具体特征多标签分类算法LIFT,k近邻多标签分类方法ML-kNN,MLNB算法,神经网络多标签分类算法ML-RBF,基于流形的图像多标签算法。表8结果比较数据集汉明损失LEADLIFTML-kNNMLNBML-RBFML2Image0.173±0.0110.156±0.0170.170±0.0080.196±0.0130.163±0.0150156±0.004Yeast0.202±0.0110.193±0.0100.195±0.0110.209±0.0090.195±0.0110.196±0.003Corel5k0.193±0.0100.196±0.0130.237±0.0370.452±0.0150.172±0.0150.010±0.001数据集1-错误率LEADLIFTML-kNNMLNBML-RBFML2Image0.313±0.0260.266±0.0370.320±0.0260.366±0.0420.294±0.0330.272±0.009Yeast0.235±0.0250.221±0.0200.228±0.0290.237±0.0370.233±0.0370.228±0.009Corel5k0. 0.204±0.0300.158±0.0200.266±0.0370.175±0.0190.173±0.0110.247±0.007数据集覆盖率LEADLIFTML-kNNMLNBML-RBFML2Image0.184±0.0070.168±0.0190.194±0.0201.097±0.1320.904±0.0150.168±0.007Yeast0.455±0.0190.452±0.0150.447±0.0146.456±0.2500.352±0.2440.454±0.004Corel5k0.158±0.0200.194±0.0200.204±0.0300.173±0.0110.221±0.0200.372±0.006数据集排名损失LEADLIFTML-kNNMLNBML-RBFML2Image0.164±0.0180.143±0.0180.175±0.0190.204±0.0300.158±0.0200.143±0.007Yeast0.172±0.0150.163±0.0110.166±0.0150.175±0.0170.169±0.0170.168±0.003Corel5k0.221±0.0200.175±0.0190.173±0.0110.266±0.0370.194±0.0200.163±0.003数据集平均精度LEADLIFTML-kNNMLNBML-RBFML2Image0.799±0.0170.825±0.0230.792±0.0170.760±0.0290.809±0.0210.824±0.006Yeast0.761±0.0200.770±0.0170.765±0.0210.753±0.0220.766±0.0210.765±0.005Corel5k0.770±0.0200.870±0.0210.800±0.0190.821±0.0170.793±0.0110.297±0.0025.2实验结果与分析多标签学习的性能评估比传统的单标签学习要复杂得多,因为每一个例子都可以与多个标签相关联。在本文实验中用于评估算法性能的是汉明损失,1-错误率,覆盖率,排名损失和平均精度五个衡量标准。这些衡量标准针对每一个测试实例评估预测标签的性能,然后再返回所有测试实例的平均值。在每一个数据集上,我们进行了十次交叉验证,并记录了每个衡量标准的平均值和标准偏差,减少数据的偶然性,增加数据的准确性和可信度。对于汉明损失,1-错误率,覆盖率和排名损失,值越小,算法的性能就越好,对于平均精度,值越大,算法的性能越好。如表8是六个算法的性能比较结果,为了能够更加清晰地比较出五个算法的性能高低,本文根据表8的数据生成了一个柱形图表,并且用A1>A2表示算法A1的性能优于算法A2,则A1的分值+1,A2的分值-1,通过算法两两之间的比较,计算每个算法的总分值,将六个算法进行性能排序。5.2.1Image数据集上六个算法的五个性能结果比较与分析如表9和图19所示,分析了在数据集Image中,六个算法的性能比较和排序。图19基于数据库Image的五个算法的性能比较表9基于数据库Image的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A2>A1,A3>A1,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A51-错误率A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5覆盖率A2>A1,A1>A3,A1>A4,A1>A5,A2>A3,A2>A4,A2>A5,A3>A4,A3>A5,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5排序损失A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5平均精度A2>A1,A1>A3,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A6>A3,A6>A4,A6>A5整体排序LIFT(23)>ML2(18)>ML-RBF(1)>LEAD(-7)>ML-kNN(-11)>MLNB(-25)从图表中,可以清晰地看出算法LIFT的汉明损失、1-错误率、覆盖率、排名损失、平均精度五个算法评价标准都是最优的,因此最终LIFT算法性能最优。5.2.2Yeast数据集上六个算法的五个性能结果比较与分析如表10和图20分析了在数据集Yeast中,六个算法的性能比较和排序。表10基于数据库Yeast的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A2>A1,A3>A1,A1>A4,A5>A1,A2>A3,A2>A4,A2>A5,A3>A4,A5>A3,A5>A4,A6>A1,A2>A6,A3>A6,A6>A4,A5>A61-错误率A2>A3,A2>A5,A2>A1,A2>A4,A3>A5,A3>A1,A3>A4,A5>A1,A5>A4,A1>A4,A6>A1,A2>A6,A6>A4,A6>A5覆盖率A5>A3,A5>A2,A5>A1,A5>A1,A3>A2,A3>A1,A3>A4,A2>A1,A2>A4,A1>A4,A6>A1,A2>A6,A3>A6,A6>A4,A5>A6排序损失A2>A3,A2>A5,A2>A1,A2>A4,A3>A5,A3>A1,A3>A4,A5>A1,A5>A4,A1>A4,A6>A1,A2>A6,A3>A6,A6>A4,A6>A5平均精度A2>A5,A2>A3,A2>A1,A2>A4,A5>A3,A5>A1,A5>A4,A3>A1,A3>A4,A1>A4,A6>A1,A4>A6,A6>A2,A6>A5整体排序LIFT(19) >ML-kNN(9)>ML-RBF(6)>ML2(3)>LEAD(-12)>MLNB(-22)图20基于数据库Yeast的五个算法的性能比较从图表中,可以清晰地看出只有覆盖率中MLNB的算法值比较大,性能最差,五个算法的汉明损失、1-错误率、排名损失、平均精度四个算法评价标准差距不大,但是LIFT还是有性能优势,因此最终LIFT算法性能最优。5.2.3Corel5k数据集上六个算法的五个性能结果比较与分析如表11和图21分析了在数据集Corel5k中,六个算法的性能比较和排序。图21基于数据库Corel5k的五个算法的性能比较表11基于数据库Corel5k的五个算法的性能比较评价标准算法A1-LEAD;A2-LIFT;A3-ML-kNN;A4-MLNB;A5-ML-RBF;A6-ML2汉明损失A5>A1,A5>A2,A5>A3,A5>A4,A1>A2,A1>A3,A1>A4,A2>A3,A2>A4,A3>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A51-错误率A2>A5,A2>A4,A2>A1,A2>A3,A5>A4,A5>A1,A5>A3,A4>A1,A4>A3,A1>A3,A1>A6,A2>A6,A6>A3,A4>A6,A5>A6覆盖率A1>A4,A1>A2,A1>A3,A1>A5,A4>A2,A4>A3,A4>A5,A2>A3,A2>A5,A3>A5A1>A6,A2>A6,A3>A6,A4>A6,A5>A6排序损失A3>A2,A3>A5,A3>A1,A3>A4,A2>A5,A2>A1,A2>A4,A5>A1,A5>A4,A1>A4,A6>A1,A6>A2,A6>A3,A6>A4,A6>A5平均精度A2>A4,A2>A3,A2>A5,A2>A1,A4>A3,A4>A5,A4>A1,A3>A5,A3>A1,A5>A1,A1>A6,A2>A6,A3>A6,A4>A6,A5>A6整体排序LIFT(12)>ML-RBF(1)>LEAD(-1)>ML2(-3)>MLNB(-4)>ML-kNN(-5)从图表中,可以清晰地看出汉明损失中ML-RBF算法性能最优,1-错误率和平均精度中LIFT算法性能最优,覆盖率中LEAD算法的性能最优,排序损失中ML-kNN算法的性能最优,根据每个算法的排序分值,最终LIFT算法性能最优。6.系统设计与实现6.1需求分析6.1.1系统功能需求分析本系统共有两大功能模块,图像多标签分类功能模块和图像检索功能模块,图像检索功能模块中又分为图像相似图搜索和图像标签搜索。图像多标签分类功能模块给用户选择的图像进行多标签自动标注,将标注的结果显示在文本框中。图像相似图搜索功能模块通过获取用户选择的图像标签集,在图像库中进行标签集匹配,找到相似的图像,在界面中显示。图像多标签搜索功能模块用户在选择列表中选择搜索的标签,系统在图像库中,通过标签匹配,找到合适的图像,显示在界面中。6.1.2系统用例图图22系统用例图6.1.3数据描述名称训练图像信息描述已经标注的图像集,用于学习图像多标签分类模型定义训练图像信息=图像名+图像路径+图像标签标记集+图像特征向量名称标签信息描述可能的标签集合,用于实际标注图像类别定义标签信息= 标签名+标签位置名称测试图像信息描述未标注的图像集,用于测试图像多标签分类模型定义测试图像信息=图像名+图像路径+图像特征向量名称图像预测多标签信息描述未标注的图像集经过图像多标签分类后的预测标签信息定义预测多标签信息=预测多标签标志集+预测多标签集6.1.4数据流图本系统的顶层数据流图如图23所示图23顶层数据流图标签图像检索系统的第一第二层数据流图图24和图25所示图24标签图像检索系统第一层数据流图图25标签图像检索系统第二层数据流图相似图检索系统的第一第二层数据流图图26和图27所示图26相似图检索系统第一层数据流图图27相似图检索系统第二层数据流图图像想不起标注系统的第一第二层数据流图图28和图29所示图28图像多标签标注系统第一层数据流图图29图像多标签标注系统第二层数据流图6.2系统详细设计6.2.1数据结构设计无论是训练图像还是测试图像,一幅图像都对应唯一的特征向量,但是对应多个标签。4500幅训练图像组成训练集,500幅测试图像组成测试集。下文详细介绍各数据(1)训练图像标签标记train_target:是一个12维的列向量,表示12个景色标签sky,sun,water,clouds,tree,people,grass,buildings,flowers,sand,cars,desert,当该图像有某一个标签i时,train_target[i]=1,否则,train_target[i]=-1。(2)训练图像特征train_data由图像的特征空间表示,是一个横向量。组成该特征空间的图像特征包括颜色特征RGB,LAB,HSV,HIS,颜色聚合向量,LBP算子,Gist描述子,HOG描述子8个特征。(3)测试图像标签标记test_target结构同train_target一样,与train_target不同的是,train_target是人工标注的,在系统运行过程中的不变量,而test_target是要通过系统的多标签自动标注功能生成的,是随着输入图像的变化而变化的变量。(4)测试图像特征test_data结构同train_data一致,与train_data不同的是train_data的值是提前生成的,是不变量,而test_data是根据输入的图像,通过特征提取和降维获得的。表格12数据结构数据名数据意义数据结构train_data训练图像特征由8个特征向量组成的横向量train_target训练图像标签标记12维的列向量test_target测试图像标签标记12维的列向量test_data测试图像特征由8个特征向量组成的横向量6.2.2功能设计及界面展示本系统设计的功能有图像多标签搜索功能,图像载入功能,图像相似图搜索功能,特征提取功能,图像多标签自动标注功能。本系统的主界面如图30所示,一个选择列表框罗列了本系统的所有可能标签,用于用户选择搜素的标签,7个按钮,每一个按钮表示一个小的功能,一个text编辑框,用于显示图像的标签集,一个显示框,用于显示图像。图30主界面(1)图像多标签搜索功能流程图如图31所示,在选择列表中选择用户想要搜索的图像标签,系统从图像库中进行查找,将查找的结果显示出来。另外在显示过程中还有显示下一张查找的结果图像和显示上一张查找结构图像两个子功能。图31图像搜索流程图查找下一张图片功能由于用户在查找图片时,符合用户查找条件的图像不止一张,本系统在进行标签匹配时,将所有符合查找条件的图像保存在一个变量中,实现查找下一张图片的功能。当查找到最后一张图片时,下一张会显示第一张图片,形成循环查找。查找上一张图片功能用户在浏览检索的图像时,可能会需要查看已经查看过的图像,就需要查看上一张图像的功能。本系统在进行标签匹配时,将所有符合查找条件的图像保存在一个变量中,实现查找上一张图片的功能。当查看第一张图片时,上一张会显示最后一张图片,形成循环查找。本系统图像搜索功能如图32所示,在列表框中选择一个标签,点击搜索按钮,搜索到的图像就会在显示框中显示,点击下一张按钮就会显示下一张符合搜索条件的图像,点击上一张在按钮就会显示上一张符合搜索条件的图像。图32图像搜索(2)图像载入功能流程图如图33所示,用户输入载入图像的命令,系统接受后,打开图像文件选择界面,用户选择合适的图像,将图像路径返回给系统,然后在界面中显示该图像。图33图像载入流程图本系统的图像载入功能界面如图34所示,点击图像载入按钮,弹出文件选择界面,可以选择的是各种格式的图像文件,选择图像后,点击打开,显示框就会显示该图像。图34图像载入(3)图像相似图搜索功能流程图如图35所示,首先载入一张图像,找到该图像的多标签集合,通过多标签集合的匹配,找到相似的图像,在界面中显示出来。图35相似图搜索流程(4)特征提取功能流程图如图36所示,用户输入特征提取的命令,系统接收命令后,调用特征提取方法,生成RGB颜色直方图、HSV颜色直方图以及Gist描述算子,在figure中显示,如图37所示。图36特征提取流程图图37特征提取结果示意图(5)图像多标签自动标注功能流程图如图38所示,首先载入一张待标注的测试图像,显示在界面上,然后对图像进行特征提取和降维,通过LIFT算法建立分类器,然后对待测试图像进行多标签标注,并将标签显示在界面中。在这个功能中还有一个显示提取的图像特征的子子功能。图38图像自动标注流程图本系统的图像多标签标注功能如图39所示,载入图像后,点击多标签分类按钮,在文本编辑框中就会显示该图像的预测标签。图39图像多标签分类6.3系统测试测试1名称标签图像检索测试目的测试标签图像检索功能内容选择搜索图像的标签条件,搜索功能检查,下一张、上一张功能检查,图像显示检查测试用例一共12个测试用例,每一个用例的输入是一个不同的标签条件,输出属于这个标签的图像。表13测试用例测试用例输入标签条件输出图像名1sun1000.jpeg2sky1000.jpeg3water1013.jpeg4clouds1006.jpeg5trees1003.jpeg6people1010.jpeg7grass1013.jpeg8building1077.jpeg9flowers13000.jpeg10sand12050.jpeg11cars21000.jpeg12desert41024.jpeg测试2名称相似图检索测试目的测试相似图检索功能内容载入图像,检索功能检查测试用例一共测试了6个用例,每一个用例输入的图像所对应的标签各不相同,输出的图像是与输入图像标签最相近的图像。表14测试用例测试用例输入图像名输出图像名11000.jpeg182099.jpeg210000.jpeg335046.jpeg312000.jpeg335095.jpeg413000.jpeg182099.jpeg517002.jpeg182099.jpeg61080.jpeg1077.jpeg测试3名称图像多标签标注测试目的测试图像多标签标注功能内容载入图像,图像多标签标注测试,显示预测标签集测试用例一共测试20个用例,每10个用例是一组相似的图像,每一个用例输入不同的一幅图像,使用LIFT算法进行多标签标注,输出相应的标签。由表15的结果比较可知,大部分的多标签标注能够准确标注其中的一部分,比如用例1,4,11,13,14等,也有一部分用例的标注不准确,比如用例3,6,10,12等。表15测试用例测试用例输入图像名输出标签实际标签11000.jpegsun,water,flowersun,sky21001.jpegsun,water,flowersky,trees31002.jpegsunsky41003.jpegsun,water,flowersun,sky51004.jpegsun,flowersun,sky ,clouds61005.jpegsunsky ,clouds71006.jpegsun,water,flowersky ,clouds81007.jpegsun,flowersky ,clouds91008.jpegsun,flowerclouds ,people101009.jpegsunsky,trees1113000.jpegsun,water,flowerflower1213001.jpegsun,waterflower1313002.jpegsun,water,flowerflower1413003.jpegsun,water,flowerflower1513004.jpegsun,water,flowerflower1613005.jpegsun,water,flowerflower1713006.jpegsun,water,flowerflower1813007.jpegsun,water,flowerflower1913008.jpegsun,waterflower2013009.jpegsun,water,flowerflower7.结论在本次实验中,我们主要完成了图像特征的提取,并对图像进行手工标注,建立一个拥有图像特征向量和标签集合的完整数据集。然后针对这些数据集,使用不同多标注算法进行训练测试,利用六个算法衡量标准对每一个算法进行评估,确定算法的优越性。在未来还会有专家和学者不断地研究多标签学习问题,越来越多的算法会被提出来,越来越多的算法会被改进,算法的性能也会越来越好。致谢在此毕业论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。其次要感谢的是我的同学们,他们热情好学,乐于助人。在毕业设计期间,我的同学们和我一起查找资料,互相讨论,互相帮助,无论是学习上还是生活上都给了我很大的帮助。参考文献[1]陈智.基于卷积神经网络的多标签场景分类[D].计算机科学与技术学院,20153-15.[2]檀何凤.基于标签相关性的KNN多标签分类方法研究[D].安徽大学,20152-17.[3]滕舟.基于EM的非监督图像标签区域标定算法[J].计算机应用与件,2012,29(2)6-8.[4]黄莉莉,汤进,孙登第,罗斌.基于多标签ReliefF的特征选择算法[J].计算机应用,2012,32(10)2-4.[5]黄焱,孙剑,谷雨.图像多标签学习综述[J].云南民族大学学报,2011,20(6)490-492.[6]徐美香,孙福明,李豪杰.主动学习的多标签图像在线分类[J].中国图像图形学报,2015,20(2)238-239.[7]徐晓丹,姚明海,刘华文,郑忠龙.基于k-NN的多标签分类预处理方法[J].计算机科学,2015,42(5)106-107.[8]檀何凤.基于标签相关性的KNN多标签分类方法研究[D].安徽大学,2015.[9]徐美香,孙福明,李豪杰.主动学习的多标签图像在线分类[J].中国图像图形学报,2015,20(2)238-239.[10]张振海,李士宁,李志刚,陈昊.一类基于信息熵的多标签特征选择算法[J].计算机研究与发展,2013,50(6)23.[11]Min-Ling Zhang.ML=RBFRBF Neural Networks for Multi-Label Learning[J].College of Computer and Information Engineering,Hohai University,Nanjing,2010,(210098)2-10.[12]Min-Ling Zhang,Kun Zhang.Multi-Label Learning by Exploiting Label Dependency [J].National Key Laboratory for Novel Software,Technology,Nanjing,University,2011,(210093)1-9.[13]Min-Ling Zhang.LIFTMulti-Label Learning with Label-Specific Features[J].National Key Laboratory for Novel Software, Technology,Nanjing ,University,2011,(210093)1-6.[14]Min-Ling Zhang,Zhi-Hua Zhou.Ml-knnA Lazy Learning Approach to Multi-Label Learning [J].National Key Laboratory for Novel Software,Technology,Nanjing ,University,2011,(210093)1-26.[15]Min-Ling Zhang,Jose M.Pena,Victor Robles. Feature Selection for Multi-Label Naive Bayes Classification [J].Department of Computer Architecture and Technology, Technical University of Madrid, Madrid, 2011,(210093)1-20.[16]Zhang Shi Chao,Zhao Jian Min.A Multi-Label Classification Algorithm Based on Label-Specific Features[J].Journal of Nature Sciences,2011,16(6)520-523.[17]Lin Feng,Jing Wang,Sheng Lan Liu,and Yao Xiao.Multi-label dimensionality reduction and classification with extreme learning machines[J].Journal of Systems Engineering and Electronics,2014,25(3)502-512.[18]He Zhi fen,Yang Ming,Liu Hui Dong.Multi-task Joint Feature Selection for Multi-label Classification[J].Chinese Journal of Electronics,2015,24(2)281-286.[19]Li Hong,,Li Ping,Guo Yue jian,Wu Min.Multi-label dimensionality reduction based on semi-supervised discrimination analysis [J].ent South Univ Technol,2010,171310-1318.[20]Fang Yu Chun,Cheng Gong,Luo Jie.Multi-label learning of face demographic classification for correlation analysis[J].Shanghai Univ,2011,15(5)352-355.
目录
摘要 1
关键字 1
Abstract. 1
Keywords 1
1.绪论 1
1.1问题的提出 1
1.2研究背景 2
1.2.1国内外研究状况 2
1.2.2目前存在的问题 2
1.3研究内容和技术路线 3
1.3.1研究内容 3
1.3.2研究技术路线 3
2.相关工作 3
2.1图像多标签标注 3
2.2算法性能衡量标准 4
2.2.1 汉明损失(Hamming loss) 4
2.2.2 排序损失(Ranking loss) 4
2.2.3 1错误率(One error) 4
2.2.4 覆盖率(Coverage) 4
2.2.5 平均精度(Average precision) 5
3.特征提取及特征降维 5
3.1颜色特征提取 5
3.2LBP纹理特征提取 6
3.2.1LBP算法描述 6
3.2.2LBP算法实现 7
3.3Gist特征提取 8
3.4梯度方向直方图HOG特征提取 8
3.4.1HOG算法描述 9
3.4.2HOG算法实现 9
3.5特征降维—主成份分析 10
3.5.1主成份分析算法描述 10
3.5.2主成份分析算法实现 10
3.6图像特征集生成 11
3.6.1特征集生成算法实现 11
3.6.2特征集生成算法流程图 12
4.图像多标签分类算法 12
4.1基于k近邻的图像多标签算法 12
4.1.1MLkNN算法描述 12
4.1.2MLkNN算法实现 13
4.1.3后验概率计算方法实现 13
4.2基于特定标签的图像多标签学习算法 14
4.2.1LIFT算法理描述 14
4.2.2LIFT算法实现流程 14
4.2.3LIFT算法中从原始特征空间到特定特征空间的映射模型实现 15
4.3基于RBF神经网络的图像多标签学习算法 15
4.3.1MLRBF算法描述 16
4.3.2MLRBF算法实现 16
4.4基于利用标签依赖性的多标签学习算法 17
4.4.1LEAD算法描述 17
4.4.2LEAD算法实现 17
4.5基于朴素贝叶斯的图像多标签学习算法 18
4.5.1MLNB算法描述 18
4.5.2MLNB算法实现 18
4.6基于流形的图像多标签学习算法 19
5.算法比较与实验 21
5.1数据集与实验配置 21
5.1.1Image数据集介绍 21
5.1.2Yeast数据集介绍 21
5.1.3Corel5k数据集介绍 21
5.1.4实验配置 22
5.2实验结果与分析 23
5.2.1Image数据集上六个算法的五个性能结果比较与分析 24
5.2.2Yeast数据集上六个算法的五个性能结果比较与分析 24
5.2.3Corel5k数据集上六个算法的五个性能结果比较与分析 25
6.系统设计与实现 26
6.1需求分析 26
6.1.1系统功能需求分析 26
6.1.2系统用例图 27
6.1.3数据描述 27
6.1.4数据流图 28
6.2系统详细设计 29
6.2.1数据结构设计 29
6.2.2功能设计及界面展示 30
6.3系统测试 35
7.结论 37
致谢 37
参考文献 38
基于多标签学习的图像检索系统研究与设计
引言
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/449.html