图像特征提取(上)| 学习笔记

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: 快速学习图像特征提取(上),介绍了图像特征提取(上)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算图像特征提取(上)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15706


图像特征提取(上)


今天开始讲基于内容的图像检索,在这里讲四个内容,一个就是像特征的提取,为了实现基于内容的检索,提取图像特征,对图像的特征进行编码,压缩空间,要建立高维的特征。最后实现基于内容的图像检索的过程,里面会介绍几种经典的图像检索算法

图像特征的提取

为了有效的检索的图像,应该使用局部特征还是全局特征全局特征是整个图像的衣服图像的这个特征,比如它的直方图等等,都属于这种全局。那么全局特征的坏处是什么如果的图像发生了一些,像大小的修改,角度的变化远近的变化或者图像里面发生一些运动都可能使得的全局图像的特征,两幅本来很像的图像结果在全局特征上具有很大的不同。为了提高图像检索的准确性通常是提取图像的局部特征,局部特征是相对全局特征来讲,它是指从图像的局部提取的特征因此,它反映的是图像的局部特性,是否进行图像的匹配和检索有关什么是局部特征,这个网页里面有很详细的介绍,课后如果有些内容不理解,可以看一看这个博客的博文

局部特征的特点是它来自于图像的局部区域,具有了很强的几何变性,对光照、遮挡以及噪声具有很强的鲁棒性

按照特征的提取方法不同,可以分为两大类一个就是浅层特征,叫做手工特征,包括浮点类的 HOG / SIFT ,像 SURF/ PCA SIFT 排序, GLOH 等等,这个在的很多的综述的文献里面,后面参考文献都逐一列举了,它们的提取算法,包括原始的一些文献以及它分别适用于哪些场合还有一些二值化的特征,像 BRISK , FRIEK 还有个 FAST , ORB等等。

第二大类,对于手工工程它是机器自动提取,比较深度的局部特征

通过深度学习获取的特征,用了他局部反应局部特性的部分,包括卷积层特征图,那么包括 DELF / D2R 还有ASMK,看看提取局部特征,或者提取特征的算法通常叫做提取器。浅层特征由于它是手工的,因此它需要复杂专业的手工设计,也就是说针对不同的需求,设计符合需求的特征。比如说像 SIFT 它就等于提取算法容易的检测算法,比如说检测再加上描述子合并成 SIFT,还有每一步精心设计了所提取的内容。参数它的可调性比较差,而深度特征是一个端到端的,通常它是简单一个层的堆积,比如常用的是卷层和石化层Pooling 的一个特征。

步骤:

先输入卷积层,然后通过石化层再有卷积层到石化层。可以根据需要把层数的叠加的层数增加。它的好处参数可以适应数据的变化,它可以具再学习性,它就可以通过学习抓取到不同数据它本身的特点比如说通过 BP 算法进行学习。缺点就是这种深层的局部特征,它的可解释性是比较差。

在手工特征里边这个局部特征非常典型的一个也必须要知道的一个特征叫 SIFT 特征。所以那么它的中文名字叫尺度不变特征变换特征,英文叫 Scale Invariant Feature Transform 。叫尺度不变特征变换其实这里边就是为了让满足尺度的不变性所进行的特征点的变化

特征的优点

它可以满足尺度不变性大小缩放都没问题

旋转的不变性:同一图像旋转一定角度不影响特征的有效性

平移的不变性以及不易受视角及噪声的干扰,抗干扰能力比较强

SIFT 特征的提取的步骤,那么包括四步,第一步就是尺度空间的极值点的检测,然后从这极值点里面再确定出精确的极值点比如说最大最小那么把这些点叫做为叫 pin point叫关键点,然后找到关键点以后,再通过梯度的分析找到它的主方向。最后,通过方向来组合成的描述就是 SIFT 。

如何提取出来

第一部叫尺度空间的极值检测,首先构建一个高斯差分的金字塔的金字塔DoG 金字塔。对图像做不同尺度的高搜模糊就会得到一种尺度空间。然后对图像做降采样,就是隔点采样,来得到多尺度空间的图像,就是这个就是通过降采样得到的不同尺度 DoG 。有了这个就在从这个高斯差分金字塔里面来检测极值点。这几点上下左右26个他的临界点去寻找是否存在极值点,中间这点跟上下左右上面一层,下面一层以及同一层的周围的点。这么做就是为了满足描述的尺度具有普遍性。所以说这个过程是其实很典型的一个数据。 DoG 的生成是非常关键的一步

前面通过这个这个临界点去寻找的这个极值点通常未必是最准确的,因此需要关键点,精确的定义。这个不准确有两方面原因,一方面,就是在边缘的时候,这种极致的搜索算法是不稳定,对细节结构的描述的斑点叫边缘部分,不会被较好地进行抑制,既然边缘点不稳定,就应该想办法把边缘部分提取的特点它去除。在尺度空间中寻找这个极值点它这个位置信息通常也不够准确比如说找到了极值点可能不是真实绝对的极值。

以这个图为例

image.png

看这两个点是寻找到但是曲线里面真正的极值点上面最大,下面局部来讲最小的点,想怎么样才能把它相邻的真正的极值点找出来怎么去找这个理论上实际上极值点。在数学里面其实都可以通过差值来算。

第一步去除

对 DoG 函数进行泰勒展开,就是泰勒插值。然后再迭代校正极值点,就像已知是这两点,通过插值之后就恢复出来,展开这个泰勒函数。有了这个函数以后,就可以迭代得到这是真正的局部的极值点。

