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

  

一、说明

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

在这里插入图片描述

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx 多项目部署,vue刷新404 解决方案

网上找的资料大多都解决不了,废话不多说直接告诉你解决方法。 环境是 TP6 VUE前端官网 VUE 后台管理 部署 两个项目 刷新 404 解决方案 Nginx 配置 直接贴图 如果解决了,给我顶起来,让更多人 快速的解决。

借力华为云CodeArts,使用软件开发生产线快速搭建项目

前言 项目的实际开发,研发接到需求并不是立马进入开发的,实际的开发生成流程是一个完整的迭代流程。 流程的节点和每个节点的内容如下: 开发生产的流程很标准很规范,看似研发只需要按照流程执行每一步的操作即可。但实际开发中&…

2024美赛数学建模E题思路分析 - 财产保险的可持续性

1 赛题 问题E:财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。[…

react 之 UseReducer

UseReducer作用: 让 React 管理多个相对关联的状态数据 import { useReducer } from react// 1. 定义reducer函数,根据不同的action返回不同的新状态 function reducer(state, action) {switch (action.type) {case INC:return state 1case DEC:return state - 1de…

实验二 DES密码算法的设计与实现

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :简单外包单 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远…

Git版本管理工具(实战进阶):零基础到起飞实战项目完整篇 →Git学习一篇就够 从基本指令、到本地仓库、远程仓库、实战项目开发演练介绍超详细!

heima 李师傅最新版 Git的讲解 文章目录 Git在实战项目开发使用功能学习01.Git 初识02.Git 仓库03.Git 的三个区域04.Git 文件状态05.Git 暂存区作用06.练习-登录页面07.Git-切换版本08.删除文件09.忽略文件10.分支的概念11.练习-登录 bug 修复12.分支-合并与删除13.分支-合并与…

LeetCode--189

189. 轮转数组 提示 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转…

Leetcode 热门百题斩(第一天)

介绍 针对leetcode的热门一百题,解决大多数实习生面试的基本算法题。通过我自己的思路和多种方法,供大家参考。 1.两数之和(题号:1) 方法一 最先想到的就是两个for去遍历匹配。 class Solution {public int[] twoSum(int[]…

C++模板:非类型模板参数、特化以及分离编译

一、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成…

案例精选 | 聚铭网络助力河北省故城县医院日志审计合规建设

河北省故城县医院位于河北省东南部京杭大运河西畔故城县郑口镇,是一所集医疗、急救、预防、康复、教学、科研于一体,科室齐全的综合性医院,曾先后荣获“全国百佳医院”、“全国百姓放心示范医院”、“中国医联体探路先锋”、“河北省文明单位…

一键部署FC超级马里奥web游戏

效果展示 安装 拉取镜像 #拉取镜像 docker pull stayhungrystayfoolish666/mario #创建并启动容器 docker run -d -p 10034:8080 --name maliao --restartalways stayhungrystayfoolish666/mario:latest 使用 浏览器打开 http://你的ip:10034/

【使用opencv、python、dlib实现人脸关键点检测、眨眼检测和嘴巴开闭检测,可简单用于疲劳检测】

使用opencv、python、dlib实现人脸关键点检测、眨眼检测和嘴巴开闭检测,可简单用于疲劳检测 环境准备opencvdlib 原理眨眼检测张嘴检测原理 代码示例人脸关键点检测眨眼检测张嘴检测 写在最后 环境准备 opencv 一、简单介绍 OpenCV (Open Source Computer Vision…

WordPress SMTP发信避坑指南

前言 Clip_2024-01-31_19-46-18803285 10.5 KB 目前不少主题已经内置了SMTP发信功能,这是因为WordPress自带的mail()函数发信时基本无法发送。 但是在之前(约2021年末)貌似可以通过WordPress自带的函数发信,并且收信方提示由xxx代…

同城上门预约软件开发:改变生活服务模式

随着互联网技术的飞速发展,人们的生活方式也在发生着深刻的变化。特别是在生活服务领域,新的需求和模式不断涌现。其中,同城上门预约服务正逐渐成为一种新的趋势。本文将探讨开发同城上门预约软件的意义、市场需求、功能设计以及面临的挑战。…

Linux网络编程 基础

OSI七层模型 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的…

Iceberg从入门到精通系列之二十一:Spark集成Iceberg

Iceberg从入门到精通系列之二十一:Spark集成Iceberg 一、在 Spark 3 中使用 Iceberg二、添加目录三、创建表四、写五、读六、Catalogs七、目录配置八、使用目录九、替换会话目录十、使用目录特定的 Hadoop 配置值十一、加载自定义目录十二、SQL 扩展十三、运行时配置…

MySQL原理(一)架构组成之逻辑模块(2)缓存机制

前面提到了mysql的逻辑模块中包含Query Cache 。 一、查询缓存 1、作用 MySQL查询缓存即缓存查询数据的SQL文本及查询结果,用Key-Value的形式保存在服务器内存中。当查询命中缓存,MySQL会立刻返回结果,跳过了解析,优化和执行阶段。 2、查询缓存的命中条件 (1&a…

linux查看mysql状态重启

1.linux怎么看mysql数据库是不是宕机了? MySQL/MariaDB数据库的状态:使用systemctl status mysql或者service mysqld status命令。如果显示"active (running)"表示MySQL正常运行;如果显示"inactive (dead)"则表示MySQL已…

2024年电子数据取证“獬豸杯”比赛解析WP

2024年电子数据取证“獬豸杯”比赛解析WP 项目介绍:参赛对象:任务目标:第一部分:手机取证第二部分:计算机取证第二部分:APK分析 项目介绍: 简介: 竞赛为个人赛,工具自备&#xff0c…

Mysql篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、数据库存储引擎二、InnoDB(B+树)三、TokuDB( Fractal Tree-节点带数据)前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码…