Bow echo detection and segmentation
收藏资源简介:
This is a code and data repository for a CNN-based bow echo detector meant for use on NEXRAD composite reflectivity mosaics discussed in:"A derecho climatology (2004-2021) in the United States based on machine learning identification of bow echoes" by Jianfeng Li, Andrew Geiss, Zhe Feng, L. Ruby Leung, Yun Qian, and Wenjun Cui The repository contains the following items: initial_training_dataset.zip -- The dataset used to train the initial version of the segmentation model. It contains 500 positive samples with hand-drawn masks and 3,350 negative samples with no masks. The samples are stored as .png files with pixel values between 0-255 linearly mapped from dBZ values between 0-50. The negative samples are stored as single-channel images while the positive samples are RGB images with the reflectivity data stored in the blue channel and the corresponding masks stored in the red channel. pseudo_labeled_training_dataset.zip -- The larger training set used for the final version of the CNN with 1,199 masked positive cases and 1,978 negative cases. These are also stored as .png files. Here, the masks have been produced by a CNN and reviewed for accuracy by a human. testing_dataset.zip -- 217 plots of testing cases. These are radar images of MCS's from 2010 that may or may not contain bow echoes. test_labels.csv -- A collection of human and CNN labels for the 217 test cases. conus_bow_echoes.zip -- NetCDF files containing CNN segmentation results for reflectivity mosaics from 2004-2021. Bow echo masks are stored as signed integers. 0 = No bow echo, -1 = bow echo not associated with a tracked MCS, >0 bow echo associated with an MCS where each unique MCS in a year is assigned a unique integer based on PyFLEXTRKR. June_2010.mp4 -- An animation of composite reflectivity (coloring), MCS tracks (gray shading), and bow echoes (black contours) for the month of June 2010. project_code.zip -- The collection of Python scripts used to construct, train, and apply the CNN. cnn.h5 -- The trained Unet 3+ model. The model performs required input clipping and scaling internally and can operate directly on reflectivity data. sample_mosaic.npz -- Input file for 'inference_demo.py'. Contains a single composite reflectivity mosaic sample_output.png -- The plot produced by "inference_demo.py". inference_demo.py -- A Python script that demonstrates how to apply the bow echo segmentation CNN to reflectivity data, including post-processing steps.
本代码与数据集仓库面向基于卷积神经网络(Convolutional Neural Network, CNN)的弓形回波检测器,适用于处理NEXRAD组合反射率拼图,相关研究为Jianfeng Li、Andrew Geiss、Zhe Feng、L. Ruby Leung、Yun Qian及Wenjun Cui发表的《基于机器学习识别弓形回波的美国2004-2021年飑线气候学》(A derecho climatology (2004-2021) in the United States based on machine learning identification of bow echoes)。 本仓库包含以下内容: 1. initial_training_dataset.zip:用于训练初代分割模型的数据集,包含500份带手绘掩码的正样本与3350份无掩码的负样本。所有样本以.png格式存储,像素值范围0~255,由0~50 dBZ的反射率值线性映射得到。负样本为单通道图像,正样本为RGB图像,其中反射率数据存储于蓝色通道,对应掩码存储于红色通道。 2. pseudo_labeled_training_dataset.zip:用于最终版CNN训练的更大规模训练集,包含1199份带掩码的正样本与1978份负样本,同样以.png格式存储。此处的掩码由CNN生成并经人工复核准确性。 3. testing_dataset.zip:包含217份测试用例的雷达图像,均为2010年的中尺度对流系统(Mesoscale Convective System, MCS)雷达图像,可能包含或不包含弓形回波。 4. test_labels.csv:收录217个测试用例的人工标注与CNN标注结果的文件。 5. conus_bow_echoes.zip:包含2004-2021年反射率拼图CNN分割结果的NetCDF文件集合。弓形回波掩码以有符号整数存储:0代表无弓形回波,-1代表与追踪的中尺度对流系统无关的弓形回波,大于0则代表与中尺度对流系统相关的弓形回波,其中某一年份内每个唯一的中尺度对流系统会根据PyFLEXTRKR分配唯一整数标识。 6. June_2010.mp4:2010年6月的可视化动画,展示了组合反射率(着色)、中尺度对流系统轨迹(灰色阴影)与弓形回波(黑色等值线)。 7. project_code.zip:用于构建、训练及应用该CNN的Python脚本集合。 8. cnn.h5:训练完成的Unet 3+模型。该模型内置了必要的输入裁剪与缩放操作,可直接对反射率数据进行推理。 9. sample_mosaic.npz:“inference_demo.py”的输入文件,包含单张组合反射率拼图。 10. sample_output.png:“inference_demo.py”执行后生成的可视化结果图像。 11. inference_demo.py:用于演示如何将该弓形回波分割CNN应用于反射率数据的Python脚本,包含必要的后处理步骤。



