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

Python遥感影像深度学习指南(1)-使用卷积神经网络(CNN、U-Net)和 FastAI进行简单云层检测

        【遥感影像深度学习】系列的第一章,Python遥感影像深度学习的入门课程,介绍如何使用卷积神经网络(CNN)从卫星图像中分割云层

1、数据集

        在本项目中,我们将使用 Kaggle 提供的 38-Cloud Segmentation in Satellite Images数据集。

        该数据集由裁剪成 384x384 (适用于深度学习)的卫星场景组成。总共有 8400 个用于训练和 9201 个用于测试的图块,分别位于红、绿、蓝和近红外(近红外)波段的目录中,还有一个额外的目录用于存储参考掩膜(真实值 - *_gt)。结构如图 2 所示。 

2、数据预处理

        为了给神经网络准备好数据,我们首先需要对数据进行预处理,以适合我们的模型。由于我们将使用预训练的 ResNet 框架,因此模型中只能拟合 3 个波段,最好是 RGB 波段,因为模型已经用这些波段进行了预训练。因此,数据预处理的第一步就是从给定的图像中创建 RGB patch小块。我们将使用 PIL(Python Imaging Library,Python 图像库)打开红、绿、蓝 .tif 图像,并将其保存为单一的 RGB .png 文件。下面的代码就可以做到这一点(确保与原始数据集的结构相同),并对图像进行归一化处理。

from PIL import Image
from pathlib import Path
import numpy as npdef create_rgb_pil (red_filename: Path):# set the filenames for each patchred_fn = str(red_filename)blue_fn = red_fn.replace('red','blue')green_fn = red_fn.replace('red', 'green')rgb_fn = red_fn.replace('red', 'rgb').replace('.TIF', '.png')# open red, green and blue patches as numpy arraysarr_red = np.array(Image.open(red_fn))arr_green = np.array(Image.open(green_fn))arr_blue = np.array(Image.open(blue_f
http://www.lryc.cn/news/266357.html

相关文章:

  • Hive-DML详解(超详细)
  • PHP实现可示化代码
  • useState语法讲解
  • 堆与二叉树(下)
  • 讲诉JVM
  • 8、SpringCloud高频面试题-版本1
  • PHP案例代码:PHP如何提供下载功能?
  • The Cherno C++笔记 03
  • 蓝牙物联网与嵌入式开发如何结合?
  • 前端面试——JavaScript面经(持续更新)
  • 微前端——无界wujie
  • 连锁便利店管理系统有什么用
  • Vue 的两种实现:VSCode 中配置 vue 模板快捷方式的过程
  • electron 切换至esm
  • 【新版】软考 - 系统架构设计师(总结笔记)
  • Spring MVC 方法中添加参数、HttpServletRequest 和 HttpServletResponse 对象
  • 单片机的RTC获取网络时间
  • Android 13 内置可卸载的搜狗输入法
  • 持续集成交付CICD:GitLabCI 封装Python类 并结合 ArgoCD 完成前端项目应用发布
  • 第十三章 常用类(Math 类、Arrays 类、System类、Biglnteger 和BigDecimal 类、日期类)
  • 2023年12月24日学习总结
  • 第26关 K8s日志收集揭秘:利用Log-pilot收集POD内业务日志文件
  • 芯科科技以卓越的企业发展和杰出的产品创新获得多项殊荣
  • 计算机视觉基础(11)——语义分割和实例分割
  • CNAS中兴新支点——什么是软件压力测试?软件压力测试工具和流程
  • jQuery: 整理3---操作元素的内容
  • 22、商城系统(四):项目jar包配置(重要),网关配置,商品服务基础数据设置
  • 循环链表的学习以及问题汇总
  • C++期末复习总结继承
  • CloudCanal x Debezium 打造实时数据流动新范式