1.Introduction and backgrounds

作为本周的论文之一,这是一篇bag of features的基本文章之一,主要了解其中的基本思路,以及用到的基本技术,尽量使得细节更加清楚。

文章中比较了两个基本的方法,分别是:BAYES和SVM。

bag of keypoints的基本原理是:

A bag of keypoints corresponds to a histogram of the number of occurrences of particular image patterns in a given image.

2. The main step

The main steps of our method are:
• Detection and description of image patches 虽然patches 是小块的意思,但是这similar to the meaning of patten
• Assigning patch descriptors to a set of predetermined clusters (a vocabulary) 第二部是对某一类的cluster 分配一个vocabulary
with a vector quantization algorithm 用一个矢量量化算法
• Constructing a bag of keypoints, which counts the number of patches assigned to each cluster实际转化为了计算hiastogram的分配问题,只是计算patten的histogram
• Applying a multi-class classifier, treating the bag of keypoints as the feature vector, and thus determine which category or categories to assign to the image.采用一个多分类的分类器对histogram进行 classify,最后得到每种分类

3.Therefore the steps involved in training the system allow consideration of multiple possible vocabularies:
• Detection and description of image patches for a set of labeled training
images
• Constructing a set of vocabularies: each is a set of cluster centres, with re-
spect to which descriptors are vector quantized.
• Extracting bags of keypoints for these vocabularies 提取这些词汇的keypoints,这些keypoints的定义是如何呢?(We refer to the quantized feature vectors (cluster centres) as “keypoints” by analogy with “keywords” in text categorization.)所以实际上应该指的histogram
• Training multi-class classifiers using the bags of keypoints as feature vectors 训练分类器,本文所采用两种分类器,分别所bayes分类器和SVM分类器

4.Feature extraction

就是特征的选取,作者一系列原因说明后,认为sift最好;

5. Visual vocabulary construction

总体目标:the vocabulary is a way of constructing a feature vector for classification that relates “new” descriptors in query images to descriptors previously seen in
training 实际就是建立相应的descriptor

经过一系列的说明,作者选择了比较常用的k-means算法作为vocabulaory building 的算法

但是k-means会带来两个问题:一、k-means仅仅对局部的最优化比较好;二、k-means的参数k是无法自己设定的,需要人工设定(作者解决方案是 多做几组,然后采用错误率最低的)

6.Categorization

(1) 贝叶斯分类

considering visual categorization, assume we have a set of labeled images I = Ii and a vocabulary V = vi of representative keypoints (i.e. cluster centers). Each
descriptor extracted from an image is labeled with the keypoint to which it lies closest in feature space. We count the number N(t,i) of times keypoint vi occurs in image Ii .

构造相应的分类特征,每个descriptor都被一个keypoint(空间内最近)所描述,然后计算每个keypoint在image I 中出现的概率,类似于计算histogram

P (C j | I i ) α P (C j )P (I i | C j )
将条件概率的计算,转化为反方向的计算,也就是计算其在训练时得到的已知类别情况下的vocabulary出现概率,一旦出现新的输入image,那么就可以直接就算其每个类别的出现概率

(2) SVM 分类

SVM实际就是边界最大化的分类方法

In order to apply the SVM to multi-class problems we take the one-against-all approach. Given an m-class problem, we train m SVM’s, each distinguishes images from
some category i from images from all the other m-1 categories j not equal to i. Given a query image, we assign it to the class with the largest SVM output。

所采用的并不是所谓的多标签学习,还是一种二分的方法,先把一种类别同其他类别进行区分,然后再不断二分,如此继续。

7.实验结果

In the first we explore the impact of the number of clusters on classifier accuracy and evaluate the performance of the Naïve Bayes classifier. We then explore the performance of the SVM on the same problem.

(1)贝叶斯方法 k=1000时效果比较好

(2)SVM中linear method gave the best performance (except in the case of cars where a quadratic SVM gave better results)

SVM方法明显比贝叶斯方法好很多

