机器学习8-卷积和卷积核1

机器学习8-卷积和卷积核1

  • 卷积与图像去噪
    • 卷积的定义与性质
      • 定义
      • 性质
      • 卷积的原理
      • 卷积步骤
      • 卷积的示例与应用
      • 卷积的优缺点
        • 优点
        • 缺点
      • 总结
  • 高斯卷积核
      • 卷积核尺寸的设置
        • 依据任务类型
        • 考虑数据特性
        • 实验与调优
      • 高斯函数标准差的设置
        • 依据平滑需求
        • 结合卷积核尺寸
        • 实际应用场景
      • 总结
  • 图像噪声与中值滤波器
    • 高斯噪声
      • 定义
      • 概率分布
      • 产生原因
      • 对图像和信号的影响
      • 去除方法
    • 中值滤波

在这里插入图片描述

卷积与图像去噪

在这里插入图片描述

卷积的定义与性质

定义

卷积是数学中的一种运算,广泛应用于信号处理、图像处理和机器学习等领域。在机器学习中,卷积通常指卷积神经网络(CNN)中的卷积操作。

卷积操作可以表示为:
[ ( f ∗ g ) ( t ) = ∫ − ∞ ∞ f ( τ ) g ( t − τ )   d τ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau (fg)(t)=f(τ)g(tτ)dτ]
在离散情况下,卷积操作可以表示为:
[ ( f ∗ g ) [ n ] = ∑ m = − ∞ ∞ f [ m ] g [ n − m ] (f * g)[n] = \sum_{m=-\infty}^{\infty} f[m] g[n - m] (fg)[n]=m=f[m]g[nm]]

在CNN中,卷积操作通常是在二维图像上进行的,卷积核(或滤波器)在输入图像上滑动,计算局部区域的加权和。

性质

  1. 线性性:卷积是线性操作,满足叠加原理。
  2. 平移不变性:卷积操作对输入信号的平移是不变的。
  3. 交换性:卷积操作满足交换律,即 ( f ∗ g = g ∗ f f * g = g * f fg=gf)。
  4. 结合性:卷积操作满足结合律,即 ( ( f ∗ g ) ∗ h = f ∗ ( g ∗ h ) (f * g) * h = f * (g * h) (fg)h=f(gh))。

卷积的原理

在CNN中,卷积操作通过卷积核(filter)在输入数据(如图像)上滑动,计算局部区域的加权和。卷积核的参数通过训练过程学习得到。

卷积步骤

  1. 输入数据:通常是二维图像或多通道图像。

  2. 卷积核:一个小的矩阵,包含可学习的参数。
    边界填充
    在这里插入图片描述
    不考虑边界图像会变小,如果不想变小只能填充像素。
    在这里插入图片描述

拉伸 -镜像
在这里插入图片描述
0填充
在这里插入图片描述

  1. 滑动窗口:卷积核在输入数据上滑动,计算每个位置的加权和。

  2. 输出特征图:卷积操作的结果是一个新的特征图,反映了输入数据中某些特征的响应。

卷积的示例与应用

在这里插入图片描述

在这里插入图片描述
平滑
在这里插入图片描述

锐化
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

卷积在机器学习和深度学习中有广泛的应用,特别是在图像处理和计算机视觉领域。

  1. 图像分类:CNN通过卷积层提取图像的特征,用于分类任务。
  2. 目标检测:卷积操作用于检测图像中的目标物体。
  3. 图像分割:卷积操作用于将图像分割成不同的区域。
  4. 自然语言处理:卷积操作也可以应用于文本数据,提取局部特征。

卷积的优缺点

优点
  1. 局部感知:卷积操作只关注局部区域,减少了参数数量,降低了计算复杂度。
  2. 参数共享:卷积核在输入数据上共享参数,进一步减少了参数数量。
  3. 平移不变性:卷积操作对输入数据的平移是不变的,适合处理图像等数据。
  4. 层次化特征提取:通过多层卷积操作,可以提取从低级到高级的特征。
