图像特征提取技术

2023-11-20

前 言

  图像特征提取属于图像分析的范畴, 是数字图像处理的高级阶段。本文将从理论上介绍对图片进行特征提取的几大角度,这将为后续对图片的向量化表示提供理论支撑~
  特征是某一类对象区别于其他类对象的相应(本质)特点或特性。一定意义上说,特征是通过测量或处理能够抽取的数据。对于图像而言, 每一幅图像都具有能够区别于其他类图像的自身特征,有些是可以直观地感受到的自然特征,如亮度、边缘、纹理和色彩等;有些则是需要通过变换或处理才能得到的, 如矩、直方图以及主成份等。
  须知,特征提取的目的无外乎是为了分类或者聚类,这才是我们的根本目的。

基于颜色的特征提取

  颜色是图像非常重要的视觉特征,相对于其他特征(比如纹理和形状)而言,颜色的特征非常稳定,对于旋转和平移具有不敏感的特点。基于图像的特征提取,需要关注以下两个问题:(1)颜色空间、(2)颜色特征(直方图)

(1)颜色空间

  图像的颜色表示可以有很多种方法,在当前,我们接触到的图像几乎都是彩色的,这涉及到颜色空间的含义,比如RGB、HSI空间等。
在这里插入图片描述
  RGB三种颜色之间存在着高度的相关性(B-R:0.78、R-G:0.98、G-B:0.94),我不是很清楚这种相关性的计算方法,但是可能一般的图像(真正让人类不觉得碍眼的就是那若干种颜色构成的)。RGB颜色空间是一种最为基础的颜色空间,其他颜色空间可以由它而来,比如HSI颜色空间:
在这里插入图片描述
  由于几种原色之间高度的相关性,这种颜色空间直接作为特征空间的基础是不合适的,因此有了很多种对RGB空间的非线性变化进而消除了部分相关性,但是这些变换在低强度下存在很多问题。

(2)直方图以及特征提取

  颜色特征的表达最为常见的形式是通过颜色直方图的形式。何为颜色直方图,也就是颜色的比例分布关系,是对一幅图统计关系的表征。下图展示了灰度图像(只有一种称为灰度的颜色属性,灰度的值一般在0~L之间变化,下图是0 ~ 255)的颜色直方图:
在这里插入图片描述
  有了颜色直方图,就有了对图像颜色的数学特征的表达方法,如何通过直方图计算图像间的相似性呢?这里常用的是一种直方图相交法:设M,N是两个含有K个BIN的直方图,它们的分量分别为M(i),N(i),其中,i=1,2,3,4,….k,则它们相交的距离为:
在这里插入图片描述
  直方图相交是指两个直方图在每个BIN中共有的像素数目,有时候该值还可以通过除以其中一个直方图中所有的像素数目来实现标准化,从而使其值属于【0,1】范围内,即
在这里插入图片描述
  对于RGB或者其他颜色空间,是有多个颜色直方图的,每个图都做上述操作,最后加总或者求均值都可以。
  遗憾的是,上述方法很难描述图像的空间信息,但是在前人的摸索中,有了很多带有空间信息的图像颜色表征方案,其基本的思路就是图像分块,而后按照一定的规则应用累加直方图(大多数用到颜色矩的概念):
在这里插入图片描述
图像分块的方法也有很多的创新,比如下面这种基于金字塔形的分块方法:
在这里插入图片描述
从图像的中心向整个图逐步扩大,而每一个小的子图都可进行颜色矩(或者其他数学属性,比如惯性比等)的计算并构建向量。
  那么,何为颜色矩呢?
在这里插入图片描述
  当然还有一种比较有趣的将颜色和空间信息杂糅的方法,那就是颜色聚合向量的引入!针对颜色直方图和颜色矩无法表达图像色彩的空间位置,Pass提出图像的颜色聚合向量。将属于直方图每个bin的像素分为两部分,如果该bin内的某些像素所占的连续区域面积大于给定的阈值,则该区域内的像素作为聚合像素,否则为非聚合像素。看起来是一个不错的思路。
  构建出这样一个表示其颜色属性的特征向量之后,就可以使用传统或者深度学习的方法进行分类或者聚类等数据挖掘操作了。

基于纹理的特征提取

  图像的纹理特征反应了图像本身的属性,但是啥是纹理好像又不是很容易描述?现有的方法主要包括统计的、结构的以及频谱的方法。

