地理空间人工智能的数据准备
geolabel-maker的Python项目详细描述
地理标签制造商
此工具用于帮助您为地理空间人工智能准备数据。在
使用geolabel-maker
,您可以将卫星或航空图像与
矢量空间数据创建您自己的地面真相数据集。这个Python包可以
在COCO format中为深度学习模型生成最终的数据集。在
它旨在将这四个必要步骤联系起来:
- 从几何图形和光栅文件创建标签
- 制作虚拟光栅文件,将图像和标签结合起来
- 分割图像和标签虚拟文件创建瓷砖
- 为特定缩放级别创建COCO格式的注释JSON文件。在
安装
要求
- Python 3.6
- 格达尔
GDAL
作为一种特殊情况,GDAL不包含在setup.py
文件中。在
对于Ubuntu
发行版,安装此程序需要以下操作:
sudo apt-get install libgdal-dev
sudo apt-get install python3-gdal
GDAL版本可通过以下方式进行验证:
^{pr2}$之后,一个简单的pip install gdal
(或conda install gdal
)就足够了,但是考虑到我们自己的经验,在Ubuntu上就不是这样了。必须为Python检索与系统GDAL相对应的GDAL:
pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==`gdal-config --version`
python3 -c "import osgeo;print(osgeo.__version__)"
对于其他操作系统,请访问GDAL
安装文档。在
安装pip
pip install geolabel-maker
使用
输入
An sample dataset is available in the
data/
folder. See the Examples paragraph to more information.
要以COCO格式创建标签和注释,您需要:
IMG
:包含要标记的图像的文件夹的路径CATEGORIES
:一个JSON文件,每个文件都有一个惟一的id,对预期类别的描述 向量标签文件的路径,颜色为RGB三元组。在TILES
:将记录平铺(256x256像素图像)的文件夹
类别文件示例:
{"category_1":{"id":1,"file":"path to your category_1 vector file","color":[150,0,0]},"category_2":{"id":2,"file":"path to your category_2 vector file","color":[255,255,255]}}
支持的格式:
我们使用基于GDAL驱动程序的包。在
- 有关图像,请参见raster formats:
- 吉奥蒂夫
- JPEG2000
- ASCII网格
- 等等
- 有关几何图形,请参见
fiona
包的supported drivers:- ESRI形状文件
- 杰森森
- 加仑千克
- 等等
使用命令行界面
提出了一个命令行接口,其中5个可用
动作(make_labels
,make_rasters
,make_tiles
,make_annotations
和make_all
)。在
分步命令
1。从几何图形和光栅文件创建标签
geolabels make_labels IMG CATEGORIES
2。制作虚拟光栅文件以合并图像和标签
geolabels make_rasters IMG
3。分割图像和标签虚拟文件创建平铺
geolabels make_tiles IMG_VRT LABEL_VRT TILES
4。为特定缩放级别创建COCO格式的注释JSON文件
geolabels make_annotations TILES CATEGORIES
选项:
- --zoom,缩放级别
全局命令
要运行整个过程以获取COCO格式的基本真相,请使用以下命令:
geolabels make_all IMG TILES CATEGORIES
选项:
- --zoom,缩放级别
在Python代码中导入包
fromgeolabel_makerimportgeolabels# Create labels from geometries and raster filesgeolabels.make_labels(img,categories)# Make virtual raster files to combine images and labelsimages_vrt,labels_vrt=geolabels.make_rasters(img)# Split image and label virtual files creating tilesgeolabels.make_tiles(images_vrt,labels_vrt,tiles)# Create an annotation JSON file in the COCO formatgeolabels.make_annotations(tiles,categories)# OR# Run the full processgeolabels.make_all(img,tiles,categories)
示例
data/
文件夹包含来自里昂的几何体(vectors/
),作为开放数据发布在网站https://data.grandlyon.com。
它还包含一个描述用于创建标签的类别的JSON文件示例。在
此文件夹不包含图像,因为此类型的文件太大,Github不支持此类型的文件。
按照我们的示例,只需下载这两个文件并将它们放入data/rasters/
文件夹中:
笔记本
有些Jupyter笔记本电脑(法语)可供选择:
- Use_geolabel_maker.ipynb解释了建立基本真理的过程。在
- Check_coco_annotations.ipynb允许浏览最终的批注文件。在
对于开发者
从源安装
git clone URL
cd geolabel-maker
pip install -e .
预通信mit和linting
- 在
Install pre-commit并运行
在pre-commit install
在提交前检查线迹。在 - 在
如果需要,可以强制对所有文件进行预提交:
在
pre-commit run --all-files
致谢
我们衷心感谢 帮助项目启动,包括 beta测试了软件,给出了反馈,改进了 服务于此版本的代码,或以其他方式支持项目的代码。在
特别感谢你Lucie Camanez 在实习期间启动这个项目。在
我们也承认Adam Kelly 他们的工作帮助我们开发了这个工具。在
- 项目
标签: