PdRSCD
PdRSCD(PaddlePaddle Remote Sensing Change Detection)是一个基于飞桨PaddlePaddle的遥感变化检测的项目,pypi包名为ppcd。目前0.2版本,最新支持图像列表输入的训练和预测,如多期影像、多源影像甚至多期多源影像。可以快速完成分割、变化检测等任务。
在线项目实例
- 【ppcd快速入门】经典LEVIR数据集变化检测
- 【ppcd快速入门】大图滑框变化检测与拼接
- 【ppcd快速入门】多光谱遥感影像变化检测
- 【ppcd快速入门】多光谱遥感影像分割
- 【ppcd快速入门】多标签遥感图像变化检测(待更)
- 【ppcd快速入门】分类标签遥感变化检测(待更)
特点
- 适应$N(N\ge1)$期图像的读取和增强,支持jpg、tmp、tif和npy等格式,支持多光谱/波段
- 有更多有特色的数据增强
- 适应分割图标签、分类标签以及多标签(分割+变化标签)
- 网络多返回、多标签和多损失之间的组合
- 适应单通道预测图及双通道预测图的输出(argmax与threshold)
- 支持大图滑框/随机采样训练和滑框预测与拼接
- 支持保存为带地理坐标的tif
代码结构
PdRSCD的主要代码在ppcd中,文件夹组织如下。可以根据自己的任务修改和添加下面的代码。
ppcd
├── core # 包含训练和预测的代码
├── datasets # 包含创建数据列表和定义数据集的代码
├── losses # 包含损失函数的代码
├── metrics # 包含指标评价的代码
├── models # 包含网络模型、特殊层、层初始化等代码
├── traditions # 包含一些传统计算方法的代码
├── transforms # 包含数据增强的代码
├── utils # 包含其他代码,如计时等
└── tools # 包含工具代码,如分块、图像查看器等
现有资产与自定义
使用入门
- 可以通过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') # 加载环境变量
说明
- 当前更新后需要在PaddlePaddle2.1.0及以上上运行,否则可能会卡在DataLoader上。除此之外DataLoader可能还存在问题,例如在一个CPU项目上卡住了,不知道原因,建议在2.1.0及以上版本的GPU设备上运行(至少AI Studio的GPU肯定是没问题的)。
- 由于GDAL无法直接通过pip安装,所以如果需要使用GDAL的地方目前需要自行安装GDAL。
后续重点
- 添加多源数据输入,栅格得分结果输出的空间分析功能(问号)
- 添加将tif转为shp以及读取shp进行训练。预测(尽量)