作者简介:王兆平(1980—),长沙民政职业技术学院高级工程师.研究方向:计算机视觉、图形图像处理.E-mail: 250548940@qq.com
中文责编:英 子; 英文责编:木 柯
1)长沙民政职业技术学院,湖南长沙 410004; 2)深圳大学计算机与软件学院,广东深圳 518060
1)Changsha Social Work College, Changsha 410004, Hunan Province, P.R.China2)College of Computer Science and Software Engineering Shenzhen University, Shenzhen 518060, Guangdong Province, P.R.China
artificial intelligence; social network; network representation learning; image classification; neural network; social multimedia
DOI: 10.3724/SP.J.1249.2019.04453
在线社交网络图像通常携带大量的社交网络元数据,包含了丰富的图像语义信息,可以帮助用户区分图片中的内容.提出一种基于社交网络元数据的图像分类(multiple social metadata image classification networks,简称MSNet)算法,首先采集得到图像的多种社交网络元数据,根据图像社交网络信息构造出图像的多种关系网络,然后使用网络表征学习算法学习出图像在各个关系网络中的表征向量,最后使用图像的视觉特征和网络表征训练一个神经网络分类器对图像进行分类.通过在PASCAL、MIR、CLEF和NUS数据集上对比MSNet与CNN-neighbor、核典型相关分析(kernel canonical correlation analysis, KCCA)算法的性能,证明了MSNet算法能提升图像分类的性能.
The images in online social networks usually carry a large amount of social network metadata, such as labels, users, picture groups, locations and comments. These social network metadata, which include rich image semantic information, can help users distinguish the content of imagesand communicate with each other. An image classification algorithm based on multiple social networks, MSNet, is proposed in this paper. Firstly, MSNet collects the social network metadata of images and constructs relationship networks of images based on the metadata. Then,a network embedding algorithm is used to learn the representation vectors of images in each network. Finally,a neural network classifier is trained to classify the images by using the visual features and network representation of images. The experimental results on PASCAL、MIR、CLEF and NUS image data sets show the superiority performance of MSNet in comparison with CNN-neighbor and kernel canonical correlation analysis(KCCA).
随着社会化媒体的出现和移动设备的广泛使用,人们倾向于把图像上传到在线社交网络中,如Flickr在线图片分享网站(http: //www.flickr.com/)和QQ空间等.这些图像通常携带着不同种类的社交网络信息,例如标签、用户、图片组、位置和评论等.这些社交网络信息包含了丰富的图像语义信息,在图像分析的过程中引入社交网络信息具有重要的意义,可以在一定程度上提升图像分类算法的性能[1-2].
目前,很多图像的应用都在图像分析过程中引入社交网络信息,如图像检索[3- 4]、图像标注[5]和图像分类[1-2]等.GONG等[5]利用核典型相关分析(kernel canonical correlation analysis, KCCA)算法[6],把图像的视觉特征和标签信息投影到一个共同的空间,提升图像检索算法的性能.MCAULEY等[2]首次使用社交网络信息进行多类别图像分类,在设计分类器的过程中仅使用了社交网络信息.JOHNSON等[1]利用社交网络信息找出每一幅图像的邻居,使用深度神经网络混合图像和其邻居的视觉特征,从而提升多类别图像分类算法的性能.网络表征学习的目的是训练得到网络中每个节点的表征向量,这些表征向量可以较好地保存网络的拓扑结构.基于矩阵分解的方法,包括多维标度分析(multidimensional scaling, MDS)[7]、等度量映射(isometric mapping, Isomap)[8]、局部保持投影(locality preserving projections, LPP)[9]和GraRep[10]等.WANG等[11]提出基于自编码器的网络表征学习算法(structural deep network embedding, SDNE).PEROZZI等[12]基于Word2vec模型[13]提出了DeepWalk算法,该算法在网络中进行随机漫步,采样得到多个随机路径,并使用Skip-Gram神经网络模型[14]学习节点的表示向量.GROVER等[15]使用深度优先搜索和广度优先搜索,提出node2vec模型作为DeepWalk的扩展.TANG等[16]提出LINE(large-scale information network embedding)算法,通过LINE训练得到的表征向量,可以保留网络的一阶近似性和二阶近似性[17].
然而,现有的基于社交网络信息的图像分类算法,通常是把图像的社交网络信息表示成一个集合,无法充分挖掘图像在社交网络信息中的联系,也无法有效利用多种不同的信息.为此,本研究提出一种基于社交网络元数据的图像分类(multiple social metadata image classification networks, 简称MSNet)算法.首先,根据图像的社交网络信息构造出图像的多个关系网络; 然后,使用网络表征学习算法LINE学习出图像在关系网络中的表征向量; 最后,使用图像的视觉特征和关系网络表征训练神经网络分类器进行分类.MSNet算法与传统的方法不同,通过构造出图像在社交网络信息上的关系网络,能够更好地捕捉图像之间的关系,也可以有效地利用多种不同类型的社交网络信息.
本研究提出的MSNet算法可结合图像的社交网络信息进行图像分类.图1是MSNet的结构图,其左边是数据集,该数据集除了图像,还包括大量的社交网络元数据,如Tags、Owner_id和Location等.MSNet算法分3个步骤:① 通过数据集构造出图像的m种关系网络,如Tags关系网络和Owner关系网络等; ② 表征学习,MSNet使用卷积神经网络CNN[18-19]学习图像本身的视觉特征 I, 利用LINE算法学习图像在m个关系网络中的表征向量 Φ1, Φ2, …, Φm; ③ 利用图像的视觉特征I和网络表征
向量 Φ1, Φ2, …, Φm训练神经网络模型,最终对图像进行分类.MSNet算法流程图见图2.
定义1 图像关系网络.给定一个图像集合V和一种社交网络关系,把关系网络定义为一个无向图G=(V,E). 其中,V={v1,v2,…,vn}, n为节点数,每个节点均是一幅图像.设E是图像社交网络关系的集合,若e=(i, j)∈E, 其中, i, j∈V, 则说明图像i, j之间在当前关系网络中具有联系.图像之间的联系强度用邻接矩阵 An×n表示,则e=(i, j)的强度为aij.
每一种社交网络元数据都有一个字典T, 包含了这种元数据所有可能的取值.每一幅图像x∈V均携带了其中一部分的信息t(x), 即t(x)∈T. 对于标签来说, T包含了所有出现过的标签,而t(x)包含了图像x所拥有的标签.本研究根据图像的信息t(x)构造出关系网络(关系网络的构造方法示意图请扫描论文末页右下角二维码查看).关系网络的连接强度矩阵 An×n中的元素为
aij=(t(i)∩t(j))/(t(i)∪t(j))(1)
使用上述方法可构造出多种关系网络.若图像包含m种元数据,则可构造出m个不同的关系网络{G1, G2, …, Gm}.
生成关系网络后,MSNet算法需要学习图像在这些关系网络中的表征向量.本研究采用TANG等[16]提出的网络表征学习算法LINE.若给定一个关系网络G=(V,E), 可以使用LINE算法学习出网络中所有节点的表征向量 Φ={φ(v)∈Rd|v∈V}. 其中, φ(v)是节点v的表征向量; d是向量的维度.
给定一个要学习的网络G=(V,E), LINE算法直接使用网络中的每一条边{e=(i, j)|e∈E}作为训练样本.每一个网络对应一个连接强度矩阵 An×n, 若给定一条边e=(i, j), 其对应的权重表示为aij, 则LINE定义边(i, j)出现的经验概率为
(^overp)(j|i)=(aij)/(di)(2)
其中, di为节点vi的出度, di=∑j'∈N(i)aij', j'为i所有邻居节点, N(i)为所有与节点vi有边相连的节点.LINE算法可根据节点的表征向量计算出边(i, j)的条件概率为
p(j|i)=(exp[φ(vi )φ'(vj)])/(∑|V|k=1exp[φ(vi )φ'(vk)])(3)
其中, φ为节点的表征; φ'为节点作为上下文时的表征.LINE算法通过最小化经验概率(^overp)(j|i)与条件概率p(j|i)之间的KL散度(Kullback-Leibler divergence),经过学习得到最终的网络表征.LINE的目标函数为
min∑(i, j)∈Edi KL((^overp)(j|i), p(j|i))=
min-∑(i,j)∈Eaijlg(p(j|i))(4)
其中, KL(p,q)=plg(p/q).
直接优化LINE目标函数的计算量过大,因为p(j|i)的计算需要用到整个网络中所有节点的上下文表征向量.因此,使用负采样算法[14]表示的lg(p(j/i))为
lg σ(φ(vi)φ'(vj))+
∑Kl=1Evl~Pn(v){lg[σ(-φ(vi)φ'(vl))]}(5)
其中, σ(x)=1/[1+exp(-x)]是Sigmoid函数.该式的第1项是当前正在训练的样本边(i, j); 第2项是负采样项; K是负采样次数; Evl~Pn(v)表示负采样的节点符合噪音分布Pn, Pn(v)是负采样的噪音分布, 且Pn(v)∝d3/4v. LINE算法使用梯度下降算法优化式(5)后,通过学习得到节点的表征向量 Φ.
在得到图像在关系网络中的表征向量后,MSNet算法还需获取图像的视觉特征.本研究利用一个卷积神经网络对图像进行特征的抽取,得到视觉特征矩阵 I∈Rn×d'. 其中, d'是视觉特征的维度.
MSNet算法采用一个单隐藏层的全连接神经网络(fully convolutional networks,FCN)作为分类器.首先把图像的视觉特征矩阵 I与图像在网络中的表征 Φ1, Φ2, …, Φm直接拼接在一起, 形成图像最终的特征 F=[I, Φ1, Φ2, …, Φm ]. 隐藏层的激活函数采用线性整流函数ReLU,输出层的激活函数采用Sigmoid函数.
从在线图像分享网站Flickr中采集PASCAL[20]、MIR[21]、CLEF[22]和NUS[23]这4个标准的图像分类数据集中每一幅图像所包含的社交网络元数据,使用其中的标签、用户、图片组、位置和评论者5种社交网络元数据进行实验.表1显示了这4个数据集中各种社交网络元数据的量.
实验中的4个数据集均是多类标分类数据集,即一个图像可能包含多种类标.本研究采样以下评价8个指标:① preI为在图像上的整体查准率; ② preL为分别计算每一个类标上的查准率,然后取平均值; ③ recI为在图像上的整体召回率; ④ recL为分别计算每一个类标上的召回率后取平均值; ⑤ F1sI为在图像上的整体F1值; ⑥ F1sL为分别计算每一个类标上的F1值后取所有类标的平均值; ⑦ mAPI为均值平均精度(mean average precision),可测量模型生成的排名的质量,即在所有图像上mAP值的均值; ⑧ mAPL为所有类标上mAP值的均值.
为验证MSNet算法的性能,本研究采用6种算法进行对比.
该算法利用MSNet算法中提取的视觉特征 I作为图像的特征,然后传入与MSNet算法一样的神经网络中进行训练.VisFCN算法与MSNet算法的区别仅仅在于前者未使用图像的网络表征.
这是一种基于最近邻的算法,先找出图像的几个最近邻,再根据图像邻居的类标对图像分类,常用于图像的自动标注.对于每个测试图像x, 根据其视觉特征 Ix与所有图像视觉特征的L2距离(L2(p, q)=[∑i(pi-qi)2]1/2), 选出k个最近邻图像.然后,利用这k个图像的真实类标投票得到分类结果,采用一些比较新的投票算法[24]来投票.
2.3.3 CNN-neighbor-tags算法[1]
这是一种利用社交网络信息进行图像分类的算法.给定一个测试集图像,先利用社交网络元数据找出该图像的邻居,再使用图像和其相邻的视觉特征训练神经网络模型进行图像的分类.该算法在查找图像近邻时只利用了图像的标签信息.
2.3.4 CNN-neighbor-all算法[1]
与上一种采用相同模型,但CNN-neighbor-all算法在查找图像近邻时利用了所有社交网络的信息.
采用文献[25]算法,先生成图像的标签特征,再使用KCCA算法将图像特征与标签特征投影到共同的空间中.本研究保存投影后的视觉特征,并利用全连接神经网络进行分类.
与上一个方法采用一样的特征学习过程,但是使用kNN算法进行图像分类.
特征学习.对于PASCAL、MIR、CLEF和NUS这4个数据集,本研究采用CNN模型提取出1 024维的视觉特征 I. 在使用LINE算法学习网络表征的过程中,对于PASCAL、MIR和CLEF数据集,LINE算法学习的表征维度设为50; 对于NUS数据集,LINE算法学习的表征维度设为100.
神经网络分类器.实验中的神经网络采用L2正则化,系数为5×10-4; 隐藏层维度为1 000; 模型采用glorot uniform算法初始化; 模型优化采用adadelta算法; 训练迭代次数设为10.
使用MSNet和6种对比算法分别在PASCAL、MIR、CLEF和NUS这4个数据集上进行图像分类实验,对比其性能.每个数据集划分为80%的训练集与20%的测试集,并随机进行10次划分,再记录各种算法在各项分类指标上的均值.实验结果如表2.
表2 四个数据集的实验结果*
Table 2 Experimental results on four data sets
从PASCAL数据集实验结果可见,MSNet算法在F1sL、mAPL和mAPI这3项评价指标中的表现都是最好的.MSNet和VisFCN算法采用相同的模型与视觉特征,但前者在分类时利用了图像在社交网络中的表征向量.MSNet算法在preL、recL、recI、F1sL、F1sI、mAPL和mAPI指标上的得分均高于VisFCN算法.CNN-neighbor算法与MSNet算法均利用了社交网络信息.对比MSNet算法与CNN-neighbor算法,发现前者的分类性能更佳,在recL、recI、F1sL、mAPL和mAPI这5项指标上都比CNN-neighbor-tags好.这说明与CNN-neighbor算法相比,MSNet算法能更有效地利用图像所携带的社交网络信息来进行图像分类.
在CLEF数据集上,MSNet算法性能表现最佳,在除了preL和preI外的其他评价指标上的得分都是最高的.比较MSNet与VisFCN算法的各项性能指标,发现MSNet算法的F1sL提升了2.42%,mAPL提升了1.96%,F1sI提升了0.97%,mAPI提升了0.97%.使用MSNet算法后,在F1sL和mAPL上的提升比在F1sI和mAPI上的提升相对要大一点.mAPL、F1sL指标与mAPI、F1sI指标的区别在于,mAPL、F1sL指标的得分受包含样本数量较少的类别影响更大,说明MSNet算法能够更好地照顾到一些包含样本数量较少的类别.从PASCAL数据集的实验结果中也可发现此规律.MSNet算法能够更好地照顾少样本类别,与其在分类时利用社交网络信息是密不可分的.若某个类别包含的样本过少,会使分类器无法获得足够的信息去辅助分类,导致出现歧义.MSNet算法在分类时引入了社交网络信息,使分类器可根据图像在社交网络中的表征消除一部分的歧义,从而提升了少样本类别的分类效果.该现象在CLEF数据集上表现更加明显,主因是CLEF数据集中包含的类别比PASCAL数据集多,且少样本的类别相对也比较多.
在MIR数据集上的实验结果标明,MSNet算法在preL、F1sL和mAPL等几项指标上均表现最好,且在F1sI和mAPI上的取值与最好的相差不大,说明MSNet算法在MIR数据集上整体的性能相对较好.在MIR数据集上,CNN-neighbor和MSNet算法的mAPI值几乎一样,均比VisFCN算法稍微低一点.然而,在F1sL指标上,MSNet算法要优于其他算法,比VisFCN算法提升了1.19%,比CNN-neighbor-tags算法提升了4.21%.在mAPL指标上,MSNet算法同样优于其他算法,比VisFCN提升了1.66%,比CNN-neighbor-tags算法相比提升了2.27%.
NUS是4个数据集中最大的,包含20万个图像,分为81个不同的类别.MSNet算法在NUS数据集的8项指标上的效果均是最好的.与之前的结果相似,MSNet算法在F1sL与mAPL指标上分别提升了4.43%和4.05%,而在F1sI和mAPI指标上分别提升0.92%和1.00%,说明MSNet算法可有效提高图像分类的整体性能,且能更好地支持少样本的类别.在NUS数据集上,CNN-neighbor算法同样可提高图像分类性能,但比MSNet算法略差.
本研究提出的MSNet算法,首先根据图像的社交网络元数据构造出图像的关系网络; 然后,使用网络表征学习算法学习出图像在关系网络中的表征; 最后,使用图像的网络表征与视觉特征来训练分类器.在4个包含社交网络元数据的图像数据集上进行了对比实验,证明了MSNet能够有效利用社交网络数据提升图像分类的性能.在利用视觉特征和网络表征训练神经网络分类器时,笔者同样尝试采用卷积层进行特征的抽取,但效果并不理想,MSNet算法中直接采用简单的全连接网络效果更好.
深圳大学学报理工版
JOURNAL OF SHENZHEN UNIVERSITY SCIENCE AND ENGINEERING
(1984年创刊 双月刊)
主 管 深圳大学
主 办 深圳大学
编辑出版 深圳大学学报理工版编辑部
主 编 李清泉
国内发行 深圳市邮电局
国外发行 中国国际图书贸易集团有限公司(北京399信箱)
地 址 北京东黄城根北街16号
邮 编 100717
电 话 0755-26732266
0755-26538306
Email journal@szu.edu.cn
标准刊号 ISSN 1000-2618
CN 44-1401/N