缺点
  1. 计算复杂度:虽然卷积操作减少了参数数量,但在大规模数据上仍然需要大量计算资源。
  2. 局部性限制:卷积操作只关注局部区域,可能忽略全局信息。
  3. 超参数选择:卷积核的大小、步长、填充等超参数需要仔细选择,影响模型性能。

总结

卷积是机器学习和深度学习中一种重要的操作,特别适用于处理图像等具有局部结构的数据。通过卷积操作,可以有效地提取数据的特征,降低模型的复杂度,提高模型的性能。然而,卷积操作也存在一些局限性,需要在实际应用中仔细权衡。

高斯卷积核

在这里插入图片描述
存在振铃问题

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如何设置卷积核的尺寸和高斯函数的标准差?
方差的变化
在这里插入图片描述
方差越大,平滑效果明显

尺寸的变化

在这里插入图片描述

模板尺寸越大, 平滑效果越强

总结

  • 大方差或者大尺寸卷积核平滑能力强;
  • 小方差或者小尺寸卷积核平滑能力弱;
  • 经验法则:将卷积核的半窗宽度设置为3σ,最终卷积模板尺寸为2×3σ+1。
    例子:标准差设置成1,卷积模板宽度=231+1=7

在图像处理和深度学习领域,卷积核尺寸和高斯函数标准差的设置是比较关键的操作,以下分别介绍它们的设置方法:

卷积核尺寸的设置

依据任务类型
  • 边缘检测:通常会使用较小的卷积核,如 3x3 或 5x5。以 Sobel 算子为例,它使用 3x3 的卷积核来检测图像中的边缘信息。小尺寸的卷积核能够聚焦于局部像素的变化,从而更敏锐地捕捉边缘特征。
  • 特征提取:对于浅层网络,可能会使用较小的卷积核(如 3x3)来提取图像的基本特征,如纹理、颜色等;而在深层网络中,有时会使用较大的卷积核(如 7x7)来获取更全局的特征信息。例如,在 AlexNet 中,第一层卷积层使用了 11x11 的大卷积核来捕捉图像的宏观特征。
  • 图像分割:卷积核的尺寸选择会根据具体的分割任务和数据集特点而定。一般来说,较小的卷积核可以用于细化分割边界,而较大的卷积核可以用于融合不同区域的信息。
考虑数据特性
  • 图像分辨率:对于高分辨率的图像,可以适当使用较大的卷积核来减少计算量,同时避免丢失过多的细节信息;而对于低分辨率的图像,使用较小的卷积核可以更好地保留图像的细节。
  • 数据集大小:如果数据集较小,使用较小的卷积核可以减少模型的参数数量,降低过拟合的风险;如果数据集较大,可以尝试使用较大的卷积核来增加模型的表达能力。
实验与调优

通过多次实验,尝试不同的卷积核尺寸,并使用验证集评估模型的性能,选择性能最优的卷积核尺寸。可以采用网格搜索、随机搜索等方法来系统地探索不同的卷积核尺寸组合。

高斯函数标准差的设置

依据平滑需求
  • 轻微平滑:当只需要对图像进行轻微的平滑处理,去除一些高频噪声时,可以选择较小的标准差,如 0.5 - 1.0。较小的标准差会使高斯函数的分布更集中,卷积操作主要影响相邻的少数像素,对图像的整体结构影响较小。
  • 显著平滑:如果需要对图像进行更强烈的平滑处理,去除较大的噪声或模糊图像细节,可以选择较大的标准差,如 3.0 - 5.0 甚至更大。较大的标准差会使高斯函数的分布更广泛,卷积操作会影响更多的像素,从而达到更显著的平滑效果。
结合卷积核尺寸

高斯卷积核的尺寸和标准差通常是相互关联的。一般来说,卷积核的尺寸应该足够大,以覆盖高斯函数的主要部分。通常可以根据标准差来确定合适的卷积核尺寸,例如,当标准差为 σ 时,卷积核的尺寸可以选择为 (6σ + 1) x (6σ + 1) ,以确保高斯函数的大部分能量都被包含在卷积核内。