(1)灰度共生矩阵

  灰度共生矩阵是以条件概率提取纹理的特征,探索的是在像素空间的相互关系。下面举个例子:
  左图是一个3x3的单通道像素图,图中的数字1、2、3代表相应的像素值。我们考虑从左到右两个相邻格子的计数,并且在右图的表格中进行统计。
在这里插入图片描述
  左图中(1,2)相邻的情况出现了一次,那么对应的右表中第1列第2行的格子记为1。再举个例子,左图中(2,2)相邻的情况出现了两次,那么对应的右表中第2列第2行的格子记为2。为了避免大家没弄懂,我再举个例子,左图中(2, 3)相邻的情况一次也没有出现,那么对应的右表中第2列第3行的格子记为0。现在再看灰度矩阵的定义是不是很好理解了?以矩阵中的第一个元素p(1, 1)为例,它代表从左到右(1,1)相邻的次数除以所有矩阵中总次数的频数结果。比如这个(1,1)出现的次数为5,整个矩阵的计数总和为1000,那么这个元素的值就是0.005。
在这里插入图片描述
  实际上,统计相邻的情况并不局限于从左到右,还包括从上到下,左对角线和右对角线。对于上述矩阵,计算下图所示的若干个统计量
在这里插入图片描述
在这里插入图片描述
  现在介绍一下几个统计量在图像中的含义。

  • Angular Second Moment可以用来描述图像中灰度分布的均匀程度和纹理的粗细程度。如果说灰度矩阵中各个元素的值波动不大,那么这个指标的值会比较小,反之则会比较大。如果这个值较大,则纹理比较粗,否则比较细。
  • Correlation是相关性,可以用于描述矩阵元素在行或者列方向上的相关性。如果图像具有某个方向上的纹理,则该方向上的矩阵的该指标的值会比较大。
  • Contrast对比度越大,纹理沟纹较深,图像较为清晰,反之,纹理沟纹较浅,图像较为模糊。
  • Entropy熵。该值越大,说明矩阵中元素值较为分散。如果图像中没有任何纹理,则该值较小。如果图像中的纹理复杂,则该值较大。

  你可以参考这里【Link】获得更多信息。

(2)tamura纹理

  基于人类对纹理的视觉感知的心理学的研究,Tamura等人提出了纹理特征的表达。Tamura纹理特征的六个分量对应于心理学角度上纹理特征的六种属性,分别是粗糙度(coarseness)、对比度(contrast)、方向度(directionality)、 线像度(linelikeness)、规整度(regularity)和粗略度(roughness)。 原论文【Link

基于深度神经网络的图像处理

  在另一篇博客里【Link

2021年2月3日 by hash怪

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像特征提取技术 的相关文章

