计算机视觉:高级图像处理,满足您的所有需求。

  

一、说明

   特征提取是机器学习管道中的关键步骤,可增强模型在不同数据集上的泛化和良好表现能力。特征提取方法的选择取决于数据的特征和机器学习任务的具体要求。本文揭示图像处理的数学原理,实现增强的计算机视觉

在这里插入图片描述

二、关于计算机视觉的普遍问题

   在计算机视觉中,特征提取在将原始输入数据(如图像)转换为更易于分析和理解的格式方面起着关键作用。特征提取涉及从输入数据中识别和选择相关信息或特征。这些功能捕获数据的独特模式、结构或特征,使算法更容易解释和做出决策。计算机视觉中特征提取的主要目的包括:
   1. 降维:特征提取通常通过以更紧凑和有意义的形式表示数据来降低数据的维度。这种减少有助于更有效地处理和存储信息。
   2.突出显示相关信息:从图像中提取的特征会突出显示感兴趣的特定方面,例如边缘、角落、纹理或关键点。这些功能对于对象识别、图像分类和场景理解等任务至关重要。
   3.增强鲁棒性:通过关注基本特征,计算机视觉算法对照明条件的变化、视点变化以及可能影响图像中对象外观的其他因素变得更加稳健。
助长歧视:提取的特征用作区分不同对象或类的判别元素。它们捕获数据的独特方面,有助于准确识别和分类。
   4.为机器学习准备数据:特征提取是为机器学习模型准备数据的关键步骤。通过表示具有相关特征的图像,学习算法可以更好地概括数据中的模式和关系。
提高计算效率:提取相关特征可减少后续处理步骤的计算负载。它允许算法专注于数据中信息量最大的方面,从而实现更快、更高效的计算。
让我们更深入地研究一些特征提取方法的理论方面:

三、边缘检测:

   边缘检测旨在识别图像中强度发生显著变化的区域。边缘通常表示图像中的对象边界或重要结构。Canny 边缘检测器是一种流行的方法,涉及多个步骤,包括梯度计算、非最大值抑制和滞后边缘跟踪。

3.1 梯度算子

   边缘检测通常涉及计算图像强度的梯度。图像 f(x,y) 的梯度 (∇f) 是使用带有导数滤波器(例如,Sobel 或 Prewitt 算子)的卷积计算的:

在这里插入图片描述

   梯度 (M) 的大小计算公式为:
在这里插入图片描述
计算梯度幅度
方向(θ)确定为:
在这里插入图片描述

   Canny边缘检测器还涉及非最大值抑制和迟滞阈值。让我们深入了解它是如何运作的。

3.2 非最大值抑制:

   在计算每个像素的梯度幅度 (M) 和方向 (θ) 后,应用非最大值抑制以缩小边缘并仅保留梯度方向的局部最大值。这个想法是确保检测到的边缘沿梯度方向具有清晰而锐利的响应。

   对于每个像素,非最大值抑制涉及将像素的梯度幅度与其相邻像素在梯度方向上进行比较。如果像素处的梯度幅度大于其相邻像素,则保留该像素;否则,它将被抑制。

   设 M(x,y) 为梯度大小,θ(x,y) 为像素 (x,y) 处的梯度方向。非最大值抑制可以表示为:
在这里插入图片描述

   这里,M 1 和 M2 是两个相邻像素沿梯度方向的梯度大小。

3.3 迟滞阈值

   应用迟滞阈值来区分强边沿、弱边沿和噪声。它涉及设置两个阈值:高阈值(T 高)和低阈值(T低)。梯度幅度高于 T 高的像素被视为强边缘,而介于 T 低和 T高之间的像素被视为弱边缘。

   然后,该算法沿着强边进行跟踪,并将弱边连接到强边(如果它们形成连续路径)。这有助于在抑制噪点的同时保留边缘。

   滞后阈值可以表示为:
在这里插入图片描述

   此过程通常使用深度优先搜索或类似技术来实现,以跟踪和连接薄弱边缘,形成连贯的边缘贴图。

   总之,非极大值抑制可确保仅保留梯度方向上的局部最大值,而滞后阈值有助于区分强边和弱边,并将它们连接起来以形成更鲁棒的边缘贴图。

四、角落检测(Harris Corner Detection)

4.1 结构张量计算

   对于给定的像素 (x,y),第一步是计算结构张量 M,这是一个 2x2 矩阵,表示图像中的局部强度变化。结构张量定义为:
在这里插入图片描述

   张量计算
   其中 Ix 和 Iy 是像素 (x,y) 处的图像梯度,w(x′,y′) 是以 (x,y) 为中心的窗口函数。

4.2 转角响应功能

   转角响应函数 R 由结构张量 M 的特征值(λ 1 和 λ2)计算得出:
在这里插入图片描述

   这里,det(M) 是 M 的行列式,trace(M) 是 M 的迹线,k 是经验确定的常数(通常在 0.04 到 0.06 的范围内)。

4.3 拐角识别

   在计算每个像素的角响应函数后,通过选择具有高角响应值的像素来识别角。一种常见的方法是对角响应函数进行阈值设置阈值,并将响应值高于特定阈值的像素视为角
