计算机视觉与深度学习-卷积神经网络-纹理表示卷积神经网络-卷积神经网络-[北邮鲁鹏]

这里写目录标题

  • 参考文章
  • 全连接神经网络
    • 全连接神经网络的瓶颈
    • 全连接神经网络应用场景
  • 卷积神经网络
    • 卷积层(CONV)
      • 卷积核
      • 卷积操作
      • 卷积层设计
      • 卷积步长(stride)
      • 边界填充
      • 特征响应图组尺寸计算
    • 激活层
    • 池化层(POOL)
      • 池化操作定义
      • 池化操作作用
      • 池化层超参数
      • 常见池化操作
    • 全连接层(FC)
    • 样本增强
      • 翻转
      • 随机缩放& 抠图
      • 色彩抖动

参考文章

计算机视觉与深度学习-05-纹理表示&卷积神经网络-北邮鲁鹏老师课程笔记

全连接神经网络

在这里插入图片描述

全连接神经网络的瓶颈

参数过多易过拟合&显存压力大

如果图像大小为200 * 200 * 3,隐层每个神经元权值个数是多少?

对于输入层,则输入层神经元个数 d 为 120000,对于全连接神经网络,后一层的每个神经元都会与前一层的所有神经元相连,所以隐层每个神经元就有120000个权值,同时再加上自身的一个偏置值。

参数过多易过拟合&显存压力大

参数越多,计算量越大。

前向传播数据需要存入显存,参数越大,显存压力越大。

全连接神经网络应用场景

全连接神经网络仅适合参数少的情况,

  • 例如:处理小图像。
  • 或者前置输出已经表示为向量的场景,例如:接在卷积神经网络之后对cnn得到的特征(该处的特征可以类比纹理表示中的48维向量)进行处理。

卷积神经网络

可以将卷积神经网络类比为纹理表示例子中的卷积核组,最后得到表示特征响应图组的48维向量,之后接全连接神经网络进行分类(全连接神经网络适合处理小输入)。
在这里插入图片描述

卷积层(CONV)

卷积核

在这里插入图片描述

卷积操作

卷积结果还是一个实数
在这里插入图片描述
对图像所有位置进行卷积

在这里插入图片描述
特征响应图中每个位置上的值反映了图像上对应位置是否存在卷积核所记录的基元结构信息。

使用多个卷积核 得到多个特征响应图
在这里插入图片描述

卷积层设计

卷积核深度 = 前一层图像的深度(前层决定,不是自定义)
卷积核个数 = 自己自定义
特征图个数 = 卷积核个数
在这里插入图片描述
注意:卷积层输入不局限于图像,可以是任意三维数据;该层的卷积核深度要求与输入的三维矩阵的深度一致。

卷积步长(stride)

卷积神经网络中,卷积核可以按照指定的间隔进行卷积操作,这个间隔就是卷积步长

步长为1,卷积核每次移动1个位置
在这里插入图片描述

步长为2,卷积核每次移动2个位置

在这里插入图片描述
卷积步长对卷积结果的影响

输入数据矩阵尺寸:W1 x H1

输出数据矩阵尺寸:W2 x H2

W2与W1关系:

  • W 2 = W 1 − F S + 1 W2 = \tfrac{W1-F}{S} + 1 W2=SW1F+1
  • H 2 = H 1 − F S + 1 H2 = \tfrac{H1-F}{S} + 1 H2=SH1F+1

F 卷积核尺寸
S 卷积核步长

边界填充

卷积神经网络中最常用的填充方式是零值填充

没有填充
在这里插入图片描述
填充后
在这里插入图片描述
作用:保持输入、输出尺寸的一致!

填充对卷积结果的影响

输入数据矩阵尺寸:W1 x H1

输出数据矩阵尺寸:W2 x H2

W2与W1关系:

  • W 2 = W 2 − F + 2 P S + 1 W2 = \tfrac{W2-F+2P}{S} + 1 W2=SW2F+2P+1
  • H 2 = H 1 − F + 2 P S + 1 H2 = \tfrac{H1-F+2P}{S} + 1 H2=SH1F+2P+1

F 卷积核尺寸
S 卷积核步长
P 零填充数量

特征响应图组尺寸计算

在这里插入图片描述
卷积核尺寸,卷积步长,填充数量,以及卷积核数量最好经过周密的设计,到自己输出层时正好是自己需要的尺寸,最好不要中间出现除不尽的情况,如果出现除不尽的情况,就忽略几个像素。

激活层

池化层(POOL)

池化操作定义

