当前位置: 首页 > news >正文

(上)基于机器学习的图像识别——遥感图像分类(LeNet-5;AlexNet;VGGNet;GoogLeNet;ResNet)

遥感图像识别:

专业词汇:

kernel:卷积

目录

遥感图像分类 1.1 LeNet-5

视频来源:

任务:使用什么网络实现遥感图像的分类

LeNet-5结构:

遥感图像分类 1.2 AlexNet(冠军)

视频来源:

1主要i内容:

AlexNet结构:

遥感图像分类 1.3 VGGNet(亚军)

视频来源:

主要内容:

VGGNet结构:

遥感图像分类 1.4 GoogLeNet

视频来源:

GoogLeNet结构:

 遥感图像分类 1.5 ResNet

视频来源:

ResNet结构:


遥感图像分类 1.1 LeNet-5

视频来源:

遥感图像分类 1.1 LeNet-5_哔哩哔哩_bilibili

任务:使用什么网络实现遥感图像的分类

  •  基于MNIST的遥感数据集
  • LeNet-5搭建,训练,保存
  • LeNet-5调用和预测

LeNet-5结构:

基于MNIST的遥感数据集:

数据集放在了评论区,用来进行验证

从CSV文件中载入数据(数据采集):

  1. 读取CSV 文件
  2. 转换成数组
  3. 读取图片
  4. 读取标签
  5. 维度改变         4:05

总结:

  1. 数据采集  :
    按照列读取CSV 文件  标签信息  图片信息  维度处理  (和之前一样)
  2. 建立模型:
    和上节课一样
  3. 模型训练:
    增加轮数以达到更好的训练效果(max=80%)
  4. 模型测试:
    通过画图的方式,可视化正确率,遇到瓶颈
    对预测的位置信息转换成对应名称(通过数据方式实现)

遥感图像分类 1.2 AlexNet(冠军)

视频来源:

遥感图像分类 1.2 AlexNet_哔哩哔哩_bilibili

1主要i内容:

  1. 遥感图像的载入
  2. AlexNet结构与创新
  3. AlexNet搭建,训练,预测

AlexNet结构:

去网上找遥感图片

载入数据:

  1. 按照路径读取(相对路径)
  2. 预处理
    归一化——水平翻转4:04——批大小——随机——尺寸——独热编码
  3. 基础知识:
    步长 Stride & 加边 Padding &参数 Param
    卷积后尺寸=(输入图像大小-卷积核大小+加边像素数)/步长 +1
    Tensorflow默认:Padding='valid'(丢弃),strides=1
    设置:Padding=same':保证输出和输出尺寸不变,自动设置填充
    参数:
    卷积层:(卷积参数(卷积核各部分)+偏置参数)*卷积核的个数
    池化层:不需要训练参数
    全连接层:神经元连接权重+偏置参数

模型搭建:ReLU&Dropout

模型训练:learning_rate&batch_size


遥感图像分类 1.3 VGGNet(亚军)

视频来源:

遥感图像分类 1.3 VGGNet_哔哩哔哩_bilibili

主要内容:

  1. VGGNet 结构与创新
  2. VGGNet训练与预测
  3. 迁移学习训练VGGNet

VGGNet结构:

数据载入方式和上节课一样

感受视野 Receptive Field
定义:输出层一个元素对应输入层区域的大小。
计算:感受视野=(上一层感受视野-1)*步长 +卷积核尺寸
VGGNet提出:

堆叠两个3*3卷积核替代一个5*5卷积核
堆叠三个3*3卷积核替代一个7*7卷积核。
相同感受视野,训练参数量减少。

迁移学习:


遥感图像分类 1.4 GoogLeNet

视频来源:

遥感图像分类 1.4 GoogLeNet_哔哩哔哩_bilibili

  1.  GoogLeNet结构
  2. GoogLeNet创新
  3. GoogLeNet训练与预测

GoogLeNet结构:

Inception模块:

输入为28*28*192(*不考虑偏置项)
直接32个5X5                                                  卷积参数:5*5*192*32=105600
先使用16个1X1卷积降维,再使用32个5X5   卷积参数:1*1*192*16+5*5*16*32=15872

