1、提取 特征点 、特征描述子 与 提取特征向量 之间的区别:

  (1)、特征点:指的是一张图片上比较有代表性的‘位置’,提取特征点就是把图片中这些有代表性的位置给标出来。

  

  (2)、特征描述子:当提取出特征点之后,由于特征点是图片的某个位置,为了能够进行数学计算,我们需要给这些“位置”用一个数学方法来描述,于是可以用一个向量v来表示每一个位置。而这个向量就叫做 特征描述子。

  (3)、特征向量:指的是通过对图片在像素层面上做一些变换(LBP、颜色特征、Sift、surf)之后,生成一个向量V,用这个向量就可以表示整张图片,这个向量就称为特征向量

2、理解SIFT图像检索与聚类算法的关系。

  (1)SIFT特征提取的流程:

    ①图片描述子建立:对一张图片进行特征点的提取(找到图片中有代表性的位置),并分别对这张图片中的每个特征点用特征描述子描述来描述(设这张图片有1000个特征点,每个描述子是128维向量)。

      

      

      

      算法核心思想:https://blog.csdn.net/weixin_38404120/article/details/73740612

                              https://blog.csdn.net/dcrmg/article/details/52577555

    

引入词袋模型:https://blog.csdn.net/garfielder007/article/details/51475550

      - 现在对图像库中所有图片(设有50张图片)的所有特征点(设每张图片特征点个数都为1000)进行提取并且建立描述子(这样总共有50 x 1000个描述子,且每个描述子维度为128)。而这50 x 1000 个描述子可以称为“词”

      - 现在引入 K-means 聚类算法,给这50 x 1000个描述子分成64类,即设定聚类中心为64,然后通过学习得到这50 x 1000个描述子应该各自在哪一类下。

      - 这样这64个类的每一类中都有 >不同个数;> 来自不同图片的描述子。

      - 当完成聚类后,这样64维的每一维度就相当于一个描述子集合,把每一个维度的这样的描述子集合称为“词袋

      

    ③特征向量的形成

      - 给这64为词袋建立一个对应的64维直方图。

      - 再看看一张图片中的所有特征描述子都对应在64维词袋哪些词袋中,只要某一个维度的词袋包含图片的一个特征描述子,那么在直方图上的对应维度就加一,知道这一张图片中的所有特征点描述子都遍历完全。这样最终的64维直方图就是这张图片的特征向量。

      

  (2)、图像检索:即比较 待检索 与 图片库中每张图片间 的特征向量距离,设定一个阈值,小于这个阈值的图片就检索出来。

by 小恶魔

———————————————————————————————————————————————————————————————————————————————

【第2次会议记录_2018.5.27】—— [ 算法原理 ]:手工特征提取的概念问题。(by_wanghao)的更多相关文章

  1. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波

    http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...

  2. 字符串匹配--kmp算法原理整理

    kmp算法原理:求出P0···Pi的最大相同前后缀长度k: 字符串匹配是计算机的基本任务之一.举例,字符串"BBC ABCDAB ABCDABCDABDE",里面是否包含另一个字符 ...

  3. 广告系统中weak-and算法原理及编码验证

    wand(weak and)算法基本思路 一般搜索的query比较短,但如果query比较长,如是一段文本,需要搜索相似的文本,这时候一般就需要wand算法,该算法在广告系统中有比较成熟的应 该,主要 ...

  4. geohash 算法原理及实现方式

    转自:http://www.cnblogs.com/dengxinglin/archive/2012/12/14/2817761.html geohash 算法原理及实现方式 1.geohash 特点 ...

  5. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

  6. RSA算法原理

    一直以来对linux中的ssh认证.SSL.TLS这些安全认证似懂非懂的.看到阮一峰博客中对RSA算法的原理做了非常详细的解释,看完之后茅塞顿开,关于RSA的相关文章如下 RSA算法原理(一) RSA ...

  7. LruCache算法原理及实现

    LruCache算法原理及实现 LruCache算法原理 LRU为Least Recently Used的缩写,意思也就是近期最少使用算法.LruCache将LinkedHashMap的顺序设置为LR ...

  8. MySQL索引背后的数据结构及算法原理【转】

    本文来自:张洋的MySQL索引背后的数据结构及算法原理 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持 ...

  9. OpenGL学习进程(13)第十课:基本图形的底层实现及算法原理

        本节介绍OpenGL中绘制直线.圆.椭圆,多边形的算法原理.     (1)绘制任意方向(任意斜率)的直线: 1)中点画线法: 中点画线法的算法原理不做介绍,但这里用到最基本的画0<=k ...

随机推荐

  1. 京东应用架构设计ppt阅读总结

    (一)架构设计原则总结: 1.架构愿景:高可用性.高可扩展性.低成本.多快好省(高时效.高人效.低成本) 2.业务架构设计原则:基础业务下沉抽象成平台.核心业务非核心业务分离.隔离不同类型的业务.主流 ...

  2. 利用NotePad++ 格式化代码(格式标准化) worldsing

    在阅读别人的代码时往往会遇到格式很乱,阅读起来很费劲,如果手动改很容易出错,而且很费时间,这时可以借助一些专业的编辑器来格式化代码,NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快, ...

  3. 如何用Python实现常见机器学习算法-2

    二.逻辑回归 1.代价函数 可以将上式综合起来为: 其中: 为什么不用线性回归的代价函数表示呢?因为线性回归的代价函数可能是非凸的,对于分类问题,使用梯度下降很难得到最小值,上面的代价函数是凸函数的图 ...

  4. Composer安装和使用 - Windows

    记录windows下安装和使用Composer的方法 1,使用安装程序 这是将 Composer 安装在你机器上的最简单的方法. 下载并且运行 Composer-Setup.exe,它将安装最新版本的 ...

  5. web端跨域调用webapi(转)

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...

  6. DevExpress,LayoutControl,TreeList,GridControl等

    1.显示边框进行折叠 选择一个layoutControlGroupX 将其GroupBordersVisible设置成True,将TextVisiable=True 2. TreeList 2.1需要 ...

  7. python多版本共存问题

    1.环境变量配置,pip路径别忘记加入,否则pip不好使. 2.如果改名python.exe为其他名字,复制一份保留,否则pip容易无法启动进程 参见爆栈: http://stackoverflow. ...

  8. Adobe Photoshop CC 2015安装激活教程

    Adobe Photoshop CC 2015安装激活教程(附序列号) Adobe Photoshop CC 2015是Adobe针对旗下的创意云Creative Cloud 套装推出了2015年年度 ...

  9. LVS初步

    LVS初步 一见 目录 目录 1 1. 前言 2 2. 思考 2 3. 名词解释 2 4. OSI参考模型 3 5. LVS架构 4 5.1. 负载均衡器(Load Balancer) 4 5.2.  ...

  10. metasploitable实践

    使用Fimap和metasploitable2文件包含漏洞测试 fimap 首先查看msf已经存在的漏洞: root@kali:~# fimap -u 'http://192.168.136.130/ ...