对特征响应图某个区域进行池化就是在该区域上指定一个值来代表整个区域。

  • 池化操作对每个特征响应图独立进行。
  • 池化操作不改变特征图响应图个数。
    在这里插入图片描述

池化操作作用

每一个特征响应图独立进行,降低特征响应图组中每个特征响应图的宽度和高度,减少后续卷积层的参数的数量,降低计算资源耗费,进而控制过拟合。

卷积运算复杂度 O ( k m 2 n 2 ) O(km^{2}n^{2} ) O(km2n2),其中k为卷积核个数,m为卷积核边长,n为图像边长。

减少后续卷积层计算量

神经网络中为了反向计算梯度,需要在显存中保存前向计算结果。

如果卷积之后特征响应图和原图像的长宽相同,卷积核多的情况下,特征响应图组的层数增多,需要保存的数据就变多。可能超出显存存储能力范围。

池化操作可以减少特征响应图的长宽,达到减少计算量的效果。

缩小特征响应图像 & 增大感受野

卷积核的尺寸相对变大,粗粒度提取,使得卷积核在图像上的视野更广,即感受野更大,可以提取更多信息。

池化层超参数

池化窗口(pooling window)

池化窗口是指在进行池化操作时,对输入数据进行采样的窗口大小。通常,池化窗口是正方形的,其尺寸可以通过指定边长来定义。

例如,一个池化窗口大小为2x2的池化层将在输入数据中以2x2的窗口进行采样。

池化步长(pooling stride)

池化步长是指池化窗口在输入数据上滑动的步幅。它决定了池化操作的重叠程度和输出尺寸。

  • 如果池化步长为1,表示池化窗口每次滑动1个单位;
  • 如果池化步长大于1,表示窗口每次滑动的距离更大,因此输出的尺寸会相应减小。

常见池化操作

最大池化

使用区域内的最大值来代表这个区域。

在这里插入图片描述
此次最大池化操作后,特征响应图中的75%的响应信息都丢掉,但不改变特征响应图的个数。

类似于非最大化抑制操作,保留原图中对卷积核响应比较高的地方,其他地方舍弃。

平均池化

采用区域内所有值的均值作为代表。

在这里插入图片描述

全连接层(FC)

全连接层(Fully Connected Layer),也被称为密集连接层或全连接层,是神经网络中常见的一种层类型。全连接层的每个神经元都与前一层的所有神经元相连接。

在全连接层中,每个神经元接收来自前一层的所有输入,并通过使用权重和偏置进行线性变换,然后将变换后的结果输入到激活函数中进行非线性变换。这样,全连接层能够学习到输入数据中的复杂特征和关系。
在这里插入图片描述
全连接层通常用于神经网络的末尾,将前面的特征提取层与最终的输出层连接起来。
在这里插入图片描述

在图像分类任务中,经常在卷积层之后使用全连接层,将卷积层提取到的特征映射转换为一个或多个类别的概率输出。

样本增强

样本增强(Data Augmentation)是一种在机器学习和计算机视觉领域中常用的技术,旨在增加训练数据的多样性和数量,以改善模型的泛化能力和鲁棒性。通过对原始数据应用一系列的变换和扩展操作,可以生成与原始数据不同但具有相似特征的新样本。

样本增强的目的是通过引入数据的多样性来增强模型的鲁棒性,使其在不同的环境、角度、光照条件等下都能产生良好的预测结果。

在这里插入图片描述

翻转

翻转(Flipping)是样本增强中常用的一种技术,通过对图像进行水平或垂直方向的翻转操作来增加数据的多样性。
通过翻转操作,可以增加数据集的样本数量,并且不会改变图像的语义信息。这有助于减轻过拟合的问题,提高模型的泛化能力。

  • 水平翻转:水平翻转是指将图像沿着垂直中轴线进行翻转,即左右调换。这种操作可以模拟镜像效果,从而增加数据的多样性。例如,对于人脸识别任务,可以通过水平翻转来扩充训练数据,使模型能够更好地适应不同的人脸朝向。

  • 垂直翻转:垂直翻转是指将图像沿着水平中轴线进行翻转,即上下调换。这种操作也可以增加数据的多样性。例如,在某些图像分类任务中,垂直翻转可以模拟倒置的物体,使模型更具鲁棒性。
    在这里插入图片描述

需要注意的是,对于一些特定任务,如文本识别或者物体检测,翻转操作可能不适用,因为翻转后的图像可能会改变文本的方向或物体的位置。在应用翻转操作时,需要根据具体任务的需求进行判断和调整。

