特征生成

特征生成

大家好,又见面了,我是全栈君。

特征准则

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

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

特征生成的一些方法
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 颜色空间分布

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116276.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月23日 下午4:00
下一篇 2022年1月23日 下午5:00


相关推荐

  • 基于stm32蓝牙智能小车设计

    基于stm32蓝牙智能小车设计前言:本文描述了一个由STM32微处理器、步进电机、蓝牙,L298N等模块构成的。该系统采用STM32微处理器为核心,在MDK环境下进行编程,通知控制L298N模块IN1~IN4引脚的高低电平进而控制电机的转动方向,使小车产生不同的转动模式。控制小车的转动模式通过蓝牙模块来实现,利用手机蓝牙助手和蓝牙模块相通,进而控制小车的各种运转模式。代码、蓝牙Androidapk地址:https://g…

    2022年10月18日
    5
  • subprocess理解

    subprocess理解Linux 进程导语计算机实际上可以做的事情实质上非常简单 比如计算两个数的和 再比如在内存中寻找到某个地址等等 这些最基础的计算机动作被称为指令 instruction 所谓的程序 program 就是这样一系列指令的所构成的集合 通过程序 我们可以让计算机完成复杂的操作 程序大多数时候被存储为可执行的文件 这样一个可执行文件就像是一个菜谱 计算机可以按照菜谱作出可口的饭菜 那么 程序

    2026年3月17日
    2
  • reaver test[通俗易懂]

    reaver test[通俗易懂]airmon-ngairmon-ngstartwlan0airodump-ngmon0apt-getupdateapt-getinstallreaverreaver-imon0-b28:2C:B2:5E:79:14-vvreaver-imon0-b28:2C:B2:5E:79:14-vv-a-v-S-x2…

    2022年5月4日
    50
  • 本地连接redis_redis入门

    本地连接redis_redis入门通过前面的学习,相信读者对RedisSentinel有了一定的了解,本节将介绍应用方如何正确地连接RedisSentinel。有人会说这有什么难的,已经知道了主节点的ip地址和端口,用对应编程语言的客户端连接主节点不就可以了吗?但试想一下,如果这样使用客户端,客户端连接RedisSentinel和主从复制的Redis又有什么区别呢,如果主节点挂掉了,虽然RedisSentinel可以完成故障转移,但是客户端无法获取这个变化,那么使用RedisSentinel的意义就不大了,所以各个语言

    2025年11月25日
    3
  • startService() 过程

    startService() 过程

    2021年6月6日
    102
  • laravel 分页样式「建议收藏」

    laravel 分页样式「建议收藏」第一种//控制器$news=News::where(‘type_id’,1)->where(‘is_del’,1)->paginate(3);//前端@if($news->currentPage()==1)@else<li><ahref=”{{url(‘news?page=1’)}}”>首页</a></li><li><ahref=”{{$news->previousPag

    2022年7月17日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号