本次任务覆盖广东省部分地区数百平方公里的土地,其数据共3个大文件,存储在OSS上,供所有参赛选手下载挖掘。
卫星数据以Tiff图像文件格式储存。quickbird2015.tif是一张2015年的卫星图片,quickbird2017.tif是一张2017年的卫星图片。每个Tiff文件中有4个波段的数据:蓝、绿、红、近红外。本次比赛的卫星数据为多景数据拼接而成,这是国土资源工作中常见的实际场景。比赛数据在蓝、绿两个波段有明显的拼接痕迹,而红、近红外波段的拼接痕迹不明显。建议选手挑选波段使用数据,或者在算法中设计应对方案。每个像元以16-bit存储。Quickbird卫星数据的详细描述可以参见:
https://www.satimagingcorp.com/satellite-sensors/quickbird/
2015年度的国土审批纪录也以Tiff图像文件格式储存,命名为Cadastral2015.tif。其中包含了国土审批数据中大约5%的地块,这些地块的位置在图像中数值定为1,其余地区的位置在图像中数值定为0。值得注意的是:政府在2015年度审批的国土建设地块并不一定在2017年完成了建设,同时选手获取的审批地块图片也仅是所有审批纪录中的一小部分。因此,本次大赛国土审批纪录不是一份训练数据,而只是一个线索。
在初赛第一阶段,我们将提供一份人工精确标注的小型数据集,便于所有选手上手,命名为tinysample.tif。但是,我们推荐选手对国土审批地块图片进行人工甄别,筛选建造自己的训练集。决赛最终使用的训练集可以来自本次大赛所覆盖的全部地区。
图1:卫星图片和国土审批记录叠加在一起
上图中红/绿色地块是2015年政府批复下来的不同土地开发项目。 Tiff数据可以用各种编程语言读写。比如在Python语言中可以使用PIL库(Pillow版本), 请参见https://python-pillow.org ;或者是GDAL库,请参见https://pcjericks.github.io/py-gdalogr-cookbook/ 。同时,推荐选手使用开源软件QGIS来观察/编辑卫星图片数据,请参见www.qgis.org 。
基于U-Net检测卫星图像上的新增建筑
关注微信公众号 datayx 然后回复 unet 即可获取。
AI项目体验地址 https://loveai.tech
针对原始图像存在的两个问题:
给出如下图所示的解决方法:
步骤1到步骤4的代码请参考genrate_mask.ipynb(需要人工交互操作),步骤5的代码请参考denoise.py,该操作的核心代码如下:
如下图,标注训练数据时,我们只挑选一些有代表性的区域进行标注,保证在选择的区域内,标注的白色区域一定是房子变化,而黑色区域一定不是。得到所选区域的标签后,再分割成多个小图像组成我们数据集。
从手工标注的mask图像到训练用到的.npy文件,参考代码process_mark.py,该部分的核心代码如下:
读取.npy文件以生成训练用到的小图,参考代码generators.py,该部分的核心代码如下:
使用数据增强对提高模型的泛化能力很有帮助,目前我们只使用了上面四种增强方法,在imgaug.py里还有其他数据增强的实现代码。
使用U-Net检测新增建筑的整体流程如下:
U-Net的整体架构如下:
实现U-Net的代码请参考unet.py。
将loss权重不同的模型得到的结果进行融合(像素级或操作),如下图所示:
该部分的代码请参考post_process.py,其中核心代码如下: