1.直方图

用于计算图片特征,表达, 使得数据具有总结性, 颜色直方图对数据空间进行量化,好比10个bin

2. 聚类

类内对象的相关性高

类间对象的相关性差

常用算法:kmeans, EM算法, meanshift, 谱聚类(密度聚类), 层次聚类

kmeans聚类

选取k个类中心,随机选取

计算每个点跟k个类中心的位置

把数据点分配给距离最近的一个类中心

计算新的类中心-对该类中的所有点取均值

类中心数K的选取

K类平均质心的距离加权平均值, 当k=5时的斜率发生变化,我们可以选取5作为分类的个数

kmeans ++ 半随机(初始点的选取)

第一类中心 - 随机选取

记D(x) 为数据点x距离最近的聚类中心的距离

选取下一个聚类中心, 选取的概率正比于D(x) ^ 2

以此类推,到第k个

量化颜色直方图

聚类颜色直方图: 使用聚类算法对像素点颜色向量进行聚类, 单元由聚类中心代表

3. 边缘检测

像素明显变化的区域, 具有丰富的语义信息

用途: 物体识别,几何视角变化

定义: 像素函数快速变化的区域, 一阶导数的极值区域,二阶导数的0点位置

步骤:

先高斯去噪,再使用一阶导数获取极值

公式:        对x方向进行求导  б 表示的是标准差                                                    对y方向进行求导

梯度幅值/强度

hx(x,y)^ 2 + hy(x, y) ^ 2

梯度(增加最快)方向

arctan(hy(x, y)/ hx(x, y))

4. 兴趣点/关键点

稳定局部

特点: 可重复性,显著性

抗图片变化

外貌变化(亮度,光照)

几何变化(平移, 选择,尺度)

5.Harris角点

一种显著点:在任何方向上移动小观察窗,导致大的像素变动

  E(u, v) =  ΣW(x, y)[I(x+u, y+v)-I(x, y)] ^2

W(x, y)是高斯函数进行加权的, x,y表示当前位置, u和v表示移动了的位置

6.斑点(Blob)

拉普拉斯梯度:一阶导数极值点 - 二阶导数零点

梯度/边缘可以通过查找:二阶导数接近零, 一阶导数足够大

对噪声很敏感, 需要先做高斯平滑

公式: Δf = δ2f / δ2x +  δ2f / δ2y 对x求二阶导, 对y方向求二阶导

斑点是找拉普拉斯的极值

边缘是找拉普拉斯的零值

7.SIFT

SIFT特征计算

计算高斯差分(DoG)尺度空间,获取极值点

特征点处理: 位置插值, 去除低对比度点, 去除边缘点

方向估计: 2*2网格, 8个方向,获得最高值为关键点的主方向,特征点方向归一化,即所有方向为同一方向

描述子提取: 在旋转坐标上采样16*16的像素窗, 4*4网格,8方向直方图,总共178维

8.纹理特征

HOG(方向梯度直方图)

梯度幅值,方向 s = sqrt(sx^2 + sy^2)

Block 拆分

16*16的block 步长是8, 包含2*2个cell, 每个cell8*8, 9个方向

积累梯度幅值,使用位置高斯加权,使用相邻bin线性插值

64&128的维度图:7*15 * (2*2) * 9 = 3780

LBP(局部二值模式)

将每个像素点与周围点大小半径比较,半径R的圆上,均匀采样P个点,根据赫值大小,量化为0或1