随机缩放& 抠图

  • 随机缩放:随机缩放是指对图像进行随机放大或缩小的操作。通过随机选择缩放比例或目标尺寸,可以改变图像的大小。这种操作可以模拟不同距离、不同视角下的图像变化,增加数据的多样性。在应用随机缩放时,可以保持图像的宽高比,或者在特定情况下进行非等比例缩放。

  • 抠图:抠图是指从原始图像中随机裁剪出一个子区域作为新的图像。通过随机选择裁剪位置和尺寸,可以改变图像的视野和内容。抠图操作可以模拟不同的视角、不同的目标尺寸和位置,增加数据的多样性。在应用抠图时,通常需要保证裁剪后的图像仍具有足够的信息来表示图像中的目标。
    在这里插入图片描述

这两种操作可以结合使用,例如先随机缩放图像,然后在缩放后的图像上进行随机抠图。这样可以进一步增加数据的多样性,提高模型的鲁棒性和泛化能力。

需要注意的是,在进行随机缩放和抠图时,应该保持数据的一致性和合理性。例如,在目标检测任务中,图像的缩放和抠图操作应该与目标的尺寸和位置相对应,以避免引入错误的标注信息。此外,也应该避免过度缩放或抠图导致关键信息丢失的情况发生。

色彩抖动

色彩抖动(Color Jittering)是样本增强中常用的一种技术,用于改变图像的颜色分布,增加数据多样性。通过对图像的颜色通道进行随机的扰动,可以引入一定程度的颜色变化,从而增强模型的鲁棒性。

在这里插入图片描述
在色彩抖动中,常用的颜色通道操作包括亮度调整、对比度调整、饱和度调整和色相调整。这些操作可以单独应用,也可以组合使用。具体的操作方式如下:

  • 亮度调整(Brightness Adjustment):通过增加或减小图像的亮度值,改变图像的明暗程度。

  • 对比度调整(Contrast Adjustment):通过增加或减小图像的对比度,改变图像中不同区域的亮度差异。

  • 饱和度调整(Saturation Adjustment):通过增加或减小图像的饱和度,改变图像的色彩鲜艳程度。

  • 色相调整(Hue Adjustment):通过旋转图像的色相角度,改变图像中的颜色。

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

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

相关文章

算法通关村 | 透彻理解动态规划

1. 斐波那契数列 1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13&#xff0c;..... f(n) f(n-1) f(n-2) 代码实现 public static int count_2 0;public int fibonacci(int n){if (n < 2){count_2;return n;}int f1 1;int f2 2;i…

【鸽鸽送书第一期】 | 实现可观测性平台的技术要点是什么?文末参与送书哦!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《粉丝福利》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言实现可观测性平台的技术要点是什么&#xff1f;1.兼容全域信号量2.所谓全域信号量有哪些&#x…

基于AI视觉的表面缺陷检测设备优势显著,加速制造业数智化转型

作为生产制造过程中不可缺少的一步&#xff0c;表面缺陷检测广泛应用于工业领域&#xff0c;包括3C电子、芯片半导体、食品医药、木材等行业。但随着智能化进程加快&#xff0c;制造工厂生产线的质量检测压力加剧&#xff0c;传统人工表面缺陷检测已经无法满足当前社会较高的检…

YOLOv8『小目标』检测指南

前言 目前博主课题组在进行物体部件的异常检测项目&#xff0c;项目中需要先使用 YOLOv8 进行目标检测&#xff0c;然后进行图像切割&#xff0c;最后采用 WinCLIP 模型 进行部件异常检测 但是在实际操作过程中出现问题&#xff0c; YOLOv8 模型目标检测在大目标精确度不错&a…

Mybatis深度解析:从起源到现代应用的全景视角

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Centos7部署单机版MongoDB

目录 Centos7部署单机版MongoDBMongoDB介绍数据模型索引分布式高可用性查询语言驱动和社区用途缺点 下载并解压安装包创建相关文件夹和文件编辑mongod.conf文件启动mongodb创建管理员用户终止MongoDB服务配置自启动服务关闭SELinux编辑自启动服务文件mongodb服务命令 Centos7部…

spark6. 如何设置spark 日志

spark yarn日志全解 一.前言二.开启日志聚合是什么样的2.1 开启日志聚合MapReduce history server2.2 如何开启Spark history server 三.不开启日志聚合是什么样的四.正确使用log4j.properties 一.前言 本文只讲解再yarn 模式下的日志配置。 二.开启日志聚合是什么样的 在ya…

QT-day1

实现华清远见登陆界面 #include "mywnd.h" #include <iostream> #include <QDebug> #include <QPushButton> #include <QLineEdit> #include <QLabel>MyWnd::MyWnd(QWidget *parent): QWidget(parent) {//设置固定窗口大小长400&…

