亚马逊SpaceNet数据集是作用于机器学习人工智能方面比赛或者研究用的商用数据集。我们在利用深度学习进行卫星图像分割时,比如利用FCN、Deeplab算法进行图像分割时,这些数据集就可以利用起来,而且省去了标记的麻烦。本篇文章简单介绍该数据集的内容并说明如何从awsCLi平台上下载这些数据集。
一共有5个地方的卫星数据,每个地点数据又分为训练集和测试集。
AOI | Area of Raster (Sq. Km) | Building Labels (Polygons) | Road Labels (LineString) |
---|---|---|---|
AOI_1_Rio | 2,544 | 382,534 | N/A |
AOI_2_Vegas | 216 | 151,367 | 3685 km |
AOI_3_Paris | 1,030 | 23,816 | 425 km |
AOI_4_Shanghai | 1,000 | 92,015 | 3537 km |
AOI_5_Khartoum | 765 | 35,503 | 1030 km |
我们以AOI_4_Shanghai数据集为例,打开压缩包可以看到:
分为5个文件夹和一个汇总文件夹,其中标记信息在geojson文件夹中。
需要注意的是,从亚马逊平台下载数据集需要使用命令行方式进行下载,并且你需要有一个亚马逊云平台账号和一个生成的拥有下载权限的密匙。
进入https://aws.amazon.com/cn/这个官网。
注册一个账号,需要注意,下载数据集不需要访问外国网站,但是在下载之前的一些列操作中部分操作是需要访问外国网站的,请确保有一个稳定的访问外国网站软件以便完成之后的操作。
通过之前的官网注册完账号后,打开用户界面(oldpan是我的用户名)选择Security Credentials-安全认证。
然后选择Users-用户,选择Add user-添加用户。
User name-用户名字随便起,选中Access type中的两项(和下图相同即可)
创建好之后就会看到你创建这个用户的Access Key ID 和 Secret access key以及 password,这些是我们之后下载数据集需要输入的信息(密匙可以直接查看或者通过csv下载下来保存起来)。
但是光有用户是不够的,因为我们创建的这个用户并没有下载的权限,这里我们需要创建一个groups组,类似于linux的用户组,赋予这个用户下载数据集的权限。
从管理面板找到IAM这个栏目并点开。
然后创建group,group名字随便起,这里我是spacenet,然后在group政策里policy选择AmazonS3ReadOnlyAccess这个政策,创建即可。
创建好后,将我们之前创建的用户添加到这个组里。
添加到组里我们刚才创建的用户oldpan就有下载数据集的权利了。
命令行不同平台的,这里介绍在linux下python3.6.1版本的下载方式。https://aws.amazon.com/cn/cli/
进入命令行,这里默认python已经安装好了。
pip install awscli
安装命令行平台。
aws configfure
配置账号信息,输入之前额密匙ID和key,后面两个直接回车跳过去:
配置好了就可以下载了。
下载命令可以点击上方介绍数据集名称链接进入具体页面获取,这里举个例子:
aws s3api get-object --bucket spacenet-dataset --key SpaceNet_Roads_Competition/AOI_4_Shanghai_Roads_Train.tar.gz --request-payer requester AOI_4_Shanghai_Roads_Train.tar.gz
数据集下载速度不需要访问外国网站也可以达到满速,但是容易受到干扰造成time out从而导致下载失败,最好找个不错的网络环境进行下载。
文章来源于Oldpan博客
欢迎关注Oldpan博客公众号,持续酝酿深度学习质量文:
Oldpan博客