遇见数据集

Cape Hatteras Landsat8 RGB Images and Labels for Image Segmentation using the program, Segmentation Zoo

收藏
Zenodo2023-07-21 更新2026-05-25 收录
数据链接:
官方服务:

资源简介:

<strong># Cape Hatteras Landsat8 RGB Images and Labels for Image Segmentation using the program, Segmentation Zoo</strong> 1 zipped file, total size 3GB <strong>## Overview</strong> * Test datasets and files for testing the [segmentation zoo](https://github.com/dbuscombe-usgs/segmentation_zoo) program for image segmentation * Data set by Daniel Buscombe, Marda Science LLC. * Dataset consists of a time-series of Landsat-8 images of Cape Hatteras National Seashore, courtesy of the U.S. Geological Survey. * Imagery spans the period February 2015 to September 2021. * Labels were created by Daniel Buscombe, Marda Science, using the labeling program [Doodler](https://github.com/dbuscombe-usgs/dash_doodler). Download this file and unzip to somewhere on your machine (although preferably <em>*not*</em> the `segmentation_zoo` folder), then see [segmentation zoo](https://github.com/dbuscombe-usgs/segmentation_zoo) for further explanation. <strong>## file structure</strong> ```{sh} /Users/Someone/my_segmentation_zoo_datasets │ ├── config │ | └── *.json │ ├── capehatteras_data | | ├── fromDoodler | | | ├──images │ | | └──labels | | ├──npzForModel │ | └──toPredict │ └── modelOut │ └── *.png │ └── weights │ └── *.h5 ``` <strong>## config</strong> There are 3 config files: `/config/hatteras_l8_resunet.json` and `/config/hatteras_l8_vanilla_unet.json` for res-unet and unet models respectively. They both contain the same essential information and differ as indicated below ``` { "TARGET_SIZE": [768,768], # the size of the imagery you wish the model to train on. This may not be the original size "MODEL": "resunet", # model name. Otherwise, "unet" "NCLASSES": 4, # number of classes "KERNEL":9, # horizontal size of convolution kernel in pixels "STRIDE":2, # stride in convolution kernel "BATCH_SIZE": 7, # number of images/labels per batch "FILTERS":6, # number of filters "N_DATA_BANDS": 3, # number of image bands "DROPOUT":0.1, # amount of dropout "DROPOUT_CHANGE_PER_LAYER":0.0, # change in dropout per layer "DROPOUT_TYPE":"standard", # type of dropout. Otherwise "spatial" "USE_DROPOUT_ON_UPSAMPLING":false, # if true, dropout is used on upsampling as well as downsampling "DO_TRAIN": false, # if false, the model will not train, but you will select this config file, data directory, and the program will load the model weights and test the model on the validation subset if true, the model will train from scratch (warning! this will overwrite the existing weights file in h5 format) "LOSS":"dice", # model training loss function, otherwise "cat" for categorical cross-entropy "PATIENCE": 10, # number of epochs of no model improvement before training is aborted "MAX_EPOCHS": 100, # maximum number of training epochs "VALIDATION_SPLIT": 0.6, #proportion to use for validation "RAMPUP_EPOCHS": 20, # [LR-scheduler] rampup to maximim "SUSTAIN_EPOCHS": 0.0, # [LR-scheduler] sustain at maximum "EXP_DECAY": 0.9, # [LR-scheduler] decay rate "START_LR": 1e-7, # [LR-scheduler] start lr "MIN_LR": 1e-7, # [LR-scheduler] min lr "MAX_LR": 1e-4, # [LR-scheduler] max lr "FILTER_VALUE": 0, #if &gt;0, the size of a median filter to apply on outputs (not recommended unless you have noisy outputs) "DOPLOT": true, #make plots "ROOT_STRING": "hatteras_l8_aug_768", #data file (npz) prefix string "USEMASK": false, # use the convention 'mask' in label image file names, instead of the preferred 'label' "AUG_ROT": 5, # [augmentation] amount of rotation in degrees "AUG_ZOOM": 0.05, # [augmentation] amount of zoom as a proportion "AUG_WIDTHSHIFT": 0.05, # [augmentation] amount of random width shift as a proportion "AUG_HEIGHTSHIFT": 0.05,# [augmentation] amount of random width shift as a proportion "AUG_HFLIP": true, # [augmentation] if true, randomly apply horizontal flips "AUG_VFLIP": false, # [augmentation] if true, randomly apply vertical flips "AUG_LOOPS": 10, #[augmentation] number of portions to split the data into (recommended &gt; 2 to save memory) "AUG_COPIES": 5 #[augmentation] number iof augmented copies to make } ``` The extra config file, called `/config/deploy_ct_E_resunet_allclasses_512_remap_cat.json`, is an example deployment file for the similar but larger Landsat-8 data record within the Coast Train data release (forthcoming) <strong>## capehatteras_data</strong> Folder containing all the model input data ```{sh} │ ├── capehatteras_data: folder containing all the model input data | | ├── fromDoodler: folder containing images and labels exported from Doodler using [this program](https://github.com/dbuscombe-usgs/dash_doodler/blob/main/utils/gen_images_and_labels_4_zoo.py) | | | ├──images: jpg format files, one per label image │ | | └──labels: jpg format files, one per image | | ├──npzForModel: npz format files for model training using [this program](https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/train_model.py) that have been created following the workflow [documented here](https://github.com/dbuscombe-usgs/segmentation_zoo/wiki/Create-a-model-ready-dataset) using [this program](https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/make_nd_dataset.py) │ | └──toPredict: a folder of images to test model prediction using [this program](https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/seg_images_in_folder.py) ``` <strong>## modelOut</strong> PNG format files containing example model outputs from the train ('<em>_train_</em>' in filename) and validation ('<em>_val_</em>' in filename) subsets as well as an image showing training loss and accuracy curves with `trainhist` in the filename. There are two sets of these files, those associated with the residual unet trained with dice loss contain `resunet` in their name, and those from the UNet are named with `vanilla_unet`. <strong>## weights</strong> There are 2 model weights files namely `/weights/hatteras_l8_resunet.h5` and `/weights/hatteras_l8_vanilla_unet.h5`, associated with `/config/hatteras_l8_resunet.json` and `/config/hatteras_l8_vanilla_unet.json` config files.

