Video Google: A Text Retrieval Approach to Object Matching in Videos
2015-04-06 22:25
549 查看
Josef Sivic and Andrew Zisserman,ICCV2003,被引用次数:3836
阅读时间:2015-04-04~05
文章的效果可以在这里看到。传说Video Google这个产品Google早在2009年就不做了,开始将精力投入到youtube中,因此现在也不能再去体验Video Google这个功能了。
文章主要研究的内容是如何将文本检索的一些方法移植到视频搜索中。文中先回顾了文本检索方法:
documents采用某种分词方法,分割成一个个word;
将词根一样的词合并,如walk、walking、walks合并成walk;
消除停用词(stop word),即那些特别常见的词,如an、the;
将留下的词组织成vocabulary;
每个文本表示成一个向量,每个维度上的值为该词在文件中出现的频率;
当然,各词的值会有加权,比如采用TF-IDF加权等;
在文本检索时,通过计算词频向量,返回向量最接近的文档。
上述步骤可以将词和文档组织成inverted file,能进行高效的检索。
该思路借鉴到视频检索中,概念上的类比见下图,来源:
图像特征提取,SIFT和MSER,并对特征去噪;
k-means聚类,度量方式为欧式距离,对k-means多次随机初始化,最终使用误差最小的结果;
图像向量化,利用TF-IDF加权量化;
检索阶段,用cos度量query vector和all document vectors;
Maximally Stable,MSER区域;
文中对比了两种特征,最终发现两种特征合并效果最好。文中有去噪操作,使用Constant Velocity Dynamical model跟踪连续帧的特征区域,三帧内消失的region将被rejected,最终特征值为三帧均值,如果方差矩阵很大会rejected。
其中NN为database中的图片数,NrelN_{rel}指database中与query image相关的图片总数(标注的),∑i=1NrelRi\sum\limits_{i = 1}^{{N_{rel}}} {{R_i}}为检索结果中的相关图片的排序之和,其中Nrel(Nrel+1)2=∑i=1Nreli{{{N_{rel}}\left( {{N_{rel}} + 1} \right)} \over 2} = \sum\limits_{i = 1}^{{N_{rel}}} i ,估当database中所有相关图片都被match到top时,Rank˜=0\widetilde{Rank} =0,此时match结果越好。
最后,文章强调该测试集还可以分析:k-means中kernel数量,stable features的跟踪长度,unstable descriptors rejected协方差矩阵。
在建vocabulary时生成stop list;
进行场景匹配,以上部分描述了;
进行关键点匹配和MSER匹配,对停用词进行抑制;
利用空间一致性reject一些散列词;
Bag of Features (BOF)图像检索算法,未找到原文,链接
Video Google.ppt,链接
这篇文章的PAMI版,链接
阅读时间:2015-04-04~05
文章的效果可以在这里看到。传说Video Google这个产品Google早在2009年就不做了,开始将精力投入到youtube中,因此现在也不能再去体验Video Google这个功能了。
文章主要研究的内容是如何将文本检索的一些方法移植到视频搜索中。文中先回顾了文本检索方法:
documents采用某种分词方法,分割成一个个word;
将词根一样的词合并,如walk、walking、walks合并成walk;
消除停用词(stop word),即那些特别常见的词,如an、the;
将留下的词组织成vocabulary;
每个文本表示成一个向量,每个维度上的值为该词在文件中出现的频率;
当然,各词的值会有加权,比如采用TF-IDF加权等;
在文本检索时,通过计算词频向量,返回向量最接近的文档。
上述步骤可以将词和文档组织成inverted file,能进行高效的检索。
该思路借鉴到视频检索中,概念上的类比见下图,来源:
一、场景匹配
文章先对场景匹配进行了讨论,主要流程为:图像特征提取,SIFT和MSER,并对特征去噪;
k-means聚类,度量方式为欧式距离,对k-means多次随机初始化,最终使用误差最小的结果;
图像向量化,利用TF-IDF加权量化;
检索阶段,用cos度量query vector和all document vectors;
视角不变性特征描述
Shape Adapted,由椭圆中点、大小和形状决定,拉普拉斯局部极值点,这里应该是SIFT;Maximally Stable,MSER区域;
文中对比了两种特征,最终发现两种特征合并效果最好。文中有去噪操作,使用Constant Velocity Dynamical model跟踪连续帧的特征区域,三帧内消失的region将被rejected,最终特征值为三帧均值,如果方差矩阵很大会rejected。
构建视角词汇
k-means聚类,文中提到两部视频48个镜头大约10k帧的图像进行visual words提取,大约200k关键点,聚类形成6k个kernel关键点,10k个kernel MSER。特征量化
TF-IDF加权,ti=nidndlogNni{t_i} = {{{n_{id}}} \over {{n_d}}}\log {N \over {{n_i}}},V=(t1,t2,...,tk)TV = {\left( {{t_1},{t_2},...,{t_k}} \right)^T},实质上因为稀少的词更具判别性,所以可以提升稀少词的权重。评价场景匹配结果
作者在这部分主要想说明两种特征的性能和TF-IDF加权的优势。文中从48个镜头中截出164张图,19个不同位置,每个位置大约4-9张图,组成一个测试集。采用如下公式度量:Rank˜=1NNrel⎛⎝∑i=1NrelRi−Nrel(Nrel+1)2⎞⎠\widetilde{Rank} = {1 \over {N{N_{rel}}}}\left( {\sum\limits_{i = 1}^{{N_{rel}}} {{R_i}} - {{{N_{rel}}\left( {{N_{rel}} + 1} \right)} \over 2}} \right)其中NN为database中的图片数,NrelN_{rel}指database中与query image相关的图片总数(标注的),∑i=1NrelRi\sum\limits_{i = 1}^{{N_{rel}}} {{R_i}}为检索结果中的相关图片的排序之和,其中Nrel(Nrel+1)2=∑i=1Nreli{{{N_{rel}}\left( {{N_{rel}} + 1} \right)} \over 2} = \sum\limits_{i = 1}^{{N_{rel}}} i ,估当database中所有相关图片都被match到top时,Rank˜=0\widetilde{Rank} =0,此时match结果越好。
最后,文章强调该测试集还可以分析:k-means中kernel数量,stable features的跟踪长度,unstable descriptors rejected协方差矩阵。
二、目标检索
目的是从整个视频中搜索目标,该目标可以是用户从任何一帧中选定的子区域,主要流程为:在建vocabulary时生成stop list;
进行场景匹配,以上部分描述了;
进行关键点匹配和MSER匹配,对停用词进行抑制;
利用空间一致性reject一些散列词;
Stop list
绘制词数-词频图,收集词频top 5%和bottom 10%的词,组织成Stop list。空间一致性
针对匹配点/区域,检查附近是否有15个已匹配的点/区域,少于则rejected。实质上是强调了特征之间的相对位置。Inverted files
所有visual word作为key,存储了所有连接的frame,利用inverted file将使得检索非常快速。参考
别人写的review,链接Bag of Features (BOF)图像检索算法,未找到原文,链接
Video Google.ppt,链接
这篇文章的PAMI版,链接
相关文章推荐
- Video Google: A Text Retrieval Approach to Object Matching in Videos
- 【论文理解】Video2Shop: Exact Matching Clothes in Videos to Online Shopping Images
- [eZ publish] When a ezxml embed an video, how to get the ezxml object in the video embed template?
- An End-to-End Approach to Natural Language Object Retrieval via Context-Aware Deep Reinforcement Lea
- Thinking about a paper "A Refinement Approach to Handling Model Misfit in Text Categorization"
- How to get the password text in a text with password property from another process using C++ - 用C++如何从不同进程获取密码框文本
- PDFToText with ITextSharp--Extract text from PDF in C# (100% .NET)(推荐)
- Add Text to the Flv Video when playing(2)
- How to Access the DOM(Document Object Model) in MOSS 2007
- How to fit text in rectangle-MSDN
- How to Manipulating Text in MATLAB
- An Introduction to JavaScript Object Notation (JSON) in JavaScript and .NET
- PH FIN want to have PR/PO in TWD and SGD but do invoice matching and payment in USD
- Google官方博客: A new approach to China 原文 + 译文
- How to Size Text in CSS by Richard Rutter
- How to Open a Text File in VB .NET
- the way to compart a long code line into parts in order to make the Horizontal scroll bar disappear in V.S' Text Editor
- How to remove ^M in a uploaded text file?
- Build your own ObjectPool in Java to boost app speed
- Understanding Object Ownership in sql 2000(how to change the schema table name in sql 2000)