横向比较图像标注中的两种基于近邻思想的方法 TagProp和SGSSL
来源:互联网 发布:webshell采集器 编辑:程序博客网 时间:2024/05/17 01:49
利用近邻传递标签的思想进行图像标注在近几年的图像标注工作中取得了很好的效果,甚至有点难以超越的感觉了。其中最具有代表性的是09年ICCV上的 《TagProp:Discriminative Metric Learning in Nearest Neighbor Models for Image Auto-Annotation》以及同年MM上的《Inferring Semantic Concepts from Community-Contributed Images and Noisy Tags》。而第二篇文章在11年的ACM TIST上又做了进一步的改进,由之前构建的完全图变为只取k个视觉近邻的稀疏图,其他地方均与09年的方法一致。在读两篇论文的时候发现两种方法之间有相通之处,于是就放到一起来比较一下。
先介绍一些简单的概念。
图像标注,是为图像赋予一些标签,这样在基于关键词的搜索引擎中就可以很方便的被检索到。这里赋予图像的标签应该与图像是相关的,客观的反映了图像的语义,比如说一幅阳光下沙滩的照片可以有"sun" "beach" "sea"等标签。当前的图像标注工作中,关注的是图像与某个语义概念的关系,比如小狗小猫的图片统一属于"animal"这一语义概念,而一幅人的肖像图是属于"people"这一语义概念。现有的大型web图像数据集包括MIRFlickr和NUS-WIDE,分别包括24个和81个语义概念。语义概念一般是比较宽泛的,在wordnet语义树中比较上层的一些词,它可以含有许多子概念。例如"plant life" 包括"tree"和"flower","sky"包括"clouds","water"包括"sea" "lake" "river"等。下文中我们用c表示每一个语义概念,用yic={+1,-1}表示概念c是否在图像i中出现,用p(yic=+1)表示概念c在图像i中出现的概率。
基于近邻思想的图像标注方法的观点是,视觉近邻可以相互传递标签。比如说图片A的视觉近邻中有80%的图片都标有"animal"这个标签,就可以推断出概念"animal"在图片A中出现的概率为0.8,这是最简单的一种近邻投票方法。在之后的研究工作有一些改进,考虑到与目标图像视觉距离不同的图片应该在投票时占有不同的权重,最终目标图像中概念c出现的概率是一系列的加权和,这就是下面将要提到的TagProp方法。另外就是利用稀疏重构(Sparse Reconstruction)的思想,目标图像的视觉特征可以有k个近邻的视觉特征稀疏重构得到,近邻的重构系数表示了近邻与目标图像拥有相同概念的相似度,最终利用半监督学习的方法对目标图像进行语义概念的预测,这就是kNNSGSSL的主要思想。
所谓稀疏重构(Sparse Reconstruction)的思想是Wright在09年PAMI上的《Robust face recognition via sparse representation》中提出,对一幅图像进行基于l1范式的线性重构误差最小化可以得到它的稀疏表示。这种稀疏的表示方式对特征中的噪声是鲁棒的,而且会趋于选择图像集中与目标图像语义相近的图像去进行重构。例如x表示我们要去重构的d维的特征向量,D是n*d的特征矩阵,表示重构x用到的n个d维向量,w为n维的系数向量,每个维度表示相应样本在稀疏重构中所占的权重,于是得到线性等式x=Dw。对于w的稀疏解可以通过求解以下优化问题得到:
通常,在x的某些元素中会存在噪声,因此在上式的基础上加入d维的噪声项,等式变为,可通过以下方式求解:
其中,
通过对上述l1范式最小化的求解,可以得到稀疏的系数向量w。
介绍一下需要事先准备的数据:
图片集合:MIR-Flickr 、Corel5K 或 NUS-WIDE-Lite
视觉特征:通过对图像视觉特征的提取,可以获得在不同特征空间内图像的表示,如颜色(RGB HSV LAB)、纹理(Tamura Gabor Haar)、全局特征Gist、局部特征SIFT\SURF等。
视觉距离:假设共有m中特征,分别在m个不同的特征空间内计算两幅图片的视觉距离,如RGB空间内计算L1距离,Gist空间内计算L2距离等,可以获得两幅图片的m维距离特征d.
下面比较一下两种方法的具体实现过程:
TagProp
Tag Propagation
此处只讨论在实验结果中表现最好的Distance-based Weighting方法kNN SGSSL
kNN Sparse Graph-based Semi-Supervised Learning
近邻
权
重图像i所有近邻的权重w定义为:
其中j为训练集中的图像,,为各种距离的加权和,很明显可以看出,距离越大的近邻占有的权重越小。
下面会给出求解方法
one-vs-kNN sparse reconstruction目标是利用k近邻构建稀疏图,图的顶点为每幅图像,边的权重为稀疏重构的系数
1. 对于每幅图片,寻找k个视觉近邻
2.利用x的k个近邻的特征向量构造B:
通过求解以下l1问题:
其中,w∈Rd+k
3.为图中的边赋权重
其中, 是w的第p个元素标
注
推
断对概念c在i中出现的概率可以用近邻的加权和的形式表示
其中
一般设置,为了防止0概率的产生,对最终的推断结果没有影响。
通过计算所有概念c在图像i中出现的概率,取其中概率值最大的k个概念作为i最终的标注
首先重新排列训练集中的图片,使得X=L∪U,N*c维矩阵,N为图片数,c为概念数。L是前l个标注的图片,U为后面n-l个未标注的图片,其中若图片与概念相关,则相应的值为1,否则为0。所有图片的预测标注用f表示,可以分为两部分:基于半监督学习的推断,这里采用的假设与06年ICML上提出的Linear Neighborhood Propagation(LNP)方法的假设相同,均假设每个样本的标签可由其他样本的标签重构得到。因此在上步中得到的稀疏的矩阵可以用来推断无标注样本的标签。直观上讲,推断时用到的权重wij反映了样本xi拥有与xj相同标签的可能性。
基于上述的重构假设,可以通过最小化标签的重构误差来对未标注图像进行标注的推断:
①求
解通过最大化训练集中标注的对数似然值,即下式
可以求出近邻组合时的参数。考虑到每个语义概念包含的图片数量不同,参数衡量图像i属于概念c的损失,设置当yic=+1时, ;当yic=-1时,。其中和分别表示训练集中属于和不属于概念c的图片的数目
限制中的元素都为非负,利用投影梯度算法求解的取值。标注推断的式子可以重写为:
其中y为前l个图片的原始标注,令 并对上式对于f求导,可得到:
③
其中 是一个对称矩阵,对其前l行和l列划分可得:
进而③式可以重写为:
通过求解第二个等式,既可以得到未标注图片的预测标注向量
优
化很容易理解,对于那些出现频率较低的语义概念,即使在近邻中出现过几次,也只能得出较低的预测概率,因此通过上述方法在这些占有图片稀少的语义概念上会有较低的召回值。因此对上面预测p(yic=+1)的公式进行改进,采用sigmoid函数进行平滑,即
其中
sigmoid函数的作用在于使相对稀少的概念的权重增强,而减弱出现频率较高的概念的权重。
通常在训练集的标注中是存在噪声的,而且这很影响最终预测的结果,因此需要进行训练集标注的去噪。在推断的过程中训练集的标注不应该是固定的,应该是不断地refine,然而refine之后的标注还应该与原始标注y保持一致性,因此在①式中添加两个归一化项:⑤
其中表示在稀疏图上传递的训练集图片的标注
表示训练集图片理想的标注
⑤式中第一项与①式相同,第二项限制训练集理想的标注应该与在稀疏图上传递的标签一致,第三项是l1范式,衡量了标注噪声的稀疏程度,因为噪声必然是很少的,理想标注与实际标注应该仅仅在其中稀少的几项上有差别。
上面的式子可以用以下三个步骤求解:
1. 选择原始标注作为理想标注的初始估计值,即设置,并求解
这样可以得到refine之后的
2. 保持不变,求解
3.利用获得的代替y,继续上面的推断过程。
- 横向比较图像标注中的两种基于近邻思想的方法 TagProp和SGSSL
- 基于内容的视频语义标注(一)——视频标注的三种方法和不同层次划分标注
- 基于多特征集成的图像自动标注方法研究
- 基于MFC和OpenCV的图像标注工具
- matlab中的两种保存图像的方法:saveas imwrite.
- 【OpenCV学习笔记 023】两种图像分割方法比较
- 比较时间的两种方法DateTime.Compare和TimeSpan
- "=="和"equals"两种比较方法的区别
- 统计学习基础(第二版)两种简单的预测方法:最小二乘和最近邻
- 基于字标注的中文分词方法
- 基于多标签学习的图像语义自动标注
- 基于Python的图像标注工具箱Pychet Labeller简介
- 图像识别中的最近邻分类和knn分类
- 近邻算子的方法应用和比较——优化算法
- 用于图像融合的两种方法
- 两种获取灰度图像的方法
- 写标注点的两种坐标
- 图像的区域标注
- Linux(cenost版本)系统,查看文件夹大小命令。
- boost线程池
- c++调用python封装接口
- Servlet3.0-使用注解定义Servlet
- Ubuntu 下使用automake
- 横向比较图像标注中的两种基于近邻思想的方法 TagProp和SGSSL
- jquery 获取自定义的属性值
- TF
- 解决android logcat不打印信息
- XMPPFrameWork IOS 开发 创建聊天室不能持久保存的解决办法
- java 抽象类
- JQuery模拟Windows 桌面例子程序
- TypeScript accomplish MVVM pattern(TypeScript实现MVVM)
- 删除系统日文输入法