**# 用于图像分割工具Segmentation Zoo的哈特拉斯角Landsat 8 RGB图像与标注数据集** 包含1个压缩包,总大小3GB ## 数据集概述 * 本数据集为用于测试图像分割程序Segmentation Zoo(Segmentation Zoo)的测试数据集与配套文件,其官方仓库地址为:https://github.com/dbuscombe-usgs/segmentation_zoo * 本数据集由Daniel Buscombe与Marda Science LLC联合制作发布 * 数据集包含美国地质调查局(U.S. Geological Survey)提供的哈特拉斯角国家海岸Landsat 8影像时间序列,时间跨度为2015年2月至2021年9月 * 影像标注由Daniel Buscombe(Marda Science)使用标注工具Doodler(Doodler)完成,该工具的官方仓库地址为:https://github.com/dbuscombe-usgs/dash_doodler * 使用说明:下载本压缩包并解压至本地任意路径(建议不要直接解压至`segmentation_zoo`文件夹中),详细操作指南请参阅Segmentation Zoo官方仓库文档。 ## 文件组织结构 sh /Users/Someone/my_segmentation_zoo_datasets │ ├── config │ └── *.json ├── capehatteras_data │ ├── fromDoodler │ │ ├── images │ │ └── labels │ ├── npzForModel │ └── toPredict ├── modelOut │ └── *.png └── weights └── *.h5 ## 配置文件 本数据集包含3个配置文件:`/config/hatteras_l8_resunet.json`与`/config/hatteras_l8_vanilla_unet.json`分别对应残差U-Net(resunet)与标准U-Net(vanilla_unet)模型,二者核心配置信息一致,仅按模型类型区分参数。另有一个额外配置文件`/config/deploy_ct_E_resunet_allclasses_512_remap_cat.json`,为Coast Train数据发布中同类更大尺寸Landsat 8影像数据集的部署示例文件(该数据集即将发布)。 两个核心配置文件的参数详情如下: json { "TARGET_SIZE": [768,768], # 期望模型训练使用的影像尺寸,该尺寸可能与原始影像尺寸不一致 "MODEL": "resunet", # 模型名称,可选值为"unet"(标准U-Net) "NCLASSES": 4, # 分类类别数量 "KERNEL":9, # 卷积核的水平像素尺寸 "STRIDE":2, # 卷积步长 "BATCH_SIZE": 7, # 每个训练批次的影像/标注样本数量 "FILTERS":6, # 卷积滤波器数量 "N_DATA_BANDS": 3, # 影像波段数量 "DROPOUT":0.1, # Dropout失活比例 "DROPOUT_CHANGE_PER_LAYER":0.0, # 各层Dropout失活比例的变化量 "DROPOUT_TYPE":"standard", # Dropout类型,可选值为"spatial"(空间Dropout) "USE_DROPOUT_ON_UPSAMPLING":false, # 若设为true,则在上采样与下采样阶段均使用Dropout "DO_TRAIN": false, # 若设为false,则不执行训练,仅加载模型权重并在验证子集上测试模型;若设为true,则从头开始训练模型(注意:该操作将覆盖已有的H5格式权重文件) "LOSS":"dice", # 模型训练损失函数,若设为"cat"则使用分类交叉熵损失 "PATIENCE": 10, # 训练早停阈值:当连续10个Epoch模型性能无提升时终止训练 "MAX_EPOCHS": 100, # 最大训练Epoch数 "VALIDATION_SPLIT": 0.6, # 验证集占总数据集的比例 "RAMPUP_EPOCHS": 20, # [学习率调度器] 学习率升至最大值的Epoch数 "SUSTAIN_EPOCHS": 0.0, # [学习率调度器] 保持最大学习率的Epoch数 "EXP_DECAY": 0.9, # [学习率调度器] 学习率指数衰减率 "START_LR": 1e-7, # [学习率调度器] 初始学习率 "MIN_LR": 1e-7, # [学习率调度器] 最小学习率 "MAX_LR": 1e-4, # [学习率调度器] 最大学习率 "FILTER_VALUE": 0, # 若大于0,则对模型输出应用中值滤波,滤波窗口大小为该值(仅当输出存在噪声时建议使用) "DOPLOT": true, # 是否生成可视化结果图 "ROOT_STRING": "hatteras_l8_aug_768", # 训练数据NPZ文件的前缀字符串 "USEMASK": false, # 是否在标注文件名中使用"mask"作为后缀,默认使用"label" "AUG_ROT": 5, # [数据增强] 随机旋转的角度范围(度) "AUG_ZOOM": 0.05, # [数据增强] 随机缩放的比例范围 "AUG_WIDTHSHIFT": 0.05, # [数据增强] 随机水平偏移的比例范围 "AUG_HEIGHTSHIFT": 0.05,# [数据增强] 随机垂直偏移的比例范围 "AUG_HFLIP": true, # [数据增强] 是否随机执行水平翻转 "AUG_VFLIP": false, # [数据增强] 是否随机执行垂直翻转 "AUG_LOOPS": 10, #[数据增强] 数据集拆分的份数(建议大于2以节省内存) "AUG_COPIES": 5 #[数据增强] 每张原始样本生成的增强样本数量 } ## capehatteras_data 文件夹 该文件夹用于存放所有模型输入数据,其子文件夹说明如下: 1. **fromDoodler**:存放由Doodler工具导出的影像与标注文件,可通过脚本`https://github.com/dbuscombe-usgs/dash_doodler/blob/main/utils/gen_images_and_labels_4_zoo.py`生成。其中`images`文件夹存放JPG格式的影像文件,与标注一一对应;`labels`文件夹存放JPG格式的标注文件,与影像一一对应。 2. **npzForModel**:存放用于模型训练的NPZ格式数据文件,需按照官方工作流生成:https://github.com/dbuscombe-usgs/segmentation_zoo/wiki/Create-a-model-ready-dataset,可通过脚本`https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/make_nd_dataset.py`生成,训练脚本可参阅:https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/train_model.py。 3. **toPredict**:存放用于测试模型预测效果的影像文件夹,可通过脚本`https://github.com/dbuscombe-usgs/segmentation_zoo/blob/main/seg_images_in_folder.py`执行预测任务。 ## modelOut 文件夹 该文件夹存放模型输出示例文件,包括训练子集(文件名含`_train_`)、验证子集(文件名含`_val_`)的模型输出结果,以及包含训练损失与精度曲线的PNG格式文件(文件名含`trainhist`)。该文件夹下存在两类文件:文件名含`resunet`的为使用Dice损失训练的残差U-Net模型输出,文件名含`vanilla_unet`的为标准U-Net模型输出。 ## weights 文件夹 该文件夹存放模型权重文件,共包含两个权重文件:`/weights/hatteras_l8_resunet.h5`与`/weights/hatteras_l8_vanilla_unet.h5`,分别对应`/config/hatteras_l8_resunet.json`与`/config/hatteras_l8_vanilla_unet.json`配置文件。

提供机构:
Zenodo
创建时间:
2022-01-24
二维码
社区交流群
二维码
科研交流群
商业服务