基于嵌入式DSP的遥感图像稀疏编码字典学习方法与流程

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

本发明属于遥感图像处理技术领域,特别是涉及一种基于嵌入式数字信号处理器dsp(digitalsignalprocessor)的遥感图像稀疏编码字典的学习方法。



背景技术:

稀疏编码是一种无监督学习图像处理方法,其基本思想是寻找一组“超完备”的基向量来表示样本图像,相对于小波基等传统的图像处理技术,“超完备”的基向量不需要人工设计,能够捕获图像更多的特征。这组“超完备”的基向量通常称其为字典。

字典的学习过程是一个重复的迭代过程,如公式(1)所示

通过交替的更改稀疏向量α和字典d,使得目标函数值最小。

迭代过程分两步:

(1)、固定字典d,然后调整稀疏向量α,使得公式(1)的目标函数最小。

(2)、固定稀疏向量α,然后调整字典d,使得公式(1)的目标函数最小。

通过不断的迭代,当目标函数收敛时,就可以得到一组“超完备”的基向量,也就是字典。

稀疏编码被广泛应用于图像处理技术领域,其算法大多利用软件对图像进行后期处理。但卫星图像在轨压缩等遥感应用领域,由于其对实时性,便携性和芯片小型化等方面的要求较高,导致现有的稀疏编码字典学习难以应用。本发明通过结合dsp的特性对稀疏编码字典学习的算法进行改进,使得稀疏编码字典的学习过程可在dsp上进行实现,并且满足了实时性,便携性和芯片小型化的要求。



技术实现要素:

基于现有技术,本发明提出了一种基于嵌入式dsp的遥感图像稀疏编码字典学习方法,通过卷积神经网络提取卷积权值图,自动加权图像目标物体,从而对图像目标实现更加准确的描述。

本发明的一种基于嵌入式dsp的遥感图像稀疏编码字典学习方法,包括以下步骤:

步骤1、输入待学习的遥感图像,将遥感图像静态存储在数字信号处理器dsp的外部sdram中;

步骤2、对遥感图像进行重新排列,将遥感图像通过移位提取的方式分解为相互重叠的子图像,并将子图像中的每个元素按一定顺序存储在数字信号处理器dsp内存的一个bank中,称其为训练集矩阵x;

步骤3、建立字典矩阵d用于存储字典,建立系数矩阵a和系数矩阵b用于存储稀疏向量,并对字典矩阵d和系数矩阵a、b进行初始化;

步骤4、建立辅助系数矩阵aodd、bodd、aeven以及beven,用于存储由于数据量大的训练集矩阵带有大量的重复信息产生相同的稀疏向量,并对辅助系数矩阵进行初始化;

步骤5、建立稀疏向量矩阵at、bt,对稀疏向量矩阵at、bt内所有元素值初始化;

步骤6、计算稀疏向量αt并更新稀疏向量矩阵at、bt;

步骤7、根据步骤4中建立的辅助系数矩阵,建立epoch变量和even变量-对辅助

系数矩阵进行选择性操作,如果不满足条件,则跳过此步骤;反之,则执行去除相

同稀疏向量的步骤;

步骤8、更新系数矩阵a和系数矩阵b;

步骤9、更新字典矩阵d;

对步骤6至步骤9重复执行1000次,得到最终的字典矩阵d。

与现有技术相比,本发明具有以下优点:

第一,由于本发明在系数矩阵的更新过程、字典矩阵的更新过程和字典矩阵初始化等过程中采用了内联指令编写的浮点点积乘法,使得执行点积运算的执行时间大幅度减少,加快了字典学习的速度;

第二,由于本发明建立了辅助系数矩阵,使得系数矩阵不必存储相同训练集所产生的稀疏向量,从而使得收敛的速度加快;

第三,由于本发明在矩阵初始化和更新过程采用了双字读写进行赋值操作,使得数据的传递次数明显减少,提高了赋值过程的速度,提升了图像字典学习的速度。

附图说明

图1是本发明的流程图。

具体实施方式

下面结合附图对本发明作进一步详细描述:

下面结合附图对本发明的步骤做进一步的详细描述。

步骤1、输入待学习的遥感图像,遥感图像静态存储在数字信号处理器dsp的外部sdram中;

步骤2、对遥感图像进行重新排列,将遥感图像通过移位提取的方式分解为相互重叠的子图像,并将子图像中的每个元素按一定顺序存储在数字信号处理器dsp内存的一个bank中,称其为训练集矩阵x;

步骤3、建立字典矩阵d、系数矩阵a、系数矩阵b。在数字信号处理器dsp的外部sdram中分配存储空间,用来存储字典矩阵d和系数矩阵a、b,并对字典矩阵d和系数矩阵a、b进行初始化。实现初始化的具体步骤分别如下:

(3-1)、字典矩阵d的初始化:

字典矩阵d的初始化过程使用的是针对数字信号处理器dsp结构进行优化的初始化算法,首先利用随机函数产生随机整数ind,并且建立中间地址矢量d和col,将矢量d的数据地址与字典矩阵d的数据地址进行关联,然后从训练集x中根据随机整数ind抽取一列复制到中间地址矢量col中,最后利用dsp自带的memcpy函数将中间地址矢量col的值赋给矢量d;由于矢量d的数据地址与字典矩阵_d的数据地址关联,对矢量d赋值相当于对矩阵d赋值;将上述过程执行若干次,每次执行矢量d都对应矩阵d的不同列,直至矩阵d的最后一列,根据随机函数的性质就可以从训练集矩阵x中提取不同的列赋给字典矩阵d完成初始化。

