卷积层

图像原理

卷积神经网络(Convolutional Neural Network, CNN)

   

图像在计算机中是一堆按顺序排列的数字,数值为 0 到 255。0 表示最暗,255 表示最亮。

图像识别

上图是只有黑白颜色的灰度图,而更普遍的图片表达方式是 RGB 颜色模型,即红、绿、蓝三原色的色光以不同的比例相加,以产生多种多样的色光。RGB 颜色模型中,单个矩阵就扩展成了有序排列的三个矩阵,也可以用三维张量去理解。其中的每一个矩阵又叫这个图片的一个 channel(通道),宽,高,深来描述。

画面不变性

知道一个物体不管在画面左侧还是右侧,都会被识别为同一物体,这一特点就是不变性,希望所建立的网络可以尽可能的满足这些不变性特点

传统神经网络

解决办法是:用大量物体位于不同位置的数据训练,同时增加网络的隐藏层个数从而扩大网络学习这些变体的能力。

卷积层

1、什么是卷积?

对图像(不同的窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

Convolution kernel就是权重w

卷积操作存在的问题?

    图中所显示的就是RGB,在蓝色的那一列从上到下顺序是 R G B 三个通道,Filer w0 w1 就是卷积核,

    WeiJing-Yu个人动态-WeiJing-Yu动态记录-哔哩哔哩视频

    这个是动画图

    a.步长stride:每次滑动的位置步长。

    b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。

    c. 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。

    • 数据窗口每次移动两个步长取 3*3 的局部数据,即 stride=2。
    • 两组神经元(卷积核),即 depth=2,意味着有两个滤波器。
    • zero-padding=1。

    网络构造

     

    动画演示

    卷积神经网络-网络构造对比图_哔哩哔哩_bilibili

    原理

     

    与人眼观看事物原理相似,先看事物的轮廓,可以看出花周围有很多的噪声点,这时候需要滤波器把噪声点都去掉就可以保留花的形状

    卷积神经网络的系统

    conv就是卷积的意思,RELU就是非线性激活,POOL是池化层,压缩。FC就是全连接

    例如输入数据为32*32*3的图像,用10个5*5*3的卷积核来进行操作,步长为1,边界0填充为2,最终输出结果为?

    (32-5+2*2)/1 +1 =32,输出规模为32*32*10的特征图

    池化层Pooling

    池化层的作用:一种降采样,减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合

    常见的池化层:最大池化、平均池化、全局平均池化、全局最大池化。 平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。 最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。是最为常见的。 通常来说,CNN的卷积层之间都会周期性地插入池化层。

    池化层操作方法:与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。 然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。

    最大池化的原理分析

    Max pooling的主要功能是压缩,却不会损坏识别结果。这意味着卷积后的Feature Map中有对于识别物体不必要的冗余信息。那么我们就反过来思考,这些“冗余”信息是如何产生的。

    全连接层

    当抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。 全连接层(也叫前馈层)就可以用来将最后的输出映射到线性可分的空间。 通常卷积网络的最后会将末端得到的长方体平摊(flatten)成一个长长的向量,并送入全连接层配合输出层进行分类预测

    感受野

    例如图片是3通道: 卷积核为7*7的,则卷积核所需要的参数个数为:7*7=49个 卷积核为3个3*3的,则卷积核所需要的参数个数为:(3*3*3) =27

    一张250*250的图片和一张500*500的图片,卷积层的权重参数数谁多?

    当卷积核大小为 3×3,输入通道数为 3(RGB 图像),输出通道数为 10 时,卷积层的权重参数数量为((3×3×3 + 1)×10=280)个,这个数量与输入图片的分辨率大小无关。

    卷积神经网络的多种模型

    以下是几个比较有名的卷积神经网络结构

    LeNet:第一个成功的卷积神经网络应用

    AlexNet:类似LeNet,但更深更大。使用了层叠的卷积层来抓取特征(通常是一个卷积层马上一个max pooling层)

    ZF Net:增加了中间卷积层的尺寸,让第一层的stride和filter size更小。

    GoogLeNet:减少parameters数量,最后一层用max pooling层代替了全连接层,更重要的是Inception-v4模块的使用。

    VGGNet:只使用3x3 卷积层和2x2 pooling层从头到尾堆叠。

    ResNet:引入了跨层连接和batch normalization。(这个目前是常用的)

    DenseNet:将跨层连接从头进行到尾。

    李飞飞,1976 年出生于中国北京,后移居美国。她是美国国家工程院院士、美国国家医学院院士、美国艺术与科学院院士,也是斯坦福大学计算机科学系的首位 “红杉资本教授”,以及斯坦福大学 “以人为本人工智能研究院” 的联席院长。

    李飞飞在人工智能领域成就卓越,2007 年,她与普林斯顿大学教授李凯发起 ImageNet。ImageNet 是一个大型图像数据集,旨在推动计算机视觉技术的发展。它收集了超过 1000 万个标注图像,涵盖超过 2000 个类别。ImageNet 成为新一代人工智能技术的三大基石之一,为深度学习和人工智能的发展做出了巨大贡献,没有 ImageNet,就没有生成式人工智能,其重要性如同人类的眼睛。2012 年,在李飞飞发起举办的 “ImageNet 大型视觉识别挑战赛” 第三届比赛上,杰弗里・辛顿团队提交的算法 AlexNet 图片识别准确率高达 85%,创造了计算机视觉领域的世界纪录,也让世人见识到 ImageNet 的力量。

    Beyond ILSVRC workshop 2017

    搭建卷积神经网络

    利用mnist数据集实现卷积神经网络的图像识别。

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

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

    相关文章

    【7】SQL 语句基础应用

    SQL 语句基础应用where (筛选)where 子句可使用到运算符查询表中所有的数据查询表中的数据,必须满足 11(相当于恒成立)查询表中的 分数(score) 大于 80 分的学生查询表中 名称(name) 是 赵六 的数据查询表中 名称(name) 不等于 哈哈 的数据.查…

    android 嵌套webview 全屏展示 页面延伸到状态栏且不被底部导航栏遮挡

    我的项目是使用webview嵌套了一个uniapp打包出的h5 本来展示很正常,某天突然发现uniapp的底部导航被手机底部的导航栏挡住了,离奇,某天突然出现的 有些手机会设置展示底部导航按钮,有些手机会关闭底部导航 以下代码对这两种情况通…

    【大前端】React Native 调用 Android、iOS 原生能力封装

    📖 React Native 调用 Android、iOS 原生能力封装 1. 原理 React Native 的 核心思想:JS 层(React 代码)不能直接调用 Android/iOS 的 API。RN 提供了 Native Module 机制: Android:Java/Kotlin → 继承 Re…

    HOOK安卓木马重大升级,勒索功能扩展至107项

    勒索覆盖屏成新特征网络安全研究人员发现名为HOOK的安卓银行木马新变种,该恶意软件新增勒索软件式覆盖屏功能用于显示勒索信息。Zimperium zLabs研究员Vishnu Pratapagiri表示:"最新变种的显著特征是能够部署全屏勒索覆盖界面,旨在胁迫受…

    GeoScene Maps 完整入门指南:从安装到实战

    什么是GeoScene MapsGeoScene Maps是一套功能强大的Web地图开发平台,它基于现代Web技术构建,为开发者提供了丰富的地图服务和开发工具。与其他地图API相比,GeoScene Maps具有以下特点:核心优势全面的地图服务:支持2D/3…

    本地大模型部署:Ollama 部署与 Python 接口调用全攻略

    本地大语言模型实践:Ollama 部署与 Python 接口调用全攻略 一、引言 过去我们使用大语言模型(LLM),更多依赖于 OpenAI API、Claude API 等云端服务。它们虽然强大,但存在两大问题: 隐私与数据安全&#xff…

    OpenFeign:让微服务间调用像本地方法一样简单

    引言:微服务通信的演进之路什么是OpenFeign?核心特性概览快速开始:搭建OpenFeign环境环境准备与依赖配置启用OpenFeign功能基础用法:从简单示例开始定义第一个Feign客户端在服务中调用Feign客户端进阶配置:深度定制Ope…

    openharmony之一多开发:产品形态配置讲解

    OpenHarmony 的“一多开发”指的是 一次开发,多端部署(简称“一多”),即使用 一套代码工程,一次开发上架,按需部署到不同终端设备上 🎯 核心概念速览 产品形态定义 写在前面:1.不同的…

    被迫在linux上用R(真的很难用啊)之如何在linux上正常使用R

    总有一些情况,让你不得不在linux上使用R。。。 在我不断试错,不断尝试过程中(恩,新手疯狂踩坑) 发现最简单的办法是: 1 mamba创建一个新环境,在新环境中使用R 2 转变思维,都在linux上…

    【STM32】G030单片机的独立看门狗

    目录 一、简单介绍 二、特性 三、窗口选项 四、cubeMX配置 不使用窗口功能 使用窗口功能 五、工程链接 一、简单介绍 独立看门狗,顾名思义,是不依靠系统而独立存在的看门狗 可以脱离应用运行,但缺陷在于时序精度比窗口看门狗低 主要…

    VR党建工作站-红色教育基地

    近几年在市场爆火的VR党建工作站提升了传统的党建方式,利用VR/AR技术,为广大党员提供沉浸式、多维度的党建学习。佩京利用VR技术搭建的教育场景,可以更加直观地了解党的发展历程,提高学习效果,激发奋斗精神。VR党建工作…

    配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务

    配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务 本文章首发于:连接 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务 - Ayaka 的小站 为确保更好阅读格式和阅读体验,更建议前往个人博客…

    2025年渗透测试面试题总结-36(题目+回答)

    安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 一、计算机网络基础 1. HTTP 状态码(502/503/501) 2. HTTP 请求方式及作用 3. 计…

    QT5.15.2 - 安装时如果下载不了停了,需要加速

    文章目录QT5.15.2 - 安装时如果下载不了停了,需要加速概述笔记安装的选项可用的国内镜像站点也有很多ENDQT5.15.2 - 安装时如果下载不了停了,需要加速 概述 在 https://download.qt.io/archive/online_installers 中找在线安装包。 用qt-online-instal…

    着色器语言

    以下是主流的几种着色器语言:1. HLSL (High-Level Shading Language)这是你在Unity中最主要、最应该学习的语言。开发方:微软 (Microsoft)主要应用平台:Unity、DirectX (Windows, Xbox)特点:语法与C语言非常相似,易于学…

    VILA运行全程踩坑笔记

    VILA运行全程踩坑笔记1. docker的尝试2. 本地部署服务端仓库地址:https://github.com/NVlabs/VILA 全文按照一路踩坑的时间顺序记录,不建议按照步骤一步一步来重复每一个踩坑的悲伤故事,不如先全部看完,再实际上手操作。 省流&am…

    Python爬虫: 分布式爬虫架构讲解及实现

    了解Python分布式爬虫框架及其实现,能让你在处理大规模数据采集时事半功倍。本文我会结合自己的知识,从核心原理、主流框架、关键技术到实践建议,为你提供一个详细的解读。 🧠 一、分布式爬虫核心原理 分布式爬虫的核心思想是将爬取任务分解,由多个爬虫节点(Worker)协…

    君正T31学习(四)- MT7682+VLC出图

    一、简介 前几篇文章介绍了如何通过SD卡来播放sensor录制的视频,但是效率很低,所以需要一种效率更高的方法,就是本篇的主角MT7682VLC。 Mt7682在系统中注册为一个以太网卡驱动,接口名为eth0,可以使用Linux通用的socket…

    【办公自动化】如何使用Python库高效自动化处理图像?

    在日常办公中,我们经常需要处理大量图像,如产品照片、营销素材、文档扫描件等。手动处理这些图像不仅耗时,还容易出错。通过Python自动化图像处理,我们可以高效地完成批量缩放、裁剪、加水印、格式转换等任务,大大提高…

    Beats与Elasticsearch高效数据采集指南

    Beats 是 Elastic Stack 中的数据采集器,用于从各种来源(日志、指标、网络数据等)轻量级收集数据,而 Elasticsearch 是搜索和分析引擎,负责存储、索引和快速检索数据。二者结合可搭建强大的数据分析管道(如…