在这里插入图片描述

拐角识别

4.4 纹理特征分析

   局部二进制模式(LBP)是一种纹理分析方法,用于捕获图像中像素强度的局部模式。它对于表征图像中的纹理和图案特别有用。以下是 LBP 的详细说明:

   对于给定像素 (x,y),LBP 是通过将中心像素的强度与其相邻像素的强度进行比较来计算的。如果相邻像素的强度大于或等于中心像素的强度,则通过为其分配值 1 来生成二进制图案;否则,将分配值 0。对预定义的圆形邻域中的所有邻居重复此过程。

   设 P 为邻域中的采样点数,R 为圆形邻域的半径。像素 (x,y) 的 LBP 值计算如下:
在这里插入图片描述

这里
在这里插入图片描述

4.5 颜色直方图

   颜色直方图表示图像中颜色强度的分布。它提供了图像中存在的颜色的定量描述,这对于各种计算机视觉任务很有用。

   1)色彩空间转换:

   在计算颜色直方图之前,通常会将图像转换为分隔其颜色通道的颜色空间。常见的色彩空间包括 RGB(红色、绿色、蓝色)、HSV(色相、饱和度、值)或 LAB (CIELAB)。让我们假设 RGB 用于此解释。

   2)分箱:

   在颜色直方图中,颜色空间被划分为一组条柱或离散区间。每个箱子对应于一系列颜色强度。条柱的数量决定了直方图的粒度。例如,如果我们对 RGB 空间中的每个颜色通道使用 256 个 bin,我们将覆盖所有可能的强度(0 到 255)。

   3)直方图的计算:

   对于图像中的每个像素,颜色值被量化到相应的条柱中。落入每个图格的像素计数被累加以形成直方图。

   在数学上,设 H(ci) 是颜色通道 i 的直方图,其中 i 可以是红色 (R)、绿色 (G) 或蓝色 (B)。直方图的计算公式为:
在这里插入图片描述

   每个通道的色彩量化
这里:

N 是条柱数。
δ 是狄拉克 delta 函数,当 ci 落在第 j 个 bin 内时,它等于 1,否则等于 0。

4.6 定向梯度直方图 (HOG):

   定向梯度直方图 (HOG) 是一种广泛用于计算机视觉中用于目标检测的特征描述符。它捕获有关图像中局部渐变方向的信息。HOG算法包括以下步骤:

   对于图像中的每个像素,计算梯度大小和方向。这可以使用带有 Sobel 滤波器的卷积或任何其他梯度计算方法来完成。按照前面对边缘检测的解释,计算 G:梯度幅度和 θ:梯度方向。

   将图像分成小单元(例如,8x8 像素)。每个单元格都包含梯度方向的局部直方图。对于每个单元格,计算梯度方向的直方图。直方图是通过根据梯度大小的方向将梯度大小累积到条柱中来创建的。将单元格分组为更大的块(例如,2x2 单元格)。对每个块内的直方图进行归一化,以提高对照明和对比度变化的不变性。将所有块的归一化直方图连接起来,形成图像的最终 HOG 描述符。

   数学:

   设 M 是单元格数,N 是直方图中的条柱数,B 是块数。HOG 描述符 H 的形成方式如下:

H = [ H 1 , H 2 , . . . , H B ] H=[H 1,H2,...,HB] H=[H1H2,...,HB]

   其中每个 Hb 是块 b 的归一化直方图。归一化通常使用 L2 范数完成:
在这里插入图片描述

   在这里,ε 是一个添加到分母上的小常数,以避免除以零。

   HOG 描述符可用于各种计算机视觉任务,例如对象检测和行人识别。

五、主成分分析(PCA)

   PCA 是一种降维技术,用于将高维数据转换为低维空间,同时保留最重要的信息。它通常应用于图像数据、特征向量或任何有利于降维的数据集。

   PCA 首先使数据均值居中,确保每个特征的均值为零。计算协方差矩阵以了解不同特征之间的关系。求协方差矩阵的特征向量和特征值。选择与最大特征值对应的前 K 个特征向量。按降序对特征值进行排序,并选择前 K 个特征向量以形成矩阵。将以均值为中心的数据投影到所选主成分所跨越的子空间上。

5.1 关键概念:

   特征值和特征向量:特征值表示沿相应特征向量方向的方差量。特征值越大,表示变异性越显著的方向。
主成分:主成分是协方差矩阵的特征向量。每个主成分表示原始特征空间中的一个方向。
   方差保留:PCA 允许用户根据要保留的数据中所需的方差量来选择要保留的主成分数量。
   降维:数据的维数从 D 维降低到 K 维 (K≤D)。
PCA 是预处理数据、降低噪声和提高机器学习算法效率的宝贵工具,尤其是在处理高维数据集时。

5.2 熵

   香农熵以克劳德·香农(Claude Shannon)的名字命名,是一组数据中不确定性或信息含量的度量。在信息论的背景下,它量化了与随机变量结果相关的意外或不可预测性的平均数量。

   概率分布为 P(x) 的离散随机变量的香农熵 (H) 公式由下式给出:
