之前一直想开发一种全自动的大气矫正方法,但是基于6s等模型方法,需要气溶胶等各种参数问题,导致开发一直处于停滞状态,最近看到了南京信息工程大学的Muhammad Bilal教授2019年发表在Remote Sensing上面的大气校正方法,感觉很有意思,特此实现一把。
这个大气校正方法的核心思想是,只需要太阳和传感器方位角、高度角、表观反射率数据即可,这就非常方便了,无需任何大气参数输入了,从本质上来说,其实是对6S大气矫正模型的简化而已。 如果各位有任何问题,欢迎联系qq1044625113;Email:1044625113@qq.com.
下面对其核心原理进行一下分析:
图1. 整体算法流程
这里面的核心思想就是,简化了水汽吸收、臭氧吸收等一些大气参数,用了一个简单的数学模型进行了估计,从而得到大气矫正结果,如果大家对他的关键技术有兴趣,可以仔细阅读原文。在这里,我不提过多的意见,当然这篇文章是有漏洞的,行家应该一眼能看出来。
我简单用纯matlab进行了实现(之所以没用python,是因为懒),如果需要代码可以同我联系,下面是大气矫正完的结果:
图(a) 表观反射率图 图(b) 大气校正结果
从这个结果可以看出,还是很不错的,地表反射率基本上符合视觉效果,我对其中的数值进行了比较,结果不错!
这个算法有一个好处,就是只需要方位角、天顶角参数即可,无需复杂大气参数等,对于国产高分一号、高分二号、高分六号都可以进行,这就非常方便,这完全能够应用到大批量工程生产中,
如果用并行算法、GPU计算等,把效率拔高一个档次不是问题,纯matlab代码下,i7 7700HQcpu执行完大概是60秒,IDL代码需要5倍以上时间。。。为什么IDL这么慢。。。说一句题外话,我个人
觉得真正的研发是服务于大批量的工程生产中的,任何空中楼阁的算法研究是没有任何意义的,这与MIT的思想是一致的,我从研究生毕业后,转变了观念,不管是因为兴趣还是什么的,我都会思考一下,
这个东西是否真的有用,是否能真的大批量用起来,或者说能够改变现有模式。我举一个例子,遥感影像去云,很多人写文章喜欢用多期影像去替换云区域,我的内心其实很想说一句,有时候只有这么一
景,我去哪里找替换的呢?所以我觉得这个研究其实意义不大,应当转向如何大批量全自动云掩膜、全自动替换的工程研究中,例如分块GPU并行等。
好吧,先扯到这里!