图像特征提取_天气情况图像分类训练营材料第二期:传统计算机视觉

本文介绍了传统计算机视觉方法,重点讨论SIFT和HOG特征提取在图像分类中的作用。SIFT通过查找尺度不变的关键点和方向,而HOG则是通过计算梯度方向直方图。文章还提到了机器学习的基础,尤其是SVM在图像分类中的应用。
摘要由CSDN通过智能技术生成

第二期 传统计算机视觉案例

导言

传统计算机视觉方法使用成熟的 CV 技术处理目标检测问题,如特征描述子(SIFT、SUR、BRIEF 等)。在深度学习兴起前,图像分类等任务需要用到特征提取步骤,特征即图像中描述性或信息性的小图像块。这一步可能涉及多种 CV 算法,如边缘检测、角点检测或阈值分割算法。

从图像中提取出足够多的特征后,这些特征可形成每个目标类别的定义(即「词袋」)。预测阶段中,在其他图像中搜索这些定义。如果在一张图像中找到了另一张图像词袋中的绝大多数特征,则该图像也包含同样的目标(如椅子、马等)。

内容

本期训练营主要内容如下:

  1. 图像数据的统计特征介绍
  2. 图像数据的特征提取
  3. 机器学习的基础概念与技术
  4. 基于SVM的图像分类

图像数据的统计特征介绍

局部特征从总体上说是图像或在视觉领域中一些有别于其周围的地方;局部特征通常是描述一块区域,使其能具有高可区分度;局部特征的好坏直接会决定着后面分类、识别是否会得到一个好的结果。

局部特征应该具有的特点: 可重复性、可区分性、准确性、有效性(特征的数量、特征提取的效率)、鲁棒性(稳定性、不变性)。

下面主要介绍SIFT和HOG这两种特征提取方法。

特征提取通常都需要对图像进行灰度化,这主要是基于以下两个原因。

  1. 可以把灰度理解为图像的强度。识别物体,最关键的因素是梯度,梯度意味着边缘,通常使用灰度来计算梯度。
  2. 颜色,易受光照影响,难以提供关键信息,故将图像进行灰度化,同时也可以加快特征提取的速度。

SIFT(尺度不变特征变换)

SIFT特征提取的实质

在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出、不会因光照、仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

SIFT特征提取的方法

  1. 构建DOG尺度空间
  2. 模拟图像数据的多尺度特征,大尺度抓住概貌特征,小尺度注重细节特征。通过构建高斯金字塔(每一层用不同的参数σ做高斯模糊(加权)),保证图像在任何尺度都能有对应的特征点,即保证尺度不变性。
  3. 关键点搜索和定位:
  4. 确定是否为关键点,需要将该点与同尺度空间不同
  5. 值的图像中的相邻点比较,如果该点为max或min,则为一个特征点。找到所有特征点后,要去除低对比度和不稳定的边缘效应的点,留下具有代表性的关键点(比如,正方形旋转后变为菱形,如果用边缘做识别,4条边就完全不一样,就会错误;如果用角点识别,则稳定一些)。去除这些点的好处是增强匹配的抗噪能力和稳定性。最后,对离散的点做曲线拟合,得到精确的关键点的位置和尺度信息。
  6. 方向赋值:
  7. 为了实现旋转不变性,需要根据检测到的关键点的局部图像结构为特征点赋值。具体做法是用梯度方向直方图。在计算直方图时,每个加入直方图的采样点都使用圆形高斯函数进行加权处理,也就是进行高斯平滑。这主要是因为SIFT算法只考虑了尺度和旋转不变形,没有考虑仿射不变性。通过高斯平滑,可以使关键点附近的梯度幅值有较大权重,从而部分弥补没考虑仿射不变形产生的特征点不稳定。注意,一个关键点可能具有多个关键方向,这有利于增强图像匹配的鲁棒性。
  8. 关键点描述子的生成:
  9. 关键点描述子不但包括关键点,还包括关键点周围对其有贡献的像素点。这样可使关键点有更多的不变特性,提高目标匹配效率。在描述子采样区域时,需要考虑旋转后进行双线性插值,防止因旋转图像出现白点。同时,为了保证旋转不变性,要以特征点为中心,在附近领域内旋转
  10. 角,然后计算采样区域的梯度直方图,形成n维SIFT特征矢量。最后,为了去除光照变化的影响,需要对特征矢量进行归一化

更多内容可以参考:https://blog.csdn.net/happyer88/article/details/45817305

HOG(方向梯度直方图)

HOG特征提取的实质

通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。

HOG特征提取的方法

  1. 灰度化;
  2. 采用Gamma校正法对输入图像进行颜色空间的标准化(归一化),目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;
  3. 计算图像每个像素的梯度(包括大小和方向),主要是为了捕获轮廓信息,同时进一步弱化光照的干扰;
  4. 将图像划分成小cells(例如6* 6像素/cell);
  5. 统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;
  6. 将每几个cell组成一个block(例如3* 3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
  7. 将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。

更多内容参考:https://blog.csdn.net/zouxy09/article/details/7929348

除此之外,还有SURF、ORB、LBP、HAAR等特征提取的方法,就不一一介绍了。感兴趣的同学可以自行搜索。

图像数据的特征提取

基于opencv自带的函数进行图像特征提取,由于SIFT有版权问题,所以新版本的opencv删除了这个函数,所以下面只介绍用opencv提取HOG特征的方法,HOG提取出的特征向量是SVM的基础。

HOG

Out[28]:

array([0.01280915, 0.00275154, 0.00823365, ..., 0.02358788, 0.02959047,

0.03718631], dtype=float32)

机器学习的基础概念与技术

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。

机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科学领域的复杂问题。自 20世纪80年代以来,机器学习作为实现人工智能的途径,在人工智能界引起了广泛的兴趣,特别是近十几年来,机器学习领域的研究工作发展很快,它已成为人工智能的重要课题之一。机器学习不仅在基于知识的系统中得到应用,而且在自然语言理解、非单调推理、机器视觉、模式识别等许多领域也得到了广泛应用。

更多内容可参见社区项目:https://www.kesci.com/home/project/5c483e3489f4aa002b85a3d5

基于SVM的图像分类

支持向量机(Support Vector Machine, SVM)是一类监督学习(supervised learning)方式对数据进行分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。

对SVM的介绍参见社区项目:https://www.kesci.com/home/project/5de08a8dca27f8002c4afe3b

基于SVM的图像分类需要依靠HOG提取的特征,拟合模型时将HOG提取出的特征向量作为X,将样本的类别标签作为y

5892a5d725a3fe8162e778d274129359.png

Out[50]:

6000

一共有6000张图片,选取前500张作为示例(前400张为训练集,后100张为测试集)。

96a5bff0b25f7beb17178714bf6489b1.png

Out[51]:

{'cloudy', 'sunny'}

可以看出标注只有cloudy和sunny两种,令cloudy=0,sunny=1

训练集: 0.965

测试集: 0.45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值