基于 UNet + ConvLSTM 的全国雷达拼图 0-2 小时短临外推预测系统。
数据
来源: 国家气象中心 CMA 雷达组合反射率拼图 (ECREF) 格式: RGBA PNG, 1349×1208 像素 时间: 2025年全年, 17,289 帧 间隔: 85% 为 30 分钟
架构
输入: [B, T_in=4, 1, 256, 256] # 过去 2 小时, 4 帧 × 30min ↓ U-Net Encoder (1→32→64→128→256) ↓ ConvLSTM × 2 层 (在 H/8 分辨率) ↓ U-Net Decoder (256→128→64→32→1) + 跳跃连接 ↓ 输出: [B, T_out=4, 1, 256, 256] # 未来 2 小时, 4 帧
- 参数量: 11.4M (43 MB)
- 显存占用: ~2 GB (batch=4, 256×256)
快速开始(示例代码)
- 预缓存数据 (推荐, 约 15 分钟)
cd /root/radar_nowcast
python scripts/precache.py \
--data_dir /root/autodl-fs/2/2025 \
--output_dir /root/autodl-tmp/radar_precache \
--img_size 256 --workers 8
- 训练
bash
使用预缓存数据训练
python train.py --use_cache --epochs 50 --batch_size 4 --img_size 256
直接从 PNG 训练 (慢)
python train.py --epochs 50 --batch_size 4 --img_size 256
3. 评估与可视化
bash
# 数据探查
python scripts/explore_data.py --mode overview
python scripts/explore_data.py --mode single
python scripts/explore_data.py --mode sequence
# 预测可视化
python scripts/predict.py \
--checkpoint /root/autodl-tmp/radar_checkpoints/best_csi.pth \
--n_samples 5
关键设计
1.颜色映射: PNG 是彩色渲染图, 需要将 RGB 映射回 dBZ。提供两种方法:
rgb_to_dbz_nearest: 最近邻精确匹配 (慢, 准确)
rgb_to_dbz_fast: RGB 比值快速近似 (快, 够用)
2.时序连续性: 必须按时间顺序切分 train/val, 不能 random_split, 否则时序泄漏。
3.损失函数: 加权 MAE, 对强回波区域 (dBZ>40) 赋予 5× 权重, 解决类别不平衡。
4.自回归解码: 预测帧反馈为下一步输入, 误差会累积。第 4 步误差通常最大。
评估指标
| 指标 | 含义 | 目标值 (T+30min) | 目标值 (T+120min) |
|---|---|---|---|
| CSI | 临界成功指数 | > 0.35 | > 0.25 |
| POD | 命中率 | > 0.6 | > 0.5 |
| FAR | 空报率 | < 0.4 | < 0.5 |
| MAE | 平均绝对误差 | < 0.05 | < 0.08 |
最后感谢https://drive.astrophel.top/%E5%A4%A9%E6%B0%94%E9%9B%B7%E8%BE%BE%E5%BD%92%E6%A1%A3/提供了训练数据集
如需要更详细的资料请联系3122909519@qq.com
