深度学习遥感影像(哨兵2A/B)超分辨率
这段时间,用到了哨兵影像,遇到了一个问题,就是哨兵影像,它的RGB/NIR波段是10米分辨率的,但是其他波段是20米和60米的,这就需要pansharpening了,所以我们需要设计一种算法来进行解决.
先把哨兵2的参数贴上来吧:
通常pansharpening方法,都是一个全色波段提供空间信息,其他低分辨率多光谱波段提供光谱信息,然后将两者进行融合,这样就得到了高分辨率多光谱影像,但是这里有一个问题,就是哨兵影像有四个“全色”波段,能不能都用到呢?
这里贴上一篇2018年的哨兵影像pansharpening方法:Lanaras C , Bioucas-Dias, José, Galliani S , et al. Super-resolution of Sentinel-2 images: Learning a globally applicable deep neural network[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2018, 146:305-319.大家有兴趣可以看看这篇文献,里面提供了基于深度学习方法的哨兵超分思想,这也是我们后续改进的基本参考。
他的这篇文献里面提供的核心思想是,用深度学习网络去拟合数据,这些网络架构就不多说了,注意的一点就是去掉了batch norm层,提高了计算效率。哨兵影像超分的核心思想是如何准备样本的问题,这篇文献的样本制作方法如下所示:
这个思想就是,降尺度数据。比如说,将10米数据首先通过高斯模糊,然后通过双三次卷积得到降尺度后的20米数据,作为训练样本,我自己在进行实验的时候,发现采用最近领插值方法得到效果更为理想,迷之问题。。。
说了这么多,这里提出我们的超分网络:
图 深度学习超分网络架构
终于贴上我们的网络,我经过大量的实验(其实也没几个。。。显卡太差,很穷!!),发现6层和32层并没有什么很大的区别,但是网络宽度与最终的精度差别较大,一般来说卷积核个数越多,最终的精度越高,推荐256个,
但是GPU显存要求太高,这就看大家的权衡了。好吧,贴上我们的实验结果吧!
图 超分结果
图 原始影像
我们对细节进行一下对比:
图 超分结果
图 原始影像
再来看一下其他地区的效果是什么样子的:
上面是融合前的影像,下面是融合后的影像:
图 融合(超分)后的多光谱影像
从这里可以看出,超分影像,在保持光谱不变的同时,能够有效获得更高分辨率细节信息,但是仍然有一点不太对劲的地方,就是深度学习方法它在纹理明显的地方超分的结果比较好,比如大片农田,但是对于城区等地区,效果则并不那么完美,
可能这也是深度学习方法的一个缺点,对了,还要说一下我们的训练数据集,我选择了西藏,深圳,北京,上海,长沙五个地区的8景哨兵2影像,然后每一景选择了8000个64*64样本块进行训练,单GPU训练了1天左右,则loss降到最低的时候选择终止训练,保存
模型结果!
最后,我们可以看到深度学习在遥感影像超分领域的巨大潜力,但是目前也有一些小问题,比如说,均方差很难下降,训练参数的设置问题等等。最后,如有问题,欢迎联系qq:1044625113,Email,1044625113@qq.com,欢迎大家联系交流!