PdRSCD icon indicating copy to clipboard operation
PdRSCD copied to clipboard

基于『飞桨』的遥感变化检测工具(Remote sensing change detection tool based on『PaddlePaddle』)

PdRSCD

Python 3.7 Paddle 2.1.0 License GitHub Repo stars

PdRSCD(PaddlePaddle Remote Sensing Change Detection)是一个基于飞桨PaddlePaddle的遥感变化检测的项目,pypi包名为ppcd。目前0.2版本,最新支持图像列表输入的训练和预测,如多期影像、多源影像甚至多期多源影像。可以快速完成分割、变化检测等任务。

注:此repo不再更新,相关工作和维护更新在3SPP/PdRSCD中。

在线项目实例

  1. 【ppcd快速入门】经典LEVIR数据集变化检测
  2. 【ppcd快速入门】大图滑框变化检测与拼接
  3. 【ppcd快速入门】多光谱遥感影像变化检测
  4. 【ppcd快速入门】多光谱遥感影像分割
  5. 【ppcd快速入门】多标签遥感图像变化检测(待更)
  6. 【ppcd快速入门】分类标签遥感变化检测(待更)

特点

  1. 适应$N(N\ge1)$期图像的读取和增强,支持jpg、tmp、tif和npy等格式,支持多光谱/波段
  2. 有更多有特色的数据增强
  3. 适应分割图标签、分类标签以及多标签(分割+变化标签)
  4. 网络多返回、多标签和多损失之间的组合
  5. 适应单通道预测图及双通道预测图的输出(argmax与threshold)
  6. 支持大图滑框/随机采样训练和滑框预测与拼接
  7. 支持保存为带地理坐标的tif

代码结构

PdRSCD的主要代码在ppcd中,文件夹组织如下。可以根据自己的任务修改和添加下面的代码。

ppcd
  ├── core  # 包含训练和预测的代码
  ├── datasets  # 包含创建数据列表和定义数据集的代码
  ├── losses  # 包含损失函数的代码
  ├── metrics  # 包含指标评价的代码
  ├── models  # 包含网络模型、特殊层、层初始化等代码
  ├── traditions  # 包含一些传统计算方法的代码
  ├── transforms  # 包含数据增强的代码
  ├── utils  # 包含其他代码,如计时等
  └── tools  # 包含工具代码,如分块、图像查看器等

现有资产与自定义

  1. 自定义数据集
  2. 模型库与自定义模型
  3. 损失函数与自定义损失函数
  4. 数据增强与自定义数据增强
  5. 传统处理方法
  6. 工具组

使用入门

  • 可以通过pip使用官方原直接进行安装。
pip install ppcd -i https://pypi.org/simple
  • 也可以通过克隆PdRSCD到项目中,并添加到环境变量。
# 克隆项目
# git clone https://github.com/geoyee/PdRSCD.git  # github可能较慢
git clone https://gitee.com/Geoyee/pd-rscd.git
    
import sys
sys.path.append('pd-rscd')  # 加载环境变量

说明

  1. 当前更新后需要在PaddlePaddle2.1.0及以上上运行,否则可能会卡在DataLoader上。除此之外DataLoader可能还存在问题,例如在一个CPU项目上卡住了,不知道原因,建议在2.1.0及以上版本的GPU设备上运行(至少AI Studio的GPU肯定是没问题的)。
  2. 由于GDAL无法直接通过pip安装,所以如果需要使用GDAL的地方目前需要自行安装GDAL。

后续重点

  • [ ] 添加多源数据输入,栅格得分结果输出的空间分析功能(问号)
  • [ ] 添加将tif转为shp以及读取shp进行训练。预测(尽量)

相关链接

交流与反馈

Email:[email protected]