sr4rs超分辨率处理 部署运行记录

sr4rs简介

sr4rs是一个基于 Sentinel-2 卫星影像的 超分辨率(Super-Resolution) 项目,由 Remi Cresson(法国INRAE)开发。它利用 深度学习 将 Sentinel-2 的 10m 分辨率影像提升到 2.5m 分辨率,同时保留光谱特性,适用于土地覆盖分类、农业监测等应用。

设备环境

win11、python环境(>=3.9)

思路

查看sr4rs的github仓库的readme得知,需从docker拉取镜像、使用训练模型合成波段、执行python代码进行超分辨率。windows的docker需要依托Hyper-V或WSL,第一种是个虚拟环境,也就是虚拟机,第二WSL是Windows的Linux子系统(系统要求不低于Window10的2021版本)。本人选择WSL,毕竟虚拟机肯定是没有子Linux系统的反应快。

目录

  1. win搭建docker并拉取镜像
  2. 准备数据:4个tif文件、训练模型、sr4rs代码文件
  3. 运行镜像并挂载上述数据文件夹到镜像
  4. 合成波段影像
  5. 执行超分辨率处理
  6. 使用envi或QGIS查看结果
  7. 与处理前进行对比

步骤

  1. win搭建docker并拉取镜像(参考之前的安装docker博文)
  2. 准备数据:4个tif文件、训练模型、sr4rs代码文件
    • sr4rs代码文件: git clone https://github.com/remicres/sr4rs.git
    • 准备输入影像:
      • 必须是 Sentinel-2 L1C 或 L2A 级产品
      • 使用 Snap、GDAL 或 OTB 提取 10m 的 4 波段(B2, B3, B4, B8)
      • 保存为 GeoTIFF,确保有地理投影
  3. 运行镜像并挂载上述数据文件夹到镜像
    1
    docker run --rm -ti -v D:/Users/data:/data mdl4eo/otbtf:latest
    PS. Docker 可能会没有权限访问该路径
    特别是如果你用的是 Docker Desktop on Windows,它可能默认只共享 C:\Users 目录,不共享 D:\。
    ✅ 解决方法:
    打开 Docker Desktop 设置。
    进入 Resources > File sharing(或 Shared Drives,取决于版本)。
    添加 D:\ 为共享驱动器。
    重启 Docker Desktop。
  4. 合成波段影像
  5. 执行超分辨率处理
  6. 使用envi或QGIS查看结果
  7. 与处理前进行对比

参考链接

  1. https://github.com/remicres/sr4rs/