Procházet zdrojové kódy

[Feature] Update README

geoyee před 3 roky
rodič
revize
8a6c2a4f74
4 změnil soubory, kde provedl 119 přidání a 23 odebrání
  1. 35 23
      README.md
  2. 33 0
      docs/apis/model_zoo.md
  3. 51 0
      docs/apis/transforms.md
  4. 0 0
      docs/data/tools.md

+ 35 - 23
README.md

@@ -1,4 +1,4 @@
-# PaddleRS
+简体中文 | [English](README_EN.md)
 
 
 <div align="center">
 <div align="center">
 
 
@@ -29,9 +29,6 @@ PaddleRS是xxx、xxx、xxx等遥感科研院所共同基于飞桨开发的遥感
 <img src="docs/images/whole_image.jpg"  width = "2000" />  
 <img src="docs/images/whole_image.jpg"  width = "2000" />  
 </div>
 </div>
 
 
-
-
-----------------
 ## 特性 <img src="./docs/images/feature.png" width="30"/>
 ## 特性 <img src="./docs/images/feature.png" width="30"/>
 
 
 
 
@@ -42,8 +39,6 @@ PaddleRS是xxx、xxx、xxx等遥感科研院所共同基于飞桨开发的遥感
 
 
 * <img src="./docs/images/f3.png" width="20"/> **高性能**:支持多进程异步I/O、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像遥感图像的开发和训练。
 * <img src="./docs/images/f3.png" width="20"/> **高性能**:支持多进程异步I/O、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像遥感图像的开发和训练。
 
 
