38-Cloud 云分割数据集使用教程

38-Cloud 云分割数据集使用教程

38-Cloud-A-Cloud-Segmentation-DatasetThis data set includes Landsat 8 images and their manually extracted pixel-level ground truths for cloud detection.项目地址:https://gitcode.com/gh_mirrors/38/38-Cloud-A-Cloud-Segmentation-Dataset

项目介绍

38-Cloud 是一个用于云检测的云分割数据集,包含了38个Landsat 8场景图像及其手动提取的像素级地面真实值。该数据集旨在支持深度学习在卫星图像云检测领域的应用。数据集中的图像被切割成多个384*384的补丁,适用于基于深度学习的语义分割算法。

项目快速启动

环境准备

确保你已经安装了以下工具和库:

  • Python 3.x
  • Git
  • Jupyter Notebook(可选)

克隆项目

首先,克隆项目到本地:

git clone https://github.com/SorourMo/38-Cloud-A-Cloud-Segmentation-Dataset.git
cd 38-Cloud-A-Cloud-Segmentation-Dataset

数据下载

你可以通过以下链接下载完整的数据集:

数据预处理

数据集包含训练和测试补丁,每个补丁有4个对应的频谱通道(红、绿、蓝和近红外)。以下是一个简单的数据预处理示例:

import os
import numpy as np
from PIL import Image

# 加载训练数据
train_dir = '38-Cloud_training'
train_red = np.array([np.array(Image.open(os.path.join(train_dir, 'train_red', img))) for img in os.listdir(os.path.join(train_dir, 'train_red'))])
train_green = np.array([np.array(Image.open(os.path.join(train_dir, 'train_green', img))) for img in os.listdir(os.path.join(train_dir, 'train_green'))])
train_blue = np.array([np.array(Image.open(os.path.join(train_dir, 'train_blue', img))) for img in os.listdir(os.path.join(train_dir, 'train_blue'))])
train_nir = np.array([np.array(Image.open(os.path.join(train_dir, 'train_nir', img))) for img in os.listdir(os.path.join(train_dir, 'train_nir'))])

# 合并通道
train_data = np.stack((train_red, train_green, train_blue, train_nir), axis=-1)

应用案例和最佳实践

案例一:基于深度学习的云检测

使用深度学习模型(如U-Net)进行云检测是该数据集的主要应用之一。以下是一个简单的U-Net模型训练示例:

from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, concatenate

def unet_model(input_size=(384, 384, 4)):
    inputs = Input(input_size)
    conv1 = Conv2D(64, 3, activation='relu', padding='same')(inputs)
    conv1 = Conv2D(64, 3, activation='relu', padding='same')(conv1)
    pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)

    conv2 = Conv2D(128, 3, activation='relu', padding='same')(pool1)
    conv2 = Conv2D(128, 3, activation='relu', padding='same')(conv2)
    pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)

    conv3 = Conv2D(256, 3, activation='relu', padding='same')(pool2)
    conv3 = Conv2D(256, 3, activation='relu', padding='same')(conv3)
    pool3 = MaxPooling2D(pool_size=(2, 2))(conv3)

    conv

38-Cloud-A-Cloud-Segmentation-DatasetThis data set includes Landsat 8 images and their manually extracted pixel-level ground truths for cloud detection.项目地址:https://gitcode.com/gh_mirrors/38/38-Cloud-A-Cloud-Segmentation-Dataset

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎启炼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值