图像特征与描述子(直方图, 聚类, 边缘检测, 兴趣点/关键点, Harris角点, 斑点(Blob), SIFI, 纹理特征)的更多相关文章

  1. BRIEF特征点描述子

    简介 BRIEF是2010年的一篇名为<BRIEF:Binary Robust Independent Elementary Features>的文章中提出,BRIEF是对已检测到的特征点 ...

  2. 第三讲_图像特征与描述Image Feature Descriptor

    第三讲_图像特征与描述Image Feature Descriptor 概要 特征提取方法 直方图 对图片数据/特征分布的一种统计:对不同量进行直方图统计:可以表示灰度,颜色,梯度,边缘,形状,纹理, ...

  3. Brief描述子

    一.Brief算法 1.基本原理 BRIEF是2010年的一篇名为<BRIEF:Binary Robust Independent Elementary Features>的文章中提出,B ...

  4. [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (一)

    部分 V图像特征提取与描述 OpenCV-Python 中文教程(搬运)目录 29 理解图像特征 目标本节我会试着帮你理解什么是图像特征,为什么图像特征很重要,为什么角点很重要等.29.1 解释 我相 ...

  5. (一)ORB描述子提取

    ORBSLAM2中使用ORB描述子的方法 经典的视觉SLAM系统大体分为两种:其一是基于特征点法的,其二是基于直接法的.那么本文主要就讲特征点法的SLAM. 基于特征点法的视觉SLAM系统典型的有PT ...

  6. LBP纹理特征[转自]

    LBP方法(Local binary patterns)是一个计算机视觉中用于图像特征分类的一个方法.LBP方法在1994年首先由T. Ojala, M.Pietikäinen, 和 D. Harwo ...

  7. 图像的特征工程:HOG特征描述子的介绍

    介绍 在机器学习算法的世界里,特征工程是非常重要的.实际上,作为一名数据科学家,这是我最喜欢的方面之一!从现有特征中设计新特征并改进模型的性能,这就是我们进行最多实验的地方. 世界上一些顶级数据科学家 ...

  8. SIFT算法:特征描述子

    SIFT算法:DoG尺度空间生产  SIFT算法:KeyPoint找寻.定位与优化 SIFT算法:确定特征点方向  SIFT算法:特征描述子 目录: 1.确定描述子采样区域 2.生成描述子 2.1 旋 ...

  9. SIFT解析(三)生成特征描述子

    以上两篇文章中检测在DOG空间中稳定的特征点,lowe已经提到这些特征点是比Harris角点等特征还要稳定的特征.下一步骤我们要考虑的就是如何去很好地描述这些DOG特征点. 下面好好说说如何来描述这些 ...

随机推荐

  1. Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制 JAVA 中原生的 socket 通信机制 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.co ...

  2. 2-3-2 rsync+inotify备份同步数据

    RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...

  3. poj3016

    题解 求n编的poj3666 然后dp 代码: #include<cstdio> #include<cstring> #include<algorithm> usi ...

  4. 在JavaScript中进行文件处理,第五部分:Blobs

    译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 到目前为止,这个系列的帖子集中在和这些文件交互- ...

  5. Custom Ribbon in SharePoint 2010 & which not wrok when migrate from 2010 to 2013

    博客地址 http://blog.csdn.net/foxdave 1. First of all, let me show you the ribbon modal in our project w ...

  6. C++ 标准库和标准模板库(STL)

    转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 一.C++标准库 C++标准库的内容分为10类,分别是(建议在阅读中,将你已经用 ...

  7. Linux:shell脚本字符显示特殊颜色效果

    shell脚本字符显示颜色和特殊效果 (一) 颜色显示 1)字符颜色显示 #!/bin/bash #字符颜色显示 #-e:允许echo使用转义 #\[:开始位 #\[0m:结束位 #\033等同于\e ...

  8. 在sublime中使用cppcheck

    要想在sublime中使用cppcheck很简单,只需要安装两个插件就可以了:Sublimelinter 和 Sublimelinter-cppcheck 安装完成后在Sublimelinter的配置 ...

  9. scikit-learn 学习笔记-- Generalized Linear Models (一)

    scikit-learn 是非常优秀的一个有关机器学习的 Python Lib,包含了除深度学习之外的传统机器学习的绝大多数算法,对于了解传统机器学习是一个很不错的平台.每个算法都有相应的例子,既可以 ...

  10. 一台 linux 主机装两个mysql

    启动 3306 nohup /usr/local/mysql5.1.7/bin/mysqld_safe & 启动 3307/usr/local/mysql/bin/mysqld --defau ...