基于平移不变剪切波和栈式自编码的图像融合方法与流程

文档序号:12735593阅读:来源:国知局

技术特征:

1.基于平移不变剪切波和栈式自编码的图像融合方法,其特征在于,包括如下步骤:

1)待融合的两幅源图像利用平移不变剪切波变换分解为低频子带系数和高频子带系数;

2)对低频子带系数,通过加权取平均的方法进行融合;

3)包含了细节信息的高频子带系数,使用基于稀疏约束栈式自编码(SSAE)特征取大的融合规则进行融合;

4)将步骤2)和3)中得到的融合系数进行平移不变剪切波逆变换得到融合图像。

2.根据权利要求1所述的基于平移不变剪切波变换的图像融合方法,其特征在于,所述步骤1)包括:将待融合的两幅源图像A和B,利用平移不变剪切波变换分别将两幅图像分解为低频子带系数和高频子带系数

3.根据权利要求1所述的基于平移不变剪切波变换的图像融合新方法,其特征在于,所述步骤2)包括如下步骤:

<mrow> <msubsup> <mi>C</mi> <mi>L</mi> <mi>F</mi> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>&times;</mo> <msubsup> <mi>C</mi> <mi>L</mi> <mi>A</mi> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>&times;</mo> <msubsup> <mi>C</mi> <mi>L</mi> <mi>B</mi> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow>

其中,分别表示原图像A、B以及融合图像F在点(x,y)出对应的低频系数。

4.根据权利要求1所述的基于平移不变剪切波变换的图像融合新方法,其特征在于,所述步骤3)包括如下步骤:

1)首先将高频子带利用滑动窗口技术分成num个小块,并将所有小块转变为向量其中s∈{A,B},1<k<num;

2)作为训练数据训练一个拥有两层结构的SSAE:

i.设置l=1;

ii.设置Wl,1:=0,bl,1:=0,ΔWl,1:=0,Δbl,1:=0;

3)计算编码器的重构误差

<mrow> <mi>J</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>+</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&beta;</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msup> <mi>D</mi> <mo>,</mo> </msup> </munderover> <mi>K</mi> <mi>L</mi> <mrow> <mo>(</mo> <mi>&rho;</mi> <mo>|</mo> <mo>|</mo> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> </mrow>

i.while J(Wl,1,bl,1)>10-6

for i=1 to m:

计算

<mrow> <msup> <mi>&Delta;W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>:</mo> <mo>=</mo> <msup> <mi>&Delta;W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>+</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> </mrow> </mfrac> <mo>;</mo> </mrow>

<mrow> <msup> <mi>&Delta;b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>:</mo> <mo>=</mo> <msup> <mi>&Delta;b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>+</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> </mrow> </mfrac> <mo>;</mo> </mrow>

更新Wl,1和bl,1

<mrow> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msup> <mi>W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <mi>&alpha;</mi> <mo>&lsqb;</mo> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>m</mi> </mfrac> <msup> <mi>&Delta;W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msup> <mi>&lambda;W</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>&rsqb;</mo> <mo>;</mo> </mrow>

<mrow> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msup> <mi>b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <mi>&alpha;</mi> <mo>&lsqb;</mo> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>m</mi> </mfrac> <msup> <mi>&Delta;b</mi> <mrow> <mi>l</mi> <mo>,</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>;</mo> </mrow>

其中Wl,1和bl,1为权值矩阵和偏置,ΔWl,1和Δbl,1分别为Wl,1和bl,1的增量,J(Wl,1,bl,1)为重构误差,是Kullback-Leibler(KL)距离,是隐层神经元的平均激活度,ρ为稀疏系数,β是稀疏惩罚项的系数,α是更新速率,m是最大迭代次数。

得到第一层自动编码器的最优参数W1,1和b1,1后,计算第一层自动编码器的隐层神经元激活值as,1

as,1(k)=sigmoid(W1,1x(k)+b1,1)

其中

4)将as,1作为第二层自动编码器的输入和输出,再利用求W1,1和b1,1同样的方法可以解得最优W2,1、b2,1和as,2

5)采用第二层自动编码器的隐层激活值as,2作为输入小块的特征

6)接着利用空间频率增强特征的区分度,然后以空间频率的值作为活动测度:

<mrow> <msubsup> <mi>SF</mi> <mi>H</mi> <mi>s</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>M</mi> <mo>*</mo> <mi>N</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>2</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>&lsqb;</mo> <msubsup> <mi>F</mi> <mi>H</mi> <mi>s</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msubsup> <mi>F</mi> <mi>H</mi> <mi>s</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>2</mn> </mrow> <mi>M</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>&lsqb;</mo> <msubsup> <mi>F</mi> <mi>H</mi> <mi>s</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msubsup> <mi>F</mi> <mi>H</mi> <mi>s</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </msqrt> </mrow>

其中,是特征向量在位置(i,j)处的值,其中1<i<M,1<j<N,M为特征向量的行数,N为特征向量的列数。k是小块的序号,1<k<num。

7)对于每一对利用空间频率取大的规则融合:

<mrow> <msubsup> <mi>V</mi> <mi>H</mi> <mi>F</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>V</mi> <mi>H</mi> <mi>A</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>SF</mi> <mi>H</mi> <mi>A</mi> </msubsup> <mo>(</mo> <mi>k</mi> <mo>)</mo> <mo>&GreaterEqual;</mo> <msubsup> <mi>SF</mi> <mi>H</mi> <mi>B</mi> </msubsup> <mo>(</mo> <mi>k</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>V</mi> <mi>H</mi> <mi>B</mi> </msubsup> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>SF</mi> <mi>H</mi> <mi>A</mi> </msubsup> <mo>(</mo> <mi>k</mi> <mo>)</mo> <mo>&lt;</mo> <msubsup> <mi>SF</mi> <mi>H</mi> <mi>B</mi> </msubsup> <mo>(</mo> <mi>k</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

接着利用滑动窗口变换的逆变换重新生成高频子带,其中重叠部分使用取平均的策略。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1