当前课程知识点:现代图像分析 > 第八章 图像描述 > 8.5 特征描述子 > 8.5.1 特征描述子SIFT学习视频
同学们好 这节课我们来为大家介绍流行的局部特征描述子
大家都了解全局特征 就是方差 颜色直方图等等
如果用户对整个图像的整体感兴趣
那么全局特征用来描述是比较合适的
但是无法分辨出前景和背景是全局特征本身就有的劣势
特别是我们关注的对象受到遮挡等等影响的时候
全局特征很可能就被破坏掉了
而所谓的局部特征 顾名思义
它就是一些局部才会出现的特征
局部是指一些能够稳定出现并具有良好可分性的这样的一些点
局部特征也是近年来研究的一大热点
我们可以看看右边的这个图
左边的这一列是完整的图像 中间一列是一些角点
而右边的这一列就是除去角点以外的线段
那么大家会不会也觉得看中间一列的时候
我们更容易能够想象出这个物品原来的形状呢
一方面 如果我们这些稳定出现的点来代替整幅图像
那么它可以大大降低图像原有携带的大量信息
起到减少计算量的作用
另一方面当物体受到干扰的时候
一些冗余的信息即使是被遮挡了
我们依然能够从未被遮挡的特征点上来还原重要的信息
怎样的特征能够作为局部特征呢
我们在这幅图当中选择了三个部分
也就是边缘的点 边缘的线和变化缓慢的天空
当我们在左边的图像当中选择哪个部分的时候
你最有可能从右边的图像中来找到对应的部分呢
我们看一下对天空来说大部分都是一样的 没有太多的特征
而对于边缘 向左看向右看也都是类似的 很难选择某一点
相对来说顶点就具有更好的唯一性
所以局部特征最初的研究就是从角点开始的
好的特征应该具备如下的一些特点
首先 不同图像中相同的区域应该能够被重复检测
不受旋转模糊光照等因素的影响
其次 不同的描述子之间应该具有良好的可区分性
第三 我们的检测子的数量应该适宜不能太多也不能太少
第四 我们的特征是在哪里出现的最好就在哪里被找到
要具有比较好的尺度和位置这样的表示的特性
当然 最后我们的检测速度一定是越快越好
局部特征提取的主要步骤一般来说包括以下两个部分
关键点的检测和相应的特征描述
接下来我们介绍局部特征描述子中最为经典和常用的一种
也就是尺度不变特征变换SIFT
如果两幅图像中的物体一般只是旋转和缩放的关系
如图像这个亮度和对比度的不同
那么这些条件下如果要实现物体之间的匹配
英属哥伦比亚大学的David G.Lowe教授
他提出来了这样的一个观点
只要找到多于三对物体间的匹配点
就可以通过摄影几何的理论来建立它们之间的一一对应
并且他在99年正式提出了一种基于尺度空间的
对图像的缩放 旋转甚至仿射变换都具有
良好不变性的局部特征描述子 也就是SIFT
那么如何来找到这样的匹配点呢
SIFT会找到图像中的一些稳定点
这些点不会因为视角光照等变化而影响和消失
比如我们的一些角点 边缘点
暗区域的亮点和亮区域的暗点等等
如果两幅图像中有相同的景物
这些稳定点就会在两幅图像上同时出现来实现匹配
这样我们就可以将一幅图像映射为一个局部特征向量集
来完成它们之间的匹配
SIFT特征在实际图像分析时具有众多的优点
它是图像局部特征
它对于旋转 尺度缩放 亮度等等都保持不变性
而对于视角的变化 仿射变化和噪声
也都保持着一定程度的稳定性
它具有非常好的独特性 信息量是非常丰富的
非常适用于在海量特征数据库中来进行快速的检索和匹配
即使是少数的几个物体也可以产生大量的SIFT描述子
并且 它的计算速度非常的快
而且可扩展性非常的好
可以很方便的和其它的特征描述子来进行融合
全局特征很容易受到环境的干扰
光照 旋转 噪声等等都会影响到全局特征
而相比之下 局部特征点往往
对应着图像中的一些线条交叉 明暗变化的结构 受到的干扰也比较少
所以SIFT算法 现在在图像处理领域有着非常广泛的应用
它在一定程度上可以解决目标的旋转、缩放、平移
仿射、光照、目标遮挡还有杂物场景等等
这样的一些问题具有非常好的适用性
那么接下来我们就介绍一下SIFT算法的实现步骤
它主要包括检测和描述两个部分
首先 关键点的检测
这个对于我们的描述来说至关重要
那么图像中到底哪些点是我们要找到关键点呢
这些点应该是一些十分突出的点
不会因为光照条件等等的改变而消失
比如我们的角点 边缘点等等
可以看出 关键点应该具有如下这三个典型的特征
也就是说 尺度、方向和大小
为了更好的了解关键点的提取过程
我们首先来了解一下尺度的概念
实际上我们要精确表示的物体都是通过一定的尺度来反映的
现实世界的物体也总是通过不同尺度的观察而得到不同的变化
那么所谓的尺度空间 实际上就是通过对原始的图像进行尺度变换
来获得多尺度下的尺度空间表示序列
对这些序列进行尺度空间主轮廓的提取
再以该主轮廓作为特征向量来实现边缘 角点等等一些检测
尺度空间中各尺度图像的模糊程度是逐渐变大的
能够模拟人在距离目标由近到远时目标在视网膜上的一个形成过程
而多尺度下的图像序列还可以进行主轮廓的提取
就是我们刚才说的所谓尺度空间带来的一些优点
这里给出了尺度空间的一个示例
我们可以看出 这四幅图像都具有不同的尺度
随着尺度的变化 物体的主轮廓是具有稳定性的
我们可以看到主轮廓并没有发生改变
这对于我们提取关键点和边缘轮廓来说是非常有利的
在SIFT实现的时候 具体的怎么样来构建尺度空间呢
研究者们从可分性 旋转不变性 因果性等特性
推断出高斯滤波器是建立线性尺度空间的最优滤波器
而高斯核也是唯一可以产生多尺度空间的核
金字塔就是比较基础的一种图像多尺度的表示形式
图像金字塔化的一般步骤我们可以看一下分为如下的两步
首先图像经过低通滤波器 也就是说对它做一个平滑
一般来说我们会选择高斯滤波器来作为这个滤波器
平滑之后图像会变得模糊
就好像模仿人的视觉中远处的物体没有近处清晰的这样的一个原理
对于平滑后的图像再进行下采样
一般来说我们的抽样比例在水平和垂直方向上都是二分之一
那么这样我们就可以得到一系列的缩小的图像
这就是高斯金字塔
那么在SIFT算法中 我们需要获取的是最具有表征性的特征
如果没有变化 那就没有特征
特征必须是变化尽可能多的点
因此在我们高斯金字塔形成的尺度空间上
我们可以通过对两个相邻高斯尺度空间的图像相减
来看出图像上像素值的变化情况
DoG图像实际上描绘的就是我们的目标轮廓
也就是说高斯差分金字塔
对于我们所获得的这个差分图像
我们还需要对其进行局部最大值的一个搜索
因为这个差分图像 我们获得的是整张图像这样的一个像素点集
我们必须从中来选取最有可能成为关键点的这部分极值点
也就是说我们可以在空间位置和尺度空间定位局部特征点
来寻找DoG函数的极值点
在这个过程中每一个像素点都要和它所有的相邻点来进行比较
看看它是否比它的图像域和尺度域的相邻点大或者小
中间的检测点和它同尺度的8个相邻点
以及上下相邻尺度的9乘2个点 一共26点来进行比较
来确保在尺度空间和二维图像空间我们都能够检测到极值点
这里我们给出了可视化的图像金字塔序列和DoG序列
可以看出高斯金字塔的尺度及分辨率的变化情况
以及不同尺度空间下 DoG图像对于轮廓边缘的描述情况
随着高斯金字塔的变化
我们可以看到 图像越来越模糊 尺寸越来越小
相应的DoG能够提取出来的
这个目标轮廓仍然是非常的清晰的
通过极值点的选取 我们就能够获得
左图中所示的绿色的这些点集所表示的非常非常多的特征点
但是一般来说我们进行匹配的时候
是用不到这么多特征点的
而且它里面一定会存在冗余
所以说右图中的蓝色特征点是我们在左图基础上
进行精炼之后所得到的关键点
而极值点的精炼一直也是SIFT算法研究比较多的方向之一
感兴趣的同学可以查阅一些相关的文献
在获得关键点之后
我们就需要进一步的对关键点来进行特征的描述从而形成特征描述子
在SIFT算法当中 特征描述和梯度的幅值和方向是息息相关的
因此我们首先要对像素点的梯度的幅值和方向来分别进行计算
通过对每个极值点采用下式 来计算梯度
这个公式我想大家已经非常熟悉了
像素点之间的梯度计算公式
那么再通过下面的这个式子来计算梯度的方向
我们就可以得到SIFT算法的梯度表示
接下来我们就可以逐步实现关键点的描述了
首先 我们确定计算描述子所需的图像区域
在确定了之后我们将图像的主坐标轴
移到我们的这个关键点的主方向上
如图所示 我们要对这个区域进行旋转
那么旋转之后的新坐标
我们可以通过下面的公式来进行计算
在这里 θ就是我们旋转的角度
然后在图像半径区域内 来计算相关像素点的梯度幅值和方向
并统计以关键点为原点 一定区域内的图像像素点
对关键点方向生成所做的贡献 来形成方向直方图
在一般实验中我们通常使用的是16乘16的像素区域
并且邻域被划分为4乘4的子区域
而每个子区域生成一个描述子 一个描述子又涉及8个方向
所以通常来说我们的关键点有4乘4乘8 共128维的特征向量
这就是我们的SIFT特征描述子
SIFT算法目前在军事 工业 民用方面都有着不同程度的应用
它的应用已经渗透到了各个领域
典型的应用包括物体的识别 机器人的定位导航
图像的拼接 三维建模等等都是非常热门的一些应用
比如说我们对笔迹来进行鉴定
手写的笔迹来进行鉴定
再比如说我们的全景图像的拼接
SIFT具有非常好的特征点的选择和匹配能力
所以用它来进行全景图像的拼接效果是非常好的
当然还有我们的三维物体建模
那么还有一个比较有意思的
有网友将周正龙声称所拍摄到的华南虎分别和年画照片中的华南虎
还有真实的华南虎照片进行了匹配
然后我们发现 它和年画照片中的华南虎匹配率非常高
而和真实的华南虎照片几乎没有匹配点
那么这也证实了周正龙所谓的华南虎照片实际上是伪造的
SIFT对于图像的局部特征描述具有无与伦比的优势
但它并不是万能的
对于边缘比较模糊的情况和圆形的物体 它还是无能为力
自从SIFT算法问世以来 人们从未停止对它的优化和改进
PCA SIFT 彩色SIFT 还有抗仿射SIFT等等层出不穷
感兴趣的同学可以关注相关的前沿领域
这节课的内容就到这里
谢谢大家 再见
-1.1 图像及图像的基本概念
--1.1.2 图像及图像的基本概念作业
-1.2 数字图像处理的起源
--1.2.2 数字图像处理的起源作业
-1.3 数字图像处理的步骤和方法
--1.3.2 数字图像处理步骤和方法作业
-1.4 数字图像处理系统的组成
--1.4.2 数字图像处理系统的组成作业
-1.5 数字图像处理主要应用领域
--1.5.2 数字图像处理主要应用领域作业
-2.1 色度学基础
--2.1.3 色度学基础作业
-2.2 人的视觉特性
--2.2.1 人的视觉特性作业
-2.3 图像数字化
--2.3.2 图像数字化作业
-2.4 数字图像特点
--2.4.2 数字图像特点作业
-3.1 图像变换的基本概念
--3.1.2 图像变换的基本概念作业
-3.2 图像的几何变换
--3.2.2 图像的几何变换作业
-3.3 图像的离散傅立叶变换
--3.3.2 图像的离散傅立叶变换作业
-3.4 图像变换的一般表示形式
--3.4.2 图像变换的一般表示形式作业
-3.5 图像的离散余弦变换
--3.5.2 图像的离散余弦变换作业
-3.6 图像离散沃尔什-哈达玛变换
--3.6.2 图像离散沃尔什-哈达玛变换作业
-3.7 K-L变换
--3.7.2 K-L变换作业
-4.1 图像的对比度增强
--4.1.2 图像的对比度增强作业
-4.2 直方图修正
--4.2.3 直方图修正作业
-4.3 图像平滑
--4.3.4 图像平滑作业
-4.4 同态滤波
--4.4.2 同态滤波作业
-4.5 图像锐化
--4.5.2 图像锐化作业
-4.6 图像的彩色增强
--4.6.2 图像的彩色增强作业
-5.1 退化模型及常见退化模型
--5.1.2 退化模型及常见退化模型作业
-5.2 图像的无约束恢复
--5.2.2 图像的无约束恢复作业
-5.3 图像有约束最小二乘恢复
--5.3.2 图像有约束最小二乘恢复作业
-6.1 概述
--6.1.1 概述作业
-6.2 图像编码基本理论
--6.2.2 图像编码基本理论作业
-6.3 无损编码理论
--6.3.2 无损编码理论作业
-6.4 霍夫曼编码
--6.4.2 霍夫曼编码作业
-6.5 算数编码
--6.5.2 算数编码作业
-6.6 预测编码
--6.6.2 预测编码作业
-6.7 正交变换编码
--6.7.2 正交变换编码作业
-7.1 图像分割的定义及依据
--7.1.2 图像分割的定义及依据作业
-7.2 边缘点检测
--7.2.2 边缘点检测作业
-7.3 边缘线跟踪
--7.3.3 边缘线跟踪作业
-7.4 门限化分割
--7.4.2 门限化分割作业
-7.5 区域分割法
--7.5.2 区域分割法作业
-7.6 聚类分割法
--7.6.3 聚类分割法作业
-8.1 像素间的基本关系
--8.1.2 像素间的基本关系作业
-8.2 目标物的边界描述
--8.2.2 目标物的边界描述作业
-8.3 目标物的区域描述
--8.3.2 目标物的区域描述作业
-8.4 图像的几何特征
--8.4.2 图像的几何特征作业
-8.5 特征描述子
--8.5.4 特征描述子作业
-9.1 图像匹配
--9.1.2 图像匹配作业
-9.2 图像分类
--9.2.2 图像分类作业
-9.3 图像识别
--9.3.2 图像识别作业
-9.4 模式识别分类专题
--9.4.4 模式识别分类专题作业
-中国天网
-车道检测
-期末测试
--期末测试