【计算机毕业设计】基于SpringBoot+Vue的小区物业管理系统的设计与实现

博主主页&#xff1a;一季春秋博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容&#xff1a;毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

1262. 可被三整除的最大和

1262. 可被三整除的最大和 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;方法一&#xff1a;贪心 正向思维方法二&#xff1a;贪心 逆向思维 参考代码&#xff1a;方法一&#xff1a;贪心 正向思维方法二&#xff1a;贪心 逆向思维 原题链接&#xff1a;…

机器人制作开源方案 | 随叫随到的智能垃圾桶

作者&#xff1a;卢智浩 尹宗岱 胡文珺 付文智 陈星 单位&#xff1a;江汉大学 指导老师&#xff1a;侍中楼 李巍 本作品围绕探索者场景和应用主题&#xff0c;基于当今时代“智能家”的快速发展&#xff0c;智慧生活成为未来的一大发展趋势&#xff0c;因此我们设计了此款可…

【刷题】蓝桥杯

蓝桥杯2023年第十四届省赛真题-平方差 - C语言网 (dotcpp.com) 初步想法&#xff0c;x y2 − z2&#xff08;yz)(y-z) 即xa*b&#xff0c;ayz&#xff0c;by-z 2yab 即ab是2的倍数就好了。 即x存在两个因数之和为偶数就能满足条件。 但时间是&#xff08;r-l&#xff09;*x&am…

【深度学习实验】线性模型(二):使用NumPy实现线性模型:梯度下降法

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入库 1. 初始化参数 2. 线性模型 linear_model 3. 损失函数loss_function 4. 梯度计算函数compute_gradients 5. 梯度下降函数gradient_descent 6. 调用函数 一、实验介绍 使用Nu…

只需4步使用Redis缓存优化Node.js应用

介绍 通过API获取数据时&#xff0c;会向服务器发出网络请求&#xff0c;收到响应数据。但是&#xff0c;此过程可能非常耗时&#xff0c;并且可能会导致程序响应时间变慢。 我们使用缓存来解决这个问题&#xff0c;客户端程序首先向API发送请求&#xff0c;将返回的数据存储…

文档丢失怎么找回?学会这3个方法就足够!

场景1&#xff1a;“不是吧&#xff01;我辛辛苦苦写的文档好像忘记保存就退出了&#xff01;谁能救救我&#xff01;帮我找回丢失的文档&#xff1f;” 场景2&#xff1a;“电脑里的文档太多了&#xff0c;每次在清理时都容易误删。有什么方法可以找回我丢失的文档吗&#xff…

成集云 | 用友T+集成聚水潭ERP(用友T+主管库存)| 解决方案

源系统成集云目标系统 方案介绍 用友T是一款由用友畅捷通推出的新型互联网企业管理系统&#xff0c;它主要满足成长型小微企业对其灵活业务流程的管控需求&#xff0c;并重点解决往来业务管理、订单跟踪、资金、库存等管理难题。 聚水潭是一款以SaaS ERP为核心&#xff0c;集…

嵌入式笔试面试刷题(day15)

文章目录 前言一、Linux中的主设备号和次设备号1.查看方法2.主设备号和次设备号的作用 二、软件IIC和硬件IIC的区别三、变量的声明和定义区别四、static在C和C中的区别五、串口总线空闲时候的电平状态总结 前言 本篇文章继续讲解嵌入式笔试面试刷题&#xff0c;希望大家坚持跟…

pgzrun 拼图游戏制作过程详解(10)

10. 拼图游戏继续升级——多关卡拼图 初始化列表Photos用来储存拼图文件名&#xff0c;Photo_ID用来统计当下是第几张拼图&#xff0c;Squares储存当下拼图的24张小拼图的文件名&#xff0c;Gird储存当下窗口上显示的24个小拼图及坐标。 Photos["girl_","boy_…

基于Java+SpringBoot+Vue+Element的OA系统的设计和实现

基于JavaSpringBootVueElement的OA系统的设计和实现 源码传送入口前言主要技术系统设计功能截图数据库设计代码论文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的…

AI写作工具,智能ai写作工具

在信息化时代&#xff0c;内容创作已经成为了许多行业的核心。从营销广告到新闻报道&#xff0c;从博客文章到学术论文&#xff0c;人们需要不断地产生高质量的文字内容。创作是一项耗时耗力的工作&#xff0c;需要丰富的知识和创造性思维。 AI写作工具&#xff0c;是一类基于人…