实际应用场景
  • 图像预处理:在图像预处理阶段,如去噪、图像增强等,标准差的选择要根据图像的噪声水平和具体的处理目标来确定。例如,对于包含椒盐噪声的图像,可以先使用较大的标准差进行平滑处理,然后再进行其他处理。
  • 特征提取:在提取图像特征时,标准差的选择会影响特征的提取效果。较小的标准差可以提取更精细的特征,而较大的标准差可以提取更宏观的特征。例如,在人脸检测中,可以使用不同标准差的高斯滤波器来提取不同尺度的人脸特征。

同样,也可以通过实验的方法,尝试不同的标准差取值,并根据实际应用的评估指标(如准确率、召回率等)来选择最优的标准差。

总结

去除图像中的“高频”成分(低通滤波器)
两个高斯卷积核卷积后得到的还是高斯卷积核

  • 使用多次小方差卷积核连续卷积,可以得到与大方差卷积核相同的结果
  • 使用标准差为σ的高斯核进行两次卷积与使用标准差σ√2 的高斯核进行一次卷积相同

可分离

  • 可分解为两个一维高斯的乘积
    在这里插入图片描述

1.用尺寸为/m×m的卷积核卷积一个尺寸为n×n的图像,其计算复杂度是多少?
在这里插入图片描述
小模板多次卷积比一个大模板一次卷积计算量低很多

图像噪声与中值滤波器

在这里插入图片描述

高斯噪声

在这里插入图片描述
高斯噪声是一种在信号处理、图像处理、通信等多个领域经常出现的噪声类型

定义

高斯噪声是指其概率密度函数服从高斯分布(也称为正态分布)的噪声。在实际应用中,许多自然噪声和测量噪声都近似服从高斯分布,因此高斯噪声是一种非常常见且重要的噪声模型。

概率分布

高斯分布的概率密度函数由均值(μ)和标准差(σ)两个参数完全确定,其数学表达式为:
[ f ( x ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x - \mu)^2}{2\sigma^2}} f(x)=σ2π 1e2σ2(xμ)2]
其中, x x x 是随机变量的值, μ \mu μ 是分布的均值,它决定了分布的中心位置; σ \sigma σ 是标准差,它决定了分布的宽度,即噪声的分散程度。当 μ = 0 \mu = 0 μ=0 时,称为零均值高斯噪声。

产生原因

  • 电子设备内部的热噪声:电子元件中的电子由于热运动产生的随机噪声,这种噪声在各种电子设备中普遍存在,如放大器、传感器等。
  • 通信信道中的噪声:在信号传输过程中,信道中的各种干扰因素会引入高斯噪声,例如无线通信中的大气噪声、多径衰落等。
  • 测量误差:在数据采集和测量过程中,由于测量设备的精度限制和环境干扰,可能会产生高斯噪声。

对图像和信号的影响

  • 对图像的影响:高斯噪声会使图像变得模糊、粗糙,降低图像的清晰度和质量。在图像中,噪声表现为随机分布的灰度值变化,使得图像的细节信息被掩盖,影响图像的视觉效果和后续的处理(如边缘检测、特征提取等)。
  • 对信号的影响:在信号处理中,高斯噪声会干扰信号的真实值,使信号的幅度和相位发生随机变化,导致信号失真。这会影响信号的检测、识别和分析,降低系统的性能和可靠性。

去除方法

在这里插入图片描述

