地理空间图像语义分割生态系统
RoboSat.pink的Python项目详细描述
Robosat.粉色
地理空间图像语义分割生态系统
目的:
- 数据集质量分析
- 更改检测荧光笔
- 特征提取和完成
主要功能:
- 提供多个命令行工具,您可以组合在一起构建自己的工作流
- 遵循地理空间标准以简化互操作性和数据准备
- 内置最先进的计算机视觉模型和损耗实现(并允许由您自己代替)
- 支持RGB或多波段图像(如多光谱或高光谱)
- 允许数据融合(来自图像或光栅化矢量)
- 可轻松显示、突出显示或选择结果的Web UI工具
- 高性能
文档:
教程:
配置文件:
工具:
- ^{
} 以csv格式生成瓷砖覆盖层:x、y、z - ^{
} 从远程服务器(xyz、wms或tms)下载磁贴 - ^{
} 从openstreetmap.pbf中提取geojson特性 - ^{
} 光栅化矢量特征(geojson或postgis)到光栅平铺 - ^{
} 使用csv tiles cover在slipy map dir中过滤图像 - ^{
} 平铺光栅覆盖率 - ^{
} 在数据集上训练模型 - ^{
} 将模型导出到onnx或torch jit - ^{
} 根据给定的输入和已训练的模型预测掩码 - ^{
} 计算合成图像和/或度量来比较几个xyz dir - ^{
} 从分段掩码中提取简化的geojson特性 - ^{
} 打印robosat.pink版本信息
演示幻灯片:
安装:
带PIP:
pip3 install RoboSat.pink # For latest stable version
或
pip3 install git+https://github.com/datapink/robosat.pink # For current dev version
使用conda,使用虚拟环境:
conda create -n robosat_pink python=3.6 && conda activate robosat_pink
pip install robosat.pink # For latest stable version
使用Ubuntu19.04,从头开始:
sudo sh -c "apt update && apt install -y build-essential python3-pip"
pip3 install RoboSat.pink && export PATH=$PATH:~/.local/bin
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run
sudo sh NVIDIA-Linux-x86_64-430.40.run -a -q --ui=none
使用CentOS 7,从头开始:
sudo sh -c "yum -y update && yum install -y python36 wget && python3.6 -m ensurepip"
pip3 install --user RoboSat.pink
sudo sh -c "yum groupinstall -y 'Development Tools' && yum install -y kernel-devel epel-release"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run
sudo sh NVIDIA-Linux-x86_64-430.40.run -a -q --ui=none
注释:
- 需要:python 3.6或3.7
- gpu并不是严格的强制性的,但是没有gpu,
rsp train
和rsp predict
会-那么-慢。 - 要测试robosat.pink安装,请在终端中启动:
rsp -h
- 在您的
pip
路径设置之后,您可能需要更新它:export PATH=$PATH:.local/bin
数据集:
- 必须使用XYZ tiles format平铺训练和验证数据集。
- 包含xyz tiles的数据集目录可以拆分为:
dataset
├── training
│ ├── images
│ └── labels
└── validation
├── images
└── labels
- 平铺图像格式可以是任何能够被gdal读取的格式。
- 平铺标签应为PNG,带一个条带。
- 生成xyz tiles目录的工具,还生成一个web地图客户端,用于可视化检查。
数据准备:
根据输入的数据类型,创建自己的培训数据集的几种方法:
注:连接到单个箭头点的多个输入表示逻辑或(例如wms、xyz或tms)。
架构:
Pink在深度学习、计算机视觉和地理信息系统堆栈中使用樱桃采摘的开源libs。相关资源:
- Historical MapBox RoboSat github directory
- Christoph Rieke's Awesome Satellite Imagery Datasets
- Satellites in Global Development
参考书目:
- U-Net: Convolutional Networks for Biomedical Image Segmentation
- Deep Residual Learning for Image Recognition
- Angiodysplasia Detection and Localization Using Deep Convolutional Neural Networks
- TernausNetV2: Fully Convolutional Network for Instance Segmentation
- The Lovász-Softmax loss: A tractable surrogate for the optimization of the IoU measure in neural networks
- Joint Learning from Earth Observation and OpenStreetMap Data to Get Faster Better Semantic Maps
- Albumentations: fast and flexible image augmentations
贡献和服务:
欢迎拉取请求!请随意发送代码… 通过gitter启动之前的讨论,或者就任何实现问题提交通知单,不要犹豫。 再看看Makefile rules。
如果您希望通过长期的代码生成和维护进行协作,请与我们联系,可以考虑使用带有特殊治理的联合版本。
如果您想要一个新特性,但不想实现它,DataPink提供core-d电动汽车服务。
粉红机器人的专业知识和培训也由DataPink提供。
如果你想支持整个项目,因为这意味着你自己的业务,资金也是受欢迎的。