慢特征分析(slow feature analysis, SFA)是一种非监督学习方法,它可以从时间序列中提取变化缓慢的特征。在数学上,SFA可以表示成为一个最优化问题,在保持信号信息量的前提下,最小化输出信号的变化频率。
给定一个n维的时序输入信号 [ x 1 ( t ) , x 2 ( t ) , . . . , x n ( t ) ] [x_{1}(t),x_{2}(t),...,x_{n}(t)] [x1(t),x2(t),...,xn(t)] ,SFA旨在找到一组函数 [ g 1 ( x ) , g 2 ( x ) , . . . , g M ( x ) ] [g_{1}(x),g_{2}(x),...,g_{M}(x)] [g1(x),g2(x),...,gM(x)] ,通过这组函数得到输出信号 ,这些信号变化得尽可能慢但是又包含了重要的信息。SFA的线性模型可以写成如下形式:
m i n Δ j = Δ ( z j ) = < z j 2 ˙ > min \Delta_{j}= \Delta(z_{j})=<\dot{z_{j}^{2}}> minΔj=Δ(zj)=<zj2˙>
s . t . { < z j > t = 0 < z j 2 > t = 1 ∀ i < j , < z i z j > t = 0 s.t.\left\{\begin{matrix}<z_{j}>_{t} =0 \\ <z_{j}^{2}>_{t} =1 \\ {\forall}i<j,<z_{i}z_{j}>_{t} =0 \end{matrix}\right. s.t.⎩⎨⎧<zj>t=0<zj2>t=1∀i<j,<zizj>t=0
< ⋅ > t <\cdot >_{t} <⋅>t 表示序列的期望, z ˙ \dot{z} z˙表示时序差分,在线性的情况下, g j ( x ) = w j T x g_{j}(x)=w_{j}^{T}x gj(x)=wjTx 。
我们对x进行中心化,这样即可满足约束(1),目标函数和后两个约束可重写为
Δ ( z j ) = < z j 2 ˙ > t = < ( w j T x ˙ ) 2 > t = w j T < x ˙ x ˙ T > t w j = w j T A w j \Delta(z_{j})=<\dot{z_{j}^{2}}>_{t}=<(w_{j}^{T}\dot{x})^{2}>_{t}=w_{j}^{T}<\dot{x}\dot{x}^{T}>_{t}w_{j}=w_{j}^{T}Aw_{j} Δ(zj)=<zj2˙>t=<(wjTx˙)2>t=wjT<x˙x˙T>twj=wjTAwj
< z j 2 > t = < ( w j T x ) 2 > t = w j T < x x T > t w j = w j T B w j <z_{j}^{2}>_{t} =<(w_{j}^{T}x)^{2}>_{t}=w_{j}^{T}<xx^{T}>_{t}w_{j}=w_{j}^{T}Bw_{j} <zj2>t=<(wjTx)2>t=wjT<xxT>twj=wjTBwj
< z i z j > t = < ( w i T x ) 2 > t = w i T < x x T > t w j = w i T B w j <z_{i}z_{j}>_{t}=<(w_{i}^{T}x)^{2}>_{t}=w_{i}^{T}<xx^{T}>_{t}w_{j}=w_{i}^{T}Bw_{j} <zizj>t=<(wiTx)2>t=wiT<xxT>twj=wiTBwj
将约束(2)加入目标函数(1)中,则目标函数可以重写为
Δ ( z j ) = w j T A w j w j T B w j \Delta(z_{j})=\frac{w_{j}^{T}Aw_{j}}{w_{j}^{T}Bw_{j}} Δ(zj)=wjTBwjwjTAwj
这个优化问题可以转化为一个广义特征值问题
A W = B W Λ AW=BW\Lambda AW=BWΛ
其中W是广义特征向量组成的矩阵,广义特征向量即为 w j w_{j} wj, Λ \Lambda Λ是广义特征值组成的对角矩阵且 Δ ( z j ) = λ j \Delta(z_{j})=\lambda_{j} Δ(zj)=λj。
慢特征的顺序由特征值的顺序决定,最慢的输出信号 Δ ( z 1 ) < Δ ( z 2 ) < ⋯ < Δ ( z N ) \Delta(z_{1})<\Delta(z_{2})<\cdots<\Delta(z_{N}) Δ(z1)<Δ(z2)<⋯<Δ(zN)具有最小的特征值 λ 1 < λ 2 < ⋯ < λ N \lambda_{1}<\lambda_{2}<\cdots<\lambda_{N} λ1<λ2<⋯<λN。
遥感慢特征分析理论能够在多时相遥感影像数据中提取不变特征,减小未变化像素的辐射差异,提高变化像素和未变化像素之间的可分性。利用遥感慢特征分析理论进行变化检测的原理如图2.1所示。
在原始的光谱空间中,由于辐射差异的存在,未变化像素的差值不等于0。变化像素和未变化像素之间的可分性也不够高。SFA变化检测旨在寻找一个新的特征空间,在新的空间中,未变化像素的差值最小,从而更好地突出变化区域。
和原始的SFA不同,在变化检测问题中不存在连续的时间序列结构,因此基于SFA的变化检测技术可以重新表达为如下形式。
给定一对同一位置的光谱向量 x i = [ x 1 i ( t ) , x 2 i ( t ) , . . . , x n i ( t ) ] x^{i}=[x_{1}^{i}(t),x_{2}^{i}(t),...,x_{n}^{i}(t)] xi=[x1i(t),x2i(t),...,xni(t)]和 y i = [ y 1 i ( t ) , y 2 i ( t ) , . . . , y n i ( t ) ] y^{i}=[y_{1}^{i}(t),y_{2}^{i}(t),...,y_{n}^{i}(t)] yi=[y1i(t),y2i(t),...,yni(t)],首先对其进行标准化
x ^ j i = x j i − μ x j σ x j a n d y ^ j i = y j i − μ y j σ y j \widehat{x}_{j}^{i}=\frac{x_{j}^{i}-\mu_{x_{j}}}{\sigma_{x_{j}}} \ and\ \widehat{y}_{j}^{i}=\frac{y_{j}^{i}-\mu_{y_{j}}}{\sigma_{y_{j}}} x ji=σxjxji−μxj and y ji=σyjyji−μyj
然后SFA的线性模型可以重写成如下形式:
m i n 1 P ∑ i = 1 P ( g j ( x ^ i ) − g j ( y ^ i ) ) 2 min \frac{1}{P}\sum_{i=1}^{P}\left ( g_{j}(\widehat{x}^{i})-g_{j}(\widehat{y}^{i})\right )^2 minP1i=1∑P(gj(x i)−gj(y i))2
s . t . { 1 2 P [ ∑ i = 1 P g j ( x ^ i ) + ∑ i = 1 P g j ( y ^ i ) ] = 0 1 2 P [ ∑ i = 1 P g j 2 ( x ^ i ) + ∑ i = 1 P g j 2 ( y ^ i ) ] = 1 ∀ i < l , 1 2 P [ ∑ i = 1 P g j ( x ^ i ) g l ( x ^ i ) + ∑ i = 1 P g j ( y ^ i ) g l ( y ^ i ) ] = 0 s.t.\left\{\begin{matrix}\frac{1}{2P}\left [\sum_{i=1}^{P}g_{j}(\widehat{x}^{i})+\sum_{i=1}^{P}g_{j}(\widehat{y}^{i}) \right ]=0 \\ \frac{1}{2P}\left [\sum_{i=1}^{P}g_{j}^{2}(\widehat{x}^{i})+\sum_{i=1}^{P}g_{j}^{2}(\widehat{y}^{i}) \right ]=1 \\ {\forall}i<l,\frac{1}{2P}\left [\sum_{i=1}^{P}g_{j}(\widehat{x}^{i})g_{l}(\widehat{x}^{i})+\sum_{i=1}^{P}g_{j}(\widehat{y}^{i})g_{l}(\widehat{y}^{i}) \right ]=0 \end{matrix}\right. s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧2P1[∑i=1Pgj(x i)+∑i=1Pgj(y i)]=02P1[∑i=1Pgj2(x i)+∑i=1Pgj2(y i)]=1∀i<l,2P1[∑i=1Pgj(x i)gl(x i)+∑i=1Pgj(y i)gl(y i)]=0
A和B可以表示为
A = 1 P ∑ i = 1 P ( x ^ i − y ^ i ) ( x ^ i − y ^ i ) T = Σ Δ A=\frac{1}{P}\sum_{i=1}^{P}\left (\widehat{x}^{i}-\widehat{y}^{i} \right )\left (\widehat{x}^{i}-\widehat{y}^{i} \right )^{T}=\Sigma_{\Delta} A=P1i=1∑P(x i−y i)(x i−y i)T=ΣΔ
B = 1 2 P [ ∑ i = 1 P ( x ^ i ) ( x ^ i ) T + ∑ i = 1 P ( y ^ i ) ( y ^ i ) T ] = 1 2 ( Σ x + Σ y ) B=\frac{1}{2P}\left [\sum_{i=1}^{P}\left (\widehat{x}^{i} \right )\left (\widehat{x}^{i}\right )^{T}+\sum_{i=1}^{P}\left (\widehat{y}^{i} \right )\left (\widehat{y}^{i}\right )^{T}\right ]=\frac{1}{2}\left (\Sigma_{x}+\Sigma_{y}\right ) B=2P1[i=1∑P(x i)(x i)T+i=1∑P(y i)(y i)T]=21(Σx+Σy)
优化问题可以表示为
w j T A w j w j T B w j = w j T Σ Δ w j w j T 1 2 ( Σ x + Σ y ) w j \frac{w_{j}^{T}Aw_{j}}{w_{j}^{T}Bw_{j}}=\frac{w_{j}^{T}\Sigma_{\Delta}w_{j}}{w_{j}^{T}\frac{1}{2}\left (\Sigma_{x}+\Sigma_{y}\right )w_{j}} wjTBwjwjTAwj=wjT21(Σx+Σy)wjwjTΣΔwj
优化问题可以转化为广义特征值问题
Σ Δ W = 1 2 ( Σ x + Σ y ) W Λ \Sigma_{\Delta}W=\frac{1}{2}\left (\Sigma_{x}+\Sigma_{y}\right )W\Lambda ΣΔW=21(Σx+Σy)WΛ
求解即可得到投影矩阵W。最终SFA变量可以由下式计算
S F A = W T x ^ − W T y ^ SFA=W^{T}\widehat{x}-W^{T}\widehat{y} SFA=WTx −WTy
本质上来说,遥感慢特征分析就是希望能够寻找到一组函数,在包含大量信息的同时,令投影后的不变特征差值有着最小的方差。
根据上述遥感慢特征分析理论,论文中具体提出了三种变化检测算法,分别是非监督慢特征分析(USFA)、监督慢特征分析(SSFA)和迭代慢特征分析(ISFA)。
USFA是将整个多时相遥感影像作为输入来学习投影矩阵,所以如果真实变化相较于整个影像而言并不是特别异常,真实变化就会明显影响投影矩阵,使变化检测精度降低。
SSFA则是从影像上人工选取未变化像元作为训练样本来学习投影矩阵,与USFA相比,SSFA能够应用到常规变化检测问题中,但是SSFA需要大量有代表性的未变化样本,这些样本必须尽量包含所有类型的未变化地物。
ISFA的基本思想和IRMAD相似,通过迭代定权的方式,令未变化像素在计算中越来越重要,变化像素在计算中的影响越来越小,从而学习到最佳的投影矩阵。
由于SFA变量是X和Y的线性组合,根据中心极限定理,SFA变量近似满足正态分布,因此SFA变量的平方除以方差之和服从自由度为p的卡方分布
T j = ∑ i = 1 P ( S F A i j 2 λ ) ∈ χ 2 ( p ) T_{j}=\sum_{i=1}^{P}\left(\frac{SFA_{ij}^{2} }{\lambda}\right) \in \chi^{2}\left(p\right) Tj=i=1∑P(λSFAij2)∈χ2(p)
根据 T j T_{j} Tj即可判断各个像素是否发生变化。
ISFA就是在USFA的基础上根据 T j T_{j} Tj距离进行加权迭代
w j = P { T j > t } = P { χ 2 ( p ) > T j } w_{j}=P\left\{T_{j}>t \right\}=P\left\{\chi^{2}\left(p\right)>T_{j} \right\} wj=P{Tj>t}=P{χ2(p)>Tj}
然后让 w j w_{j} wj参与到下一次的均值、方差以及矩阵A、B的计算中
X i ‾ = ∑ j = 1 N w j X j i ∑ j = 1 N w j \overline{X_{i}}=\frac{\sum_{j=1}^{N}w_{j}X_{ji}}{\sum_{j=1}^{N}w_{j}} Xi=∑j=1Nwj∑j=1NwjXji
S k l = ∑ j = 1 N w j ( X j k − X k ‾ ) ( X j l − X l ‾ ) ( N − 1 ) ∑ j = 1 N w j / N S_{kl}=\frac{\sum_{j=1}^{N}w_{j}\left( X_{jk}-\overline{X_{k}}\right) \left( X_{jl}-\overline{X_{l}}\right)}{(N-1)\sum_{j=1}^{N}w_{j}/N} Skl=(N−1)∑j=1Nwj/N∑j=1Nwj(Xjk−Xk)(Xjl−Xl)
A = ∑ i = 1 P w i ( x ^ i − y ^ i ) ( x ^ i − y ^ i ) T ∑ i = 1 P w i A=\frac{\sum_{i=1}^{P}w^{i}\left (\widehat{x}^{i}-\widehat{y}^{i} \right )\left (\widehat{x}^{i}-\widehat{y}^{i} \right )^{T}}{\sum_{i=1}^{P}w^{i}} A=∑i=1Pwi∑i=1Pwi(x i−y i)(x i−y i)T
B = 1 2 ∑ i = 1 P w i [ ∑ i = 1 P w i ( x ^ i ) ( x ^ i ) T + ∑ i = 1 P w i ( y ^ i ) ( y ^ i ) T ] B=\frac{1}{2\sum_{i=1}^{P}w^{i}}\left [\sum_{i=1}^{P}w^{i}\left (\widehat{x}^{i} \right )\left (\widehat{x}^{i}\right )^{T}+\sum_{i=1}^{P}w^{i}\left (\widehat{y}^{i} \right )\left (\widehat{y}^{i}\right )^{T}\right ] B=2∑i=1Pwi1[i=1∑Pwi(x i)(x i)T+i=1∑Pwi(y i)(y i)T]
得到A、B后根据广义特征值问题求解得到投影矩阵,接着继续计算 T j T_{j} Tj和 w j w_{j} wj,反复迭代直到 λ \lambda λ收敛。
在第二节ISFA部分我们提到,ISFA算法通过迭代定权的方式,令未变化像素在计算中越来越重要,变化像素在计算中的影响越来越小,从而学习到最佳的投影矩阵,因此变化像素最终的权值会接近0,而不变的像素的权值将接近1。而相对辐射校正需要提取两景影像中伪不变特征(Pseudo-Invariant Features, PIFs),利用PIFs计算两景影像的线性关系从而完成相对辐射校正。
在论文[2]这篇文章中,作者提出了一种基于ISFA的相对辐射自动校正算法,将ISFA得到的权值结果直接参与到相对辐射校正中。对于变化区域在影像中所占比重较大情况,作者在ISFA的基础上提出了基于初始种子的ISFA的相对辐射校正算法(S-ISFA),通过给少部分变化区域赋权为1作为初始种子,使得算法可以很好的用于变化区域在影像中所占比重较大情况,并且实验结果显示最终的迭代结果并不依赖于初始种子的选取。
算法的具体流程如下:
利用Python实现了USFA和ISFA,SSFA由于涉及到样本选取,没有进行实现。算法实现完成后在泰州2000年和2003年的两幅TM遥感影像上进行了实验。
USFA算法在泰州数据上的6个SFA波段如图4.1.1所示。
图中非常亮的或者非常暗的区域代表变化、灰色区域代表未变化。可以看出在前四个波段,变化区域从未变化区域中被分离出来,后两个波段只包含少量变化信息。
ISFA算法运行了23轮收敛, λ \sqrt {\lambda} λ迭代趋势如图4.1.2所示。
ISFA算法在泰州数据上的6个SFA波段如图4.1.3所示。
图中非常亮的或者非常暗的区域代表变化、灰色区域代表未变化。可以看出变化的区域在前三个波段被很好地从未变化地物中分离出来。同时ISFA提取的变化信息要优于USFA。
由于 T j T_{j} Tj包含了6个波段的信息,利用K-means算法对 T j T_{j} Tj进行阈值分割,得到bianry change map如图4.1.4所示。
利用ROC曲线将SFA算法和MAD算法进行比较,如图4.1.5所示。
从ROC曲线和计算得到的AUC可以看出MAD算法和SFA算法都是非常好的非监督变化检测算法,它们都可以达到很高的精度。相比较而言,SFA算法的结果要略优于MAD算法:USFA的精度要高于MAD算法,ISFA算法的迭代结果也要略优于IRMAD算法。
论文中提到,相对辐射校正有三种线性回归方程,分别是LSR, NR和OR,实验结果显示LSR的效果最好,因此在实验过程中均采用LSR。
对泰州的数据进行相对辐射校正,校正的目标影像为2000年,参考影像为2003年。校正前后第一波段的数据和参考影像如图4.2.1所示。
由于大气、照明条件、太阳高度角等条件的不同,可以看出校正前a和c在整体色调上存在明显的差异,a整体的灰度值更大,显得更亮。而经过相对辐射校正后,b在整体灰度上和c更为接近,而对于未变化的区域,如影像的四个角点区域,两影像灰度基本一致。
在论文[3]中作者提出了一种基于PCA和K-means的变化检测方法,在泰州数据上PCA&K-means算法得到的结果很差,kappa系数只有0.02,现在对泰州数据进行了相对辐射校正后,在校正后的数据上运行该算法,得到binary change map如图4.2.2所示。
从binary change map中我们可以看出未进行相对辐射校正时,由于辐射差异的存在,算法把影像中间大片未变化的区域判定为变化区域,而对于影像右侧的那条道路却判定为未变化,可以看出PCA&K-means算法并不具有仿射无关性。
相对辐射校正前后的精度见表4.2.1。
论文[1] Slow Feature Analysis for Change Detection in Multispectral Imagery https://ieeexplore.ieee.org/document/6553145
论文[2] Automatic Radiometric Normalization for Multitemporal Remote Sensing Imagery with ISFA https://ieeexplore.ieee.org/document/6737226
论文[3] Unsupervised Change Detection in Satellite Images Using Principal Component Analysis and k-Means Clustering https://ieeexplore.ieee.org/document/5196726