VTC-KSVD:一种融合视觉特征与标签一致性的多标签图像标注方法
2020-04-07张菊莉贺占庄戴涛张君毅
张菊莉, 贺占庄, 戴涛, 张君毅
(1.西安微电子技术研究所,陕西,西安 710068;2.西安交通大学 软件学院,陕西,西安 710045)
随着因特网技术的飞速发展,网络终端的图片数量呈指数级增长. 如何快速而准确地从海量图像中找到所需信息是影响用户互联网体验的关键因素.其中一个重要方法是预先对图像进行标注,用户可通过搜索关键词来获得相关图像信息. 当前主流搜索引擎也主要通过以文搜图方式为用户提供所需信息,如百度、Google等. 然而,并非所有可用图像都具有完整而准确的标签,但图像标签的准确性与完整性直接影响图像信息搜索、图像推荐、图像理解、视频理解和商品推荐等任务的性能. 目前大多数图像数据采用人工分类与标注. 但人工标注存在诸多缺陷. 首先,人力成本高且耗时;其次,人工标注存在一定的主观性,可能会忽略图像中比较微小的细节,从而缺失隐含的重要信息,影响数据的精确分析与管理. 因此,自动图像标注算法利用计算机来完成图像标注或校正,可以在海量图像中快速发现和定位有用信息,解决当前数据爆炸时代找寻有用信息难的问题. 因此,自动图像标注已成为当前图像处理领域的研究热点之一,广泛应用于图像检索[1]、图像理解[2]与识别[3]等领域. 高效而准确的自动图像标注技术将会产生良好的社会价值和经济效益,并对国防、农业、教育、医疗、新闻、环境监测及遥感等领域产生深远影响.
现有图像标注方法多基于图像的视觉特征,可分为判别式模型[4-5]、生成式模型[6-7]及最近邻模型[8-10]等. 其中,最近邻模型因其具有较高的标注性能而受到了较多的关注. 如Tagprop算法[8]采用了带权值的最近邻模型. 2PKNN[9]为解决标签的不均衡性则采用了2个KNN过程来完成图像标注. 但最近邻算法需要遍历整个数据集来搜索k个最近邻目标,从而耗费较多时间. 因此,一种简单高效的自动图像标注方法变得尤为重要.
字典学习方法[11-14]近年来在图像分类、图像标注与图像识别等计算机视觉领域取得较多关注. 由于该方法通过超完备的区分性字典学习将图像直接映射到一个更高维的空间中,从而获得图像稀疏特性,具有数据降维和简化分类流程的特点. 与传统分类方法相比,字典学习大大降低了计算量,且具有较好的分类性能.
正是基于简单性与高效性的考虑,本文提出了一种融合视觉特征和标签一致性的自动图像标注方法VTC-KSVD. 该方法首先建立训练图像的标签连续性模型TC-KSVD,然后结合视觉特征,搜索视觉上和语义上都非常近似的图像并推断其标签,从而实现自动图像标注.
1 相关算法简介
1.1K-SVD学习算法
K-SVD[11]是一种基于k均值的奇异值(singular value decomposition, SVD)分解字典学习方法. 该方法利用SVD更新字典和稀疏系数,具有计算复杂度低和收敛速度快的优点. 对于给定的样本矩阵Y∈m×N,Y=[y1y2…yN],N为样本数,m为特征维度,解决如下优化问题可获得Y基于稀疏表达的重建词典D
(1)
式中:T0为稀疏限制阈值;D∈m×K,D=[d1d2…dK]为学习获得的字典,其中K>m代表字典中的原子数;X∈K×N,X=[x1x2…xN]为训练样本Y的稀疏编码. 在分解过程中,每一个输入样本有小于T0非0项. 从式(1)的数学表达形式来看,该方法是一种基于矩阵分解的优化问题,可通过迭代方法来解决参数最小化的问题.
1.2D-KSVD学习算法
D-KSVD[13]方法首次将区分式分类错误项融入到K-SVD算法中,提升了分类能力. 该方法的目标函数为
(2)
1.3LC-KSVD学习算法
这里假设字典D=[d1d2d3]T有3个原子,训练样本集为Y=[y1y2…y8],若y1,y2,y4,d1,d2属于同一类别,y3,y5,y8,d3属于另外一种类别,则可构建稀疏编码关系矩阵Q如图1所示.
由此可得LC-KSVD的目标函数为
〈D*,W*,A*,X*〉=
(3)
式中:α与β为权重因子;Q∈K×N用来建立Y∈m×N和D∈m×K之间的关系. 为求解式(3),将其改写为式(4),然后依照K-SVD算法[11]对式(4)进行求解.
〈D*,W*,A*,X*〉=
(4)
LC-KSVD方法将类标一致性作为监督学习条件,使用二元类标稀疏矩阵来确保相同类标的图像具有相似的稀疏表示,将分类器计算加入到字典训练中,加强了字典分类性能.
2 基于VTC-KSVD模型的图像自动标注
2.1TC-KSVD模型的建立
上述3种词典学习算法都采用了平方规范化作为图像空间的距离度量方法. 但K-SVD方法只关注于词典学习的稀疏特征,忽略区分信息. 而D-KSVD考虑了区分信息,并以此学习一个独立线性分类器. LC-KSVD在D-KSVD基础上加入了类标一致性信息来促使同类样本具有相似稀疏编码. 但这些线性稀疏模型并不能有效区分隐含在图像中的特殊特征. 如同类图像虽具有相同类别,但不同图像却具有不同的标签,这属于图像的独有特征. 如果将这些标签信息加入到字典模型中,应该能得到更好的标注性能. 因此,受LC-KSVD启发,首先建立训练图像样本Y与词典D之间的稀疏编码关系矩阵Q,如图2所示.
假设一个数据集有M个标签,则建立训练图像与标签的关系矩阵Tr∈M×N,该矩阵为二元矩阵,如果第j个图像与第i个标签关联,则(Tr)ij=1,否则(Tr)ij=0. 其构造方式如图3所示. 因此,将标签关系矩阵融入到LC-KSVD模型中,可获得TC-KSVD的损失函数:
〈D*,T*,A*,X*〉=
(5)
上述公式中,第一项代表字典D下的稀疏系数X与训练数据Y的近似误差,第二项促使稀疏系数X具有类别可区分性,第三项促使稀疏系数具有标签可区分性,α和β为权重系数.Q代表稀疏编码关系矩阵,也是一个线性转换矩阵,Tr为训练样本的标签矩阵,T为学习到的联合标签关系矩阵. 采用该方法学习到的字典和稀疏系数都会根据类别的不同和标签的不同而区分,增强了字典的区分性,可提高图像标注性能.
2.2TC-KSVD模型优化
类似于LC-KSVD,使用K-SVD算法同时求解所有参数. 因而式(5)可重写如下
〈D*,T*,A*,X*〉=
(6)
式中
则式(6)等价于解决下述优化问题
(7)
式(7)可由经典K-SVD方法求解获得D*和X.
在LC-KSVD中,同时更新D,A和W,可避免局部最小值,且在类别较多时扩展性较好. 因此,在优化TC-KSVD时,也同时求解D,A和T,但D(0),A(0)和T(0)都需提前初始化.
对于D(0),针对每一个标签使用K-SVD算法求解出初始子字典,然后将所有子字典联合起来作为字典初始值, 同时初始化字典标签.
对于A(0),采用与LC-KSVD类似的方法,岭回归模型[15],其利用二次损失及L2范数规划化求解,其表达式如式(8)所示,然后对式(8)关于A求解可得式(9)为
(8)
A*=QXT(XXT+λ2I)-1.
(9)
同样对于T(0), 可从式(5)中得到关于T的关系式,然后利用岭回归模型求解获得
T*=TrXT(XXT+λ1I)-1.
(10)
上述式(9)(10)中,λ1和λ2设置为较小的常数,I为单元矩阵. 得到初始化D(0)后,可采用K-SVD方法求解出输入信号的稀疏编码系数X,以及初始A(0)和T(0),接着再利用K-SVD方法求出参数D,A和T.
2.3TC-KSVD图像标注
通过上述优化过程可获得字典D,稀疏编码系数X和标签相关矩阵T,由于
因而
为其规范化形式. 然后,通过式(11)求得测试样本YE的稀疏表征E为
(11)
最后,利用标签关系矩阵T可预测样本Yt的标签向量
(12)
因此,建立测试样本的相关标签关系矩阵Tt后,再结合每个样本的视觉近邻及标签信息,选择固定数量的标签作为图像的最终标签. 提出的图像标注算法步骤如下:
输入:Y,Q,Tr,α,β,T0;
① 用K-SVD方法迭代初始化字典D(0);
② 用式(9)初始化区分性编码矩阵A(0);
③ 用式(10)初始化标签关系矩阵T(0);
④ 用K-SVD求解式(5),获得字典D,A及T;
⑤ 对D和T进行规范化;
⑥ 求解式(11),获得测试样本的稀疏表征E;
⑦ 利用式(12)求得测试样本的标签关联矩阵;
⑧ 结合视觉信息获得其近邻信息.
输出:根据要求,为测试样本输出一定数量标签.
2.4 图像特征的提取
对于图像标注任务而言,缺乏视觉特征,往往缺乏很好的泛化能力. 因此本文将图像视觉特征作为图像的重要属性,其稳定可靠,可缓解只考虑语义而忽略视觉特征导致的标注性能下降问题. 本文采用了大量应用于图像标注领域的15种视觉特征[8-10],包括全局特征、颜色特征及局部特征. 全局特征为Gist特征[16]. 颜色特征包含3种常用的颜色空间RGB(red/green/blue),Lab颜色空间和 HSV(hue,saturation,value),所有的颜色特征均被量化为16 bin. 局部特征为SIFT(scale-invariant feature transform))特征[17]. 15种视觉特征分别为:RGB, RGBV3H1,HSV,HSVV3H1,LAB,LABV3H1,DenseHue,DenseHueV3H1,DenseSift,DenseSiftV3H1, Gist,HarrisHue,HarrisHueV3H1,HarrisSift和 HarrisSiftV3H1. 由于每幅图像所含特征点不同,因而为每一副图像提取相应的特征后,采用k-means算法将每幅图像的特征聚类为相同数目,以便于使用同一种方法进行距离比较. 最后,将每幅图像转换为1 500维的图像特征矩阵作为字典学习的训练样本.
3 实验结果与分析
3.1 数据集
为验证本文提出算法的有效性,采用在图像检索与标注领域广泛使用的多标签图像数据集Corel5K[18].该数据集包含5 000幅图像,包含50个主题场景,每个图像都手工标注了260个关键词中的1~5个关键字. 其中499幅图像作为测试数据集,其余作为训练样本.
3.2 评价标准
准确率(precision)和召回率(recall)是评估本文算法性能的重要标准. 这2种评估方法广泛应用于图像分类,图像标注与识别,图像检索等领域. 为方便与其他方法进行比较,为每个测试图像标注固定个数标签,然后计算关于标签的准确率与召回率. 准确率一般表示被正确标注的图像比率,召回率表示被正确标注的图像相对于人工标注的比率. 因此,准确率和召回率可表示为
式中:Nc为正确标注的图像的数量;Nl为相对于人工标注标签,被正确标注的图像的数量;Nall为所有测试图像;li为第i个类别标签.
3.3 比较方法
为了评估本文算法的有效性,选取了其他6种图像标注方法作与本文方法作比较. 这些方法有:随机森林法[19](RF),JEC[20],TagProp[8],2PKNN[9],GENMF[21]和NMF-KNN[10].
上述方法的参数都依照其各自的代码或者论文建议. 对于本文方法,首先进行参数调节,然后根据最佳参数配置来设置本文算法参数. 所有方法都在一台采用Core7,3.6 GHz处理器和16 GB内存的工作站上运行. 本文算法采用Matlab2016实现代码的调试与测试.
3.4 结果与分析
本文为每幅测试图像分别标注4个和5个标签,并观察其与其他方法对比结果,最后计算平均准确率和召回率. 在具体实现中,重复运行程序10次,以平均值作为最终结果. 为取得最佳性能,在进行比较前,先对3个重要参数α,β和字典原子数S进行微调,获得其最佳组合对. 其最佳参数为α=1,β=10,S=30,T0=30. 比对实验结果如表1所示.
表1 不同方法在Corel5K数据集上的性能
表1中,P@4和R@5表示标注4个关键字的准确率和5个字的召回率. 相对于4个标注词,标注5个关键词时,每一种方法的召回率都有所提高,准确率有一点降低或者无变化. 主要原因在于提高标注单词数时,预测词汇能更好的覆盖真实标签,但个别图像真实标签为4个词,强行多分配一个词汇,降低了准确率. 在表1中,无论标注了4个还是5个关键词,本文方法均取得了最好的平均准确率,平均召回率仅次于NMF-KNN. 原因在于,本文方法既集成了KSVD经典学习方法的优点,又集成了LC-KSVD方法的标签一致性优点,使得具有同一类别标签的稀疏表达尽可能相似,在此基础上又加入了标签一致性关系,使得具有相似类别和标签的图像的稀疏表示更为相似,最后再结合视觉近邻的标签,使得预测标签更接近真实标签. 在其他方法中,准确率和召回率较低的方法是JEC算法. 该方法采用贪婪算法在基于全局特征的近邻中传播标签. 每一种全局特征采取相同的距离度量方法,忽略了不同特征对于语义标签的贡献,因此该方法并不能取得比相同权值更好的结果. 准确率方面,随机森林方法优于JEC. 该方法通过建立图像的语义森林,来预测图像的标签,召回率也相对较高. 但该方法需要遍历几乎所有的森林节点,因此计算复杂度较高. TagProp,2PKNN和NMF-KNN方法均属于近邻方法,这些方法都需要遍历图像的语义近邻,然后传播图像的标签. 不同的是,TagProp采取了不同权重方法来解决标签不均衡问题,2PKNN则执行两遍KNN近邻搜索方法来完成图像标注,同样解决图像标签的不完整和不均衡性. GENMF首先提取多视图视觉特征,然后用NMF对数据进行降维,同时将训练样本的语义特征通过图嵌入模式融入到NMF模型中,最后采用2PKNN方法做标签传递. 由于多视图视觉特征的提取及训练样本语义特征的融合,GENMF方法也取得了相对不错的性能. 相对于此,NMF-KNN方法将标签看作另外一种除了视觉特征之外的特征,然后将所有特征分解成基矩阵和稀疏矩阵. 该方法融合了NMF的数据降维特性,并高效地结合了KNN方法的全面遍历语义近邻特征,因此取得了更好的标注准确率和召回率. 但由于该方法需要提取大量的视觉特征,并且每一个视觉特征都需要单独计算,依然存在着计算量大的问题. 提出的VTC-KSVD则通过一种稀疏表示的字典学习方法,融合视觉特征,类别标签特征和标签特征来获取最佳的图像标注性能. 其标注标签的可视化结果如图4所示.
在图4中,最左侧一列为图像,中间一列为图像的人工标注标签,第3列为本文方法的预测标签结果. 下划线单词为预测错误的标签.
3.5 参数的敏感性分析
在式(5)中,有3个重要参数α,β及字典原子数S. 由于目标函数可转化为一种优化问题,因此合适的参数有助于找到最优值.
3.5.1α与β对性能的影响
从图5可以看出,当α=β=0.001时,其召回率比较低,并不能满足性能要求. 随着α与β的增长,召回率逐渐增长. 当α=1,β=10时,召回率达到最佳值;而当α>1,β>10时,召回率有一定程度的降低. 这意味着,当这两个项的信息增加到一定程度后,会取得较好的性能,但继续增加相应信息,反而会造成信息干扰,从而影响整体性能. 因此为获得最佳的图像标注性能,在实验中设置参数为α=1,β=10.
3.5.2字典大小对性能的影响
在字典学习中,字典所含原子数对重建表征有着重要影响. 原子越多,所含原始数据信息越丰富,稀疏表征就越能更好复原原始数据. 但字典越大,学习过程中占据的存储空间越大,计算负担加重. 因此,合适大小的字典可获得性能与效率的平衡. 在本文方法中,为每一个标签学习一个固定原子数的子字典. 这里设定原子数的范围为{1,5,10,15,20,30,50,80},并固定其他参数a=1,β=10,T0=30. 考虑到计算效率的问题,本文的原子数并没有设置非常高,其测试结果如图6所示.
从图6可看出,当原子数增加时,本文方法的准确率与召回率均得到了提升,当字典原子数为30时,其准确率与召回率均能达到各自较好值,并且随着其继续增加,性能会有所回落,这是由于更多的原子数会带来信息的干扰,因而会影响性能且增加计算负担. 因此出于性能与计算效率的考虑,本文算法将Corel5K数据集上的字典原子数设置为30.
4 结 论
提出了一种融合视觉特征及标签一致性的多标签图像标注方法VTC-KSVD. 该方法是一种新的基于字典的学习方法,与LC-KSVD不同的是,其充分利用了图像的视觉特征及标签一致性信息,提高了图像的标注性能. 该方法能够有效地将原始输入数据映射到一个高维空间中,然后利用字典学习把高维数据映射到一个低维的子空间,从而降低了计算复杂性,又充分挖掘训练数据中各图像标签之间的关系及丰富的视觉特征,提高图像标注性能. 实验结果表明,VTC-KSVD能够充分挖掘视觉特征的稳定性、多样性,解决训练数据标签不均衡问题. 同时结合标签一致性,可以较为准确地预测出测试图像的语义标签. 后续,将考虑在该方法加入神经网络提取的视觉特征,并考虑结合词嵌入模型以增强语义关联,降低语义鸿沟,进一步提升标注性能,这将作为本文工作的延伸.