在这里插入图片描述

   香农熵
   这里:

  •    Xi 表示随机变量 X 的每个可能结果。
  •    P(习) 是 习 发生的概率。
  •    总和将涵盖所有可能的结果。

   1) 解释:熵越高表示数据中的不确定性或无序性越高,而熵越低表示可预测性越强。

   2) 单位:如果对数以 2 为底,则以位为单位测量熵。在实践中,对数的底数取决于概率的测量单位(例如,以 e e 为底的自然对数或以 10为底的对数)。

   3) 信息论中的熵:在信息论中,熵用于量化表示消息信息内容所需的平均位数或与从源接收符号相关的平均“惊喜”。

   在图像的上下文中,香农熵可用于测量像素强度中的信息量或复杂性。图像中具有更均匀像素强度的图像可能具有较低的熵,而具有不同强度的图像可能具有较高的熵。

   在训练机器学习模型之前,将特征提取方法作为预处理步骤应用。确保所选功能符合特定任务的要求。将提取的特征作为输入集成到机器学习模型(例如,SVM、随机森林、神经网络)中。根据提取的特征对超参数进行微调。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/439373.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop增加新节点环境配置(自用)

完成Hadoop集群增添一个新的节点配置(文中命名为)Hadoop106,没有进行继续为该节点分配身份职能的步骤 1.在VMware中安装CentOS 7 新建虚拟机 1.⾸先我们创建⼀个新的虚拟机,也可以点⽂件-新建虚拟机。 2.选择⾃定义&#xff0c…

Unity3D学习之UI系统——NGUI

文章目录 1. 前言2 NGUI下载和导入3. NGUI三大组件3.1 Root组件3.1.1 分辨率概念3.1.2 Root的作用3.1.3 root脚本各组件3.1.4 总结 3.2 Panel 组件3.2.1 Panel的作用3.2.2 Panel的控件3.2.3 总结 3.3 EventSystem组件3.3.1 作用3.3.2 组件3.3.3 总结 4 图集制作4.1 图集的作用4…

如何使用手机安装JuiceSSH远程连接本地Linux服务器

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址…

vue-computed 计算属性

一、computed 计算属性 在Vue应用中&#xff0c;在模板中双向绑定一些数据或者表达式&#xff0c;但是表达式如果过长&#xff0c;或者逻辑更为复杂 时&#xff0c;就会变得臃肿甚至难以维护和阅读&#xff0c;例如&#xff1a; <div>写在双括号中的表达式太长了,不利于阅…

关于如何将Win幻兽帕鲁服务端存档转化为单人本地存档的一种方法(无损转移)

本文转自博主的个人博客&#xff1a;https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接&#xff1a;点我访问 **起因&#xff1a;**最近大火的开放世界缝合体游戏幻兽帕鲁的大火也是引起了博主的注意&#xff0c;然后博主和周边小伙伴纷纷入手&#xff0c;博主也是利…

Maya------创建多边形工具

配合导入图像使用 Tab键可以删除一个点&#xff01; 模型不能超过4边面&#xff01;多切割工具进行连接&#xff01; 15.maya常用命令5.创建多边形工具 反转 双显 挤出_哔哩哔哩_bilibili

SpringBoot+SqlServer查询接口

SpringBootSqlServer查询接口 文章目录 SpringBootSqlServer查询接口1. pom环境配置2. common工具包3. 实体类接口映射4. Service层Controller层 需求&#xff1a;根据站号查询前一个小时的所有数据&#xff0c;将数据返回格式为Map<String,List<Map<String,String>…

动手学深度学习(一)深度学习介绍2

目录 二、起源 三、深度学习的成功案例&#xff1a; 四、特点&#xff1a; 五、小结&#xff1a; 二、起源 为了解决各种各样的机器学习问题&#xff0c;深度学习提供了强大的工具。 虽然许多深度学习方法都是最近才有重大突破&#xff0c;但使用数据和神经网络编程的核心思…

Scala入门01

Spark入门 1.入门 spark采用Scala语言开发 Spark是用来计算的 Scala掌握&#xff1a;特性&#xff0c;基本操作&#xff0c;集合操作&#xff0c;函数&#xff0c;模式匹配&#xff0c;trait&#xff0c;样例类&#xff0c;actor等内容。 2.内容讲解 2.1 Scala简介 在http…

2024-01-29 ubuntu 用脚本设置安装交叉编译工具链路径方法,设置PATH环境变量

一、设置PATH环境变量的方法,建议用~/.bash_profile的方法&#xff0c;不然在ssh登录的时候可能没有设置PATH. 二、下面的完整的脚本&#xff0c;里面的echo "export PATH$build_toolchain_path:\$PATH" >> $HOME/.bashrc 就是把交叉编译路径写写到.bashrc设置…

计算机毕业设计 基于SpringBoot的车辆违章信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

华为radius认证

组网需求 如图1所示&#xff0c;用户同处于huawei域&#xff0c;Router作为目的网络接入服务器。用户需要通过服务器的远端认证才能通过Router访问目的网络。在Router上的远端认证方式如下&#xff1a; Router对接入用户先用RADIUS服务器进行认证&#xff0c;如果认证没有响应…