(3-2)、系数矩阵a的初始化:

系数矩阵a的初始化过程是将矩阵a的对角线的值全部设置为某一常数。

(3-3)、系数矩阵b的初始化:

系数矩阵b的初始化过程是将字典矩阵d的值赋给系数矩阵b。

步骤4、建立辅助系数矩阵aodd、bodd、aeven以及beven。

辅助系数矩阵aodd、bodd、aeven、beven的建立过程与字典矩阵和系数矩阵的建立过程一致,在外部存储sdrm中分配四字对齐的存储空间,用来存储辅助系数矩阵,并对辅助系数矩阵进行初始化。辅助系数矩阵的初始化过程是将矩阵内所有元素值设为0。

步骤5、建立稀疏向量矩阵at、bt。其具体实现步骤如下:

(5-1)、在数字信号处理器dsp中分配存储空间存储稀疏向量矩阵at、bt。

(5-2)、将矩阵内的所有元素值置为0完成初始化。

步骤6、计算稀疏向量αt并更新稀疏向量矩阵at、bt。。

稀疏向量αt的计算主要通过lars-lasso算法求解正则化线性最小二乘问题得到,如公式(2)所示

其中,xt代表训练集x的第t列,λ代表惩罚项系数,αt为xt在当前字典_d的条件下所对应的稀疏向量,||||2代表2-范数,||||1代表1-范数。

计算及更新的具体过程如下:

(6-1)、建立矢量xt,并将矢量xt的数据地址与训练集矩阵x的数据地址相关联,利用随机函数随机的抽取训练集矩阵x的一列赋给矢量xt。

(6-2)、根据公式(2)计算稀疏向量αt。

(6-3)、将稀疏向量的内积αtαtt与稀疏向量矩阵at相加,将矢量xt与稀疏向量αt的乘积xtαtt与稀疏向量矩阵bt相加。

(6-4)、将步骤(6a)-(6c)重复执行400次。

内联指令编写的浮点点积乘法如下:

sum1+=_itof(_hi(a[i]))*_itof(_hi(b[i]));//内联指令编写的点积乘法

sum2+=_itof(_lo(a[i]))*_itof(_lo(b[i]));//内联指令编写的点积乘法

步骤7、去除相同稀疏向量。

根据步骤4中建立的辅助系数矩阵以及根据下面公式(3)求得的epoch变量和初始化为0的even变量,对辅助系数矩阵进行选择性操作.

epoch=(((j+1)%m)*400)/m(3)

其中,j为当前迭代次数,m为训练集矩阵的列数。

具体步骤如下:

(7-1)、判断epoch变量和even变量是否满足epoch变量为偶数且even变量非0或epoch变量为奇数且even变量为0,even变量是没有求解公式的,它是根据是否满足(7-1)的条件来取反的。

(7-2)、如果满足(7-1)条件,那么将辅助系数矩阵aeven、beven的值赋给矩阵aodd、bodd,然后对矩阵aeven、beven的所有元素值设为0并将even变量取反,如果不满足(7-1)条件,则跳过此步。

步骤8、更新系数矩阵a、系数矩阵b。

更新系数矩阵的具体实现过程如下:

(8-1)、将稀疏向量矩阵at、bt与辅助系数矩阵aeven、beven相加,得到更新后的辅助系数矩阵aeven、beven。

(8-2)、将系数矩阵_a和辅助系数矩阵aodd、aeven相加,得到更新后的系数矩阵a。

(8-3)、将系数矩阵_b和辅助系数矩阵bodd、beven相加,得到更新后的系数矩阵b。

步骤9、更新字典矩阵d。

更新字典矩阵d是指将矩阵的每一列进行按照如下所示的公式进行更新

其中,ui是中间矢量,aii代表系数矩阵a的第i行第i列元素,ai代表系数矩阵_a的第i列,bi代表系数矩阵b的第i列,di代表字典矩阵d的第i列。

更新字典矩阵的具体实现步骤如下:

(9-1)、在数字信号处理器dsp内分配存储空间建立中间矢量ui,建立矢量di、ai和bi。

(9-2)、将矢量di、ai和bi的数据地址与字典矩阵d以及系数矩阵a、b的数据地址进行关联,使矢量di、ai和bi代表字典矩阵d以及系数矩阵a、b的第i列。

(9-3)、根据公式(4)和公式(5)对字典矩阵的每一列进行更新。

(9-4)、重复执行步骤(9-1)、(9-2)直至字典矩阵的最后一列。

步骤10.对步骤6-9重复执行1000次,得到最终的字典矩阵d。

下面结合仿真图对本发明的效果做进一步描述。

仿真条件

本发明的仿真是在内核频率为456mhz的数字信号处理器tms320c6748硬件环境和ccs软件环境下进行的。

仿真内容

本发明采用基于嵌入式dsp的遥感图像稀疏编码字典的学习方法对一幅遥感图像进行字典学习实验。

仿真效果分析

基于dsp分析达到了计算机仿真基本一致的效果,恢复的图像很好的保持了图像的边缘等细节信息,同时去除了一部分明显的噪声。在字典矩阵和稀疏向量的求解中,由于基于嵌入式dsp学习的字典初始化与基于计算机学习的字典初始化过程的不同及其改进优化,我们得出基于dsp的字典学习可以获取更准确的结果。整个处理过程的效率有了比较大的提升,为遥感数据的实时、可移植和嵌入式稀疏编码分析提供了可靠的途径,使得遥感数据的星上处理等应用成为可能。

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