image.png

再把不稳定的边缘点利用 Hessian 矩阵再把它去除

看看效果,左边这幅图,这是通过函数直接求解到了它的特征点。而中间这个,是通过子像元插值,就像泰勒展开,去除掉不准确的极值点之后,得到了真正的精确的极值点的小点,其实已经少了很多,很多的初始的时候其实都是不准确的好,再把边缘部分不稳定的点去除,进一步检查,留下的这种关键点具有尺度不变性,最突出或者最稳定的特征,用它来做进行检索。

image.png

有了这个关键点以后按照前面步骤,到了应该确定关键点的主方向,根据领域特性确定关键点的主方向。通过主方向目的是使描述符具有旋转不变性。

计算关键点邻域点的梯度,然后构建邻域点的梯度方向直方图,下面是直方图,峰值对应的方向为主方向,也就是最高的这个点。

还有其它的峰值,为了尽最大限度的抓住它的方向,这个峰值虽然不是最高的,但已经接近最高,因此在把大于80%大于最高值的这些方向啊,把它叫做关键点,方向或者叫辅助的方向

最高值可能是一个,但是大于80%的可能不止一个,因此他的辅助方向或者方向,可能就不止一个。找到了,再使坐标轴行旋转使关键点的主方向这个坐标轴的方向一致这么做满足旋转不变性,这就叫做坐标系的旋转。

原来的水平是这样的,旋转的角度是其实就是原始的坐标跟方向的夹角。就是的关键特征点 keypoint  的主方向找到了

image.png

再把这些主方向按照一定的规则描述出来关键的描述梯度的描述在四乘四的小块儿计算八个方向的梯度直方图,这是个十六乘十六的分成四乘四的若干四乘四块这里每一个小块里面是个八个方向的梯度直方图十六乘以八总共有一百二十八位的这种这个特征向量再对他进行归一化的处理就可以去除光照的影响。

到此 SIFT 的特征就提取了存的特征保留的是在每一个小方块,它的梯度直方图,是当中最重要的好,SIFT,自从提出来之后对整个图像检索都是基于这种内容的图像检索,提交一幅图去找类似图像的,推动的意义非常之大这是一个非常好用的很多人在跟随着 SIFT ,有很多的改进算法

image.png

比如像 SURF ,它叫做加速的稳定特征,其实就是 SIFT 的一个高效的一个变种,它提的快了,更稳定,算法的步骤和 SIFT 的提取算法基本相同,不同的地方就是它使用海森矩阵的行列去做特征点的检测,并且用积分图来加速运算。

image.png

描述子,他基于二维离散小波变换相应,并且有效的利用积分,这三种特征它的效果对比,下面是 GLOH ,  SIFT 还有 SURF ,比它明显效果对比, SURF 在同样的数据上,它的效果要好一些。

相关文章
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
595 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
JavaScript Java 关系型数据库
Springboot+vue的校园社团管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
Springboot+vue的校园社团管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
|
10月前
|
人工智能 vr&ar
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
PSHuman 是一种先进的单图像3D人像重建技术,仅需一张照片即可生成高度逼真的3D模型,支持面部细节、全身姿态和纹理恢复,适用于影视、游戏、虚拟现实等多个领域。
1171 4
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
600 12
|
人工智能 编解码 API
通义万相AIGC技术测评报告
**摘要:** 通义万相是阿里云的AI绘画模型,提供清晰的部署指南和易用的API,适合新手。资源部署耗时约10分钟,API响应快,支持多种风格图片生成,适用于广告、媒体等领域。产品性价比高,功能包括文本到图像转换等,但仍有改进空间,如增加服装纹理选项、互动功能和更多API接口。建议完善功能、加强推广和降低成本以吸引更多用户。[链接](https://developer.aliyun.com/topic/tongyi-wanxiang?spm=a2c6h.27063436.J_6978680750.5.3a774f461hv8qD)
1246 6
|
算法 程序员 编译器
C++一分钟之概念(concepts):C++20的类型约束
【6月更文挑战第30天】C++20的Concepts革新了模板编程,允许更清晰地表达类型要求,提升代码可读性和编译错误反馈。本文探讨Concepts基础、应用场景、易错点及避免策略,展示如何通过概念定义如Iterable、Addable,创建更健壮的泛型代码,强调了理解和利用编译器错误信息的重要性,以及概念与类型别名的区别。Concepts现已成为现代C++程序员的关键技能。
402 0
|
弹性计算 对象存储 CDN
阿里云服务器公网流量怎么收费的?多少钱1GB?
阿里云服务器公网流量怎么收费的?多少钱1GB?阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?阿里云百科以北京地域为例,按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话,按固定带宽计费更划算一些
1978 0
阿里云服务器公网流量怎么收费的?多少钱1GB?
|
机器学习/深度学习 开发者
镜头边界检测(中)| 学习笔记
快速学习镜头边界检测(中),介绍了镜头边界检测(中)系统机制, 以及在实际应用过程中如何使用。
镜头边界检测(中)| 学习笔记
|
机器学习/深度学习 算法 计算机视觉
镜头边界检测(下)| 学习笔记
快速学习镜头边界检测(下),介绍了镜头边界检测(下)系统机制, 以及在实际应用过程中如何使用。
镜头边界检测(下)| 学习笔记
|
数据可视化 图形学 Android开发
朋友约我看水,我反手用可视化搞出水面倒影(Shader Graph)
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
1770 0