VLAD教程和资料 All about VLAD
正如标题所示,这里将记录VLAD的一切。VLAD本小子虽然也读过几篇这方面的paper,不过读的时候一直理解的很粗糙。所以想借此机会开个帖子,一方面驱动自己去加深对它的理解,另一方面把这些自己对它的理解记录下来,方便自己查阅。
VLAD初步
在进行理论分析之前,先来看看VLAD长个什么样子,这里本小子分步展开VLAD是怎么得来的。
- 提取SIFT特征。对于一个样本数为N的数据库,先对图像库中的所有图像提取SIFT描述子,假设提取到了所有SIFT描述子数目为n,用X来表示的话,X就是一个n*128的矩阵。
- 聚类生成词汇向量。假设要生成K个单词,对X直接用Kmeans聚成K类,类中心即为单词(也叫码字)。
- 生成VLAD向量。这一步其实如果对BOW的生成过程清楚的话,这一步理解起来就非常简单了。BOW统计的是描述子落入最近单词里的数目,而VLAD统计的则是这些落入最近单词里与该单词的累积残差。根据Aggregating local image descriptors into compact codes的描述:
By counting the number of occurrences of visual words, BOW encodes the 0-order statistics of the distribution of descriptors. The Fisher vector extends the BOW by encoding high-order statistics (first and, optionally, second order).
BOW做的是描述子的0阶统计分布,而FV则是扩展了的BOW的高阶统计。这里引出来的FV是什么呢?VLAD是FV的特例,这里我们先不关注FV,我们只要借此推得VLAD是BOW的高阶统计就行。
经过上面三个步骤后,一幅图像可以用一个1*(K*128)维的向量表示。为了初步验证上面的过程是否正确,来看看上面那篇论文中VLAD的维数是否如这里所理解的是一个1*(K*128)维的向量,直接看实验表:
上表中FV和VLAD的D表示维数,我们看到D=K*64,这里为什么不是128呢?原因在于作者对SIFT进行了PCA降维处理,将128维降到了64维。
上面VLAD生成过程用文字描述起来不够简洁,直接把论文里计算VLAD的算法流图扒过来了,算法流图如下:
提取VLAD
在对VLAD有了初步的认识后,接下来我们可以动手提取VLAD,通过实验来进一步了解VLAD。
(待续)
参考:
- 机器学习笔记——Fisher vector coding
- Large-scale visual recognition Novel patch aggregation mechanisms
- VLAD
VLAD教程和资料 All about VLAD相关推荐
- 手机开发平台指南、教程和资料介绍
近来无事,把手机开发平台的学习指南.教程和资料总结一下,方便大家参考. 手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多. 手机可分为智能手机开发和feather phon ...
- 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全
史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux ...
- 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全...
史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux主要shell命 ...
- 新手怎样如何学习单片机,单片机自学教程入门资料分享
王云的51单片机教程全套资料,大家可以随便下载了.链接:http://www.yunlongdz.cn/1/110.htm 想学好单片机其实并不困难,单片机是一门实践性非常强的的学科,学习时要理论与实 ...
- 贡献30本经典Linux学习和开发教程和资料,都是pdf完整版的
贡献30本经典Linux学习和开发教程和资料,都是pdf完整版的 |字号 订阅 完全免费下载:无需注册也无需积分 pdf版经典Linux学习教程资料列表: 电子书 下载链接 ...
- SnapGene 中文视频学习教程 教学 资料分子生物学DNA序列分析
SnapGene 中文视频学习教程 教学 资料分子生物学DNA序列分析
- 手机开发平台指南、教程和资料介绍(修改稿)
欢迎转载,转载请注明出处.作者:手机即信息 博客:http://canco.javaeye.com 近来无事,把手机开发平台的学习指南.教程和资料总结一下,方便大家参考. 手机客户端软件开发最大的困难 ...
- Elasticsearch入门到精通教程 - 学习资料综合
背景 因经常被问到Elasticsearch相关一些资料教程,这里特例整理一份以前自己的学习资料,希望对你有用. 信息资料 1. 基本API用法教程 Elasticsearch JAVA API教程G ...
- ROS_Kinetic_01 在 Ubuntu 16.04 安装ROS Kinetic 全教程附资料和镜像 2018.10.20更新
Exbot易科机器人实验室新站点(测试中):http://server.blackant.org:23452/ 2018 ROS Melodic的迷失与救赎::https://blog.csdn.ne ...
最新文章
- MPC8313ERDB不新鲜pkg包裹,把文件放进Ramdisk
- 吴裕雄 oracle PL/SQL编程
- STM32F103 IAP编程调试记录
- 深度软件商店_3D深度相机,这就是微软未来手机Surface Duo新特性
- 水晶报表如何查看sql_有了这个报表工具,一键生成自定义的各种报表,还可以导出Excel...
- easyUI 日期控件修改...
- html过滤 -java_PHP过滤各种html标签
- SQL SERVER 2012 只能识别20个CPU的问题
- js基础---字符串方法
- 一款简洁大气的个人主页源码
- 基于RGB-D图像的语义场景补全研究进展综述
- python svm核函数_Python.SVM(三)核方法
- 【iOS】 Foundation 数组
- 【时间序列】时序资料及工具汇总:模型和常见库对比
- 四川大学计算机学院软件工程期末,四川大学软件工程期末复习ppt
- C#编写数据分析软件(附源码)
- 第三方SDK编写文档 - iOS
- 面向对象封装放大镜js代码
- 用Photoshop给照片换美丽天空
- chk文件恢复和文件恢复的区别有哪些?
热门文章
- 穷不可怕,可怕的是“穷人思维”
- LambdaMART的思想
- 美国进入“非结构化”数据分析新时代
- 30年来我只坚持三件事
- Java Review - 线程池中使用ThreadLocal不当导致的内存泄漏案例源码分析
- Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
- 小工匠聊架构-写给研发工程师的全链路压测
- Spring Boot2.x-12 Spring Boot2.1.2中Filter和Interceptor 的使用
- Linux keypad 设备树,SC7731客户配置文档.pdf
- python 链表的反转