标签:ext 技术 标签 code 算法 像素 loading 判断 计算
复现代码地址:https://github.com/xuhongwei237/change-detection
论文地址:A Deep Learning Method for Change Detection in Synthetic Aperture Radar Images
中文地址:基于深度神经网络的SAR图像变化检测
Task:
考虑两张已配准好的SAR 图像:
两张SAR图像有相同的尺寸A*B,它们来自相同的地理位置不同的时刻,这两张SAR图像被相干噪声污染,需要设计高效的变化检测算法在两张图像中找到变化的区域。
算法的过程:
步骤1.计算相似性矩阵Sij,再通过空间模糊聚类算法生成伪标签BI;
预分类(3.2.1)
相似度公式:,其中,代表在t时刻图像上位置处(i,j)的灰度值。
伪标签矩阵是二值矩阵,矩阵中的两个值分别代表变化的类和未变化的类。但是并不是所有的伪标签都准确,因此需要选择一些合适的伪标签用于卷积神经网络的训练。
步骤2.在伪标签中选择出合适的训练样本;
生成训练样本(3.2.2)
确定一个领域尺寸(如3x3),分别在两个图像上取像素块,对应位置的图像块进行堆叠。如果SAR图像中的像素点数量是m,那么将获得m个小样本图像。
选择合适的伪标签(3.2.3)
卷积神经网络需要样本进行训练,在训练网络之前,需要依据伪标签选取合适的训练样本用于训练。需要选取那些有较高概率正确分类的像素点来训练卷积神经网络。
通过如下公式来判断该样本点是否满足需求:
表示对应的标签值,表示中与有相同标签的像素点的个数。系数α决定了是否被选择作为样本。通过这个公式,就可以得到一批带有伪标签的训练样本,用来训练卷积神经网络。
步骤3.将训练样本送入卷积神经网络中进行训练;
步骤4.网络训练完成后,将测试样本送入卷积神经网络中得出分类结果(变化的类和未变化的类)。 相关设置:在论文中,使用的卷积神经网络结构如上图所示,该卷积神经网络包含两个卷积层和两个池化层,卷积核大小为2*2,步长为1。第一个卷积层中卷积核个数为 12 个,第二个卷积层中卷积核个数是 24 个,两个池化层均采用均值池化的方法,损失函数为二元交叉熵损失。参数α控制着样本的选择,设置为 0.6。n代表着样本选择中的邻域大小,设置n为5。也就是每个选择出来的训练样本大小为5*5,然后在样本的最外层扩充一层 0,这样最终得到的样本大小为7*7。
下面是三个数据集的Ground Truth和复现的结果(不是太好,可能是SFCM写的有问题,也可能需要进一步调参,没有深究)。
Ottawa FarmlandC FarmlandD
A Deep Learning Method for Change Detection in Synthetic Aperture Radar Images(变化检测论文复现附代码)
标签:ext 技术 标签 code 算法 像素 loading 判断 计算
原文地址:https://www.cnblogs.com/xhw19950606/p/13286302.html