噪声的方差越大,卷积和的方差也要越大。但是此时也会带来副作用,会影响图像本身的显示。

  • 线性滤波:如均值滤波和高斯滤波。均值滤波是将每个像素的邻域内像素值取平均值作为该像素的新值,它可以在一定程度上平滑噪声,但会使图像边缘模糊。高斯滤波则是根据高斯函数对邻域像素进行加权平均,它在平滑噪声的同时能较好地保留图像的边缘信息。
  • 非线性滤波:如中值滤波。中值滤波是将邻域内像素值的中值作为该像素的新值,它对脉冲噪声和椒盐噪声有较好的抑制效果,同时也能在一定程度上去除高斯噪声,并且对图像边缘的保护能力较强。
  • 基于变换域的方法:如小波变换。小波变换可以将图像或信号分解到不同的尺度和频率子带中,通过对不同子带的系数进行处理,去除噪声分量,然后再进行重构得到去噪后的图像或信号。
  • 深度学习方法:近年来,深度学习在图像去噪领域取得了显著的成果。通过训练深度神经网络(如卷积神经网络),可以学习到高斯噪声的特征和图像的先验信息,从而实现高效的图像去噪。

中值滤波

对于椒盐噪声和脉冲噪声使用高斯卷积核去噪是很难去掉的。
在这里插入图片描述
中值滤波的原理示意图。
在这里插入图片描述

控制滤波的效果在这里插入图片描述
认识了三种类型的噪声,椒盐噪声、脉冲噪声及高斯噪声对于前两者建议使用中值滤波器对于高斯噪声可以使用高斯卷积核来进行去噪。

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

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

相关文章

Dubbo 3.x源码(29)—Dubbo Consumer服务调用源码(1)服务调用入口

基于Dubbo 3.1,详细介绍了Dubbo Consumer服务调用源码。 此前我们学习了Dubbo服务的导出和引入的源码,现在我们来学习Dubbo服务调用的源码。 此前的文章中我们讲过了最上层代理的调用逻辑(服务引用bean的获取以及懒加载原理):业务引入的接口…

【信息系统项目管理师-案例真题】2016下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题1】4 分【问题2】12 分【问题3】3 分【问题4】6 分试题二【问题1】3 分【问题2】4 分【问题3】8 分【问题4】5 分【问题5】5 分试题三【问题1】4 分【问题2】8 分【问题3】5 分【问题4】8 分试题一…

pytest-xdist 进行多进程并发测试!

在软件开发过程中,测试是确保代码质量和可靠性的关键步骤。随着项目规模的扩大和复杂性的增加,测试用例的执行效率变得尤为重要。为了加速测试过程,特别是对于一些可以并行执行的测试用 例,pytest-xdist 提供了一种强大的工具&…

【R语言】数据分析

一、描述性统计量 借助R语言内置的airquality数据集进行简单地演示: 1、集中趋势:均值和中位数 head(airquality) # 求集中趋势 mean(airquality$Ozone, na.rmT) # 求均值 median(airquality$Ozone, na.rmT) # 求中位数 2、众数 众数(mod…

kafka服务端之日志存储

文章目录 日志布局日志索引日志清理日志删除基于时间基千日志大小基于日志起始偏移量 日志压缩总结 日志布局 Ka饮a 中的消息是以主题为基本单位进行归类的, 各个主题在逻辑 上相互独立。 每个主题又可以分为一个或多个分区, 分区的数量可以在主题创建的…

家用报警器的UML 设计及其在C++和VxWorks 上的实现01

M.W.Richardson 著,liuweiw 译 论文描述了如何运用 UML(统一建模语言)设计一个简单的家用报警器,并实现到 VxWorks 操作系统上。本文分两个部分,第一部分描述了如何用 UML 设计和验证家用报警器的模型,以使…

数据结构与算法-链表