Padding问题:
TensorFlow中 padding= 'same'
输出图像的长和宽=输入图像/步长(结果向上取整)
*如果步长为1,卷积、池化操作不改变图像的长宽。

参考NIN网络:

使用全局平均化代替全连接层,避免全连接层带来的大量训练参数


遥感图像分类 1.5 ResNet

视频来源:

遥感图像分类 1.5 ResNet_哔哩哔哩_bilibili

ResNet结构:

  Batch Normalization 批量归一化:
每一层输入的时候,先做一个归一化处理,然后在进入网络的下一层
避免梯度消失和爆炸,训练更稳定

退化现象(不同于过拟合):
网络层数越多,训练集loss逐渐下降,之后趋于饱和,继续增加网络深度的话,训练集loss反而更大  

捷径分支:

模型搭建:

残差模块: 

最后附上本人粗浅的见解,感觉以上这五个网络结构可以看成处理(机器学习图像)/(遥感图像分类的五种(数学方法)/(函数方法

相关文章:

(上)基于机器学习的图像识别——遥感图像分类(LeNet-5;AlexNet;VGGNet;GoogLeNet;ResNet)

遥感图像识别: 专业词汇: kernel:卷积 目录 遥感图像分类 1.1 LeNet-5 视频来源: 任务:使用什么网络实现遥感图像的分类 LeNet-5结构: 遥感图像分类 1.2 AlexNet(冠军) 视频…...

数据集笔记:NUSMods API

1 介绍 NUSMods API 包含用于渲染 NUSMods 的数据。这些数据包括新加坡国立大学(NUS)提供的课程以及课程表的信息,还包括上课地点的详细信息。 可以使用并实验这些数据,它们是从教务处提供的官方 API 中提取的。 该 API 由静态的…...

HTML元素,标签到底指的哪块部分?单双标签何时使用?

1. 标签&#xff08;Tag&#xff09; vs 元素&#xff08;Element&#xff09; 标签&#xff08;Tag&#xff09; 标签是 HTML 中用于定义元素的符号&#xff0c;用尖括号 < > 包裹。例如 <img> 是标签。元素&#xff08;Element&#xff09; 元素是由 标签 内容…...

基于ai技术的视频生成工具

一、通用型AI视频生成工具 腾讯智影 特点&#xff1a;支持数字人播报、文字转视频&#xff0c;提供免费模板和素材库&#xff0c;登录即送5分钟免费时长&#xff0c;每日签到可兑换额外额度。 限制&#xff1a;免费版分辨率较低&#xff0c;部分高级功能需付费。 LunaAI.vid…...

【Java 后端】Restful API 接口

Restful API 接口 REST&#xff1a;Representational State Transfer&#xff0c;表现层&#xff08;前端的视图页面和后端的控制层&#xff09;资源状态转移。 一种软件架构的风格&#xff08;格式&#xff09; RESTful 是目前最流行的互联网软件架构&#xff0c;如果一个架…...

Matlab地图绘制教程第2期—水陆填充图

上一期分享了海岸线图的绘制方法&#xff1a; 本着由浅入深的理念&#xff0c;本期再来分享一下水陆填充图的绘制方法。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;Matlab地图绘制教程系列&#xff0c;旨在降低大家使用Matlab进行地图类科研绘图的门槛&#xff0c;…...

企业知识库搭建:14款开源与免费系统选择

本文介绍了以下14 款知识库管理系统&#xff1a;1.Worktile&#xff1b;2.PingCode&#xff1b;3.石墨文档&#xff1b; 4. 语雀&#xff1b; 5. 有道云笔记&#xff1b; 6. Bitrix24&#xff1b; 7. Logseq等。 在如今的数字化时代&#xff0c;企业和团队面临着越来越多的信息…...

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…...

Android内存优化指南:从数据结构到5R法则的全面策略

目录 一、APP 内存限制 二、内存的三大问题 2.1、内存抖动(Memory Churn) 2.1.1 频繁创建短生命周期对象 2.1.2 系统API或第三方库的不合理使用 2.1.3 Handler使用不当 2.2、内存泄漏(Memory Leak) 2.2.1 静态变量持有Activity或Context引用 2.2.2 未取消的回调或…...

机器学习:线性回归,梯度下降,多元线性回归

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归&#xff08;Multiple Linear Regression&#xff09;...

Linux上用C++和GCC开发程序实现两个不同MySQL实例下单个Schema稳定高效的数据迁移到其它MySQL实例

设计一个在Linux上运行的GCC C程序&#xff0c;同时连接三个不同的MySQL实例&#xff0c;其中两个实例中分别有两个Schema的表结构分别与第三实例中两个Schema个结构完全相同&#xff0c;同时复制两个实例中两个Schema里的所有表的数据到第三个实例中两个Schema里&#xff0c;使…...

RabbitMQ系列(一)架构解析

RabbitMQ 架构解析 RabbitMQ 是一个基于 AMQP 协议的开源消息中间件&#xff0c;其核心架构通过多组件协作实现高效、可靠的消息传递。以下是其核心组件与协作流程的详细说明&#xff1a; 一、核心组件与功能 Broker&#xff08;消息代理服务器&#xff09; RabbitMQ 服务端核…...

XSL 语言:XML 样式表的语言基础与应用

XSL 语言:XML 样式表的语言基础与应用 引言 XSL(Extensible Stylesheet Language)是一种专门用于XML文档样式的语言,它允许用户定义XML文档的格式、布局和外观。XSL是XML技术家族中的重要组成部分,与XML和XPATH等语言共同构成了处理和格式化XML文档的强大工具集。本文将…...

【计算机网络】常见tcp/udp对应的应用层协议,端口

TCP 和 UDP 对应的常见应用层协议 &#x1f4cc; 基于 TCP 的应用层协议 协议全称用途默认端口HTTPHyperText Transfer Protocol超文本传输协议80HTTPSHTTP Secure加密的超文本传输协议443FTPFile Transfer Protocol文件传输协议&#xff08;20 传输数据&#xff0c;21 控制连…...

ExpMoveFreeHandles函数分析和备用空闲表的关系

第一部分&#xff1a;ExpMoveFreeHandles和备用空闲表的关系 ULONG ExpMoveFreeHandles ( IN PHANDLE_TABLE HandleTable ) { ULONG OldValue, NewValue; ULONG Index, OldIndex, NewIndex, FreeSize; PHANDLE_TABLE_ENTRY Entry, FirstEntry; EXHAND…...

微服务学习(1):RabbitMQ的安装与简单应用

目录 RabbitMQ是什么 为什么要使用RabbitMQ RabbitMQ的安装 RabbitMQ架构及其对应概念 队列的主要作用 交换机的主要作用 RabbitMQ的应用 通过控制面板操作&#xff08;实现收发消息&#xff09; RabbitMQ是什么 RabbitMQ是一个开源的消息队列软件&#xff08;消息代理…...

基于javaweb的SSM+Maven幼儿园管理系统设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

企业级本地知识库部署指南(Windows优化版)

一、环境准备 1. 系统优化 # 启用WSL2&#xff08;需Windows 10 2004或Windows 11&#xff09; dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform …...

5. Nginx 负载均衡配置案例(附有详细截图说明++)

5. Nginx 负载均衡配置案例(附有详细截图说明) 文章目录 5. Nginx 负载均衡配置案例(附有详细截图说明)1. Nginx 负载均衡 配置实例3. 注意事项和避免的坑4. 文档: Nginx 的 upstream 配置技巧5. 最后&#xff1a; 1. Nginx 负载均衡 配置实例 需求说明/图解 windows 浏览器输…...

Redis---缓存穿透,雪崩,击穿

文章目录 缓存穿透什么是缓存穿透&#xff1f;缓存穿透情况的处理流程是怎样的&#xff1f;缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩&#xff1f;缓存雪崩的解决办法 缓存击穿什么是缓存击穿&#xff1f;缓存击穿的解决办法 区别对比 在如今的开发中&…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...