随机推荐

  • React(6.5)路由系统

    路由系统 单页应用 SPA 的多页面切换 需要使用到路由功能 多个组件的路由和切换 使用路由 React中默认没有安装路由 需要手动安装 安装不指定版本默认是最新版本6 目前大多数项目可能还处于版本5 安装5版本npm install re
  • PCI 原理

    http baike baidu com link url sTevLlZN HI7Ls3 xbui2IvQBjNlTYst1MELXXmChISxZ55VMocg NdNwnCctbLa8RMIDWBw5PxY uvAxhUQ4E8vg8
  • 成功解决FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\DELL\\Anaconda3\\pkgs\\conda

    pycharm导入包总是报错如下 然后查了一下资料发现好像是源的问题 换个源试了一下好了 指令如下 pip install i https pypi tuna tsinghua edu cn simple trusted host pypi
  • Redis高级

    目录 redis介绍安装 介绍 安装 通用命令 五大数据类型 字符串 哈希 列表 集合 有序集合 高级用法 慢查询 pipline与事务 发布订阅 Bitmap HyperLogLog GEO地理位置信息 持久化 RDB方法 AOF方案 r
  • 地址映射与共享

    跟踪地址映射过程 1 通过命令 dbg asm启动调试器 在linux 0 11运行test c文件 使其进入死循环 我们的任务就是找到i的地址并将其修改为0使test c程序退出循环 2 在命令行输入crit c使Boch暂停 一般会显示
  • Selenium Python 自动化搭建及简单用例编写

    1 首先确定自己的浏览器的当前版本号 2 下载对应版本驱动 http chromedriver storage googleapis com index html 下载完成后直接复制到py的目录下 3 调用 简单三行代码就可以简单实现我们的
  • LeetCode 98. 验证二叉搜索树(C++)

    1 题目如下 给你一个二叉树的根节点 root 判断其是否是一个有效的二叉搜索树 有效 二叉搜索树定义如下 节点的左子树只包含 小于 当前节点的数 节点的右子树只包含 大于 当前节点的数 所有左子树和右子树自身必须也是二叉搜索树 示例 1
  • uni-app项目中使用scss语法

    最近正在学习uni app开发 我先把文档浅略翻了遍 发现组件和接口几乎都是按照微信小程序走 但是视图层上的语法又是按照vue的语法走的 所以开发过程一定要注意这点 然后我想在uni app项目中使用scss语法 但是具体怎么安装呢 历经曲
  • 优秀的内存规划方法——环形缓冲区(ring buffer)

    目录 什么是环形缓冲区 使用环形buffer的好处 环形buffer的使用场景 进程间通信 网络IO 区分缓冲区是满或者是空 计数 保持一个存储单元为空 镜像指示位 buffer满了之后的操作 实时流 存储流 什么是环形缓冲区 线性缓冲区
  • 数据库初级入门sqlite3版本

    0 数据库大纲 数据库是什么 如何在在命令行使用SQL语句操作数据库 如何在C C 程序中操作数据库 1 数据库和数据库管理系统及数据库系统 数据库是一个存储数据 电子化表格 的仓库 数据库 简单来说可以看做是一个电子化的文件柜 gt 存储
  • vue element select下拉框树形多选

    components 文件下新建 SelectTree文件 index vue SelectTree index vue
  • 中关村十大AI研究院

    雷刚 发自 凹非寺 量子位 报道 公众号 QbitAI 不知你是否有同样的困惑 最近 秋季校招正在接近尾声 但意外不少非应届同学也关注起未来实习的话题 对于有志于投身AI研发的同学 有没有一些既能发论文 又贴进产业前沿 还比较近的实习机构
  • Unity3D的四种坐标系

    1 World Space 世界坐标 我们在场景中添加物体 如 Cube 他们都是以世界坐标显示在场景中的 transform position可以获得该位置坐标 2 Screen Space 屏幕坐标 以像素来定义的 以屏幕的左下角为 0
  • Wireshark抓包及DNS报文分析

    Wireshark抓包及DNS报文分析 来来来 点我进行5分钟视频学习 冲冲冲 一 抓包整体描述 第一行 帧Frame 2 指的是要发送的数据块 其中 所抓帧的序号为2 捕获字节数等于传送字节数 696字节 第二行 以太网 有线局域网技术
  • java正则表达式的语法详解及常用方法

    一 实例 今天在实现一个功能时遇到了这样一个问题 及接口传过来一个字符串 我需要判断它是一个区间还是一段文字并对其做分别处理 这里面的问题就在于我怎么去判断区间 按照数学规律区间可分为以下几种情况 M M N N N M N M N N N
  • 计算机网络重点知识(期末考研复习)

    点个关注 更多精彩持续更新为考研和期末助力 一起加油 计算机网络 第一章 思维导图 概述 计算机网络的主要性能指标 计算机网络的体系结构 OSI RM模型 TCP IP 两种模型对比 第二章 思维导图 数据通信主要指标与信道极限容量 多路通
  • java8新特性学习笔记

    使用lambda表达式排序 Collections sort temp String a String b gt return b compareTo a Collections sort temp String a String b gt
  • Camera2拍照时部分机型非常暗

    一 问题描述 1 部分手机在弱光环境下不管什么分辨率 预览和拍出来的照片都非常的暗 2 部分手机在弱光环境下 预览分辨率1920x1080 输出图片分辨率1920x1080时 预览和拍出来的照片亮度比较亮 但是在预览分辨率1920x1080
  • 重现U盘文件

    U盘中毒了 查毒后发现U盘空间还在 但是就是无法查看里面的文件 在 工具 gt 文件夹选项 中设置成 显示系统文件夹中的内容 去掉 隐藏受保护的操作系统文件 推荐 以及设置成 显示所有文件和文件夹 也不能正常显示 最近遇到很多优盘中的文件夹
  • 图像特征提取技术

    目 录 前 言 基于颜色的特征提取 1 颜色空间 2 直方图以及特征提取 基于纹理的特征提取 1 灰度共生矩阵 2 tamura纹理 基于深度神经网络的图像处理 前 言 图像特征提取属于图像分析的范畴 是数字图像处理的高级阶段 本文将从理论