单向链表(带哨兵) public class SinglyLinkedList {private Node head new Node(Integer.MIN_VALUE, null); // 定义一个哨兵节点作为头部节点,避免对头节点进行特殊处理// 节点类,包含值和指向下一个节点的引用private static …

剪辑学习整理

文章目录 1. 剪辑介绍 1. 剪辑介绍 剪辑可以干什么?剪辑分为哪些种类? https://www.bilibili.com/video/BV15r421p7aF/?spm_id_from333.337.search-card.all.click&vd_source5534adbd427e3b01c725714cd93961af 学完剪辑之后如何找工作or兼职&#…

自动驾驶数据集三剑客:nuScenes、nuImages 与 nuPlan 的技术矩阵与生态协同

目录 1、引言 2、主要内容 2.1、定位对比:感知与规划的全维覆盖 2.2、数据与技术特性对比 2.3、技术协同:构建全栈研发生态 2.4、应用场景与评估体系 2.5、总结与展望 3、参考文献 1、引言 随着自动驾驶技术向全栈化迈进,Motional 团…

快速提取Excel工作簿中所有工作表的名称?

大家好,我是小鱼。 在Excel表格中如何快速提取工作簿中所有工作表的名称?这个问题在日常工作中也经常遇到,比如说经常使用的INDIRECT函数跨工作表汇总或者制作类似于导航的工作表快捷跳转列表,就需要每个工作表的名称。如果工作表…

【数据结构】(7) 栈和队列

一、栈 Stack 1、什么是栈 栈是一种特殊的线性表,它只能在固定的一端(栈顶)进行出栈、压栈操作,具有后进先出的特点。 2、栈概念的例题 答案为 C,以C为例进行讲解: 第一个出栈的是3,那么 1、…

从运输到植保:DeepSeek大模型探索无人机智能作业技术详解

DeepSeek,作为一家专注于深度学习与人工智能技术研究的企业,近年来在AI领域取得了显著成果,尤其在无人机智能作业技术方面展现了其大模型的强大能力。以下是从运输到植保领域,DeepSeek大模型探索无人机智能作业技术的详解&#xf…

qt部分核心机制

作业 1> 手动将登录项目实现,不要使用拖拽编程 并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一个跳转信号,如果登录失败&#…

【Spring】什么是Spring?

什么是Spring? Spring是一个开源的轻量级框架,是为了简化企业级开发而设计的。我们通常讲的Spring一般指的是Spring Framework。Spring的核心是控制反转(IoC-Inversion of Control)和面向切面编程(AOP-Aspect-Oriented Programming)。这些功能使得开发者…

【专题】2024-2025人工智能代理深度剖析:GenAI 前沿、LangChain 现状及演进影响与发展趋势报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p39630 在科技飞速发展的当下,人工智能代理正经历着深刻的变革,其能力演变已然成为重塑各行业格局的关键力量。从早期简单的规则执行,到如今复杂的自主决策与多智能体协作,人工智能代理…

oCam:免费且强大的录屏软件

今天给大家推荐一个非常好的录屏软件。几乎可以满足你日常工作的需求。而且软件完全免费,没有任何的广告。 oCam:免费且强大的录屏软件 oCam是一款功能强大的免费录屏软件,支持屏幕录制、游戏录制和音频录制等多种模式,能够满足不…

spring学习(spring 配置文件详解)

一 了解如何创建基本的spring 配置文件 步骤 1 导入 spring-context 依赖 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context&l…

C++Primer学习(2.2)

2.2 变量 变量提供一个具名的、可供程序操作的存储空间。C中的每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小和布局方式、该空间能存储的值的范围&#xff0c;以及变量能参与的运算。对C程序员来说,“变量(variable)”和“对象(object)”一般可以互换使用。 术…

无须付费,安装即是完全版!

不知道大家有没有遇到过不小心删掉了电脑上超重要的文件&#xff0c;然后急得像热锅上的蚂蚁&#xff1f; 别担心&#xff0c;今天给大家带来一款超给力的数据恢复软件&#xff0c;简直就是拯救文件的“救星”&#xff01; 数据恢复 专业的恢复数据软件 这款软件的界面设计得特…

【Ubuntu】本地部署Deep Seek(深度求索)大模型的保姆级教程 | 详细教程

杭州深度求索人工智能基础技术研究有限公司(简称“深度求索”或“DeepSeek”)&#xff0c;成立于2023年&#xff0c;DeepSeek是一家专注通用人工智能&#xff08;AGI&#xff09;的中国科技公司&#xff0c;主攻大模型研发与应用&#xff0c;经营范围包括技术服务、技术开发、软…