{"id":16608672,"url":"https://github.com/geoyee/pdrscd","last_synced_at":"2025-03-16T21:30:56.950Z","repository":{"id":57454427,"uuid":"359743598","full_name":"geoyee/PdRSCD","owner":"geoyee","description":"基于『飞桨』的遥感变化检测工具（Remote sensing change detection tool based on『PaddlePaddle』）","archived":false,"fork":false,"pushed_at":"2021-09-08T00:22:51.000Z","size":301,"stargazers_count":71,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T10:40:59.406Z","etag":null,"topics":["change-detection","paddlepaddle","python3","remote-sensing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geoyee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-20T08:37:26.000Z","updated_at":"2025-01-13T02:05:44.000Z","dependencies_parsed_at":"2022-09-04T18:22:24.514Z","dependency_job_id":null,"html_url":"https://github.com/geoyee/PdRSCD","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoyee%2FPdRSCD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoyee%2FPdRSCD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoyee%2FPdRSCD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoyee%2FPdRSCD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geoyee","download_url":"https://codeload.github.com/geoyee/PdRSCD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830949,"owners_count":20354854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["change-detection","paddlepaddle","python3","remote-sensing"],"created_at":"2024-10-12T01:26:56.553Z","updated_at":"2025-03-16T21:30:56.560Z","avatar_url":"https://github.com/geoyee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PdRSCD\r\n\r\n[![Python 3.7](https://img.shields.io/badge/python-3.7+-yellow.svg)](https://www.python.org/downloads/release/python-370/) [![Paddle 2.1.0](https://img.shields.io/badge/paddle-2.1+-red.svg)](https://www.python.org/downloads/release/python-370/) [![License](https://img.shields.io/badge/license-Apache%202.0-orange.svg)](LICENSE) ![GitHub Repo stars](https://img.shields.io/github/stars/geoyee/PdRSCD)\r\n\r\nPdRSCD（PaddlePaddle Remote Sensing Change Detection）是一个基于飞桨PaddlePaddle的遥感变化检测的项目，pypi包名为ppcd。目前0.2版本，最新支持图像列表输入的训练和预测，如多期影像、多源影像甚至多期多源影像。可以快速完成分割、变化检测等任务。\r\n\r\n**注：此repo不再更新，相关工作和维护更新在[3SPP/PdRSCD](https://github.com/3SPP/PdRSCD)中。**\r\n\r\n## 在线项目实例\r\n\r\n1. [【ppcd快速入门】经典LEVIR数据集变化检测](https://aistudio.baidu.com/aistudio/projectdetail/2117261)\r\n2. [【ppcd快速入门】大图滑框变化检测与拼接](https://aistudio.baidu.com/aistudio/projectdetail/2136053)\r\n3. [【ppcd快速入门】多光谱遥感影像变化检测](https://aistudio.baidu.com/aistudio/projectdetail/2122781)\r\n4. [【ppcd快速入门】多光谱遥感影像分割](https://aistudio.baidu.com/aistudio/projectdetail/2130151)\r\n5. [【ppcd快速入门】多标签遥感图像变化检测（待更）]()\r\n6. [【ppcd快速入门】分类标签遥感变化检测（待更）]()\r\n\r\n## 特点\r\n\r\n1. 适应$N(N\\ge1)$期图像的读取和增强，支持jpg、tmp、tif和npy等格式，支持多光谱/波段\r\n2. 有更多有特色的数据增强\r\n3. 适应分割图标签、分类标签以及多标签（分割+变化标签）\r\n4. 网络多返回、多标签和多损失之间的组合\r\n5. 适应单通道预测图及双通道预测图的输出（argmax与threshold）\r\n6. 支持大图滑框/随机采样训练和滑框预测与拼接\r\n7. 支持保存为带地理坐标的tif\r\n\r\n## 代码结构\r\n\r\nPdRSCD的主要代码在ppcd中，文件夹组织如下。可以根据自己的任务修改和添加下面的代码。\r\n\r\n```\r\nppcd\r\n  ├── core  # 包含训练和预测的代码\r\n  ├── datasets  # 包含创建数据列表和定义数据集的代码\r\n  ├── losses  # 包含损失函数的代码\r\n  ├── metrics  # 包含指标评价的代码\r\n  ├── models  # 包含网络模型、特殊层、层初始化等代码\r\n  ├── traditions  # 包含一些传统计算方法的代码\r\n  ├── transforms  # 包含数据增强的代码\r\n  ├── utils  # 包含其他代码，如计时等\r\n  └── tools  # 包含工具代码，如分块、图像查看器等\r\n```\r\n\r\n## 现有资产与自定义\r\n\r\n1. [自定义数据集](ppcd/datasets/README.md)\r\n2. [模型库与自定义模型](ppcd/models/README.md)\r\n3. [损失函数与自定义损失函数](ppcd/losses/README.md)\r\n4. [数据增强与自定义数据增强](ppcd/transforms/README.md)\r\n5. [传统处理方法](ppcd/traditions/README.md)\r\n6. [工具组](ppcd/tools/README.md)\r\n\r\n## 使用入门\r\n\r\n- 可以通过pip使用官方原直接进行安装。\r\n\r\n```shell\r\npip install ppcd -i https://pypi.org/simple\r\n```\r\n\r\n- 也可以通过克隆PdRSCD到项目中，并添加到环境变量。\r\n\r\n```shell\r\n# 克隆项目\r\n# git clone https://github.com/geoyee/PdRSCD.git  # github可能较慢\r\ngit clone https://gitee.com/Geoyee/pd-rscd.git\r\n    \r\nimport sys\r\nsys.path.append('pd-rscd')  # 加载环境变量\r\n```\r\n\r\n## 说明\r\n\r\n1. 当前更新后需要在PaddlePaddle2.1.0及以上上运行，否则可能会卡在DataLoader上。除此之外DataLoader可能还存在问题，例如在一个CPU项目上卡住了，不知道原因，建议在2.1.0及以上版本的GPU设备上运行（至少AI Studio的GPU肯定是没问题的）。\r\n2. 由于GDAL无法直接通过pip安装，所以如果需要使用GDAL的地方目前需要自行安装GDAL。\r\n\r\n## 后续重点\r\n\r\n- [ ] 添加多源数据输入，栅格得分结果输出的空间分析功能（问号）\r\n- [ ] 添加将tif转为shp以及读取shp进行训练。预测（尽量）\r\n\r\n## 相关链接\r\n\r\n- github：[https://github.com/geoyee/PdRSCD](https://github.com/geoyee/PdRSCD)\r\n- gitee：[https://gitee.com/Geoyee/pd-rscd](https://gitee.com/Geoyee/pd-rscd)\r\n- pypi：[https://pypi.org/project/ppcd/](https://pypi.org/project/ppcd/)\r\n\r\n## 交流与反馈\r\n\r\nEmail：Geoyee@yeah.net\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoyee%2Fpdrscd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeoyee%2Fpdrscd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoyee%2Fpdrscd/lists"}