关于vlfeat做vlad编码问题

这里是官方文档,可以自己查看

在这里,只是想记录一下,我这几天学习vlfeat 做vlad编码的过程,便于以后整理

网上涉及到vlfeat做vlad编码资料较少,而官网上例子又相对简单,主要是那几个参数的问题和类型问题

下面是我写的几行代码:

 1 data = single(cat(1, data{:})); % 这里data是16900×256的
 2
 3 % 聚类数
 4 numClusters = 200 ;
 5 % k聚类 生成聚类中心centers data 16900×200
 6 % 200个聚类中心,每一列都是一个聚类中心 numClusters的个数应该小于等于 data列的个数
 7 % 16900×200
 8 [centers, ~] = vl_kmeans(data, numClusters);
 9
10 % 返回 包含centers中kd-tree的索引的结构体forest
11 kdtree = vl_kdtreebuild(centers) ;
12
13 % index 是data中每一列距离centers中哪一列最近的索引
14 [index, dist] = vl_kdtreequery(kdtree, centers, data) ;
15
16 % 初始化 分配 200×256
17 [~, y] = size(data);
18 assignments = zeros(numClusters, y);
19 % sub2ind 用于将下标 转换位对应的索引值(这里是以列为主序的) ind2sub相反
20 % 这是一个分配矩阵21 %将index中所在列变为 单位列向量
22 assignments(sub2ind(size(assignments), index, 1:length(index))) = 1;
23 assignments = single(assignments);
24 % 对data编码25 enc = vl_vlad(data, centers, assignments);
有关参数 矩阵维度 类型 说明
data 16900×256 single 这里类型是我用的都是single类型,最好保持一致
centers 16900×200 single
index 1×256 single
assignments 200×256(numClusters =200) single
enc 3380000×1(16900×200 numClusters和矩阵维度乘积) single

这只是我的自己见解,大家有啥想法,可以一起交流[email protected]

时间: 2024-10-10 13:30:37

关于vlfeat做vlad编码问题的相关文章

python 按照gb2312做url编码

import urllib2 urllib2.quote("攻克平台") python 按照gb2312做url编码,布布扣,bubuko.com

Java 正确的做字符串编码转换

字符串的内部表示? 字符串在java中统一用unicode表示( 即utf-16 LE) , 对于 String s = "你好哦!"; 如果源码文件是GBK编码, 操作系统(windows)默认的环境编码为GBK,那么编译时,  JVM将 按照GBK编码将字节数组解析成字符,然后将字符转换为unicode格式的字节数组,作为内部存储. 当打印这个字符串时,JVM 根据操作系统本地的语言环境,将unicode转换为GBK,然后操作系统将GBK格式的内容显示出来. 当源码文件是UTF-8

Java用native2ascii命令做unicode编码转换

背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码.原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码.需要将系统的编码转换为java正确识别的编码问题就解决了. 1.native2ascii简介:native2ascii是sun java sdk提供的一个工具.用来将别的文本类文件(比如*.txt,*.ini,*.proper

PHP和MYSQL的编码问题

http://blog.csdn.net/martinkro/article/details/5352474 1 MYSQL中的字符集概念  Mysql的字符集里有两个概念,一个是"Character set(字符集)",另一个是"Collations".1.1 Collations  Collations翻成中文是"校验",在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如, ASCII字符集里,Co

客户端编码与服务器解码全过程

form有2中方法把数据提交给服务器,get和post,分别说下吧. (一)get提交   1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧.        对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:8080/servlet?msg=abc (很常见的一个乱码问题就要出现了,如果url中出现中文或其它特殊字符的话,如:http://localhost:8080/servlet?msg=杭州,服务器

Java与编码问题串讲之二–如何理解java采用Unicode编码

Java开发者必须牢记:在Java中字符仅以一种形式存在,那就是Unicode(不选择任何特定的编码,直接使用他们在字符集中的编号,这是统一的唯一方法).由于java采用unicode编码,char 在java中占2个字节.2个字节(16位)来表示一个字符. 这里的Java中是指在JVM中.在内存中.在代码里声明的每一个char.String类型的变量中. 例如: 1 2 3 4 5 6 7 System.out.println(System.getProperty("file.encoding

最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)

伴随着毕业论文的完毕,这两天最终腾出了空暇,又有时间搞搞FFMPEG的研究了.想着之前一直搞的都是FFMPEG解码方面的工作,非常少涉及到FFMPEG编码方面的东西,于是打算研究一下FFMPEG的编码.在网上看了一些样例,发现要不然是难度稍微有些大,要不然就是类库比較陈旧,于是就决定自己做一个编码方面的样例,方便以后学习. 本文的编码器实现了YUV420P的数据编码为JPEG图片.本着简单的原则,代码基本上精简到了极限.使用了2014年5月6号编译的最新的FFMPEG类库. 程序非常easy,打

URL 编码

简介 当我们每天上网冲浪时,有一些技术我们无时无刻不在面对.有数据本身(网页),数据的格式化,能够让我们获取数据的传输机制,以及让Web网络能够真正成为Web的基础及根本:从一页到另一页的链接.这些链接都是URL. 通用URL语法 我敢说每个人在其一生中至少见过一次URL.比如"http://www.google.com",就是一个URL.一个URL是一个统一资源定位器 ,事实上它指向了一个网页(大多数情况下).实际上,自从1994年的第一版规范开始,URL就有了一个良好定义的结构.

程序中的字符编码

每个程序员都经历过字符乱码的困扰,经过一通折腾后,总算显示正常,但之后似乎还是时不时碰到乱码的问题. 当我们打开notepad或者ultraedit后,这些工具都会自带编码转换的选项,里面各种字符编码格式十分复杂,往往一头雾水. 这里不谈具体编码格式问题,这是一个很学究的话题.其实对于软件开发而言,除非专门做字符编码相关的软件,否则我们一般遇到的最多的也就那么几种字符编码,如utf和gbk.这里要说的是,当我们要考虑字符编码时,理解一个基本的场景模型,然后根据这个模型,在遇到乱码问题后就可以定位