一种基于随机卷积神经网络的高分辨率图像场景分类方法与流程

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

技术特征:

1.一种基于随机卷积神经网络的高分辨率图像场景分类方法,其特征在于,包括以下步骤:

步骤a,数据去均值,获得待分类图像集和训练图像集;

步骤b,模型共享的参数库随机初始化;步骤c,计算步骤a中所得待分类图像集和训练图像集的负梯度方向,实现方式如下,

设图像集x是输入数据,y是对应x的类别标签,N是数据个数,i是数据编号,首先令初始化输出函数f0(x)=0,k=1,...,K,t=1,其中f0(x)是非线性函数f(x)的初始函数,k是类别个数,共K个类别,t为迭代次数,计算优化函数Ψ(y,f(x))如下,

<mrow> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>/</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msub> <mi>y</mi> <mi>k</mi> </msub> <mi>log</mi> <mi> </mi> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中f(k)(x)表示输出函数的第k个类别的输出值,pk(x)表示样本x属于第k个类别的概率,yk表示样本x是否为第k个类别,如果是则为1,不是则为0;

然后利用优化函数计算负梯度方向如下,

<mrow> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mrow> <mo>&lsqb;</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&rsqb;</mo> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mi>y</mi> <mo>-</mo> <mi>p</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,表示第t-1个f(x)的估计函数,p(x)表示样本x的各类别输出概率;第一次执行步骤c时,f(x)=f0(x);后续执行步骤c时,f(x)为上一次迭代得到的估计函数;

步骤d,训练基础卷积神经网络模型,实现方式如下,

首先从步骤b所得共享的参数库中随机选取一组卷积神经网络的参数组合θt,构成一个基础卷积神经网络模型h(x,θt),

<mrow> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <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> <mi>h</mi> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> </mrow> <mo>)</mo> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&lambda;</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <msup> <mi>&theta;</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中θ(l)是第l个特征提取阶段的网络参数,设共L个特征提取阶段,l=1,2,…L,θ表示所有阶段的网络参数,θt是第t个非线性函数f(x)的网络参数θ,sum(.)指求和;

然后基于步骤a所得的训练图像集,利用传统的反向误差传播算法和步骤c得到的负梯度方向,来最小化基础卷积神经网络模型h(x,θt)的误差,并对h(x,θt)进行训练,得到最优的参数组合θt,更新卷积神经网络参数并存入对应阶段参数库;

步骤e,训练基础卷积神经网络模型的权重,实现方式如下,

利用步骤d得到的基础卷积神经网络模型h(x,θt)和函数估计计算模型权重如下,

<mrow> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>min</mi> </mrow> <mi>&rho;</mi> </munder> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>&Psi;</mi> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mi>k</mi> </msub> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>&theta;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt,k是第t个非线性函数f(x)的第k类别权重,表示第t-1个f(x)的估计函数,表示第k类别的hk(xi,θ)表示第i个数据xi第k类别的优化函数;

权重更新为ρt,k=ρt-1,k-▽ρ,其中▽ρt,k=-(1(c=k)·hc(x)-pk(x)·hk(x)),▽ρ表示权值梯度,▽ρt,k表示第t次迭代第k类别的权值梯度,c代表某个样本的标签,指示函数1(c=k)表示如果c等于k则取值为1,否则为0,k=1,2,…K;hc(x)表示第c类别的基础卷积神经网络模型h(x,θt)输出值,hk(x)表示第k类别的基础卷积神经网络模型h(x,θt)输出值;

步骤f,更新函数预测,得到加和模型,公式如下,

<mrow> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mi>t</mi> </msub> <mo>&LeftArrow;</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>&lambda;&rho;</mi> <mi>t</mi> </msub> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt是基础卷积神经网络的最佳梯度下降乘子,h(x,θt)为基础卷积神经网络模型,λ为缩放因子,且λ=1/(M+1);

步骤g,判断迭代是否达到最大训练次数,若达到最大训练次数则转步骤h;否则令t=t+1,转步骤c,重新计算负梯度,并继续从共享的参数库中随机选取另一组参数组合,构成一个基础卷积神经网络模型,进行训练;

步骤h,利用步骤f中所得的加和模型对步骤a所得的待分类图像集进行识别。

2.如权利要求1所述基于随机卷积神经网络的高分辨率图像场景分类方法,其特征在于:步骤b所述模型共享的参数库随机初始化通过高斯分布随机生成实现。

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