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

  

一、说明

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

在这里插入图片描述

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

   在计算机视觉中,特征提取在将原始输入数据(如图像)转换为更易于分析和理解的格式方面起着关键作用。特征提取涉及从输入数据中识别和选择相关信息或特征。这些功能捕获数据的独特模式、结构或特征,使算法更容易解释和做出决策。计算机视觉中特征提取的主要目的包括:
   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.rhkb.cn/news/247838.html

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

相关文章

CSS基础细节学习

目录 一.CSS--网页的美容师 二.语法规范及选择器的介绍 一.CSS--网页的美容师 CSS是层叠样式表( Cascading Style Sheets )的简称,有时我们也会称之为CSS样式表或级联样式表。 CSS是也是一种标记语言,CSS主要用于设置HTML页面中的文本内容(字体、大小…

Linux:共享内存VS消息队列VS信号量

文章目录 共享内存的通信速度消息队列msggetmsgsndmsgrcvmsgctl 信号量semgetsemctl 内核看待ipc资源单独设计的模块ipc资源的维护 本篇主要是基于共享内存,延伸出对于消息队列和信号量,再从内核的角度去看这三个模块实现进程间通信 共享内存的通信速度…

2024 新年HTML5+Canvas制作3D烟花特效(附源码)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

RK3568 Android 13 系统裁剪

android 13 系统裁剪是个大工程,裁剪也是需要大量的测试,才能保证系统的稳定性,以下是RK官方给出的裁剪方案,有兴趣的可以去看一下,对裁剪不是要求过高的可以根据官方的建议,对系统进行裁剪: Rockchip And…

专科拿到季军:微茫星火,奋起直追!

Datawhale干货 作者:“不啻微茫”团队,季军方案 前 言 大家好,我们是 飞桨星河社区 X 智海Mo平台 AI 大模型创意应用大赛 获奖团队——"不啻微茫",很荣幸能有机会与大家分享这次比赛经验,我们从零开始的过程…

【CanvasKeyFrames - HTML5 Canvas 图片序列帧播放工具】

前言 一、CanvasKeyFrames 是什么&#xff1f; 用来做canvas动画的工具。 二、使用步骤 效果如图&#xff1a;上下波动的线条 1.引入库 代码如下&#xff08;示例&#xff09;&#xff1a; 在html中引入&#xff1a; <script src"canvas-keyframes.js"><…

【linux】运维-磁盘空间不足-用到的命令(简洁)

【linux】运维-磁盘空间不足-用到的命令 常用&#xff1a; 注&#xff1a;du -s 和 -d 不能同时都用, -s | -d n 注&#xff1a;df -H 和 -h 区别 -H 1K1000 -h 1K1024 #-T 显示文件系统类型 -h 高可读性显示 df -Th #-c显示总和 ;sort -r 倒序显示 ;2>/dev/nul…

LiveGBS流媒体平台GB/T28181常见问题-如何快速查看推流上来的摄像头并停止摄像头推流?

LiveGBS流媒体平台GB/T28181常见问题-如何快速查看推流上来的摄像头并停止摄像头推流&#xff1f; 1、负载信息2、负载信息说明3、会话列表查看3.1、会话列表 4、停止会话5、搭建GB28181视频直播平台 1、负载信息 实时展示直播、回放、播放、录像、H265、级联等使用数目 2、负…

蓝桥杯AT24C02问题记录

问题1&#xff1a;从这个图片上可以看出这两个在IIC的.c文件里延时时间不一样&#xff0c;第一张图使用了15个_nop_(); 12M晶振机器周期是 1/12M*121uS&#xff1b;nop()要延时1个指令周期。延时时间不对会对时序产生影响&#xff0c;时序不对&#xff0c;则AT24C02有没被使用…

时序分解 | MATLAB实现CEEMDAN+SE自适应经验模态分解+样本熵计算

时序分解 | MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算 目录 时序分解 | MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算 包括频谱图 附赠案例数据 可直接运行 …

秋招面试—浏览器原理篇

浏览器原理篇 1.什么是XSS、CSRF,怎么预防&#xff1f; &#xff08;1&#xff09;XSS(跨站脚本攻击)&#xff1a;攻击者将恶意代码植入到浏览器页面中&#xff0c;盗取存储在客户端的Cookie&#xff1b; ​ XSS分为&#xff1a;①存储型&#xff1a;论坛发帖、商品评论、用户…

cartographer离线建图报错:data_.trajectory_nodes.SizeOfTrajectoryOrZero

cartographer离线建图报错: data_.trajectory_nodes.SizeOfTrajectoryOrZero [FATAL] [1706177325.876019302, 1706015603.398505596]: F0125 18:08:45.000000 17607 pose_graph_2d.cc:1314] Check failed: data_.trajectory_nodes.SizeOfTrajectoryOrZero(trajectory_id) &…