-----------
-
 ## 技术交流 <img src="./docs/images/chat.png" width="30"/>
 ## 技术交流 <img src="./docs/images/chat.png" width="30"/>
 
 
 * 如果你发现任何PaddleRS存在的问题或者是建议, 欢迎通过[GitHub Issues](https://github.com/PaddleCV-SIG/PaddleRS/issues)给我们提issues。
 * 如果你发现任何PaddleRS存在的问题或者是建议, 欢迎通过[GitHub Issues](https://github.com/PaddleCV-SIG/PaddleRS/issues)给我们提issues。
@@ -52,15 +47,41 @@ PaddleRS是xxx、xxx、xxx等遥感科研院所共同基于飞桨开发的遥感
 <img src="./docs/images/wechat.jpg"  width = "200" />  
 <img src="./docs/images/wechat.jpg"  width = "200" />  
 </div>
 </div>
 
 
+## 产品总览<img src="./docs/images/model.png" width="30"/>
+
+### 代码结构
+
+这部分将展示PaddleRS的文件结构全貌。文件树如下:
+
+```
+├── deploy               # 部署相关的文档和脚本
+├── docs                 # 整个项目文档及图片
+├── paddlers  
+│     ├── custom_models  # 自定义网络模型代码
+│     ├── datasets       # 数据加载相关代码
+│     ├── models         # 套件网络模型代码
+│     ├── tasks          # 相关任务代码
+│     ├── tools          # 相关脚本
+│     ├── transforms     # 数据处理及增强相关代码
+│     └── utils          # 各种实用程序文件
+├── tools                # 用于处理遥感数据的脚本
+└── tutorials
+      └── train          # 训练教程
+```
+
 ## 使用教程 <img src="./docs/images/teach.png" width="30"/>
 ## 使用教程 <img src="./docs/images/teach.png" width="30"/>
 
 
 * [快速上手PaddleRS](./tutorials/train/README.md)
 * [快速上手PaddleRS](./tutorials/train/README.md)
 * 准备数据集
 * 准备数据集
    * [遥感数据](./docs/data/rs_data_cn.md)
    * [遥感数据](./docs/data/rs_data_cn.md)
    * [智能标注工具EISeg](https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.4/EISeg)
    * [智能标注工具EISeg](https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.4/EISeg)
-
-   * [遥感数据处理脚本](./docs/tools.md)
-
+   * [遥感数据处理脚本](./docs/data/tools.md)
+* APIs
+   * [模型库](./docs/apis/model_zoo.md)
+   * [数据增强](./docs/apis/transforms.md)
+* 模型训练
+* 推理部署
+* 应用案例
 
 
 ## 许可证书
 ## 许可证书
 
 
@@ -68,26 +89,17 @@ PaddleRS是xxx、xxx、xxx等遥感科研院所共同基于飞桨开发的遥感
 
 
 ## 贡献说明 <img src="./docs/images/love.png" width="30"/>
 ## 贡献说明 <img src="./docs/images/love.png" width="30"/>
 
 
-本项目的发布受Apache 2.0 license许可认证
+我们非常欢迎你可以为PaddleRS提供代码,也十分感谢你的反馈。代码注释规范请参考[PaddleRS代码注释规范](https://github.com/PaddleCV-SIG/PaddleRS/wiki/PaddleRS代码注释规范)
 
 
 ## 学术引用 <img src="./docs/images/yinyong.png" width="30"/>
 ## 学术引用 <img src="./docs/images/yinyong.png" width="30"/>
 
 
 如果我们的项目在学术上帮助到你,请考虑以下引用:
 如果我们的项目在学术上帮助到你,请考虑以下引用:
 
 
 ```latex
 ```latex
-@misc{liu2021paddleseg,
-      title={PaddleSeg: A High-Efficient Development Toolkit for Image Segmentation},
-      author={Yi Liu and Lutao Chu and Guowei Chen and Zewu Wu and Zeyu Chen and Baohua Lai and Yuying Hao},
-      year={2021},
-      eprint={2101.06175},
-      archivePrefix={arXiv},
-      primaryClass={cs.CV}
-}
-
-@misc{paddleseg2019,
-    title={PaddleSeg, End-to-end image segmentation kit based on PaddlePaddle},
+@misc{paddlers2022,
+    title={PaddleRS, Awesome Remote Sensing Toolkit based on PaddlePaddle},
     author={PaddlePaddle Authors},
     author={PaddlePaddle Authors},
-    howpublished = {\url{https://github.com/PaddlePaddle/PaddleSeg}},
-    year={2019}
+    howpublished = {\url{https://github.com/PaddleCV-SIG/PaddleRS}},
+    year={2022}
 }
 }
 ```
 ```

+ 33 - 0
docs/apis/model_zoo.md

@@ -0,0 +1,33 @@
+# 模型库
+
+PaddleRS的基础模型库来自[PaddleClas](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/docs/zh_CN/algorithm_introduction/ImageNet_models.md)、[PaddleSeg](https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.4/docs/model_zoo_overview_cn.md)、[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.3/README_cn.md#模型库)以及[PaddleGAN](https://github.com/PaddlePaddle/PaddleGAN/blob/develop/README_cn.md#模型库),可以通过相关的链接进行查看。而在此之外,PaddleRS也针对遥感任务添加了一些特有的模型库,可用于遥感图像语义分割、遥感变化检测等。
+
+## 自定义模型库
+
+| 模型名称        | 用途     | ...  |
+| --------------- | -------- | ---- |
+| FarSeg          | 语义分割 | ...  |
+| BIT             | 变化检测 | ...  |
+| CDNet           | 变化检测 | ...  |
+| DSIFN           | 变化检测 | ...  |
+| STANet          | 变化检测 | ...  |
+| SNUNet          | 变化检测 | ...  |
+| DSAMNet         | 变化检测 | ...  |
+| UNetEarlyFusion | 变化检测 | ...  |
+| UNetSiamConc    | 变化检测 | ...  |
+| UNetSiamDiff    | 变化检测 | ...  |
+| ...             | ...      | ...  |
+
+## 如何导入
+
+模型均位于`paddlers/models`和`paddlers/custom_models`中,对于套件中的模型可以通过如下方法进行使用
+
+```python
+from paddlers.models import xxxxNet
+```
+
+而PaddleRS所特有的模型可以通过如下方法调用
+
+```python
+from paddlers.custom_models import xxxxNet
+```

+ 51 - 0
docs/apis/transforms.md

@@ -0,0 +1,51 @@
+# 数据增强
+
+PaddleRS将多种任务需要的数据增强进行了有机整合,均通过`Compose`进行使用,数据读取方面通过`ImgDecoder`可以对不只三通道RGB图像进行读取,还可以对SAR以及多通道图像进行读取,提供有转为`uint8`的选项。此外提供以下数据增强的方法。
+
+| 数据增强名称         | 用途                                            | 任务     | ...  |
+| -------------------- | ----------------------------------------------- | -------- | ---- |
+| Resize               | 调整输入大小                                    | 所有     | ...  |
+| RandomResize         | 随机调整输入大小                                | 所有     | ...  |
+| ResizeByShort        | 调整输入大小,保持纵横比不变                    | 所有     | ...  |
+| RandomResizeByShort  | 随机调整输入大小,保持纵横比不变                | 所有     | ...  |
+| ResizeByLong         | 调整输入大小,保持纵横比不变                    | 所有     | ...  |
+| RandomHorizontalFlip | 随机水平翻转输入                                | 所有     | ...  |
+| RandomVerticalFlip   | 随机竖直翻转输入                                | 所有     | ...  |
+| Normalize            | 对输入中的图像应用最小-最大标准化               | 所有     | ...  |
+| CenterCrop           | 对输入进行中心裁剪                              | 所有     | ...  |
+| RandomCrop           | 对输入进行随机中心裁剪                          | 所有     | ...  |
+| RandomScaleAspect    | 裁剪输入并重新调整大小至原始大小                | 所有     | ...  |
+| RandomExpand         | 通过根据随机偏移填充来随机扩展输入              | 所有     | ...  |
+| Padding              | 将输入填充到指定的大小                          | 所有     | ...  |
+| MixupImage           | 将两张图片和它们的`gt_bbbox/gt_score`混合在一起 | 目标检测 | ...  |
+| RandomDistort        | 对输入进行随机色彩变换                          | 所有     | ...  |
+| RandomBlur           | 对输入进行随机模糊                              | 所有     | ...  |
+| Defogging            | 对输入图像进行去雾                              | 所有     | ...  |
+| DimReducing          | 对输入图像进行降维                              | 所有     | ...  |
+| BandSelecting        | 选择输入图像的波段                              | 所有     | ...  |
+| RandomSwap           | 随机交换两个输入图像                            | 变化检测 | ...  |
+| ...                  | ...                                             |          | ...  |
+
+## 如何使用
+
+以变化检测任务为例,其余任务的使用方法与此类似。
+
+```python
+import paddlers.transforms as T
+from paddlers.datasets import CDDataset
+
+
+train_transforms = T.Compose([
+    T.Resize(target_size=512),
+    T.RandomHorizontalFlip(),
+    T.Normalize(
+        mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]),
+])
+
+train_dataset = CDDataset(
+    data_dir='xxx/xxx',
+    file_list='xxx/train_list.txt',
+    label_list='xxx/labels.txt',
+    transforms=train_transforms,
+    shuffle=True)
+```

+ 0 - 0
docs/tools.md → docs/data/tools.md