Synth Daily

哨兵二号影像超分辨率(10米提升至5米)

这是一款用户友好的桌面应用程序,它使用预训练的 AI 模型,将哨兵二号(Sentinel-2)卫星影像的 10 米分辨率波段(蓝、绿、红和近红外)提升两倍。该工具无需复杂的命令行操作,支持 GeoTIFF 和 JPG 格式输出,并提供交互式预览和可选的锐化功能,让卫星图像增强变得简单快捷。

快速上手指南

  • 安装依赖库: pip install pyqt5 torch safetensors rasterio pillow numpy
  • 获取模型: 从项目的发布页面下载 REC_Real_L1B.safetensors 文件。
  • 运行程序: python L1BSR-GUI.py
  • 加载数据: 选择模型文件和你的四个哨兵二号波段文件(B02, B03, B04, B08)。
  • 开始处理: 点击 “Process” 按钮。
  • 保存成果: 将生成的高分辨率图像保存为 GeoTIFF 或 JPG 文件。

数据要求: 为了保证程序正常运行,输入的波段文件应为从哥白尼浏览器下载的 16 位 TIFF 格式,并采用 UTM 坐标系。

核心功能

  • 2倍超分辨率: 将 10 米的哨兵二号波段(B02, B03, B04, B08)分辨率提升。
  • 图形化界面: 无需命令行,提供简单的点击式操作。
  • 交互式预览:
    • 可直接预览最终生成的大尺寸图像。
    • 在预览图上按住鼠标即可查看处理前的原始图像,方便快速对比效果。
    • 如果图像尺寸过大,可以使用滚动条平移查看。
  • 视觉锐化: 可选的锐化功能,让图像细节更突出(仅影响预览和 JPG 输出)。
  • 灵活的输出格式:
    • GeoTIFF: 保存包含所有地理数据信息的完整 4 波段(蓝、绿、红、近红外)图像,是科研用途的最佳选择
    • JPG + JGW: 保存适用于报告或在 GIS 软件中查看的 3 波段(RGB)图像,并附带一个世界文件(.jgw)。

如何使用

  1. 放置模型文件: 建议在脚本所在目录下创建一个名为 trained_models 的文件夹,并将下载的 .safetensors 模型文件放入其中。程序启动时会自动查找。
  2. 启动应用: 在终端运行脚本 python L1BSR-GUI.py
  3. 选择输入波段: 点击 “Select B02…”、“Select B03…” 等按钮,加载你的四个 GeoTIFF 输入文件。文件必须具有相同的尺寸和地理投影。
  4. 处理图像: 点击 “Process (2x Super-Resolution)” 按钮并等待处理完成。使用 GPU 会显著加快处理速度。
  5. 预览和锐化: 处理完成后,输出窗口会显示超分辨率后的 RGB 预览图。你可以勾选 “Sharpen” 并调整滑块来增强视觉效果。
  6. 保存输出: 根据需要,点击 “Save as GeoTIFF…” 或 “Save as JPG + JGW…” 保存你的成果。

系统要求与加速选项

  • 基础要求: 需要 Python 3 及以下库:pyqt5, torch, safetensors, rasterio, pillow, numpy

  • GPU 加速 (推荐): 如果你有英伟达(NVIDIA)显卡,请确保安装支持 CUDA 的 PyTorch 版本,这将极大提升处理速度

  • Onnx 推理: 项目中还提供了一个使用 OnnxRuntime 的版本 (L1-BSR-GUI-ONNX.py),其界面相同但需要使用 Onnx 格式的模型文件。它所需的库更少:onnxruntime, pyqt5, numpy, pillow, rasterio

来源与许可

此应用程序的用户界面和工作流程基于 L1BSR 项目的核心模型和概念。其 AI 模型架构和处理逻辑源自 L1BSR 的原始工作。该项目与其所基于的原始项目一样,均采用 GNU 通用公共许可证 v3.0 进行许可。