特征生成

特征准则

区分性:不同类别模式在特征空间可分

不变性:同一类别模式在特征空间的变化(变化、形变、噪声)
选取区分性高、且允许一定不变性的特征




特征生成的一些方法
1 时域、频域、视频联合
相关系数、FFT、DCT、Wavelet、Gabor
2 统计、结构、混合
直方图、属性-关系图
3 底层、中层、高层
颜色、梯度(Robert、Prewitt、Sobel、差分+平滑、HOG)、纹理(类Harr、LBP)、形状、语义
4 模型
ARMA、LPC


三个实例


A SIFT
1 建立高斯金字塔 做差生成DOG(LOG)的近似
2 求取极值点,并根据导数求取优化极值点
3 根据Hessian矩阵(可以自相关函数)去掉边缘和不稳定的点
4 进行梯度描述


具体步骤参考《图像局部不变性特征与描述》及 http://underthehood.blog.51cto.com/2531780/658350 
带有SIFT注释的代码,请参考




B Bag of Words
1 聚类-构建词典
2 映射到词典,然后SVM等其他分类器进行训练分类即可


具体点有
1 Feature extraction
2 Codebook generation
3 Coding(Hard or Soft)
4 Polling(Average or Max)
5 Classify



"
现在Computer Vision中的Bag of words来表示图像的特征描述也是很流行的。大体思想是这样的,假设有5类图像,每一类中有10幅图像,这样首先对每一幅图像划分成patch(可以是刚性分割也可以是像SIFT基于关键点检测的),这样,每一个图像就由很多个patch表示,每一个patch用一个特征向量来表示,咱就假设用Sift表示的,一幅图像可能会有成百上千个patch,每一个patch特征向量的维数128。


接下来就要进行构建Bag of words模型了,假设Dictionary词典的Size为100,即有100个词。那么咱们可以用K-means算法对所有的patch进行聚类,k=100,我们知道,等k-means收敛时,我们也得到了每一个cluster最后的质心,那么这100个质心(维数128)就是词典里德100个词了,词典构建完毕。


词典构建完了怎么用呢?是这样的,先初始化一个100个bin的初始值为0的直方图h。每一幅图像不是有很多patch么?我们就再次计算这些patch和和每一个质心的距离,看看每一个patch离哪一个质心最近,那么直方图h中相对应的bin就加1,然后计算完这幅图像所有的patches之后,就得到了一个bin=100的直方图,然后进行归一化,用这个100维德向量来表示这幅图像。对所有图像计算完成之后,就可以进行分类聚类训练预测之类的了。
"


C 图像显著性
1 多尺度对比
2 中心周围直方图
3 颜色空间分布





你可能感兴趣的:(特征生成)