GeoSeg 开源项目使用教程
1. 项目介绍
GeoSeg 是一个用于自动建筑物分割和轮廓提取的计算机视觉包。该项目旨在通过深度学习技术,从遥感图像中自动识别和分割建筑物,适用于城市规划、灾害评估等领域。GeoSeg 基于 PyTorch 框架,提供了丰富的预处理工具和模型训练脚本,方便用户快速上手和定制化开发。
2. 项目快速启动
2.1 环境准备
首先,确保你已经安装了以下依赖:
- Python 3
- PyTorch == 0.4.1
- Mamba
你可以通过以下命令安装这些依赖:
pip install torch==0.4.1
pip install mamba
2.2 克隆项目
使用 Git 克隆 GeoSeg 项目到本地:
git clone https://github.com/huster-wgm/geoseg.git
cd geoseg
2.3 数据准备
下载官方提供的遥感图像数据集,并将其放置在 data/vaihingen
目录下。然后,使用以下命令生成训练和测试数据集:
# 生成训练集
python GeoSeg/tools/vaihingen_patch_split.py \
--img-dir "data/vaihingen/train_images" \
--mask-dir "data/vaihingen/train_masks" \
--output-img-dir "data/vaihingen/train/images_1024" \
--output-mask-dir "data/vaihingen/train/masks_1024" \
--mode "train" \
--split-size 1024 \
--stride 512
# 生成测试集
python GeoSeg/tools/vaihingen_patch_split.py \
--img-dir "data/vaihingen/test_images" \
--mask-dir "data/vaihingen/test_masks_eroded" \
--output-img-dir "data/vaihingen/test/images_1024" \
--output-mask-dir "data/vaihingen/test/masks_1024" \
--mode "test" \
--split-size 1024 \
--stride 512
2.4 模型训练
使用以下命令开始模型训练:
python run.sh
2.5 模型评估
训练完成后,使用以下命令进行模型评估:
python eva.sh
3. 应用案例和最佳实践
3.1 城市规划
GeoSeg 可以用于自动识别和分割城市中的建筑物,帮助城市规划者快速获取建筑物分布信息,从而进行更有效的城市规划。
3.2 灾害评估
在灾害发生后,GeoSeg 可以快速识别受损建筑物,为救援和重建工作提供数据支持。
3.3 土地利用分析
通过建筑物分割,GeoSeg 可以帮助分析土地利用情况,为土地管理和政策制定提供依据。
4. 典型生态项目
4.1 OpenStreetMap
OpenStreetMap 是一个开源的地图项目,GeoSeg 可以与其结合,自动更新地图中的建筑物信息。
4.2 QGIS
QGIS 是一个开源的地理信息系统软件,GeoSeg 的输出结果可以导入 QGIS 进行进一步的分析和可视化。
4.3 TensorFlow
虽然 GeoSeg 基于 PyTorch,但其模型可以导出为 ONNX 格式,从而在 TensorFlow 生态中使用。
通过以上步骤,你可以快速上手并应用 GeoSeg 项目,实现自动建筑物分割和轮廓提取。