C++类和对象(中)

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

【BUG】联想Y7000电池电量为0且无法充电解决方案汇总

因为最近火灾很多&#xff0c;所以昨天夜晚睡觉的时候把插线板电源关掉了&#xff0c;电脑也关机了。 各位一定要注意用电安全&#xff0c;网上的那些事情看着真的很难受qvq。 第二天早上起床的时候一看发现电脑直接没电了&#xff0c;插上电源后也是显示 你一定要冲进去啊(ू˃…

Android HIDL概述与绑定模式的实现

一、前言 Android O(8.0) 版本之后&#xff0c;底层实现有了比较大的变化&#xff0c;最显著的一个方面就是 HIDL 机制的全面实施。本文对于理解系统源码中 Gnss、Usb、Camera 等模块的工作原理有极大帮助。 二、HIDL 设计目的 在 Android O(8.0) 之前系统的升级牵扯多方协作…

c语言实战之贪吃蛇

文章目录 前言效果展示游戏用到的图片游戏思路一览游戏前准备一、贪吃蛇、食物、障碍物节点坐标的结构体二、枚举游戏状态、和贪吃蛇的方向三、维护运行的结构体 游戏开始前的初始化一、学习图形库相关知识二、设置背景三、欢迎界面四、初始化贪吃蛇五、生成障碍物六、生成食物…

22.云原生之GitLab CICD实战及解析【干货】

云原生专栏大纲 文章目录 准备工作gitlab-ci.yml流水线mven打包项目制作并推送镜像kaniko方式docker方式 部署到k8s验证执行情况 GitLab Runner k8s执行器工作流程注册配置kubernetes runnerkubernetes runner配置通过修改 Pod 规范为每个构建作业创建一个 PVC自定义卷装载持久…

腾讯云Linux(OpenCloudOS)安装tomcat9(9.0.85)

腾讯云Linux(OpenCloudOS)安装tomcat9 下载并上传 tomcat官网 https://tomcat.apache.org/download-90.cgi 下载完成后上传至自己想要放置的目录下 解压文件 输入tar -xzvf apache-tomcat-9.0.85.tar.gz解压文件&#xff0c;建议将解压后的文件重新命名为tomcat,方便后期进…

如何编辑图片上的文字?分享5种可以编辑的工具!

在数字时代&#xff0c;图片已经成为信息传递的重要载体。有时候&#xff0c;我们需要在图片上添加文字&#xff0c;以增加信息的清晰度或创意性。那么&#xff0c;如何编辑图片上的文字呢&#xff1f;本文将为你揭秘编辑图片文字的必备工具&#xff0c;让你轻松实现创意表达。…

python小项目:口令保管箱

代码&#xff1a; #! python3 # python 编程-----口令保管箱passwords{emails: F7minlBDDuvMJuxESSKHFhTxFtjVB6,blog:VmALvQyKAxiVH5G8v01if1MLZF3sdt,luggage:12345,} import sys,pyperclip if len(sys.argv)<2:print(usage:python python3文件[accout]-copy accout pass…