Visual Categorization with Bags of Keypoints的更多相关文章

  1. First-Spike-Based Visual Categorization Using Reward-Modulated STDP

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 强化学习(RL)最近以击败欧洲围棋冠军等重大成就重新受到欢迎.在这里,我们第一次表明,RL可以有效地用于训练一个脉冲神经 ...

  2. SIFT+BOW 实现图像检索

    原文地址:https://blog.csdn.net/silence2015/article/details/77374910 本文概述 图像检索是图像研究领域中一个重要的话题,广泛应用于医学,电子商 ...

  3. lecture7图像检索-七月在线-cv

    http://blog.csdn.net/u014568921/article/details/52518587 图像相似性搜索的原理 BOW 原理及代码解析 Bag Of Visual Words ...

  4. BoW(SIFT/SURF/...)+SVM/KNN的OpenCV 实现

    本文转载了文章(沈阳的博客),目的在于记录自己重复过程中遇到的问题,和更多的人分享讨论. 程序包:猛戳我 物体分类 物体分类是计算机视觉中一个很有意思的问题,有一些已经归类好的图片作为输入,对一些未知 ...

  5. Computer Vision_33_SIFT:Speeded-Up Robust Features (SURF)——2006

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  6. state-of-the-art implementations related to visual recognition and search

    http://rogerioferis.com/VisualRecognitionAndSearch2014/Resources.html Source Code Non-exhaustive lis ...

  7. ColorDescriptor software v4.0 一个提取颜色特征描述子的软件包

    ColorDescriptor software v4.0 Created by Koen van de Sande, (c) University of Amsterdam Note: Any co ...

  8. ### Paper about Event Detection

    Paper about Event Detection. #@author: gr #@date: 2014-03-15 #@email: forgerui@gmail.com 看一些相关的论文. 1 ...

  9. cvpr2015papers

    @http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...

随机推荐

  1. $.post(url,[data],[callback],'json')

    $.post(url,[data],[callback],'json')这个写法来做到用post方法传递数据,并取加回json型数据.如果我要取回的数据类型是xml的,就可以写成$.post(url, ...

  2. <数据结构系列1>封装自己的数组——手写动态泛型数组(简化版ArrayList)

    哈哈,距离上一次写博客已经快过去半个月了,这这这,好像有点慢啊,话不多说,开始我们的手写动态泛型数组 首先是我们自己写一个自己的动态数组类,代码如下所示: public class Array< ...

  3. 2018NOIP爆0记第一弹

    初赛篇 选择即王道 迪杰斯特拉那道题的A选项自己yy一下觉得甚是不妥,就没选 就和30分完美选择题擦肩而过. 填空最后一题不太会搞,就跳过了,最后蒙了个512上去...其实还有点接近的... 5分 然 ...

  4. Redis源码阅读(一)事件机制

    Redis源码阅读(一)事件机制 Redis作为一款NoSQL非关系内存数据库,具有很高的读写性能,且原生支持的数据类型丰富,被广泛的作为缓存.分布式数据库.消息队列等应用.此外Redis还有许多高可 ...

  5. 基于openvswitch+Docker构建SDN网络测试环境 (使用ovs-docker进行构建)

    这是一篇之前写的笔记,主要记录了使用openvswitch + Docker 等进行一个小型的SDN网络搭建的操作步骤.由于 之前临时有其他任务,耽搁了一下,最近开始重新整理,并计划开发一个简单的Py ...

  6. RAID卡的结构详解

    软件RAID的缺点如此之多,使人们不断地思考更多实现RAID的方法.既然软件缺点太多,那么用硬件实现如何呢? RAID卡就是一种利用独立硬件来实现RAID功能的方法.要在硬件上实现RAID功能,必须找 ...

  7. ReLU——Deep Sparse Rectifier Neural Networks

    1. 摘要 ReLU 相比 Tanh 能产生相同或者更好的性能,而且能产生真零的稀疏表示,非常适合自然就稀疏的数据. 采用 ReLU 后,在大量的有标签数据下,有没有无监督预训练模型取得的最好效果是一 ...

  8. 8.openldap mirrormode(主主同步)

    作者:yaoyao #MirrorMode双主模式 1.主机: ldap01.liuyao.com ldap02.liuyao.com 2.搭建LDAP服务 搭建过程省略,保证2台服务器部署配置一样即 ...

  9. PHP中 post方法 与 get方法 的区别

    1.Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http://www.domain.co ...

  10. oracle数据update后怎么恢复到以前的数据

    http://blog.csdn.net/itdada/article/details/52746392