目录
简要介绍SwinSTFM
SwinSTFM是一个基于Swin-transformer架构的用于遥感时空融合的模型,主要分为两个板块,一是特征提取模块,可以理解为transfoemer的Encoder模块,二是多级融合模块,可以简单理解为Decoder模块。
如果想看懂原理,建议优先阅读原论文。
环境搭建
我复现的环境是python3.9 + torch1.13.X环境其余包可以直接安装,值得一提的是pip安装gdal需要进行离线安装,可以使用conda安装gdal进而直接安装rasterio,另外torch安装的时候建议直接进入官方网站复制想要的命令(conda的命令-nvidia会很慢需要等很久)。
如果你需要保证其原有效果,建议考虑requirement.txt文件,需要注意的是python版本最好在3.6与3.9之间。
数据集设计
建议使用代码中指出的的数据集样式即命名为年份_天数(是一年中的第几天)_月份加日期命名文件夹,文件夹中.npy数据要以MOD-或者LAN开头,图中是已经改了代码的样式。
数据集分好之后需要运行generate_data.py文件,这个文件是将训练数据分为多少个patch。
image_size 改为你数据集的数据的大小
patch_size 改为你想得到的patch大小
root_dir 改为数据集的根目录
train_datas 为数据集中的文件夹名字
(我没明白那个LGC数据集,换了个自己找的数据集复现的)
Train部分
train部分需要注意的是train_dir是存放patch的目录
请注意cur_day那个判断中[149,229,261]这个里面的数字代表天数,请改为数据集中有的数字。
然后将data.py中的10000改为数据集相应的位深,所有有关于10000的数值都需要改为相应位深的数值。
test.py也做相应处理。